{
  "title" : "Duplication",
  "timestamp" : "2024-04-03 14:33:37",
  "duplicates" : [ {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/radar-chart/basic-radar-chart.js",
        "extension" : "js",
        "linesOfCode" : 55,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 26,
      "endLine" : 57,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "packages/showcase/radar-chart/radar-chart-series-tooltips.js",
        "extension" : "js",
        "linesOfCode" : 79,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 27,
      "endLine" : 58,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 26,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/mixed-stacked-chart.js",
        "extension" : "js",
        "linesOfCode" : 60,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 32,
      "endLine" : 58,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 31,
      "endLine" : 57,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 22,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-programmatic-rightedge-hints.js",
        "extension" : "js",
        "linesOfCode" : 59,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 50,
      "endLine" : 74,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-simple-topedge-hints.js",
        "extension" : "js",
        "linesOfCode" : 56,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 43,
      "endLine" : 67,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/parallel-coordinates/animated-parallel-coordinates.js",
        "extension" : "js",
        "linesOfCode" : 68,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 26,
      "endLine" : 50,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "packages/showcase/radar-chart/animated-radar-chart.js",
        "extension" : "js",
        "linesOfCode" : 73,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 27,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/radar-chart/basic-radar-chart.js",
        "extension" : "js",
        "linesOfCode" : 55,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 60,
      "endLine" : 79,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "packages/showcase/radar-chart/radar-chart-series-tooltips.js",
        "extension" : "js",
        "linesOfCode" : 79,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 76,
      "endLine" : 95,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 59
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-simple-edge-hints.js",
        "extension" : "js",
        "linesOfCode" : 67,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 60,
      "endLine" : 81,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-simple-topedge-hints.js",
        "extension" : "js",
        "linesOfCode" : 56,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 43,
      "endLine" : 64,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-programmatic-rightedge-hints.js",
        "extension" : "js",
        "linesOfCode" : 59,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 50,
      "endLine" : 71,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-simple-edge-hints.js",
        "extension" : "js",
        "linesOfCode" : 67,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 60,
      "endLine" : 81,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/index.js",
        "extension" : "js",
        "linesOfCode" : 270,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 163,
      "startLine" : 65,
      "endLine" : 81,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "packages/showcase/index.js",
        "extension" : "js",
        "linesOfCode" : 270,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 163,
      "startLine" : 237,
      "endLine" : 253,
      "cleanedStartLine" : 93,
      "cleanedEndLine" : 109
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/parallel-coordinates/basic-parallel-coordinates.js",
        "extension" : "js",
        "linesOfCode" : 61,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 52,
      "startLine" : 26,
      "endLine" : 42,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "packages/showcase/radar-chart/radar-chart-series-tooltips.js",
        "extension" : "js",
        "linesOfCode" : 79,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 27,
      "endLine" : 43,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/clustered-stacked-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 96,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 33,
      "endLine" : 49,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/mixed-stacked-chart.js",
        "extension" : "js",
        "linesOfCode" : 60,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 32,
      "endLine" : 47,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/parallel-coordinates/basic-parallel-coordinates.js",
        "extension" : "js",
        "linesOfCode" : 61,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 52,
      "startLine" : 26,
      "endLine" : 42,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "packages/showcase/radar-chart/basic-radar-chart.js",
        "extension" : "js",
        "linesOfCode" : 55,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 26,
      "endLine" : 42,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/clustered-stacked-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 96,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 33,
      "endLine" : 49,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 31,
      "endLine" : 46,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart-canvas.js",
        "extension" : "js",
        "linesOfCode" : 116,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 111,
      "startLine" : 52,
      "endLine" : 68,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/scatterplot-canvas.js",
        "extension" : "js",
        "linesOfCode" : 89,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 50,
      "endLine" : 66,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 53,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 51,
      "endLine" : 65,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/big-base-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 64,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 59,
      "endLine" : 73,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 46
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/big-base-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 64,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 60,
      "endLine" : 73,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/difference-chart.js",
        "extension" : "js",
        "linesOfCode" : 51,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 50,
      "endLine" : 63,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 53,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 52,
      "endLine" : 65,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/difference-chart.js",
        "extension" : "js",
        "linesOfCode" : 51,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 50,
      "endLine" : 63,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-complex-edge-hints.js",
        "extension" : "js",
        "linesOfCode" : 103,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 82,
      "endLine" : 98,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-simple-edge-hints.js",
        "extension" : "js",
        "linesOfCode" : 67,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 58,
      "endLine" : 74,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 41
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-complex-edge-hints.js",
        "extension" : "js",
        "linesOfCode" : 103,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 84,
      "endLine" : 98,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-programmatic-rightedge-hints.js",
        "extension" : "js",
        "linesOfCode" : 59,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 50,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/parallel-coordinates/basic-parallel-coordinates.js",
        "extension" : "js",
        "linesOfCode" : 61,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 52,
      "startLine" : 70,
      "endLine" : 82,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "packages/showcase/radar-chart/basic-radar-chart.js",
        "extension" : "js",
        "linesOfCode" : 55,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 65,
      "endLine" : 77,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-complex-edge-hints.js",
        "extension" : "js",
        "linesOfCode" : 103,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 84,
      "endLine" : 98,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-simple-topedge-hints.js",
        "extension" : "js",
        "linesOfCode" : 56,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 43,
      "endLine" : 57,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/website/storybook/legend-story.js",
        "extension" : "js",
        "linesOfCode" : 149,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 73,
      "endLine" : 84,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "packages/website/storybook/legend-story.js",
        "extension" : "js",
        "linesOfCode" : 149,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 117,
      "endLine" : 128,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 115
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-programmatic-rightedge-hints.js",
        "extension" : "js",
        "linesOfCode" : 59,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 24,
      "endLine" : 36,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-simple-topedge-hints.js",
        "extension" : "js",
        "linesOfCode" : 56,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 24,
      "endLine" : 36,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/parallel-coordinates/basic-parallel-coordinates.js",
        "extension" : "js",
        "linesOfCode" : 61,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 52,
      "startLine" : 70,
      "endLine" : 82,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "packages/showcase/radar-chart/radar-chart-series-tooltips.js",
        "extension" : "js",
        "linesOfCode" : 79,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 81,
      "endLine" : 93,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-crosshair-scatterplot.js",
        "extension" : "js",
        "linesOfCode" : 107,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 101,
      "startLine" : 87,
      "endLine" : 97,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "packages/showcase/misc/voronoi-line-chart.js",
        "extension" : "js",
        "linesOfCode" : 88,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 86,
      "startLine" : 77,
      "endLine" : 87,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 60
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/legends/searchable-discrete-color-hover.js",
        "extension" : "js",
        "linesOfCode" : 50,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 30,
      "endLine" : 40,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "packages/showcase/legends/searchable-discrete-color.js",
        "extension" : "js",
        "linesOfCode" : 36,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 29,
      "endLine" : 39,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/sankey/energy-sankey.js",
        "extension" : "js",
        "linesOfCode" : 58,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 26,
      "endLine" : 36,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "packages/showcase/treemap/simple-treemap.js",
        "extension" : "js",
        "linesOfCode" : 78,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 75,
      "endLine" : 85,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 52
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/labeled-stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 66,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 75,
      "endLine" : 85,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 41,
      "endLine" : 51,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/website/storybook/legend-story.js",
        "extension" : "js",
        "linesOfCode" : 149,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 34,
      "endLine" : 44,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "packages/website/storybook/legend-story.js",
        "extension" : "js",
        "linesOfCode" : 149,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 54,
      "endLine" : 64,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/parallel-coordinates/basic-parallel-coordinates.js",
        "extension" : "js",
        "linesOfCode" : 61,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 52,
      "startLine" : 48,
      "endLine" : 61,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "packages/showcase/radar-chart/basic-radar-chart.js",
        "extension" : "js",
        "linesOfCode" : 55,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 44,
      "endLine" : 57,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/sankey/link-event.js",
        "extension" : "js",
        "linesOfCode" : 42,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 37,
      "endLine" : 47,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "packages/showcase/sankey/link-hint.js",
        "extension" : "js",
        "linesOfCode" : 51,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 44,
      "endLine" : 54,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/parallel-coordinates/basic-parallel-coordinates.js",
        "extension" : "js",
        "linesOfCode" : 61,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 52,
      "startLine" : 48,
      "endLine" : 61,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "packages/showcase/radar-chart/radar-chart-series-tooltips.js",
        "extension" : "js",
        "linesOfCode" : 79,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 45,
      "endLine" : 58,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/labeled-stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 66,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 75,
      "endLine" : 85,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/mixed-stacked-chart.js",
        "extension" : "js",
        "linesOfCode" : 60,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 42,
      "endLine" : 52,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-crosshair-scatterplot.js",
        "extension" : "js",
        "linesOfCode" : 107,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 101,
      "startLine" : 53,
      "endLine" : 62,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "packages/showcase/misc/voronoi-line-chart.js",
        "extension" : "js",
        "linesOfCode" : 88,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 86,
      "startLine" : 56,
      "endLine" : 65,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/static-crosshair.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 31,
      "endLine" : 41,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/static-hints.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 31,
      "endLine" : 41,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/grid.js",
        "extension" : "js",
        "linesOfCode" : 16,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 29,
      "endLine" : 38,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/width-height-margin.js",
        "extension" : "js",
        "linesOfCode" : 16,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 29,
      "endLine" : 38,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/parallel-coordinates/animated-parallel-coordinates.js",
        "extension" : "js",
        "linesOfCode" : 68,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 80,
      "endLine" : 89,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "packages/showcase/radar-chart/animated-radar-chart.js",
        "extension" : "js",
        "linesOfCode" : 73,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 81,
      "endLine" : 90,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 53,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 24,
      "endLine" : 32,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/labeled-stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 66,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 24,
      "endLine" : 32,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/data/mini-data-examples.js",
        "extension" : "js",
        "linesOfCode" : 32,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 25,
      "endLine" : 33,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "packages/showcase/flexible/flexible-examples.js",
        "extension" : "js",
        "linesOfCode" : 70,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/misc/clip-example.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 39,
      "endLine" : 47,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "packages/showcase/misc/gradient-example.js",
        "extension" : "js",
        "linesOfCode" : 50,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 61,
      "endLine" : 69,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-complex-edge-hints.js",
        "extension" : "js",
        "linesOfCode" : 103,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 24,
      "endLine" : 32,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-simple-topedge-hints.js",
        "extension" : "js",
        "linesOfCode" : 56,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 24,
      "endLine" : 32,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/labeled-stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 66,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 32,
      "endLine" : 41,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/mixed-stacked-chart.js",
        "extension" : "js",
        "linesOfCode" : 60,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 32,
      "endLine" : 41,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/misc/synced-charts.js",
        "extension" : "js",
        "linesOfCode" : 85,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 63,
      "endLine" : 71,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "packages/showcase/misc/synced-charts.js",
        "extension" : "js",
        "linesOfCode" : 85,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 87,
      "endLine" : 95,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 63
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/custom-axes-orientation.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 24,
      "endLine" : 33,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart-with-style.js",
        "extension" : "js",
        "linesOfCode" : 60,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 25,
      "endLine" : 34,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart-canvas.js",
        "extension" : "js",
        "linesOfCode" : 116,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 111,
      "startLine" : 132,
      "endLine" : 140,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 105
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/scatterplot-canvas.js",
        "extension" : "js",
        "linesOfCode" : 89,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 101,
      "endLine" : 109,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 77
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/legends/horizontal-discrete-custom-palette.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 25,
      "endLine" : 33,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "packages/showcase/legends/vertical-discrete-color.js",
        "extension" : "js",
        "linesOfCode" : 13,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 25,
      "endLine" : 33,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-complex-edge-hints.js",
        "extension" : "js",
        "linesOfCode" : 103,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 24,
      "endLine" : 32,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-programmatic-rightedge-hints.js",
        "extension" : "js",
        "linesOfCode" : 59,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 24,
      "endLine" : 32,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/custom-scales.js",
        "extension" : "js",
        "linesOfCode" : 36,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 24,
      "endLine" : 33,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart-with-style.js",
        "extension" : "js",
        "linesOfCode" : 60,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 25,
      "endLine" : 34,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/custom-axes-orientation.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 24,
      "endLine" : 33,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/custom-scales.js",
        "extension" : "js",
        "linesOfCode" : 36,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 24,
      "endLine" : 33,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/website/storybook/axis-story.js",
        "extension" : "js",
        "linesOfCode" : 207,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 164,
      "endLine" : 172,
      "cleanedStartLine" : 147,
      "cleanedEndLine" : 155
    }, {
      "file" : {
        "relativePath" : "packages/website/storybook/axis-story.js",
        "extension" : "js",
        "linesOfCode" : 207,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 180,
      "endLine" : 188,
      "cleanedStartLine" : 163,
      "cleanedEndLine" : 171
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/misc/2d-dragable-plot.js",
        "extension" : "js",
        "linesOfCode" : 73,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 60,
      "endLine" : 69,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "packages/showcase/misc/selection-plot-example.js",
        "extension" : "js",
        "linesOfCode" : 53,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 54,
      "endLine" : 63,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/clustered-stacked-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 96,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 33,
      "endLine" : 42,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/labeled-stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 66,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 32,
      "endLine" : 41,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/website/storybook/radial-story.js",
        "extension" : "js",
        "linesOfCode" : 45,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 26,
      "endLine" : 34,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "packages/website/storybook/radial-story.js",
        "extension" : "js",
        "linesOfCode" : 45,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 39,
      "endLine" : 47,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/labeled-stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 66,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 32,
      "endLine" : 41,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 31,
      "endLine" : 40,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/static-crosshair.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 31,
      "endLine" : 39,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/whisker-chart.js",
        "extension" : "js",
        "linesOfCode" : 29,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/static-crosshair.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 31,
      "endLine" : 39,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/custom-svg-example.js",
        "extension" : "js",
        "linesOfCode" : 49,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/static-hints.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 31,
      "endLine" : 39,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/custom-svg-example.js",
        "extension" : "js",
        "linesOfCode" : 49,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/custom-svg-example.js",
        "extension" : "js",
        "linesOfCode" : 49,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/whisker-chart.js",
        "extension" : "js",
        "linesOfCode" : 29,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/area-chart.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/custom-svg-example.js",
        "extension" : "js",
        "linesOfCode" : 49,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-hints.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 24,
      "endLine" : 31,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-simple-edge-hints.js",
        "extension" : "js",
        "linesOfCode" : 67,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 24,
      "endLine" : 31,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/website/storybook/axis-story.js",
        "extension" : "js",
        "linesOfCode" : 207,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 195,
      "endLine" : 202,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 185
    }, {
      "file" : {
        "relativePath" : "packages/website/storybook/axis-story.js",
        "extension" : "js",
        "linesOfCode" : 207,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 210,
      "endLine" : 217,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 200
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/radar-chart/radar-chart-series-tooltips.js",
        "extension" : "js",
        "linesOfCode" : 79,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 69,
      "endLine" : 78,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "packages/showcase/radar-chart/radar-chart-with-tooltips.js",
        "extension" : "js",
        "linesOfCode" : 162,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 116,
      "endLine" : 125,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/custom-axis.js",
        "extension" : "js",
        "linesOfCode" : 43,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 58,
      "endLine" : 65,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/area-chart.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 42,
      "endLine" : 49,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-crosshair.js",
        "extension" : "js",
        "linesOfCode" : 52,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 24,
      "endLine" : 31,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/static-crosshair.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 24,
      "endLine" : 31,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/website/storybook/lineseries-story.js",
        "extension" : "js",
        "linesOfCode" : 169,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 95,
      "endLine" : 102,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "packages/website/storybook/markseries-story.js",
        "extension" : "js",
        "linesOfCode" : 175,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 146,
      "endLine" : 153,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/static-crosshair.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 31,
      "endLine" : 39,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/linemark-chart.js",
        "extension" : "js",
        "linesOfCode" : 39,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/custom-axis-tick-format.js",
        "extension" : "js",
        "linesOfCode" : 47,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 24,
      "endLine" : 32,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "packages/showcase/misc/synced-charts.js",
        "extension" : "js",
        "linesOfCode" : 85,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 24,
      "endLine" : 32,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/scatterplot.js",
        "extension" : "js",
        "linesOfCode" : 32,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/whisker-chart.js",
        "extension" : "js",
        "linesOfCode" : 29,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/linemark-chart.js",
        "extension" : "js",
        "linesOfCode" : 39,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/scatterplot.js",
        "extension" : "js",
        "linesOfCode" : 32,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/area-chart.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/whisker-chart.js",
        "extension" : "js",
        "linesOfCode" : 29,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/static-hints.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 31,
      "endLine" : 39,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/scatterplot.js",
        "extension" : "js",
        "linesOfCode" : 32,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart-with-style.js",
        "extension" : "js",
        "linesOfCode" : 60,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 62,
      "endLine" : 69,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart.js",
        "extension" : "js",
        "linesOfCode" : 86,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 86,
      "endLine" : 93,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/static-hints.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 31,
      "endLine" : 39,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/linemark-chart.js",
        "extension" : "js",
        "linesOfCode" : 39,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/static-crosshair.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 31,
      "endLine" : 39,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/scatterplot.js",
        "extension" : "js",
        "linesOfCode" : 32,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/custom-svg-example.js",
        "extension" : "js",
        "linesOfCode" : 49,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/scatterplot.js",
        "extension" : "js",
        "linesOfCode" : 32,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/linemark-chart.js",
        "extension" : "js",
        "linesOfCode" : 39,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/whisker-chart.js",
        "extension" : "js",
        "linesOfCode" : 29,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/custom-svg-example.js",
        "extension" : "js",
        "linesOfCode" : 49,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/linemark-chart.js",
        "extension" : "js",
        "linesOfCode" : 39,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/area-chart.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/scatterplot.js",
        "extension" : "js",
        "linesOfCode" : 32,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/static-hints.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 31,
      "endLine" : 39,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/whisker-chart.js",
        "extension" : "js",
        "linesOfCode" : 29,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/custom-axis-tick-element.js",
        "extension" : "js",
        "linesOfCode" : 47,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 24,
      "endLine" : 32,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/custom-axis-tick-format.js",
        "extension" : "js",
        "linesOfCode" : 47,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 24,
      "endLine" : 32,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/sankey/link-event.js",
        "extension" : "js",
        "linesOfCode" : 42,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 5,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "packages/showcase/sankey/link-hint.js",
        "extension" : "js",
        "linesOfCode" : 51,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/area-chart.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/linemark-chart.js",
        "extension" : "js",
        "linesOfCode" : 39,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/custom-svg-example.js",
        "extension" : "js",
        "linesOfCode" : 49,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 33,
      "endLine" : 40,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/custom-svg-root-level.js",
        "extension" : "js",
        "linesOfCode" : 38,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 33,
      "endLine" : 40,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/static-crosshair.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 31,
      "endLine" : 39,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/area-chart.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/static-hints.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 31,
      "endLine" : 39,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/area-chart.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/sankey/energy-sankey.js",
        "extension" : "js",
        "linesOfCode" : 58,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 13,
      "endLine" : 21,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "packages/showcase/treemap/simple-treemap.js",
        "extension" : "js",
        "linesOfCode" : 78,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 55,
      "endLine" : 64,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/custom-axis-tick-element.js",
        "extension" : "js",
        "linesOfCode" : 47,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 24,
      "endLine" : 32,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "packages/showcase/misc/synced-charts.js",
        "extension" : "js",
        "linesOfCode" : 85,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 24,
      "endLine" : 32,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/custom-axis.js",
        "extension" : "js",
        "linesOfCode" : 43,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 57,
      "endLine" : 63,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/width-height-margin.js",
        "extension" : "js",
        "linesOfCode" : 16,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 31,
      "endLine" : 37,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/website/storybook/barseries-story.js",
        "extension" : "js",
        "linesOfCode" : 170,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 156,
      "endLine" : 162,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 142
    }, {
      "file" : {
        "relativePath" : "packages/website/storybook/lineseries-story.js",
        "extension" : "js",
        "linesOfCode" : 169,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 95,
      "endLine" : 101,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 86
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/mixed-stacked-chart.js",
        "extension" : "js",
        "linesOfCode" : 60,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 41,
      "endLine" : 47,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-histogram.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 42,
      "endLine" : 48,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/website/storybook/barseries-story.js",
        "extension" : "js",
        "linesOfCode" : 170,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 119,
      "endLine" : 125,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 106
    }, {
      "file" : {
        "relativePath" : "packages/website/storybook/markseries-story.js",
        "extension" : "js",
        "linesOfCode" : 175,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 85,
      "endLine" : 91,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/clustered-stacked-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 96,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 42,
      "endLine" : 49,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-histogram.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 42,
      "endLine" : 48,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart.js",
        "extension" : "js",
        "linesOfCode" : 86,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 34,
      "endLine" : 41,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/mixed-stacked-chart.js",
        "extension" : "js",
        "linesOfCode" : 60,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 32,
      "endLine" : 39,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-complex-edge-hints.js",
        "extension" : "js",
        "linesOfCode" : 103,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 100,
      "endLine" : 106,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-simple-edge-hints.js",
        "extension" : "js",
        "linesOfCode" : 67,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 75,
      "endLine" : 81,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/color/line-chart-many-colors.js",
        "extension" : "js",
        "linesOfCode" : 36,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart-with-style.js",
        "extension" : "js",
        "linesOfCode" : 60,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 25,
      "endLine" : 31,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-simple-edge-hints.js",
        "extension" : "js",
        "linesOfCode" : 67,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 34,
      "endLine" : 40,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-simple-topedge-hints.js",
        "extension" : "js",
        "linesOfCode" : 56,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 34,
      "endLine" : 40,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/mixed-stacked-chart.js",
        "extension" : "js",
        "linesOfCode" : 60,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 32,
      "endLine" : 39,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-histogram.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 31,
      "endLine" : 38,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/clustered-stacked-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 96,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 33,
      "endLine" : 40,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-histogram.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 31,
      "endLine" : 38,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/clustered-stacked-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 96,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 33,
      "endLine" : 40,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart.js",
        "extension" : "js",
        "linesOfCode" : 86,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 34,
      "endLine" : 41,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-complex-edge-hints.js",
        "extension" : "js",
        "linesOfCode" : 103,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 100,
      "endLine" : 106,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-programmatic-rightedge-hints.js",
        "extension" : "js",
        "linesOfCode" : 59,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 65,
      "endLine" : 71,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 41
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/website/storybook/areaseries-story.js",
        "extension" : "js",
        "linesOfCode" : 154,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 145,
      "startLine" : 110,
      "endLine" : 116,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 101
    }, {
      "file" : {
        "relativePath" : "packages/website/storybook/markseries-story.js",
        "extension" : "js",
        "linesOfCode" : 175,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 147,
      "endLine" : 153,
      "cleanedStartLine" : 131,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/color/line-chart-many-colors.js",
        "extension" : "js",
        "linesOfCode" : 36,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/custom-scales.js",
        "extension" : "js",
        "linesOfCode" : 36,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/website/storybook/barseries-story.js",
        "extension" : "js",
        "linesOfCode" : 170,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 28,
      "endLine" : 34,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "packages/website/storybook/lineseries-story.js",
        "extension" : "js",
        "linesOfCode" : 169,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/custom-svg-all-the-marks.js",
        "extension" : "js",
        "linesOfCode" : 72,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 66,
      "startLine" : 56,
      "endLine" : 62,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "packages/showcase/radar-chart/radar-chart-series-tooltips.js",
        "extension" : "js",
        "linesOfCode" : 79,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart-canvas.js",
        "extension" : "js",
        "linesOfCode" : 116,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 111,
      "startLine" : 111,
      "endLine" : 117,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/scatterplot-canvas.js",
        "extension" : "js",
        "linesOfCode" : 89,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/custom-axis.js",
        "extension" : "js",
        "linesOfCode" : 43,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "packages/showcase/misc/synced-charts.js",
        "extension" : "js",
        "linesOfCode" : 85,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/custom-svg-all-the-marks.js",
        "extension" : "js",
        "linesOfCode" : 72,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 66,
      "startLine" : 56,
      "endLine" : 62,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "packages/showcase/radar-chart/radar-chart-with-tooltips.js",
        "extension" : "js",
        "linesOfCode" : 162,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 107,
      "endLine" : 113,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/labeled-stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 66,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/mixed-stacked-chart.js",
        "extension" : "js",
        "linesOfCode" : 60,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/website/storybook/lineseries-story.js",
        "extension" : "js",
        "linesOfCode" : 169,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 23,
      "endLine" : 29,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "packages/website/storybook/markseries-story.js",
        "extension" : "js",
        "linesOfCode" : 175,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 22,
      "endLine" : 28,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-hints.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 45,
      "endLine" : 53,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-simple-edge-hints.js",
        "extension" : "js",
        "linesOfCode" : 67,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 65,
      "endLine" : 74,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 41
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart.js",
        "extension" : "js",
        "linesOfCode" : 86,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 34,
      "endLine" : 41,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 31,
      "endLine" : 38,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/custom-svg-all-the-marks.js",
        "extension" : "js",
        "linesOfCode" : 72,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 66,
      "startLine" : 56,
      "endLine" : 62,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "packages/showcase/sunbursts/sunburst-with-tooltips.js",
        "extension" : "js",
        "linesOfCode" : 80,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/radar-chart/radar-chart-series-tooltips.js",
        "extension" : "js",
        "linesOfCode" : 79,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "packages/showcase/radar-chart/radar-chart-with-tooltips.js",
        "extension" : "js",
        "linesOfCode" : 162,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 107,
      "endLine" : 113,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/custom-axes-orientation.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "packages/showcase/color/line-chart-many-colors.js",
        "extension" : "js",
        "linesOfCode" : 36,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-histogram.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 42,
      "endLine" : 48,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 40,
      "endLine" : 46,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/misc/selection-plot-example.js",
        "extension" : "js",
        "linesOfCode" : 53,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 59,
      "endLine" : 66,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/scatterplot.js",
        "extension" : "js",
        "linesOfCode" : 32,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 34,
      "endLine" : 40,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/padded-axis.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/custom-scales.js",
        "extension" : "js",
        "linesOfCode" : 36,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/radar-chart/radar-chart-series-tooltips.js",
        "extension" : "js",
        "linesOfCode" : 79,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "packages/showcase/sunbursts/sunburst-with-tooltips.js",
        "extension" : "js",
        "linesOfCode" : 80,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-horizontal-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 31,
      "endLine" : 38,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 31,
      "endLine" : 38,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/clustered-stacked-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 96,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 33,
      "endLine" : 40,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-horizontal-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 31,
      "endLine" : 38,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/mixed-stacked-chart.js",
        "extension" : "js",
        "linesOfCode" : 60,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 41,
      "endLine" : 47,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-horizontal-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 42,
      "endLine" : 48,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/mixed-stacked-chart.js",
        "extension" : "js",
        "linesOfCode" : 60,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-hints.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 53,
      "endLine" : 59,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/scatterplot.js",
        "extension" : "js",
        "linesOfCode" : 32,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 33,
      "endLine" : 39,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/radial-chart/gradient-pie.js",
        "extension" : "js",
        "linesOfCode" : 37,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 37,
      "endLine" : 43,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "packages/showcase/radial-chart/simple-radial-chart.js",
        "extension" : "js",
        "linesOfCode" : 23,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 39,
      "endLine" : 45,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/custom-axis.js",
        "extension" : "js",
        "linesOfCode" : 43,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 57,
      "endLine" : 63,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/grid.js",
        "extension" : "js",
        "linesOfCode" : 16,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 31,
      "endLine" : 37,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/misc/synced-charts.js",
        "extension" : "js",
        "linesOfCode" : 85,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 80,
      "endLine" : 86,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/area-chart.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 42,
      "endLine" : 48,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/mixed-stacked-chart.js",
        "extension" : "js",
        "linesOfCode" : 60,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 32,
      "endLine" : 39,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-horizontal-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 31,
      "endLine" : 38,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/custom-axes-orientation.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "packages/showcase/misc/time-chart.js",
        "extension" : "js",
        "linesOfCode" : 38,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/website/storybook/barseries-story.js",
        "extension" : "js",
        "linesOfCode" : 170,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 146,
      "endLine" : 152,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 132
    }, {
      "file" : {
        "relativePath" : "packages/website/storybook/markseries-story.js",
        "extension" : "js",
        "linesOfCode" : 175,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 126
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/misc/animation-example.js",
        "extension" : "js",
        "linesOfCode" : 60,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 25,
      "endLine" : 31,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/scatterplot.js",
        "extension" : "js",
        "linesOfCode" : 32,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/website/storybook/barseries-story.js",
        "extension" : "js",
        "linesOfCode" : 170,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 156,
      "endLine" : 162,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 142
    }, {
      "file" : {
        "relativePath" : "packages/website/storybook/markseries-story.js",
        "extension" : "js",
        "linesOfCode" : 175,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 146,
      "endLine" : 152,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 136
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-histogram.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 31,
      "endLine" : 38,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 31,
      "endLine" : 38,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/area-chart-elevated.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 34,
      "endLine" : 40,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/area-chart.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 33,
      "endLine" : 39,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 53,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/mixed-stacked-chart.js",
        "extension" : "js",
        "linesOfCode" : 60,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart-with-style.js",
        "extension" : "js",
        "linesOfCode" : 60,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 75,
      "endLine" : 81,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 56
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart.js",
        "extension" : "js",
        "linesOfCode" : 86,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 103,
      "endLine" : 109,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/custom-scales.js",
        "extension" : "js",
        "linesOfCode" : 36,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 40,
      "endLine" : 46,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart.js",
        "extension" : "js",
        "linesOfCode" : 86,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 77,
      "endLine" : 83,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/big-base-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 64,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/clustered-stacked-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 96,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 44,
      "endLine" : 50,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/labeled-stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 66,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 32,
      "endLine" : 39,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-horizontal-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 31,
      "endLine" : 38,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/big-base-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 64,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 59,
      "endLine" : 66,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart.js",
        "extension" : "js",
        "linesOfCode" : 86,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 36,
      "endLine" : 42,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/custom-svg-example.js",
        "extension" : "js",
        "linesOfCode" : 49,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/custom-svg-root-level.js",
        "extension" : "js",
        "linesOfCode" : 38,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/axis-on-0.js",
        "extension" : "js",
        "linesOfCode" : 39,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/custom-axis-tick-element.js",
        "extension" : "js",
        "linesOfCode" : 47,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/clustered-stacked-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 96,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 25,
      "endLine" : 31,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/labeled-stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 66,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/website/storybook/areaseries-story.js",
        "extension" : "js",
        "linesOfCode" : 154,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 145,
      "startLine" : 66,
      "endLine" : 72,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "packages/website/storybook/lineseries-story.js",
        "extension" : "js",
        "linesOfCode" : 169,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 62,
      "endLine" : 68,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/website/storybook/lineseries-story.js",
        "extension" : "js",
        "linesOfCode" : 169,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 126,
      "endLine" : 132,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 117
    }, {
      "file" : {
        "relativePath" : "packages/website/storybook/markseries-story.js",
        "extension" : "js",
        "linesOfCode" : 175,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 157,
      "endLine" : 163,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 147
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/website/storybook/areaseries-story.js",
        "extension" : "js",
        "linesOfCode" : 154,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 145,
      "startLine" : 110,
      "endLine" : 116,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 101
    }, {
      "file" : {
        "relativePath" : "packages/website/storybook/lineseries-story.js",
        "extension" : "js",
        "linesOfCode" : 169,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 96,
      "endLine" : 102,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/labeled-stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 66,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 32,
      "endLine" : 39,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart.js",
        "extension" : "js",
        "linesOfCode" : 86,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 34,
      "endLine" : 41,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart-with-style.js",
        "extension" : "js",
        "linesOfCode" : 60,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 48,
      "endLine" : 54,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart.js",
        "extension" : "js",
        "linesOfCode" : 86,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 76,
      "endLine" : 82,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/labeled-stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 66,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 32,
      "endLine" : 39,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-histogram.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 31,
      "endLine" : 38,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/axis-on-0.js",
        "extension" : "js",
        "linesOfCode" : 39,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/custom-axis-tick-format.js",
        "extension" : "js",
        "linesOfCode" : 47,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-histogram.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 42,
      "endLine" : 48,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-horizontal-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 42,
      "endLine" : 48,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-hints.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 45,
      "endLine" : 53,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-simple-topedge-hints.js",
        "extension" : "js",
        "linesOfCode" : 56,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/padded-axis.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "packages/showcase/color/line-chart-many-colors.js",
        "extension" : "js",
        "linesOfCode" : 36,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-complex-edge-hints.js",
        "extension" : "js",
        "linesOfCode" : 103,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 89,
      "endLine" : 98,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-hints.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 45,
      "endLine" : 53,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-horizontal-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 42,
      "endLine" : 48,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 40,
      "endLine" : 46,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/padded-axis.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart-with-style.js",
        "extension" : "js",
        "linesOfCode" : 60,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 25,
      "endLine" : 31,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/custom-axis.js",
        "extension" : "js",
        "linesOfCode" : 43,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "packages/showcase/misc/synced-charts.js",
        "extension" : "js",
        "linesOfCode" : 85,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 80,
      "endLine" : 86,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/radar-chart/radar-chart-with-tooltips.js",
        "extension" : "js",
        "linesOfCode" : 162,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 107,
      "endLine" : 113,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "packages/showcase/sunbursts/sunburst-with-tooltips.js",
        "extension" : "js",
        "linesOfCode" : 80,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/axis-on-0.js",
        "extension" : "js",
        "linesOfCode" : 39,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "packages/showcase/misc/synced-charts.js",
        "extension" : "js",
        "linesOfCode" : 85,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/axis-on-0.js",
        "extension" : "js",
        "linesOfCode" : 39,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/custom-axis.js",
        "extension" : "js",
        "linesOfCode" : 43,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/parallel-coordinates/animated-parallel-coordinates.js",
        "extension" : "js",
        "linesOfCode" : 68,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 54,
      "endLine" : 62,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "packages/showcase/radar-chart/animated-radar-chart.js",
        "extension" : "js",
        "linesOfCode" : 73,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 55,
      "endLine" : 63,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart.js",
        "extension" : "js",
        "linesOfCode" : 86,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 34,
      "endLine" : 41,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-histogram.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 31,
      "endLine" : 38,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/custom-axis-tick-format.js",
        "extension" : "js",
        "linesOfCode" : 47,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/custom-axis.js",
        "extension" : "js",
        "linesOfCode" : 43,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/misc/time-chart.js",
        "extension" : "js",
        "linesOfCode" : 38,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/custom-scales.js",
        "extension" : "js",
        "linesOfCode" : 36,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart.js",
        "extension" : "js",
        "linesOfCode" : 86,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 34,
      "endLine" : 41,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-horizontal-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 31,
      "endLine" : 38,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-complex-edge-hints.js",
        "extension" : "js",
        "linesOfCode" : 103,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 100,
      "endLine" : 106,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-simple-topedge-hints.js",
        "extension" : "js",
        "linesOfCode" : 56,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/custom-axis-tick-element.js",
        "extension" : "js",
        "linesOfCode" : 47,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/custom-axis.js",
        "extension" : "js",
        "linesOfCode" : 43,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-hints.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 45,
      "endLine" : 53,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-programmatic-rightedge-hints.js",
        "extension" : "js",
        "linesOfCode" : 59,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 64,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 53,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 51,
      "endLine" : 58,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart.js",
        "extension" : "js",
        "linesOfCode" : 86,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 36,
      "endLine" : 42,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/color/line-chart-many-colors.js",
        "extension" : "js",
        "linesOfCode" : 36,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "packages/showcase/misc/time-chart.js",
        "extension" : "js",
        "linesOfCode" : 38,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/clustered-stacked-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 96,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 42,
      "endLine" : 49,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-horizontal-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 42,
      "endLine" : 48,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/website/storybook/areaseries-story.js",
        "extension" : "js",
        "linesOfCode" : 154,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 145,
      "startLine" : 120,
      "endLine" : 126,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 111
    }, {
      "file" : {
        "relativePath" : "packages/website/storybook/lineseries-story.js",
        "extension" : "js",
        "linesOfCode" : 169,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/padded-axis.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "packages/showcase/misc/time-chart.js",
        "extension" : "js",
        "linesOfCode" : 38,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 53,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/clustered-stacked-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 96,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 25,
      "endLine" : 31,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/clustered-stacked-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 96,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 25,
      "endLine" : 31,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/mixed-stacked-chart.js",
        "extension" : "js",
        "linesOfCode" : 60,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/custom-axes-orientation.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/padded-axis.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-histogram.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 31,
      "endLine" : 38,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-horizontal-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 31,
      "endLine" : 38,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/padded-axis.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 48,
      "endLine" : 54,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/padded-axis.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 56,
      "endLine" : 62,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/misc/time-chart.js",
        "extension" : "js",
        "linesOfCode" : 38,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart-with-style.js",
        "extension" : "js",
        "linesOfCode" : 60,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 25,
      "endLine" : 31,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/static-crosshair.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 34,
      "endLine" : 39,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/area-chart-elevated.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 34,
      "endLine" : 39,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/radar-chart/radar-chart-with-tooltips.js",
        "extension" : "js",
        "linesOfCode" : 162,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 116,
      "endLine" : 123,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "packages/showcase/sunbursts/sunburst-with-tooltips.js",
        "extension" : "js",
        "linesOfCode" : 80,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 77,
      "endLine" : 82,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/misc/synced-charts.js",
        "extension" : "js",
        "linesOfCode" : 85,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 80,
      "endLine" : 85,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/width-height-margin.js",
        "extension" : "js",
        "linesOfCode" : 16,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 32,
      "endLine" : 37,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-hints.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "packages/showcase/misc/selection-plot-example.js",
        "extension" : "js",
        "linesOfCode" : 53,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-complex-edge-hints.js",
        "extension" : "js",
        "linesOfCode" : 103,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/static-hints.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/website/storybook/lineseries-story.js",
        "extension" : "js",
        "linesOfCode" : 169,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 36,
      "endLine" : 41,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "packages/website/storybook/markseries-story.js",
        "extension" : "js",
        "linesOfCode" : 175,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 31,
      "endLine" : 36,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/big-base-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 64,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/mixed-stacked-chart.js",
        "extension" : "js",
        "linesOfCode" : 60,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 34,
      "endLine" : 39,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-crosshair.js",
        "extension" : "js",
        "linesOfCode" : 52,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-simple-topedge-hints.js",
        "extension" : "js",
        "linesOfCode" : 56,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/misc/clip-example.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 4,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "packages/showcase/misc/gradient-example.js",
        "extension" : "js",
        "linesOfCode" : 50,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/difference-chart.js",
        "extension" : "js",
        "linesOfCode" : 51,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 50,
      "endLine" : 56,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart.js",
        "extension" : "js",
        "linesOfCode" : 86,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 37,
      "endLine" : 42,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-hints.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 54,
      "endLine" : 59,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "packages/showcase/misc/selection-plot-example.js",
        "extension" : "js",
        "linesOfCode" : 53,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-hints.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "packages/showcase/misc/2d-dragable-plot.js",
        "extension" : "js",
        "linesOfCode" : 73,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/static-hints.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 34,
      "endLine" : 39,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/area-chart-elevated.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 34,
      "endLine" : 39,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/difference-chart.js",
        "extension" : "js",
        "linesOfCode" : 51,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 58,
      "endLine" : 63,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart.js",
        "extension" : "js",
        "linesOfCode" : 86,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 45,
      "endLine" : 50,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/static-crosshair.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 34,
      "endLine" : 39,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/custom-svg-root-level.js",
        "extension" : "js",
        "linesOfCode" : 38,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/area-chart-elevated.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 34,
      "endLine" : 39,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/linemark-chart.js",
        "extension" : "js",
        "linesOfCode" : 39,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/labeled-stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 66,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 75,
      "endLine" : 80,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-histogram.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 43,
      "endLine" : 48,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/custom-svg-root-level.js",
        "extension" : "js",
        "linesOfCode" : 38,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/linemark-chart.js",
        "extension" : "js",
        "linesOfCode" : 39,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/misc/gradient-example.js",
        "extension" : "js",
        "linesOfCode" : 50,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 48,
      "endLine" : 53,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/area-chart-elevated.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 43,
      "endLine" : 48,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/clustered-stacked-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 96,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 44,
      "endLine" : 49,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/labeled-stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 66,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 75,
      "endLine" : 80,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-hints.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-simple-edge-hints.js",
        "extension" : "js",
        "linesOfCode" : 67,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 60,
      "endLine" : 65,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/mixed-stacked-chart.js",
        "extension" : "js",
        "linesOfCode" : 60,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-hints.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 53,
      "endLine" : 58,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/linemark-chart.js",
        "extension" : "js",
        "linesOfCode" : 39,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-hints.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 62,
      "endLine" : 67,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/area-chart.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 42,
      "endLine" : 47,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/big-base-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 64,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-histogram.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/parallel-coordinates/animated-parallel-coordinates.js",
        "extension" : "js",
        "linesOfCode" : 68,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 54,
      "endLine" : 61,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/contour-series-example.js",
        "extension" : "js",
        "linesOfCode" : 56,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 43,
      "endLine" : 48,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-crosshair.js",
        "extension" : "js",
        "linesOfCode" : 52,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/static-hints.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/big-base-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 64,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/labeled-stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 66,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 34,
      "endLine" : 39,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart.js",
        "extension" : "js",
        "linesOfCode" : 86,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 45,
      "endLine" : 50,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 41,
      "endLine" : 46,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/misc/2d-dragable-plot.js",
        "extension" : "js",
        "linesOfCode" : 73,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "packages/showcase/misc/selection-plot-example.js",
        "extension" : "js",
        "linesOfCode" : 53,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-simple-edge-hints.js",
        "extension" : "js",
        "linesOfCode" : 67,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/scatterplot-canvas.js",
        "extension" : "js",
        "linesOfCode" : 89,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 25,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/radar-chart/radar-chart-series-tooltips.js",
        "extension" : "js",
        "linesOfCode" : 79,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 69,
      "endLine" : 76,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "packages/showcase/sunbursts/sunburst-with-tooltips.js",
        "extension" : "js",
        "linesOfCode" : 80,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 77,
      "endLine" : 82,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/big-base-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 64,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-horizontal-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/labeled-stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 66,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 75,
      "endLine" : 80,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart.js",
        "extension" : "js",
        "linesOfCode" : 86,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 45,
      "endLine" : 50,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 53,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-histogram.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/contour-series-example.js",
        "extension" : "js",
        "linesOfCode" : 56,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 43,
      "endLine" : 48,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "packages/showcase/radar-chart/animated-radar-chart.js",
        "extension" : "js",
        "linesOfCode" : 73,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 55,
      "endLine" : 62,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/big-base-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 64,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 68,
      "endLine" : 73,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/mixed-stacked-chart.js",
        "extension" : "js",
        "linesOfCode" : 60,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 42,
      "endLine" : 47,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/misc/animation-example.js",
        "extension" : "js",
        "linesOfCode" : 60,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "packages/showcase/sankey/energy-sankey.js",
        "extension" : "js",
        "linesOfCode" : 58,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 12,
      "endLine" : 18,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/website/storybook/axis-story.js",
        "extension" : "js",
        "linesOfCode" : 207,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 116,
      "endLine" : 122,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 106
    }, {
      "file" : {
        "relativePath" : "packages/website/storybook/axis-story.js",
        "extension" : "js",
        "linesOfCode" : 207,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 138,
      "endLine" : 144,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 53,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/labeled-stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 66,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 34,
      "endLine" : 39,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 53,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-horizontal-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/radial-chart/gradient-pie.js",
        "extension" : "js",
        "linesOfCode" : 37,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 26,
      "endLine" : 31,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "packages/showcase/radial-chart/simple-radial-chart.js",
        "extension" : "js",
        "linesOfCode" : 23,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 26,
      "endLine" : 31,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-complex-edge-hints.js",
        "extension" : "js",
        "linesOfCode" : 103,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 69,
      "endLine" : 76,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-simple-edge-hints.js",
        "extension" : "js",
        "linesOfCode" : 67,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 49,
      "endLine" : 56,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-hints.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 53,
      "endLine" : 58,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/static-crosshair.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 34,
      "endLine" : 39,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/website/storybook/legend-story.js",
        "extension" : "js",
        "linesOfCode" : 149,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 28,
      "endLine" : 33,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "packages/website/storybook/legend-story.js",
        "extension" : "js",
        "linesOfCode" : 149,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 47,
      "endLine" : 52,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 41
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-hints.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 53,
      "endLine" : 58,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/area-chart-elevated.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 34,
      "endLine" : 39,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/heatmap-chart.js",
        "extension" : "js",
        "linesOfCode" : 33,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 26,
      "endLine" : 32,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "packages/showcase/radial-chart/donut-chart.js",
        "extension" : "js",
        "linesOfCode" : 32,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 26,
      "endLine" : 31,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/labeled-stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 66,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 75,
      "endLine" : 80,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-horizontal-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 43,
      "endLine" : 48,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/big-base-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 64,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 68,
      "endLine" : 73,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-histogram.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 43,
      "endLine" : 48,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/histogram.js",
        "extension" : "js",
        "linesOfCode" : 38,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 52,
      "endLine" : 57,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart-canvas.js",
        "extension" : "js",
        "linesOfCode" : 116,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 111,
      "startLine" : 135,
      "endLine" : 140,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 105
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 53,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 60,
      "endLine" : 65,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-horizontal-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 43,
      "endLine" : 48,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 53,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart.js",
        "extension" : "js",
        "linesOfCode" : 86,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 45,
      "endLine" : 50,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-histogram.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 43,
      "endLine" : 48,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-simple-edge-hints.js",
        "extension" : "js",
        "linesOfCode" : 67,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "packages/showcase/misc/selection-plot-example.js",
        "extension" : "js",
        "linesOfCode" : 53,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-crosshair-scatterplot.js",
        "extension" : "js",
        "linesOfCode" : 107,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 101,
      "startLine" : 104,
      "endLine" : 109,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "packages/showcase/misc/selection-plot-example.js",
        "extension" : "js",
        "linesOfCode" : 53,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/area-chart.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 42,
      "endLine" : 47,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/grid.js",
        "extension" : "js",
        "linesOfCode" : 16,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 32,
      "endLine" : 37,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/misc/synced-charts.js",
        "extension" : "js",
        "linesOfCode" : 85,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 80,
      "endLine" : 85,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/grid.js",
        "extension" : "js",
        "linesOfCode" : 16,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 32,
      "endLine" : 37,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/custom-svg-root-level.js",
        "extension" : "js",
        "linesOfCode" : 38,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/scatterplot.js",
        "extension" : "js",
        "linesOfCode" : 32,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-hints.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 53,
      "endLine" : 58,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/static-hints.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 34,
      "endLine" : 39,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-hints.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 62,
      "endLine" : 67,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/width-height-margin.js",
        "extension" : "js",
        "linesOfCode" : 16,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 32,
      "endLine" : 37,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/difference-chart.js",
        "extension" : "js",
        "linesOfCode" : 51,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 58,
      "endLine" : 63,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-horizontal-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 43,
      "endLine" : 48,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/area-chart.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 42,
      "endLine" : 47,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/linemark-chart.js",
        "extension" : "js",
        "linesOfCode" : 39,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 46,
      "endLine" : 51,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/big-base-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 64,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 68,
      "endLine" : 73,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 41,
      "endLine" : 46,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/area-chart-elevated.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 34,
      "endLine" : 39,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/scatterplot.js",
        "extension" : "js",
        "linesOfCode" : 32,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/website/storybook/barseries-story.js",
        "extension" : "js",
        "linesOfCode" : 170,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 28,
      "endLine" : 33,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "packages/website/storybook/markseries-story.js",
        "extension" : "js",
        "linesOfCode" : 175,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 23,
      "endLine" : 28,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/difference-chart.js",
        "extension" : "js",
        "linesOfCode" : 51,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 58,
      "endLine" : 63,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/mixed-stacked-chart.js",
        "extension" : "js",
        "linesOfCode" : 60,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 42,
      "endLine" : 47,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart.js",
        "extension" : "js",
        "linesOfCode" : 86,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 45,
      "endLine" : 50,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-horizontal-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 43,
      "endLine" : 48,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/area-chart.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/custom-svg-root-level.js",
        "extension" : "js",
        "linesOfCode" : 38,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/website/storybook/barseries-story.js",
        "extension" : "js",
        "linesOfCode" : 170,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 167,
      "endLine" : 172,
      "cleanedStartLine" : 147,
      "cleanedEndLine" : 152
    }, {
      "file" : {
        "relativePath" : "packages/website/storybook/markseries-story.js",
        "extension" : "js",
        "linesOfCode" : 175,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 167,
      "endLine" : 172,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-hints.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 53,
      "endLine" : 58,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/area-chart.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/website/storybook/markseries-story.js",
        "extension" : "js",
        "linesOfCode" : 175,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 87,
      "endLine" : 92,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "packages/website/storybook/markseries-story.js",
        "extension" : "js",
        "linesOfCode" : 175,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 138,
      "endLine" : 143,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-horizontal-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 50,
      "endLine" : 55,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 48,
      "endLine" : 53,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 53,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 60,
      "endLine" : 65,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 41,
      "endLine" : 46,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-hints.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 53,
      "endLine" : 58,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/custom-svg-root-level.js",
        "extension" : "js",
        "linesOfCode" : 38,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/area-chart-elevated.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 34,
      "endLine" : 39,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/custom-svg-example.js",
        "extension" : "js",
        "linesOfCode" : 49,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/misc/synced-charts.js",
        "extension" : "js",
        "linesOfCode" : 85,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 80,
      "endLine" : 85,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/linemark-chart.js",
        "extension" : "js",
        "linesOfCode" : 39,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 46,
      "endLine" : 51,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/big-base-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 64,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/parallel-coordinates/animated-parallel-coordinates.js",
        "extension" : "js",
        "linesOfCode" : 68,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "packages/showcase/radar-chart/animated-radar-chart.js",
        "extension" : "js",
        "linesOfCode" : 73,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 72,
      "endLine" : 78,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/website/storybook/areaseries-story.js",
        "extension" : "js",
        "linesOfCode" : 154,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 145,
      "startLine" : 57,
      "endLine" : 62,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "packages/website/storybook/lineseries-story.js",
        "extension" : "js",
        "linesOfCode" : 169,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 54,
      "endLine" : 59,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 53,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/big-base-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 64,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/difference-chart.js",
        "extension" : "js",
        "linesOfCode" : 51,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/labeled-stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 66,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 53,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 60,
      "endLine" : 65,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/clustered-stacked-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 96,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 44,
      "endLine" : 49,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-hints.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 53,
      "endLine" : 58,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/custom-svg-example.js",
        "extension" : "js",
        "linesOfCode" : 49,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/website/storybook/areaseries-story.js",
        "extension" : "js",
        "linesOfCode" : 154,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 145,
      "startLine" : 110,
      "endLine" : 115,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 100
    }, {
      "file" : {
        "relativePath" : "packages/website/storybook/barseries-story.js",
        "extension" : "js",
        "linesOfCode" : 170,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 157,
      "endLine" : 162,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 142
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-hints.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-simple-topedge-hints.js",
        "extension" : "js",
        "linesOfCode" : 56,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 43,
      "endLine" : 48,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/big-base-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 64,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 68,
      "endLine" : 73,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-horizontal-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 43,
      "endLine" : 48,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/area-chart.js",
        "extension" : "js",
        "linesOfCode" : 28,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 42,
      "endLine" : 47,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/width-height-margin.js",
        "extension" : "js",
        "linesOfCode" : 16,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 32,
      "endLine" : 37,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-hints.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-programmatic-rightedge-hints.js",
        "extension" : "js",
        "linesOfCode" : 59,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 50,
      "endLine" : 55,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/mixed-stacked-chart.js",
        "extension" : "js",
        "linesOfCode" : 60,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 49,
      "endLine" : 54,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-horizontal-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 50,
      "endLine" : 55,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/sankey/link-hint.js",
        "extension" : "js",
        "linesOfCode" : 51,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 9,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "packages/showcase/sankey/voronoi.js",
        "extension" : "js",
        "linesOfCode" : 38,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 8,
      "endLine" : 13,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/static-hints.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 34,
      "endLine" : 39,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/custom-svg-root-level.js",
        "extension" : "js",
        "linesOfCode" : 38,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/area-chart-elevated.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 34,
      "endLine" : 39,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/custom-svg-root-level.js",
        "extension" : "js",
        "linesOfCode" : 38,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/misc/selection-plot-example.js",
        "extension" : "js",
        "linesOfCode" : 53,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/scatterplot-canvas.js",
        "extension" : "js",
        "linesOfCode" : 89,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 25,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/website/storybook/areaseries-story.js",
        "extension" : "js",
        "linesOfCode" : 154,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 145,
      "startLine" : 154,
      "endLine" : 159,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "packages/website/storybook/lineseries-story.js",
        "extension" : "js",
        "linesOfCode" : 169,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 169,
      "endLine" : 174,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 53,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 60,
      "endLine" : 65,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/labeled-stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 66,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 75,
      "endLine" : 80,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 53,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 60,
      "endLine" : 65,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart.js",
        "extension" : "js",
        "linesOfCode" : 86,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 45,
      "endLine" : 50,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 53,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 60,
      "endLine" : 65,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/mixed-stacked-chart.js",
        "extension" : "js",
        "linesOfCode" : 60,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 42,
      "endLine" : 47,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/clustered-stacked-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 96,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 25,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/sankey/link-event.js",
        "extension" : "js",
        "linesOfCode" : 42,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 8,
      "endLine" : 13,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "packages/showcase/sankey/voronoi.js",
        "extension" : "js",
        "linesOfCode" : 38,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 8,
      "endLine" : 13,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/difference-chart.js",
        "extension" : "js",
        "linesOfCode" : 51,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 58,
      "endLine" : 63,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-histogram.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 43,
      "endLine" : 48,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/histogram.js",
        "extension" : "js",
        "linesOfCode" : 38,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 52,
      "endLine" : 57,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/scatterplot-canvas.js",
        "extension" : "js",
        "linesOfCode" : 89,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 104,
      "endLine" : 109,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 77
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/linemark-chart.js",
        "extension" : "js",
        "linesOfCode" : 39,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 46,
      "endLine" : 51,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/width-height-margin.js",
        "extension" : "js",
        "linesOfCode" : 16,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 32,
      "endLine" : 37,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/big-base-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 64,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 68,
      "endLine" : 73,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart.js",
        "extension" : "js",
        "linesOfCode" : 86,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 45,
      "endLine" : 50,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-simple-topedge-hints.js",
        "extension" : "js",
        "linesOfCode" : 56,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/static-hints.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-simple-edge-hints.js",
        "extension" : "js",
        "linesOfCode" : 67,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "packages/showcase/misc/2d-dragable-plot.js",
        "extension" : "js",
        "linesOfCode" : 73,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-hints.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 62,
      "endLine" : 67,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/linemark-chart.js",
        "extension" : "js",
        "linesOfCode" : 39,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 46,
      "endLine" : 51,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/misc/synced-charts.js",
        "extension" : "js",
        "linesOfCode" : 85,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 75,
      "endLine" : 80,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "packages/showcase/misc/synced-charts.js",
        "extension" : "js",
        "linesOfCode" : 85,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 99,
      "endLine" : 104,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 72
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/website/storybook/legend-story.js",
        "extension" : "js",
        "linesOfCode" : 149,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 66,
      "endLine" : 71,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "packages/website/storybook/legend-story.js",
        "extension" : "js",
        "linesOfCode" : 149,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 109,
      "endLine" : 114,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/website/storybook/areaseries-story.js",
        "extension" : "js",
        "linesOfCode" : 154,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 145,
      "startLine" : 77,
      "endLine" : 82,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "packages/website/storybook/lineseries-story.js",
        "extension" : "js",
        "linesOfCode" : 169,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 72,
      "endLine" : 77,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 63
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/custom-axis.js",
        "extension" : "js",
        "linesOfCode" : 43,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 58,
      "endLine" : 63,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/linemark-chart.js",
        "extension" : "js",
        "linesOfCode" : 39,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 46,
      "endLine" : 51,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-hints.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 62,
      "endLine" : 67,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/grid.js",
        "extension" : "js",
        "linesOfCode" : 16,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 32,
      "endLine" : 37,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/difference-chart.js",
        "extension" : "js",
        "linesOfCode" : 51,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 58,
      "endLine" : 63,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 41,
      "endLine" : 46,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/clustered-stacked-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 96,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 44,
      "endLine" : 49,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/difference-chart.js",
        "extension" : "js",
        "linesOfCode" : 51,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 58,
      "endLine" : 63,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-programmatic-rightedge-hints.js",
        "extension" : "js",
        "linesOfCode" : 59,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/static-crosshair.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/misc/time-chart.js",
        "extension" : "js",
        "linesOfCode" : 38,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 38,
      "endLine" : 43,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/custom-scales.js",
        "extension" : "js",
        "linesOfCode" : 36,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 35,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/custom-svg-example.js",
        "extension" : "js",
        "linesOfCode" : 49,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 62,
      "endLine" : 67,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/custom-svg-root-level.js",
        "extension" : "js",
        "linesOfCode" : 38,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 45,
      "endLine" : 50,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/website/storybook/areaseries-story.js",
        "extension" : "js",
        "linesOfCode" : 154,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 145,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "packages/website/storybook/markseries-story.js",
        "extension" : "js",
        "linesOfCode" : 175,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-complex-edge-hints.js",
        "extension" : "js",
        "linesOfCode" : 103,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 84,
      "endLine" : 89,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-hints.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-complex-edge-hints.js",
        "extension" : "js",
        "linesOfCode" : 103,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/static-crosshair.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/big-base-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 64,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 68,
      "endLine" : 73,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/labeled-stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 66,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 75,
      "endLine" : 80,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 53,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 60,
      "endLine" : 65,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/stacked-histogram.js",
        "extension" : "js",
        "linesOfCode" : 48,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 43,
      "endLine" : 48,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-hints.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 62,
      "endLine" : 67,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "packages/showcase/misc/synced-charts.js",
        "extension" : "js",
        "linesOfCode" : 85,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 80,
      "endLine" : 85,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-complex-edge-hints.js",
        "extension" : "js",
        "linesOfCode" : 103,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-crosshair.js",
        "extension" : "js",
        "linesOfCode" : 52,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/website/storybook/axis-story.js",
        "extension" : "js",
        "linesOfCode" : 207,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 94,
      "endLine" : 100,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "packages/website/storybook/axis-story.js",
        "extension" : "js",
        "linesOfCode" : 207,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 138,
      "endLine" : 144,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/difference-chart.js",
        "extension" : "js",
        "linesOfCode" : 51,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 58,
      "endLine" : 63,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/labeled-stacked-vertical-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 66,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 75,
      "endLine" : 80,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-hints.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 53,
      "endLine" : 58,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/whisker-chart.js",
        "extension" : "js",
        "linesOfCode" : 29,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-programmatic-rightedge-hints.js",
        "extension" : "js",
        "linesOfCode" : 59,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/static-hints.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/misc/gradient-example.js",
        "extension" : "js",
        "linesOfCode" : 50,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 65,
      "endLine" : 70,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/area-chart-elevated.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 52,
      "endLine" : 57,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/grid.js",
        "extension" : "js",
        "linesOfCode" : 16,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 32,
      "endLine" : 37,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/linemark-chart.js",
        "extension" : "js",
        "linesOfCode" : 39,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 46,
      "endLine" : 51,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/custom-scales.js",
        "extension" : "js",
        "linesOfCode" : 36,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 40,
      "endLine" : 45,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart-with-style.js",
        "extension" : "js",
        "linesOfCode" : 60,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 49,
      "endLine" : 54,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart.js",
        "extension" : "js",
        "linesOfCode" : 86,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 45,
      "endLine" : 50,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/mixed-stacked-chart.js",
        "extension" : "js",
        "linesOfCode" : 60,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 42,
      "endLine" : 47,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/custom-axis.js",
        "extension" : "js",
        "linesOfCode" : 43,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 58,
      "endLine" : 63,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-hints.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 62,
      "endLine" : 67,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-simple-topedge-hints.js",
        "extension" : "js",
        "linesOfCode" : 56,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/static-crosshair.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/custom-svg-root-level.js",
        "extension" : "js",
        "linesOfCode" : 38,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/whisker-chart.js",
        "extension" : "js",
        "linesOfCode" : 29,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/misc/2d-dragable-plot.js",
        "extension" : "js",
        "linesOfCode" : 73,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/scatterplot-canvas.js",
        "extension" : "js",
        "linesOfCode" : 89,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 25,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/static-crosshair.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/static-hints.js",
        "extension" : "js",
        "linesOfCode" : 40,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-hints.js",
        "extension" : "js",
        "linesOfCode" : 44,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/scatterplot-canvas.js",
        "extension" : "js",
        "linesOfCode" : 89,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 25,
      "endLine" : 30,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/website/storybook/barseries-story.js",
        "extension" : "js",
        "linesOfCode" : 170,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 121,
      "endLine" : 126,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "packages/website/storybook/barseries-story.js",
        "extension" : "js",
        "linesOfCode" : 170,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 148,
      "endLine" : 153,
      "cleanedStartLine" : 128,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-crosshair.js",
        "extension" : "js",
        "linesOfCode" : 52,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-programmatic-rightedge-hints.js",
        "extension" : "js",
        "linesOfCode" : 59,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/big-base-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 64,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/clustered-stacked-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 96,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 35,
      "endLine" : 40,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 53,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/mixed-stacked-chart.js",
        "extension" : "js",
        "linesOfCode" : 60,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 34,
      "endLine" : 39,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 53,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/clustered-stacked-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 96,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 35,
      "endLine" : 40,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/legends/searchable-discrete-color-hover.js",
        "extension" : "js",
        "linesOfCode" : 50,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 46,
      "endLine" : 53,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "packages/showcase/legends/searchable-discrete-color.js",
        "extension" : "js",
        "linesOfCode" : 36,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 45,
      "endLine" : 52,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/area-chart-elevated.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 34,
      "endLine" : 39,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/whisker-chart.js",
        "extension" : "js",
        "linesOfCode" : 29,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/plot/clustered-stacked-bar-chart.js",
        "extension" : "js",
        "linesOfCode" : 96,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 44,
      "endLine" : 49,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/line-chart.js",
        "extension" : "js",
        "linesOfCode" : 86,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 45,
      "endLine" : 50,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/website/storybook/axis-story.js",
        "extension" : "js",
        "linesOfCode" : 207,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 94,
      "endLine" : 100,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "packages/website/storybook/axis-story.js",
        "extension" : "js",
        "linesOfCode" : 207,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 116,
      "endLine" : 122,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 106
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packages/showcase/axes/dynamic-crosshair-scatterplot.js",
        "extension" : "js",
        "linesOfCode" : 107,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 101,
      "startLine" : 104,
      "endLine" : 109,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "packages/showcase/plot/scatterplot.js",
        "extension" : "js",
        "linesOfCode" : 32,
        "components" : [ "primary::packages" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 35,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  } ],
  "overallDuplication" : null
}