{
  "title" : "Duplication",
  "timestamp" : "2026-01-18 17:03:11",
  "duplicates" : [ {
    "blockSize" : 47,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/cpp/RiderLink/Source/RD/src/rd_core_cpp/src/main/reactive/ViewableList.h",
        "extension" : "h",
        "linesOfCode" : 260,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 145,
      "startLine" : 57,
      "endLine" : 160,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "src/cpp/RiderLink/Source/RD/src/rd_core_cpp/src/main/reactive/ViewableSet.h",
        "extension" : "h",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 50,
      "endLine" : 153,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 62
    } ]
  }, {
    "blockSize" : 47,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/cpp/RiderLink/Source/RD/src/rd_core_cpp/src/main/reactive/ViewableMap.h",
        "extension" : "h",
        "linesOfCode" : 260,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 58,
      "endLine" : 163,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 63
    }, {
      "file" : {
        "relativePath" : "src/cpp/RiderLink/Source/RD/src/rd_core_cpp/src/main/reactive/ViewableSet.h",
        "extension" : "h",
        "linesOfCode" : 210,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 52,
      "endLine" : 156,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 63
    } ]
  }, {
    "blockSize" : 46,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/cpp/RiderLink/Source/RD/src/rd_core_cpp/src/main/reactive/ViewableList.h",
        "extension" : "h",
        "linesOfCode" : 260,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 145,
      "startLine" : 59,
      "endLine" : 160,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "src/cpp/RiderLink/Source/RD/src/rd_core_cpp/src/main/reactive/ViewableMap.h",
        "extension" : "h",
        "linesOfCode" : 260,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 58,
      "endLine" : 160,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 62
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "protocol/src/main/kotlin/model/editorPlugin/RdEditorModel.kt",
        "extension" : "kt",
        "linesOfCode" : 42,
        "components" : [ "primary::protocol" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 37,
      "endLine" : 47,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "protocol/src/main/kotlin/model/rider/RdRiderModel.kt",
        "extension" : "kt",
        "linesOfCode" : 101,
        "components" : [ "primary::protocol" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 84,
      "startLine" : 101,
      "endLine" : 111,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 72
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/cpp/RiderLink/Source/RiderGameControl/RiderGameControl.Build.cs",
        "extension" : "cs",
        "linesOfCode" : 28,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 7,
      "endLine" : 19,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "src/cpp/RiderLink/Source/RiderLink/RiderLink.Build.cs",
        "extension" : "cs",
        "linesOfCode" : 28,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 8,
      "endLine" : 20,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/cpp/RiderLink/Source/RiderBlueprint/RiderBlueprint.Build.cs",
        "extension" : "cs",
        "linesOfCode" : 30,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 7,
      "endLine" : 17,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "src/cpp/RiderLink/Source/RiderGameControl/RiderGameControl.Build.cs",
        "extension" : "cs",
        "linesOfCode" : 28,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 7,
      "endLine" : 17,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/dotnet/RiderPlugin.UnrealLink/PluginInstaller/UnrealPluginInstaller.cs",
        "extension" : "cs",
        "linesOfCode" : 662,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 327,
      "endLine" : 339,
      "cleanedStartLine" : 181,
      "cleanedEndLine" : 189
    }, {
      "file" : {
        "relativePath" : "src/dotnet/RiderPlugin.UnrealLink/PluginInstaller/UnrealPluginInstaller.cs",
        "extension" : "cs",
        "linesOfCode" : 662,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 452,
      "endLine" : 463,
      "cleanedStartLine" : 260,
      "cleanedEndLine" : 268
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/cpp/RiderLink/Source/RiderLC/RiderLC.Build.cs",
        "extension" : "cs",
        "linesOfCode" : 31,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 7,
      "endLine" : 17,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "src/cpp/RiderLink/Source/RiderLink/RiderLink.Build.cs",
        "extension" : "cs",
        "linesOfCode" : 28,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 8,
      "endLine" : 18,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/cpp/RiderLink/Source/RiderGameControl/RiderGameControl.Build.cs",
        "extension" : "cs",
        "linesOfCode" : 28,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 7,
      "endLine" : 17,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "src/cpp/RiderLink/Source/RiderLC/RiderLC.Build.cs",
        "extension" : "cs",
        "linesOfCode" : 31,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 7,
      "endLine" : 17,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/cpp/RiderLink/Source/RiderBlueprint/RiderBlueprint.Build.cs",
        "extension" : "cs",
        "linesOfCode" : 30,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 7,
      "endLine" : 17,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "src/cpp/RiderLink/Source/RiderLink/RiderLink.Build.cs",
        "extension" : "cs",
        "linesOfCode" : 28,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 8,
      "endLine" : 18,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/cpp/RiderLink/Source/RiderBlueprint/RiderBlueprint.Build.cs",
        "extension" : "cs",
        "linesOfCode" : 30,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 7,
      "endLine" : 17,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "src/cpp/RiderLink/Source/RiderLC/RiderLC.Build.cs",
        "extension" : "cs",
        "linesOfCode" : 31,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 7,
      "endLine" : 17,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/rider/main/kotlin/com/jetbrains/rider/plugins/unreal/actions/InstallActions.kt",
        "extension" : "kt",
        "linesOfCode" : 97,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 19,
      "endLine" : 29,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "src/rider/main/kotlin/com/jetbrains/rider/plugins/unreal/actions/InstallActions.kt",
        "extension" : "kt",
        "linesOfCode" : 97,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 40,
      "endLine" : 50,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/rider/main/kotlin/com/jetbrains/rider/plugins/unreal/actions/InstallActions.kt",
        "extension" : "kt",
        "linesOfCode" : 97,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 40,
      "endLine" : 50,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "src/rider/main/kotlin/com/jetbrains/rider/plugins/unreal/actions/InstallActions.kt",
        "extension" : "kt",
        "linesOfCode" : 97,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 82,
      "endLine" : 92,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/cpp/RiderLink/Source/RiderDebuggerSupport/RiderDebuggerSupport.Build.cs",
        "extension" : "cs",
        "linesOfCode" : 23,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 7,
      "endLine" : 15,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "src/cpp/RiderLink/Source/RiderShaderInfo/RiderShaderInfo.Build.cs",
        "extension" : "cs",
        "linesOfCode" : 16,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 7,
      "endLine" : 15,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/rider/main/kotlin/com/jetbrains/rider/plugins/unreal/actions/InstallActions.kt",
        "extension" : "kt",
        "linesOfCode" : 97,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 19,
      "endLine" : 29,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "src/rider/main/kotlin/com/jetbrains/rider/plugins/unreal/actions/InstallActions.kt",
        "extension" : "kt",
        "linesOfCode" : 97,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 82,
      "endLine" : 92,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/rider/main/kotlin/com/jetbrains/rider/plugins/unreal/actions/HotReloadBuildAction.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 13,
      "endLine" : 20,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "src/rider/main/kotlin/com/jetbrains/rider/plugins/unreal/actions/PlayActions.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 196,
      "endLine" : 203,
      "cleanedStartLine" : 115,
      "cleanedEndLine" : 121
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/rider/main/kotlin/com/jetbrains/rider/plugins/unreal/actions/InstallActions.kt",
        "extension" : "kt",
        "linesOfCode" : 97,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "src/rider/main/kotlin/com/jetbrains/rider/plugins/unreal/actions/InstallActions.kt",
        "extension" : "kt",
        "linesOfCode" : 97,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 61,
      "endLine" : 70,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/rider/main/kotlin/com/jetbrains/rider/plugins/unreal/actions/InstallActions.kt",
        "extension" : "kt",
        "linesOfCode" : 97,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 61,
      "endLine" : 70,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "src/rider/main/kotlin/com/jetbrains/rider/plugins/unreal/actions/InstallActions.kt",
        "extension" : "kt",
        "linesOfCode" : 97,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 82,
      "endLine" : 91,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 56
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/rider/main/kotlin/com/jetbrains/rider/plugins/unreal/actions/InstallActions.kt",
        "extension" : "kt",
        "linesOfCode" : 97,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 19,
      "endLine" : 28,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "src/rider/main/kotlin/com/jetbrains/rider/plugins/unreal/actions/InstallActions.kt",
        "extension" : "kt",
        "linesOfCode" : 97,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 61,
      "endLine" : 70,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/rider/main/kotlin/com/jetbrains/rider/plugins/unreal/actions/HotReloadBuildAction.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 15,
      "endLine" : 20,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "src/rider/main/kotlin/com/jetbrains/rider/plugins/unreal/actions/PlaySettingsActions.kt",
        "extension" : "kt",
        "linesOfCode" : 280,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 70,
      "endLine" : 76,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/rider/main/kotlin/com/jetbrains/rider/plugins/unreal/actions/PlayActions.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 198,
      "endLine" : 203,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 121
    }, {
      "file" : {
        "relativePath" : "src/rider/main/kotlin/com/jetbrains/rider/plugins/unreal/actions/PlaySettingsActions.kt",
        "extension" : "kt",
        "linesOfCode" : 280,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 70,
      "endLine" : 76,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/cpp/RiderLink/Source/RD/src/rd_framework_cpp/src/main/impl/RdSignal.h",
        "extension" : "h",
        "linesOfCode" : 109,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 65,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "src/cpp/RiderLink/Source/RD/src/rd_framework_cpp/src/main/task/RdCall.h",
        "extension" : "h",
        "linesOfCode" : 115,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 49,
      "endLine" : 59,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/dotnet/RiderPlugin.UnrealLink/PluginInstaller/UnrealPluginInstaller.cs",
        "extension" : "cs",
        "linesOfCode" : 662,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 327,
      "endLine" : 334,
      "cleanedStartLine" : 181,
      "cleanedEndLine" : 186
    }, {
      "file" : {
        "relativePath" : "src/dotnet/RiderPlugin.UnrealLink/PluginInstaller/UnrealPluginInstaller.cs",
        "extension" : "cs",
        "linesOfCode" : 662,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 627,
      "endLine" : 634,
      "cleanedStartLine" : 379,
      "cleanedEndLine" : 384
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/dotnet/RiderPlugin.UnrealLink/PluginInstaller/UnrealPluginInstaller.cs",
        "extension" : "cs",
        "linesOfCode" : 662,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 452,
      "endLine" : 459,
      "cleanedStartLine" : 260,
      "cleanedEndLine" : 265
    }, {
      "file" : {
        "relativePath" : "src/dotnet/RiderPlugin.UnrealLink/PluginInstaller/UnrealPluginInstaller.cs",
        "extension" : "cs",
        "linesOfCode" : 662,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 627,
      "endLine" : 634,
      "cleanedStartLine" : 379,
      "cleanedEndLine" : 384
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/cpp/RiderLink/Source/RD/src/rd_framework_cpp/src/main/protocol/Buffer.h",
        "extension" : "h",
        "linesOfCode" : 246,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 267,
      "endLine" : 278,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 130
    }, {
      "file" : {
        "relativePath" : "src/cpp/RiderLink/Source/RD/src/rd_framework_cpp/src/main/protocol/Buffer.h",
        "extension" : "h",
        "linesOfCode" : 246,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 281,
      "endLine" : 292,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/cpp/RiderLink/Source/RiderDebuggerSupport/RiderDebuggerSupport.Build.cs",
        "extension" : "cs",
        "linesOfCode" : 23,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 7,
      "endLine" : 13,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "src/cpp/RiderLink/Source/RiderLogging/RiderLogging.Build.cs",
        "extension" : "cs",
        "linesOfCode" : 32,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 7,
      "endLine" : 13,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/rider/main/kotlin/com/jetbrains/rider/plugins/unreal/actions/PlaySettingsActions.kt",
        "extension" : "kt",
        "linesOfCode" : 280,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 127,
      "endLine" : 135,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "src/rider/main/kotlin/com/jetbrains/rider/plugins/unreal/actions/PlaySettingsActions.kt",
        "extension" : "kt",
        "linesOfCode" : 280,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 141,
      "endLine" : 149,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/cpp/RiderLink/Source/RiderLogging/RiderLogging.Build.cs",
        "extension" : "cs",
        "linesOfCode" : 32,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 7,
      "endLine" : 13,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "src/cpp/RiderLink/Source/RiderShaderInfo/RiderShaderInfo.Build.cs",
        "extension" : "cs",
        "linesOfCode" : 16,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 7,
      "endLine" : 13,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    } ]
  } ],
  "overallDuplication" : null
}