{
  "title" : "Duplication",
  "timestamp" : "2026-01-18 16:42:18",
  "duplicates" : [ {
    "blockSize" : 49,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/commonTest/kotlin/org/intellij/markdown/CommonMarkSpecTest.kt",
        "extension" : "kt",
        "linesOfCode" : 3371,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3368,
      "startLine" : 7,
      "endLine" : 64,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "src/commonTest/kotlin/org/intellij/markdown/GfmSpecTest.kt",
        "extension" : "kt",
        "linesOfCode" : 3484,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3481,
      "startLine" : 7,
      "endLine" : 64,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 46,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/flavours/gfm/lexer/gfm.flex",
        "extension" : "flex",
        "linesOfCode" : 314,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 314,
      "startLine" : 29,
      "endLine" : 83,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/lexer/markdown.flex",
        "extension" : "flex",
        "linesOfCode" : 228,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 228,
      "startLine" : 26,
      "endLine" : 80,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 62
    } ]
  }, {
    "blockSize" : 40,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/flavours/gfm/lexer/gfm.flex",
        "extension" : "flex",
        "linesOfCode" : 314,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 314,
      "startLine" : 87,
      "endLine" : 137,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 106
    }, {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/lexer/markdown.flex",
        "extension" : "flex",
        "linesOfCode" : 228,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 228,
      "startLine" : 84,
      "endLine" : 134,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 24,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/flavours/gfm/lexer/gfm.flex",
        "extension" : "flex",
        "linesOfCode" : 314,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 314,
      "startLine" : 213,
      "endLine" : 241,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 193
    }, {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/lexer/markdown.flex",
        "extension" : "flex",
        "linesOfCode" : 228,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 228,
      "startLine" : 156,
      "endLine" : 184,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 145
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/flavours/gfm/lexer/gfm.flex",
        "extension" : "flex",
        "linesOfCode" : 314,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 314,
      "startLine" : 331,
      "endLine" : 354,
      "cleanedStartLine" : 261,
      "cleanedEndLine" : 281
    }, {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/lexer/markdown.flex",
        "extension" : "flex",
        "linesOfCode" : 228,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 228,
      "startLine" : 246,
      "endLine" : 270,
      "cleanedStartLine" : 188,
      "cleanedEndLine" : 208
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/flavours/gfm/lexer/gfm.flex",
        "extension" : "flex",
        "linesOfCode" : 314,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 314,
      "startLine" : 139,
      "endLine" : 155,
      "cleanedStartLine" : 108,
      "cleanedEndLine" : 122
    }, {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/lexer/markdown.flex",
        "extension" : "flex",
        "linesOfCode" : 228,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 228,
      "startLine" : 136,
      "endLine" : 152,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 120
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/flavours/gfm/lexer/gfm.flex",
        "extension" : "flex",
        "linesOfCode" : 314,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 314,
      "startLine" : 251,
      "endLine" : 271,
      "cleanedStartLine" : 200,
      "cleanedEndLine" : 213
    }, {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/lexer/markdown.flex",
        "extension" : "flex",
        "linesOfCode" : 228,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 228,
      "startLine" : 188,
      "endLine" : 209,
      "cleanedStartLine" : 147,
      "cleanedEndLine" : 160
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/flavours/gfm/table/GitHubTableMarkerProvider.kt",
        "extension" : "kt",
        "linesOfCode" : 96,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 66,
      "startLine" : 35,
      "endLine" : 52,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/parser/markerblocks/providers/SetextHeaderProvider.kt",
        "extension" : "kt",
        "linesOfCode" : 44,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 28,
      "endLine" : 46,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/commonTest/kotlin/org/intellij/markdown/CommonMarkSpecTest.kt",
        "extension" : "kt",
        "linesOfCode" : 3371,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3368,
      "startLine" : 66,
      "endLine" : 77,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "src/commonTest/kotlin/org/intellij/markdown/GfmSpecTest.kt",
        "extension" : "kt",
        "linesOfCode" : 3484,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3481,
      "startLine" : 65,
      "endLine" : 76,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 61
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/flavours/gfm/lexer/gfm.flex",
        "extension" : "flex",
        "linesOfCode" : 314,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 314,
      "startLine" : 12,
      "endLine" : 25,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/lexer/markdown.flex",
        "extension" : "flex",
        "linesOfCode" : 228,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 228,
      "startLine" : 11,
      "endLine" : 24,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/jsTest/kotlin/org/intellij/markdown/MarkdownTestUtilJs.kt",
        "extension" : "kt",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "src/wasmJsTest/kotlin/org/intellij/markdown/MarkdownTestUtilJs.kt",
        "extension" : "kt",
        "linesOfCode" : 47,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/jsTest/kotlin/org/intellij/markdown/MarkdownTestUtilJs.kt",
        "extension" : "kt",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 25,
      "endLine" : 40,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "src/wasmJsTest/kotlin/org/intellij/markdown/MarkdownTestUtilJs.kt",
        "extension" : "kt",
        "linesOfCode" : 47,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 25,
      "endLine" : 40,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/flavours/gfm/StrikeThroughDelimiterParser.kt",
        "extension" : "kt",
        "linesOfCode" : 64,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 31,
      "endLine" : 42,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/parser/sequentialparsers/impl/EmphStrongDelimiterParser.kt",
        "extension" : "kt",
        "linesOfCode" : 78,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 33,
      "endLine" : 44,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/parser/sequentialparsers/impl/BacktickParser.kt",
        "extension" : "kt",
        "linesOfCode" : 50,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 23,
      "endLine" : 36,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/parser/sequentialparsers/impl/MathParser.kt",
        "extension" : "kt",
        "linesOfCode" : 42,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 26,
      "endLine" : 39,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/fileBasedTest/kotlin/org/intellij/markdown/HtmlGeneratorCommonTest.kt",
        "extension" : "kt",
        "linesOfCode" : 191,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 110,
      "endLine" : 120,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "src/fileBasedTest/kotlin/org/intellij/markdown/MarkdownParsingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 297,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 228,
      "startLine" : 223,
      "endLine" : 233,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/parser/markerblocks/impl/ListItemMarkerBlock.kt",
        "extension" : "kt",
        "linesOfCode" : 40,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 30,
      "endLine" : 39,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/parser/markerblocks/impl/ListMarkerBlock.kt",
        "extension" : "kt",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 33,
      "endLine" : 42,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/flavours/gfm/lexer/gfm.flex",
        "extension" : "flex",
        "linesOfCode" : 314,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 314,
      "startLine" : 272,
      "endLine" : 279,
      "cleanedStartLine" : 214,
      "cleanedEndLine" : 220
    }, {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/lexer/markdown.flex",
        "extension" : "flex",
        "linesOfCode" : 228,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 228,
      "startLine" : 215,
      "endLine" : 222,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 171
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/flavours/gfm/lexer/gfm.flex",
        "extension" : "flex",
        "linesOfCode" : 314,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 314,
      "startLine" : 389,
      "endLine" : 397,
      "cleanedStartLine" : 308,
      "cleanedEndLine" : 314
    }, {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/lexer/markdown.flex",
        "extension" : "flex",
        "linesOfCode" : 228,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 228,
      "startLine" : 290,
      "endLine" : 298,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/flavours/gfm/lexer/gfm.flex",
        "extension" : "flex",
        "linesOfCode" : 314,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 314,
      "startLine" : 309,
      "endLine" : 316,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 252
    }, {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/lexer/markdown.flex",
        "extension" : "flex",
        "linesOfCode" : 228,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 228,
      "startLine" : 228,
      "endLine" : 235,
      "cleanedStartLine" : 176,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/flavours/commonmark/CommonMarkMarkerProcessor.kt",
        "extension" : "kt",
        "linesOfCode" : 76,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 52,
      "startLine" : 62,
      "endLine" : 68,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/flavours/gfm/GFMMarkerProcessor.kt",
        "extension" : "kt",
        "linesOfCode" : 60,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/flavours/gfm/lexer/gfm.flex",
        "extension" : "flex",
        "linesOfCode" : 314,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 314,
      "startLine" : 370,
      "endLine" : 379,
      "cleanedStartLine" : 294,
      "cleanedEndLine" : 300
    }, {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/lexer/markdown.flex",
        "extension" : "flex",
        "linesOfCode" : 228,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 228,
      "startLine" : 274,
      "endLine" : 283,
      "cleanedStartLine" : 211,
      "cleanedEndLine" : 217
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/html/GeneratingProviders.kt",
        "extension" : "kt",
        "linesOfCode" : 264,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 56,
      "endLine" : 65,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/html/GeneratingProviders.kt",
        "extension" : "kt",
        "linesOfCode" : 264,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 187,
      "startLine" : 75,
      "endLine" : 84,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/nativeMain/kotlin/org/intellij/markdown/html/Url.kt",
        "extension" : "kt",
        "linesOfCode" : 538,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 176,
      "endLine" : 181,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 144
    }, {
      "file" : {
        "relativePath" : "src/nativeMain/kotlin/org/intellij/markdown/html/Url.kt",
        "extension" : "kt",
        "linesOfCode" : 538,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 427,
      "endLine" : 432,
      "cleanedStartLine" : 324,
      "cleanedEndLine" : 329
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/parser/sequentialparsers/impl/InlineLinkParser.kt",
        "extension" : "kt",
        "linesOfCode" : 66,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 11,
      "endLine" : 17,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/parser/sequentialparsers/impl/ReferenceLinkParser.kt",
        "extension" : "kt",
        "linesOfCode" : 69,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 11,
      "endLine" : 17,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 245,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 185,
      "endLine" : 190,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 245,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 203,
      "endLine" : 208,
      "cleanedStartLine" : 140,
      "cleanedEndLine" : 145
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/nativeMain/kotlin/org/intellij/markdown/html/Url.kt",
        "extension" : "kt",
        "linesOfCode" : 538,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 177,
      "endLine" : 182,
      "cleanedStartLine" : 140,
      "cleanedEndLine" : 145
    }, {
      "file" : {
        "relativePath" : "src/nativeMain/kotlin/org/intellij/markdown/html/Url.kt",
        "extension" : "kt",
        "linesOfCode" : 538,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 379,
      "endLine" : 384,
      "cleanedStartLine" : 289,
      "cleanedEndLine" : 294
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/parser/markerblocks/impl/AtxHeaderMarkerBlock.kt",
        "extension" : "kt",
        "linesOfCode" : 72,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 67,
      "endLine" : 76,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/parser/markerblocks/impl/ParagraphMarkerBlock.kt",
        "extension" : "kt",
        "linesOfCode" : 48,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 24,
      "endLine" : 33,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/parser/markerblocks/impl/ListItemMarkerBlock.kt",
        "extension" : "kt",
        "linesOfCode" : 40,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 17,
      "endLine" : 26,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "src/commonMain/kotlin/org/intellij/markdown/parser/markerblocks/impl/ListMarkerBlock.kt",
        "extension" : "kt",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 19,
      "endLine" : 28,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  } ],
  "overallDuplication" : null
}