@aws-cdk/aws-s3-assets
Advanced tools
Comparing version 1.15.0 to 1.16.0
{ | ||
"name": "@aws-cdk/aws-s3-assets", | ||
"version": "1.15.0", | ||
"version": "1.16.0", | ||
"description": "Deploy local files and directories to S3", | ||
@@ -47,3 +47,4 @@ "main": "lib/index.js", | ||
"build+test+package": "npm run build+test && npm run package", | ||
"build+test": "npm run build && npm test" | ||
"build+test": "npm run build && npm test", | ||
"compat": "cdk-compat" | ||
}, | ||
@@ -64,8 +65,8 @@ "keywords": [ | ||
"devDependencies": { | ||
"@aws-cdk/assert": "1.15.0", | ||
"@aws-cdk/assert": "1.16.0", | ||
"@types/sinon": "^7.5.0", | ||
"aws-cdk": "1.15.0", | ||
"cdk-build-tools": "file:../../../tools/cdk-build-tools", | ||
"cdk-integ-tools": "file:../../../tools/cdk-integ-tools", | ||
"pkglint": "file:../../../tools/pkglint", | ||
"aws-cdk": "1.16.0", | ||
"cdk-build-tools": "1.16.0", | ||
"cdk-integ-tools": "1.16.0", | ||
"pkglint": "1.16.0", | ||
"sinon": "^7.5.0", | ||
@@ -75,15 +76,15 @@ "ts-mock-imports": "^1.2.6" | ||
"dependencies": { | ||
"@aws-cdk/assets": "1.15.0", | ||
"@aws-cdk/aws-iam": "1.15.0", | ||
"@aws-cdk/aws-s3": "1.15.0", | ||
"@aws-cdk/core": "1.15.0", | ||
"@aws-cdk/cx-api": "1.15.0" | ||
"@aws-cdk/assets": "1.16.0", | ||
"@aws-cdk/aws-iam": "1.16.0", | ||
"@aws-cdk/aws-s3": "1.16.0", | ||
"@aws-cdk/core": "1.16.0", | ||
"@aws-cdk/cx-api": "1.16.0" | ||
}, | ||
"homepage": "https://github.com/aws/aws-cdk", | ||
"peerDependencies": { | ||
"@aws-cdk/assets": "1.15.0", | ||
"@aws-cdk/aws-iam": "1.15.0", | ||
"@aws-cdk/aws-s3": "1.15.0", | ||
"@aws-cdk/core": "1.15.0", | ||
"@aws-cdk/cx-api": "1.15.0" | ||
"@aws-cdk/assets": "1.16.0", | ||
"@aws-cdk/aws-iam": "1.16.0", | ||
"@aws-cdk/aws-s3": "1.16.0", | ||
"@aws-cdk/core": "1.16.0", | ||
"@aws-cdk/cx-api": "1.16.0" | ||
}, | ||
@@ -93,3 +94,9 @@ "engines": { | ||
}, | ||
"stability": "experimental" | ||
} | ||
"stability": "experimental", | ||
"awslint": { | ||
"exclude": [ | ||
"docs-public-apis:@aws-cdk/aws-s3-assets.AssetOptions", | ||
"docs-public-apis:@aws-cdk/aws-s3-assets.AssetProps" | ||
] | ||
} | ||
} |
@@ -54,3 +54,3 @@ "use strict"; | ||
}); | ||
const synth = app.synth().getStack(stack.stackName); | ||
const synth = app.synth().getStackByName(stack.stackName); | ||
const meta = synth.manifest.metadata || {}; | ||
@@ -282,3 +282,3 @@ test.ok(meta['/my-stack']); | ||
const session = app.synth(); | ||
const artifact = session.getStack(stack.stackName); | ||
const artifact = session.getStackByName(stack.stackName); | ||
const metadata = artifact.manifest.metadata || {}; | ||
@@ -291,2 +291,2 @@ const md = Object.values(metadata)[0][0].data; | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5hc3NldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3QuYXNzZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDRDQUFpRjtBQUNqRix3Q0FBeUM7QUFDekMscUNBQXNDO0FBQ3RDLHdDQUEyQztBQUMzQyx5Q0FBMEM7QUFDMUMseUJBQTBCO0FBRTFCLHlCQUEwQjtBQUMxQiw2QkFBOEI7QUFDOUIsd0NBQXFDO0FBRXJDLGlDQUFpQztBQUVqQyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLHdCQUF3QixDQUFDLENBQUM7QUFtVnhFLFNBQVMsV0FBVztJQUNsQixPQUFPLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQztBQUMvRCxDQUFDO0FBblZELGlCQUFTO0lBQ1AsaUJBQWlCLENBQUMsSUFBVTtRQUMxQixNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFDdEIsT0FBTyxFQUFFO2dCQUNQLENBQUMsS0FBSyxDQUFDLDZCQUE2QixDQUFDLEVBQUUsTUFBTTthQUM5QztTQUNGLENBQUMsQ0FBQztRQUNILE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDNUMsSUFBSSxhQUFLLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRTtZQUMxQixJQUFJLEVBQUUsZ0JBQWdCO1NBQ3ZCLENBQUMsQ0FBQztRQUVILDhEQUE4RDtRQUM5RCwwQkFBMEI7UUFDMUIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsRUFBRSxD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QztZQUNuRCxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDbEQsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUUsQ0FBQyxDQUFDLENBQUUsQ0FBQyxJQUFJLENBQUM7WUFDaEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLHdFQUF3RSxDQUFDLENBQUM7WUFDbEcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2QsQ0FBQztLQUVGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4cGVjdCwgaGF2ZVJlc291cmNlLCBSZXNvdXJjZVBhcnQsIFN5bnRoVXRpbHMgfSBmcm9tICdAYXdzLWNkay9hc3NlcnQnO1xuaW1wb3J0IGlhbSA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2F3cy1pYW0nKTtcbmltcG9ydCBjZGsgPSByZXF1aXJlKCdAYXdzLWNkay9jb3JlJyk7XG5pbXBvcnQgeyBBcHAsIFN0YWNrIH0gZnJvbSAnQGF3cy1jZGsvY29yZSc7XG5pbXBvcnQgY3hhcGkgPSByZXF1aXJlKCdAYXdzLWNkay9jeC1hcGknKTtcbmltcG9ydCBmcyA9IHJlcXVpcmUoJ2ZzJyk7XG5pbXBvcnQgeyBUZXN0IH0gZnJvbSAnbm9kZXVuaXQnO1xuaW1wb3J0IG9zID0gcmVxdWlyZSgnb3MnKTtcbmltcG9ydCBwYXRoID0gcmVxdWlyZSgncGF0aCcpO1xuaW1wb3J0IHsgQXNzZXQgfSBmcm9tICcuLi9saWIvYXNzZXQnO1xuXG4vLyB0c2xpbnQ6ZGlzYWJsZTptYXgtbGluZS1sZW5ndGhcblxuY29uc3QgU0FNUExFX0FTU0VUX0RJUiA9IHBhdGguam9pbihfX2Rpcm5hbWUsICdzYW1wbGUtYXNzZXQtZGlyZWN0b3J5Jyk7XG5cbmV4cG9ydCA9IHtcbiAgJ3NpbXBsZSB1c2UgY2FzZScodGVzdDogVGVzdCkgIHtcbiAgICBjb25zdCBhcHAgPSBuZXcgY2RrLkFwcCh7XG4gICAgICBjb250ZXh0OiB7XG4gICAgICAgIFtjeGFwaS5ESVNBQkxFX0FTU0VUX1NUQUdJTkdfQ09OVEVYVF06ICd0cnVlJ1xuICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjayhhcHAsICdNeVN0YWNrJyk7XG4gICAgbmV3IEFzc2V0KHN0YWNrLCAnTXlBc3NldCcsIHtcbiAgICAgIHBhdGg6IFNBTVBMRV9BU1NFVF9ESVJcbiAgICB9KTtcblxuICAgIC8vIHZlcmlmeSB0aGF0IG1ldGFkYXRhIGNvbnRhaW5zIGFuIFwiYXdzOmNkazphc3NldFwiIGVudHJ5IHdpdGhcbiAgICAvLyB0aGUgY29ycmVjdCBpbmZvcm1hdGlvblxuICAgIGNvbnN0IGVudHJ5ID0gc3RhY2subm9kZS5tZXRhZGF0YS5maW5kKG0gPT4gbS50eXBlID09PSAnYXdzOmNkazphc3NldCcpO1xuICAgIHRlc3Qub2soZW50cnksICdmb3VuZCBtZXRhZGF0YSBlbnRyeScpO1xuXG4gICAgLy8gdmVyaWZ5IHRoYXQgbm93IHRoZSB0ZW1wbGF0ZSBjb250YWlucyBwYXJhbWV0ZXJzIGZvciB0aGlzIGFzc2V0XG4gICAgY29uc3Qgc2Vzc2lvbiA9IGFwcC5zeW50aCgpO1xuXG4gICAgdGVzdC5kZWVwRXF1YWwoc3RhY2sucmVzb2x2ZShlbnRyeSEuZGF0YSksIHtcbiAgICAgIHBhdGg6IFNBTVBMRV9BU1NFVF9ESVIsXG4gICAgICBpZDogJzZiODRiODcyNDNhNGEwMWM1OTJkNzhlMWZkMzg1NWM0YmZlZjM5MzI4Y2QwYTQ1MGNjOTdlODE3MTdmZWEyYTInLFxuICAgICAgcGFja2FnaW5nOiAnemlwJyxcbiAgICAgIHNvdXJjZUhhc2g6ICc2Yjg0Yjg3MjQzYTRhMDFjNTkyZDc4ZTFmZDM4NTVjNGJmZWYzOTMyOGNkMGE0NTBjYzk3ZTgxNzE3ZmVhMmEyJyxcbiAgICAgIHMzQnVja2V0UGFyYW1ldGVyOiAnQXNzZXRQYXJhbWV0ZXJzNmI4NGI4NzI0M2E0YTAxYzU5MmQ3OGUxZmQzODU1YzRiZmVmMzkzMjhjZDBhNDUwY2M5N2U4MTcxN2ZlYTJhMlMzQnVja2V0NTBCNUExMEInLFxuICAgICAgczNLZXlQYXJhbWV0ZXI6ICdBc3NldFBhcmFtZXRlcnM2Yjg0Yjg3MjQzYTRhMDFjNTkyZDc4ZTFmZDM4NTVjNGJmZWYzOTMyOGNkMGE0NTBjYzk3ZTgxNzE3ZmVhMmEyUzNWZXJzaW9uS2V5MUY3RDc1RjknLFxuICAgICAgYXJ0aWZhY3RIYXNoUGFyYW1ldGVyOiAnQXNzZXRQYXJhbWV0ZXJzNmI4NGI4NzI0M2E0YTAxYzU5MmQ3OGUxZmQzODU1YzRiZmVmMzkzMjhjZDBhNDUwY2M5N2U4MTcxN2ZlYTJhMkFydGlmYWN0SGFzaDIyMERFOUJEJyxcbiAgICB9KTtcblxuICAgIGNvbnN0IHRlbXBsYXRlID0gSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHNlc3Npb24uZGlyZWN0b3J5LCAnTXlTdGFjay50ZW1wbGF0ZS5qc29uJyksICd1dGYtOCcpKTtcblxuICAgIHRlc3QuZXF1YWwodGVtcGxhdGUuUGFyYW1ldGVycy5Bc3NldFBhcmFtZXRlcnM2Yjg0Yjg3MjQzYTRhMDFjNTkyZDc4ZTFmZDM4NTVjNGJmZWYzOTMyOGNkMGE0NTBjYzk3ZTgxNzE3ZmVhMmEyUzNCdWNrZXQ1MEI1QTEwQi5UeXBlLCAnU3RyaW5nJyk7XG4gICAgdGVzdC5lcXVhbCh0ZW1wbGF0ZS5QYXJhbWV0ZXJzLkFzc2V0UGFyYW1ldGVyczZiODRiODcyNDNhNGEwMWM1OTJkNzhlMWZkMzg1NWM0YmZlZjM5MzI4Y2QwYTQ1MGNjOTdlODE3MTdmZWEyYTJTM1ZlcnNpb25LZXkxRjdENzVGOS5UeXBlLCAnU3RyaW5nJyk7XG5cbiAgICB0ZXN0LmRvbmUoKTtcbiAgfSxcblxuICAndmVyaWZ5IHRoYXQgdGhlIGFwcCByZXNvbHZlcyB0b2tlbnMgaW4gbWV0YWRhdGEnKHRlc3Q6IFRlc3QpIHtcbiAgICBjb25zdCBhcHAgPSBuZXcgY2RrLkFwcCgpO1xuICAgIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjayhhcHAsICdteS1zdGFjaycpO1xuICAgIGNvbnN0IGRpclBhdGggPSBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnc2FtcGxlLWFzc2V0LWRpcmVjdG9yeScpO1xuXG4gICAgbmV3IEFzc2V0KHN0YWNrLCAnTXlBc3NldCcsIHtcbiAgICAgIHBhdGg6IGRpclBhdGhcbiAgICB9KTtcblxuICAgIGNvbnN0IHN5bnRoID0gYXBwLnN5bnRoKCkuZ2V0U3RhY2soc3RhY2suc3RhY2tOYW1lKTtcbiAgICBjb25zdCBtZXRhID0gc3ludGgubWFuaWZlc3QubWV0YWRhdGEgfHwge307XG4gICAgdGVzdC5vayhtZXRhWycvbXktc3RhY2snXSk7XG4gICAgdGVzdC5vayhtZXRhWycvbXktc3RhY2snXVswXSk7XG4gICAgdGVzdC5kZWVwRXF1YWwobWV0YVsnL215LXN0YWNrJ11bMF0uZGF0YSwge1xuICAgICAgcGF0aDogJ2Fzc2V0LjZiODRiODcyNDNhNGEwMWM1OTJkNzhlMWZkMzg1NWM0YmZlZjM5MzI4Y2QwYTQ1MGNjOTdlODE3MTdmZWEyYTInLFxuICAgICAgaWQ6IFwiNmI4NGI4NzI0M2E0YTAxYzU5MmQ3OGUxZmQzODU1YzRiZmVmMzkzMjhjZDBhNDUwY2M5N2U4MTcxN2ZlYTJhMlwiLFxuICAgICAgcGFja2FnaW5nOiBcInppcFwiLFxuICAgICAgc291cmNlSGFzaDogJzZiODRiODcyNDNhNGEwMWM1OTJkNzhlMWZkMzg1NWM0YmZlZjM5MzI4Y2QwYTQ1MGNjOTdlODE3MTdmZWEyYTInLFxuICAgICAgczNCdWNrZXRQYXJhbWV0ZXI6IFwiQXNzZXRQYXJhbWV0ZXJzNmI4NGI4NzI0M2E0YTAxYzU5MmQ3OGUxZmQzODU1YzRiZmVmMzkzMjhjZDBhNDUwY2M5N2U4MTcxN2ZlYTJhMlMzQnVja2V0NTBCNUExMEJcIixcbiAgICAgIHMzS2V5UGFyYW1ldGVyOiBcIkFzc2V0UGFyYW1ldGVyczZiODRiODcyNDNhNGEwMWM1OTJkNzhlMWZkMzg1NWM0YmZlZjM5MzI4Y2QwYTQ1MGNjOTdlODE3MTdmZWEyYTJTM1ZlcnNpb25LZXkxRjdENzVGOVwiLFxuICAgICAgYXJ0aWZhY3RIYXNoUGFyYW1ldGVyOiAnQXNzZXRQYXJhbWV0ZXJzNmI4NGI4NzI0M2E0YTAxYzU5MmQ3OGUxZmQzODU1YzRiZmVmMzkzMjhjZDBhNDUwY2M5N2U4MTcxN2ZlYTJhMkFydGlmYWN0SGFzaDIyMERFOUJEJyxcbiAgICB9KTtcblxuICAgIHRlc3QuZG9uZSgpO1xuICB9LFxuXG4gICdcImZpbGVcIiBhc3NldHMnKHRlc3Q6IFRlc3QpIHtcbiAgICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2soKTtcbiAgICBjb25zdCBmaWxlUGF0aCA9IHBhdGguam9pbihfX2Rpcm5hbWUsICdmaWxlLWFzc2V0LnR4dCcpO1xuICAgIG5ldyBBc3NldChzdGFjaywgJ015QXNzZXQnLCB7IHBhdGg6IGZpbGVQYXRoIH0pO1xuICAgIGNvbnN0IGVudHJ5ID0gc3RhY2subm9kZS5tZXRhZGF0YS5maW5kKG0gPT4gbS50eXBlID09PSAnYXdzOmNkazphc3NldCcpO1xuICAgIHRlc3Qub2soZW50cnksICdmb3VuZCBtZXRhZGF0YSBlbnRyeScpO1xuXG4gICAgLy8gc3ludGhlc2l6ZSBmaXJzdCBzbyBcInByZXBhcmVcIiBpcyBjYWxsZWRcbiAgICBjb25zdCB0ZW1wbGF0ZSA9IFN5bnRoVXRpbHMuc3ludGhlc2l6ZShzdGFjaykudGVtcGxhdGU7XG5cbiAgICB0ZXN0LmRlZXBFcXVhbChzdGFjay5yZXNvbHZlKGVudHJ5IS5kYXRhKSwge1xuICAgICAgcGF0aDogJ2Fzc2V0Ljc4YWRkOWVhZjQ2OGRmYTIxOTFkYTQ0YTdkYTkyYTIxYmFiYTRjNjg2Y2Y2MDUzZDc3MjU1Njc2OGVmMjExOTcudHh0JyxcbiAgICAgIHBhY2thZ2luZzogJ2ZpbGUnLFxuICAgICAgaWQ6ICc3OGFkZDllYWY0NjhkZmEyMTkxZGE0NGE3ZGE5MmEyMWJhYmE0YzY4NmNmNjA1M2Q3NzI1NTY3NjhlZjIxMTk3JyxcbiAgICAgIHNvdXJjZUhhc2g6ICc3OGFkZDllYWY0NjhkZmEyMTkxZGE0NGE3ZGE5MmEyMWJhYmE0YzY4NmNmNjA1M2Q3NzI1NTY3NjhlZjIxMTk3JyxcbiAgICAgIHMzQnVja2V0UGFyYW1ldGVyOiAnQXNzZXRQYXJhbWV0ZXJzNzhhZGQ5ZWFmNDY4ZGZhMjE5MWRhNDRhN2RhOTJhMjFiYWJhNGM2ODZjZjYwNTNkNzcyNTU2NzY4ZWYyMTE5N1MzQnVja2V0MkM2MEY5NEEnLFxuICAgICAgczNLZXlQYXJhbWV0ZXI6ICdBc3NldFBhcmFtZXRlcnM3OGFkZDllYWY0NjhkZmEyMTkxZGE0NGE3ZGE5MmEyMWJhYmE0YzY4NmNmNjA1M2Q3NzI1NTY3NjhlZjIxMTk3UzNWZXJzaW9uS2V5OTQ4MkRDMzUnLFxuICAgICAgYXJ0aWZhY3RIYXNoUGFyYW1ldGVyOiAnQXNzZXRQYXJhbWV0ZXJzNzhhZGQ5ZWFmNDY4ZGZhMjE5MWRhNDRhN2RhOTJhMjFiYWJhNGM2ODZjZjYwNTNkNzcyNTU2NzY4ZWYyMTE5N0FydGlmYWN0SGFzaDIyQkZGQTY3JyxcbiAgICB9KTtcblxuICAgIC8vIHZlcmlmeSB0aGF0IG5vdyB0aGUgdGVtcGxhdGUgY29udGFpbnMgcGFyYW1ldGVycyBmb3IgdGhpcyBhc3NldFxuICAgIHRlc3QuZXF1YWwodGVtcGxhdGUuUGFyYW1ldGVycy5Bc3NldFBhcmFtZXRlcnM3OGFkZDllYWY0NjhkZmEyMTkxZGE0NGE3ZGE5MmEyMWJhYmE0YzY4NmNmNjA1M2Q3NzI1NTY3NjhlZjIxMTk3UzNCdWNrZXQyQzYwRjk0QS5UeXBlLCAnU3RyaW5nJyk7XG4gICAgdGVzdC5lcXVhbCh0ZW1wbGF0ZS5QYXJhbWV0ZXJzLkFzc2V0UGFyYW1ldGVyczc4YWRkOWVhZjQ2OGRmYTIxOTFkYTQ0YTdkYTkyYTIxYmFiYTRjNjg2Y2Y2MDUzZDc3MjU1Njc2OGVmMjExOTdTM1ZlcnNpb25LZXk5NDgyREMzNS5UeXBlLCAnU3RyaW5nJyk7XG5cbiAgICB0ZXN0LmRvbmUoKTtcbiAgfSxcblxuICAnXCJyZWFkZXJzXCIgb3IgXCJncmFudFJlYWRcIiBjYW4gYmUgdXNlZCB0byBncmFudCByZWFkIHBlcm1pc3Npb25zIG9uIHRoZSBhc3NldCB0byBhIHByaW5jaXBhbCcodGVzdDogVGVzdCkge1xuICAgIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjaygpO1xuICAgIGNvbnN0IHVzZXIgPSBuZXcgaWFtLlVzZXIoc3RhY2ssICdNeVVzZXInKTtcbiAgICBjb25zdCBncm91cCA9IG5ldyBpYW0uR3JvdXAoc3RhY2ssICdNeUdyb3VwJyk7XG5cbiAgICBjb25zdCBhc3NldCA9IG5ldyBBc3NldChzdGFjaywgJ015QXNzZXQnLCB7XG4gICAgICBwYXRoOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnc2FtcGxlLWFzc2V0LWRpcmVjdG9yeScpLFxuICAgICAgcmVhZGVyczogWyB1c2VyIF1cbiAgICB9KTtcblxuICAgIGFzc2V0LmdyYW50UmVhZChncm91cCk7XG5cbiAgICBleHBlY3Qoc3RhY2spLnRvKGhhdmVSZXNvdXJjZSgnQVdTOjpJQU06OlBvbGljeScsIHtcbiAgICAgIFBvbGljeURvY3VtZW50OiB7XG4gICAgICAgIFZlcnNpb246ICcyMDEyLTEwLTE3JyxcbiAgICAgICAgU3RhdGVtZW50OiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgQWN0aW9uOiBbXCJzMzpHZXRPYmplY3QqXCIsIFwiczM6R2V0QnVja2V0KlwiLCBcInMzOkxpc3QqXCJdLFxuICAgICAgICAgICAgRWZmZWN0OiAnQWxsb3cnLFxuICAgICAgICAgICAgUmVzb3VyY2U6IFtcbiAgICAgICAgICAgICAgeyBcIkZuOjpKb2luXCI6IFtcIlwiLCBbXCJhcm46XCIsIHtSZWY6IFwiQVdTOjpQYXJ0aXRpb25cIn0sIFwiOnMzOjo6XCIsIHtSZWY6IFwiQXNzZXRQYXJhbWV0ZXJzNmI4NGI4NzI0M2E0YTAxYzU5MmQ3OGUxZmQzODU1YzRiZmVmMzkzMjhjZDBhNDUwY2M5N2U4MTcxN2ZlYTJhMlMzQnVja2V0NTBCNUExMEJcIn0gXSBdIH0sXG4gICAgICAgICAgICAgIHsgXCJGbjo6Sm9pblwiOiBbXCJcIiwgWyBcImFybjpcIiwge1JlZjogXCJBV1M6OlBhcnRpdGlvblwifSwgXCI6czM6OjpcIiwge1JlZjogXCJBc3NldFBhcmFtZXRlcnM2Yjg0Yjg3MjQzYTRhMDFjNTkyZDc4ZTFmZDM4NTVjNGJmZWYzOTMyOGNkMGE0NTBjYzk3ZTgxNzE3ZmVhMmEyUzNCdWNrZXQ1MEI1QTEwQlwifSwgXCIvKlwiIF0gXSB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgfSkpO1xuXG4gICAgdGVzdC5kb25lKCk7XG4gIH0sXG4gICdmYWlscyBpZiBkaXJlY3Rvcnkgbm90IGZvdW5kJyh0ZXN0OiBUZXN0KSB7XG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKCk7XG4gICAgdGVzdC50aHJvd3MoKCkgPT4gbmV3IEFzc2V0KHN0YWNrLCAnTXlEaXJlY3RvcnknLCB7XG4gICAgICBwYXRoOiAnL3BhdGgvbm90L2ZvdW5kLycgKyBNYXRoLnJhbmRvbSgpICogOTk5OTk5XG4gICAgfSkpO1xuICAgIHRlc3QuZG9uZSgpO1xuICB9LFxuXG4gICdtdWx0aXBsZSBhc3NldHMgdW5kZXIgdGhlIHNhbWUgcGFyZW50Jyh0ZXN0OiBUZXN0KSB7XG4gICAgLy8gR0lWRU5cbiAgICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2soKTtcblxuICAgIC8vIFdIRU5cbiAgICBuZXcgQXNzZXQoc3RhY2ssICdNeURpcmVjdG9yeTEnLCB7IHBhdGg6IHBhdGguam9pbihfX2Rpcm5hbWUsICdzYW1wbGUtYXNzZXQtZGlyZWN0b3J5JykgfSk7XG4gICAgbmV3IEFzc2V0KHN0YWNrLCAnTXlEaXJlY3RvcnkyJywgeyBwYXRoOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnc2FtcGxlLWFzc2V0LWRpcmVjdG9yeScpIH0pO1xuXG4gICAgLy8gVEhFTjogbm8gZXJyb3JcblxuICAgIHRlc3QuZG9uZSgpO1xuICB9LFxuXG4gICdpc1ppcEFyY2hpdmUgaW5kaWNhdGVzIGlmIHRoZSBhc3NldCByZXByZXNlbnRzIGEgLnppcCBmaWxlIChlaXRoZXIgZXhwbGljaXRseSBvciB2aWEgWmlwRGlyZWN0b3J5IHBhY2thZ2luZyknKHRlc3Q6IFRlc3QpIHtcbiAgICAvLyBHSVZFTlxuICAgIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjaygpO1xuXG4gICAgLy8gV0hFTlxuICAgIGNvbnN0IG5vblppcEFzc2V0ID0gbmV3IEFzc2V0KHN0YWNrLCAnTm9uWmlwQXNzZXQnLCB7XG4gICAgICBwYXRoOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnc2FtcGxlLWFzc2V0LWRpcmVjdG9yeScsICdzYW1wbGUtYXNzZXQtZmlsZS50eHQnKVxuICAgIH0pO1xuXG4gICAgY29uc3QgemlwRGlyZWN0b3J5QXNzZXQgPSBuZXcgQXNzZXQoc3RhY2ssICdaaXBEaXJlY3RvcnlBc3NldCcsIHtcbiAgICAgIHBhdGg6IHBhdGguam9pbihfX2Rpcm5hbWUsICdzYW1wbGUtYXNzZXQtZGlyZWN0b3J5JylcbiAgICB9KTtcblxuICAgIGNvbnN0IHppcEZpbGVBc3NldCA9IG5ldyBBc3NldChzdGFjaywgJ1ppcEZpbGVBc3NldCcsIHtcbiAgICAgIHBhdGg6IHBhdGguam9pbihfX2Rpcm5hbWUsICdzYW1wbGUtYXNzZXQtZGlyZWN0b3J5JywgJ3NhbXBsZS16aXAtYXNzZXQuemlwJylcbiAgICB9KTtcblxuICAgIGNvbnN0IGphckZpbGVBc3NldCA9IG5ldyBBc3NldChzdGFjaywgJ0phckZpbGVBc3NldCcsIHtcbiAgICAgIHBhdGg6IHBhdGguam9pbihfX2Rpcm5hbWUsICdzYW1wbGUtYXNzZXQtZGlyZWN0b3J5JywgJ3NhbXBsZS1qYXItYXNzZXQuamFyJylcbiAgICB9KTtcblxuICAgIC8vIFRIRU5cbiAgICB0ZXN0LmVxdWFsKG5vblppcEFzc2V0LmlzWmlwQXJjaGl2ZSwgZmFsc2UpO1xuICAgIHRlc3QuZXF1YWwoemlwRGlyZWN0b3J5QXNzZXQuaXNaaXBBcmNoaXZlLCB0cnVlKTtcbiAgICB0ZXN0LmVxdWFsKHppcEZpbGVBc3NldC5pc1ppcEFyY2hpdmUsIHRydWUpO1xuICAgIHRlc3QuZXF1YWwoamFyRmlsZUFzc2V0LmlzWmlwQXJjaGl2ZSwgdHJ1ZSk7XG4gICAgdGVzdC5kb25lKCk7XG4gIH0sXG5cbiAgJ2FkZFJlc291cmNlTWV0YWRhdGEgY2FuIGJlIHVzZWQgdG8gYWRkIENGTiBtZXRhZGF0YSB0byByZXNvdXJjZXMnKHRlc3Q6IFRlc3QpIHtcbiAgICAvLyBHSVZFTlxuICAgIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjaygpO1xuICAgIHN0YWNrLm5vZGUuc2V0Q29udGV4dChjeGFwaS5BU1NFVF9SRVNPVVJDRV9NRVRBREFUQV9FTkFCTEVEX0NPTlRFWFQsIHRydWUpO1xuXG4gICAgY29uc3QgbG9jYXRpb24gPSBwYXRoLmpvaW4oX19kaXJuYW1lLCAnc2FtcGxlLWFzc2V0LWRpcmVjdG9yeScpO1xuICAgIGNvbnN0IHJlc291cmNlID0gbmV3IGNkay5DZm5SZXNvdXJjZShzdGFjaywgJ015UmVzb3VyY2UnLCB7IHR5cGU6ICdNeTo6UmVzb3VyY2U6OlR5cGUnIH0pO1xuICAgIGNvbnN0IGFzc2V0ID0gbmV3IEFzc2V0KHN0YWNrLCAnTXlBc3NldCcsIHsgcGF0aDogbG9jYXRpb24gfSk7XG5cbiAgICAvLyBXSEVOXG4gICAgYXNzZXQuYWRkUmVzb3VyY2VNZXRhZGF0YShyZXNvdXJjZSwgJ1Byb3BOYW1lJyk7XG5cbiAgICAvLyBUSEVOXG4gICAgZXhwZWN0KHN0YWNrKS50byhoYXZlUmVzb3VyY2UoJ015OjpSZXNvdXJjZTo6VHlwZScsIHtcbiAgICAgIE1ldGFkYXRhOiB7XG4gICAgICAgIFwiYXdzOmFzc2V0OnBhdGhcIjogJ2Fzc2V0LjZiODRiODcyNDNhNGEwMWM1OTJkNzhlMWZkMzg1NWM0YmZlZjM5MzI4Y2QwYTQ1MGNjOTdlODE3MTdmZWEyYTInLFxuICAgICAgICBcImF3czphc3NldDpwcm9wZXJ0eVwiOiBcIlByb3BOYW1lXCJcbiAgICAgIH1cbiAgICB9LCBSZXNvdXJjZVBhcnQuQ29tcGxldGVEZWZpbml0aW9uKSk7XG4gICAgdGVzdC5kb25lKCk7XG4gIH0sXG5cbiAgJ2Fzc2V0IG1ldGFkYXRhIGlzIG9ubHkgZW1pdHRlZCBpZiBBU1NFVF9SRVNPVVJDRV9NRVRBREFUQV9FTkFCTEVEX0NPTlRFWFQgaXMgZGVmaW5lZCcodGVzdDogVGVzdCkge1xuICAgIC8vIEdJVkVOXG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKCk7XG5cbiAgICBjb25zdCByZXNvdXJjZSA9IG5ldyBjZGsuQ2ZuUmVzb3VyY2Uoc3RhY2ssICdNeVJlc291cmNlJywgeyB0eXBlOiAnTXk6OlJlc291cmNlOjpUeXBlJyB9KTtcbiAgICBjb25zdCBhc3NldCA9IG5ldyBBc3NldChzdGFjaywgJ015QXNzZXQnLCB7IHBhdGg6IFNBTVBMRV9BU1NFVF9ESVIgfSk7XG5cbiAgICAvLyBXSEVOXG4gICAgYXNzZXQuYWRkUmVzb3VyY2VNZXRhZGF0YShyZXNvdXJjZSwgJ1Byb3BOYW1lJyk7XG5cbiAgICAvLyBUSEVOXG4gICAgZXhwZWN0KHN0YWNrKS5ub3RUbyhoYXZlUmVzb3VyY2UoJ015OjpSZXNvdXJjZTo6VHlwZScsIHtcbiAgICAgIE1ldGFkYXRhOiB7XG4gICAgICAgIFwiYXdzOmFzc2V0OnBhdGhcIjogU0FNUExFX0FTU0VUX0RJUixcbiAgICAgICAgXCJhd3M6YXNzZXQ6cHJvcGVydHlcIjogXCJQcm9wTmFtZVwiXG4gICAgICB9XG4gICAgfSwgUmVzb3VyY2VQYXJ0LkNvbXBsZXRlRGVmaW5pdGlvbikpO1xuXG4gICAgdGVzdC5kb25lKCk7XG4gIH0sXG5cbiAgJ3N0YWdpbmcnOiB7XG5cbiAgICAnY29weSBmaWxlIGFzc2V0cyB1bmRlciA8b3V0ZGlyPi8ke2ZpbmdlcnByaW50fS5leHQnKHRlc3Q6IFRlc3QpIHtcbiAgICAgIGNvbnN0IHRlbXBkaXIgPSBta2R0ZW1wU3luYygpO1xuICAgICAgcHJvY2Vzcy5jaGRpcih0ZW1wZGlyKTsgLy8gY2hhbmdlIGN1cnJlbnQgZGlyZWN0b3J5IHRvIHNvbWV3aGVyZSBpbiAvdG1wXG5cbiAgICAgIC8vIEdJVkVOXG4gICAgICBjb25zdCBhcHAgPSBuZXcgQXBwKHsgb3V0ZGlyOiB0ZW1wZGlyIH0pO1xuICAgICAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soYXBwLCAnc3RhY2snKTtcblxuICAgICAgLy8gV0hFTlxuICAgICAgbmV3IEFzc2V0KHN0YWNrLCAnWmlwRmlsZScsIHtcbiAgICAgICAgcGF0aDogcGF0aC5qb2luKFNBTVBMRV9BU1NFVF9ESVIsICdzYW1wbGUtemlwLWFzc2V0LnppcCcpXG4gICAgICB9KTtcblxuICAgICAgbmV3IEFzc2V0KHN0YWNrLCAnVGV4dEZpbGUnLCB7XG4gICAgICAgIHBhdGg6IHBhdGguam9pbihTQU1QTEVfQVNTRVRfRElSLCAnc2FtcGxlLWFzc2V0LWZpbGUudHh0JylcbiAgICAgIH0pO1xuXG4gICAgICAvLyBUSEVOXG4gICAgICBhcHAuc3ludGgoKTtcbiAgICAgIHRlc3Qub2soZnMuZXhpc3RzU3luYyh0ZW1wZGlyKSk7XG4gICAgICB0ZXN0Lm9rKGZzLmV4aXN0c1N5bmMocGF0aC5qb2luKHRlbXBkaXIsICdhc3NldC5hN2E3OWNkZjg0YjgwMmVhOGIxOTgwNTlmZjg5OWNmZmMwOTVhMWI5NjA2ZTkxOWY5OGUwNWJmODA3Nzk3NTZiLnppcCcpKSk7XG4gICAgICB0ZXN0LmRvbmUoKTtcbiAgICB9LFxuXG4gICAgJ2NvcHkgZGlyZWN0b3J5IHVuZGVyIC5hc3NldHMvZmluZ2VycHJpbnQvKionKHRlc3Q6IFRlc3QpIHtcbiAgICAgIGNvbnN0IHRlbXBkaXIgPSBta2R0ZW1wU3luYygpO1xuICAgICAgcHJvY2Vzcy5jaGRpcih0ZW1wZGlyKTsgLy8gY2hhbmdlIGN1cnJlbnQgZGlyZWN0b3J5IHRvIHNvbWV3aGVyZSBpbiAvdG1wXG5cbiAgICAgIC8vIEdJVkVOXG4gICAgICBjb25zdCBhcHAgPSBuZXcgQXBwKHsgb3V0ZGlyOiB0ZW1wZGlyIH0pO1xuICAgICAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soYXBwLCAnc3RhY2snKTtcblxuICAgICAgLy8gV0hFTlxuICAgICAgbmV3IEFzc2V0KHN0YWNrLCAnWmlwRGlyZWN0b3J5Jywge1xuICAgICAgICBwYXRoOiBTQU1QTEVfQVNTRVRfRElSXG4gICAgICB9KTtcblxuICAgICAgLy8gVEhFTlxuICAgICAgYXBwLnN5bnRoKCk7XG4gICAgICB0ZXN0Lm9rKGZzLmV4aXN0c1N5bmModGVtcGRpcikpO1xuICAgICAgY29uc3QgaGFzaCA9ICdhc3NldC42Yjg0Yjg3MjQzYTRhMDFjNTkyZDc4ZTFmZDM4NTVjNGJmZWYzOTMyOGNkMGE0NTBjYzk3ZTgxNzE3ZmVhMmEyJztcbiAgICAgIHRlc3Qub2soZnMuZXhpc3RzU3luYyhwYXRoLmpvaW4odGVtcGRpciwgaGFzaCwgJ3NhbXBsZS1hc3NldC1maWxlLnR4dCcpKSk7XG4gICAgICB0ZXN0Lm9rKGZzLmV4aXN0c1N5bmMocGF0aC5qb2luKHRlbXBkaXIsIGhhc2gsICdzYW1wbGUtamFyLWFzc2V0LmphcicpKSk7XG4gICAgICBmcy5yZWFkZGlyU3luYyh0ZW1wZGlyKTtcbiAgICAgIHRlc3QuZG9uZSgpO1xuICAgIH0sXG5cbiAgICAnc3RhZ2luZyBwYXRoIGlzIHJlbGF0aXZlIGlmIHRoZSBkaXIgaXMgYmVsb3cgdGhlIHdvcmtpbmcgZGlyZWN0b3J5Jyh0ZXN0OiBUZXN0KSB7XG4gICAgICAvLyBHSVZFTlxuICAgICAgY29uc3QgdGVtcGRpciA9IG1rZHRlbXBTeW5jKCk7XG4gICAgICBwcm9jZXNzLmNoZGlyKHRlbXBkaXIpOyAvLyBjaGFuZ2UgY3VycmVudCBkaXJlY3RvcnkgdG8gc29tZXdoZXJlIGluIC90bXBcblxuICAgICAgY29uc3Qgc3RhZ2luZyA9ICcubXktYXdlc29tZS1zdGFnaW5nLWRpcmVjdG9yeSc7XG4gICAgICBjb25zdCBhcHAgPSBuZXcgQXBwKHtcbiAgICAgICAgb3V0ZGlyOiBzdGFnaW5nLFxuICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgW2N4YXBpLkFTU0VUX1JFU09VUkNFX01FVEFEQVRBX0VOQUJMRURfQ09OVEVYVF06ICd0cnVlJyxcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKGFwcCwgJ3N0YWNrJyk7XG5cbiAgICAgIGNvbnN0IHJlc291cmNlID0gbmV3IGNkay5DZm5SZXNvdXJjZShzdGFjaywgJ015UmVzb3VyY2UnLCB7IHR5cGU6ICdNeTo6UmVzb3VyY2U6OlR5cGUnIH0pO1xuICAgICAgY29uc3QgYXNzZXQgPSBuZXcgQXNzZXQoc3RhY2ssICdNeUFzc2V0JywgeyBwYXRoOiBTQU1QTEVfQVNTRVRfRElSIH0pO1xuXG4gICAgICAvLyBXSEVOXG4gICAgICBhc3NldC5hZGRSZXNvdXJjZU1ldGFkYXRhKHJlc291cmNlLCAnUHJvcE5hbWUnKTtcblxuICAgICAgY29uc3QgdGVtcGxhdGUgPSBTeW50aFV0aWxzLnN5bnRoZXNpemUoc3RhY2spLnRlbXBsYXRlO1xuICAgICAgdGVzdC5kZWVwRXF1YWwodGVtcGxhdGUuUmVzb3VyY2VzLk15UmVzb3VyY2UuTWV0YWRhdGEsIHtcbiAgICAgICAgXCJhd3M6YXNzZXQ6cGF0aFwiOiBgYXNzZXQuNmI4NGI4NzI0M2E0YTAxYzU5MmQ3OGUxZmQzODU1YzRiZmVmMzkzMjhjZDBhNDUwY2M5N2U4MTcxN2ZlYTJhMmAsXG4gICAgICAgIFwiYXdzOmFzc2V0OnByb3BlcnR5XCI6IFwiUHJvcE5hbWVcIlxuICAgICAgfSk7XG4gICAgICB0ZXN0LmRvbmUoKTtcbiAgICB9LFxuXG4gICAgJ2lmIHN0YWdpbmcgaXMgZGlzYWJsZWQsIGFzc2V0IHBhdGggaXMgYWJzb2x1dGUnKHRlc3Q6IFRlc3QpIHtcbiAgICAgIC8vIEdJVkVOXG4gICAgICBjb25zdCBzdGFnaW5nID0gcGF0aC5yZXNvbHZlKG1rZHRlbXBTeW5jKCkpO1xuICAgICAgY29uc3QgYXBwID0gbmV3IEFwcCh7XG4gICAgICAgIG91dGRpcjogc3RhZ2luZyxcbiAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgIFtjeGFwaS5ESVNBQkxFX0FTU0VUX1NUQUdJTkdfQ09OVEVYVF06ICd0cnVlJyxcbiAgICAgICAgICBbY3hhcGkuQVNTRVRfUkVTT1VSQ0VfTUVUQURBVEFfRU5BQkxFRF9DT05URVhUXTogJ3RydWUnLFxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soYXBwLCAnc3RhY2snKTtcblxuICAgICAgY29uc3QgcmVzb3VyY2UgPSBuZXcgY2RrLkNmblJlc291cmNlKHN0YWNrLCAnTXlSZXNvdXJjZScsIHsgdHlwZTogJ015OjpSZXNvdXJjZTo6VHlwZScgfSk7XG4gICAgICBjb25zdCBhc3NldCA9IG5ldyBBc3NldChzdGFjaywgJ015QXNzZXQnLCB7IHBhdGg6IFNBTVBMRV9BU1NFVF9ESVIgfSk7XG5cbiAgICAgIC8vIFdIRU5cbiAgICAgIGFzc2V0LmFkZFJlc291cmNlTWV0YWRhdGEocmVzb3VyY2UsICdQcm9wTmFtZScpO1xuXG4gICAgICBjb25zdCB0ZW1wbGF0ZSA9IFN5bnRoVXRpbHMuc3ludGhlc2l6ZShzdGFjaykudGVtcGxhdGU7XG4gICAgICB0ZXN0LmRlZXBFcXVhbCh0ZW1wbGF0ZS5SZXNvdXJjZXMuTXlSZXNvdXJjZS5NZXRhZGF0YSwge1xuICAgICAgICBcImF3czphc3NldDpwYXRoXCI6IFNBTVBMRV9BU1NFVF9ESVIsXG4gICAgICAgIFwiYXdzOmFzc2V0OnByb3BlcnR5XCI6IFwiUHJvcE5hbWVcIlxuICAgICAgfSk7XG4gICAgICB0ZXN0LmRvbmUoKTtcbiAgICB9LFxuXG4gICAgJ2NkayBtZXRhZGF0YSBwb2ludHMgdG8gc3RhZ2VkIGFzc2V0Jyh0ZXN0OiBUZXN0KSB7XG4gICAgICAvLyBHSVZFTlxuICAgICAgY29uc3QgYXBwID0gbmV3IEFwcCgpO1xuICAgICAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soYXBwLCAnc3RhY2snKTtcbiAgICAgIG5ldyBBc3NldChzdGFjaywgJ015QXNzZXQnLCB7IHBhdGg6IFNBTVBMRV9BU1NFVF9ESVIgfSk7XG5cbiAgICAgIC8vIFdIRU5cbiAgICAgIGNvbnN0IHNlc3Npb24gPSBhcHAuc3ludGgoKTtcbiAgICAgIGNvbnN0IGFydGlmYWN0ID0gc2Vzc2lvbi5nZXRTdGFjayhzdGFjay5zdGFja05hbWUpO1xuICAgICAgY29uc3QgbWV0YWRhdGEgPSBhcnRpZmFjdC5tYW5pZmVzdC5tZXRhZGF0YSB8fCB7fTtcbiAgICAgIGNvbnN0IG1kID0gT2JqZWN0LnZhbHVlcyhtZXRhZGF0YSlbMF0hWzBdIS5kYXRhO1xuICAgICAgdGVzdC5kZWVwRXF1YWwobWQucGF0aCwgJ2Fzc2V0LjZiODRiODcyNDNhNGEwMWM1OTJkNzhlMWZkMzg1NWM0YmZlZjM5MzI4Y2QwYTQ1MGNjOTdlODE3MTdmZWEyYTInKTtcbiAgICAgIHRlc3QuZG9uZSgpO1xuICAgIH1cblxuICB9XG59O1xuXG5mdW5jdGlvbiBta2R0ZW1wU3luYygpIHtcbiAgcmV0dXJuIGZzLm1rZHRlbXBTeW5jKHBhdGguam9pbihvcy50bXBkaXIoKSwgJ3Rlc3QuYXNzZXRzJykpO1xufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5hc3NldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3QuYXNzZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDRDQUFpRjtBQUNqRix3Q0FBeUM7QUFDekMscUNBQXNDO0FBQ3RDLHdDQUEyQztBQUMzQyx5Q0FBMEM7QUFDMUMseUJBQTBCO0FBRTFCLHlCQUEwQjtBQUMxQiw2QkFBOEI7QUFDOUIsd0NBQXFDO0FBRXJDLGlDQUFpQztBQUVqQyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLHdCQUF3QixDQUFDLENBQUM7QUFtVnhFLFNBQVMsV0FBVztJQUNsQixPQUFPLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQztBQUMvRCxDQUFDO0FBblZELGlCQUFTO0lBQ1AsaUJBQWlCLENBQUMsSUFBVTtRQUMxQixNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFDdEIsT0FBTyxFQUFFO2dCQUNQLENBQUMsS0FBSyxDQUFDLDZCQUE2QixDQUFDLEVBQUUsTUFBTTthQUM5QztTQUNGLENBQUMsQ0FBQztRQUNILE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDNUMsSUFBSSxhQUFLLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRTtZQUMxQixJQUFJLEVBQUUsZ0JBQWdCO1NBQ3ZCLENBQUMsQ0FBQztRQUVILDhEQUE4RDtRQUM5RCwwQkFBMEI7UUFDMUIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsRUFBRSxD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QztZQUN6RCxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDbEQsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUUsQ0FBQyxDQUFDLENBQUUsQ0FBQyxJQUFJLENBQUM7WUFDaEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLHdFQUF3RSxDQUFDLENBQUM7WUFDbEcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2QsQ0FBQztLQUVGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4cGVjdCwgaGF2ZVJlc291cmNlLCBSZXNvdXJjZVBhcnQsIFN5bnRoVXRpbHMgfSBmcm9tICdAYXdzLWNkay9hc3NlcnQnO1xuaW1wb3J0IGlhbSA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2F3cy1pYW0nKTtcbmltcG9ydCBjZGsgPSByZXF1aXJlKCdAYXdzLWNkay9jb3JlJyk7XG5pbXBvcnQgeyBBcHAsIFN0YWNrIH0gZnJvbSAnQGF3cy1jZGsvY29yZSc7XG5pbXBvcnQgY3hhcGkgPSByZXF1aXJlKCdAYXdzLWNkay9jeC1hcGknKTtcbmltcG9ydCBmcyA9IHJlcXVpcmUoJ2ZzJyk7XG5pbXBvcnQgeyBUZXN0IH0gZnJvbSAnbm9kZXVuaXQnO1xuaW1wb3J0IG9zID0gcmVxdWlyZSgnb3MnKTtcbmltcG9ydCBwYXRoID0gcmVxdWlyZSgncGF0aCcpO1xuaW1wb3J0IHsgQXNzZXQgfSBmcm9tICcuLi9saWIvYXNzZXQnO1xuXG4vLyB0c2xpbnQ6ZGlzYWJsZTptYXgtbGluZS1sZW5ndGhcblxuY29uc3QgU0FNUExFX0FTU0VUX0RJUiA9IHBhdGguam9pbihfX2Rpcm5hbWUsICdzYW1wbGUtYXNzZXQtZGlyZWN0b3J5Jyk7XG5cbmV4cG9ydCA9IHtcbiAgJ3NpbXBsZSB1c2UgY2FzZScodGVzdDogVGVzdCkgIHtcbiAgICBjb25zdCBhcHAgPSBuZXcgY2RrLkFwcCh7XG4gICAgICBjb250ZXh0OiB7XG4gICAgICAgIFtjeGFwaS5ESVNBQkxFX0FTU0VUX1NUQUdJTkdfQ09OVEVYVF06ICd0cnVlJ1xuICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjayhhcHAsICdNeVN0YWNrJyk7XG4gICAgbmV3IEFzc2V0KHN0YWNrLCAnTXlBc3NldCcsIHtcbiAgICAgIHBhdGg6IFNBTVBMRV9BU1NFVF9ESVJcbiAgICB9KTtcblxuICAgIC8vIHZlcmlmeSB0aGF0IG1ldGFkYXRhIGNvbnRhaW5zIGFuIFwiYXdzOmNkazphc3NldFwiIGVudHJ5IHdpdGhcbiAgICAvLyB0aGUgY29ycmVjdCBpbmZvcm1hdGlvblxuICAgIGNvbnN0IGVudHJ5ID0gc3RhY2subm9kZS5tZXRhZGF0YS5maW5kKG0gPT4gbS50eXBlID09PSAnYXdzOmNkazphc3NldCcpO1xuICAgIHRlc3Qub2soZW50cnksICdmb3VuZCBtZXRhZGF0YSBlbnRyeScpO1xuXG4gICAgLy8gdmVyaWZ5IHRoYXQgbm93IHRoZSB0ZW1wbGF0ZSBjb250YWlucyBwYXJhbWV0ZXJzIGZvciB0aGlzIGFzc2V0XG4gICAgY29uc3Qgc2Vzc2lvbiA9IGFwcC5zeW50aCgpO1xuXG4gICAgdGVzdC5kZWVwRXF1YWwoc3RhY2sucmVzb2x2ZShlbnRyeSEuZGF0YSksIHtcbiAgICAgIHBhdGg6IFNBTVBMRV9BU1NFVF9ESVIsXG4gICAgICBpZDogJzZiODRiODcyNDNhNGEwMWM1OTJkNzhlMWZkMzg1NWM0YmZlZjM5MzI4Y2QwYTQ1MGNjOTdlODE3MTdmZWEyYTInLFxuICAgICAgcGFja2FnaW5nOiAnemlwJyxcbiAgICAgIHNvdXJjZUhhc2g6ICc2Yjg0Yjg3MjQzYTRhMDFjNTkyZDc4ZTFmZDM4NTVjNGJmZWYzOTMyOGNkMGE0NTBjYzk3ZTgxNzE3ZmVhMmEyJyxcbiAgICAgIHMzQnVja2V0UGFyYW1ldGVyOiAnQXNzZXRQYXJhbWV0ZXJzNmI4NGI4NzI0M2E0YTAxYzU5MmQ3OGUxZmQzODU1YzRiZmVmMzkzMjhjZDBhNDUwY2M5N2U4MTcxN2ZlYTJhMlMzQnVja2V0NTBCNUExMEInLFxuICAgICAgczNLZXlQYXJhbWV0ZXI6ICdBc3NldFBhcmFtZXRlcnM2Yjg0Yjg3MjQzYTRhMDFjNTkyZDc4ZTFmZDM4NTVjNGJmZWYzOTMyOGNkMGE0NTBjYzk3ZTgxNzE3ZmVhMmEyUzNWZXJzaW9uS2V5MUY3RDc1RjknLFxuICAgICAgYXJ0aWZhY3RIYXNoUGFyYW1ldGVyOiAnQXNzZXRQYXJhbWV0ZXJzNmI4NGI4NzI0M2E0YTAxYzU5MmQ3OGUxZmQzODU1YzRiZmVmMzkzMjhjZDBhNDUwY2M5N2U4MTcxN2ZlYTJhMkFydGlmYWN0SGFzaDIyMERFOUJEJyxcbiAgICB9KTtcblxuICAgIGNvbnN0IHRlbXBsYXRlID0gSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHNlc3Npb24uZGlyZWN0b3J5LCAnTXlTdGFjay50ZW1wbGF0ZS5qc29uJyksICd1dGYtOCcpKTtcblxuICAgIHRlc3QuZXF1YWwodGVtcGxhdGUuUGFyYW1ldGVycy5Bc3NldFBhcmFtZXRlcnM2Yjg0Yjg3MjQzYTRhMDFjNTkyZDc4ZTFmZDM4NTVjNGJmZWYzOTMyOGNkMGE0NTBjYzk3ZTgxNzE3ZmVhMmEyUzNCdWNrZXQ1MEI1QTEwQi5UeXBlLCAnU3RyaW5nJyk7XG4gICAgdGVzdC5lcXVhbCh0ZW1wbGF0ZS5QYXJhbWV0ZXJzLkFzc2V0UGFyYW1ldGVyczZiODRiODcyNDNhNGEwMWM1OTJkNzhlMWZkMzg1NWM0YmZlZjM5MzI4Y2QwYTQ1MGNjOTdlODE3MTdmZWEyYTJTM1ZlcnNpb25LZXkxRjdENzVGOS5UeXBlLCAnU3RyaW5nJyk7XG5cbiAgICB0ZXN0LmRvbmUoKTtcbiAgfSxcblxuICAndmVyaWZ5IHRoYXQgdGhlIGFwcCByZXNvbHZlcyB0b2tlbnMgaW4gbWV0YWRhdGEnKHRlc3Q6IFRlc3QpIHtcbiAgICBjb25zdCBhcHAgPSBuZXcgY2RrLkFwcCgpO1xuICAgIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjayhhcHAsICdteS1zdGFjaycpO1xuICAgIGNvbnN0IGRpclBhdGggPSBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnc2FtcGxlLWFzc2V0LWRpcmVjdG9yeScpO1xuXG4gICAgbmV3IEFzc2V0KHN0YWNrLCAnTXlBc3NldCcsIHtcbiAgICAgIHBhdGg6IGRpclBhdGhcbiAgICB9KTtcblxuICAgIGNvbnN0IHN5bnRoID0gYXBwLnN5bnRoKCkuZ2V0U3RhY2tCeU5hbWUoc3RhY2suc3RhY2tOYW1lKTtcbiAgICBjb25zdCBtZXRhID0gc3ludGgubWFuaWZlc3QubWV0YWRhdGEgfHwge307XG4gICAgdGVzdC5vayhtZXRhWycvbXktc3RhY2snXSk7XG4gICAgdGVzdC5vayhtZXRhWycvbXktc3RhY2snXVswXSk7XG4gICAgdGVzdC5kZWVwRXF1YWwobWV0YVsnL215LXN0YWNrJ11bMF0uZGF0YSwge1xuICAgICAgcGF0aDogJ2Fzc2V0LjZiODRiODcyNDNhNGEwMWM1OTJkNzhlMWZkMzg1NWM0YmZlZjM5MzI4Y2QwYTQ1MGNjOTdlODE3MTdmZWEyYTInLFxuICAgICAgaWQ6IFwiNmI4NGI4NzI0M2E0YTAxYzU5MmQ3OGUxZmQzODU1YzRiZmVmMzkzMjhjZDBhNDUwY2M5N2U4MTcxN2ZlYTJhMlwiLFxuICAgICAgcGFja2FnaW5nOiBcInppcFwiLFxuICAgICAgc291cmNlSGFzaDogJzZiODRiODcyNDNhNGEwMWM1OTJkNzhlMWZkMzg1NWM0YmZlZjM5MzI4Y2QwYTQ1MGNjOTdlODE3MTdmZWEyYTInLFxuICAgICAgczNCdWNrZXRQYXJhbWV0ZXI6IFwiQXNzZXRQYXJhbWV0ZXJzNmI4NGI4NzI0M2E0YTAxYzU5MmQ3OGUxZmQzODU1YzRiZmVmMzkzMjhjZDBhNDUwY2M5N2U4MTcxN2ZlYTJhMlMzQnVja2V0NTBCNUExMEJcIixcbiAgICAgIHMzS2V5UGFyYW1ldGVyOiBcIkFzc2V0UGFyYW1ldGVyczZiODRiODcyNDNhNGEwMWM1OTJkNzhlMWZkMzg1NWM0YmZlZjM5MzI4Y2QwYTQ1MGNjOTdlODE3MTdmZWEyYTJTM1ZlcnNpb25LZXkxRjdENzVGOVwiLFxuICAgICAgYXJ0aWZhY3RIYXNoUGFyYW1ldGVyOiAnQXNzZXRQYXJhbWV0ZXJzNmI4NGI4NzI0M2E0YTAxYzU5MmQ3OGUxZmQzODU1YzRiZmVmMzkzMjhjZDBhNDUwY2M5N2U4MTcxN2ZlYTJhMkFydGlmYWN0SGFzaDIyMERFOUJEJyxcbiAgICB9KTtcblxuICAgIHRlc3QuZG9uZSgpO1xuICB9LFxuXG4gICdcImZpbGVcIiBhc3NldHMnKHRlc3Q6IFRlc3QpIHtcbiAgICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2soKTtcbiAgICBjb25zdCBmaWxlUGF0aCA9IHBhdGguam9pbihfX2Rpcm5hbWUsICdmaWxlLWFzc2V0LnR4dCcpO1xuICAgIG5ldyBBc3NldChzdGFjaywgJ015QXNzZXQnLCB7IHBhdGg6IGZpbGVQYXRoIH0pO1xuICAgIGNvbnN0IGVudHJ5ID0gc3RhY2subm9kZS5tZXRhZGF0YS5maW5kKG0gPT4gbS50eXBlID09PSAnYXdzOmNkazphc3NldCcpO1xuICAgIHRlc3Qub2soZW50cnksICdmb3VuZCBtZXRhZGF0YSBlbnRyeScpO1xuXG4gICAgLy8gc3ludGhlc2l6ZSBmaXJzdCBzbyBcInByZXBhcmVcIiBpcyBjYWxsZWRcbiAgICBjb25zdCB0ZW1wbGF0ZSA9IFN5bnRoVXRpbHMuc3ludGhlc2l6ZShzdGFjaykudGVtcGxhdGU7XG5cbiAgICB0ZXN0LmRlZXBFcXVhbChzdGFjay5yZXNvbHZlKGVudHJ5IS5kYXRhKSwge1xuICAgICAgcGF0aDogJ2Fzc2V0Ljc4YWRkOWVhZjQ2OGRmYTIxOTFkYTQ0YTdkYTkyYTIxYmFiYTRjNjg2Y2Y2MDUzZDc3MjU1Njc2OGVmMjExOTcudHh0JyxcbiAgICAgIHBhY2thZ2luZzogJ2ZpbGUnLFxuICAgICAgaWQ6ICc3OGFkZDllYWY0NjhkZmEyMTkxZGE0NGE3ZGE5MmEyMWJhYmE0YzY4NmNmNjA1M2Q3NzI1NTY3NjhlZjIxMTk3JyxcbiAgICAgIHNvdXJjZUhhc2g6ICc3OGFkZDllYWY0NjhkZmEyMTkxZGE0NGE3ZGE5MmEyMWJhYmE0YzY4NmNmNjA1M2Q3NzI1NTY3NjhlZjIxMTk3JyxcbiAgICAgIHMzQnVja2V0UGFyYW1ldGVyOiAnQXNzZXRQYXJhbWV0ZXJzNzhhZGQ5ZWFmNDY4ZGZhMjE5MWRhNDRhN2RhOTJhMjFiYWJhNGM2ODZjZjYwNTNkNzcyNTU2NzY4ZWYyMTE5N1MzQnVja2V0MkM2MEY5NEEnLFxuICAgICAgczNLZXlQYXJhbWV0ZXI6ICdBc3NldFBhcmFtZXRlcnM3OGFkZDllYWY0NjhkZmEyMTkxZGE0NGE3ZGE5MmEyMWJhYmE0YzY4NmNmNjA1M2Q3NzI1NTY3NjhlZjIxMTk3UzNWZXJzaW9uS2V5OTQ4MkRDMzUnLFxuICAgICAgYXJ0aWZhY3RIYXNoUGFyYW1ldGVyOiAnQXNzZXRQYXJhbWV0ZXJzNzhhZGQ5ZWFmNDY4ZGZhMjE5MWRhNDRhN2RhOTJhMjFiYWJhNGM2ODZjZjYwNTNkNzcyNTU2NzY4ZWYyMTE5N0FydGlmYWN0SGFzaDIyQkZGQTY3JyxcbiAgICB9KTtcblxuICAgIC8vIHZlcmlmeSB0aGF0IG5vdyB0aGUgdGVtcGxhdGUgY29udGFpbnMgcGFyYW1ldGVycyBmb3IgdGhpcyBhc3NldFxuICAgIHRlc3QuZXF1YWwodGVtcGxhdGUuUGFyYW1ldGVycy5Bc3NldFBhcmFtZXRlcnM3OGFkZDllYWY0NjhkZmEyMTkxZGE0NGE3ZGE5MmEyMWJhYmE0YzY4NmNmNjA1M2Q3NzI1NTY3NjhlZjIxMTk3UzNCdWNrZXQyQzYwRjk0QS5UeXBlLCAnU3RyaW5nJyk7XG4gICAgdGVzdC5lcXVhbCh0ZW1wbGF0ZS5QYXJhbWV0ZXJzLkFzc2V0UGFyYW1ldGVyczc4YWRkOWVhZjQ2OGRmYTIxOTFkYTQ0YTdkYTkyYTIxYmFiYTRjNjg2Y2Y2MDUzZDc3MjU1Njc2OGVmMjExOTdTM1ZlcnNpb25LZXk5NDgyREMzNS5UeXBlLCAnU3RyaW5nJyk7XG5cbiAgICB0ZXN0LmRvbmUoKTtcbiAgfSxcblxuICAnXCJyZWFkZXJzXCIgb3IgXCJncmFudFJlYWRcIiBjYW4gYmUgdXNlZCB0byBncmFudCByZWFkIHBlcm1pc3Npb25zIG9uIHRoZSBhc3NldCB0byBhIHByaW5jaXBhbCcodGVzdDogVGVzdCkge1xuICAgIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjaygpO1xuICAgIGNvbnN0IHVzZXIgPSBuZXcgaWFtLlVzZXIoc3RhY2ssICdNeVVzZXInKTtcbiAgICBjb25zdCBncm91cCA9IG5ldyBpYW0uR3JvdXAoc3RhY2ssICdNeUdyb3VwJyk7XG5cbiAgICBjb25zdCBhc3NldCA9IG5ldyBBc3NldChzdGFjaywgJ015QXNzZXQnLCB7XG4gICAgICBwYXRoOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnc2FtcGxlLWFzc2V0LWRpcmVjdG9yeScpLFxuICAgICAgcmVhZGVyczogWyB1c2VyIF1cbiAgICB9KTtcblxuICAgIGFzc2V0LmdyYW50UmVhZChncm91cCk7XG5cbiAgICBleHBlY3Qoc3RhY2spLnRvKGhhdmVSZXNvdXJjZSgnQVdTOjpJQU06OlBvbGljeScsIHtcbiAgICAgIFBvbGljeURvY3VtZW50OiB7XG4gICAgICAgIFZlcnNpb246ICcyMDEyLTEwLTE3JyxcbiAgICAgICAgU3RhdGVtZW50OiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgQWN0aW9uOiBbXCJzMzpHZXRPYmplY3QqXCIsIFwiczM6R2V0QnVja2V0KlwiLCBcInMzOkxpc3QqXCJdLFxuICAgICAgICAgICAgRWZmZWN0OiAnQWxsb3cnLFxuICAgICAgICAgICAgUmVzb3VyY2U6IFtcbiAgICAgICAgICAgICAgeyBcIkZuOjpKb2luXCI6IFtcIlwiLCBbXCJhcm46XCIsIHtSZWY6IFwiQVdTOjpQYXJ0aXRpb25cIn0sIFwiOnMzOjo6XCIsIHtSZWY6IFwiQXNzZXRQYXJhbWV0ZXJzNmI4NGI4NzI0M2E0YTAxYzU5MmQ3OGUxZmQzODU1YzRiZmVmMzkzMjhjZDBhNDUwY2M5N2U4MTcxN2ZlYTJhMlMzQnVja2V0NTBCNUExMEJcIn0gXSBdIH0sXG4gICAgICAgICAgICAgIHsgXCJGbjo6Sm9pblwiOiBbXCJcIiwgWyBcImFybjpcIiwge1JlZjogXCJBV1M6OlBhcnRpdGlvblwifSwgXCI6czM6OjpcIiwge1JlZjogXCJBc3NldFBhcmFtZXRlcnM2Yjg0Yjg3MjQzYTRhMDFjNTkyZDc4ZTFmZDM4NTVjNGJmZWYzOTMyOGNkMGE0NTBjYzk3ZTgxNzE3ZmVhMmEyUzNCdWNrZXQ1MEI1QTEwQlwifSwgXCIvKlwiIF0gXSB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgfSkpO1xuXG4gICAgdGVzdC5kb25lKCk7XG4gIH0sXG4gICdmYWlscyBpZiBkaXJlY3Rvcnkgbm90IGZvdW5kJyh0ZXN0OiBUZXN0KSB7XG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKCk7XG4gICAgdGVzdC50aHJvd3MoKCkgPT4gbmV3IEFzc2V0KHN0YWNrLCAnTXlEaXJlY3RvcnknLCB7XG4gICAgICBwYXRoOiAnL3BhdGgvbm90L2ZvdW5kLycgKyBNYXRoLnJhbmRvbSgpICogOTk5OTk5XG4gICAgfSkpO1xuICAgIHRlc3QuZG9uZSgpO1xuICB9LFxuXG4gICdtdWx0aXBsZSBhc3NldHMgdW5kZXIgdGhlIHNhbWUgcGFyZW50Jyh0ZXN0OiBUZXN0KSB7XG4gICAgLy8gR0lWRU5cbiAgICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2soKTtcblxuICAgIC8vIFdIRU5cbiAgICBuZXcgQXNzZXQoc3RhY2ssICdNeURpcmVjdG9yeTEnLCB7IHBhdGg6IHBhdGguam9pbihfX2Rpcm5hbWUsICdzYW1wbGUtYXNzZXQtZGlyZWN0b3J5JykgfSk7XG4gICAgbmV3IEFzc2V0KHN0YWNrLCAnTXlEaXJlY3RvcnkyJywgeyBwYXRoOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnc2FtcGxlLWFzc2V0LWRpcmVjdG9yeScpIH0pO1xuXG4gICAgLy8gVEhFTjogbm8gZXJyb3JcblxuICAgIHRlc3QuZG9uZSgpO1xuICB9LFxuXG4gICdpc1ppcEFyY2hpdmUgaW5kaWNhdGVzIGlmIHRoZSBhc3NldCByZXByZXNlbnRzIGEgLnppcCBmaWxlIChlaXRoZXIgZXhwbGljaXRseSBvciB2aWEgWmlwRGlyZWN0b3J5IHBhY2thZ2luZyknKHRlc3Q6IFRlc3QpIHtcbiAgICAvLyBHSVZFTlxuICAgIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjaygpO1xuXG4gICAgLy8gV0hFTlxuICAgIGNvbnN0IG5vblppcEFzc2V0ID0gbmV3IEFzc2V0KHN0YWNrLCAnTm9uWmlwQXNzZXQnLCB7XG4gICAgICBwYXRoOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnc2FtcGxlLWFzc2V0LWRpcmVjdG9yeScsICdzYW1wbGUtYXNzZXQtZmlsZS50eHQnKVxuICAgIH0pO1xuXG4gICAgY29uc3QgemlwRGlyZWN0b3J5QXNzZXQgPSBuZXcgQXNzZXQoc3RhY2ssICdaaXBEaXJlY3RvcnlBc3NldCcsIHtcbiAgICAgIHBhdGg6IHBhdGguam9pbihfX2Rpcm5hbWUsICdzYW1wbGUtYXNzZXQtZGlyZWN0b3J5JylcbiAgICB9KTtcblxuICAgIGNvbnN0IHppcEZpbGVBc3NldCA9IG5ldyBBc3NldChzdGFjaywgJ1ppcEZpbGVBc3NldCcsIHtcbiAgICAgIHBhdGg6IHBhdGguam9pbihfX2Rpcm5hbWUsICdzYW1wbGUtYXNzZXQtZGlyZWN0b3J5JywgJ3NhbXBsZS16aXAtYXNzZXQuemlwJylcbiAgICB9KTtcblxuICAgIGNvbnN0IGphckZpbGVBc3NldCA9IG5ldyBBc3NldChzdGFjaywgJ0phckZpbGVBc3NldCcsIHtcbiAgICAgIHBhdGg6IHBhdGguam9pbihfX2Rpcm5hbWUsICdzYW1wbGUtYXNzZXQtZGlyZWN0b3J5JywgJ3NhbXBsZS1qYXItYXNzZXQuamFyJylcbiAgICB9KTtcblxuICAgIC8vIFRIRU5cbiAgICB0ZXN0LmVxdWFsKG5vblppcEFzc2V0LmlzWmlwQXJjaGl2ZSwgZmFsc2UpO1xuICAgIHRlc3QuZXF1YWwoemlwRGlyZWN0b3J5QXNzZXQuaXNaaXBBcmNoaXZlLCB0cnVlKTtcbiAgICB0ZXN0LmVxdWFsKHppcEZpbGVBc3NldC5pc1ppcEFyY2hpdmUsIHRydWUpO1xuICAgIHRlc3QuZXF1YWwoamFyRmlsZUFzc2V0LmlzWmlwQXJjaGl2ZSwgdHJ1ZSk7XG4gICAgdGVzdC5kb25lKCk7XG4gIH0sXG5cbiAgJ2FkZFJlc291cmNlTWV0YWRhdGEgY2FuIGJlIHVzZWQgdG8gYWRkIENGTiBtZXRhZGF0YSB0byByZXNvdXJjZXMnKHRlc3Q6IFRlc3QpIHtcbiAgICAvLyBHSVZFTlxuICAgIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjaygpO1xuICAgIHN0YWNrLm5vZGUuc2V0Q29udGV4dChjeGFwaS5BU1NFVF9SRVNPVVJDRV9NRVRBREFUQV9FTkFCTEVEX0NPTlRFWFQsIHRydWUpO1xuXG4gICAgY29uc3QgbG9jYXRpb24gPSBwYXRoLmpvaW4oX19kaXJuYW1lLCAnc2FtcGxlLWFzc2V0LWRpcmVjdG9yeScpO1xuICAgIGNvbnN0IHJlc291cmNlID0gbmV3IGNkay5DZm5SZXNvdXJjZShzdGFjaywgJ015UmVzb3VyY2UnLCB7IHR5cGU6ICdNeTo6UmVzb3VyY2U6OlR5cGUnIH0pO1xuICAgIGNvbnN0IGFzc2V0ID0gbmV3IEFzc2V0KHN0YWNrLCAnTXlBc3NldCcsIHsgcGF0aDogbG9jYXRpb24gfSk7XG5cbiAgICAvLyBXSEVOXG4gICAgYXNzZXQuYWRkUmVzb3VyY2VNZXRhZGF0YShyZXNvdXJjZSwgJ1Byb3BOYW1lJyk7XG5cbiAgICAvLyBUSEVOXG4gICAgZXhwZWN0KHN0YWNrKS50byhoYXZlUmVzb3VyY2UoJ015OjpSZXNvdXJjZTo6VHlwZScsIHtcbiAgICAgIE1ldGFkYXRhOiB7XG4gICAgICAgIFwiYXdzOmFzc2V0OnBhdGhcIjogJ2Fzc2V0LjZiODRiODcyNDNhNGEwMWM1OTJkNzhlMWZkMzg1NWM0YmZlZjM5MzI4Y2QwYTQ1MGNjOTdlODE3MTdmZWEyYTInLFxuICAgICAgICBcImF3czphc3NldDpwcm9wZXJ0eVwiOiBcIlByb3BOYW1lXCJcbiAgICAgIH1cbiAgICB9LCBSZXNvdXJjZVBhcnQuQ29tcGxldGVEZWZpbml0aW9uKSk7XG4gICAgdGVzdC5kb25lKCk7XG4gIH0sXG5cbiAgJ2Fzc2V0IG1ldGFkYXRhIGlzIG9ubHkgZW1pdHRlZCBpZiBBU1NFVF9SRVNPVVJDRV9NRVRBREFUQV9FTkFCTEVEX0NPTlRFWFQgaXMgZGVmaW5lZCcodGVzdDogVGVzdCkge1xuICAgIC8vIEdJVkVOXG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKCk7XG5cbiAgICBjb25zdCByZXNvdXJjZSA9IG5ldyBjZGsuQ2ZuUmVzb3VyY2Uoc3RhY2ssICdNeVJlc291cmNlJywgeyB0eXBlOiAnTXk6OlJlc291cmNlOjpUeXBlJyB9KTtcbiAgICBjb25zdCBhc3NldCA9IG5ldyBBc3NldChzdGFjaywgJ015QXNzZXQnLCB7IHBhdGg6IFNBTVBMRV9BU1NFVF9ESVIgfSk7XG5cbiAgICAvLyBXSEVOXG4gICAgYXNzZXQuYWRkUmVzb3VyY2VNZXRhZGF0YShyZXNvdXJjZSwgJ1Byb3BOYW1lJyk7XG5cbiAgICAvLyBUSEVOXG4gICAgZXhwZWN0KHN0YWNrKS5ub3RUbyhoYXZlUmVzb3VyY2UoJ015OjpSZXNvdXJjZTo6VHlwZScsIHtcbiAgICAgIE1ldGFkYXRhOiB7XG4gICAgICAgIFwiYXdzOmFzc2V0OnBhdGhcIjogU0FNUExFX0FTU0VUX0RJUixcbiAgICAgICAgXCJhd3M6YXNzZXQ6cHJvcGVydHlcIjogXCJQcm9wTmFtZVwiXG4gICAgICB9XG4gICAgfSwgUmVzb3VyY2VQYXJ0LkNvbXBsZXRlRGVmaW5pdGlvbikpO1xuXG4gICAgdGVzdC5kb25lKCk7XG4gIH0sXG5cbiAgJ3N0YWdpbmcnOiB7XG5cbiAgICAnY29weSBmaWxlIGFzc2V0cyB1bmRlciA8b3V0ZGlyPi8ke2ZpbmdlcnByaW50fS5leHQnKHRlc3Q6IFRlc3QpIHtcbiAgICAgIGNvbnN0IHRlbXBkaXIgPSBta2R0ZW1wU3luYygpO1xuICAgICAgcHJvY2Vzcy5jaGRpcih0ZW1wZGlyKTsgLy8gY2hhbmdlIGN1cnJlbnQgZGlyZWN0b3J5IHRvIHNvbWV3aGVyZSBpbiAvdG1wXG5cbiAgICAgIC8vIEdJVkVOXG4gICAgICBjb25zdCBhcHAgPSBuZXcgQXBwKHsgb3V0ZGlyOiB0ZW1wZGlyIH0pO1xuICAgICAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soYXBwLCAnc3RhY2snKTtcblxuICAgICAgLy8gV0hFTlxuICAgICAgbmV3IEFzc2V0KHN0YWNrLCAnWmlwRmlsZScsIHtcbiAgICAgICAgcGF0aDogcGF0aC5qb2luKFNBTVBMRV9BU1NFVF9ESVIsICdzYW1wbGUtemlwLWFzc2V0LnppcCcpXG4gICAgICB9KTtcblxuICAgICAgbmV3IEFzc2V0KHN0YWNrLCAnVGV4dEZpbGUnLCB7XG4gICAgICAgIHBhdGg6IHBhdGguam9pbihTQU1QTEVfQVNTRVRfRElSLCAnc2FtcGxlLWFzc2V0LWZpbGUudHh0JylcbiAgICAgIH0pO1xuXG4gICAgICAvLyBUSEVOXG4gICAgICBhcHAuc3ludGgoKTtcbiAgICAgIHRlc3Qub2soZnMuZXhpc3RzU3luYyh0ZW1wZGlyKSk7XG4gICAgICB0ZXN0Lm9rKGZzLmV4aXN0c1N5bmMocGF0aC5qb2luKHRlbXBkaXIsICdhc3NldC5hN2E3OWNkZjg0YjgwMmVhOGIxOTgwNTlmZjg5OWNmZmMwOTVhMWI5NjA2ZTkxOWY5OGUwNWJmODA3Nzk3NTZiLnppcCcpKSk7XG4gICAgICB0ZXN0LmRvbmUoKTtcbiAgICB9LFxuXG4gICAgJ2NvcHkgZGlyZWN0b3J5IHVuZGVyIC5hc3NldHMvZmluZ2VycHJpbnQvKionKHRlc3Q6IFRlc3QpIHtcbiAgICAgIGNvbnN0IHRlbXBkaXIgPSBta2R0ZW1wU3luYygpO1xuICAgICAgcHJvY2Vzcy5jaGRpcih0ZW1wZGlyKTsgLy8gY2hhbmdlIGN1cnJlbnQgZGlyZWN0b3J5IHRvIHNvbWV3aGVyZSBpbiAvdG1wXG5cbiAgICAgIC8vIEdJVkVOXG4gICAgICBjb25zdCBhcHAgPSBuZXcgQXBwKHsgb3V0ZGlyOiB0ZW1wZGlyIH0pO1xuICAgICAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soYXBwLCAnc3RhY2snKTtcblxuICAgICAgLy8gV0hFTlxuICAgICAgbmV3IEFzc2V0KHN0YWNrLCAnWmlwRGlyZWN0b3J5Jywge1xuICAgICAgICBwYXRoOiBTQU1QTEVfQVNTRVRfRElSXG4gICAgICB9KTtcblxuICAgICAgLy8gVEhFTlxuICAgICAgYXBwLnN5bnRoKCk7XG4gICAgICB0ZXN0Lm9rKGZzLmV4aXN0c1N5bmModGVtcGRpcikpO1xuICAgICAgY29uc3QgaGFzaCA9ICdhc3NldC42Yjg0Yjg3MjQzYTRhMDFjNTkyZDc4ZTFmZDM4NTVjNGJmZWYzOTMyOGNkMGE0NTBjYzk3ZTgxNzE3ZmVhMmEyJztcbiAgICAgIHRlc3Qub2soZnMuZXhpc3RzU3luYyhwYXRoLmpvaW4odGVtcGRpciwgaGFzaCwgJ3NhbXBsZS1hc3NldC1maWxlLnR4dCcpKSk7XG4gICAgICB0ZXN0Lm9rKGZzLmV4aXN0c1N5bmMocGF0aC5qb2luKHRlbXBkaXIsIGhhc2gsICdzYW1wbGUtamFyLWFzc2V0LmphcicpKSk7XG4gICAgICBmcy5yZWFkZGlyU3luYyh0ZW1wZGlyKTtcbiAgICAgIHRlc3QuZG9uZSgpO1xuICAgIH0sXG5cbiAgICAnc3RhZ2luZyBwYXRoIGlzIHJlbGF0aXZlIGlmIHRoZSBkaXIgaXMgYmVsb3cgdGhlIHdvcmtpbmcgZGlyZWN0b3J5Jyh0ZXN0OiBUZXN0KSB7XG4gICAgICAvLyBHSVZFTlxuICAgICAgY29uc3QgdGVtcGRpciA9IG1rZHRlbXBTeW5jKCk7XG4gICAgICBwcm9jZXNzLmNoZGlyKHRlbXBkaXIpOyAvLyBjaGFuZ2UgY3VycmVudCBkaXJlY3RvcnkgdG8gc29tZXdoZXJlIGluIC90bXBcblxuICAgICAgY29uc3Qgc3RhZ2luZyA9ICcubXktYXdlc29tZS1zdGFnaW5nLWRpcmVjdG9yeSc7XG4gICAgICBjb25zdCBhcHAgPSBuZXcgQXBwKHtcbiAgICAgICAgb3V0ZGlyOiBzdGFnaW5nLFxuICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgW2N4YXBpLkFTU0VUX1JFU09VUkNFX01FVEFEQVRBX0VOQUJMRURfQ09OVEVYVF06ICd0cnVlJyxcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKGFwcCwgJ3N0YWNrJyk7XG5cbiAgICAgIGNvbnN0IHJlc291cmNlID0gbmV3IGNkay5DZm5SZXNvdXJjZShzdGFjaywgJ015UmVzb3VyY2UnLCB7IHR5cGU6ICdNeTo6UmVzb3VyY2U6OlR5cGUnIH0pO1xuICAgICAgY29uc3QgYXNzZXQgPSBuZXcgQXNzZXQoc3RhY2ssICdNeUFzc2V0JywgeyBwYXRoOiBTQU1QTEVfQVNTRVRfRElSIH0pO1xuXG4gICAgICAvLyBXSEVOXG4gICAgICBhc3NldC5hZGRSZXNvdXJjZU1ldGFkYXRhKHJlc291cmNlLCAnUHJvcE5hbWUnKTtcblxuICAgICAgY29uc3QgdGVtcGxhdGUgPSBTeW50aFV0aWxzLnN5bnRoZXNpemUoc3RhY2spLnRlbXBsYXRlO1xuICAgICAgdGVzdC5kZWVwRXF1YWwodGVtcGxhdGUuUmVzb3VyY2VzLk15UmVzb3VyY2UuTWV0YWRhdGEsIHtcbiAgICAgICAgXCJhd3M6YXNzZXQ6cGF0aFwiOiBgYXNzZXQuNmI4NGI4NzI0M2E0YTAxYzU5MmQ3OGUxZmQzODU1YzRiZmVmMzkzMjhjZDBhNDUwY2M5N2U4MTcxN2ZlYTJhMmAsXG4gICAgICAgIFwiYXdzOmFzc2V0OnByb3BlcnR5XCI6IFwiUHJvcE5hbWVcIlxuICAgICAgfSk7XG4gICAgICB0ZXN0LmRvbmUoKTtcbiAgICB9LFxuXG4gICAgJ2lmIHN0YWdpbmcgaXMgZGlzYWJsZWQsIGFzc2V0IHBhdGggaXMgYWJzb2x1dGUnKHRlc3Q6IFRlc3QpIHtcbiAgICAgIC8vIEdJVkVOXG4gICAgICBjb25zdCBzdGFnaW5nID0gcGF0aC5yZXNvbHZlKG1rZHRlbXBTeW5jKCkpO1xuICAgICAgY29uc3QgYXBwID0gbmV3IEFwcCh7XG4gICAgICAgIG91dGRpcjogc3RhZ2luZyxcbiAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgIFtjeGFwaS5ESVNBQkxFX0FTU0VUX1NUQUdJTkdfQ09OVEVYVF06ICd0cnVlJyxcbiAgICAgICAgICBbY3hhcGkuQVNTRVRfUkVTT1VSQ0VfTUVUQURBVEFfRU5BQkxFRF9DT05URVhUXTogJ3RydWUnLFxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soYXBwLCAnc3RhY2snKTtcblxuICAgICAgY29uc3QgcmVzb3VyY2UgPSBuZXcgY2RrLkNmblJlc291cmNlKHN0YWNrLCAnTXlSZXNvdXJjZScsIHsgdHlwZTogJ015OjpSZXNvdXJjZTo6VHlwZScgfSk7XG4gICAgICBjb25zdCBhc3NldCA9IG5ldyBBc3NldChzdGFjaywgJ015QXNzZXQnLCB7IHBhdGg6IFNBTVBMRV9BU1NFVF9ESVIgfSk7XG5cbiAgICAgIC8vIFdIRU5cbiAgICAgIGFzc2V0LmFkZFJlc291cmNlTWV0YWRhdGEocmVzb3VyY2UsICdQcm9wTmFtZScpO1xuXG4gICAgICBjb25zdCB0ZW1wbGF0ZSA9IFN5bnRoVXRpbHMuc3ludGhlc2l6ZShzdGFjaykudGVtcGxhdGU7XG4gICAgICB0ZXN0LmRlZXBFcXVhbCh0ZW1wbGF0ZS5SZXNvdXJjZXMuTXlSZXNvdXJjZS5NZXRhZGF0YSwge1xuICAgICAgICBcImF3czphc3NldDpwYXRoXCI6IFNBTVBMRV9BU1NFVF9ESVIsXG4gICAgICAgIFwiYXdzOmFzc2V0OnByb3BlcnR5XCI6IFwiUHJvcE5hbWVcIlxuICAgICAgfSk7XG4gICAgICB0ZXN0LmRvbmUoKTtcbiAgICB9LFxuXG4gICAgJ2NkayBtZXRhZGF0YSBwb2ludHMgdG8gc3RhZ2VkIGFzc2V0Jyh0ZXN0OiBUZXN0KSB7XG4gICAgICAvLyBHSVZFTlxuICAgICAgY29uc3QgYXBwID0gbmV3IEFwcCgpO1xuICAgICAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soYXBwLCAnc3RhY2snKTtcbiAgICAgIG5ldyBBc3NldChzdGFjaywgJ015QXNzZXQnLCB7IHBhdGg6IFNBTVBMRV9BU1NFVF9ESVIgfSk7XG5cbiAgICAgIC8vIFdIRU5cbiAgICAgIGNvbnN0IHNlc3Npb24gPSBhcHAuc3ludGgoKTtcbiAgICAgIGNvbnN0IGFydGlmYWN0ID0gc2Vzc2lvbi5nZXRTdGFja0J5TmFtZShzdGFjay5zdGFja05hbWUpO1xuICAgICAgY29uc3QgbWV0YWRhdGEgPSBhcnRpZmFjdC5tYW5pZmVzdC5tZXRhZGF0YSB8fCB7fTtcbiAgICAgIGNvbnN0IG1kID0gT2JqZWN0LnZhbHVlcyhtZXRhZGF0YSlbMF0hWzBdIS5kYXRhO1xuICAgICAgdGVzdC5kZWVwRXF1YWwobWQucGF0aCwgJ2Fzc2V0LjZiODRiODcyNDNhNGEwMWM1OTJkNzhlMWZkMzg1NWM0YmZlZjM5MzI4Y2QwYTQ1MGNjOTdlODE3MTdmZWEyYTInKTtcbiAgICAgIHRlc3QuZG9uZSgpO1xuICAgIH1cblxuICB9XG59O1xuXG5mdW5jdGlvbiBta2R0ZW1wU3luYygpIHtcbiAgcmV0dXJuIGZzLm1rZHRlbXBTeW5jKHBhdGguam9pbihvcy50bXBkaXIoKSwgJ3Rlc3QuYXNzZXRzJykpO1xufVxuIl19 |
@@ -54,5 +54,11 @@ { | ||
{ | ||
"path": "../../aws-cdk" | ||
}, | ||
{ | ||
"path": "../../../tools/cdk-build-tools" | ||
}, | ||
{ | ||
"path": "../../../tools/cdk-integ-tools" | ||
}, | ||
{ | ||
"path": "../../../tools/pkglint" | ||
@@ -59,0 +65,0 @@ } |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
144795
1100
+ Added@aws-cdk/assets@1.16.0(transitive)
+ Added@aws-cdk/aws-events@1.16.0(transitive)
+ Added@aws-cdk/aws-iam@1.16.0(transitive)
+ Added@aws-cdk/aws-kms@1.16.0(transitive)
+ Added@aws-cdk/aws-s3@1.16.0(transitive)
+ Added@aws-cdk/core@1.16.0(transitive)
+ Added@aws-cdk/cx-api@1.16.0(transitive)
+ Added@aws-cdk/region-info@1.16.0(transitive)
- Removed@aws-cdk/assets@1.15.0(transitive)
- Removed@aws-cdk/aws-events@1.15.0(transitive)
- Removed@aws-cdk/aws-iam@1.15.0(transitive)
- Removed@aws-cdk/aws-kms@1.15.0(transitive)
- Removed@aws-cdk/aws-s3@1.15.0(transitive)
- Removed@aws-cdk/core@1.15.0(transitive)
- Removed@aws-cdk/cx-api@1.15.0(transitive)
- Removed@aws-cdk/region-info@1.15.0(transitive)
Updated@aws-cdk/assets@1.16.0
Updated@aws-cdk/aws-iam@1.16.0
Updated@aws-cdk/aws-s3@1.16.0
Updated@aws-cdk/core@1.16.0
Updated@aws-cdk/cx-api@1.16.0