{
  "title" : "Duplication",
  "timestamp" : "2026-01-18 17:31:22",
  "duplicates" : [ {
    "blockSize" : 82,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.Web/Components/Layout/NavMenu.razor.css",
        "extension" : "css",
        "linesOfCode" : 82,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 102,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.Web/Components/Layout/NavMenu.razor.css",
        "extension" : "css",
        "linesOfCode" : 82,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 102,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 82
    } ]
  }, {
    "blockSize" : 82,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.Web/Components/Layout/NavMenu.razor.css",
        "extension" : "css",
        "linesOfCode" : 82,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 102,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.Web/Components/Layout/NavMenu.razor.css",
        "extension" : "css",
        "linesOfCode" : 82,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 102,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 82
    } ]
  }, {
    "blockSize" : 82,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.Web/Components/Layout/NavMenu.razor.css",
        "extension" : "css",
        "linesOfCode" : 82,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 102,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.Web/Components/Layout/NavMenu.razor.css",
        "extension" : "css",
        "linesOfCode" : 82,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 102,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 82
    } ]
  }, {
    "blockSize" : 81,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.Web/Components/Layout/MainLayout.razor.css",
        "extension" : "css",
        "linesOfCode" : 81,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 1,
      "endLine" : 96,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 81
    }, {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.Web/Components/Layout/MainLayout.razor.css",
        "extension" : "css",
        "linesOfCode" : 81,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 1,
      "endLine" : 96,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 81,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.Web/Components/Layout/MainLayout.razor.css",
        "extension" : "css",
        "linesOfCode" : 81,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 1,
      "endLine" : 96,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 81
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.Web/Components/Layout/MainLayout.razor.css",
        "extension" : "css",
        "linesOfCode" : 81,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 1,
      "endLine" : 96,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 81,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.Web/Components/Layout/MainLayout.razor.css",
        "extension" : "css",
        "linesOfCode" : 81,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 1,
      "endLine" : 96,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 81
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.Web/Components/Layout/MainLayout.razor.css",
        "extension" : "css",
        "linesOfCode" : 81,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 1,
      "endLine" : 96,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 53,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.ServiceDefaults/Extensions.cs",
        "extension" : "cs",
        "linesOfCode" : 84,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 16,
      "endLine" : 128,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.ServiceDefaults/Extensions.cs",
        "extension" : "cs",
        "linesOfCode" : 84,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 16,
      "endLine" : 128,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 53,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.ServiceDefaults/Extensions.cs",
        "extension" : "cs",
        "linesOfCode" : 84,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 16,
      "endLine" : 128,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.ServiceDefaults/Extensions.cs",
        "extension" : "cs",
        "linesOfCode" : 84,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 16,
      "endLine" : 128,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 53,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.ServiceDefaults/Extensions.cs",
        "extension" : "cs",
        "linesOfCode" : 84,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 16,
      "endLine" : 128,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.ServiceDefaults/Extensions.cs",
        "extension" : "cs",
        "linesOfCode" : 84,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 16,
      "endLine" : 128,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 38,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.Web/Components/Pages/Weather.razor",
        "extension" : "razor",
        "linesOfCode" : 44,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 52,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.Web/Components/Pages/Weather.razor",
        "extension" : "razor",
        "linesOfCode" : 44,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 52,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 38,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.Web/Components/Pages/Weather.razor",
        "extension" : "razor",
        "linesOfCode" : 44,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 52,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.Web/Components/Pages/Weather.razor",
        "extension" : "razor",
        "linesOfCode" : 44,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 52,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 38,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.Web/Components/Pages/Weather.razor",
        "extension" : "razor",
        "linesOfCode" : 44,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 52,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.Web/Components/Pages/Weather.razor",
        "extension" : "razor",
        "linesOfCode" : 44,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 1,
      "endLine" : 52,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.ApiService/Program.cs",
        "extension" : "cs",
        "linesOfCode" : 32,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 47,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.ApiService/Program.cs",
        "extension" : "cs",
        "linesOfCode" : 32,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 47,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.ApiService/Program.cs",
        "extension" : "cs",
        "linesOfCode" : 32,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 47,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.ApiService/Program.cs",
        "extension" : "cs",
        "linesOfCode" : 32,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 47,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.Web/Components/Pages/Error.razor",
        "extension" : "razor",
        "linesOfCode" : 30,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 38,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.Web/Components/Pages/Error.razor",
        "extension" : "razor",
        "linesOfCode" : 30,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 38,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.ApiService/Program.cs",
        "extension" : "cs",
        "linesOfCode" : 32,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 47,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.ApiService/Program.cs",
        "extension" : "cs",
        "linesOfCode" : 32,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 47,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.Web/Components/Pages/Error.razor",
        "extension" : "razor",
        "linesOfCode" : 30,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 38,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.Web/Components/Pages/Error.razor",
        "extension" : "razor",
        "linesOfCode" : 30,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 38,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.Web/Components/Pages/Error.razor",
        "extension" : "razor",
        "linesOfCode" : 30,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 38,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.Web/Components/Pages/Error.razor",
        "extension" : "razor",
        "linesOfCode" : 30,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 38,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.Web/Program.cs",
        "extension" : "cs",
        "linesOfCode" : 25,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 4,
      "endLine" : 44,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.Web/Program.cs",
        "extension" : "cs",
        "linesOfCode" : 25,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 4,
      "endLine" : 44,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.Web/Program.cs",
        "extension" : "cs",
        "linesOfCode" : 25,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 4,
      "endLine" : 44,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.Web/Program.cs",
        "extension" : "cs",
        "linesOfCode" : 25,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 4,
      "endLine" : 44,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.Web/Program.cs",
        "extension" : "cs",
        "linesOfCode" : 25,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 4,
      "endLine" : 44,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.Web/Program.cs",
        "extension" : "cs",
        "linesOfCode" : 25,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 4,
      "endLine" : 44,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/executableLibrary/ExecutableLibrarySessionRunProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 14,
      "endLine" : 32,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostProjectSessionRunProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 14,
      "endLine" : 32,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectSessionRunProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 14,
      "endLine" : 32,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostProjectSessionRunProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 14,
      "endLine" : 32,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectSessionDebugProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 14,
      "endLine" : 32,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/executableLibrary/ExecutableLibrarySessionDebugProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 14,
      "endLine" : 32,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectSessionRunProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 14,
      "endLine" : 32,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/executableLibrary/ExecutableLibrarySessionRunProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 14,
      "endLine" : 32,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/file/AspireFileConfigurationParameters.kt",
        "extension" : "kt",
        "linesOfCode" : 128,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 105,
      "startLine" : 96,
      "endLine" : 115,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfigurationParameters.kt",
        "extension" : "kt",
        "linesOfCode" : 175,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 119,
      "endLine" : 138,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 69,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 39,
      "endLine" : 56,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/executableLibrary/ExecutableLibrarySessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 98,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 86,
      "endLine" : 103,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/executableLibrary/ExecutableLibrarySessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 98,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 86,
      "endLine" : 103,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostProjectSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 98,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 60,
      "endLine" : 77,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/states/AspireHostDebugProfileState.kt",
        "extension" : "kt",
        "linesOfCode" : 51,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 33,
      "endLine" : 50,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/projectLaunchers/DotNetSessionDebugProfileState.kt",
        "extension" : "kt",
        "linesOfCode" : 79,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 46,
      "endLine" : 63,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 69,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 39,
      "endLine" : 56,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostProjectSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 98,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 60,
      "endLine" : 77,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "diagram/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::diagram" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 25,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "docker/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 25,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "database/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::database" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 25,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "diagram/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::diagram" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 25,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "database/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::database" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 25,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "rider/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 27,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 1,
      "endLine" : 25,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/orchestration/AspireAppHostModificationService.kt",
        "extension" : "kt",
        "linesOfCode" : 141,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 154,
      "endLine" : 170,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/orchestration/AspireServiceDefaultsModificationService.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 108,
      "startLine" : 170,
      "endLine" : 186,
      "cleanedStartLine" : 93,
      "cleanedEndLine" : 108
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "database/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::database" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 25,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "docker/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 25,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "diagram/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::diagram" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 25,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "rider/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 27,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 1,
      "endLine" : 25,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 1,
      "endLine" : 25,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "rider/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 27,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 1,
      "endLine" : 25,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.Web/WeatherApiClient.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 31,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.Web/WeatherApiClient.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 31,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.Web/WeatherApiClient.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 31,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.Web/WeatherApiClient.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 31,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 91,
      "endLine" : 104,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 113,
      "endLine" : 126,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/file/AspireFileConfigurationSettingsEditor.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 42,
      "endLine" : 55,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfigurationSettingsEditor.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 53,
      "endLine" : 66,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.Web/WeatherApiClient.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 31,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.Web/WeatherApiClient.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 31,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.Web/Components/Pages/Counter.razor",
        "extension" : "razor",
        "linesOfCode" : 13,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.Web/Components/Pages/Counter.razor",
        "extension" : "razor",
        "linesOfCode" : 13,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.Web/Components/Layout/MainLayout.razor",
        "extension" : "razor",
        "linesOfCode" : 19,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.Web/Components/Layout/MainLayout.razor",
        "extension" : "razor",
        "linesOfCode" : 19,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.Web/Components/Pages/Counter.razor",
        "extension" : "razor",
        "linesOfCode" : 13,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.Web/Components/Pages/Counter.razor",
        "extension" : "razor",
        "linesOfCode" : 13,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/file/AspireFileConfigurationParameters.kt",
        "extension" : "kt",
        "linesOfCode" : 128,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 105,
      "startLine" : 25,
      "endLine" : 37,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfigurationParameters.kt",
        "extension" : "kt",
        "linesOfCode" : 175,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 31,
      "endLine" : 43,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.Web/Components/Pages/Counter.razor",
        "extension" : "razor",
        "linesOfCode" : 13,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.Web/Components/Pages/Counter.razor",
        "extension" : "razor",
        "linesOfCode" : 13,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.Web/Components/Layout/MainLayout.razor",
        "extension" : "razor",
        "linesOfCode" : 19,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.Web/Components/Layout/MainLayout.razor",
        "extension" : "razor",
        "linesOfCode" : 19,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.Web/Components/Layout/MainLayout.razor",
        "extension" : "razor",
        "linesOfCode" : 19,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.Web/Components/Layout/MainLayout.razor",
        "extension" : "razor",
        "linesOfCode" : 19,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.Web/Components/Layout/NavMenu.razor",
        "extension" : "razor",
        "linesOfCode" : 25,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 7,
      "endLine" : 25,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.Web/Components/Layout/NavMenu.razor",
        "extension" : "razor",
        "linesOfCode" : 25,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 7,
      "endLine" : 25,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfigurationParameters.kt",
        "extension" : "kt",
        "linesOfCode" : 175,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 156,
      "endLine" : 167,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfigurationSettingsEditor.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 96,
      "endLine" : 107,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.Web/Components/Layout/NavMenu.razor",
        "extension" : "razor",
        "linesOfCode" : 25,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 7,
      "endLine" : 25,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.Web/Components/Layout/NavMenu.razor",
        "extension" : "razor",
        "linesOfCode" : 25,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 7,
      "endLine" : 25,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.Web/Components/Layout/NavMenu.razor",
        "extension" : "razor",
        "linesOfCode" : 25,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 7,
      "endLine" : 25,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.Web/Components/Layout/NavMenu.razor",
        "extension" : "razor",
        "linesOfCode" : 25,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 7,
      "endLine" : 25,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/file/AspireFileConfigurationParameters.kt",
        "extension" : "kt",
        "linesOfCode" : 128,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 105,
      "startLine" : 133,
      "endLine" : 144,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 105
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfigurationParameters.kt",
        "extension" : "kt",
        "linesOfCode" : 175,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 158,
      "endLine" : 169,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 122
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetStartSessionRequestHandler.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 250,
      "endLine" : 261,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 160
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetStartSessionRequestHandler.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 275,
      "endLine" : 286,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 181
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 69,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 62,
      "endLine" : 73,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostProjectSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 98,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 84,
      "endLine" : 95,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 60
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 228,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 169,
      "startLine" : 42,
      "endLine" : 60,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "rider/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 27,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 10,
      "endLine" : 25,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 228,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 169,
      "startLine" : 42,
      "endLine" : 60,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "database/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::database" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 10,
      "endLine" : 25,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 228,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 169,
      "startLine" : 42,
      "endLine" : 60,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "diagram/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::diagram" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 10,
      "endLine" : 25,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 228,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 169,
      "startLine" : 42,
      "endLine" : 60,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "docker/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 10,
      "endLine" : 25,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 231,
      "endLine" : 241,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 165
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 361,
      "endLine" : 371,
      "cleanedStartLine" : 240,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 72,
      "endLine" : 81,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 231,
      "endLine" : 240,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 164
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 158,
      "endLine" : 167,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 116
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 280,
      "endLine" : 289,
      "cleanedStartLine" : 188,
      "cleanedEndLine" : 197
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 72,
      "endLine" : 81,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 361,
      "endLine" : 370,
      "cleanedStartLine" : 240,
      "cleanedEndLine" : 249
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/file/AspireFileConfigurationViewModel.kt",
        "extension" : "kt",
        "linesOfCode" : 58,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 21,
      "endLine" : 31,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfigurationViewModel.kt",
        "extension" : "kt",
        "linesOfCode" : 372,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 33,
      "endLine" : 43,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 194,
      "endLine" : 203,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 259,
      "endLine" : 268,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 183
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/file/AspireFileConfigurationParameters.kt",
        "extension" : "kt",
        "linesOfCode" : 128,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 105,
      "startLine" : 133,
      "endLine" : 142,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfigurationSettingsEditor.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 98,
      "endLine" : 107,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 195,
      "endLine" : 203,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 363,
      "endLine" : 371,
      "cleanedStartLine" : 242,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/file/AspireFileConfigurationParameters.kt",
        "extension" : "kt",
        "linesOfCode" : 128,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 105,
      "startLine" : 39,
      "endLine" : 47,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfigurationParameters.kt",
        "extension" : "kt",
        "linesOfCode" : 175,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 46,
      "endLine" : 54,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetProjectSessionExecutableFactory.kt",
        "extension" : "kt",
        "linesOfCode" : 212,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 115,
      "endLine" : 123,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetProjectSessionExecutableFactory.kt",
        "extension" : "kt",
        "linesOfCode" : 212,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 169,
      "endLine" : 177,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 120
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 4,
      "endLine" : 20,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "database/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::database" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 19,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 4,
      "endLine" : 20,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "rider/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 27,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 19,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 4,
      "endLine" : 20,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "diagram/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::diagram" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 19,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/dotnet/AspireWorkerIntegrationTests/SessionEndpointTests.cs",
        "extension" : "cs",
        "linesOfCode" : 170,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 140,
      "startLine" : 36,
      "endLine" : 46,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "src/dotnet/AspireWorkerIntegrationTests/SessionEndpointTests.cs",
        "extension" : "cs",
        "linesOfCode" : 170,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 140,
      "startLine" : 72,
      "endLine" : 82,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 118,
      "endLine" : 126,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 89
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 260,
      "endLine" : 268,
      "cleanedStartLine" : 175,
      "cleanedEndLine" : 183
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 118,
      "endLine" : 126,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 89
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 195,
      "endLine" : 203,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 96,
      "endLine" : 104,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 260,
      "endLine" : 268,
      "cleanedStartLine" : 175,
      "cleanedEndLine" : 183
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/runners/AspireHostDebugProgramRunner.kt",
        "extension" : "kt",
        "linesOfCode" : 65,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 36,
      "endLine" : 44,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostProjectSessionDebugProgramRunner.kt",
        "extension" : "kt",
        "linesOfCode" : 81,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 61,
      "endLine" : 69,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 118,
      "endLine" : 126,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 89
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 233,
      "endLine" : 241,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 165
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 96,
      "endLine" : 104,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 233,
      "endLine" : 241,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 165
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.Web/Components/_Imports.razor",
        "extension" : "razor",
        "linesOfCode" : 11,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.Web/Components/_Imports.razor",
        "extension" : "razor",
        "linesOfCode" : 11,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.Web/Components/_Imports.razor",
        "extension" : "razor",
        "linesOfCode" : 11,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.Web/Components/_Imports.razor",
        "extension" : "razor",
        "linesOfCode" : 11,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 96,
      "endLine" : 104,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 195,
      "endLine" : 203,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.Web/Components/_Imports.razor",
        "extension" : "razor",
        "linesOfCode" : 11,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.Web/Components/_Imports.razor",
        "extension" : "razor",
        "linesOfCode" : 11,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/file/AspireFileConfigurationParameters.kt",
        "extension" : "kt",
        "linesOfCode" : 128,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 105,
      "startLine" : 82,
      "endLine" : 90,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfigurationParameters.kt",
        "extension" : "kt",
        "linesOfCode" : 175,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 100,
      "endLine" : 108,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/dotnet/AspireWorkerIntegrationTests/SessionEndpointTests.cs",
        "extension" : "cs",
        "linesOfCode" : 170,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 140,
      "startLine" : 112,
      "endLine" : 122,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "src/dotnet/AspireWorkerIntegrationTests/SessionEndpointTests.cs",
        "extension" : "cs",
        "linesOfCode" : 170,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 140,
      "startLine" : 135,
      "endLine" : 145,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 100
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/file/AspireFileConfigurationSettingsEditor.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 32,
      "endLine" : 40,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfigurationSettingsEditor.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 43,
      "endLine" : 51,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 118,
      "endLine" : 126,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 89
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 363,
      "endLine" : 371,
      "cleanedStartLine" : 242,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 96,
      "endLine" : 104,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 363,
      "endLine" : 371,
      "cleanedStartLine" : 242,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/file/AspireFileConfiguration.kt",
        "extension" : "kt",
        "linesOfCode" : 43,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 23,
      "endLine" : 37,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfiguration.kt",
        "extension" : "kt",
        "linesOfCode" : 48,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 24,
      "endLine" : 38,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 260,
      "endLine" : 268,
      "cleanedStartLine" : 175,
      "cleanedEndLine" : 183
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 363,
      "endLine" : 371,
      "cleanedStartLine" : 242,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 195,
      "endLine" : 203,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 233,
      "endLine" : 241,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 165
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 233,
      "endLine" : 241,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 165
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 260,
      "endLine" : 268,
      "cleanedStartLine" : 175,
      "cleanedEndLine" : 183
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 4,
      "endLine" : 20,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "docker/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 19,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 69,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 39,
      "endLine" : 46,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/executableLibrary/ExecutableLibrarySessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 98,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 105,
      "endLine" : 112,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 67
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 69,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 30,
      "endLine" : 37,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/executableLibrary/ExecutableLibrarySessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 98,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 77,
      "endLine" : 84,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 33,
      "endLine" : 40,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 363,
      "endLine" : 370,
      "cleanedStartLine" : 242,
      "cleanedEndLine" : 249
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/file/AspireFileConfiguration.kt",
        "extension" : "kt",
        "linesOfCode" : 43,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 39,
      "endLine" : 48,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfiguration.kt",
        "extension" : "kt",
        "linesOfCode" : 48,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 53,
      "endLine" : 60,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 260,
      "endLine" : 267,
      "cleanedStartLine" : 175,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 53,
      "endLine" : 60,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 233,
      "endLine" : 240,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 164
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 53,
      "endLine" : 60,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 195,
      "endLine" : 202,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 140
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 118,
      "endLine" : 125,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 139,
      "endLine" : 146,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/executableLibrary/ExecutableLibrarySessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 98,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 96,
      "endLine" : 103,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/projectLaunchers/DotNetSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 226,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 172,
      "startLine" : 187,
      "endLine" : 194,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 126
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/dotnet/AspireWorkerIntegrationTests/SessionEndpointTests.cs",
        "extension" : "cs",
        "linesOfCode" : 170,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 140,
      "startLine" : 36,
      "endLine" : 44,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "src/dotnet/AspireWorkerIntegrationTests/SessionEndpointTests.cs",
        "extension" : "cs",
        "linesOfCode" : 170,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 140,
      "startLine" : 135,
      "endLine" : 143,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 99
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 53,
      "endLine" : 60,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 363,
      "endLine" : 370,
      "cleanedStartLine" : 242,
      "cleanedEndLine" : 249
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/dotnet/AspireWorkerIntegrationTests/SessionEndpointTests.cs",
        "extension" : "cs",
        "linesOfCode" : 170,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 140,
      "startLine" : 36,
      "endLine" : 44,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "src/dotnet/AspireWorkerIntegrationTests/SessionEndpointTests.cs",
        "extension" : "cs",
        "linesOfCode" : 170,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 140,
      "startLine" : 112,
      "endLine" : 120,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 82
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.Web/Components/App.razor",
        "extension" : "razor",
        "linesOfCode" : 18,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.Web/Components/App.razor",
        "extension" : "razor",
        "linesOfCode" : 18,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 33,
      "endLine" : 40,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 96,
      "endLine" : 103,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/dotnet/AspireWorkerIntegrationTests/SessionEndpointTests.cs",
        "extension" : "cs",
        "linesOfCode" : 170,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 140,
      "startLine" : 72,
      "endLine" : 80,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "src/dotnet/AspireWorkerIntegrationTests/SessionEndpointTests.cs",
        "extension" : "cs",
        "linesOfCode" : 170,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 140,
      "startLine" : 135,
      "endLine" : 143,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 99
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 33,
      "endLine" : 40,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 139,
      "endLine" : 146,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 33,
      "endLine" : 40,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 118,
      "endLine" : 125,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 33,
      "endLine" : 40,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 53,
      "endLine" : 60,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/dotnet/AspireWorkerIntegrationTests/SessionEndpointTests.cs",
        "extension" : "cs",
        "linesOfCode" : 170,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 140,
      "startLine" : 72,
      "endLine" : 80,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "src/dotnet/AspireWorkerIntegrationTests/SessionEndpointTests.cs",
        "extension" : "cs",
        "linesOfCode" : 170,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 140,
      "startLine" : 112,
      "endLine" : 120,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 82
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 74,
      "endLine" : 81,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 139,
      "endLine" : 146,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/file/AspireFileExecutorFactory.kt",
        "extension" : "kt",
        "linesOfCode" : 62,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 22,
      "endLine" : 29,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostExecutorFactory.kt",
        "extension" : "kt",
        "linesOfCode" : 122,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 41,
      "endLine" : 48,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/executableLibrary/ExecutableLibrarySessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 98,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 86,
      "endLine" : 93,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/executableLibrary/ExecutableLibrarySessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 98,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 105,
      "endLine" : 112,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 67
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 74,
      "endLine" : 81,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 118,
      "endLine" : 125,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 33,
      "endLine" : 40,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 74,
      "endLine" : 81,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 74,
      "endLine" : 81,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 96,
      "endLine" : 103,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/executableLibrary/ExecutableLibrarySessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 98,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 77,
      "endLine" : 84,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostProjectSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 98,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 51,
      "endLine" : 58,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/file/AspireFileConfigurationViewModel.kt",
        "extension" : "kt",
        "linesOfCode" : 58,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 33,
      "endLine" : 40,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfigurationViewModel.kt",
        "extension" : "kt",
        "linesOfCode" : 372,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 47,
      "endLine" : 54,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 69,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 30,
      "endLine" : 37,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostProjectSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 98,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 51,
      "endLine" : 58,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 69,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 58,
      "endLine" : 65,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostProjectSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 98,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 60,
      "endLine" : 67,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 69,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 49,
      "endLine" : 56,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/projectLaunchers/DotNetSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 226,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 172,
      "startLine" : 187,
      "endLine" : 194,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 126
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 96,
      "endLine" : 103,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 139,
      "endLine" : 146,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 139,
      "endLine" : 146,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 260,
      "endLine" : 267,
      "cleanedStartLine" : 175,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 74,
      "endLine" : 81,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 195,
      "endLine" : 202,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 140
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 139,
      "endLine" : 146,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 233,
      "endLine" : 240,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 164
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.Web/Components/App.razor",
        "extension" : "razor",
        "linesOfCode" : 18,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.Web/Components/App.razor",
        "extension" : "razor",
        "linesOfCode" : 18,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 139,
      "endLine" : 146,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 195,
      "endLine" : 202,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 140
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/projectLaunchers/DotNetSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 226,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 172,
      "startLine" : 187,
      "endLine" : 194,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostProjectSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 98,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 70,
      "endLine" : 77,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/executableLibrary/ExecutableLibrarySessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 98,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 105,
      "endLine" : 112,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 67
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostProjectSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 98,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 60,
      "endLine" : 67,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 69,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 39,
      "endLine" : 46,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 69,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 58,
      "endLine" : 65,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.Web/Components/App.razor",
        "extension" : "razor",
        "linesOfCode" : 18,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.Web/Components/App.razor",
        "extension" : "razor",
        "linesOfCode" : 18,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/dotnet/AspireWorker/AspireHost/AspireHostResourceLogWatcher.cs",
        "extension" : "cs",
        "linesOfCode" : 81,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 13,
      "endLine" : 21,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "src/dotnet/AspireWorker/AspireHost/AspireHostResourceWatcher.cs",
        "extension" : "cs",
        "linesOfCode" : 153,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 17,
      "endLine" : 25,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 53,
      "endLine" : 60,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 118,
      "endLine" : 125,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 53,
      "endLine" : 60,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 96,
      "endLine" : 103,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 53,
      "endLine" : 60,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 74,
      "endLine" : 81,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 53,
      "endLine" : 60,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 139,
      "endLine" : 146,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 69,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 58,
      "endLine" : 65,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/executableLibrary/ExecutableLibrarySessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 98,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 86,
      "endLine" : 93,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 49
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 69,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 58,
      "endLine" : 65,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/executableLibrary/ExecutableLibrarySessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 98,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 105,
      "endLine" : 112,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 67
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 139,
      "endLine" : 146,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 363,
      "endLine" : 370,
      "cleanedStartLine" : 242,
      "cleanedEndLine" : 249
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 74,
      "endLine" : 81,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 260,
      "endLine" : 267,
      "cleanedStartLine" : 175,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 262,
      "endLine" : 269,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 184
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 283,
      "endLine" : 290,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 198
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 33,
      "endLine" : 40,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 195,
      "endLine" : 202,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 140
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 33,
      "endLine" : 40,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 260,
      "endLine" : 267,
      "cleanedStartLine" : 175,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 33,
      "endLine" : 40,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 233,
      "endLine" : 240,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 164
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/executableLibrary/ExecutableLibrarySessionDebugProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 26,
      "endLine" : 32,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/executableLibrary/ExecutableLibrarySessionRunProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 26,
      "endLine" : 32,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/executableLibrary/ExecutableLibrarySessionDebugProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 18,
      "endLine" : 24,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostProjectSessionDebugProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 34,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 19,
      "endLine" : 25,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "diagram/src/main/kotlin/com/jetbrains/aspire/diagram/AspireDiagramBundle.kt",
        "extension" : "kt",
        "linesOfCode" : 18,
        "components" : [ "primary::diagram" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 15,
      "endLine" : 22,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/AspireRiderBundle.kt",
        "extension" : "kt",
        "linesOfCode" : 18,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 15,
      "endLine" : 22,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetStartSessionRequestHandler.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 275,
      "endLine" : 281,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 176
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/projectLaunchers/DotNetSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 226,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 172,
      "startLine" : 49,
      "endLine" : 55,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 235,
      "endLine" : 241,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 165
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 283,
      "endLine" : 289,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 197
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 161,
      "endLine" : 167,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 116
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 262,
      "endLine" : 268,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 183
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 161,
      "endLine" : 167,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 116
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 197,
      "endLine" : 203,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 161,
      "endLine" : 167,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 116
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 235,
      "endLine" : 241,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 165
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "core/src/main/kotlin/com/jetbrains/aspire/AspireCoreBundle.kt",
        "extension" : "kt",
        "linesOfCode" : 18,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 15,
      "endLine" : 22,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "diagram/src/main/kotlin/com/jetbrains/aspire/diagram/AspireDiagramBundle.kt",
        "extension" : "kt",
        "linesOfCode" : 18,
        "components" : [ "primary::diagram" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 15,
      "endLine" : 22,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetStartSessionRequestHandler.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 275,
      "endLine" : 281,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 176
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/projectLaunchers/DotNetSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 226,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 172,
      "startLine" : 87,
      "endLine" : 93,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/dotnet/AspireWorkerIntegrationTests/SessionEndpointTests.cs",
        "extension" : "cs",
        "linesOfCode" : 170,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 140,
      "startLine" : 94,
      "endLine" : 101,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "src/dotnet/AspireWorkerIntegrationTests/SessionEndpointTests.cs",
        "extension" : "cs",
        "linesOfCode" : 170,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 140,
      "startLine" : 157,
      "endLine" : 164,
      "cleanedStartLine" : 108,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/states/AspireHostRunProfileState.kt",
        "extension" : "kt",
        "linesOfCode" : 48,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 46,
      "endLine" : 54,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/projectLaunchers/DotNetSessionRunProfileState.kt",
        "extension" : "kt",
        "linesOfCode" : 67,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 78,
      "endLine" : 86,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/file/AspireFileConfigurationParameters.kt",
        "extension" : "kt",
        "linesOfCode" : 128,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 105,
      "startLine" : 117,
      "endLine" : 123,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfigurationParameters.kt",
        "extension" : "kt",
        "linesOfCode" : 175,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 141,
      "endLine" : 147,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectHotReloadConfigurationExtension.kt",
        "extension" : "kt",
        "linesOfCode" : 44,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 26,
      "endLine" : 34,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostHotReloadConfigurationExtension.kt",
        "extension" : "kt",
        "linesOfCode" : 53,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 29,
      "endLine" : 37,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectSessionDebugProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 26,
      "endLine" : 32,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectSessionRunProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 26,
      "endLine" : 32,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "core/src/main/kotlin/com/jetbrains/aspire/worker/AspireAppHost.kt",
        "extension" : "kt",
        "linesOfCode" : 263,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 192,
      "startLine" : 67,
      "endLine" : 73,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/AspireExecutionListener.kt",
        "extension" : "kt",
        "linesOfCode" : 34,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 24,
      "endLine" : 30,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetStartSessionRequestHandler.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 265,
      "endLine" : 271,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 168
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetStartSessionRequestHandler.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 290,
      "endLine" : 296,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 189
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetProjectSessionExecutableFactory.kt",
        "extension" : "kt",
        "linesOfCode" : 212,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 86,
      "endLine" : 93,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetProjectSessionExecutableFactory.kt",
        "extension" : "kt",
        "linesOfCode" : 212,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 140,
      "endLine" : 147,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 95
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectSessionRunProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 14,
      "endLine" : 20,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/executableLibrary/ExecutableLibrarySessionDebugProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 14,
      "endLine" : 20,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 197,
      "endLine" : 203,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 283,
      "endLine" : 289,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 197
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/executableLibrary/ExecutableLibrarySessionDebugProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 14,
      "endLine" : 20,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/executableLibrary/ExecutableLibrarySessionRunProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 14,
      "endLine" : 20,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectHotReloadConfigurationExtension.kt",
        "extension" : "kt",
        "linesOfCode" : 44,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 18,
      "endLine" : 24,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostHotReloadConfigurationExtension.kt",
        "extension" : "kt",
        "linesOfCode" : 53,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 20,
      "endLine" : 26,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 161,
      "endLine" : 167,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 116
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 365,
      "endLine" : 371,
      "cleanedStartLine" : 244,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/projectLaunchers/DotNetSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 226,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 172,
      "startLine" : 49,
      "endLine" : 55,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/projectLaunchers/DotNetSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 226,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 172,
      "startLine" : 87,
      "endLine" : 93,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetStartSessionRequestHandler.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 239,
      "endLine" : 245,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 147
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetStartSessionRequestHandler.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 265,
      "endLine" : 271,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 168
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectSessionDebugProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 14,
      "endLine" : 20,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectSessionRunProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 14,
      "endLine" : 20,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "database/src/main/kotlin/com/jetbrains/aspire/database/AspireDatabaseBundle.kt",
        "extension" : "kt",
        "linesOfCode" : 18,
        "components" : [ "primary::database" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 15,
      "endLine" : 22,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/AspireRiderBundle.kt",
        "extension" : "kt",
        "linesOfCode" : 18,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 15,
      "endLine" : 22,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/executableLibrary/ExecutableLibrarySessionDebugProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 14,
      "endLine" : 20,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostProjectSessionRunProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 14,
      "endLine" : 20,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectSessionDebugProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 26,
      "endLine" : 32,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/executableLibrary/ExecutableLibrarySessionRunProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 26,
      "endLine" : 32,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 69,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 31,
      "endLine" : 37,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/projectLaunchers/DotNetSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 226,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 172,
      "startLine" : 177,
      "endLine" : 183,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 116
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 120,
      "endLine" : 126,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 89
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 161,
      "endLine" : 167,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 116
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/executableLibrary/ExecutableLibrarySessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 98,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 78,
      "endLine" : 84,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/projectLaunchers/DotNetSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 226,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 172,
      "startLine" : 177,
      "endLine" : 183,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 116
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectSessionDebugProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 18,
      "endLine" : 24,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostProjectSessionDebugProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 34,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 19,
      "endLine" : 25,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "core/src/main/kotlin/com/jetbrains/aspire/AspireCoreBundle.kt",
        "extension" : "kt",
        "linesOfCode" : 18,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 15,
      "endLine" : 22,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/AspireRiderBundle.kt",
        "extension" : "kt",
        "linesOfCode" : 18,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 15,
      "endLine" : 22,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "core/src/main/kotlin/com/jetbrains/aspire/AspireCoreBundle.kt",
        "extension" : "kt",
        "linesOfCode" : 18,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 15,
      "endLine" : 22,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "database/src/main/kotlin/com/jetbrains/aspire/database/AspireDatabaseBundle.kt",
        "extension" : "kt",
        "linesOfCode" : 18,
        "components" : [ "primary::database" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 15,
      "endLine" : 22,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetStartSessionRequestHandler.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 239,
      "endLine" : 245,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 147
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetStartSessionRequestHandler.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 290,
      "endLine" : 296,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 189
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectSessionDebugProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 14,
      "endLine" : 20,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostProjectSessionRunProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 14,
      "endLine" : 20,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetSessionProcessLauncherExtension.kt",
        "extension" : "kt",
        "linesOfCode" : 38,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 29,
      "endLine" : 35,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetSessionProcessLauncherExtension.kt",
        "extension" : "kt",
        "linesOfCode" : 38,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 38,
      "endLine" : 44,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/projectLaunchers/DotNetSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 226,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 172,
      "startLine" : 177,
      "endLine" : 183,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 116
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostProjectSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 98,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 52,
      "endLine" : 58,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "core/src/main/kotlin/com/jetbrains/aspire/dashboard/AspireAppHostViewModel.kt",
        "extension" : "kt",
        "linesOfCode" : 127,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 132,
      "endLine" : 138,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 81
    }, {
      "file" : {
        "relativePath" : "core/src/main/kotlin/com/jetbrains/aspire/dashboard/AspireResource.kt",
        "extension" : "kt",
        "linesOfCode" : 310,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 362,
      "endLine" : 368,
      "cleanedStartLine" : 225,
      "cleanedEndLine" : 231
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetStartSessionRequestHandler.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 250,
      "endLine" : 256,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 155
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/projectLaunchers/DotNetSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 226,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 172,
      "startLine" : 49,
      "endLine" : 55,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetStartSessionRequestHandler.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 250,
      "endLine" : 256,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 155
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/projectLaunchers/DotNetSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 226,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 172,
      "startLine" : 87,
      "endLine" : 93,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectSessionRunProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 26,
      "endLine" : 32,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/executableLibrary/ExecutableLibrarySessionDebugProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 26,
      "endLine" : 32,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 98,
      "endLine" : 104,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 161,
      "endLine" : 167,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 116
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "database/src/main/kotlin/com/jetbrains/aspire/database/AspireDatabaseBundle.kt",
        "extension" : "kt",
        "linesOfCode" : 18,
        "components" : [ "primary::database" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 15,
      "endLine" : 22,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "diagram/src/main/kotlin/com/jetbrains/aspire/diagram/AspireDiagramBundle.kt",
        "extension" : "kt",
        "linesOfCode" : 18,
        "components" : [ "primary::diagram" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 15,
      "endLine" : 22,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetStartSessionRequestHandler.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 230,
      "endLine" : 236,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 138
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetStartSessionRequestHandler.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 290,
      "endLine" : 296,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 189
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectSessionDebugProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 26,
      "endLine" : 32,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostProjectSessionRunProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 26,
      "endLine" : 32,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetStartSessionRequestHandler.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 230,
      "endLine" : 236,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 138
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetStartSessionRequestHandler.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 265,
      "endLine" : 271,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 168
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetStartSessionRequestHandler.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 230,
      "endLine" : 236,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 138
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetStartSessionRequestHandler.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 239,
      "endLine" : 245,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 147
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/executableLibrary/ExecutableLibrarySessionDebugProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 26,
      "endLine" : 32,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostProjectSessionRunProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 26,
      "endLine" : 32,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectSessionDebugProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 14,
      "endLine" : 20,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/executableLibrary/ExecutableLibrarySessionRunProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 14,
      "endLine" : 20,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 283,
      "endLine" : 289,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 197
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 365,
      "endLine" : 371,
      "cleanedStartLine" : 244,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 98,
      "endLine" : 104,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 283,
      "endLine" : 289,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 197
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 120,
      "endLine" : 126,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 89
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 283,
      "endLine" : 289,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 197
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 141,
      "endLine" : 146,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 115
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 309,
      "endLine" : 314,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 213
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 332,
      "endLine" : 337,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 227
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfigurationParameters.kt",
        "extension" : "kt",
        "linesOfCode" : 175,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 159,
      "endLine" : 164,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 117
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfigurationViewModel.kt",
        "extension" : "kt",
        "linesOfCode" : 372,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 288,
      "endLine" : 293,
      "cleanedStartLine" : 198,
      "cleanedEndLine" : 203
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 98,
      "endLine" : 103,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 332,
      "endLine" : 337,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 227
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetProjectSessionExecutableFactory.kt",
        "extension" : "kt",
        "linesOfCode" : 212,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 101,
      "endLine" : 106,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetProjectSessionExecutableFactory.kt",
        "extension" : "kt",
        "linesOfCode" : 212,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 155,
      "endLine" : 160,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 106
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 141,
      "endLine" : 146,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 214,
      "endLine" : 219,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 150
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 76,
      "endLine" : 81,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 115
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetSessionProcessLauncherExtension.kt",
        "extension" : "kt",
        "linesOfCode" : 38,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 29,
      "endLine" : 34,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/projectLaunchers/DotNetSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 226,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 172,
      "startLine" : 87,
      "endLine" : 92,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 46
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/dotnet/AspireWorker/AspireHost/AspireHostRegistration.cs",
        "extension" : "cs",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 16,
      "endLine" : 22,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "src/dotnet/AspireWorker/AspireHost/AspireHostRegistration.cs",
        "extension" : "cs",
        "linesOfCode" : 29,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 26,
      "endLine" : 32,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 76,
      "endLine" : 81,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 214,
      "endLine" : 219,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 150
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/executableLibrary/ExecutableLibrarySessionRunProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 26,
      "endLine" : 31,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostProjectSessionDebugProfileState.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 34,
      "endLine" : 39,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 141,
      "endLine" : 146,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 283,
      "endLine" : 288,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 196
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetSessionProcessLauncherExtension.kt",
        "extension" : "kt",
        "linesOfCode" : 38,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 38,
      "endLine" : 43,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/projectLaunchers/DotNetSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 226,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 172,
      "startLine" : 49,
      "endLine" : 54,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.Web/Components/App.razor",
        "extension" : "razor",
        "linesOfCode" : 18,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 11,
      "endLine" : 18,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.Web/Components/App.razor",
        "extension" : "razor",
        "linesOfCode" : 18,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 11,
      "endLine" : 18,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 76,
      "endLine" : 81,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 283,
      "endLine" : 288,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 196
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 98,
      "endLine" : 103,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 309,
      "endLine" : 314,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 213
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/file/AspireFileConfigurationParameters.kt",
        "extension" : "kt",
        "linesOfCode" : 128,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 105,
      "startLine" : 134,
      "endLine" : 139,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 100
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfigurationViewModel.kt",
        "extension" : "kt",
        "linesOfCode" : 372,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 288,
      "endLine" : 293,
      "cleanedStartLine" : 198,
      "cleanedEndLine" : 203
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "database/src/main/kotlin/com/jetbrains/aspire/database/mysql/DummyMySqlConnectionString.kt",
        "extension" : "kt",
        "linesOfCode" : 51,
        "components" : [ "primary::database" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "database/src/main/kotlin/com/jetbrains/aspire/database/mysql/DummyMySqlJdbcUrl.kt",
        "extension" : "kt",
        "linesOfCode" : 70,
        "components" : [ "primary::database" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 66,
      "endLine" : 72,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 46
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 115
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 214,
      "endLine" : 219,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 150
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 214,
      "endLine" : 219,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 150
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 365,
      "endLine" : 370,
      "cleanedStartLine" : 244,
      "cleanedEndLine" : 249
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 214,
      "endLine" : 219,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 150
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 332,
      "endLine" : 337,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 227
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 262,
      "endLine" : 267,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 332,
      "endLine" : 337,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 227
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 309,
      "endLine" : 314,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 213
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 365,
      "endLine" : 370,
      "cleanedStartLine" : 244,
      "cleanedEndLine" : 249
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 141,
      "endLine" : 146,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 332,
      "endLine" : 337,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 227
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 235,
      "endLine" : 240,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 164
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 309,
      "endLine" : 314,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 213
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 35,
      "endLine" : 40,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 115
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 235,
      "endLine" : 240,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 164
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 332,
      "endLine" : 337,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 227
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 141,
      "endLine" : 146,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 309,
      "endLine" : 314,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 213
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 76,
      "endLine" : 81,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 332,
      "endLine" : 337,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 227
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/file/AspireFileConfigurationSettingsEditor.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 66,
      "endLine" : 71,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfigurationSettingsEditor.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 84,
      "endLine" : 89,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 76,
      "endLine" : 81,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 309,
      "endLine" : 314,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 213
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 197,
      "endLine" : 202,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 140
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 332,
      "endLine" : 337,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 227
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 35,
      "endLine" : 40,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 283,
      "endLine" : 288,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 196
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 197,
      "endLine" : 202,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 140
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 309,
      "endLine" : 314,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 213
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "core/src/main/kotlin/com/jetbrains/aspire/worker/AspireAppHost.kt",
        "extension" : "kt",
        "linesOfCode" : 263,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 192,
      "startLine" : 54,
      "endLine" : 59,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/AspireExecutionListener.kt",
        "extension" : "kt",
        "linesOfCode" : 34,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 11,
      "endLine" : 16,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 35,
      "endLine" : 40,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 214,
      "endLine" : 219,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 150
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetSessionProcessLauncherExtension.kt",
        "extension" : "kt",
        "linesOfCode" : 38,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 29,
      "endLine" : 34,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetStartSessionRequestHandler.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 250,
      "endLine" : 255,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 154
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 197,
      "endLine" : 202,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 140
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 214,
      "endLine" : 219,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 150
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 115
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 309,
      "endLine" : 314,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 213
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/AspireExecutionListener.kt",
        "extension" : "kt",
        "linesOfCode" : 34,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 15,
      "endLine" : 20,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/AspireExecutionListener.kt",
        "extension" : "kt",
        "linesOfCode" : 34,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 29,
      "endLine" : 34,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 115
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 332,
      "endLine" : 337,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 227
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfigurationViewModel.kt",
        "extension" : "kt",
        "linesOfCode" : 372,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 239,
      "endLine" : 244,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 160
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfigurationViewModel.kt",
        "extension" : "kt",
        "linesOfCode" : 372,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 336,
      "endLine" : 341,
      "cleanedStartLine" : 236,
      "cleanedEndLine" : 241
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetSessionProcessLauncherExtension.kt",
        "extension" : "kt",
        "linesOfCode" : 38,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 29,
      "endLine" : 34,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetStartSessionRequestHandler.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 275,
      "endLine" : 280,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 175
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 35,
      "endLine" : 40,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 309,
      "endLine" : 314,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 213
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 55,
      "endLine" : 60,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 214,
      "endLine" : 219,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 150
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 35,
      "endLine" : 40,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 332,
      "endLine" : 337,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 227
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 55,
      "endLine" : 60,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 115
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/file/AspireFileExecutorFactory.kt",
        "extension" : "kt",
        "linesOfCode" : 62,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 64,
      "endLine" : 69,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostExecutorFactory.kt",
        "extension" : "kt",
        "linesOfCode" : 122,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 131,
      "endLine" : 136,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 228,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 169,
      "startLine" : 42,
      "endLine" : 53,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 11,
      "endLine" : 20,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithXUnit/AspireSolutionWithXUnit.Web/Components/App.razor",
        "extension" : "razor",
        "linesOfCode" : 18,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 11,
      "endLine" : 18,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.Web/Components/App.razor",
        "extension" : "razor",
        "linesOfCode" : 18,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 11,
      "endLine" : 18,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetSessionProcessLauncherExtension.kt",
        "extension" : "kt",
        "linesOfCode" : 38,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 38,
      "endLine" : 43,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetStartSessionRequestHandler.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 275,
      "endLine" : 280,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 175
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 55,
      "endLine" : 60,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 283,
      "endLine" : 288,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 196
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetSessionProcessLauncherExtension.kt",
        "extension" : "kt",
        "linesOfCode" : 38,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 38,
      "endLine" : 43,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetStartSessionRequestHandler.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 250,
      "endLine" : 255,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 154
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetSessionProcessLauncherExtension.kt",
        "extension" : "kt",
        "linesOfCode" : 38,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 38,
      "endLine" : 43,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/projectLaunchers/DotNetSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 226,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 172,
      "startLine" : 87,
      "endLine" : 92,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 46
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfigurationSettingsEditor.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 99,
      "endLine" : 104,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/run/host/AspireHostConfigurationViewModel.kt",
        "extension" : "kt",
        "linesOfCode" : 372,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 309,
      "startLine" : 288,
      "endLine" : 293,
      "cleanedStartLine" : 198,
      "cleanedEndLine" : 203
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectSessionRunProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 26,
      "endLine" : 31,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostProjectSessionDebugProfileState.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 34,
      "endLine" : 39,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 55,
      "endLine" : 60,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 309,
      "endLine" : 314,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 213
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 55,
      "endLine" : 60,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 332,
      "endLine" : 337,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 227
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/AspireSolutionWithNUnit/AspireSolutionWithNUnit.Web/Components/App.razor",
        "extension" : "razor",
        "linesOfCode" : 18,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 11,
      "endLine" : 18,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultAspireSolution/DefaultAspireSolution.Web/Components/App.razor",
        "extension" : "razor",
        "linesOfCode" : 18,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 11,
      "endLine" : 18,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 120,
      "endLine" : 125,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 309,
      "endLine" : 314,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 213
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 262,
      "endLine" : 267,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 309,
      "endLine" : 314,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 213
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 120,
      "endLine" : 125,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 332,
      "endLine" : 337,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 227
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 214,
      "endLine" : 219,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 150
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 309,
      "endLine" : 314,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 213
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/executableLibrary/ExecutableLibrarySessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 98,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 61,
      "endLine" : 66,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostProjectSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 98,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 89,
      "endLine" : 94,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 59
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 98,
      "endLine" : 103,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 214,
      "endLine" : 219,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 150
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectSessionDebugProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 26,
      "endLine" : 31,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostProjectSessionDebugProfileState.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 34,
      "endLine" : 39,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/dotnetProject/DotNetProjectSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 69,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 67,
      "endLine" : 72,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/executableLibrary/ExecutableLibrarySessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 98,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 61,
      "endLine" : 66,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/projectLaunchers/DotNetSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 226,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 172,
      "startLine" : 167,
      "endLine" : 172,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/projectLaunchers/DotNetSessionWithHotReloadProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 44,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 24,
      "endLine" : 29,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostProjectSessionDebugProfileState.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 34,
      "endLine" : 39,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostProjectSessionRunProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 26,
      "endLine" : 31,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 214,
      "endLine" : 219,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 150
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 283,
      "endLine" : 288,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 196
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 283,
      "endLine" : 288,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 196
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 309,
      "endLine" : 314,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 213
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 332,
      "endLine" : 337,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 227
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 365,
      "endLine" : 370,
      "cleanedStartLine" : 244,
      "cleanedEndLine" : 249
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 120,
      "endLine" : 125,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 214,
      "endLine" : 219,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 150
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 283,
      "endLine" : 288,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 196
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 332,
      "endLine" : 337,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 227
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 214,
      "endLine" : 219,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 150
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 235,
      "endLine" : 240,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 164
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 214,
      "endLine" : 219,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 150
    }, {
      "file" : {
        "relativePath" : "testData/solutions/DefaultMauiSolution/DefaultMauiSolution/Resources/Styles/Styles.xaml",
        "extension" : "xaml",
        "linesOfCode" : 381,
        "components" : [ "primary::testData" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 262,
      "endLine" : 267,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/DotNetSessionProcessLauncherExtension.kt",
        "extension" : "kt",
        "linesOfCode" : 38,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 29,
      "endLine" : 34,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/projectLaunchers/DotNetSessionProcessLauncher.kt",
        "extension" : "kt",
        "linesOfCode" : 226,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 172,
      "startLine" : 49,
      "endLine" : 54,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/executableLibrary/ExecutableLibrarySessionDebugProfile.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 26,
      "endLine" : 31,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/wasmHost/WasmHostProjectSessionDebugProfileState.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::rider" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 34,
      "endLine" : 39,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 17
    } ]
  } ],
  "overallDuplication" : null
}