{
  "title" : "Duplication",
  "timestamp" : "2026-01-18 16:52:47",
  "duplicates" : [ {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/executable-code/executable-fragment.js",
        "extension" : "js",
        "linesOfCode" : 766,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 669,
      "startLine" : 391,
      "endLine" : 406,
      "cleanedStartLine" : 295,
      "cleanedEndLine" : 309
    }, {
      "file" : {
        "relativePath" : "src/executable-code/executable-fragment.js",
        "extension" : "js",
        "linesOfCode" : 766,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 669,
      "startLine" : 507,
      "endLine" : 522,
      "cleanedStartLine" : 380,
      "cleanedEndLine" : 394
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/webdemo-api.js",
        "extension" : "js",
        "linesOfCode" : 216,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 108,
      "endLine" : 117,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "src/webdemo-api.js",
        "extension" : "js",
        "linesOfCode" : 216,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 150,
      "endLine" : 159,
      "cleanedStartLine" : 91,
      "cleanedEndLine" : 100
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/utils/escape.js",
        "extension" : "js",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 27,
      "endLine" : 32,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "src/utils/index.js",
        "extension" : "js",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 61
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/utils/escape.js",
        "extension" : "js",
        "linesOfCode" : 20,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 27,
      "endLine" : 32,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "src/utils/index.js",
        "extension" : "js",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 108,
      "endLine" : 113,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/utils/index.js",
        "extension" : "js",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 108,
      "endLine" : 113,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "src/utils/index.js",
        "extension" : "js",
        "linesOfCode" : 90,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 61
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/executable-code/executable-fragment.js",
        "extension" : "js",
        "linesOfCode" : 766,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 669,
      "startLine" : 675,
      "endLine" : 680,
      "cleanedStartLine" : 502,
      "cleanedEndLine" : 507
    }, {
      "file" : {
        "relativePath" : "src/executable-code/executable-fragment.js",
        "extension" : "js",
        "linesOfCode" : 766,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 669,
      "startLine" : 827,
      "endLine" : 832,
      "cleanedStartLine" : 626,
      "cleanedEndLine" : 631
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/executable-code/executable-fragment.js",
        "extension" : "js",
        "linesOfCode" : 766,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 669,
      "startLine" : 319,
      "endLine" : 324,
      "cleanedStartLine" : 233,
      "cleanedEndLine" : 238
    }, {
      "file" : {
        "relativePath" : "src/executable-code/executable-fragment.js",
        "extension" : "js",
        "linesOfCode" : 766,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 669,
      "startLine" : 408,
      "endLine" : 413,
      "cleanedStartLine" : 311,
      "cleanedEndLine" : 316
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/js-executor/index.js",
        "extension" : "js",
        "linesOfCode" : 256,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 114,
      "endLine" : 119,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "src/js-executor/index.js",
        "extension" : "js",
        "linesOfCode" : 256,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 140,
      "endLine" : 145,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 105
    } ]
  } ],
  "overallDuplication" : null
}