{
  "title" : "Duplication",
  "timestamp" : "2026-01-18 16:55:30",
  "duplicates" : [ {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/content/providers/bitbucket-server.js",
        "extension" : "js",
        "linesOfCode" : 249,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 95,
      "endLine" : 109,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "src/content/providers/bitbucket.js",
        "extension" : "js",
        "linesOfCode" : 338,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 173,
      "endLine" : 187,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 145
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/content/providers/bitbucket-server.js",
        "extension" : "js",
        "linesOfCode" : 249,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 253,
      "endLine" : 266,
      "cleanedStartLine" : 192,
      "cleanedEndLine" : 203
    }, {
      "file" : {
        "relativePath" : "src/content/providers/bitbucket.js",
        "extension" : "js",
        "linesOfCode" : 338,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 347,
      "endLine" : 360,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 275
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/content/providers/bitbucket-server.js",
        "extension" : "js",
        "linesOfCode" : 249,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 50,
      "endLine" : 66,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "src/content/providers/bitbucket.js",
        "extension" : "js",
        "linesOfCode" : 338,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 61,
      "endLine" : 77,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/background/background.js",
        "extension" : "js",
        "linesOfCode" : 170,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 158,
      "startLine" : 117,
      "endLine" : 127,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 106
    }, {
      "file" : {
        "relativePath" : "src/background/background.js",
        "extension" : "js",
        "linesOfCode" : 170,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 158,
      "startLine" : 142,
      "endLine" : 152,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/content/providers/bitbucket-server.js",
        "extension" : "js",
        "linesOfCode" : 249,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 71,
      "endLine" : 81,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "src/content/providers/bitbucket.js",
        "extension" : "js",
        "linesOfCode" : 338,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 87,
      "endLine" : 97,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/content/providers/github/utils/observeBlobPage.js",
        "extension" : "js",
        "linesOfCode" : 82,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 47,
      "endLine" : 55,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "src/content/providers/github/utils/observeBlobPage.js",
        "extension" : "js",
        "linesOfCode" : 82,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 86,
      "endLine" : 94,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/content/providers/bitbucket-server.js",
        "extension" : "js",
        "linesOfCode" : 249,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 84,
      "endLine" : 93,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "src/content/providers/bitbucket.js",
        "extension" : "js",
        "linesOfCode" : 338,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 101,
      "endLine" : 110,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 83
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/content/providers/bitbucket-server.js",
        "extension" : "js",
        "linesOfCode" : 249,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 74,
      "endLine" : 82,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "src/content/services/Action.js",
        "extension" : "js",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 8,
      "endLine" : 16,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/content/providers/github/toolboxify.js",
        "extension" : "js",
        "linesOfCode" : 14,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 9,
      "startLine" : 8,
      "endLine" : 16,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "src/content/providers/gitlab/toolboxify.js",
        "extension" : "js",
        "linesOfCode" : 14,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 9,
      "startLine" : 8,
      "endLine" : 16,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/content/providers/github/utils/fetchTools.js",
        "extension" : "js",
        "linesOfCode" : 49,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 4,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "src/content/providers/gitlab/utils/fetchTools.js",
        "extension" : "js",
        "linesOfCode" : 22,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 4,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/background/background.js",
        "extension" : "js",
        "linesOfCode" : 170,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 158,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "src/services/index.js",
        "extension" : "js",
        "linesOfCode" : 10,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 3,
      "endLine" : 8,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/content/providers/bitbucket-server.js",
        "extension" : "js",
        "linesOfCode" : 249,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 296,
      "endLine" : 301,
      "cleanedStartLine" : 226,
      "cleanedEndLine" : 231
    }, {
      "file" : {
        "relativePath" : "src/content/providers/bitbucket.js",
        "extension" : "js",
        "linesOfCode" : 338,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 367,
      "endLine" : 372,
      "cleanedStartLine" : 281,
      "cleanedEndLine" : 286
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/content/providers/bitbucket-server.js",
        "extension" : "js",
        "linesOfCode" : 249,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 188,
      "endLine" : 193,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 144
    }, {
      "file" : {
        "relativePath" : "src/content/providers/bitbucket.js",
        "extension" : "js",
        "linesOfCode" : 338,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 270,
      "endLine" : 275,
      "cleanedStartLine" : 203,
      "cleanedEndLine" : 208
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/content/providers/bitbucket.js",
        "extension" : "js",
        "linesOfCode" : 338,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 90,
      "endLine" : 97,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "src/content/services/Action.js",
        "extension" : "js",
        "linesOfCode" : 21,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 8,
      "endLine" : 15,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  } ],
  "overallDuplication" : null
}