{
  "title" : "Duplication",
  "timestamp" : "2026-01-18 17:23:32",
  "duplicates" : [ {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "aws-lambda-agent/src/main/resources/META-INF/build-agent-plugin-aws-lambda-plugin.xml",
        "extension" : "xml",
        "linesOfCode" : 9,
        "components" : [ "primary::aws-lambda-agent" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "aws-lambda-common/src/resources/META-INF/build-agent-plugin-aws-codedeploy-plugin.xml",
        "extension" : "xml",
        "linesOfCode" : 9,
        "components" : [ "primary::aws-lambda-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "aws-lambda-function-resolvers/src/main/java/jetbrains/buildServer/runner/lambda/function/DefaultImageLambdaFunctionResolver.kt",
        "extension" : "kt",
        "linesOfCode" : 79,
        "components" : [ "primary::aws-lambda-function-resolvers" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 12,
      "endLine" : 18,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "aws-lambda-function-resolvers/src/main/java/jetbrains/buildServer/runner/lambda/function/EcrImageLambdaFunctionResolver.kt",
        "extension" : "kt",
        "linesOfCode" : 50,
        "components" : [ "primary::aws-lambda-function-resolvers" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 11,
      "endLine" : 17,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "aws-lambda-server/src/main/resources/buildServerResources/editLambdaParams.jsp",
        "extension" : "jsp",
        "linesOfCode" : 178,
        "components" : [ "primary::aws-lambda-server" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 161,
      "startLine" : 154,
      "endLine" : 160,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 112
    }, {
      "file" : {
        "relativePath" : "aws-lambda-server/src/main/resources/buildServerResources/editLambdaParams.jsp",
        "extension" : "jsp",
        "linesOfCode" : 178,
        "components" : [ "primary::aws-lambda-server" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 161,
      "startLine" : 205,
      "endLine" : 211,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 155
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "aws-lambda-function-resolvers/src/main/java/jetbrains/buildServer/runner/lambda/function/DefaultImageLambdaFunctionResolver.kt",
        "extension" : "kt",
        "linesOfCode" : 79,
        "components" : [ "primary::aws-lambda-function-resolvers" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 22,
      "endLine" : 29,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "aws-lambda-function-resolvers/src/main/java/jetbrains/buildServer/runner/lambda/function/EcrImageLambdaFunctionResolver.kt",
        "extension" : "kt",
        "linesOfCode" : 50,
        "components" : [ "primary::aws-lambda-function-resolvers" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 19,
      "endLine" : 27,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "aws-lambda-server/src/main/java/jetbrains/buildServer/runner/lambda/web/LambaDefaultIamRoleCreateController.kt",
        "extension" : "kt",
        "linesOfCode" : 75,
        "components" : [ "primary::aws-lambda-server" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 21,
      "endLine" : 26,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "aws-lambda-server/src/main/java/jetbrains/buildServer/runner/lambda/web/LambdaIamRolesListController.kt",
        "extension" : "kt",
        "linesOfCode" : 56,
        "components" : [ "primary::aws-lambda-server" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 23,
      "endLine" : 28,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "aws-lambda-server/src/main/java/jetbrains/buildServer/runner/lambda/web/FinishLambdaController.kt",
        "extension" : "kt",
        "linesOfCode" : 61,
        "components" : [ "primary::aws-lambda-server" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 18,
      "endLine" : 23,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "aws-lambda-server/src/main/java/jetbrains/buildServer/runner/lambda/web/InvokeLambdaFunctionController.kt",
        "extension" : "kt",
        "linesOfCode" : 85,
        "components" : [ "primary::aws-lambda-server" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 27,
      "endLine" : 32,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    } ]
  } ],
  "overallDuplication" : null
}