{
  "title" : "Duplication",
  "timestamp" : "2025-04-14 11:54:15",
  "duplicates" : [ {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "utils.py",
        "extension" : "py",
        "linesOfCode" : 852,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 841,
      "startLine" : 244,
      "endLine" : 266,
      "cleanedStartLine" : 169,
      "cleanedEndLine" : 188
    }, {
      "file" : {
        "relativePath" : "utils.py",
        "extension" : "py",
        "linesOfCode" : 852,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 841,
      "startLine" : 295,
      "endLine" : 317,
      "cleanedStartLine" : 212,
      "cleanedEndLine" : 231
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 387,
      "endLine" : 409,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 301
    }, {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 572,
      "endLine" : 595,
      "cleanedStartLine" : 418,
      "cleanedEndLine" : 436
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "fid.py",
        "extension" : "py",
        "linesOfCode" : 182,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 169,
      "startLine" : 254,
      "endLine" : 272,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 152
    }, {
      "file" : {
        "relativePath" : "inception.py",
        "extension" : "py",
        "linesOfCode" : 84,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 67,
      "endLine" : 85,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 52
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "ebm_sandbox.py",
        "extension" : "py",
        "linesOfCode" : 684,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 666,
      "startLine" : 448,
      "endLine" : 471,
      "cleanedStartLine" : 306,
      "cleanedEndLine" : 322
    }, {
      "file" : {
        "relativePath" : "ebm_sandbox.py",
        "extension" : "py",
        "linesOfCode" : 684,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 666,
      "startLine" : 675,
      "endLine" : 698,
      "cleanedStartLine" : 450,
      "cleanedEndLine" : 466
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 297,
      "endLine" : 317,
      "cleanedStartLine" : 217,
      "cleanedEndLine" : 232
    }, {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 485,
      "endLine" : 505,
      "cleanedStartLine" : 356,
      "cleanedEndLine" : 371
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 297,
      "endLine" : 314,
      "cleanedStartLine" : 217,
      "cleanedEndLine" : 231
    }, {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 572,
      "endLine" : 590,
      "cleanedStartLine" : 418,
      "cleanedEndLine" : 432
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 297,
      "endLine" : 314,
      "cleanedStartLine" : 217,
      "cleanedEndLine" : 231
    }, {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 387,
      "endLine" : 404,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 297
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 387,
      "endLine" : 404,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 297
    }, {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 485,
      "endLine" : 502,
      "cleanedStartLine" : 356,
      "cleanedEndLine" : 370
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 485,
      "endLine" : 502,
      "cleanedStartLine" : 356,
      "cleanedEndLine" : 370
    }, {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 572,
      "endLine" : 590,
      "cleanedStartLine" : 418,
      "cleanedEndLine" : 432
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "utils.py",
        "extension" : "py",
        "linesOfCode" : 852,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 841,
      "startLine" : 655,
      "endLine" : 667,
      "cleanedStartLine" : 510,
      "cleanedEndLine" : 522
    }, {
      "file" : {
        "relativePath" : "utils.py",
        "extension" : "py",
        "linesOfCode" : 852,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 841,
      "startLine" : 754,
      "endLine" : 766,
      "cleanedStartLine" : 588,
      "cleanedEndLine" : 600
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "fid.py",
        "extension" : "py",
        "linesOfCode" : 182,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 169,
      "startLine" : 68,
      "endLine" : 80,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "fid.py",
        "extension" : "py",
        "linesOfCode" : 182,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 169,
      "startLine" : 276,
      "endLine" : 288,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 167
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "ebm_combine.py",
        "extension" : "py",
        "linesOfCode" : 494,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 480,
      "startLine" : 264,
      "endLine" : 276,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 189
    }, {
      "file" : {
        "relativePath" : "ebm_combine.py",
        "extension" : "py",
        "linesOfCode" : 494,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 480,
      "startLine" : 491,
      "endLine" : 503,
      "cleanedStartLine" : 325,
      "cleanedEndLine" : 337
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "ebm_sandbox.py",
        "extension" : "py",
        "linesOfCode" : 684,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 666,
      "startLine" : 485,
      "endLine" : 499,
      "cleanedStartLine" : 331,
      "cleanedEndLine" : 342
    }, {
      "file" : {
        "relativePath" : "ebm_sandbox.py",
        "extension" : "py",
        "linesOfCode" : 684,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 666,
      "startLine" : 714,
      "endLine" : 728,
      "cleanedStartLine" : 475,
      "cleanedEndLine" : 486
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 272,
      "endLine" : 286,
      "cleanedStartLine" : 197,
      "cleanedEndLine" : 208
    }, {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 453,
      "endLine" : 467,
      "cleanedStartLine" : 329,
      "cleanedEndLine" : 340
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 227,
      "endLine" : 241,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 176
    }, {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 491,
      "endLine" : 505,
      "cleanedStartLine" : 360,
      "cleanedEndLine" : 371
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 227,
      "endLine" : 241,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 176
    }, {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 303,
      "endLine" : 317,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 232
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 227,
      "endLine" : 238,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 175
    }, {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 393,
      "endLine" : 404,
      "cleanedStartLine" : 287,
      "cleanedEndLine" : 297
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "data.py",
        "extension" : "py",
        "linesOfCode" : 430,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 304,
      "endLine" : 316,
      "cleanedStartLine" : 220,
      "cleanedEndLine" : 230
    }, {
      "file" : {
        "relativePath" : "data.py",
        "extension" : "py",
        "linesOfCode" : 430,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 336,
      "endLine" : 348,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 253
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "data.py",
        "extension" : "py",
        "linesOfCode" : 430,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 202,
      "endLine" : 214,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 149
    }, {
      "file" : {
        "relativePath" : "data.py",
        "extension" : "py",
        "linesOfCode" : 430,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 274,
      "endLine" : 286,
      "cleanedStartLine" : 196,
      "cleanedEndLine" : 206
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "ebm_sandbox.py",
        "extension" : "py",
        "linesOfCode" : 684,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 666,
      "startLine" : 79,
      "endLine" : 91,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "ebm_sandbox.py",
        "extension" : "py",
        "linesOfCode" : 684,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 666,
      "startLine" : 108,
      "endLine" : 120,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 227,
      "endLine" : 238,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 175
    }, {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 578,
      "endLine" : 590,
      "cleanedStartLine" : 422,
      "cleanedEndLine" : 432
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 196,
      "endLine" : 209,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 152
    }, {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 272,
      "endLine" : 285,
      "cleanedStartLine" : 197,
      "cleanedEndLine" : 207
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 196,
      "endLine" : 209,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 152
    }, {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 453,
      "endLine" : 466,
      "cleanedStartLine" : 329,
      "cleanedEndLine" : 339
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "train.py",
        "extension" : "py",
        "linesOfCode" : 752,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 726,
      "startLine" : 306,
      "endLine" : 318,
      "cleanedStartLine" : 219,
      "cleanedEndLine" : 229
    }, {
      "file" : {
        "relativePath" : "train.py",
        "extension" : "py",
        "linesOfCode" : 752,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 726,
      "startLine" : 375,
      "endLine" : 387,
      "cleanedStartLine" : 272,
      "cleanedEndLine" : 282
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "utils.py",
        "extension" : "py",
        "linesOfCode" : 852,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 841,
      "startLine" : 175,
      "endLine" : 185,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 121
    }, {
      "file" : {
        "relativePath" : "utils.py",
        "extension" : "py",
        "linesOfCode" : 852,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 841,
      "startLine" : 226,
      "endLine" : 236,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 164
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "data.py",
        "extension" : "py",
        "linesOfCode" : 430,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 305,
      "endLine" : 316,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 230
    }, {
      "file" : {
        "relativePath" : "data.py",
        "extension" : "py",
        "linesOfCode" : 430,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 517,
      "endLine" : 528,
      "cleanedStartLine" : 393,
      "cleanedEndLine" : 402
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "data.py",
        "extension" : "py",
        "linesOfCode" : 430,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 337,
      "endLine" : 348,
      "cleanedStartLine" : 244,
      "cleanedEndLine" : 253
    }, {
      "file" : {
        "relativePath" : "data.py",
        "extension" : "py",
        "linesOfCode" : 430,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 517,
      "endLine" : 528,
      "cleanedStartLine" : 393,
      "cleanedEndLine" : 402
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 57,
      "endLine" : 65,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 582,
      "endLine" : 590,
      "cleanedStartLine" : 424,
      "cleanedEndLine" : 432
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 285,
      "endLine" : 293,
      "cleanedStartLine" : 207,
      "cleanedEndLine" : 215
    }, {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 375,
      "endLine" : 383,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 281
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "ebm_sandbox.py",
        "extension" : "py",
        "linesOfCode" : 684,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 666,
      "startLine" : 93,
      "endLine" : 104,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "ebm_sandbox.py",
        "extension" : "py",
        "linesOfCode" : 684,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 666,
      "startLine" : 140,
      "endLine" : 152,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 100
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 57,
      "endLine" : 65,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 162,
      "endLine" : 170,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 124
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 162,
      "endLine" : 170,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 124
    }, {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 230,
      "endLine" : 238,
      "cleanedStartLine" : 167,
      "cleanedEndLine" : 175
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 162,
      "endLine" : 170,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 124
    }, {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 396,
      "endLine" : 404,
      "cleanedStartLine" : 289,
      "cleanedEndLine" : 297
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 57,
      "endLine" : 65,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 306,
      "endLine" : 314,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 231
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 57,
      "endLine" : 65,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 494,
      "endLine" : 502,
      "cleanedStartLine" : 362,
      "cleanedEndLine" : 370
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 162,
      "endLine" : 170,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 124
    }, {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 494,
      "endLine" : 502,
      "cleanedStartLine" : 362,
      "cleanedEndLine" : 370
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "utils.py",
        "extension" : "py",
        "linesOfCode" : 852,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 841,
      "startLine" : 555,
      "endLine" : 563,
      "cleanedStartLine" : 430,
      "cleanedEndLine" : 438
    }, {
      "file" : {
        "relativePath" : "utils.py",
        "extension" : "py",
        "linesOfCode" : 852,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 841,
      "startLine" : 602,
      "endLine" : 610,
      "cleanedStartLine" : 470,
      "cleanedEndLine" : 478
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 57,
      "endLine" : 65,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 396,
      "endLine" : 404,
      "cleanedStartLine" : 289,
      "cleanedEndLine" : 297
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 57,
      "endLine" : 65,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 230,
      "endLine" : 238,
      "cleanedStartLine" : 167,
      "cleanedEndLine" : 175
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 162,
      "endLine" : 170,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 124
    }, {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 582,
      "endLine" : 590,
      "cleanedStartLine" : 424,
      "cleanedEndLine" : 432
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 162,
      "endLine" : 170,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 124
    }, {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 306,
      "endLine" : 314,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 231
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 339,
      "endLine" : 349,
      "cleanedStartLine" : 247,
      "cleanedEndLine" : 254
    }, {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 529,
      "endLine" : 539,
      "cleanedStartLine" : 390,
      "cleanedEndLine" : 397
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "ebm_sandbox.py",
        "extension" : "py",
        "linesOfCode" : 684,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 666,
      "startLine" : 298,
      "endLine" : 308,
      "cleanedStartLine" : 212,
      "cleanedEndLine" : 219
    }, {
      "file" : {
        "relativePath" : "ebm_sandbox.py",
        "extension" : "py",
        "linesOfCode" : 684,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 666,
      "startLine" : 323,
      "endLine" : 333,
      "cleanedStartLine" : 228,
      "cleanedEndLine" : 235
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "utils.py",
        "extension" : "py",
        "linesOfCode" : 852,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 841,
      "startLine" : 867,
      "endLine" : 874,
      "cleanedStartLine" : 670,
      "cleanedEndLine" : 677
    }, {
      "file" : {
        "relativePath" : "utils.py",
        "extension" : "py",
        "linesOfCode" : 852,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 841,
      "startLine" : 879,
      "endLine" : 886,
      "cleanedStartLine" : 682,
      "cleanedEndLine" : 689
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "ebm_sandbox.py",
        "extension" : "py",
        "linesOfCode" : 684,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 666,
      "startLine" : 883,
      "endLine" : 891,
      "cleanedStartLine" : 586,
      "cleanedEndLine" : 593
    }, {
      "file" : {
        "relativePath" : "train.py",
        "extension" : "py",
        "linesOfCode" : 752,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 726,
      "startLine" : 906,
      "endLine" : 914,
      "cleanedStartLine" : 702,
      "cleanedEndLine" : 709
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 265,
      "endLine" : 274,
      "cleanedStartLine" : 192,
      "cleanedEndLine" : 199
    }, {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 353,
      "endLine" : 362,
      "cleanedStartLine" : 256,
      "cleanedEndLine" : 263
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "ebm_combine.py",
        "extension" : "py",
        "linesOfCode" : 494,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 480,
      "startLine" : 249,
      "endLine" : 258,
      "cleanedStartLine" : 167,
      "cleanedEndLine" : 174
    }, {
      "file" : {
        "relativePath" : "ebm_combine.py",
        "extension" : "py",
        "linesOfCode" : 494,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 480,
      "startLine" : 477,
      "endLine" : 486,
      "cleanedStartLine" : 316,
      "cleanedEndLine" : 323
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "utils.py",
        "extension" : "py",
        "linesOfCode" : 852,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 841,
      "startLine" : 527,
      "endLine" : 533,
      "cleanedStartLine" : 405,
      "cleanedEndLine" : 411
    }, {
      "file" : {
        "relativePath" : "utils.py",
        "extension" : "py",
        "linesOfCode" : 852,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 841,
      "startLine" : 583,
      "endLine" : 589,
      "cleanedStartLine" : 452,
      "cleanedEndLine" : 458
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "utils.py",
        "extension" : "py",
        "linesOfCode" : 852,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 841,
      "startLine" : 848,
      "endLine" : 854,
      "cleanedStartLine" : 651,
      "cleanedEndLine" : 657
    }, {
      "file" : {
        "relativePath" : "utils.py",
        "extension" : "py",
        "linesOfCode" : 852,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 841,
      "startLine" : 920,
      "endLine" : 926,
      "cleanedStartLine" : 715,
      "cleanedEndLine" : 721
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "utils.py",
        "extension" : "py",
        "linesOfCode" : 852,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 841,
      "startLine" : 542,
      "endLine" : 548,
      "cleanedStartLine" : 418,
      "cleanedEndLine" : 424
    }, {
      "file" : {
        "relativePath" : "utils.py",
        "extension" : "py",
        "linesOfCode" : 852,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 841,
      "startLine" : 592,
      "endLine" : 598,
      "cleanedStartLine" : 461,
      "cleanedEndLine" : 467
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 267,
      "endLine" : 274,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 199
    }, {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 547,
      "endLine" : 554,
      "cleanedStartLine" : 400,
      "cleanedEndLine" : 406
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "fid.py",
        "extension" : "py",
        "linesOfCode" : 182,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 169,
      "startLine" : 281,
      "endLine" : 287,
      "cleanedStartLine" : 160,
      "cleanedEndLine" : 166
    }, {
      "file" : {
        "relativePath" : "inception.py",
        "extension" : "py",
        "linesOfCode" : 84,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 92,
      "endLine" : 98,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 64
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "fid.py",
        "extension" : "py",
        "linesOfCode" : 182,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 169,
      "startLine" : 73,
      "endLine" : 79,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "inception.py",
        "extension" : "py",
        "linesOfCode" : 84,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 92,
      "endLine" : 98,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 64
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 355,
      "endLine" : 362,
      "cleanedStartLine" : 257,
      "cleanedEndLine" : 263
    }, {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 547,
      "endLine" : 554,
      "cleanedStartLine" : 400,
      "cleanedEndLine" : 406
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "utils.py",
        "extension" : "py",
        "linesOfCode" : 852,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 841,
      "startLine" : 412,
      "endLine" : 417,
      "cleanedStartLine" : 308,
      "cleanedEndLine" : 313
    }, {
      "file" : {
        "relativePath" : "utils.py",
        "extension" : "py",
        "linesOfCode" : 852,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 841,
      "startLine" : 434,
      "endLine" : 439,
      "cleanedStartLine" : 329,
      "cleanedEndLine" : 334
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "data.py",
        "extension" : "py",
        "linesOfCode" : 430,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 246,
      "endLine" : 252,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    }, {
      "file" : {
        "relativePath" : "data.py",
        "extension" : "py",
        "linesOfCode" : 430,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 300,
      "endLine" : 306,
      "cleanedStartLine" : 217,
      "cleanedEndLine" : 222
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 341,
      "endLine" : 349,
      "cleanedStartLine" : 249,
      "cleanedEndLine" : 254
    }, {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 437,
      "endLine" : 444,
      "cleanedStartLine" : 319,
      "cleanedEndLine" : 324
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "data.py",
        "extension" : "py",
        "linesOfCode" : 430,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 295,
      "endLine" : 301,
      "cleanedStartLine" : 213,
      "cleanedEndLine" : 218
    }, {
      "file" : {
        "relativePath" : "data.py",
        "extension" : "py",
        "linesOfCode" : 430,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 327,
      "endLine" : 333,
      "cleanedStartLine" : 236,
      "cleanedEndLine" : 241
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 437,
      "endLine" : 444,
      "cleanedStartLine" : 319,
      "cleanedEndLine" : 324
    }, {
      "file" : {
        "relativePath" : "models.py",
        "extension" : "py",
        "linesOfCode" : 460,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 531,
      "endLine" : 539,
      "cleanedStartLine" : 392,
      "cleanedEndLine" : 397
    } ]
  } ],
  "overallDuplication" : null
}