Socket
Socket
Sign inDemoInstall

@aws-cdk/region-info

Package Overview
Dependencies
Maintainers
2
Versions
524
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@aws-cdk/region-info - npm Package Compare versions

Comparing version 2.149.0 to 2.150.0

6

build-tools/generate-static-data.js

@@ -9,3 +9,2 @@ "use strict";

const aws_entities_1 = require("../lib/aws-entities");
const default_1 = require("../lib/default");
async function main() {

@@ -66,5 +65,2 @@ checkRegions(fact_tables_1.APPMESH_ECR_ACCOUNTS);

registerFact(region, 'VPC_ENDPOINT_SERVICE_NAME_PREFIX', vpcEndpointServiceNamePrefix);
for (const service of aws_entities_1.AWS_SERVICES) {
registerFact(region, ['servicePrincipal', service], default_1.Default.servicePrincipal(service, region, domainSuffix));
}
for (const version in fact_tables_1.CLOUDWATCH_LAMBDA_INSIGHTS_ARNS) {

@@ -141,2 +137,2 @@ for (const arch in fact_tables_1.CLOUDWATCH_LAMBDA_INSIGHTS_ARNS[version]) {

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtc3RhdGljLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJnZW5lcmF0ZS1zdGF0aWMtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBNkI7QUFDN0IsK0JBQStCO0FBQy9CLCtDQWN1QjtBQUN2Qix5Q0FBOEM7QUFDOUMsc0RBTTZCO0FBQzdCLDRDQUF5QztBQUVsQyxLQUFLLFVBQVUsSUFBSTtJQUN4QixZQUFZLENBQUMsa0NBQW9CLENBQUMsQ0FBQztJQUNuQyxZQUFZLENBQUMscUNBQXVCLENBQUMsQ0FBQztJQUN0QyxZQUFZLENBQUMsNEJBQWMsQ0FBQyxDQUFDO0lBQzdCLFlBQVksQ0FBQyxrQ0FBb0IsQ0FBQyxDQUFDO0lBQ25DLFlBQVksQ0FBQyw4Q0FBZ0MsQ0FBQyxDQUFDO0lBQy9DLGtCQUFrQixDQUFDLDZDQUErQixDQUFDLENBQUM7SUFDcEQsa0JBQWtCLENBQUMseUNBQTJCLENBQUMsQ0FBQztJQUVoRCxNQUFNLEtBQUssR0FBRztRQUNaLDBDQUEwQztRQUMxQyxFQUFFO1FBQ0Ysa0NBQWtDO1FBQ2xDLDhCQUE4QjtRQUM5QixFQUFFO1FBQ0YsS0FBSztRQUNMLG9FQUFvRTtRQUNwRSxJQUFJO1FBQ0osaUJBQWlCLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUU7UUFDM0MsS0FBSztRQUNMLHlCQUF5QjtRQUN6QixPQUFPO1FBQ1AsMkVBQTJFO1FBQzNFLE9BQU87UUFDUCxvQ0FBb0M7S0FDckMsQ0FBQztJQUVGLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQztJQUU3QixLQUFLLE1BQU0sTUFBTSxJQUFJLDBCQUFXLEVBQUUsQ0FBQztRQUNqQyxJQUFJLFNBQVMsR0FBRywyQkFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNwRCxJQUFJLFlBQVksR0FBRywyQkFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUUxRCxLQUFLLE1BQU0s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QUFDLElBQUEscUJBQU0sRUFBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFDbEUsQ0FBQztBQUZELHNCQUVDO0FBRUQsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO0lBQ2Ysc0NBQXNDO0lBQ3RDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCB7XG4gIEFQUE1FU0hfRUNSX0FDQ09VTlRTLFxuICBDTE9VRFdBVENIX0xBTUJEQV9JTlNJR0hUU19BUk5TLFxuICBETENfUkVQT1NJVE9SWV9BQ0NPVU5UUyxcbiAgRUxCVjJfQUNDT1VOVFMsXG4gIEZJUkVIT1NFX0NJRFJfQkxPQ0tTLFxuICBQQVJUSVRJT05fTUFQLFxuICBST1VURV81M19CVUNLRVRfV0VCU0lURV9aT05FX0lEUyxcbiAgRUJTX0VOVl9FTkRQT0lOVF9IT1NURURfWk9ORV9JRFMsXG4gIEFET1RfTEFNQkRBX0xBWUVSX0FSTlMsXG4gIFBBUkFNU19BTkRfU0VDUkVUU19MQU1CREFfTEFZRVJfQVJOUyxcbiAgQVBQQ09ORklHX0xBTUJEQV9MQVlFUl9BUk5TLFxuICBQQVJUSVRJT05fU0FNTF9TSUdOX09OX1VSTCxcbiAgTEFURVNUX05PREVfUlVOVElNRV9NQVAsXG59IGZyb20gJy4vZmFjdC10YWJsZXMnO1xuaW1wb3J0IHsgQVdTX0NES19NRVRBREFUQSB9IGZyb20gJy4vbWV0YWRhdGEnO1xuaW1wb3J0IHtcbiAgQVdTX1JFR0lPTlMsXG4gIEFXU19TRVJWSUNFUyxcbiAgYmVmb3JlLFxuICBSVUxFX1MzX1dFQlNJVEVfUkVHSU9OQUxfU1VCRE9NQUlOLFxuICBSVUxFX0NMQVNTSUNfUEFSVElUSU9OX0JFQ09NRVNfT1BUX0lOLFxufSBmcm9tICcuLi9saWIvYXdzLWVudGl0aWVzJztcbmltcG9ydCB7IERlZmF1bHQgfSBmcm9tICcuLi9saWIvZGVmYXVsdCc7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBtYWluKCk6IFByb21pc2U8dm9pZD4ge1xuICBjaGVja1JlZ2lvbnMoQVBQTUVTSF9FQ1JfQUNDT1VOVFMpO1xuICBjaGVja1JlZ2lvbnMoRExDX1JFUE9TSVRPUllfQUNDT1VOVFMpO1xuICBjaGVja1JlZ2lvbnMoRUxCVjJfQUNDT1VOVFMpO1xuICBjaGVja1JlZ2lvbnMoRklSRUhPU0VfQ0lEUl9CTE9DS1MpO1xuICBjaGVja1JlZ2lvbnMoUk9VVEVfNTNfQlVDS0VUX1dFQlNJVEVfWk9ORV9JRFMpO1xuICBjaGVja1JlZ2lvbnNTdWJNYXAoQ0xPVURXQVRDSF9MQU1CREFfSU5TSUdIVFNfQVJOUyk7XG4gIGNoZWNrUmVnaW9uc1N1Yk1hcChBUFBDT05GSUdfTEFNQkRBX0xBWUVSX0FSTlMpO1xuXG4gIGNvbnN0IGxpbmVzID0gW1xuICAgIFwiaW1wb3J0IHsgRmFjdCwgRmFjdE5hbWUgfSBmcm9tICcuL2ZhY3QnO1wiLFxuICAgICcnLFxuICAgICcvKiBlc2xpbnQtZGlzYWJsZSBxdW90ZS1wcm9wcyAqLycsXG4gICAgJy8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi8nLFxuICAgICcnLFxuICAgICcvKionLFxuICAgICcgKiBCdWlsdC1pbiByZWdpb25hbCBpbmZvcm1hdGlvbiwgcmUtZ2VuZXJhdGVkIGJ5IGBucG0gcnVuIGJ1aWxkYC4nLFxuICAgICcgKicsXG4gICAgYCAqIEBnZW5lcmF0ZWQgJHtuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCl9YCxcbiAgICAnICovJyxcbiAgICAnZXhwb3J0IGNsYXNzIEJ1aWx0SW5zIHsnLFxuICAgICcgIC8qKicsXG4gICAgJyAgICogUmVnaXN0ZXJzIGFsbCB0aGUgYnVpbHQgaW4gcmVnaW9uYWwgZGF0YSBpbiB0aGUgUmVnaW9uSW5mbyBkYXRhYmFzZS4nLFxuICAgICcgICAqLycsXG4gICAgJyAgcHVibGljIHN0YXRpYyByZWdpc3RlcigpOiB2b2lkIHsnLFxuICBdO1xuXG4gIGNvbnN0IGRlZmF1bHRNYXAgPSAnZGVmYXVsdCc7XG5cbiAgZm9yIChjb25zdCByZWdpb24gb2YgQVdTX1JFR0lPTlMpIHtcbiAgICBsZXQgcGFydGl0aW9uID0gUEFSVElUSU9OX01BUFtkZWZhdWx0TWFwXS5wYXJ0aXRpb247XG4gICAgbGV0IGRvbWFpblN1ZmZpeCA9IFBBUlRJVElPTl9NQVBbZGVmYXVsdE1hcF0uZG9tYWluU3VmZml4O1xuXG4gICAgZm9yIChjb25zdCBrZXkgaW4gUEFSVElUSU9OX01BUCkge1xuICAgICAgaWYgKHJlZ2lvbi5zdGFydHNXaXRoKGtleSkpIHtcbiAgICAgICAgcGFydGl0aW9uID0gUEFSVElUSU9OX01BUFtrZXldLnBhcnRpdGlvbjtcbiAgICAgICAgZG9tYWluU3VmZml4ID0gUEFSVElUSU9OX01BUFtrZXldLmRvbWFpblN1ZmZpeDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3RlckZhY3QocmVnaW9uLCAnUEFSVElUSU9OJywgcGFydGl0aW9uKTtcbiAgICByZWdpc3RlckZhY3QocmVnaW9uLCAnRE9NQUlOX1NVRkZJWCcsIGRvbWFpblN1ZmZpeCk7XG5cbiAgICByZWdpc3RlckZhY3QocmVnaW9uLCAnQ0RLX01FVEFEQVRBX1JFU09VUkNFX0FWQUlMQUJMRScsIEFXU19DREtfTUVUQURBVEEuaGFzKHJlZ2lvbikgPyAnWUVTJyA6ICdOTycpO1xuXG4gICAgcmVnaXN0ZXJGYWN0KHJlZ2lvbiwgJ0lTX09QVF9JTl9SRUdJT04nLCBwYXJ0aXRpb24gPT09ICdhd3MnICYmIGFmdGVyKHJlZ2lvbiwgUlVMRV9DTEFTU0lDX1BBUlRJVElPTl9CRUNPTUVTX09QVF9JTikgPyAnWUVTJyA6ICdOTycpO1xuXG4gICAgcmVnaXN0ZXJGYWN0KHJlZ2lvbiwgJ1MzX1NUQVRJQ19XRUJTSVRFX0VORFBPSU5UJywgYmVmb3JlKHJlZ2lvbiwgUlVMRV9TM19XRUJTSVRFX1JFR0lPTkFMX1NVQkRPTUFJTilcbiAgICAgID8gYHMzLXdlYnNpdGUtJHtyZWdpb259LiR7ZG9tYWluU3VmZml4fWBcbiAgICAgIDogYHMzLXdlYnNpdGUuJHtyZWdpb259LiR7ZG9tYWluU3VmZml4fWApO1xuXG4gICAgcmVnaXN0ZXJGYWN0KHJlZ2lvbiwgJ1MzX1NUQVRJQ19XRUJTSVRFX1pPTkVfNTNfSE9TVEVEX1pPTkVfSUQnLCBST1VURV81M19CVUNLRVRfV0VCU0lURV9aT05FX0lEU1tyZWdpb25dIHx8ICcnKTtcblxuICAgIHJlZ2lzdGVyRmFjdChyZWdpb24sICdFQlNfRU5WX0VORFBPSU5UX0hPU1RFRF9aT05FX0lEJywgRUJTX0VOVl9FTkRQT0lOVF9IT1NURURfWk9ORV9JRFNbcmVnaW9uXSB8fCAnJyk7XG5cbiAgICByZWdpc3RlckZhY3QocmVnaW9uLCAnRUxCVjJfQUNDT1VOVCcsIEVMQlYyX0FDQ09VTlRTW3JlZ2lvbl0pO1xuXG4gICAgcmVnaXN0ZXJGYWN0KHJlZ2lvbiwgJ0RMQ19SRVBPU0lUT1JZX0FDQ09VTlQnLCBETENfUkVQT1NJVE9SWV9BQ0NPVU5UU1tyZWdpb25dKTtcblxuICAgIHJlZ2lzdGVyRmFjdChyZWdpb24sICdBUFBNRVNIX0VDUl9BQ0NPVU5UJywgQVBQTUVTSF9FQ1JfQUNDT1VOVFNbcmVnaW9uXSk7XG5cbiAgICByZWdpc3RlckZhY3QocmVnaW9uLCAnU0FNTF9TSUdOX09OX1VSTCcsIFBBUlRJVElPTl9TQU1MX1NJR05fT05fVVJMW3BhcnRpdGlvbl0gfHwgJycpO1xuXG4gICAgcmVnaXN0ZXJGYWN0KHJlZ2lvbiwgJ0xBVEVTVF9OT0RFX1JVTlRJTUUnLCBMQVRFU1RfTk9ERV9SVU5USU1FX01BUFtwYXJ0aXRpb25dKTtcblxuICAgIGNvbnN0IGZpcmVob3NlQ2lkckJsb2NrID0gRklSRUhPU0VfQ0lEUl9CTE9DS1NbcmVnaW9uXTtcbiAgICBpZiAoZmlyZWhvc2VDaWRyQmxvY2spIHtcbiAgICAgIHJlZ2lzdGVyRmFjdChyZWdpb24sICdGSVJFSE9TRV9DSURSX0JMT0NLJywgYCR7RklSRUhPU0VfQ0lEUl9CTE9DS1NbcmVnaW9uXX0vMjdgKTtcbiAgICB9XG5cbiAgICBjb25zdCB2cGNFbmRwb2ludFNlcnZpY2VOYW1lUHJlZml4ID0gYCR7ZG9tYWluU3VmZml4LnNwbGl0KCcuJykucmV2ZXJzZSgpLmpvaW4oJy4nKX0udnBjZWA7XG4gICAgcmVnaXN0ZXJGYWN0KHJlZ2lvbiwgJ1ZQQ19FTkRQT0lOVF9TRVJWSUNFX05BTUVfUFJFRklYJywgdnBjRW5kcG9pbnRTZXJ2aWNlTmFtZVByZWZpeCk7XG5cbiAgICBmb3IgKGNvbnN0IHNlcnZpY2Ugb2YgQVdTX1NFUlZJQ0VTKSB7XG4gICAgICByZWdpc3RlckZhY3QocmVnaW9uLCBbJ3NlcnZpY2VQcmluY2lwYWwnLCBzZXJ2aWNlXSwgRGVmYXVsdC5zZXJ2aWNlUHJpbmNpcGFsKHNlcnZpY2UsIHJlZ2lvbiwgZG9tYWluU3VmZml4KSk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCB2ZXJzaW9uIGluIENMT1VEV0FUQ0hfTEFNQkRBX0lOU0lHSFRTX0FSTlMpIHtcbiAgICAgIGZvciAoY29uc3QgYXJjaCBpbiBDTE9VRFdBVENIX0xBTUJEQV9JTlNJR0hUU19BUk5TW3ZlcnNpb25dKSB7XG4gICAgICAgIHJlZ2lzdGVyRmFjdChyZWdpb24sIFsnY2xvdWR3YXRjaExhbWJkYUluc2lnaHRzVmVyc2lvbicsIHZlcnNpb24sIGFyY2hdLCBDTE9VRFdBVENIX0xBTUJEQV9JTlNJR0hUU19BUk5TW3ZlcnNpb25dW2FyY2hdW3JlZ2lvbl0pO1xuXG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCB2ZXJzaW9uIGluIEFQUENPTkZJR19MQU1CREFfTEFZRVJfQVJOUykge1xuICAgICAgZm9yIChjb25zdCBhcmNoIGluIEFQUENPTkZJR19MQU1CREFfTEFZRVJfQVJOU1t2ZXJzaW9uXSkge1xuICAgICAgICByZWdpc3RlckZhY3QocmVnaW9uLCBbJ2FwcENvbmZpZ0xhbWJkYUxheWVyVmVyc2lvbicsIHZlcnNpb24sIGFyY2hdLCBBUFBDT05GSUdfTEFNQkRBX0xBWUVSX0FSTlNbdmVyc2lvbl1bYXJjaF1bcmVnaW9uXSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCB0eXBlIGluIEFET1RfTEFNQkRBX0xBWUVSX0FSTlMpIHtcbiAgICAgIGZvciAoY29uc3QgdmVyc2lvbiBpbiBBRE9UX0xBTUJEQV9MQVlFUl9BUk5TW3R5cGVdKSB7XG4gICAgICAgIGZvciAoY29uc3QgYXJjaCBpbiBBRE9UX0xBTUJEQV9MQVlFUl9BUk5TW3R5cGVdW3ZlcnNpb25dKSB7XG4gICAgICAgICAgcmVnaXN0ZXJGYWN0KFxuICAgICAgICAgICAgcmVnaW9uLFxuICAgICAgICAgICAgWydhZG90TGFtYmRhTGF5ZXInLCB0eXBlLCB2ZXJzaW9uLCBhcmNoXSxcbiAgICAgICAgICAgIEFET1RfTEFNQkRBX0xBWUVSX0FSTlNbdHlwZV1bdmVyc2lvbl1bYXJjaF1bcmVnaW9uXSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCB2ZXJzaW9uIGluIFBBUkFNU19BTkRfU0VDUkVUU19MQU1CREFfTEFZRVJfQVJOUykge1xuICAgICAgZm9yIChjb25zdCBhcmNoIGluIFBBUkFNU19BTkRfU0VDUkVUU19MQU1CREFfTEFZRVJfQVJOU1t2ZXJzaW9uXSkge1xuICAgICAgICByZWdpc3RlckZhY3QocmVnaW9uLCBbJ3BhcmFtc0FuZFNlY3JldHNMYW1iZGFMYXllcicsIHZlcnNpb24sIGFyY2hdLCBQQVJBTVNfQU5EX1NFQ1JFVFNfTEFNQkRBX0xBWUVSX0FSTlNbdmVyc2lvbl1bYXJjaF1bcmVnaW9uXSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGxpbmVzLnB1c2goJyAgfScpO1xuICBsaW5lcy5wdXNoKCcnKTtcbiAgbGluZXMucHVzaCgnICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge30nKTtcbiAgbGluZXMucHVzaCgnfScpO1xuXG4gIGF3YWl0IGZzLndyaXRlRmlsZShwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi4nLCAnbGliJywgJ2J1aWx0LWlucy5nZW5lcmF0ZWQudHMnKSwgbGluZXMuam9pbignXFxuJykpO1xuXG4gIGZ1bmN0aW9uIHJlZ2lzdGVyRmFjdChyZWdpb246IHN0cmluZywgbmFtZTogc3RyaW5nIHwgc3RyaW5nW10sIHZhbHVlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBmYWN0TmFtZSA9IHR5cGVvZiBuYW1lID09PSAnc3RyaW5nJyA/IG5hbWUgOiBgJHtuYW1lWzBdfSgke25hbWUuc2xpY2UoMSkubWFwKHMgPT4gSlNPTi5zdHJpbmdpZnkocykpLmpvaW4oJywgJyl9KWA7XG4gICAgbGluZXMucHVzaChgICAgIEZhY3QucmVnaXN0ZXIoeyByZWdpb246ICR7SlNPTi5zdHJpbmdpZnkocmVnaW9uKX0sIG5hbWU6IEZhY3ROYW1lLiR7ZmFjdE5hbWV9LCB2YWx1ZTogJHtKU09OLnN0cmluZ2lmeSh2YWx1ZSl9IH0pO2ApO1xuICB9XG59XG5cbi8qKlxuICogVmVyaWZpZXMgdGhhdCB0aGUgcHJvdmlkZWQgbWFwIG9mIHJlZ2lvbiB0byBmYWN0IGRvZXMgbm90IGNvbnRhaW4gYW4gZW50cnlcbiAqIGZvciBhIHJlZ2lvbiB0aGF0IHdhcyBub3QgcmVnaXN0ZXJlZCBpbiBgQVdTX1JFR0lPTlNgLlxuICovXG5mdW5jdGlvbiBjaGVja1JlZ2lvbnMobWFwOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikge1xuICBjb25zdCBhbGxSZWdpb25zID0gbmV3IFNldChBV1NfUkVHSU9OUyk7XG4gIGZvciAoY29uc3QgcmVnaW9uIG9mIE9iamVjdC5rZXlzKG1hcCkpIHtcbiAgICBpZiAoIWFsbFJlZ2lvbnMuaGFzKHJlZ2lvbikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW4tcmVnaXN0ZXJlZCByZWdpb24gZmFjdCBmb3VuZDogJHtyZWdpb259LiBBZGQgdG8gQVdTX1JFR0lPTlMgbGlzdCFgKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBWZXJpZmllcyB0aGF0IHRoZSBwcm92aWRlZCBtYXAgb2YgPEtFWT4gdG8gcmVnaW9uIHRvIGZhY3QgZG9lcyBub3QgY29udGFpbiBhbiBlbnRyeVxuICogZm9yIGEgcmVnaW9uIHRoYXQgd2FzIG5vdCByZWdpc3RlcmVkIGluIGBBV1NfUkVHSU9OU2AuXG4gKi9cbmZ1bmN0aW9uIGNoZWNrUmVnaW9uc1N1Yk1hcChtYXA6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHVua25vd24+Pj4pIHtcbiAgY29uc3QgYWxsUmVnaW9ucyA9IG5ldyBTZXQoQVdTX1JFR0lPTlMpO1xuICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhtYXApKSB7XG4gICAgZm9yIChjb25zdCBzdWJLZXkgb2YgT2JqZWN0LmtleXMobWFwW2tleV0pKSB7XG4gICAgICBmb3IgKGNvbnN0IHJlZ2lvbiBvZiBPYmplY3Qua2V5cyhtYXBba2V5XVtzdWJLZXldKSkge1xuICAgICAgICBpZiAoIWFsbFJlZ2lvbnMuaGFzKHJlZ2lvbikpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuLXJlZ2lzdGVyZWQgcmVnaW9uIGZhY3QgZm91bmQ6ICR7cmVnaW9ufS4gQWRkIHRvIEFXU19SRUdJT05TIGxpc3QhYCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYWZ0ZXIocmVnaW9uOiBzdHJpbmcsIHJ1bGVPclJlZ2lvbjogc3RyaW5nIHwgc3ltYm9sKSB7XG4gIHJldHVybiByZWdpb24gIT09IHJ1bGVPclJlZ2lvbiAmJiAhYmVmb3JlKHJlZ2lvbiwgcnVsZU9yUmVnaW9uKTtcbn1cblxubWFpbigpLmNhdGNoKGUgPT4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICBjb25zb2xlLmVycm9yKGUpO1xuICBwcm9jZXNzLmV4aXQoLTEpO1xufSk7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtc3RhdGljLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJnZW5lcmF0ZS1zdGF0aWMtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBNkI7QUFDN0IsK0JBQStCO0FBQy9CLCtDQWN1QjtBQUN2Qix5Q0FBOEM7QUFDOUMsc0RBSzZCO0FBRXRCLEtBQUssVUFBVSxJQUFJO0lBQ3hCLFlBQVksQ0FBQyxrQ0FBb0IsQ0FBQyxDQUFDO0lBQ25DLFlBQVksQ0FBQyxxQ0FBdUIsQ0FBQyxDQUFDO0lBQ3RDLFlBQVksQ0FBQyw0QkFBYyxDQUFDLENBQUM7SUFDN0IsWUFBWSxDQUFDLGtDQUFvQixDQUFDLENBQUM7SUFDbkMsWUFBWSxDQUFDLDhDQUFnQyxDQUFDLENBQUM7SUFDL0Msa0JBQWtCLENBQUMsNkNBQStCLENBQUMsQ0FBQztJQUNwRCxrQkFBa0IsQ0FBQyx5Q0FBMkIsQ0FBQyxDQUFDO0lBRWhELE1BQU0sS0FBSyxHQUFHO1FBQ1osMENBQTBDO1FBQzFDLEVBQUU7UUFDRixrQ0FBa0M7UUFDbEMsOEJBQThCO1FBQzlCLEVBQUU7UUFDRixLQUFLO1FBQ0wsb0VBQW9FO1FBQ3BFLElBQUk7UUFDSixpQkFBaUIsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRTtRQUMzQyxLQUFLO1FBQ0wseUJBQXlCO1FBQ3pCLE9BQU87UUFDUCwyRUFBMkU7UUFDM0UsT0FBTztRQUNQLG9DQUFvQztLQUNyQyxDQUFDO0lBRUYsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDO0lBRTdCLEtBQUssTUFBTSxNQUFNLElBQUksMEJBQVcsRUFBRSxDQUFDO1FBQ2pDLElBQUksU0FBUyxHQUFHLDJCQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ3BELElBQUksWUFBWSxHQUFHLDJCQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsWUFBWSxDQUFDO1FBRTFELEtBQUssTUFBTSxHQUFHLElBQUksMkJB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Q0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCB7XG4gIEFQUE1FU0hfRUNSX0FDQ09VTlRTLFxuICBDTE9VRFdBVENIX0xBTUJEQV9JTlNJR0hUU19BUk5TLFxuICBETENfUkVQT1NJVE9SWV9BQ0NPVU5UUyxcbiAgRUxCVjJfQUNDT1VOVFMsXG4gIEZJUkVIT1NFX0NJRFJfQkxPQ0tTLFxuICBQQVJUSVRJT05fTUFQLFxuICBST1VURV81M19CVUNLRVRfV0VCU0lURV9aT05FX0lEUyxcbiAgRUJTX0VOVl9FTkRQT0lOVF9IT1NURURfWk9ORV9JRFMsXG4gIEFET1RfTEFNQkRBX0xBWUVSX0FSTlMsXG4gIFBBUkFNU19BTkRfU0VDUkVUU19MQU1CREFfTEFZRVJfQVJOUyxcbiAgQVBQQ09ORklHX0xBTUJEQV9MQVlFUl9BUk5TLFxuICBQQVJUSVRJT05fU0FNTF9TSUdOX09OX1VSTCxcbiAgTEFURVNUX05PREVfUlVOVElNRV9NQVAsXG59IGZyb20gJy4vZmFjdC10YWJsZXMnO1xuaW1wb3J0IHsgQVdTX0NES19NRVRBREFUQSB9IGZyb20gJy4vbWV0YWRhdGEnO1xuaW1wb3J0IHtcbiAgQVdTX1JFR0lPTlMsXG4gIGJlZm9yZSxcbiAgUlVMRV9TM19XRUJTSVRFX1JFR0lPTkFMX1NVQkRPTUFJTixcbiAgUlVMRV9DTEFTU0lDX1BBUlRJVElPTl9CRUNPTUVTX09QVF9JTixcbn0gZnJvbSAnLi4vbGliL2F3cy1lbnRpdGllcyc7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBtYWluKCk6IFByb21pc2U8dm9pZD4ge1xuICBjaGVja1JlZ2lvbnMoQVBQTUVTSF9FQ1JfQUNDT1VOVFMpO1xuICBjaGVja1JlZ2lvbnMoRExDX1JFUE9TSVRPUllfQUNDT1VOVFMpO1xuICBjaGVja1JlZ2lvbnMoRUxCVjJfQUNDT1VOVFMpO1xuICBjaGVja1JlZ2lvbnMoRklSRUhPU0VfQ0lEUl9CTE9DS1MpO1xuICBjaGVja1JlZ2lvbnMoUk9VVEVfNTNfQlVDS0VUX1dFQlNJVEVfWk9ORV9JRFMpO1xuICBjaGVja1JlZ2lvbnNTdWJNYXAoQ0xPVURXQVRDSF9MQU1CREFfSU5TSUdIVFNfQVJOUyk7XG4gIGNoZWNrUmVnaW9uc1N1Yk1hcChBUFBDT05GSUdfTEFNQkRBX0xBWUVSX0FSTlMpO1xuXG4gIGNvbnN0IGxpbmVzID0gW1xuICAgIFwiaW1wb3J0IHsgRmFjdCwgRmFjdE5hbWUgfSBmcm9tICcuL2ZhY3QnO1wiLFxuICAgICcnLFxuICAgICcvKiBlc2xpbnQtZGlzYWJsZSBxdW90ZS1wcm9wcyAqLycsXG4gICAgJy8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi8nLFxuICAgICcnLFxuICAgICcvKionLFxuICAgICcgKiBCdWlsdC1pbiByZWdpb25hbCBpbmZvcm1hdGlvbiwgcmUtZ2VuZXJhdGVkIGJ5IGBucG0gcnVuIGJ1aWxkYC4nLFxuICAgICcgKicsXG4gICAgYCAqIEBnZW5lcmF0ZWQgJHtuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCl9YCxcbiAgICAnICovJyxcbiAgICAnZXhwb3J0IGNsYXNzIEJ1aWx0SW5zIHsnLFxuICAgICcgIC8qKicsXG4gICAgJyAgICogUmVnaXN0ZXJzIGFsbCB0aGUgYnVpbHQgaW4gcmVnaW9uYWwgZGF0YSBpbiB0aGUgUmVnaW9uSW5mbyBkYXRhYmFzZS4nLFxuICAgICcgICAqLycsXG4gICAgJyAgcHVibGljIHN0YXRpYyByZWdpc3RlcigpOiB2b2lkIHsnLFxuICBdO1xuXG4gIGNvbnN0IGRlZmF1bHRNYXAgPSAnZGVmYXVsdCc7XG5cbiAgZm9yIChjb25zdCByZWdpb24gb2YgQVdTX1JFR0lPTlMpIHtcbiAgICBsZXQgcGFydGl0aW9uID0gUEFSVElUSU9OX01BUFtkZWZhdWx0TWFwXS5wYXJ0aXRpb247XG4gICAgbGV0IGRvbWFpblN1ZmZpeCA9IFBBUlRJVElPTl9NQVBbZGVmYXVsdE1hcF0uZG9tYWluU3VmZml4O1xuXG4gICAgZm9yIChjb25zdCBrZXkgaW4gUEFSVElUSU9OX01BUCkge1xuICAgICAgaWYgKHJlZ2lvbi5zdGFydHNXaXRoKGtleSkpIHtcbiAgICAgICAgcGFydGl0aW9uID0gUEFSVElUSU9OX01BUFtrZXldLnBhcnRpdGlvbjtcbiAgICAgICAgZG9tYWluU3VmZml4ID0gUEFSVElUSU9OX01BUFtrZXldLmRvbWFpblN1ZmZpeDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3RlckZhY3QocmVnaW9uLCAnUEFSVElUSU9OJywgcGFydGl0aW9uKTtcbiAgICByZWdpc3RlckZhY3QocmVnaW9uLCAnRE9NQUlOX1NVRkZJWCcsIGRvbWFpblN1ZmZpeCk7XG5cbiAgICByZWdpc3RlckZhY3QocmVnaW9uLCAnQ0RLX01FVEFEQVRBX1JFU09VUkNFX0FWQUlMQUJMRScsIEFXU19DREtfTUVUQURBVEEuaGFzKHJlZ2lvbikgPyAnWUVTJyA6ICdOTycpO1xuXG4gICAgcmVnaXN0ZXJGYWN0KHJlZ2lvbiwgJ0lTX09QVF9JTl9SRUdJT04nLCBwYXJ0aXRpb24gPT09ICdhd3MnICYmIGFmdGVyKHJlZ2lvbiwgUlVMRV9DTEFTU0lDX1BBUlRJVElPTl9CRUNPTUVTX09QVF9JTikgPyAnWUVTJyA6ICdOTycpO1xuXG4gICAgcmVnaXN0ZXJGYWN0KHJlZ2lvbiwgJ1MzX1NUQVRJQ19XRUJTSVRFX0VORFBPSU5UJywgYmVmb3JlKHJlZ2lvbiwgUlVMRV9TM19XRUJTSVRFX1JFR0lPTkFMX1NVQkRPTUFJTilcbiAgICAgID8gYHMzLXdlYnNpdGUtJHtyZWdpb259LiR7ZG9tYWluU3VmZml4fWBcbiAgICAgIDogYHMzLXdlYnNpdGUuJHtyZWdpb259LiR7ZG9tYWluU3VmZml4fWApO1xuXG4gICAgcmVnaXN0ZXJGYWN0KHJlZ2lvbiwgJ1MzX1NUQVRJQ19XRUJTSVRFX1pPTkVfNTNfSE9TVEVEX1pPTkVfSUQnLCBST1VURV81M19CVUNLRVRfV0VCU0lURV9aT05FX0lEU1tyZWdpb25dIHx8ICcnKTtcblxuICAgIHJlZ2lzdGVyRmFjdChyZWdpb24sICdFQlNfRU5WX0VORFBPSU5UX0hPU1RFRF9aT05FX0lEJywgRUJTX0VOVl9FTkRQT0lOVF9IT1NURURfWk9ORV9JRFNbcmVnaW9uXSB8fCAnJyk7XG5cbiAgICByZWdpc3RlckZhY3QocmVnaW9uLCAnRUxCVjJfQUNDT1VOVCcsIEVMQlYyX0FDQ09VTlRTW3JlZ2lvbl0pO1xuXG4gICAgcmVnaXN0ZXJGYWN0KHJlZ2lvbiwgJ0RMQ19SRVBPU0lUT1JZX0FDQ09VTlQnLCBETENfUkVQT1NJVE9SWV9BQ0NPVU5UU1tyZWdpb25dKTtcblxuICAgIHJlZ2lzdGVyRmFjdChyZWdpb24sICdBUFBNRVNIX0VDUl9BQ0NPVU5UJywgQVBQTUVTSF9FQ1JfQUNDT1VOVFNbcmVnaW9uXSk7XG5cbiAgICByZWdpc3RlckZhY3QocmVnaW9uLCAnU0FNTF9TSUdOX09OX1VSTCcsIFBBUlRJVElPTl9TQU1MX1NJR05fT05fVVJMW3BhcnRpdGlvbl0gfHwgJycpO1xuXG4gICAgcmVnaXN0ZXJGYWN0KHJlZ2lvbiwgJ0xBVEVTVF9OT0RFX1JVTlRJTUUnLCBMQVRFU1RfTk9ERV9SVU5USU1FX01BUFtwYXJ0aXRpb25dKTtcblxuICAgIGNvbnN0IGZpcmVob3NlQ2lkckJsb2NrID0gRklSRUhPU0VfQ0lEUl9CTE9DS1NbcmVnaW9uXTtcbiAgICBpZiAoZmlyZWhvc2VDaWRyQmxvY2spIHtcbiAgICAgIHJlZ2lzdGVyRmFjdChyZWdpb24sICdGSVJFSE9TRV9DSURSX0JMT0NLJywgYCR7RklSRUhPU0VfQ0lEUl9CTE9DS1NbcmVnaW9uXX0vMjdgKTtcbiAgICB9XG5cbiAgICBjb25zdCB2cGNFbmRwb2ludFNlcnZpY2VOYW1lUHJlZml4ID0gYCR7ZG9tYWluU3VmZml4LnNwbGl0KCcuJykucmV2ZXJzZSgpLmpvaW4oJy4nKX0udnBjZWA7XG4gICAgcmVnaXN0ZXJGYWN0KHJlZ2lvbiwgJ1ZQQ19FTkRQT0lOVF9TRVJWSUNFX05BTUVfUFJFRklYJywgdnBjRW5kcG9pbnRTZXJ2aWNlTmFtZVByZWZpeCk7XG5cbiAgICBmb3IgKGNvbnN0IHZlcnNpb24gaW4gQ0xPVURXQVRDSF9MQU1CREFfSU5TSUdIVFNfQVJOUykge1xuICAgICAgZm9yIChjb25zdCBhcmNoIGluIENMT1VEV0FUQ0hfTEFNQkRBX0lOU0lHSFRTX0FSTlNbdmVyc2lvbl0pIHtcbiAgICAgICAgcmVnaXN0ZXJGYWN0KHJlZ2lvbiwgWydjbG91ZHdhdGNoTGFtYmRhSW5zaWdodHNWZXJzaW9uJywgdmVyc2lvbiwgYXJjaF0sIENMT1VEV0FUQ0hfTEFNQkRBX0lOU0lHSFRTX0FSTlNbdmVyc2lvbl1bYXJjaF1bcmVnaW9uXSk7XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHZlcnNpb24gaW4gQVBQQ09ORklHX0xBTUJEQV9MQVlFUl9BUk5TKSB7XG4gICAgICBmb3IgKGNvbnN0IGFyY2ggaW4gQVBQQ09ORklHX0xBTUJEQV9MQVlFUl9BUk5TW3ZlcnNpb25dKSB7XG4gICAgICAgIHJlZ2lzdGVyRmFjdChyZWdpb24sIFsnYXBwQ29uZmlnTGFtYmRhTGF5ZXJWZXJzaW9uJywgdmVyc2lvbiwgYXJjaF0sIEFQUENPTkZJR19MQU1CREFfTEFZRVJfQVJOU1t2ZXJzaW9uXVthcmNoXVtyZWdpb25dKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHR5cGUgaW4gQURPVF9MQU1CREFfTEFZRVJfQVJOUykge1xuICAgICAgZm9yIChjb25zdCB2ZXJzaW9uIGluIEFET1RfTEFNQkRBX0xBWUVSX0FSTlNbdHlwZV0pIHtcbiAgICAgICAgZm9yIChjb25zdCBhcmNoIGluIEFET1RfTEFNQkRBX0xBWUVSX0FSTlNbdHlwZV1bdmVyc2lvbl0pIHtcbiAgICAgICAgICByZWdpc3RlckZhY3QoXG4gICAgICAgICAgICByZWdpb24sXG4gICAgICAgICAgICBbJ2Fkb3RMYW1iZGFMYXllcicsIHR5cGUsIHZlcnNpb24sIGFyY2hdLFxuICAgICAgICAgICAgQURPVF9MQU1CREFfTEFZRVJfQVJOU1t0eXBlXVt2ZXJzaW9uXVthcmNoXVtyZWdpb25dLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHZlcnNpb24gaW4gUEFSQU1TX0FORF9TRUNSRVRTX0xBTUJEQV9MQVlFUl9BUk5TKSB7XG4gICAgICBmb3IgKGNvbnN0IGFyY2ggaW4gUEFSQU1TX0FORF9TRUNSRVRTX0xBTUJEQV9MQVlFUl9BUk5TW3ZlcnNpb25dKSB7XG4gICAgICAgIHJlZ2lzdGVyRmFjdChyZWdpb24sIFsncGFyYW1zQW5kU2VjcmV0c0xhbWJkYUxheWVyJywgdmVyc2lvbiwgYXJjaF0sIFBBUkFNU19BTkRfU0VDUkVUU19MQU1CREFfTEFZRVJfQVJOU1t2ZXJzaW9uXVthcmNoXVtyZWdpb25dKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgbGluZXMucHVzaCgnICB9Jyk7XG4gIGxpbmVzLnB1c2goJycpO1xuICBsaW5lcy5wdXNoKCcgIHByaXZhdGUgY29uc3RydWN0b3IoKSB7fScpO1xuICBsaW5lcy5wdXNoKCd9Jyk7XG5cbiAgYXdhaXQgZnMud3JpdGVGaWxlKHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuLicsICdsaWInLCAnYnVpbHQtaW5zLmdlbmVyYXRlZC50cycpLCBsaW5lcy5qb2luKCdcXG4nKSk7XG5cbiAgZnVuY3Rpb24gcmVnaXN0ZXJGYWN0KHJlZ2lvbjogc3RyaW5nLCBuYW1lOiBzdHJpbmcgfCBzdHJpbmdbXSwgdmFsdWU6IHN0cmluZykge1xuICAgIGNvbnN0IGZhY3ROYW1lID0gdHlwZW9mIG5hbWUgPT09ICdzdHJpbmcnID8gbmFtZSA6IGAke25hbWVbMF19KCR7bmFtZS5zbGljZSgxKS5tYXAocyA9PiBKU09OLnN0cmluZ2lmeShzKSkuam9pbignLCAnKX0pYDtcbiAgICBsaW5lcy5wdXNoKGAgICAgRmFjdC5yZWdpc3Rlcih7IHJlZ2lvbjogJHtKU09OLnN0cmluZ2lmeShyZWdpb24pfSwgbmFtZTogRmFjdE5hbWUuJHtmYWN0TmFtZX0sIHZhbHVlOiAke0pTT04uc3RyaW5naWZ5KHZhbHVlKX0gfSk7YCk7XG4gIH1cbn1cblxuLyoqXG4gKiBWZXJpZmllcyB0aGF0IHRoZSBwcm92aWRlZCBtYXAgb2YgcmVnaW9uIHRvIGZhY3QgZG9lcyBub3QgY29udGFpbiBhbiBlbnRyeVxuICogZm9yIGEgcmVnaW9uIHRoYXQgd2FzIG5vdCByZWdpc3RlcmVkIGluIGBBV1NfUkVHSU9OU2AuXG4gKi9cbmZ1bmN0aW9uIGNoZWNrUmVnaW9ucyhtYXA6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSB7XG4gIGNvbnN0IGFsbFJlZ2lvbnMgPSBuZXcgU2V0KEFXU19SRUdJT05TKTtcbiAgZm9yIChjb25zdCByZWdpb24gb2YgT2JqZWN0LmtleXMobWFwKSkge1xuICAgIGlmICghYWxsUmVnaW9ucy5oYXMocmVnaW9uKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbi1yZWdpc3RlcmVkIHJlZ2lvbiBmYWN0IGZvdW5kOiAke3JlZ2lvbn0uIEFkZCB0byBBV1NfUkVHSU9OUyBsaXN0IWApO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFZlcmlmaWVzIHRoYXQgdGhlIHByb3ZpZGVkIG1hcCBvZiA8S0VZPiB0byByZWdpb24gdG8gZmFjdCBkb2VzIG5vdCBjb250YWluIGFuIGVudHJ5XG4gKiBmb3IgYSByZWdpb24gdGhhdCB3YXMgbm90IHJlZ2lzdGVyZWQgaW4gYEFXU19SRUdJT05TYC5cbiAqL1xuZnVuY3Rpb24gY2hlY2tSZWdpb25zU3ViTWFwKG1hcDogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+Pikge1xuICBjb25zdCBhbGxSZWdpb25zID0gbmV3IFNldChBV1NfUkVHSU9OUyk7XG4gIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKG1hcCkpIHtcbiAgICBmb3IgKGNvbnN0IHN1YktleSBvZiBPYmplY3Qua2V5cyhtYXBba2V5XSkpIHtcbiAgICAgIGZvciAoY29uc3QgcmVnaW9uIG9mIE9iamVjdC5rZXlzKG1hcFtrZXldW3N1YktleV0pKSB7XG4gICAgICAgIGlmICghYWxsUmVnaW9ucy5oYXMocmVnaW9uKSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW4tcmVnaXN0ZXJlZCByZWdpb24gZmFjdCBmb3VuZDogJHtyZWdpb259LiBBZGQgdG8gQVdTX1JFR0lPTlMgbGlzdCFgKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZnRlcihyZWdpb246IHN0cmluZywgcnVsZU9yUmVnaW9uOiBzdHJpbmcgfCBzeW1ib2wpIHtcbiAgcmV0dXJuIHJlZ2lvbiAhPT0gcnVsZU9yUmVnaW9uICYmICFiZWZvcmUocmVnaW9uLCBydWxlT3JSZWdpb24pO1xufVxuXG5tYWluKCkuY2F0Y2goZSA9PiB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gIGNvbnNvbGUuZXJyb3IoZSk7XG4gIHByb2Nlc3MuZXhpdCgtMSk7XG59KTtcbiJdfQ==

@@ -33,8 +33,2 @@ /**

/**
* Possibly non-exhaustive list of all service names, used to locate service principals.
*
* Not in the list ==> default service principal mappings.
*/
export declare const AWS_SERVICES: readonly string[];
/**
* Whether or not a region predates a given rule (or region).

@@ -41,0 +35,0 @@ *

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.partitionInformation = exports.regionsBefore = exports.before = exports.AWS_SERVICES = exports.AWS_REGIONS = exports.AWS_REGIONS_AND_RULES = exports.RULE_CLASSIC_PARTITION_BECOMES_OPT_IN = exports.RULE_S3_WEBSITE_REGIONAL_SUBDOMAIN = void 0;
exports.partitionInformation = exports.regionsBefore = exports.before = exports.AWS_REGIONS = exports.AWS_REGIONS_AND_RULES = exports.RULE_CLASSIC_PARTITION_BECOMES_OPT_IN = exports.RULE_S3_WEBSITE_REGIONAL_SUBDOMAIN = void 0;
/**

@@ -81,21 +81,2 @@ * After this point, S3 website domains look like `s3-website.REGION.s3.amazonaws.com`

/**
* Possibly non-exhaustive list of all service names, used to locate service principals.
*
* Not in the list ==> default service principal mappings.
*/
exports.AWS_SERVICES = [
'application-autoscaling',
'autoscaling',
'codedeploy',
'ec2',
'events',
'lambda',
'logs',
's3',
'ssm',
'sns',
'sqs',
'states',
].sort();
/**
* Whether or not a region predates a given rule (or region).

@@ -145,2 +126,2 @@ *

exports.partitionInformation = partitionInformation;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWVudGl0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXdzLWVudGl0aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7O0dBSUc7QUFDVSxRQUFBLGtDQUFrQyxHQUFHLE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0FBRTFGOztHQUVHO0FBQ1UsUUFBQSxxQ0FBcUMsR0FBRyxNQUFNLENBQUMsa0NBQWtDLENBQUMsQ0FBQztBQUVoRzs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ1UsUUFBQSxxQkFBcUIsR0FBaUM7SUFDakUsV0FBVyxFQUFFLHdCQUF3QjtJQUNyQyxXQUFXLEVBQUUsbUJBQW1CO0lBQ2hDLFdBQVcsRUFBRSwwQkFBMEI7SUFDdkMsZ0JBQWdCLEVBQUUsMkJBQTJCO0lBQzdDLGdCQUFnQixFQUFFLHVCQUF1QjtJQUN6QyxlQUFlLEVBQUUseUJBQXlCO0lBQzFDLFdBQVcsRUFBRSxtQkFBbUI7SUFDaEMsV0FBVyxFQUFFLDRCQUE0QjtJQUN6QyxnQkFBZ0IsRUFBRSx3QkFBd0I7SUFDMUMsMENBQWtDO0lBQ2xDLFlBQVksRUFBRSxrQkFBa0I7SUFDaEMsZUFBZSxFQUFFLFVBQVU7SUFDM0IsY0FBYyxFQUFFLHFCQUFxQjtJQUNyQyxnQkFBZ0IsRUFBRSx1QkFBdUI7SUFDekMsWUFBWSxFQUFFLHdCQUF3QjtJQUN0QyxXQUFXLEVBQUUsaUJBQWlCO0lBQzlCLGNBQWMsRUFBRSxtQkFBbUI7SUFDbkMsV0FBVyxFQUFFLGtCQUFrQjtJQUMvQixnQkFBZ0IsRUFBRSxZQUFZO0lBQzlCLGdCQUFnQixFQUFFLGtCQUFrQjtJQUNwQyxXQUFXLEVBQUUsaUJBQWlCO0lBQzlCLGdCQUFnQixFQUFFLHVCQUF1QjtJQUN6QyxlQUFlLEVBQUUseUJBQXlCO0lBQzFDLFlBQVksRUFBRSxxQkFBcUI7SUFDbkMsNkNBQXFDO0lBQ3JDLFdBQVcsRUFBRSwyQkFBMkI7SUFDeEMsWUFBWSxFQUFFLHdCQUF3QjtJQUN0QyxZQUFZ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RUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUU7SUFDdEUsVUFBVSxFQUFFLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUU7Q0FDdkUsQ0FBQztBQUVGLFNBQWdCLG9CQUFvQixDQUFDLE1BQWM7SUFDakQsS0FBSyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztRQUMzRCxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUM5QixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxhQUFhLENBQUMsT0FBTyxDQUFDO0FBQy9CLENBQUM7QUFQRCxvREFPQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQWZ0ZXIgdGhpcyBwb2ludCwgUzMgd2Vic2l0ZSBkb21haW5zIGxvb2sgbGlrZSBgczMtd2Vic2l0ZS5SRUdJT04uczMuYW1hem9uYXdzLmNvbWBcbiAqXG4gKiBCZWZvcmUgdGhpcyBwb2ludCwgUzMgd2Vic2l0ZSBkb21haW5zIGxvb2sgbGlrZSBgczMtd2Vic2l0ZS1SRUdJT04uczMuYW1hem9uYXdzLmNvbWAuXG4gKi9cbmV4cG9ydCBjb25zdCBSVUxFX1MzX1dFQlNJVEVfUkVHSU9OQUxfU1VCRE9NQUlOID0gU3ltYm9sKCdTM19XRUJTSVRFX1JFR0lPTkFMX1NVQkRPTUFJTicpO1xuXG4vKipcbiAqIEFmdGVyIHRoaXMgcG9pbnQsIGFsbCByZWdpb25zIGluIHRoZSAnYXdzJyBwYXJ0aXRpb24gYXJlIG9wdC1pbi5cbiAqL1xuZXhwb3J0IGNvbnN0IFJVTEVfQ0xBU1NJQ19QQVJUSVRJT05fQkVDT01FU19PUFRfSU4gPSBTeW1ib2woJ0NMQVNTSUNfUEFSVElUSU9OX0JFQ09NRVNfT1BUX0lOJyk7XG5cbi8qKlxuICogTGlzdCBvZiBBV1MgcmVnaW9uLCBvcmRlcmVkIGJ5IGxhdW5jaCBkYXRlIChvbGRlc3QgdG8gbmV3ZXN0KVxuICpcbiAqIFRoZSBzaWduaWZpY2FuY2Ugb2YgdGhpcyBpcyB0aGF0IHN0YW5kYXJkcyBhbmQgY29udmVudGlvbnMgY2hhbmdlIG92ZXIgdGltZS5cbiAqIEdlbmVyYWxseSwgYXMgcnVsZXMgYXJlIGNoYW5nZWQgdGhleSBvbmx5IGFwcGx5IHRvIG5ldyByZWdpb25zLCBhbmQgb2xkXG4gKiByZWdpb25zIGFyZSBsZWZ0IGFzLWlzLlxuICpcbiAqIFdlIG1peCB0aGUgbGlzdCBvZiByZWdpb25zIHdpdGggYSBsaXN0IG9mIHJ1bGVzIHRoYXQgd2VyZSBpbnRyb2R1Y2VkIG92ZXJcbiAqIHRpbWUgKHJ1bGVzIGFyZSBzeW1ib2xzKS5cbiAqXG4gKiBUaGVyZWZvcmUsIGlmIHdlIHdhbnQgdG8ga25vdyBpZiBhIHJ1bGUgYXBwbGllcyB0byBhIGNlcnRhaW4gcmVnaW9uLCB3ZVxuICogb25seSBuZWVkIHRvIGNoZWNrIGl0cyBwb3NpdGlvbiBpbiB0aGUgbGlzdCBhbmQgY29tcGFyZSBpdCB0byB3aGVuIGFcbiAqIHJ1bGUgd2FzIGludHJvZHVjZWQuXG4gKi9cbmV4cG9ydCBjb25zdCBBV1NfUkVHSU9OU19BTkRfUlVMRVM6IHJlYWRvbmx5IChzdHJpbmcgfCBzeW1ib2wpW10gPSBbXG4gICd1cy1lYXN0LTEnLCAvLyBVUyBFYXN0IChOLiBWaXJnaW5pYSlcbiAgJ2V1LXdlc3QtMScsIC8vIEV1cm9wZSAoSXJlbGFuZClcbiAgJ3VzLXdlc3QtMScsIC8vIFVTIFdlc3QgKE4uIENhbGlmb3JuaWEpXG4gICdhcC1zb3V0aGVhc3QtMScsIC8vIEFzaWEgUGFjaWZpYyAoU2luZ2Fwb3JlKVxuICAnYXAtbm9ydGhlYXN0LTEnLCAvLyBBc2lhIFBhY2lmaWMgKFRva3lvKVxuICAndXMtZ292LXdlc3QtMScsIC8vIEFXUyBHb3ZDbG91ZCAoVVMtV2VzdClcbiAgJ3VzLXdlc3QtMicsIC8vIFVTIFdlc3QgKE9yZWdvbilcbiAgJ3NhLWVhc3QtMScsIC8vIFNvdXRoIEFtZXJpY2EgKFPDo28gUGF1bG8pXG4gICdhcC1zb3V0aGVhc3QtMicsIC8vIEFzaWEgUGFjaWZpYyAoU3lkbmV5KVxuICBSVUxFX1MzX1dFQlNJVEVfUkVHSU9OQUxfU1VCRE9NQUlOLFxuICAnY24tbm9ydGgtMScsIC8vIENoaW5hIChCZWlqaW5nKVxuICAndXMtaXNvLWVhc3QtMScsIC8vIEFXUyBJU09cbiAgJ2V1LWNlbnRyYWwtMScsIC8vIEV1cm9wZSAoRnJhbmtmdXJ0KVxuICAnYXAtbm9ydGhlYXN0LTInLCAvLyBBc2lhIFBhY2lmaWMgKFNlb3VsKVxuICAnYXAtc291dGgtMScsIC8vIEFzaWEgUGFjaWZpYyAoTXVtYmFpKVxuICAndXMtZWFzdC0yJywgLy8gVVMgRWFzdCAoT2hpbylcbiAgJ2NhLWNlbnRyYWwtMScsIC8vIENhbmFkYSAoQ2VudHJhbClcbiAgJ2V1LXdlc3QtMicsIC8vIEV1cm9wZSAoTG9uZG9uKVxuICAndXMtaXNvYi1lYXN0LTEnLCAvLyBBV1MgSVNPLUJcbiAgJ2NuLW5vcnRod2VzdC0xJywgLy8gQ2hpbmEgKE5pbmd4aWEpXG4gICdldS13ZXN0LTMnLCAvLyBFdXJvcGUgKFBhcmlzKVxuICAnYXAtbm9ydGhlYXN0LTMnLCAvLyBBc2lhIFBhY2lmaWMgKE9zYWthKVxuICAndXMtZ292LWVhc3QtMScsIC8vIEFXUyBHb3ZDbG91ZCAoVVMtRWFzdClcbiAgJ2V1LW5vcnRoLTEnLCAvLyBFdXJvcGUgKFN0b2NraG9sbSlcbiAgUlVMRV9DTEFTU0lDX1BBUlRJVElPTl9CRUNPTUVTX09QVF9JTixcbiAgJ2FwLWVhc3QtMScsIC8vIEFzaWEgUGFjaWZpYyAoSG9uZyBLb25nKVxuICAnbWUtc291dGgtMScsIC8vIE1pZGRsZSBFYXN0IChCYWhyYWluKVxuICAnYWYtc291dGgtMScsIC8vIEFmcmljYSAoQ2FwZSBUb3duKVxuICAnZXUtc291dGgtMScsIC8vIEV1cm9wZSAoTWlsYW4pXG4gICd1cy1pc28td2VzdC0xJywgLy8gVVMgSVNPIFdlc3RcbiAgJ2FwLXNvdXRoZWFzdC0zJywgLy8gQXNpYSBQYWNpZmljIChKYWthcnRhKVxuICAnbWUtY2VudHJhbC0xJywgLy8gTWlkZGxlIEVhc3QgKFVBRSlcbiAgJ2V1LWNlbnRyYWwtMicsIC8vIEV1cm9wZSAoWnVyaWNoKVxuICAnZXUtc291dGgtMicsIC8vIEV1cm9wZSAoU3BhaW4pXG4gICdhcC1zb3V0aC0yJywgLy8gQXNpYSBQYWNpZmljIChIeWRlcmFiYWQpXG4gICdhcC1zb3V0aGVhc3QtNCcsIC8vIEFzaWEgUGFjaWZpYyAoTWVsYm91cm5lKVxuICAnaWwtY2VudHJhbC0xJywgLy8gSXNyYWVsIChUZWwgQXZpdilcbiAgJ2NhLXdlc3QtMScsIC8vIENhbmFkYSBXZXN0IChDYWxnYXJ5KVxuICAnYXAtc291dGhlYXN0LTUnLCAvLyBBc2lhIFBhY2lmaWMgKE1hbGF5c2lhKVxuICAnYXAtc291dGhlYXN0LTcnLCAvLyBBc2lhIFBhY2lmaWMgKFRoYWlsYW5kKVxuICAnbXgtY2VudHJhbC0xJywgLy8gTWV4aWNvIChDZW50cmFsKVxuICAnZXUtaXNvZS13ZXN0LTEnLCAvLyBFVSBJU08tRSBXZXN0XG5dO1xuXG4vKipcbiAqIFRoZSBuYW1lcyBvZiBhbGwgKGtub3duKSBBV1MgcmVnaW9uc1xuICpcbiAqIE5vdCBpbiB0aGUgbGlzdCA9PT4gbm8gYnVpbHQtaW4gZGF0YSBmb3IgdGhhdCByZWdpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBBV1NfUkVHSU9OUyA9IEFXU19SRUdJT05TX0FORF9SVUxFU1xuICAuZmlsdGVyKCh4KSA9PiB0eXBlb2YgeCA9PT0gJ3N0cmluZycpXG4gIC5zb3J0KCkgYXMgcmVhZG9ubHkgc3RyaW5nW107XG5cbi8qKlxuICogUG9zc2libHkgbm9uLWV4aGF1c3RpdmUgbGlzdCBvZiBhbGwgc2VydmljZSBuYW1lcywgdXNlZCB0byBsb2NhdGUgc2VydmljZSBwcmluY2lwYWxzLlxuICpcbiAqIE5vdCBpbiB0aGUgbGlzdCA9PT4gZGVmYXVsdCBzZXJ2aWNlIHByaW5jaXBhbCBtYXBwaW5ncy5cbiAqL1xuZXhwb3J0IGNvbnN0IEFXU19TRVJWSUNFUzogcmVhZG9ubHkgc3RyaW5nW10gPSBbXG4gICdhcHBsaWNhdGlvbi1hdXRvc2NhbGluZycsXG4gICdhdXRvc2NhbGluZycsXG4gICdjb2RlZGVwbG95JyxcbiAgJ2VjMicsXG4gICdldmVudHMnLFxuICAnbGFtYmRhJyxcbiAgJ2xvZ3MnLFxuICAnczMnLFxuICAnc3NtJyxcbiAgJ3NucycsXG4gICdzcXMnLFxuICAnc3RhdGVzJyxcbl0uc29ydCgpO1xuXG4vKipcbiAqIFdoZXRoZXIgb3Igbm90IGEgcmVnaW9uIHByZWRhdGVzIGEgZ2l2ZW4gcnVsZSAob3IgcmVnaW9uKS5cbiAqXG4gKiBVbmtub3duIHJlZ2lvbiA9PiB3ZSBoYXZlIHRvIGFzc3VtZSBuby5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJlZm9yZShyZWdpb246IHN0cmluZywgcnVsZU9yUmVnaW9uOiBzdHJpbmcgfCBzeW1ib2wpIHtcbiAgY29uc3QgcnVsZUl4ID0gQVdTX1JFR0lPTlNfQU5EX1JVTEVTLmluZGV4T2YocnVsZU9yUmVnaW9uKTtcbiAgaWYgKHJ1bGVJeCA9PT0gLTEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gcnVsZTogJHtTdHJpbmcocnVsZU9yUmVnaW9uKX1gKTtcbiAgfVxuICBjb25zdCByZWdpb25JeCA9IEFXU19SRUdJT05TX0FORF9SVUxFUy5pbmRleE9mKHJlZ2lvbik7XG4gIHJldHVybiByZWdpb25JeCA9PT0gLTEgPyBmYWxzZSA6IHJlZ2lvbkl4IDwgcnVsZUl4O1xufVxuXG4vKipcbiAqIFJldHVybiBhbGwgcmVnaW9ucyBiZWZvcmUgYSBnaXZlbiBydWxlIHdhcyBpbnRyb2R1Y2VkIChvciByZWdpb24pXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWdpb25zQmVmb3JlKHJ1bGVPclJlZ2lvbjogc3RyaW5nIHwgc3ltYm9sKTogc3RyaW5nW10ge1xuICBjb25zdCBydWxlSXggPSBBV1NfUkVHSU9OU19BTkRfUlVMRVMuaW5kZXhPZihydWxlT3JSZWdpb24pO1xuICBpZiAocnVsZUl4ID09PSAtMSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBydWxlOiAke1N0cmluZyhydWxlT3JSZWdpb24pfWApO1xuICB9XG4gIHJldHVybiBBV1NfUkVHSU9OU19BTkRfUlVMRVMuc2xpY2UoMCwgcnVsZUl4KVxuICAgIC5maWx0ZXIoKGVudHJ5KSA9PiB0eXBlb2YgZW50cnkgPT09ICdzdHJpbmcnKVxuICAgIC5zb3J0KCkgYXMgc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaW9uIHsgcmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7IHJlYWRvbmx5IGRvbWFpblN1ZmZpeDogc3RyaW5nIH1cblxuY29uc3QgUEFSVElUSU9OX01BUDoge3JlYWRvbmx5IFtyZWdpb246IHN0cmluZ106IFJlZ2lvbiB9ID0ge1xuICAnZGVmYXVsdCc6IHsgcGFydGl0aW9uOiAnYXdzJywgZG9tYWluU3VmZml4OiAnYW1hem9uYXdzLmNvbScgfSxcbiAgJ2NuLSc6IHsgcGFydGl0aW9uOiAnYXdzLWNuJywgZG9tYWluU3VmZml4OiAnYW1hem9uYXdzLmNvbS5jbicgfSxcbiAgJ3VzLWdvdi0nOiB7IHBhcnRpdGlvbjogJ2F3cy11cy1nb3YnLCBkb21haW5TdWZmaXg6ICdhbWF6b25hd3MuY29tJyB9LFxuICAndXMtaXNvLSc6IHsgcGFydGl0aW9uOiAnYXdzLWlzbycsIGRvbWFpblN1ZmZpeDogJ2Mycy5pYy5nb3YnIH0sXG4gICd1cy1pc29iLSc6IHsgcGFydGl0aW9uOiAnYXdzLWlzby1iJywgZG9tYWluU3VmZml4OiAnc2Mycy5zZ292LmdvdicgfSxcbiAgJ3VzLWlzb2YtJzogeyBwYXJ0aXRpb246ICdhd3MtaXNvLWYnLCBkb21haW5TdWZmaXg6ICdjc3AuaGNpLmljLmdvdicgfSxcbiAgJ2V1LWlzb2UtJzogeyBwYXJ0aXRpb246ICdhd3MtaXNvLWUnLCBkb21haW5TdWZmaXg6ICdjbG91ZC5hZGMtZS51aycgfSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJ0aXRpb25JbmZvcm1hdGlvbihyZWdpb246IHN0cmluZyk6IFJlZ2lvbiB7XG4gIGZvciAoY29uc3QgW3ByZWZpeCwgaW5mb10gb2YgT2JqZWN0LmVudHJpZXMoUEFSVElUSU9OX01BUCkpIHtcbiAgICBpZiAocmVnaW9uLnN0YXJ0c1dpdGgocHJlZml4KSkge1xuICAgICAgcmV0dXJuIGluZm87XG4gICAgfVxuICB9XG4gIHJldHVybiBQQVJUSVRJT05fTUFQLmRlZmF1bHQ7XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWVudGl0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXdzLWVudGl0aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7O0dBSUc7QUFDVSxRQUFBLGtDQUFrQyxHQUFHLE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0FBRTFGOztHQUVHO0FBQ1UsUUFBQSxxQ0FBcUMsR0FBRyxNQUFNLENBQUMsa0NBQWtDLENBQUMsQ0FBQztBQUVoRzs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ1UsUUFBQSxxQkFBcUIsR0FBaUM7SUFDakUsV0FBVyxFQUFFLHdCQUF3QjtJQUNyQyxXQUFXLEVBQUUsbUJBQW1CO0lBQ2hDLFdBQVcsRUFBRSwwQkFBMEI7SUFDdkMsZ0JBQWdCLEVBQUUsMkJBQTJCO0lBQzdDLGdCQUFnQixFQUFFLHVCQUF1QjtJQUN6QyxlQUFlLEVBQUUseUJBQXlCO0lBQzFDLFdBQVcsRUFBRSxtQkFBbUI7SUFDaEMsV0FBVyxFQUFFLDRCQUE0QjtJQUN6QyxnQkFBZ0IsRUFBRSx3QkFBd0I7SUFDMUMsMENBQWtDO0lBQ2xDLFlBQVksRUFBRSxrQkFBa0I7SUFDaEMsZUFBZSxFQUFFLFVBQVU7SUFDM0IsY0FBYyxFQUFFLHFCQUFxQjtJQUNyQyxnQkFBZ0IsRUFBRSx1QkFBdUI7SUFDekMsWUFBWSxFQUFFLHdCQUF3QjtJQUN0QyxXQUFXLEVBQUUsaUJBQWlCO0lBQzlCLGNBQWMsRUFBRSxtQkFBbUI7SUFDbkMsV0FBVyxFQUFFLGtCQUFrQjtJQUMvQixnQkFBZ0IsRUFBRSxZQUFZO0lBQzlCLGdCQUFnQixFQUFFLGtCQUFrQjtJQUNwQyxXQUFXLEVBQUUsaUJBQWlCO0lBQzlCLGdCQUFnQixFQUFFLHVCQUF1QjtJQUN6QyxlQUFlLEVBQUUseUJBQXlCO0lBQzFDLFlBQVksRUFBRSxxQkFBcUI7SUFDbkMsNkNBQXFDO0lBQ3JDLFdBQVcsRUFBRSwyQkFBMkI7SUFDeEMsWUFBWSxFQUFFLHdCQUF3QjtJQUN0QyxZQUFZ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QyxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztRQUMzRCxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUM5QixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxhQUFhLENBQUMsT0FBTyxDQUFDO0FBQy9CLENBQUM7QUFQRCxvREFPQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQWZ0ZXIgdGhpcyBwb2ludCwgUzMgd2Vic2l0ZSBkb21haW5zIGxvb2sgbGlrZSBgczMtd2Vic2l0ZS5SRUdJT04uczMuYW1hem9uYXdzLmNvbWBcbiAqXG4gKiBCZWZvcmUgdGhpcyBwb2ludCwgUzMgd2Vic2l0ZSBkb21haW5zIGxvb2sgbGlrZSBgczMtd2Vic2l0ZS1SRUdJT04uczMuYW1hem9uYXdzLmNvbWAuXG4gKi9cbmV4cG9ydCBjb25zdCBSVUxFX1MzX1dFQlNJVEVfUkVHSU9OQUxfU1VCRE9NQUlOID0gU3ltYm9sKCdTM19XRUJTSVRFX1JFR0lPTkFMX1NVQkRPTUFJTicpO1xuXG4vKipcbiAqIEFmdGVyIHRoaXMgcG9pbnQsIGFsbCByZWdpb25zIGluIHRoZSAnYXdzJyBwYXJ0aXRpb24gYXJlIG9wdC1pbi5cbiAqL1xuZXhwb3J0IGNvbnN0IFJVTEVfQ0xBU1NJQ19QQVJUSVRJT05fQkVDT01FU19PUFRfSU4gPSBTeW1ib2woJ0NMQVNTSUNfUEFSVElUSU9OX0JFQ09NRVNfT1BUX0lOJyk7XG5cbi8qKlxuICogTGlzdCBvZiBBV1MgcmVnaW9uLCBvcmRlcmVkIGJ5IGxhdW5jaCBkYXRlIChvbGRlc3QgdG8gbmV3ZXN0KVxuICpcbiAqIFRoZSBzaWduaWZpY2FuY2Ugb2YgdGhpcyBpcyB0aGF0IHN0YW5kYXJkcyBhbmQgY29udmVudGlvbnMgY2hhbmdlIG92ZXIgdGltZS5cbiAqIEdlbmVyYWxseSwgYXMgcnVsZXMgYXJlIGNoYW5nZWQgdGhleSBvbmx5IGFwcGx5IHRvIG5ldyByZWdpb25zLCBhbmQgb2xkXG4gKiByZWdpb25zIGFyZSBsZWZ0IGFzLWlzLlxuICpcbiAqIFdlIG1peCB0aGUgbGlzdCBvZiByZWdpb25zIHdpdGggYSBsaXN0IG9mIHJ1bGVzIHRoYXQgd2VyZSBpbnRyb2R1Y2VkIG92ZXJcbiAqIHRpbWUgKHJ1bGVzIGFyZSBzeW1ib2xzKS5cbiAqXG4gKiBUaGVyZWZvcmUsIGlmIHdlIHdhbnQgdG8ga25vdyBpZiBhIHJ1bGUgYXBwbGllcyB0byBhIGNlcnRhaW4gcmVnaW9uLCB3ZVxuICogb25seSBuZWVkIHRvIGNoZWNrIGl0cyBwb3NpdGlvbiBpbiB0aGUgbGlzdCBhbmQgY29tcGFyZSBpdCB0byB3aGVuIGFcbiAqIHJ1bGUgd2FzIGludHJvZHVjZWQuXG4gKi9cbmV4cG9ydCBjb25zdCBBV1NfUkVHSU9OU19BTkRfUlVMRVM6IHJlYWRvbmx5IChzdHJpbmcgfCBzeW1ib2wpW10gPSBbXG4gICd1cy1lYXN0LTEnLCAvLyBVUyBFYXN0IChOLiBWaXJnaW5pYSlcbiAgJ2V1LXdlc3QtMScsIC8vIEV1cm9wZSAoSXJlbGFuZClcbiAgJ3VzLXdlc3QtMScsIC8vIFVTIFdlc3QgKE4uIENhbGlmb3JuaWEpXG4gICdhcC1zb3V0aGVhc3QtMScsIC8vIEFzaWEgUGFjaWZpYyAoU2luZ2Fwb3JlKVxuICAnYXAtbm9ydGhlYXN0LTEnLCAvLyBBc2lhIFBhY2lmaWMgKFRva3lvKVxuICAndXMtZ292LXdlc3QtMScsIC8vIEFXUyBHb3ZDbG91ZCAoVVMtV2VzdClcbiAgJ3VzLXdlc3QtMicsIC8vIFVTIFdlc3QgKE9yZWdvbilcbiAgJ3NhLWVhc3QtMScsIC8vIFNvdXRoIEFtZXJpY2EgKFPDo28gUGF1bG8pXG4gICdhcC1zb3V0aGVhc3QtMicsIC8vIEFzaWEgUGFjaWZpYyAoU3lkbmV5KVxuICBSVUxFX1MzX1dFQlNJVEVfUkVHSU9OQUxfU1VCRE9NQUlOLFxuICAnY24tbm9ydGgtMScsIC8vIENoaW5hIChCZWlqaW5nKVxuICAndXMtaXNvLWVhc3QtMScsIC8vIEFXUyBJU09cbiAgJ2V1LWNlbnRyYWwtMScsIC8vIEV1cm9wZSAoRnJhbmtmdXJ0KVxuICAnYXAtbm9ydGhlYXN0LTInLCAvLyBBc2lhIFBhY2lmaWMgKFNlb3VsKVxuICAnYXAtc291dGgtMScsIC8vIEFzaWEgUGFjaWZpYyAoTXVtYmFpKVxuICAndXMtZWFzdC0yJywgLy8gVVMgRWFzdCAoT2hpbylcbiAgJ2NhLWNlbnRyYWwtMScsIC8vIENhbmFkYSAoQ2VudHJhbClcbiAgJ2V1LXdlc3QtMicsIC8vIEV1cm9wZSAoTG9uZG9uKVxuICAndXMtaXNvYi1lYXN0LTEnLCAvLyBBV1MgSVNPLUJcbiAgJ2NuLW5vcnRod2VzdC0xJywgLy8gQ2hpbmEgKE5pbmd4aWEpXG4gICdldS13ZXN0LTMnLCAvLyBFdXJvcGUgKFBhcmlzKVxuICAnYXAtbm9ydGhlYXN0LTMnLCAvLyBBc2lhIFBhY2lmaWMgKE9zYWthKVxuICAndXMtZ292LWVhc3QtMScsIC8vIEFXUyBHb3ZDbG91ZCAoVVMtRWFzdClcbiAgJ2V1LW5vcnRoLTEnLCAvLyBFdXJvcGUgKFN0b2NraG9sbSlcbiAgUlVMRV9DTEFTU0lDX1BBUlRJVElPTl9CRUNPTUVTX09QVF9JTixcbiAgJ2FwLWVhc3QtMScsIC8vIEFzaWEgUGFjaWZpYyAoSG9uZyBLb25nKVxuICAnbWUtc291dGgtMScsIC8vIE1pZGRsZSBFYXN0IChCYWhyYWluKVxuICAnYWYtc291dGgtMScsIC8vIEFmcmljYSAoQ2FwZSBUb3duKVxuICAnZXUtc291dGgtMScsIC8vIEV1cm9wZSAoTWlsYW4pXG4gICd1cy1pc28td2VzdC0xJywgLy8gVVMgSVNPIFdlc3RcbiAgJ2FwLXNvdXRoZWFzdC0zJywgLy8gQXNpYSBQYWNpZmljIChKYWthcnRhKVxuICAnbWUtY2VudHJhbC0xJywgLy8gTWlkZGxlIEVhc3QgKFVBRSlcbiAgJ2V1LWNlbnRyYWwtMicsIC8vIEV1cm9wZSAoWnVyaWNoKVxuICAnZXUtc291dGgtMicsIC8vIEV1cm9wZSAoU3BhaW4pXG4gICdhcC1zb3V0aC0yJywgLy8gQXNpYSBQYWNpZmljIChIeWRlcmFiYWQpXG4gICdhcC1zb3V0aGVhc3QtNCcsIC8vIEFzaWEgUGFjaWZpYyAoTWVsYm91cm5lKVxuICAnaWwtY2VudHJhbC0xJywgLy8gSXNyYWVsIChUZWwgQXZpdilcbiAgJ2NhLXdlc3QtMScsIC8vIENhbmFkYSBXZXN0IChDYWxnYXJ5KVxuICAnYXAtc291dGhlYXN0LTUnLCAvLyBBc2lhIFBhY2lmaWMgKE1hbGF5c2lhKVxuICAnYXAtc291dGhlYXN0LTcnLCAvLyBBc2lhIFBhY2lmaWMgKFRoYWlsYW5kKVxuICAnbXgtY2VudHJhbC0xJywgLy8gTWV4aWNvIChDZW50cmFsKVxuICAnZXUtaXNvZS13ZXN0LTEnLCAvLyBFVSBJU08tRSBXZXN0XG5dO1xuXG4vKipcbiAqIFRoZSBuYW1lcyBvZiBhbGwgKGtub3duKSBBV1MgcmVnaW9uc1xuICpcbiAqIE5vdCBpbiB0aGUgbGlzdCA9PT4gbm8gYnVpbHQtaW4gZGF0YSBmb3IgdGhhdCByZWdpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBBV1NfUkVHSU9OUyA9IEFXU19SRUdJT05TX0FORF9SVUxFU1xuICAuZmlsdGVyKCh4KSA9PiB0eXBlb2YgeCA9PT0gJ3N0cmluZycpXG4gIC5zb3J0KCkgYXMgcmVhZG9ubHkgc3RyaW5nW107XG5cbi8qKlxuICogV2hldGhlciBvciBub3QgYSByZWdpb24gcHJlZGF0ZXMgYSBnaXZlbiBydWxlIChvciByZWdpb24pLlxuICpcbiAqIFVua25vd24gcmVnaW9uID0+IHdlIGhhdmUgdG8gYXNzdW1lIG5vLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYmVmb3JlKHJlZ2lvbjogc3RyaW5nLCBydWxlT3JSZWdpb246IHN0cmluZyB8IHN5bWJvbCkge1xuICBjb25zdCBydWxlSXggPSBBV1NfUkVHSU9OU19BTkRfUlVMRVMuaW5kZXhPZihydWxlT3JSZWdpb24pO1xuICBpZiAocnVsZUl4ID09PSAtMSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBydWxlOiAke1N0cmluZyhydWxlT3JSZWdpb24pfWApO1xuICB9XG4gIGNvbnN0IHJlZ2lvbkl4ID0gQVdTX1JFR0lPTlNfQU5EX1JVTEVTLmluZGV4T2YocmVnaW9uKTtcbiAgcmV0dXJuIHJlZ2lvbkl4ID09PSAtMSA/IGZhbHNlIDogcmVnaW9uSXggPCBydWxlSXg7XG59XG5cbi8qKlxuICogUmV0dXJuIGFsbCByZWdpb25zIGJlZm9yZSBhIGdpdmVuIHJ1bGUgd2FzIGludHJvZHVjZWQgKG9yIHJlZ2lvbilcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lvbnNCZWZvcmUocnVsZU9yUmVnaW9uOiBzdHJpbmcgfCBzeW1ib2wpOiBzdHJpbmdbXSB7XG4gIGNvbnN0IHJ1bGVJeCA9IEFXU19SRUdJT05TX0FORF9SVUxFUy5pbmRleE9mKHJ1bGVPclJlZ2lvbik7XG4gIGlmIChydWxlSXggPT09IC0xKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHJ1bGU6ICR7U3RyaW5nKHJ1bGVPclJlZ2lvbil9YCk7XG4gIH1cbiAgcmV0dXJuIEFXU19SRUdJT05TX0FORF9SVUxFUy5zbGljZSgwLCBydWxlSXgpXG4gICAgLmZpbHRlcigoZW50cnkpID0+IHR5cGVvZiBlbnRyeSA9PT0gJ3N0cmluZycpXG4gICAgLnNvcnQoKSBhcyBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWdpb24geyByZWFkb25seSBwYXJ0aXRpb246IHN0cmluZzsgcmVhZG9ubHkgZG9tYWluU3VmZml4OiBzdHJpbmcgfVxuXG5jb25zdCBQQVJUSVRJT05fTUFQOiB7cmVhZG9ubHkgW3JlZ2lvbjogc3RyaW5nXTogUmVnaW9uIH0gPSB7XG4gICdkZWZhdWx0JzogeyBwYXJ0aXRpb246ICdhd3MnLCBkb21haW5TdWZmaXg6ICdhbWF6b25hd3MuY29tJyB9LFxuICAnY24tJzogeyBwYXJ0aXRpb246ICdhd3MtY24nLCBkb21haW5TdWZmaXg6ICdhbWF6b25hd3MuY29tLmNuJyB9LFxuICAndXMtZ292LSc6IHsgcGFydGl0aW9uOiAnYXdzLXVzLWdvdicsIGRvbWFpblN1ZmZpeDogJ2FtYXpvbmF3cy5jb20nIH0sXG4gICd1cy1pc28tJzogeyBwYXJ0aXRpb246ICdhd3MtaXNvJywgZG9tYWluU3VmZml4OiAnYzJzLmljLmdvdicgfSxcbiAgJ3VzLWlzb2ItJzogeyBwYXJ0aXRpb246ICdhd3MtaXNvLWInLCBkb21haW5TdWZmaXg6ICdzYzJzLnNnb3YuZ292JyB9LFxuICAndXMtaXNvZi0nOiB7IHBhcnRpdGlvbjogJ2F3cy1pc28tZicsIGRvbWFpblN1ZmZpeDogJ2NzcC5oY2kuaWMuZ292JyB9LFxuICAnZXUtaXNvZS0nOiB7IHBhcnRpdGlvbjogJ2F3cy1pc28tZScsIGRvbWFpblN1ZmZpeDogJ2Nsb3VkLmFkYy1lLnVrJyB9LFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnRpdGlvbkluZm9ybWF0aW9uKHJlZ2lvbjogc3RyaW5nKTogUmVnaW9uIHtcbiAgZm9yIChjb25zdCBbcHJlZml4LCBpbmZvXSBvZiBPYmplY3QuZW50cmllcyhQQVJUSVRJT05fTUFQKSkge1xuICAgIGlmIChyZWdpb24uc3RhcnRzV2l0aChwcmVmaXgpKSB7XG4gICAgICByZXR1cm4gaW5mbztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIFBBUlRJVElPTl9NQVAuZGVmYXVsdDtcbn1cbiJdfQ==

2

lib/built-ins.generated.d.ts
/**
* Built-in regional information, re-generated by `npm run build`.
*
* @generated 2024-07-12T18:45:29.083Z
* @generated 2024-07-22T21:56:23.574Z
*/

@@ -6,0 +6,0 @@ export declare class BuiltIns {

/**
* Provides default values for certain regional information points.
* This class is no longer needed because service principals are no longer needed except in very specific cases
* that are handled in the IAM ServicePrincipal class.
* @deprecated - Service principals are now globally `<SERVICE>.amazonaws.com`, use iam.ServicePrincipal instead.
*/

@@ -9,2 +12,4 @@ export declare class Default {

* `{ "Ref": "AWS::Region" }`)
*
* @deprecated - Use VpceEndpointService.DEFAULT_PREFIX instead
*/

@@ -21,2 +26,4 @@ static readonly VPC_ENDPOINT_SERVICE_NAME_PREFIX = "com.amazonaws.vpce";

* @param urlSuffix deprecated and ignored.
*
* @deprecated - Service principals are now globally `<SERVICE>.amazonaws.com`, use iam.ServicePrincipal instead.
*/

@@ -23,0 +30,0 @@ static servicePrincipal(serviceFqn: string, region: string, urlSuffix: string): string;

@@ -5,5 +5,9 @@ "use strict";

exports.Default = void 0;
const jsiiDeprecationWarnings = require("../.warnings.jsii.js");
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
/**
* Provides default values for certain regional information points.
* This class is no longer needed because service principals are no longer needed except in very specific cases
* that are handled in the IAM ServicePrincipal class.
* @deprecated - Service principals are now globally `<SERVICE>.amazonaws.com`, use iam.ServicePrincipal instead.
*/

@@ -20,4 +24,15 @@ class Default {

* @param urlSuffix deprecated and ignored.
*
* @deprecated - Service principals are now globally `<SERVICE>.amazonaws.com`, use iam.ServicePrincipal instead.
*/
static servicePrincipal(serviceFqn, region, urlSuffix) {
try {
jsiiDeprecationWarnings.print("@aws-cdk/region-info.Default#servicePrincipal", "- Service principals are now globally `<SERVICE>.amazonaws.com`, use iam.ServicePrincipal instead.");
}
catch (error) {
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
Error.captureStackTrace(error, this.servicePrincipal);
}
throw error;
}
// NOTE: this whole method is deprecated, and should not be used or updated anymore. The global service

@@ -28,4 +43,2 @@ // principal is always correct, when referenced from within a region.

// controlled here).
//
// (It cannot be actually @deprecated since many of our tests use it :D)
const serviceName = extractSimpleName(serviceFqn);

@@ -110,3 +123,3 @@ if (!serviceName) {

_a = JSII_RTTI_SYMBOL_1;
Default[_a] = { fqn: "@aws-cdk/region-info.Default", version: "2.149.0" };
Default[_a] = { fqn: "@aws-cdk/region-info.Default", version: "2.150.0" };
/**

@@ -116,2 +129,4 @@ * The default value for a VPC Endpoint Service name prefix, useful if you do

* `{ "Ref": "AWS::Region" }`)
*
* @deprecated - Use VpceEndpointService.DEFAULT_PREFIX instead
*/

@@ -123,2 +138,2 @@ Default.VPC_ENDPOINT_SERVICE_NAME_PREFIX = 'com.amazonaws.vpce';

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImRlZmF1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7R0FFRztBQUNILE1BQWEsT0FBTztJQVNsQjs7Ozs7Ozs7O09BU0c7SUFDSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsVUFBa0IsRUFBRSxNQUFjLEVBQUUsU0FBaUI7UUFDbEYsdUdBQXVHO1FBQ3ZHLHFFQUFxRTtRQUNyRSx1RkFBdUY7UUFDdkYsa0dBQWtHO1FBQ2xHLG9CQUFvQjtRQUNwQixFQUFFO1FBQ0Ysd0VBQXdFO1FBRXhFLE1BQU0sV0FBVyxHQUFHLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNqQixrRUFBa0U7WUFDbEUsT0FBTztZQUNQLHFCQUFxQjtZQUNyQix3QkFBd0I7WUFDeEIsa0JBQWtCO1lBQ2xCLHFCQUFxQjtZQUNyQixPQUFPLFVBQVUsQ0FBQztRQUNwQixDQUFDO1FBRUQsU0FBUyxzQkFBc0IsQ0FBQyxPQUFlO1lBQzdDLFNBQVMsU0FBUyxDQUFDLENBQVMsSUFBSSxPQUFPLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7WUFDOUQsU0FBUyxXQUFXLENBQUMsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTLElBQUksT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDN0UsU0FBUyxRQUFRLENBQUMsQ0FBUyxFQUFFLENBQVMsSUFBSSxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1lBQzdFLFNBQVMsbUJBQW1CLENBQUMsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTLElBQUksT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBRTFGLGdEQUFnRDtZQUNoRCxNQUFNLGlCQUFpQixHQUFHLElBQUksR0FBRyxDQUFDO2dCQUNoQyxVQUFVO2dCQUNWLFFBQVE7Z0JBQ1IsUUFBUTtnQkFDUixZQUFZO2FBQ2IsQ0FBQyxDQUFDO1lBRUgscUVBQXFFO1lBQ3JFLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDbkUsUUFBUSxPQUFPLEVBQUUsQ0FBQztvQkFDaEIsb0NBQW9DO29CQUNwQyxLQUFLLENBQUMsUUFBUSxDQUFDO3dCQUNiLE9BQU8sU0FBUyxDQUFDO29CQUVuQix3Q0FBd0M7b0JBQ3hDO3dCQUNFLE9BQU8sV0FBVyxDQUFDO2dCQUN2QixDQUFDO1lBQ0gsQ0FBQztZQUVELGlEQUFpRDtZQUNqRCxNQUFNLGtCQUFrQixHQUFHLElBQUksR0FBRyxDQUFDO2dCQUNqQyxLQUFLO2dCQUNMLFFBQVE7YUFDVCxDQUFDLENBQUM7WUFFSCxzRUFBc0U7WUFDdEUsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNyRSxRQUFRLE9BQU8sRUFBRSxDQUFDO29CQUNoQixvQ0FBb0M7b0JBQ3BDLEtBQUssQ0FBQyxRQUFRLENBQUM7d0JBQ2IsT0FBTyxTQUFTLENBQUM7b0JBRW5CLHdDQUF3QztvQkFDeEM7d0JBQ0UsT0FBTyxXQUFXLENBQUM7Z0JBQ3ZCLENBQUM7WUFDSCxDQUFDO1lBRUQsUUFBUSxPQUFPLEVBQUUsQ0FBQztnQkFDaEIsMEVBQTBFO2dCQUMxRSxLQUFLLFlBQVk7b0JBQ2YsT0FBTyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQzt3QkFDN0IsQ0FBQyxDQUFDLG1CQUFtQjt3QkFDckIsMERBQTBEO3dCQUMxRCxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUUzRCxxREFBcUQ7Z0JBQ3JELEtBQUssTUFBTTtvQkFDVCxPQUFPLG1CQUFtQixDQUFDO2dCQUU3QixxQ0FBcUM7Z0JBQ3JDLEtBQUssUUFBUTtvQkFDWCxPQUFPLFFBQVEsQ0FBQztnQkFFbEIsS0FBSyxrQkFBa0I7b0JBQ3JCLE9BQU8sTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7d0JBQzdCLENBQUMsQ0FBQyxXQUFXO3dCQUNiLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBRWhCLHVGQUF1RjtnQkFDdkY7b0JBQ0UsT0FBTyxTQUFTLENBQUM7WUFFckIsQ0FBQztRQUNILENBQUM7UUFBQSxDQUFDO1FBRUYsTUFBTSxhQUFhLEdBQUcsc0JBQXNCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDMUQsT0FBTyxhQUFhLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztLQUN0RDtJQUVELGlCQUF5Qjs7QUFySDNCLDBCQXNIQzs7O0FBcEhDOzs7O0dBSUc7QUFDb0Isd0NBQWdDLEdBQUcsb0JBQW9CLENBQUM7QUFpSGpGLFNBQVMsaUJBQWlCLENBQUMsVUFBa0I7SUFDM0MsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxzRkFBc0YsQ0FBQyxDQUFDO0lBQ3pILE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUMxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBQcm92aWRlcyBkZWZhdWx0IHZhbHVlcyBmb3IgY2VydGFpbiByZWdpb25hbCBpbmZvcm1hdGlvbiBwb2ludHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBEZWZhdWx0IHtcblxuICAvKipcbiAgICogVGhlIGRlZmF1bHQgdmFsdWUgZm9yIGEgVlBDIEVuZHBvaW50IFNlcnZpY2UgbmFtZSBwcmVmaXgsIHVzZWZ1bCBpZiB5b3UgZG9cbiAgICogbm90IGhhdmUgYSBzeW50aGVzaXplLXRpbWUgcmVnaW9uIGxpdGVyYWwgYXZhaWxhYmxlIChhbGwgeW91IGhhdmUgaXNcbiAgICogYHsgXCJSZWZcIjogXCJBV1M6OlJlZ2lvblwiIH1gKVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBWUENfRU5EUE9JTlRfU0VSVklDRV9OQU1FX1BSRUZJWCA9ICdjb20uYW1hem9uYXdzLnZwY2UnO1xuXG4gIC8qKlxuICAgKiBDb21wdXRlcyBhIFwic3RhbmRhcmRcIiBBV1MgU2VydmljZSBwcmluY2lwYWwgZm9yIGEgZ2l2ZW4gc2VydmljZSwgcmVnaW9uIGFuZCBzdWZmaXguIFRoaXMgaXMgdXNlZnVsIGZvciBleGFtcGxlIHdoZW5cbiAgICogeW91IG5lZWQgdG8gY29tcHV0ZSBhIHNlcnZpY2UgcHJpbmNpcGFsIG5hbWUsIGJ1dCB5b3UgZG8gbm90IGhhdmUgYSBzeW50aGVzaXplLXRpbWUgcmVnaW9uIGxpdGVyYWwgYXZhaWxhYmxlIChzb1xuICAgKiBhbGwgeW91IGhhdmUgaXMgYHsgXCJSZWZcIjogXCJBV1M6OlJlZ2lvblwiIH1gKS4gVGhpcyB3YXkgeW91IGdldCB0aGUgc2FtZSBkZWZhdWx0aW5nIGJlaGF2aW9yIHRoYXQgaXMgbm9ybWFsbHkgdXNlZFxuICAgKiBmb3IgYnVpbHQtaW4gZGF0YS5cbiAgICpcbiAgICogQHBhcmFtIHNlcnZpY2VGcW4gdGhlIG5hbWUgb2YgdGhlIHNlcnZpY2UgKHMzLCBzMy5hbWF6b25hd3MuY29tLCAuLi4pXG4gICAqIEBwYXJhbSByZWdpb24gICAgdGhlIHJlZ2lvbiBpbiB3aGljaCB0aGUgc2VydmljZSBwcmluY2lwYWwgaXMgbmVlZGVkLlxuICAgKiBAcGFyYW0gdXJsU3VmZml4IGRlcHJlY2F0ZWQgYW5kIGlnbm9yZWQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHNlcnZpY2VQcmluY2lwYWwoc2VydmljZUZxbjogc3RyaW5nLCByZWdpb246IHN0cmluZywgdXJsU3VmZml4OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIC8vIE5PVEU6IHRoaXMgd2hvbGUgbWV0aG9kIGlzIGRlcHJlY2F0ZWQsIGFuZCBzaG91bGQgbm90IGJlIHVzZWQgb3IgdXBkYXRlZCBhbnltb3JlLiBUaGUgZ2xvYmFsIHNlcnZpY2VcbiAgICAvLyBwcmluY2lwYWwgaXMgYWx3YXlzIGNvcnJlY3QsIHdoZW4gcmVmZXJlbmNlZCBmcm9tIHdpdGhpbiBhIHJlZ2lvbi5cbiAgICAvLyAoQXMgYSBub3RlLCByZWdpb25hbCBwcmluY2lwYWxzIChgPFNFUlZJQ0U+LjxSRUdJT04+LmFtYXpvbmF3cy5jb21gKSBhcmUgcmVxdWlyZWQgaW5cbiAgICAvLyBjYXNlIG9mIGEgY3Jvc3MtcmVnaW9uIHJlZmVyZW5jZSB0byBhbiBvcHQtaW4gcmVnaW9uLCBidXQgdGhhdCdzIHRoZSBvbmx5IGNhc2UsIGFuZCB0aGF0IGlzIG5vdFxuICAgIC8vIGNvbnRyb2xsZWQgaGVyZSkuXG4gICAgLy9cbiAgICAvLyAoSXQgY2Fubm90IGJlIGFjdHVhbGx5IEBkZXByZWNhdGVkIHNpbmNlIG1hbnkgb2Ygb3VyIHRlc3RzIHVzZSBpdCA6RClcblxuICAgIGNvbnN0IHNlcnZpY2VOYW1lID0gZXh0cmFjdFNpbXBsZU5hbWUoc2VydmljZUZxbik7XG4gICAgaWYgKCFzZXJ2aWNlTmFtZSkge1xuICAgICAgLy8gUmV0dXJuIFwic2VydmljZVwiIGlmIGl0IGRvZXMgbm90IGxvb2sgbGlrZSBhbnkgb2YgdGhlIGZvbGxvd2luZzpcbiAgICAgIC8vIC0gczNcbiAgICAgIC8vIC0gczMuYW1hem9uYXdzLmNvbVxuICAgICAgLy8gLSBzMy5hbWF6b25hd3MuY29tLmNuXG4gICAgICAvLyAtIHMzLmMycy5pYy5nb3ZcbiAgICAgIC8vIC0gczMuc2Mycy5zZ292LmdvdlxuICAgICAgcmV0dXJuIHNlcnZpY2VGcW47XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZGV0ZXJtaW5lQ29uZmlndXJhdGlvbihzZXJ2aWNlOiBzdHJpbmcpOiAoc2VydmljZTogc3RyaW5nLCByZWdpb246IHN0cmluZywgdXJsU3VmZml4OiBzdHJpbmcpID0+IHN0cmluZyB7XG4gICAgICBmdW5jdGlvbiB1bml2ZXJzYWwoczogc3RyaW5nKSB7IHJldHVybiBgJHtzfS5hbWF6b25hd3MuY29tYDsgfVxuICAgICAgZnVuY3Rpb24gcGFydGl0aW9uYWwoczogc3RyaW5nLCBfOiBzdHJpbmcsIHU6IHN0cmluZykgeyByZXR1cm4gYCR7c30uJHt1fWA7IH1cbiAgICAgIGZ1bmN0aW9uIHJlZ2lvbmFsKHM6IHN0cmluZywgcjogc3RyaW5nKSB7IHJldHVybiBgJHtzfS4ke3J9LmFtYXpvbmF3cy5jb21gOyB9XG4gICAgICBmdW5jdGlvbiByZWdpb25hbFBhcnRpdGlvbmFsKHM6IHN0cmluZywgcjogc3RyaW5nLCB1OiBzdHJpbmcpIHsgcmV0dXJuIGAke3N9LiR7cn0uJHt1fWA7IH1cblxuICAgICAgLy8gRXhjZXB0aW9ucyBmb3IgU2VydmljZSBQcmluY2lwYWxzIGluIHVzLWlzby0qXG4gICAgICBjb25zdCBVU19JU09fRVhDRVBUSU9OUyA9IG5ldyBTZXQoW1xuICAgICAgICAnY2xvdWRoc20nLFxuICAgICAgICAnY29uZmlnJyxcbiAgICAgICAgJ3N0YXRlcycsXG4gICAgICAgICd3b3Jrc3BhY2VzJyxcbiAgICAgIF0pO1xuXG4gICAgICAvLyBBY2NvdW50IGZvciBpZGlvc3luY3JhdGljIFNlcnZpY2UgUHJpbmNpcGFscyBpbiBgdXMtaXNvLSpgIHJlZ2lvbnNcbiAgICAgIGlmIChyZWdpb24uc3RhcnRzV2l0aCgndXMtaXNvLScpICYmIFVTX0lTT19FWENFUFRJT05TLmhhcyhzZXJ2aWNlKSkge1xuICAgICAgICBzd2l0Y2ggKHNlcnZpY2UpIHtcbiAgICAgICAgICAvLyBTZXJ2aWNlcyB3aXRoIHVuaXZlcnNhbCBwcmluY2lwYWxcbiAgICAgICAgICBjYXNlICgnc3RhdGVzJyk6XG4gICAgICAgICAgICByZXR1cm4gdW5pdmVyc2FsO1xuXG4gICAgICAgICAgLy8gU2VydmljZXMgd2l0aCBhIHBhcnRpdGlvbmFsIHByaW5jaXBhbFxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gcGFydGl0aW9uYWw7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gRXhjZXB0aW9ucyBmb3IgU2VydmljZSBQcmluY2lwYWxzIGluIHVzLWlzb2ItKlxuICAgICAgY29uc3QgVVNfSVNPQl9FWENFUFRJT05TID0gbmV3IFNldChbXG4gICAgICAgICdkbXMnLFxuICAgICAgICAnc3RhdGVzJyxcbiAgICAgIF0pO1xuXG4gICAgICAvLyBBY2NvdW50IGZvciBpZGlvc3luY3JhdGljIFNlcnZpY2UgUHJpbmNpcGFscyBpbiBgdXMtaXNvYi0qYCByZWdpb25zXG4gICAgICBpZiAocmVnaW9uLnN0YXJ0c1dpdGgoJ3VzLWlzb2ItJykgJiYgVVNfSVNPQl9FWENFUFRJT05TLmhhcyhzZXJ2aWNlKSkge1xuICAgICAgICBzd2l0Y2ggKHNlcnZpY2UpIHtcbiAgICAgICAgICAvLyBTZXJ2aWNlcyB3aXRoIHVuaXZlcnNhbCBwcmluY2lwYWxcbiAgICAgICAgICBjYXNlICgnc3RhdGVzJyk6XG4gICAgICAgICAgICByZXR1cm4gdW5pdmVyc2FsO1xuXG4gICAgICAgICAgLy8gU2VydmljZXMgd2l0aCBhIHBhcnRpdGlvbmFsIHByaW5jaXBhbFxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gcGFydGl0aW9uYWw7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc3dpdGNoIChzZXJ2aWNlKSB7XG4gICAgICAgIC8vIENvZGVEZXBsb3kgaXMgcmVnaW9uYWwrcGFydGl0aW9uYWwgaW4gQ04sIG9ubHkgcmVnaW9uYWwgZXZlcnl3aGVyZSBlbHNlXG4gICAgICAgIGNhc2UgJ2NvZGVkZXBsb3knOlxuICAgICAgICAgIHJldHVybiByZWdpb24uc3RhcnRzV2l0aCgnY24tJylcbiAgICAgICAgICAgID8gcmVnaW9uYWxQYXJ0aXRpb25hbFxuICAgICAgICAgICAgLy8gLi4uZXhjZXB0IGluIHRoZSBpc29sYXRlZCByZWdpb25zLCB3aGVyZSBpdCdzIHVuaXZlcnNhbFxuICAgICAgICAgICAgOiAocmVnaW9uLnN0YXJ0c1dpdGgoJ3VzLWlzbycpID8gdW5pdmVyc2FsIDogcmVnaW9uYWwpO1xuXG4gICAgICAgIC8vIFNlcnZpY2VzIHdpdGggYSByZWdpb25hbCBBTkQgcGFydGl0aW9uYWwgcHJpbmNpcGFsXG4gICAgICAgIGNhc2UgJ2xvZ3MnOlxuICAgICAgICAgIHJldHVybiByZWdpb25hbFBhcnRpdGlvbmFsO1xuXG4gICAgICAgIC8vIFNlcnZpY2VzIHdpdGggYSByZWdpb25hbCBwcmluY2lwYWxcbiAgICAgICAgY2FzZSAnc3RhdGVzJzpcbiAgICAgICAgICByZXR1cm4gcmVnaW9uYWw7XG5cbiAgICAgICAgY2FzZSAnZWxhc3RpY21hcHJlZHVjZSc6XG4gICAgICAgICAgcmV0dXJuIHJlZ2lvbi5zdGFydHNXaXRoKCdjbi0nKVxuICAgICAgICAgICAgPyBwYXJ0aXRpb25hbFxuICAgICAgICAgICAgOiB1bml2ZXJzYWw7XG5cbiAgICAgICAgLy8gU2VydmljZXMgd2l0aCBhIHVuaXZlcnNhbCBwcmluY2lwYWwgYWNyb3NzIGFsbCByZWdpb25zL3BhcnRpdGlvbnMgKHRoZSBkZWZhdWx0IGNhc2UpXG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuIHVuaXZlcnNhbDtcblxuICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBjb25maWd1cmF0aW9uID0gZGV0ZXJtaW5lQ29uZmlndXJhdGlvbihzZXJ2aWNlTmFtZSk7XG4gICAgcmV0dXJuIGNvbmZpZ3VyYXRpb24oc2VydmljZU5hbWUsIHJlZ2lvbiwgdXJsU3VmZml4KTtcbiAgfVxuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoKSB7IH1cbn1cblxuZnVuY3Rpb24gZXh0cmFjdFNpbXBsZU5hbWUoc2VydmljZUZxbjogc3RyaW5nKSB7XG4gIGNvbnN0IG1hdGNoZXMgPSBzZXJ2aWNlRnFuLm1hdGNoKC9eKFteLl0rKSg/Oig/OlxcLmFtYXpvbmF3c1xcLmNvbSg/OlxcLmNuKT8pfCg/OlxcLmMyc1xcLmljXFwuZ292KXwoPzpcXC5zYzJzXFwuc2dvdlxcLmdvdikpPyQvKTtcbiAgcmV0dXJuIG1hdGNoZXMgPyBtYXRjaGVzWzFdIDogdW5kZWZpbmVkO1xufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImRlZmF1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7Ozs7O0dBS0c7QUFDSCxNQUFhLE9BQU87SUFXbEI7Ozs7Ozs7Ozs7O09BV0c7SUFDSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsVUFBa0IsRUFBRSxNQUFjLEVBQUUsU0FBaUI7Ozs7Ozs7Ozs7UUFDbEYsdUdBQXVHO1FBQ3ZHLHFFQUFxRTtRQUNyRSx1RkFBdUY7UUFDdkYsa0dBQWtHO1FBQ2xHLG9CQUFvQjtRQUVwQixNQUFNLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsa0VBQWtFO1lBQ2xFLE9BQU87WUFDUCxxQkFBcUI7WUFDckIsd0JBQXdCO1lBQ3hCLGtCQUFrQjtZQUNsQixxQkFBcUI7WUFDckIsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQztRQUVELFNBQVMsc0JBQXNCLENBQUMsT0FBZTtZQUM3QyxTQUFTLFNBQVMsQ0FBQyxDQUFTLElBQUksT0FBTyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1lBQzlELFNBQVMsV0FBVyxDQUFDLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUyxJQUFJLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzdFLFNBQVMsUUFBUSxDQUFDLENBQVMsRUFBRSxDQUFTLElBQUksT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztZQUM3RSxTQUFTLG1CQUFtQixDQUFDLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUyxJQUFJLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUUxRixnREFBZ0Q7WUFDaEQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLEdBQUcsQ0FBQztnQkFDaEMsVUFBVTtnQkFDVixRQUFRO2dCQUNSLFFBQVE7Z0JBQ1IsWUFBWTthQUNiLENBQUMsQ0FBQztZQUVILHFFQUFxRTtZQUNyRSxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksaUJBQWlCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ25FLFFBQVEsT0FBTyxFQUFFLENBQUM7b0JBQ2hCLG9DQUFvQztvQkFDcEMsS0FBSyxDQUFDLFFBQVEsQ0FBQzt3QkFDYixPQUFPLFNBQVMsQ0FBQztvQkFFbkIsd0NBQXdDO29CQUN4Qzt3QkFDRSxPQUFPLFdBQVcsQ0FBQztnQkFDdkIsQ0FBQztZQUNILENBQUM7WUFFRCxpREFBaUQ7WUFDakQsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLEdBQUcsQ0FBQztnQkFDakMsS0FBSztnQkFDTCxRQUFRO2FBQ1QsQ0FBQyxDQUFDO1lBRUgsc0VBQXNFO1lBQ3RFLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDckUsUUFBUSxPQUFPLEVBQUUsQ0FBQztvQkFDaEIsb0NBQW9DO29CQUNwQyxLQUFLLENBQUMsUUFBUSxDQUFDO3dCQUNiLE9BQU8sU0FBUyxDQUFDO29CQUVuQix3Q0FBd0M7b0JBQ3hDO3dCQUNFLE9BQU8sV0FBVyxDQUFDO2dCQUN2QixDQUFDO1lBQ0gsQ0FBQztZQUVELFFBQVEsT0FBTyxFQUFFLENBQUM7Z0JBQ2hCLDBFQUEwRTtnQkFDMUUsS0FBSyxZQUFZO29CQUNmLE9BQU8sTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7d0JBQzdCLENBQUMsQ0FBQyxtQkFBbUI7d0JBQ3JCLDBEQUEwRDt3QkFDMUQsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFFM0QscURBQXFEO2dCQUNyRCxLQUFLLE1BQU07b0JBQ1QsT0FBTyxtQkFBbUIsQ0FBQztnQkFFN0IscUNBQXFDO2dCQUNyQyxLQUFLLFFBQVE7b0JBQ1gsT0FBTyxRQUFRLENBQUM7Z0JBRWxCLEtBQUssa0JBQWtCO29CQUNyQixPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO3dCQUM3QixDQUFDLENBQUMsV0FBVzt3QkFDYixDQUFDLENBQUMsU0FBUyxDQUFDO2dCQUVoQix1RkFBdUY7Z0JBQ3ZGO29CQUNFLE9BQU8sU0FBUyxDQUFDO1lBRXJCLENBQUM7UUFDSCxDQUFDO1FBQUEsQ0FBQztRQUVGLE1BQU0sYUFBYSxHQUFHLHNCQUFzQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzFELE9BQU8sYUFBYSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7S0FDdEQ7SUFFRCxpQkFBeUI7O0FBdkgzQiwwQkF3SEM7OztBQXRIQzs7Ozs7O0dBTUc7QUFDb0Isd0NBQWdDLEdBQUcsb0JBQW9CLENBQUM7QUFpSGpGLFNBQVMsaUJBQWlCLENBQUMsVUFBa0I7SUFDM0MsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxzRkFBc0YsQ0FBQyxDQUFDO0lBQ3pILE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUMxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBQcm92aWRlcyBkZWZhdWx0IHZhbHVlcyBmb3IgY2VydGFpbiByZWdpb25hbCBpbmZvcm1hdGlvbiBwb2ludHMuXG4gKiBUaGlzIGNsYXNzIGlzIG5vIGxvbmdlciBuZWVkZWQgYmVjYXVzZSBzZXJ2aWNlIHByaW5jaXBhbHMgYXJlIG5vIGxvbmdlciBuZWVkZWQgZXhjZXB0IGluIHZlcnkgc3BlY2lmaWMgY2FzZXNcbiAqIHRoYXQgYXJlIGhhbmRsZWQgaW4gdGhlIElBTSBTZXJ2aWNlUHJpbmNpcGFsIGNsYXNzLlxuICogQGRlcHJlY2F0ZWQgLSBTZXJ2aWNlIHByaW5jaXBhbHMgYXJlIG5vdyBnbG9iYWxseSBgPFNFUlZJQ0U+LmFtYXpvbmF3cy5jb21gLCB1c2UgaWFtLlNlcnZpY2VQcmluY2lwYWwgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGNsYXNzIERlZmF1bHQge1xuXG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCB2YWx1ZSBmb3IgYSBWUEMgRW5kcG9pbnQgU2VydmljZSBuYW1lIHByZWZpeCwgdXNlZnVsIGlmIHlvdSBkb1xuICAgKiBub3QgaGF2ZSBhIHN5bnRoZXNpemUtdGltZSByZWdpb24gbGl0ZXJhbCBhdmFpbGFibGUgKGFsbCB5b3UgaGF2ZSBpc1xuICAgKiBgeyBcIlJlZlwiOiBcIkFXUzo6UmVnaW9uXCIgfWApXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIC0gVXNlIFZwY2VFbmRwb2ludFNlcnZpY2UuREVGQVVMVF9QUkVGSVggaW5zdGVhZFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBWUENfRU5EUE9JTlRfU0VSVklDRV9OQU1FX1BSRUZJWCA9ICdjb20uYW1hem9uYXdzLnZwY2UnO1xuXG4gIC8qKlxuICAgKiBDb21wdXRlcyBhIFwic3RhbmRhcmRcIiBBV1MgU2VydmljZSBwcmluY2lwYWwgZm9yIGEgZ2l2ZW4gc2VydmljZSwgcmVnaW9uIGFuZCBzdWZmaXguIFRoaXMgaXMgdXNlZnVsIGZvciBleGFtcGxlIHdoZW5cbiAgICogeW91IG5lZWQgdG8gY29tcHV0ZSBhIHNlcnZpY2UgcHJpbmNpcGFsIG5hbWUsIGJ1dCB5b3UgZG8gbm90IGhhdmUgYSBzeW50aGVzaXplLXRpbWUgcmVnaW9uIGxpdGVyYWwgYXZhaWxhYmxlIChzb1xuICAgKiBhbGwgeW91IGhhdmUgaXMgYHsgXCJSZWZcIjogXCJBV1M6OlJlZ2lvblwiIH1gKS4gVGhpcyB3YXkgeW91IGdldCB0aGUgc2FtZSBkZWZhdWx0aW5nIGJlaGF2aW9yIHRoYXQgaXMgbm9ybWFsbHkgdXNlZFxuICAgKiBmb3IgYnVpbHQtaW4gZGF0YS5cbiAgICpcbiAgICogQHBhcmFtIHNlcnZpY2VGcW4gdGhlIG5hbWUgb2YgdGhlIHNlcnZpY2UgKHMzLCBzMy5hbWF6b25hd3MuY29tLCAuLi4pXG4gICAqIEBwYXJhbSByZWdpb24gICAgdGhlIHJlZ2lvbiBpbiB3aGljaCB0aGUgc2VydmljZSBwcmluY2lwYWwgaXMgbmVlZGVkLlxuICAgKiBAcGFyYW0gdXJsU3VmZml4IGRlcHJlY2F0ZWQgYW5kIGlnbm9yZWQuXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIC0gU2VydmljZSBwcmluY2lwYWxzIGFyZSBub3cgZ2xvYmFsbHkgYDxTRVJWSUNFPi5hbWF6b25hd3MuY29tYCwgdXNlIGlhbS5TZXJ2aWNlUHJpbmNpcGFsIGluc3RlYWQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHNlcnZpY2VQcmluY2lwYWwoc2VydmljZUZxbjogc3RyaW5nLCByZWdpb246IHN0cmluZywgdXJsU3VmZml4OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIC8vIE5PVEU6IHRoaXMgd2hvbGUgbWV0aG9kIGlzIGRlcHJlY2F0ZWQsIGFuZCBzaG91bGQgbm90IGJlIHVzZWQgb3IgdXBkYXRlZCBhbnltb3JlLiBUaGUgZ2xvYmFsIHNlcnZpY2VcbiAgICAvLyBwcmluY2lwYWwgaXMgYWx3YXlzIGNvcnJlY3QsIHdoZW4gcmVmZXJlbmNlZCBmcm9tIHdpdGhpbiBhIHJlZ2lvbi5cbiAgICAvLyAoQXMgYSBub3RlLCByZWdpb25hbCBwcmluY2lwYWxzIChgPFNFUlZJQ0U+LjxSRUdJT04+LmFtYXpvbmF3cy5jb21gKSBhcmUgcmVxdWlyZWQgaW5cbiAgICAvLyBjYXNlIG9mIGEgY3Jvc3MtcmVnaW9uIHJlZmVyZW5jZSB0byBhbiBvcHQtaW4gcmVnaW9uLCBidXQgdGhhdCdzIHRoZSBvbmx5IGNhc2UsIGFuZCB0aGF0IGlzIG5vdFxuICAgIC8vIGNvbnRyb2xsZWQgaGVyZSkuXG5cbiAgICBjb25zdCBzZXJ2aWNlTmFtZSA9IGV4dHJhY3RTaW1wbGVOYW1lKHNlcnZpY2VGcW4pO1xuICAgIGlmICghc2VydmljZU5hbWUpIHtcbiAgICAgIC8vIFJldHVybiBcInNlcnZpY2VcIiBpZiBpdCBkb2VzIG5vdCBsb29rIGxpa2UgYW55IG9mIHRoZSBmb2xsb3dpbmc6XG4gICAgICAvLyAtIHMzXG4gICAgICAvLyAtIHMzLmFtYXpvbmF3cy5jb21cbiAgICAgIC8vIC0gczMuYW1hem9uYXdzLmNvbS5jblxuICAgICAgLy8gLSBzMy5jMnMuaWMuZ292XG4gICAgICAvLyAtIHMzLnNjMnMuc2dvdi5nb3ZcbiAgICAgIHJldHVybiBzZXJ2aWNlRnFuO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGRldGVybWluZUNvbmZpZ3VyYXRpb24oc2VydmljZTogc3RyaW5nKTogKHNlcnZpY2U6IHN0cmluZywgcmVnaW9uOiBzdHJpbmcsIHVybFN1ZmZpeDogc3RyaW5nKSA9PiBzdHJpbmcge1xuICAgICAgZnVuY3Rpb24gdW5pdmVyc2FsKHM6IHN0cmluZykgeyByZXR1cm4gYCR7c30uYW1hem9uYXdzLmNvbWA7IH1cbiAgICAgIGZ1bmN0aW9uIHBhcnRpdGlvbmFsKHM6IHN0cmluZywgXzogc3RyaW5nLCB1OiBzdHJpbmcpIHsgcmV0dXJuIGAke3N9LiR7dX1gOyB9XG4gICAgICBmdW5jdGlvbiByZWdpb25hbChzOiBzdHJpbmcsIHI6IHN0cmluZykgeyByZXR1cm4gYCR7c30uJHtyfS5hbWF6b25hd3MuY29tYDsgfVxuICAgICAgZnVuY3Rpb24gcmVnaW9uYWxQYXJ0aXRpb25hbChzOiBzdHJpbmcsIHI6IHN0cmluZywgdTogc3RyaW5nKSB7IHJldHVybiBgJHtzfS4ke3J9LiR7dX1gOyB9XG5cbiAgICAgIC8vIEV4Y2VwdGlvbnMgZm9yIFNlcnZpY2UgUHJpbmNpcGFscyBpbiB1cy1pc28tKlxuICAgICAgY29uc3QgVVNfSVNPX0VYQ0VQVElPTlMgPSBuZXcgU2V0KFtcbiAgICAgICAgJ2Nsb3VkaHNtJyxcbiAgICAgICAgJ2NvbmZpZycsXG4gICAgICAgICdzdGF0ZXMnLFxuICAgICAgICAnd29ya3NwYWNlcycsXG4gICAgICBdKTtcblxuICAgICAgLy8gQWNjb3VudCBmb3IgaWRpb3N5bmNyYXRpYyBTZXJ2aWNlIFByaW5jaXBhbHMgaW4gYHVzLWlzby0qYCByZWdpb25zXG4gICAgICBpZiAocmVnaW9uLnN0YXJ0c1dpdGgoJ3VzLWlzby0nKSAmJiBVU19JU09fRVhDRVBUSU9OUy5oYXMoc2VydmljZSkpIHtcbiAgICAgICAgc3dpdGNoIChzZXJ2aWNlKSB7XG4gICAgICAgICAgLy8gU2VydmljZXMgd2l0aCB1bml2ZXJzYWwgcHJpbmNpcGFsXG4gICAgICAgICAgY2FzZSAoJ3N0YXRlcycpOlxuICAgICAgICAgICAgcmV0dXJuIHVuaXZlcnNhbDtcblxuICAgICAgICAgIC8vIFNlcnZpY2VzIHdpdGggYSBwYXJ0aXRpb25hbCBwcmluY2lwYWxcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIHBhcnRpdGlvbmFsO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEV4Y2VwdGlvbnMgZm9yIFNlcnZpY2UgUHJpbmNpcGFscyBpbiB1cy1pc29iLSpcbiAgICAgIGNvbnN0IFVTX0lTT0JfRVhDRVBUSU9OUyA9IG5ldyBTZXQoW1xuICAgICAgICAnZG1zJyxcbiAgICAgICAgJ3N0YXRlcycsXG4gICAgICBdKTtcblxuICAgICAgLy8gQWNjb3VudCBmb3IgaWRpb3N5bmNyYXRpYyBTZXJ2aWNlIFByaW5jaXBhbHMgaW4gYHVzLWlzb2ItKmAgcmVnaW9uc1xuICAgICAgaWYgKHJlZ2lvbi5zdGFydHNXaXRoKCd1cy1pc29iLScpICYmIFVTX0lTT0JfRVhDRVBUSU9OUy5oYXMoc2VydmljZSkpIHtcbiAgICAgICAgc3dpdGNoIChzZXJ2aWNlKSB7XG4gICAgICAgICAgLy8gU2VydmljZXMgd2l0aCB1bml2ZXJzYWwgcHJpbmNpcGFsXG4gICAgICAgICAgY2FzZSAoJ3N0YXRlcycpOlxuICAgICAgICAgICAgcmV0dXJuIHVuaXZlcnNhbDtcblxuICAgICAgICAgIC8vIFNlcnZpY2VzIHdpdGggYSBwYXJ0aXRpb25hbCBwcmluY2lwYWxcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIHBhcnRpdGlvbmFsO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHN3aXRjaCAoc2VydmljZSkge1xuICAgICAgICAvLyBDb2RlRGVwbG95IGlzIHJlZ2lvbmFsK3BhcnRpdGlvbmFsIGluIENOLCBvbmx5IHJlZ2lvbmFsIGV2ZXJ5d2hlcmUgZWxzZVxuICAgICAgICBjYXNlICdjb2RlZGVwbG95JzpcbiAgICAgICAgICByZXR1cm4gcmVnaW9uLnN0YXJ0c1dpdGgoJ2NuLScpXG4gICAgICAgICAgICA/IHJlZ2lvbmFsUGFydGl0aW9uYWxcbiAgICAgICAgICAgIC8vIC4uLmV4Y2VwdCBpbiB0aGUgaXNvbGF0ZWQgcmVnaW9ucywgd2hlcmUgaXQncyB1bml2ZXJzYWxcbiAgICAgICAgICAgIDogKHJlZ2lvbi5zdGFydHNXaXRoKCd1cy1pc28nKSA/IHVuaXZlcnNhbCA6IHJlZ2lvbmFsKTtcblxuICAgICAgICAvLyBTZXJ2aWNlcyB3aXRoIGEgcmVnaW9uYWwgQU5EIHBhcnRpdGlvbmFsIHByaW5jaXBhbFxuICAgICAgICBjYXNlICdsb2dzJzpcbiAgICAgICAgICByZXR1cm4gcmVnaW9uYWxQYXJ0aXRpb25hbDtcblxuICAgICAgICAvLyBTZXJ2aWNlcyB3aXRoIGEgcmVnaW9uYWwgcHJpbmNpcGFsXG4gICAgICAgIGNhc2UgJ3N0YXRlcyc6XG4gICAgICAgICAgcmV0dXJuIHJlZ2lvbmFsO1xuXG4gICAgICAgIGNhc2UgJ2VsYXN0aWNtYXByZWR1Y2UnOlxuICAgICAgICAgIHJldHVybiByZWdpb24uc3RhcnRzV2l0aCgnY24tJylcbiAgICAgICAgICAgID8gcGFydGl0aW9uYWxcbiAgICAgICAgICAgIDogdW5pdmVyc2FsO1xuXG4gICAgICAgIC8vIFNlcnZpY2VzIHdpdGggYSB1bml2ZXJzYWwgcHJpbmNpcGFsIGFjcm9zcyBhbGwgcmVnaW9ucy9wYXJ0aXRpb25zICh0aGUgZGVmYXVsdCBjYXNlKVxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiB1bml2ZXJzYWw7XG5cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgY29uZmlndXJhdGlvbiA9IGRldGVybWluZUNvbmZpZ3VyYXRpb24oc2VydmljZU5hbWUpO1xuICAgIHJldHVybiBjb25maWd1cmF0aW9uKHNlcnZpY2VOYW1lLCByZWdpb24sIHVybFN1ZmZpeCk7XG4gIH1cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkgeyB9XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RTaW1wbGVOYW1lKHNlcnZpY2VGcW46IHN0cmluZykge1xuICBjb25zdCBtYXRjaGVzID0gc2VydmljZUZxbi5tYXRjaCgvXihbXi5dKykoPzooPzpcXC5hbWF6b25hd3NcXC5jb20oPzpcXC5jbik/KXwoPzpcXC5jMnNcXC5pY1xcLmdvdil8KD86XFwuc2Myc1xcLnNnb3ZcXC5nb3YpKT8kLyk7XG4gIHJldHVybiBtYXRjaGVzID8gbWF0Y2hlc1sxXSA6IHVuZGVmaW5lZDtcbn1cbiJdfQ==

@@ -154,2 +154,4 @@ /**

* canonicalized in that respect.
*
* @deprecated - Use `iam.ServicePrincipal.servicePrincipalName()` instead.
*/

@@ -156,0 +158,0 @@ static servicePrincipal(service: string): string;

@@ -105,3 +105,3 @@ "use strict";

_a = JSII_RTTI_SYMBOL_1;
Fact[_a] = { fqn: "@aws-cdk/region-info.Fact", version: "2.149.0" };
Fact[_a] = { fqn: "@aws-cdk/region-info.Fact", version: "2.150.0" };
Fact.database = {};

@@ -136,5 +136,16 @@ /**

* canonicalized in that respect.
*
* @deprecated - Use `iam.ServicePrincipal.servicePrincipalName()` instead.
*/
static servicePrincipal(service) {
return `service-principal:${service.replace(/\.amazonaws\.com(\.cn)?$/, '')}`;
try {
jsiiDeprecationWarnings.print("@aws-cdk/region-info.FactName#servicePrincipal", "- Use `iam.ServicePrincipal.servicePrincipalName()` instead.");
}
catch (error) {
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
Error.captureStackTrace(error, this.servicePrincipal);
}
throw error;
}
return `${service.replace(/\.amazonaws\.com(\.cn)?$/, '')}.amazonaws.com`;
}

@@ -165,3 +176,3 @@ /**

_b = JSII_RTTI_SYMBOL_1;
FactName[_b] = { fqn: "@aws-cdk/region-info.FactName", version: "2.149.0" };
FactName[_b] = { fqn: "@aws-cdk/region-info.FactName", version: "2.150.0" };
/**

@@ -229,2 +240,2 @@ * The name of the partition for a region (e.g: 'aws', 'aws-cn', ...)

FactName.LATEST_NODE_RUNTIME = 'latestNodeRuntime';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImZhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsaURBQTZDO0FBRTdDOztHQUVHO0FBQ0gsTUFBYSxJQUFJO0lBQ2Y7OztPQUdHO0lBQ0ksTUFBTSxLQUFLLE9BQU87UUFDdkIseUVBQXlFO1FBQ3pFLE9BQU8sQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRywwQkFBVyxFQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDdEU7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxLQUFLLEtBQUs7UUFDckIsT0FBTyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNwRztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFlBQVk7UUFDeEIsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7YUFDakMsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLEVBQUUsRUFBRSxDQUNyQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQ3hDLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBNEIsQ0FBQyxDQUFDLENBQUM7S0FDM0Q7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFjLEVBQUUsSUFBWTtRQUM3QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLE9BQU8sV0FBVyxJ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O0FBQ29CLHNCQUFhLEdBQUcsY0FBYyxDQUFDO0FBRXREOzs7R0FHRztBQUNvQiwrQkFBc0IsR0FBRyxzQkFBc0IsQ0FBQztBQUV2RTs7O0dBR0c7QUFDb0IsNEJBQW1CLEdBQUcsMEJBQTBCLENBQUM7QUFFeEU7O0dBRUc7QUFDb0IsNEJBQW1CLEdBQUcsbUJBQW1CLENBQUM7QUFFakU7O0dBRUc7QUFDb0IseUJBQWdCLEdBQUcsZUFBZSxDQUFDO0FBRTFEOztHQUVHO0FBQ29CLDRCQUFtQixHQUFHLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVdTX1JFR0lPTlMgfSBmcm9tICcuL2F3cy1lbnRpdGllcyc7XG5cbi8qKlxuICogQSBkYXRhYmFzZSBvZiByZWdpb25hbCBpbmZvcm1hdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIEZhY3Qge1xuICAvKipcbiAgICogQHJldHVybnMgdGhlIGxpc3Qgb2YgbmFtZXMgb2YgQVdTIFJlZ2lvbnMgZm9yIHdoaWNoIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSByZWdpc3RlcmVkIGZhY3QuIFRoaXNcbiAgICogICAgICAgICAgaW5jbHVkZXMgUmVnaW9ucyBkZWZpbmVkIGluIEFXU19SRUdJT05TIHBsdXMgY3VzdG9tIGRlZmluZWQgcmVnaW9ucy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IHJlZ2lvbnMoKTogc3RyaW5nW10ge1xuICAgIC8vIFJldHVybiB0aGUgdW5pb24gb2YgcmVnaW9ucyBpbiBBV1NfUkVHSU9OUyBhbmQgY3VzdG9tIGRlZmluZWQgcmVnaW9ucy5cbiAgICByZXR1cm4gWy4uLm5ldyBTZXQoWy4uLkFXU19SRUdJT05TLCAuLi5PYmplY3Qua2V5cyh0aGlzLmRhdGFiYXNlKV0pXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBsaXN0IG9mIG5hbWVzIG9mIHJlZ2lzdGVyZWQgZmFjdHMuXG4gICAqXG4gICAqIEFsbCBmYWN0cyB3aWxsIGJlIHByZXNlbnQgaW4gYXQgbGVhc3Qgb25lIHJlZ2lvbi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IG5hbWVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gWy4uLm5ldyBTZXQoT2JqZWN0LnZhbHVlcyh0aGlzLmRhdGFiYXNlKS5mbGF0TWFwKHJlZ2lvbkZhY3RzID0+IE9iamVjdC5rZXlzKHJlZ2lvbkZhY3RzKSkpXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYWxsIHBhaXJzIG9mIChyZWdpb24sIGZhY3ROYW1lKSB0aGF0IGFyZSBkZWZpbmVkXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGRlZmluZWRGYWN0cygpOiBBcnJheTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyh0aGlzLmRhdGFiYXNlKVxuICAgICAgLmZsYXRNYXAoKFtyZWdpb25OYW1lLCByZWdpb25GYWN0c10pID0+XG4gICAgICAgIE9iamVjdC5rZXlzKHJlZ2lvbkZhY3RzKS5tYXAoKGZhY3ROYW1lKSA9PlxuICAgICAgICAgIFtyZWdpb25OYW1lLCBmYWN0TmFtZV0gc2F0aXNmaWVzIFtzdHJpbmcsIHN0cmluZ10pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgYSBmYWN0IGZyb20gdGhpcyBGYWN0IGRhdGFiYXNlLlxuICAgKlxuICAgKiBAcGFyYW0gcmVnaW9uIHRoZSBuYW1lIG9mIHRoZSByZWdpb24gKGUuZzogYHVzLWVhc3QtMWApXG4gICAqIEBwYXJhbSBuYW1lICAgdGhlIG5hbWUgb2YgdGhlIGZhY3QgYmVpbmcgbG9va2VkIHVwIChzZWUgdGhlIGBGYWN0TmFtZWAgY2xhc3MgZm9yIGRldGFpbHMpXG4gICAqXG4gICAqIEByZXR1cm5zIHRoZSBmYWN0IHZhbHVlIGlmIGl0IGlzIGtub3duLCBhbmQgYHVuZGVmaW5lZGAgb3RoZXJ3aXNlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmaW5kKHJlZ2lvbjogc3RyaW5nLCBuYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHJlZ2lvbkZhY3RzID0gdGhpcy5kYXRhYmFzZVtyZWdpb25dO1xuICAgIHJldHVybiByZWdpb25GYWN0cyAmJiByZWdpb25GYWN0c1tuYW1lXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSBhIGZhY3QgZnJvbSB0aGUgRmFjdCBkYXRhYmFzZS4gKHJldHJpZXZhbCB3aWxsIGZhaWwgaWYgdGhlIHNwZWNpZmllZCByZWdpb24gb3JcbiAgICogZmFjdCBuYW1lIGRvZXMgbm90IGV4aXN0LilcbiAgICpcbiAgICogQHBhcmFtIHJlZ2lvbiB0aGUgbmFtZSBvZiB0aGUgcmVnaW9uIChlLmc6IGB1cy1lYXN0LTFgKVxuICAgKiBAcGFyYW0gbmFtZSB0aGUgbmFtZSBvZiB0aGUgZmFjdCBiZWluZyBsb29rZWQgdXAgKHNlZSB0aGUgYEZhY3ROYW1lYCBjbGFzcyBmb3IgZGV0YWlscylcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVxdWlyZUZhY3QocmVnaW9uOiBzdHJpbmcsIG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZm91bmRGYWN0ID0gdGhpcy5maW5kKHJlZ2lvbiwgbmFtZSk7XG5cbiAgICBpZiAoIWZvdW5kRmFjdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBmYWN0ICR7bmFtZX0gY291bGQgYmUgZm91bmQgZm9yIHJlZ2lvbjogJHtyZWdpb259IGFuZCBuYW1lOiAke25hbWV9LmApO1xuICAgIH1cblxuICAgIHJldHVybiBmb3VuZEZhY3Q7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIGEgbmV3IGZhY3QgaW4gdGhpcyBGYWN0IGRhdGFiYXNlLlxuICAgKlxuICAgKiBAcGFyYW0gZmFjdCAgICAgICAgICAgdGhlIG5ldyBmYWN0IHRvIGJlIHJlZ2lzdGVyZWQuXG4gICAqIEBwYXJhbSBhbGxvd1JlcGxhY2luZyB3aGV0aGVyIG5ldyBmYWN0cyBjYW4gcmVwbGFjZSBleGlzdGluZyBmYWN0cyBvciBub3QuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlZ2lzdGVyKGZhY3Q6IElGYWN0LCBhbGxvd1JlcGxhY2luZyA9IGZhbHNlKTogdm9pZCB7XG4gICAgY29uc3QgcmVnaW9uRmFjdHMgPSB0aGlzLmRhdGFiYXNlW2ZhY3QucmVnaW9uXSB8fCAodGhpcy5kYXRhYmFzZVtmYWN0LnJlZ2lvbl0gPSB7fSk7XG4gICAgaWYgKGZhY3QubmFtZSBpbiByZWdpb25GYWN0cyAmJiByZWdpb25GYWN0c1tmYWN0Lm5hbWVdICE9PSBmYWN0LnZhbHVlICYmICFhbGxvd1JlcGxhY2luZykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBSZWdpb24gJHtmYWN0LnJlZ2lvbn0gYWxyZWFkeSBoYXMgYSBmYWN0ICR7ZmFjdC5uYW1lfSwgd2l0aCB2YWx1ZSAke3JlZ2lvbkZhY3RzW2ZhY3QubmFtZV19YCk7XG4gICAgfVxuICAgIGlmIChmYWN0LnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJlZ2lvbkZhY3RzW2ZhY3QubmFtZV0gPSBmYWN0LnZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIGEgZmFjdCBmcm9tIHRoZSBkYXRhYmFzZS5cbiAgICogQHBhcmFtIHJlZ2lvbiB0aGUgcmVnaW9uIGZvciB3aGljaCB0aGUgZmFjdCBpcyB0byBiZSByZW1vdmVkLlxuICAgKiBAcGFyYW0gbmFtZSAgIHRoZSBuYW1lIG9mIHRoZSBmYWN0IHRvIHJlbW92ZS5cbiAgICogQHBhcmFtIHZhbHVlICB0aGUgdmFsdWUgdGhhdCBzaG91bGQgYmUgcmVtb3ZlZCAocmVtb3ZhbCB3aWxsIGZhaWwgaWYgdGhlIHZhbHVlIGlzIHNwZWNpZmllZCwgYnV0IGRvZXMgbm90IG1hdGNoIHRoZVxuICAgKiAgICAgICAgICAgICAgIGN1cnJlbnQgc3RvcmVkIHZhbHVlKS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgdW5yZWdpc3RlcihyZWdpb246IHN0cmluZywgbmFtZTogc3RyaW5nLCB2YWx1ZT86IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHJlZ2lvbkZhY3RzID0gdGhpcy5kYXRhYmFzZVtyZWdpb25dIHx8IHt9O1xuICAgIGlmIChuYW1lIGluIHJlZ2lvbkZhY3RzICYmIHZhbHVlICYmIHJlZ2lvbkZhY3RzW25hbWVdICE9PSB2YWx1ZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBBdHRlbXB0ZWQgdG8gcmVtb3ZlICR7bmFtZX0gZnJvbSAke3JlZ2lvbn0gd2l0aCB2YWx1ZSAke3ZhbHVlfSwgYnV0IHRoZSBmYWN0J3MgdmFsdWUgaXMgJHtyZWdpb25GYWN0c1tuYW1lXX1gKTtcbiAgICB9XG4gICAgZGVsZXRlIHJlZ2lvbkZhY3RzW25hbWVdO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgZGF0YWJhc2U6IHsgW3JlZ2lvbjogc3RyaW5nXTogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH0gfSA9IHt9O1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdVc2UgdGhlIHN0YXRpYyBtZXRob2RzIG9mIEZhY3QgaW5zdGVhZCEnKTtcbiAgfVxufVxuXG4vKipcbiAqIEEgZmFjdCB0aGF0IGNhbiBiZSByZWdpc3RlcmVkIGFib3V0IGEgcGFydGljdWxhciByZWdpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUZhY3Qge1xuICAvKipcbiAgICogVGhlIHJlZ2lvbiBmb3Igd2hpY2ggdGhpcyBmYWN0IGFwcGxpZXMuXG4gICAqL1xuICByZWFkb25seSByZWdpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhpcyBmYWN0LiBTdGFuZGFyZGl6ZWQgdmFsdWVzIGFyZSBwcm92aWRlZCBieSB0aGUgYEZhY3RzYCBjbGFzcy5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoaXMgZmFjdC5cbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQWxsIHN0YW5kYXJkaXplZCBmYWN0IG5hbWVzLlxuICovXG5leHBvcnQgY2xhc3MgRmFjdE5hbWUge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHBhcnRpdGlvbiBmb3IgYSByZWdpb24gKGUuZzogJ2F3cycsICdhd3MtY24nLCAuLi4pXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBBUlRJVElPTiA9ICdwYXJ0aXRpb24nO1xuXG4gIC8qKlxuICAgKiBUaGUgZG9tYWluIHN1ZmZpeCBmb3IgYSByZWdpb24gKGUuZzogJ2FtYXpvbmF3cy5jb21gKVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBET01BSU5fU1VGRklYID0gJ2RvbWFpblN1ZmZpeCc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIEFXUzo6Q0RLOjpNZXRhZGF0YSBDbG91ZEZvcm1hdGlvbiBSZXNvdXJjZSBpcyBhdmFpbGFibGUgaW4tcmVnaW9uIG9yIG5vdC4gVGhlIHZhbHVlIGlzIGEgYm9vbGVhblxuICAgKiBtb2RlbGxlZCBhcyBgWUVTYCBvciBgTk9gLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBDREtfTUVUQURBVEFfUkVTT1VSQ0VfQVZBSUxBQkxFID0gJ2NkazptZXRhZGF0YS1yZXNvdXJjZTphdmFpbGFibGUnO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBnaXZlbiByZWdpb24gaXMgYW4gb3B0LWluIHJlZ2lvbiBvciBub3QuIFRoZSB2YWx1ZSBpcyBhIGJvb2xlYW5cbiAgICogbW9kZWxsZWQgYXMgYFlFU2Agb3IgYE5PYC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgSVNfT1BUX0lOX1JFR0lPTiA9ICdhd3M6aXMtb3B0LWluLXJlZ2lvbic7XG5cbiAgLyoqXG4gICAqIFRoZSBlbmRwb2ludCB1c2VkIGZvciBob3N0aW5nIFMzIHN0YXRpYyB3ZWJzaXRlc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTM19TVEFUSUNfV0VCU0lURV9FTkRQT0lOVCA9ICdzMy1zdGF0aWMtd2Vic2l0ZTplbmRwb2ludCc7XG5cbiAgLyoqXG4gICAqIFRoZSBlbmRwb2ludCB1c2VkIGZvciBhbGlhc2luZyBTMyBzdGF0aWMgd2Vic2l0ZXMgaW4gUm91dGUgNTNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUzNfU1RBVElDX1dFQlNJVEVfWk9ORV81M19IT1NURURfWk9ORV9JRCA9ICdzMy1zdGF0aWMtd2Vic2l0ZTpyb3V0ZS01My1ob3N0ZWQtem9uZS1pZCc7XG5cbiAgLyoqXG4gICAqIFRoZSBob3N0ZWQgem9uZSBJRCB1c2VkIGJ5IFJvdXRlIDUzIHRvIGFsaWFzIGEgRUJTIGVudmlyb25tZW50IGVuZHBvaW50IGluIHRoaXMgcmVnaW9uIChlLmc6IFoyTzFFTVJPOUs1R0xYKVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBFQlNfRU5WX0VORFBPSU5UX0hPU1RFRF9aT05FX0lEID0gJ2Vicy1lbnZpcm9ubWVudDpyb3V0ZS01My1ob3N0ZWQtem9uZS1pZCc7XG5cbiAgLyoqXG4gICAqIFRoZSBwcmVmaXggZm9yIFZQQyBFbmRwb2ludCBTZXJ2aWNlIG5hbWVzLFxuICAgKiBjbi5jb20uYW1hem9uYXdzLnZwY2UgZm9yIENoaW5hIHJlZ2lvbnMsXG4gICAqIGNvbS5hbWF6b25hd3MudnBjZSBvdGhlcndpc2UuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFZQQ19FTkRQT0lOVF9TRVJWSUNFX05BTUVfUFJFRklYID0gJ3ZwY0VuZHBvaW50U2VydmljZU5hbWVQcmVmaXgnO1xuXG4gIC8qKlxuICAgKiBUaGUgYWNjb3VudCBmb3IgRUxCdjIgaW4gdGhpcyByZWdpb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRUxCVjJfQUNDT1VOVCA9ICdlbGJ2MkFjY291bnQnO1xuXG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIEFXUyBhY2NvdW50IHRoYXQgb3ducyB0aGUgcHVibGljIEVDUiByZXBvc2l0b3J5IHRoYXQgY29udGFpbnMgdGhlXG4gICAqIEFXUyBEZWVwIExlYXJuaW5nIENvbnRhaW5lcnMgaW1hZ2VzIGluIGEgZ2l2ZW4gcmVnaW9uLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBETENfUkVQT1NJVE9SWV9BQ0NPVU5UID0gJ2RsY1JlcG9zaXRvcnlBY2NvdW50JztcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBBV1MgYWNjb3VudCB0aGF0IG93bnMgdGhlIHB1YmxpYyBFQ1IgcmVwb3NpdG9yeSB0aGF0IGNvbnRhaW5zIHRoZVxuICAgKiBBV1MgQXBwIE1lc2ggRW52b3kgUHJveHkgaW1hZ2VzIGluIGEgZ2l2ZW4gcmVnaW9uLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBBUFBNRVNIX0VDUl9BQ0NPVU5UID0gJ2FwcE1lc2hSZXBvc2l0b3J5QWNjb3VudCc7XG5cbiAgLyoqXG4gICAqIFRoZSBDSURSIGJsb2NrIHVzZWQgYnkgS2luZXNpcyBEYXRhIEZpcmVob3NlIHNlcnZlcnMuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEZJUkVIT1NFX0NJRFJfQkxPQ0sgPSAnZmlyZWhvc2VDaWRyQmxvY2snO1xuXG4gIC8qKlxuICAgKiBUaGUgU0FNTCBTaWduIE9uIFVSTCBmb3IgcGFydGl0aW9uIHVzZWQgYnkgSUFNIFNBTUwgUHJpbmNpcGFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFNBTUxfU0lHTl9PTl9VUkwgPSAnc2FtbFNpZ25PblVybCc7XG5cbiAgLyoqXG4gICAqIFRoZSBsYXRlc3QgTGFtYmRhIE5vZGVKUyBydW50aW1lIGF2YWlsYWJsZSBpbiBhIGdpdmVuIHJlZ2lvbi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTEFURVNUX05PREVfUlVOVElNRSA9ICdsYXRlc3ROb2RlUnVudGltZSc7XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgQ2xvdWRXYXRjaCBMYW1iZGEgSW5zaWdodHMgZm9yIGEgdmVyc2lvbiAoZS5nLiAxLjAuOTguMClcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgY2xvdWR3YXRjaExhbWJkYUluc2lnaHRzVmVyc2lvbih2ZXJzaW9uOiBzdHJpbmcsIGFyY2g/OiBzdHJpbmcpIHtcbiAgICAvLyBpZiB3ZSBhcmUgcHJvdmlkZWQgYW4gYXJjaGl0ZWN0dXJlIHVzZSB0aGF0LCBvdGhlcndpc2VcbiAgICAvLyBkZWZhdWx0IHRvIHg4Nl82NCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBjb25zdCBzdWZmaXggPSB2ZXJzaW9uLnNwbGl0KCcuJykuam9pbignXycpICsgYF8ke2FyY2ggPz8gJ3g4Nl82NCd9YDtcbiAgICByZXR1cm4gYGNsb3Vkd2F0Y2gtbGFtYmRhLWluc2lnaHRzLXZlcnNpb246JHtzdWZmaXh9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIEFwcENvbmZpZyBMYW1iZGEgTGF5ZXIgZm9yIGEgZ2l2ZW4gdmVyc2lvbiAoZS5nLiAyLjAuMTgxKVxuICAgKiBAcGFyYW0gdmVyc2lvbiBUaGUgbGF5ZXIgdmVyc2lvbi5cbiAgICogQHBhcmFtIGFyY2ggVGhlIGFyY2hpdGVjdHVyZSAob3B0aW9uYWwpLCBkZWZhdWx0cyB0byB4ODZfNjQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFwcENvbmZpZ0xhbWJkYUxheWVyVmVyc2lvbih2ZXJzaW9uOiBzdHJpbmcsIGFyY2g/OiBzdHJpbmcpIHtcbiAgICBjb25zdCBzdWZmaXggPSB2ZXJzaW9uLnNwbGl0KCcuJykuam9pbignXycpICsgYF8ke2FyY2ggPz8gJ3g4Nl82NCd9YDtcbiAgICByZXR1cm4gYGFwcGNvbmZpZy1sYW1iZGEtbGF5ZXI6JHtzdWZmaXh9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcmVnaW9uYWwgc2VydmljZSBwcmluY2lwYWwgZm9yIGEgZ2l2ZW4gc2VydmljZS5cbiAgICpcbiAgICogQHBhcmFtIHNlcnZpY2UgdGhlIHNlcnZpY2UgbmFtZSwgZWl0aGVyIHNpbXBsZSAoZS5nOiBgczNgLCBgY29kZWRlcGxveWApIG9yIHF1YWxpZmllZCAoZS5nOiBgczMuYW1hem9uYXdzLmNvbWApLlxuICAgKiAgICAgICAgICAgICAgICBUaGUgYC5hbWF6b25hd3MuY29tYCBhbmQgYC5hbWF6b25hd3MuY29tLmNuYCBkb21haW5zIGFyZSBzdHJpcHBlZCBmcm9tIHNlcnZpY2UgbmFtZXMsIHNvIHRoZXkgYXJlXG4gICAqICAgICAgICAgICAgICAgIGNhbm9uaWNhbGl6ZWQgaW4gdGhhdCByZXNwZWN0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBzZXJ2aWNlUHJpbmNpcGFsKHNlcnZpY2U6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBzZXJ2aWNlLXByaW5jaXBhbDoke3NlcnZpY2UucmVwbGFjZSgvXFwuYW1hem9uYXdzXFwuY29tKFxcLmNuKT8kLywgJycpfWA7XG4gIH1cblxuICAvKipcbiAgICogVGhlIEFSTiBvZiBBbWF6b24gRGlzdHJvIGZvciBPcGVuVGVsZW1ldHJ5IChBRE9UKSBMYW1iZGEgbGF5ZXIgZm9yIGEgZ2l2ZW4gbGFtYmRhIHR5cGUsIHZlcnNpb24gYW5kIGFyY2hpdGVjdHVyZS5cbiAgICpcbiAgICogQHBhcmFtIHR5cGUgdGhlIHR5cGUgb2YgdGhlIEFET1QgbGFtYmRhIGxheWVyXG4gICAqIEBwYXJhbSB2ZXJzaW9uIHRoZSBsYXllciB2ZXJzaW9uLlxuICAgKiBAcGFyYW0gYXJjaGl0ZWN0dXJlIHRoZSBMYW1iZGEgRnVuY3Rpb24gYXJjaGl0ZWN0dXJlIChlLmcuICd4ODZfNjQnIG9yICdhcm02NCcpXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFkb3RMYW1iZGFMYXllcih0eXBlOiBzdHJpbmcsIHZlcnNpb246IHN0cmluZywgYXJjaGl0ZWN0dXJlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHN1ZmZpeCA9IHR5cGUgKyAnXycgKyB2ZXJzaW9uLnNwbGl0KCcuJykuam9pbignXycpICsgJ18nICsgYXJjaGl0ZWN0dXJlO1xuICAgIHJldHVybiBgYWRvdC1sYW1iZGEtbGF5ZXI6JHtzdWZmaXh9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIFBhcmFtZXRlcnMgYW5kIFNlY3JldHMgTGFtYmRhIGxheWVyIGZvciBhIGdpdmVuIGxhbWJkYSBhcmNoaXRlY3R1cmUuXG4gICAqXG4gICAqIEBwYXJhbSB2ZXJzaW9uIHRoZSBsYXllciB2ZXJzaW9uXG4gICAqIEBwYXJhbSBhcmNoaXRlY3R1cmUgdGhlIExhbWJkYSBGdW5jdGlvbiBhcmNoaXRlY3R1cmUgKGUuZy4gJ3g4Nl82NCcgb3IgJ2FybTY0JylcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcGFyYW1zQW5kU2VjcmV0c0xhbWJkYUxheWVyKHZlcnNpb246IHN0cmluZywgYXJjaGl0ZWN0dXJlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHN1ZmZpeCA9IHZlcnNpb24uc3BsaXQoJy4nKS5qb2luKCdfJykgKyBgXyR7YXJjaGl0ZWN0dXJlfWA7XG4gICAgcmV0dXJuIGBwYXJhbXMtYW5kLXNlY3JldHMtbGF5ZXI6JHtzdWZmaXh9YDtcbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImZhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsaURBQTZDO0FBRTdDOztHQUVHO0FBQ0gsTUFBYSxJQUFJO0lBQ2Y7OztPQUdHO0lBQ0ksTUFBTSxLQUFLLE9BQU87UUFDdkIseUVBQXlFO1FBQ3pFLE9BQU8sQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRywwQkFBVyxFQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDdEU7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxLQUFLLEtBQUs7UUFDckIsT0FBTyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNwRztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFlBQVk7UUFDeEIsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7YUFDakMsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLEVBQUUsRUFBRSxDQUNyQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQ3hDLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBNEIsQ0FBQyxDQUFDLENBQUM7S0FDM0Q7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFjLEVBQUUsSUFBWTtRQUM3QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLE9BQU8sV0FBVyxJ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QUFFekY7O0dBRUc7QUFDb0Isc0JBQWEsR0FBRyxjQUFjLENBQUM7QUFFdEQ7OztHQUdHO0FBQ29CLCtCQUFzQixHQUFHLHNCQUFzQixDQUFDO0FBRXZFOzs7R0FHRztBQUNvQiw0QkFBbUIsR0FBRywwQkFBMEIsQ0FBQztBQUV4RTs7R0FFRztBQUNvQiw0QkFBbUIsR0FBRyxtQkFBbUIsQ0FBQztBQUVqRTs7R0FFRztBQUNvQix5QkFBZ0IsR0FBRyxlQUFlLENBQUM7QUFFMUQ7O0dBRUc7QUFDb0IsNEJBQW1CLEdBQUcsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBV1NfUkVHSU9OUyB9IGZyb20gJy4vYXdzLWVudGl0aWVzJztcblxuLyoqXG4gKiBBIGRhdGFiYXNlIG9mIHJlZ2lvbmFsIGluZm9ybWF0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgRmFjdCB7XG4gIC8qKlxuICAgKiBAcmV0dXJucyB0aGUgbGlzdCBvZiBuYW1lcyBvZiBBV1MgUmVnaW9ucyBmb3Igd2hpY2ggdGhlcmUgaXMgYXQgbGVhc3Qgb25lIHJlZ2lzdGVyZWQgZmFjdC4gVGhpc1xuICAgKiAgICAgICAgICBpbmNsdWRlcyBSZWdpb25zIGRlZmluZWQgaW4gQVdTX1JFR0lPTlMgcGx1cyBjdXN0b20gZGVmaW5lZCByZWdpb25zLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXQgcmVnaW9ucygpOiBzdHJpbmdbXSB7XG4gICAgLy8gUmV0dXJuIHRoZSB1bmlvbiBvZiByZWdpb25zIGluIEFXU19SRUdJT05TIGFuZCBjdXN0b20gZGVmaW5lZCByZWdpb25zLlxuICAgIHJldHVybiBbLi4ubmV3IFNldChbLi4uQVdTX1JFR0lPTlMsIC4uLk9iamVjdC5rZXlzKHRoaXMuZGF0YWJhc2UpXSldO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGxpc3Qgb2YgbmFtZXMgb2YgcmVnaXN0ZXJlZCBmYWN0cy5cbiAgICpcbiAgICogQWxsIGZhY3RzIHdpbGwgYmUgcHJlc2VudCBpbiBhdCBsZWFzdCBvbmUgcmVnaW9uLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXQgbmFtZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbLi4ubmV3IFNldChPYmplY3QudmFsdWVzKHRoaXMuZGF0YWJhc2UpLmZsYXRNYXAocmVnaW9uRmFjdHMgPT4gT2JqZWN0LmtleXMocmVnaW9uRmFjdHMpKSldO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhbGwgcGFpcnMgb2YgKHJlZ2lvbiwgZmFjdE5hbWUpIHRoYXQgYXJlIGRlZmluZWRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZGVmaW5lZEZhY3RzKCk6IEFycmF5PHN0cmluZ1tdPiB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHRoaXMuZGF0YWJhc2UpXG4gICAgICAuZmxhdE1hcCgoW3JlZ2lvbk5hbWUsIHJlZ2lvbkZhY3RzXSkgPT5cbiAgICAgICAgT2JqZWN0LmtleXMocmVnaW9uRmFjdHMpLm1hcCgoZmFjdE5hbWUpID0+XG4gICAgICAgICAgW3JlZ2lvbk5hbWUsIGZhY3ROYW1lXSBzYXRpc2ZpZXMgW3N0cmluZywgc3RyaW5nXSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBhIGZhY3QgZnJvbSB0aGlzIEZhY3QgZGF0YWJhc2UuXG4gICAqXG4gICAqIEBwYXJhbSByZWdpb24gdGhlIG5hbWUgb2YgdGhlIHJlZ2lvbiAoZS5nOiBgdXMtZWFzdC0xYClcbiAgICogQHBhcmFtIG5hbWUgICB0aGUgbmFtZSBvZiB0aGUgZmFjdCBiZWluZyBsb29rZWQgdXAgKHNlZSB0aGUgYEZhY3ROYW1lYCBjbGFzcyBmb3IgZGV0YWlscylcbiAgICpcbiAgICogQHJldHVybnMgdGhlIGZhY3QgdmFsdWUgaWYgaXQgaXMga25vd24sIGFuZCBgdW5kZWZpbmVkYCBvdGhlcndpc2UuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZpbmQocmVnaW9uOiBzdHJpbmcsIG5hbWU6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgcmVnaW9uRmFjdHMgPSB0aGlzLmRhdGFiYXNlW3JlZ2lvbl07XG4gICAgcmV0dXJuIHJlZ2lvbkZhY3RzICYmIHJlZ2lvbkZhY3RzW25hbWVdO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIGEgZmFjdCBmcm9tIHRoZSBGYWN0IGRhdGFiYXNlLiAocmV0cmlldmFsIHdpbGwgZmFpbCBpZiB0aGUgc3BlY2lmaWVkIHJlZ2lvbiBvclxuICAgKiBmYWN0IG5hbWUgZG9lcyBub3QgZXhpc3QuKVxuICAgKlxuICAgKiBAcGFyYW0gcmVnaW9uIHRoZSBuYW1lIG9mIHRoZSByZWdpb24gKGUuZzogYHVzLWVhc3QtMWApXG4gICAqIEBwYXJhbSBuYW1lIHRoZSBuYW1lIG9mIHRoZSBmYWN0IGJlaW5nIGxvb2tlZCB1cCAoc2VlIHRoZSBgRmFjdE5hbWVgIGNsYXNzIGZvciBkZXRhaWxzKVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZXF1aXJlRmFjdChyZWdpb246IHN0cmluZywgbmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBmb3VuZEZhY3QgPSB0aGlzLmZpbmQocmVnaW9uLCBuYW1lKTtcblxuICAgIGlmICghZm91bmRGYWN0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIGZhY3QgJHtuYW1lfSBjb3VsZCBiZSBmb3VuZCBmb3IgcmVnaW9uOiAke3JlZ2lvbn0gYW5kIG5hbWU6ICR7bmFtZX0uYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZvdW5kRmFjdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSBuZXcgZmFjdCBpbiB0aGlzIEZhY3QgZGF0YWJhc2UuXG4gICAqXG4gICAqIEBwYXJhbSBmYWN0ICAgICAgICAgICB0aGUgbmV3IGZhY3QgdG8gYmUgcmVnaXN0ZXJlZC5cbiAgICogQHBhcmFtIGFsbG93UmVwbGFjaW5nIHdoZXRoZXIgbmV3IGZhY3RzIGNhbiByZXBsYWNlIGV4aXN0aW5nIGZhY3RzIG9yIG5vdC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVnaXN0ZXIoZmFjdDogSUZhY3QsIGFsbG93UmVwbGFjaW5nID0gZmFsc2UpOiB2b2lkIHtcbiAgICBjb25zdCByZWdpb25GYWN0cyA9IHRoaXMuZGF0YWJhc2VbZmFjdC5yZWdpb25dIHx8ICh0aGlzLmRhdGFiYXNlW2ZhY3QucmVnaW9uXSA9IHt9KTtcbiAgICBpZiAoZmFjdC5uYW1lIGluIHJlZ2lvbkZhY3RzICYmIHJlZ2lvbkZhY3RzW2ZhY3QubmFtZV0gIT09IGZhY3QudmFsdWUgJiYgIWFsbG93UmVwbGFjaW5nKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFJlZ2lvbiAke2ZhY3QucmVnaW9ufSBhbHJlYWR5IGhhcyBhIGZhY3QgJHtmYWN0Lm5hbWV9LCB3aXRoIHZhbHVlICR7cmVnaW9uRmFjdHNbZmFjdC5uYW1lXX1gKTtcbiAgICB9XG4gICAgaWYgKGZhY3QudmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmVnaW9uRmFjdHNbZmFjdC5uYW1lXSA9IGZhY3QudmFsdWU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgYSBmYWN0IGZyb20gdGhlIGRhdGFiYXNlLlxuICAgKiBAcGFyYW0gcmVnaW9uIHRoZSByZWdpb24gZm9yIHdoaWNoIHRoZSBmYWN0IGlzIHRvIGJlIHJlbW92ZWQuXG4gICAqIEBwYXJhbSBuYW1lICAgdGhlIG5hbWUgb2YgdGhlIGZhY3QgdG8gcmVtb3ZlLlxuICAgKiBAcGFyYW0gdmFsdWUgIHRoZSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZW1vdmVkIChyZW1vdmFsIHdpbGwgZmFpbCBpZiB0aGUgdmFsdWUgaXMgc3BlY2lmaWVkLCBidXQgZG9lcyBub3QgbWF0Y2ggdGhlXG4gICAqICAgICAgICAgICAgICAgY3VycmVudCBzdG9yZWQgdmFsdWUpLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB1bnJlZ2lzdGVyKHJlZ2lvbjogc3RyaW5nLCBuYW1lOiBzdHJpbmcsIHZhbHVlPzogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgcmVnaW9uRmFjdHMgPSB0aGlzLmRhdGFiYXNlW3JlZ2lvbl0gfHwge307XG4gICAgaWYgKG5hbWUgaW4gcmVnaW9uRmFjdHMgJiYgdmFsdWUgJiYgcmVnaW9uRmFjdHNbbmFtZV0gIT09IHZhbHVlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEF0dGVtcHRlZCB0byByZW1vdmUgJHtuYW1lfSBmcm9tICR7cmVnaW9ufSB3aXRoIHZhbHVlICR7dmFsdWV9LCBidXQgdGhlIGZhY3QncyB2YWx1ZSBpcyAke3JlZ2lvbkZhY3RzW25hbWVdfWApO1xuICAgIH1cbiAgICBkZWxldGUgcmVnaW9uRmFjdHNbbmFtZV07XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBkYXRhYmFzZTogeyBbcmVnaW9uOiBzdHJpbmddOiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfSB9ID0ge307XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1VzZSB0aGUgc3RhdGljIG1ldGhvZHMgb2YgRmFjdCBpbnN0ZWFkIScpO1xuICB9XG59XG5cbi8qKlxuICogQSBmYWN0IHRoYXQgY2FuIGJlIHJlZ2lzdGVyZWQgYWJvdXQgYSBwYXJ0aWN1bGFyIHJlZ2lvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRmFjdCB7XG4gIC8qKlxuICAgKiBUaGUgcmVnaW9uIGZvciB3aGljaCB0aGlzIGZhY3QgYXBwbGllcy5cbiAgICovXG4gIHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGlzIGZhY3QuIFN0YW5kYXJkaXplZCB2YWx1ZXMgYXJlIHByb3ZpZGVkIGJ5IHRoZSBgRmFjdHNgIGNsYXNzLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgb2YgdGhpcyBmYWN0LlxuICAgKi9cbiAgcmVhZG9ubHkgdmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBBbGwgc3RhbmRhcmRpemVkIGZhY3QgbmFtZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBGYWN0TmFtZSB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcGFydGl0aW9uIGZvciBhIHJlZ2lvbiAoZS5nOiAnYXdzJywgJ2F3cy1jbicsIC4uLilcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSVElUSU9OID0gJ3BhcnRpdGlvbic7XG5cbiAgLyoqXG4gICAqIFRoZSBkb21haW4gc3VmZml4IGZvciBhIHJlZ2lvbiAoZS5nOiAnYW1hem9uYXdzLmNvbWApXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERPTUFJTl9TVUZGSVggPSAnZG9tYWluU3VmZml4JztcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgQVdTOjpDREs6Ok1ldGFkYXRhIENsb3VkRm9ybWF0aW9uIFJlc291cmNlIGlzIGF2YWlsYWJsZSBpbi1yZWdpb24gb3Igbm90LiBUaGUgdmFsdWUgaXMgYSBib29sZWFuXG4gICAqIG1vZGVsbGVkIGFzIGBZRVNgIG9yIGBOT2AuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENES19NRVRBREFUQV9SRVNPVVJDRV9BVkFJTEFCTEUgPSAnY2RrOm1ldGFkYXRhLXJlc291cmNlOmF2YWlsYWJsZSc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGdpdmVuIHJlZ2lvbiBpcyBhbiBvcHQtaW4gcmVnaW9uIG9yIG5vdC4gVGhlIHZhbHVlIGlzIGEgYm9vbGVhblxuICAgKiBtb2RlbGxlZCBhcyBgWUVTYCBvciBgTk9gLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBJU19PUFRfSU5fUkVHSU9OID0gJ2F3czppcy1vcHQtaW4tcmVnaW9uJztcblxuICAvKipcbiAgICogVGhlIGVuZHBvaW50IHVzZWQgZm9yIGhvc3RpbmcgUzMgc3RhdGljIHdlYnNpdGVzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFMzX1NUQVRJQ19XRUJTSVRFX0VORFBPSU5UID0gJ3MzLXN0YXRpYy13ZWJzaXRlOmVuZHBvaW50JztcblxuICAvKipcbiAgICogVGhlIGVuZHBvaW50IHVzZWQgZm9yIGFsaWFzaW5nIFMzIHN0YXRpYyB3ZWJzaXRlcyBpbiBSb3V0ZSA1M1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTM19TVEFUSUNfV0VCU0lURV9aT05FXzUzX0hPU1RFRF9aT05FX0lEID0gJ3MzLXN0YXRpYy13ZWJzaXRlOnJvdXRlLTUzLWhvc3RlZC16b25lLWlkJztcblxuICAvKipcbiAgICogVGhlIGhvc3RlZCB6b25lIElEIHVzZWQgYnkgUm91dGUgNTMgdG8gYWxpYXMgYSBFQlMgZW52aXJvbm1lbnQgZW5kcG9pbnQgaW4gdGhpcyByZWdpb24gKGUuZzogWjJPMUVNUk85SzVHTFgpXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEVCU19FTlZfRU5EUE9JTlRfSE9TVEVEX1pPTkVfSUQgPSAnZWJzLWVudmlyb25tZW50OnJvdXRlLTUzLWhvc3RlZC16b25lLWlkJztcblxuICAvKipcbiAgICogVGhlIHByZWZpeCBmb3IgVlBDIEVuZHBvaW50IFNlcnZpY2UgbmFtZXMsXG4gICAqIGNuLmNvbS5hbWF6b25hd3MudnBjZSBmb3IgQ2hpbmEgcmVnaW9ucyxcbiAgICogY29tLmFtYXpvbmF3cy52cGNlIG90aGVyd2lzZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVlBDX0VORFBPSU5UX1NFUlZJQ0VfTkFNRV9QUkVGSVggPSAndnBjRW5kcG9pbnRTZXJ2aWNlTmFtZVByZWZpeCc7XG5cbiAgLyoqXG4gICAqIFRoZSBhY2NvdW50IGZvciBFTEJ2MiBpbiB0aGlzIHJlZ2lvblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBFTEJWMl9BQ0NPVU5UID0gJ2VsYnYyQWNjb3VudCc7XG5cbiAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGUgQVdTIGFjY291bnQgdGhhdCBvd25zIHRoZSBwdWJsaWMgRUNSIHJlcG9zaXRvcnkgdGhhdCBjb250YWlucyB0aGVcbiAgICogQVdTIERlZXAgTGVhcm5pbmcgQ29udGFpbmVycyBpbWFnZXMgaW4gYSBnaXZlbiByZWdpb24uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERMQ19SRVBPU0lUT1JZX0FDQ09VTlQgPSAnZGxjUmVwb3NpdG9yeUFjY291bnQnO1xuXG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIEFXUyBhY2NvdW50IHRoYXQgb3ducyB0aGUgcHVibGljIEVDUiByZXBvc2l0b3J5IHRoYXQgY29udGFpbnMgdGhlXG4gICAqIEFXUyBBcHAgTWVzaCBFbnZveSBQcm94eSBpbWFnZXMgaW4gYSBnaXZlbiByZWdpb24uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEFQUE1FU0hfRUNSX0FDQ09VTlQgPSAnYXBwTWVzaFJlcG9zaXRvcnlBY2NvdW50JztcblxuICAvKipcbiAgICogVGhlIENJRFIgYmxvY2sgdXNlZCBieSBLaW5lc2lzIERhdGEgRmlyZWhvc2Ugc2VydmVycy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRklSRUhPU0VfQ0lEUl9CTE9DSyA9ICdmaXJlaG9zZUNpZHJCbG9jayc7XG5cbiAgLyoqXG4gICAqIFRoZSBTQU1MIFNpZ24gT24gVVJMIGZvciBwYXJ0aXRpb24gdXNlZCBieSBJQU0gU0FNTCBQcmluY2lwYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU0FNTF9TSUdOX09OX1VSTCA9ICdzYW1sU2lnbk9uVXJsJztcblxuICAvKipcbiAgICogVGhlIGxhdGVzdCBMYW1iZGEgTm9kZUpTIHJ1bnRpbWUgYXZhaWxhYmxlIGluIGEgZ2l2ZW4gcmVnaW9uLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBMQVRFU1RfTk9ERV9SVU5USU1FID0gJ2xhdGVzdE5vZGVSdW50aW1lJztcblxuICAvKipcbiAgICogVGhlIEFSTiBvZiBDbG91ZFdhdGNoIExhbWJkYSBJbnNpZ2h0cyBmb3IgYSB2ZXJzaW9uIChlLmcuIDEuMC45OC4wKVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBjbG91ZHdhdGNoTGFtYmRhSW5zaWdodHNWZXJzaW9uKHZlcnNpb246IHN0cmluZywgYXJjaD86IHN0cmluZykge1xuICAgIC8vIGlmIHdlIGFyZSBwcm92aWRlZCBhbiBhcmNoaXRlY3R1cmUgdXNlIHRoYXQsIG90aGVyd2lzZVxuICAgIC8vIGRlZmF1bHQgdG8geDg2XzY0IGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuICAgIGNvbnN0IHN1ZmZpeCA9IHZlcnNpb24uc3BsaXQoJy4nKS5qb2luKCdfJykgKyBgXyR7YXJjaCA/PyAneDg2XzY0J31gO1xuICAgIHJldHVybiBgY2xvdWR3YXRjaC1sYW1iZGEtaW5zaWdodHMtdmVyc2lvbjoke3N1ZmZpeH1gO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgQXBwQ29uZmlnIExhbWJkYSBMYXllciBmb3IgYSBnaXZlbiB2ZXJzaW9uIChlLmcuIDIuMC4xODEpXG4gICAqIEBwYXJhbSB2ZXJzaW9uIFRoZSBsYXllciB2ZXJzaW9uLlxuICAgKiBAcGFyYW0gYXJjaCBUaGUgYXJjaGl0ZWN0dXJlIChvcHRpb25hbCksIGRlZmF1bHRzIHRvIHg4Nl82NC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYXBwQ29uZmlnTGFtYmRhTGF5ZXJWZXJzaW9uKHZlcnNpb246IHN0cmluZywgYXJjaD86IHN0cmluZykge1xuICAgIGNvbnN0IHN1ZmZpeCA9IHZlcnNpb24uc3BsaXQoJy4nKS5qb2luKCdfJykgKyBgXyR7YXJjaCA/PyAneDg2XzY0J31gO1xuICAgIHJldHVybiBgYXBwY29uZmlnLWxhbWJkYS1sYXllcjoke3N1ZmZpeH1gO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSByZWdpb25hbCBzZXJ2aWNlIHByaW5jaXBhbCBmb3IgYSBnaXZlbiBzZXJ2aWNlLlxuICAgKlxuICAgKiBAcGFyYW0gc2VydmljZSB0aGUgc2VydmljZSBuYW1lLCBlaXRoZXIgc2ltcGxlIChlLmc6IGBzM2AsIGBjb2RlZGVwbG95YCkgb3IgcXVhbGlmaWVkIChlLmc6IGBzMy5hbWF6b25hd3MuY29tYCkuXG4gICAqICAgICAgICAgICAgICAgIFRoZSBgLmFtYXpvbmF3cy5jb21gIGFuZCBgLmFtYXpvbmF3cy5jb20uY25gIGRvbWFpbnMgYXJlIHN0cmlwcGVkIGZyb20gc2VydmljZSBuYW1lcywgc28gdGhleSBhcmVcbiAgICogICAgICAgICAgICAgICAgY2Fub25pY2FsaXplZCBpbiB0aGF0IHJlc3BlY3QuXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIC0gVXNlIGBpYW0uU2VydmljZVByaW5jaXBhbC5zZXJ2aWNlUHJpbmNpcGFsTmFtZSgpYCBpbnN0ZWFkLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBzZXJ2aWNlUHJpbmNpcGFsKHNlcnZpY2U6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3NlcnZpY2UucmVwbGFjZSgvXFwuYW1hem9uYXdzXFwuY29tKFxcLmNuKT8kLywgJycpfS5hbWF6b25hd3MuY29tYDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIEFtYXpvbiBEaXN0cm8gZm9yIE9wZW5UZWxlbWV0cnkgKEFET1QpIExhbWJkYSBsYXllciBmb3IgYSBnaXZlbiBsYW1iZGEgdHlwZSwgdmVyc2lvbiBhbmQgYXJjaGl0ZWN0dXJlLlxuICAgKlxuICAgKiBAcGFyYW0gdHlwZSB0aGUgdHlwZSBvZiB0aGUgQURPVCBsYW1iZGEgbGF5ZXJcbiAgICogQHBhcmFtIHZlcnNpb24gdGhlIGxheWVyIHZlcnNpb24uXG4gICAqIEBwYXJhbSBhcmNoaXRlY3R1cmUgdGhlIExhbWJkYSBGdW5jdGlvbiBhcmNoaXRlY3R1cmUgKGUuZy4gJ3g4Nl82NCcgb3IgJ2FybTY0JylcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYWRvdExhbWJkYUxheWVyKHR5cGU6IHN0cmluZywgdmVyc2lvbjogc3RyaW5nLCBhcmNoaXRlY3R1cmU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3Qgc3VmZml4ID0gdHlwZSArICdfJyArIHZlcnNpb24uc3BsaXQoJy4nKS5qb2luKCdfJykgKyAnXycgKyBhcmNoaXRlY3R1cmU7XG4gICAgcmV0dXJuIGBhZG90LWxhbWJkYS1sYXllcjoke3N1ZmZpeH1gO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgUGFyYW1ldGVycyBhbmQgU2VjcmV0cyBMYW1iZGEgbGF5ZXIgZm9yIGEgZ2l2ZW4gbGFtYmRhIGFyY2hpdGVjdHVyZS5cbiAgICpcbiAgICogQHBhcmFtIHZlcnNpb24gdGhlIGxheWVyIHZlcnNpb25cbiAgICogQHBhcmFtIGFyY2hpdGVjdHVyZSB0aGUgTGFtYmRhIEZ1bmN0aW9uIGFyY2hpdGVjdHVyZSAoZS5nLiAneDg2XzY0JyBvciAnYXJtNjQnKVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBwYXJhbXNBbmRTZWNyZXRzTGFtYmRhTGF5ZXIodmVyc2lvbjogc3RyaW5nLCBhcmNoaXRlY3R1cmU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3Qgc3VmZml4ID0gdmVyc2lvbi5zcGxpdCgnLicpLmpvaW4oJ18nKSArIGBfJHthcmNoaXRlY3R1cmV9YDtcbiAgICByZXR1cm4gYHBhcmFtcy1hbmQtc2VjcmV0cy1sYXllcjoke3N1ZmZpeH1gO1xuICB9XG59XG4iXX0=

@@ -79,2 +79,4 @@ /**

* @param service the service name (e.g: s3.amazonaws.com)
*
* @deprecated - Use `iam.ServicePrincipal.servicePrincipalName()` instead.
*/

@@ -81,0 +83,0 @@ servicePrincipal(service: string): string | undefined;

@@ -5,2 +5,3 @@ "use strict";

exports.RegionInfo = void 0;
const jsiiDeprecationWarnings = require("../.warnings.jsii.js");
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");

@@ -121,5 +122,16 @@ const aws_entities_1 = require("./aws-entities");

* @param service the service name (e.g: s3.amazonaws.com)
*
* @deprecated - Use `iam.ServicePrincipal.servicePrincipalName()` instead.
*/
servicePrincipal(service) {
return fact_1.Fact.find(this.name, fact_1.FactName.servicePrincipal(service));
try {
jsiiDeprecationWarnings.print("@aws-cdk/region-info.RegionInfo#servicePrincipal", "- Use `iam.ServicePrincipal.servicePrincipalName()` instead.");
}
catch (error) {
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
Error.captureStackTrace(error, this.servicePrincipal);
}
throw error;
}
return `${service.replace(/\.amazonaws\.com(\.cn)?$/, '')}.amazonaws.com`;
}

@@ -196,3 +208,3 @@ /**

_a = JSII_RTTI_SYMBOL_1;
RegionInfo[_a] = { fqn: "@aws-cdk/region-info.RegionInfo", version: "2.149.0" };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaW9uLWluZm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJyZWdpb24taW5mby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlEQUFzRDtBQUN0RCxpQ0FBd0M7QUFFeEM7O0dBRUc7QUFDSCxNQUFhLFVBQVU7SUFDckI7OztPQUdHO0lBQ0ksTUFBTSxLQUFLLE9BQU87UUFDdkIsT0FBTyxXQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDekM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFnQjtRQUN0QyxNQUFNLEdBQUcsR0FBaUMsRUFBRSxDQUFDO1FBQzdDLEtBQUssTUFBTSxVQUFVLElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzVDLE1BQU0sSUFBSSxHQUFHLFdBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNsRCxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNULEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQzlCLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7S0FDWjtJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFnQixFQUFFLFVBQW9CO1FBQ25FLE1BQU0sR0FBRyxHQUEyQixFQUFFLENBQUM7UUFDdkMsS0FBSyxNQUFNLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDN0UsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUEsbUNBQW9CLEVBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztnQkFDaEUsR0FBRyxDQUFD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SUFBVyx3QkFBd0I7UUFDakMsT0FBTyxXQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsZUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUM7S0FDM0Q7SUFFRDs7T0FFRztJQUNILElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sV0FBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLGVBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0tBQzNEO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksa0JBQWtCLENBQUMsSUFBWSxFQUFFLE9BQWUsRUFBRSxZQUFvQjtRQUMzRSxPQUFPLFdBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxlQUFRLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztLQUNwRjtJQUVEOzs7OztPQUtHO0lBQ0ksOEJBQThCLENBQUMsT0FBZSxFQUFFLFlBQW9CO1FBQ3pFLE9BQU8sV0FBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLGVBQVEsQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztLQUMxRjtJQUVEOztPQUVHO0lBQ0gsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sV0FBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLGVBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0tBQ3hEOztBQXZNSCxnQ0F5TUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwYXJ0aXRpb25JbmZvcm1hdGlvbiB9IGZyb20gJy4vYXdzLWVudGl0aWVzJztcbmltcG9ydCB7IEZhY3QsIEZhY3ROYW1lIH0gZnJvbSAnLi9mYWN0JztcblxuLyoqXG4gKiBJbmZvcm1hdGlvbiBwZXJ0YWluaW5nIHRvIGFuIEFXUyByZWdpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBSZWdpb25JbmZvIHtcbiAgLyoqXG4gICAqIEByZXR1cm5zIHRoZSBsaXN0IG9mIG5hbWVzIG9mIEFXUyByZWdpb25zIGZvciB3aGljaCB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgcmVnaXN0ZXJlZCBmYWN0LiBUaGlzXG4gICAqICAgICAgICAgIG1heSBub3QgYmUgYW4gZXhhdXN0aXZlIGxpc3Qgb2YgYWxsIGF2YWlsYWJsZSBBV1MgcmVnaW9ucy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IHJlZ2lvbnMoKTogUmVnaW9uSW5mb1tdIHtcbiAgICByZXR1cm4gRmFjdC5yZWdpb25zLm1hcChSZWdpb25JbmZvLmdldCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGEgY29sbGVjdGlvbiBvZiBhbGwgZmFjdCB2YWx1ZXMgZm9yIGFsbCByZWdpb25zIHRoYXQgZmFjdCBpcyBkZWZpbmVkIGluLlxuICAgKlxuICAgKiBAcGFyYW0gZmFjdE5hbWUgdGhlIG5hbWUgb2YgdGhlIGZhY3QgdG8gcmV0cmlldmUgdmFsdWVzIGZvci5cbiAgICogICBGb3IgYSBsaXN0IG9mIGNvbW1vbiBmYWN0IG5hbWVzLCBzZWUgdGhlIEZhY3ROYW1lIGNsYXNzXG4gICAqIEByZXR1cm5zIGEgbWFwcGluZyB3aXRoIEFXUyByZWdpb24gY29kZXMgYXMgdGhlIGtleXMsXG4gICAqICAgYW5kIHRoZSBmYWN0IGluIHRoZSBnaXZlbiByZWdpb24gYXMgdGhlIHZhbHVlIGZvciB0aGF0IGtleVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWdpb25NYXAoZmFjdE5hbWU6IHN0cmluZyk6IHsgW3JlZ2lvbjogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIGNvbnN0IHJldDogeyBbcmVnaW9uOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuICAgIGZvciAoY29uc3QgcmVnaW9uSW5mbyBvZiBSZWdpb25JbmZvLnJlZ2lvbnMpIHtcbiAgICAgIGNvbnN0IGZhY3QgPSBGYWN0LmZpbmQocmVnaW9uSW5mby5uYW1lLCBmYWN0TmFtZSk7XG4gICAgICBpZiAoZmFjdCkge1xuICAgICAgICByZXRbcmVnaW9uSW5mby5uYW1lXSA9IGZhY3Q7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGEgY29sbGVjdGlvbiBvZiBhbGwgZmFjdCB2YWx1ZXMgZm9yIGFsbCByZWdpb25zLCBsaW1pdGVkIHRvIHNvbWUgcGFydGl0aW9uc1xuICAgKlxuICAgKiBAcGFyYW0gZmFjdE5hbWUgdGhlIG5hbWUgb2YgdGhlIGZhY3QgdG8gcmV0cmlldmUgdmFsdWVzIGZvci5cbiAgICogICBGb3IgYSBsaXN0IG9mIGNvbW1vbiBmYWN0IG5hbWVzLCBzZWUgdGhlIEZhY3ROYW1lIGNsYXNzXG4gICAqIEBwYXJhbSBwYXJ0aXRpb25zIGxpc3Qgb2YgcGFydGl0aW9ucyB0byByZXRyaWV2ZSBmYWN0cyBmb3IuIERlZmF1bHRzXG4gICAqICAgdG8gYFsnYXdzJywgJ2F3cy1jbiddYC5cbiAgICogQHJldHVybnMgYSBtYXBwaW5nIHdpdGggQVdTIHJlZ2lvbiBjb2RlcyBhcyB0aGUga2V5cyxcbiAgICogICBhbmQgdGhlIGZhY3QgaW4gdGhlIGdpdmVuIHJlZ2lvbiBhcyB0aGUgdmFsdWUgZm9yIHRoYXQga2V5XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGxpbWl0ZWRSZWdpb25NYXAoZmFjdE5hbWU6IHN0cmluZywgcGFydGl0aW9uczogc3RyaW5nW10pOiB7IFtyZWdpb246IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICBjb25zdCByZXQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcbiAgICBmb3IgKGNvbnN0IFtyZWdpb24sIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhSZWdpb25JbmZvLnJlZ2lvbk1hcChmYWN0TmFtZSkpKSB7XG4gICAgICBpZiAocGFydGl0aW9ucy5pbmNsdWRlcyhwYXJ0aXRpb25JbmZvcm1hdGlvbihyZWdpb24pLnBhcnRpdGlvbikpIHtcbiAgICAgICAgcmV0W3JlZ2lvbl0gPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJldDtcbiAgfVxuXG4gIC8qKlxuICAgKiBPYnRhaW4gcmVnaW9uIGluZm8gZm9yIGEgZ2l2ZW4gcmVnaW9uIG5hbWUuXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lIHRoZSBuYW1lIG9mIHRoZSByZWdpb24gKGUuZzogdXMtZWFzdC0xKVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXQobmFtZTogc3RyaW5nKTogUmVnaW9uSW5mbyB7XG4gICAgcmV0dXJuIG5ldyBSZWdpb25JbmZvKG5hbWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgbmFtZTogc3RyaW5nKSB7fVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBgQVdTOjpDREs6Ok1ldGFkYXRhYCBDbG91ZEZvcm1hdGlvbiBSZXNvdXJjZSBpcyBhdmFpbGFibGUgaW4gdGhpcyByZWdpb24gb3Igbm90LlxuICAgKi9cbiAgcHVibGljIGdldCBjZGtNZXRhZGF0YVJlc291cmNlQXZhaWxhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBGYWN0LmZpbmQodGhpcy5uYW1lLCBGYWN0TmFtZS5DREtfTUVUQURBVEFfUkVTT1VSQ0VfQVZBSUxBQkxFKSA9PT0gJ1lFUyc7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZ2l2ZW4gcmVnaW9uIGlzIGFuIG9wdC1pbiByZWdpb25cbiAgICovXG4gIHB1YmxpYyBnZXQgaXNPcHRJblJlZ2lvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gRmFjdC5maW5kKHRoaXMubmFtZSwgRmFjdE5hbWUuSVNfT1BUX0lOX1JFR0lPTikgPT09ICdZRVMnO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBkb21haW4gbmFtZSBzdWZmaXggKGUuZzogYW1hem9uYXdzLmNvbSkgZm9yIHRoaXMgcmVnaW9uLlxuICAgKi9cbiAgcHVibGljIGdldCBkb21haW5TdWZmaXgoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gRmFjdC5maW5kKHRoaXMubmFtZSwgRmFjdE5hbWUuRE9NQUlOX1NVRkZJWCk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIEFSTiBwYXJ0aXRpb24gZm9yIHRoaXMgcmVnaW9uIChlLmc6IGF3cykuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHBhcnRpdGlvbigpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBGYWN0LmZpbmQodGhpcy5uYW1lLCBGYWN0TmFtZS5QQVJUSVRJT04pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBlbmRwb2ludCB1c2VkIGJ5IFMzIHN0YXRpYyB3ZWJzaXRlIGhvc3RpbmcgaW4gdGhpcyByZWdpb24gKGUuZzogczMtc3RhdGljLXdlYnNpdGUtdXMtZWFzdC0xLmFtYXpvbmF3cy5jb20pXG4gICAqL1xuICBwdWJsaWMgZ2V0IHMzU3RhdGljV2Vic2l0ZUVuZHBvaW50KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIEZhY3QuZmluZCh0aGlzLm5hbWUsIEZhY3ROYW1lLlMzX1NUQVRJQ19XRUJTSVRFX0VORFBPSU5UKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgaG9zdGVkIHpvbmUgSUQgdXNlZCBieSBSb3V0ZSA1MyB0byBhbGlhcyBhIFMzIHN0YXRpYyB3ZWJzaXRlIGluIHRoaXMgcmVnaW9uIChlLmc6IFoyTzFFTVJPOUs1R0xYKVxuICAgKi9cbiAgcHVibGljIGdldCBzM1N0YXRpY1dlYnNpdGVIb3N0ZWRab25lSWQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gRmFjdC5maW5kKHRoaXMubmFtZSwgRmFjdE5hbWUuUzNfU1RBVElDX1dFQlNJVEVfWk9ORV81M19IT1NURURfWk9ORV9JRCk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGhvc3RlZCB6b25lIElEIHVzZWQgYnkgUm91dGUgNTMgdG8gYWxpYXMgYSBFQlMgZW52aXJvbm1lbnQgZW5kcG9pbnQgaW4gdGhpcyByZWdpb24gKGUuZzogWjJPMUVNUk85SzVHTFgpXG4gICAqL1xuICBwdWJsaWMgZ2V0IGVic0VudkVuZHBvaW50SG9zdGVkWm9uZUlkKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIEZhY3QuZmluZCh0aGlzLm5hbWUsIEZhY3ROYW1lLkVCU19FTlZfRU5EUE9JTlRfSE9TVEVEX1pPTkVfSUQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBwcmVmaXggZm9yIFZQQyBFbmRwb2ludCBTZXJ2aWNlIG5hbWVzLFxuICAgKiBjbi5jb20uYW1hem9uYXdzLnZwY2UgZm9yIENoaW5hIHJlZ2lvbnMsXG4gICAqIGNvbS5hbWF6b25hd3MudnBjZSBvdGhlcndpc2UuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHZwY0VuZHBvaW50U2VydmljZU5hbWVQcmVmaXgoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gRmFjdC5maW5kKHRoaXMubmFtZSwgRmFjdE5hbWUuVlBDX0VORFBPSU5UX1NFUlZJQ0VfTkFNRV9QUkVGSVgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBzZXJ2aWNlIHByaW5jaXBhbCBmb3IgYSBnaXZlbiBzZXJ2aWNlIGluIHRoaXMgcmVnaW9uLlxuICAgKiBAcGFyYW0gc2VydmljZSB0aGUgc2VydmljZSBuYW1lIChlLmc6IHMzLmFtYXpvbmF3cy5jb20pXG4gICAqL1xuICBwdWJsaWMgc2VydmljZVByaW5jaXBhbChzZXJ2aWNlOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBGYWN0LmZpbmQodGhpcy5uYW1lLCBGYWN0TmFtZS5zZXJ2aWNlUHJpbmNpcGFsKHNlcnZpY2UpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYWNjb3VudCBJRCBmb3IgRUxCdjIgaW4gdGhpcyByZWdpb25cbiAgICovXG4gIHB1YmxpYyBnZXQgZWxidjJBY2NvdW50KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIEZhY3QuZmluZCh0aGlzLm5hbWUsIEZhY3ROYW1lLkVMQlYyX0FDQ09VTlQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGUgQVdTIGFjY291bnQgdGhhdCBvd25zIHRoZSBwdWJsaWMgRUNSIHJlcG9zaXRvcnkgY29udGFpbmluZyB0aGVcbiAgICogQVdTIERlZXAgTGVhcm5pbmcgQ29udGFpbmVycyBpbWFnZXMgaW4gdGhpcyByZWdpb24uXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRsY1JlcG9zaXRvcnlBY2NvdW50KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIEZhY3QuZmluZCh0aGlzLm5hbWUsIEZhY3ROYW1lLkRMQ19SRVBPU0lUT1JZX0FDQ09VTlQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIENsb3VkV2F0Y2ggTGFtYmRhIEluc2lnaHRzIGV4dGVuc2lvbiwgZm9yIHRoZSBnaXZlbiB2ZXJzaW9uLlxuICAgKiBAcGFyYW0gaW5zaWdodHNWZXJzaW9uIHRoZSB2ZXJzaW9uIChlLmcuIDEuMC45OC4wKVxuICAgKiBAcGFyYW0gYXJjaGl0ZWN0dXJlIHRoZSBMYW1iZGEgRnVuY3Rpb24gYXJjaGl0ZWN0dXJlIChlLmcuICd4ODZfNjQnIG9yICdhcm02NCcpXG4gICAqL1xuICBwdWJsaWMgY2xvdWR3YXRjaExhbWJkYUluc2lnaHRzQXJuKGluc2lnaHRzVmVyc2lvbjogc3RyaW5nLCBhcmNoaXRlY3R1cmU/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBGYWN0LmZpbmQodGhpcy5uYW1lLCBGYWN0TmFtZS5jbG91ZHdhdGNoTGFtYmRhSW5zaWdodHNWZXJzaW9uKGluc2lnaHRzVmVyc2lvbiwgYXJjaGl0ZWN0dXJlKSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgQXBwQ29uZmlnIExhbWJkYSBMYXllciwgZm9yIHRoZSBnaXZlbiB2ZXJzaW9uLlxuICAgKiBAcGFyYW0gbGF5ZXJWZXJzaW9uIFRoZSBsYXllciB2ZXJzaW9uIChlLmcuIDIuMC4xODEpXG4gICAqIEBwYXJhbSBhcmNoaXRlY3R1cmUgVGhlIExhbWJkYSBGdW5jdGlvbiBhcmNoaXRlY3R1cmUgKGUuZy4gJ3g4Nl82NCcgb3IgJ2FybTY0JyksIGRlZmF1bHRzIHRvIHg4Nl82NFxuICAgKi9cbiAgcHVibGljIGFwcENvbmZpZ0xhbWJkYUFybihsYXllclZlcnNpb246IHN0cmluZywgYXJjaGl0ZWN0dXJlPzogc3RyaW5nKSA6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIEZhY3QuZmluZCh0aGlzLm5hbWUsIEZhY3ROYW1lLmFwcENvbmZpZ0xhbWJkYUxheWVyVmVyc2lvbihsYXllclZlcnNpb24sIGFyY2hpdGVjdHVyZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGUgQVdTIGFjY291bnQgdGhhdCBvd25zIHRoZSBwdWJsaWMgRUNSIHJlcG9zaXRvcnkgdGhhdCBjb250YWlucyB0aGVcbiAgICogQVdTIEFwcCBNZXNoIEVudm95IFByb3h5IGltYWdlcyBpbiBhIGdpdmVuIHJlZ2lvbi5cbiAgICovXG4gIHB1YmxpYyBnZXQgYXBwTWVzaFJlcG9zaXRvcnlBY2NvdW50KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIEZhY3QuZmluZCh0aGlzLm5hbWUsIEZhY3ROYW1lLkFQUE1FU0hfRUNSX0FDQ09VTlQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBDSURSIGJsb2NrIHVzZWQgYnkgS2luZXNpcyBEYXRhIEZpcmVob3NlIHNlcnZlcnMuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGZpcmVob3NlQ2lkckJsb2NrKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIEZhY3QuZmluZCh0aGlzLm5hbWUsIEZhY3ROYW1lLkZJUkVIT1NFX0NJRFJfQkxPQ0spO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIEFET1QgTGFtYmRhIGxheWVyLCBmb3IgdGhlIGdpdmVuIGxheWVyIHR5cGUsIHZlcnNpb24gYW5kIGFyY2hpdGVjdHVyZS5cbiAgICpcbiAgICogQHBhcmFtIHR5cGUgdGhlIHR5cGUgb2YgdGhlIEFET1QgbGFtYmRhIGxheWVyXG4gICAqIEBwYXJhbSB2ZXJzaW9uIHRoZSBsYXllciB2ZXJzaW9uLlxuICAgKiBAcGFyYW0gYXJjaGl0ZWN0dXJlIHRoZSBMYW1iZGEgRnVuY3Rpb24gYXJjaGl0ZWN0dXJlIChlLmcuICd4ODZfNjQnIG9yICdhcm02NCcpXG4gICAqL1xuICBwdWJsaWMgYWRvdExhbWJkYUxheWVyQXJuKHR5cGU6IHN0cmluZywgdmVyc2lvbjogc3RyaW5nLCBhcmNoaXRlY3R1cmU6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIEZhY3QuZmluZCh0aGlzLm5hbWUsIEZhY3ROYW1lLmFkb3RMYW1iZGFMYXllcih0eXBlLCB2ZXJzaW9uLCBhcmNoaXRlY3R1cmUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBQYXJhbWV0ZXJzIGFuZCBTZWNyZXRzIExhbWJkYSBsYXllciBmb3IgdGhlIGdpdmVuIGxhbWJkYSBhcmNoaXRlY3R1cmUuXG4gICAqXG4gICAqIEBwYXJhbSB2ZXJzaW9uIHRoZSBsYXllciB2ZXJzaW9uXG4gICAqIEBwYXJhbSBhcmNoaXRlY3R1cmUgdGhlIExhbWJkYSBGdW5jdGlvbiBhcmNoaXRlY3R1cmUgKGUuZy4gJ3g4Nl82NCcgb3IgJ2FybTY0JylcbiAgICovXG4gIHB1YmxpYyBwYXJhbXNBbmRTZWNyZXRzTGFtYmRhTGF5ZXJBcm4odmVyc2lvbjogc3RyaW5nLCBhcmNoaXRlY3R1cmU6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIEZhY3QuZmluZCh0aGlzLm5hbWUsIEZhY3ROYW1lLnBhcmFtc0FuZFNlY3JldHNMYW1iZGFMYXllcih2ZXJzaW9uLCBhcmNoaXRlY3R1cmUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTQU1MIFNpZ24gT24gVVJMIHVzZWQgYnkgSUFNIFNBTUwgUHJpbmNpcGFscy5cbiAgICovXG4gIHB1YmxpYyBnZXQgc2FtbFNpZ25PblVybCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBGYWN0LmZpbmQodGhpcy5uYW1lLCBGYWN0TmFtZS5TQU1MX1NJR05fT05fVVJMKTtcbiAgfVxuXG59XG4iXX0=
RegionInfo[_a] = { fqn: "@aws-cdk/region-info.RegionInfo", version: "2.150.0" };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaW9uLWluZm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJyZWdpb24taW5mby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxpREFBc0Q7QUFDdEQsaUNBQXdDO0FBRXhDOztHQUVHO0FBQ0gsTUFBYSxVQUFVO0lBQ3JCOzs7T0FHRztJQUNJLE1BQU0sS0FBSyxPQUFPO1FBQ3ZCLE9BQU8sV0FBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQ3pDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBZ0I7UUFDdEMsTUFBTSxHQUFHLEdBQWlDLEVBQUUsQ0FBQztRQUM3QyxLQUFLLE1BQU0sVUFBVSxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM1QyxNQUFNLElBQUksR0FBRyxXQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDbEQsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDVCxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztZQUM5QixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0tBQ1o7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsUUFBZ0IsRUFBRSxVQUFvQjtRQUNuRSxNQUFNLEdBQUcsR0FBMkIsRUFBRSxDQUFDO1FBQ3ZDLEtBQUssTUFBTSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzdFLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFBLG1DQUFvQixFQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQ2hFLEdBQUcsQ0FB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O1FBQ2pDLE9BQU8sV0FBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLGVBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0tBQzNEO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGlCQUFpQjtRQUMxQixPQUFPLFdBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxlQUFRLENBQUMsbUJBQW1CLENBQUMsQ0FBQztLQUMzRDtJQUVEOzs7Ozs7T0FNRztJQUNJLGtCQUFrQixDQUFDLElBQVksRUFBRSxPQUFlLEVBQUUsWUFBb0I7UUFDM0UsT0FBTyxXQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsZUFBUSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7S0FDcEY7SUFFRDs7Ozs7T0FLRztJQUNJLDhCQUE4QixDQUFDLE9BQWUsRUFBRSxZQUFvQjtRQUN6RSxPQUFPLFdBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxlQUFRLENBQUMsMkJBQTJCLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7S0FDMUY7SUFFRDs7T0FFRztJQUNILElBQVcsYUFBYTtRQUN0QixPQUFPLFdBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxlQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztLQUN4RDs7QUF6TUgsZ0NBMk1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGFydGl0aW9uSW5mb3JtYXRpb24gfSBmcm9tICcuL2F3cy1lbnRpdGllcyc7XG5pbXBvcnQgeyBGYWN0LCBGYWN0TmFtZSB9IGZyb20gJy4vZmFjdCc7XG5cbi8qKlxuICogSW5mb3JtYXRpb24gcGVydGFpbmluZyB0byBhbiBBV1MgcmVnaW9uLlxuICovXG5leHBvcnQgY2xhc3MgUmVnaW9uSW5mbyB7XG4gIC8qKlxuICAgKiBAcmV0dXJucyB0aGUgbGlzdCBvZiBuYW1lcyBvZiBBV1MgcmVnaW9ucyBmb3Igd2hpY2ggdGhlcmUgaXMgYXQgbGVhc3Qgb25lIHJlZ2lzdGVyZWQgZmFjdC4gVGhpc1xuICAgKiAgICAgICAgICBtYXkgbm90IGJlIGFuIGV4YXVzdGl2ZSBsaXN0IG9mIGFsbCBhdmFpbGFibGUgQVdTIHJlZ2lvbnMuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldCByZWdpb25zKCk6IFJlZ2lvbkluZm9bXSB7XG4gICAgcmV0dXJuIEZhY3QucmVnaW9ucy5tYXAoUmVnaW9uSW5mby5nZXQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBhIGNvbGxlY3Rpb24gb2YgYWxsIGZhY3QgdmFsdWVzIGZvciBhbGwgcmVnaW9ucyB0aGF0IGZhY3QgaXMgZGVmaW5lZCBpbi5cbiAgICpcbiAgICogQHBhcmFtIGZhY3ROYW1lIHRoZSBuYW1lIG9mIHRoZSBmYWN0IHRvIHJldHJpZXZlIHZhbHVlcyBmb3IuXG4gICAqICAgRm9yIGEgbGlzdCBvZiBjb21tb24gZmFjdCBuYW1lcywgc2VlIHRoZSBGYWN0TmFtZSBjbGFzc1xuICAgKiBAcmV0dXJucyBhIG1hcHBpbmcgd2l0aCBBV1MgcmVnaW9uIGNvZGVzIGFzIHRoZSBrZXlzLFxuICAgKiAgIGFuZCB0aGUgZmFjdCBpbiB0aGUgZ2l2ZW4gcmVnaW9uIGFzIHRoZSB2YWx1ZSBmb3IgdGhhdCBrZXlcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVnaW9uTWFwKGZhY3ROYW1lOiBzdHJpbmcpOiB7IFtyZWdpb246IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICBjb25zdCByZXQ6IHsgW3JlZ2lvbjogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcbiAgICBmb3IgKGNvbnN0IHJlZ2lvbkluZm8gb2YgUmVnaW9uSW5mby5yZWdpb25zKSB7XG4gICAgICBjb25zdCBmYWN0ID0gRmFjdC5maW5kKHJlZ2lvbkluZm8ubmFtZSwgZmFjdE5hbWUpO1xuICAgICAgaWYgKGZhY3QpIHtcbiAgICAgICAgcmV0W3JlZ2lvbkluZm8ubmFtZV0gPSBmYWN0O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmV0O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBhIGNvbGxlY3Rpb24gb2YgYWxsIGZhY3QgdmFsdWVzIGZvciBhbGwgcmVnaW9ucywgbGltaXRlZCB0byBzb21lIHBhcnRpdGlvbnNcbiAgICpcbiAgICogQHBhcmFtIGZhY3ROYW1lIHRoZSBuYW1lIG9mIHRoZSBmYWN0IHRvIHJldHJpZXZlIHZhbHVlcyBmb3IuXG4gICAqICAgRm9yIGEgbGlzdCBvZiBjb21tb24gZmFjdCBuYW1lcywgc2VlIHRoZSBGYWN0TmFtZSBjbGFzc1xuICAgKiBAcGFyYW0gcGFydGl0aW9ucyBsaXN0IG9mIHBhcnRpdGlvbnMgdG8gcmV0cmlldmUgZmFjdHMgZm9yLiBEZWZhdWx0c1xuICAgKiAgIHRvIGBbJ2F3cycsICdhd3MtY24nXWAuXG4gICAqIEByZXR1cm5zIGEgbWFwcGluZyB3aXRoIEFXUyByZWdpb24gY29kZXMgYXMgdGhlIGtleXMsXG4gICAqICAgYW5kIHRoZSBmYWN0IGluIHRoZSBnaXZlbiByZWdpb24gYXMgdGhlIHZhbHVlIGZvciB0aGF0IGtleVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBsaW1pdGVkUmVnaW9uTWFwKGZhY3ROYW1lOiBzdHJpbmcsIHBhcnRpdGlvbnM6IHN0cmluZ1tdKTogeyBbcmVnaW9uOiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgY29uc3QgcmV0OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG4gICAgZm9yIChjb25zdCBbcmVnaW9uLCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoUmVnaW9uSW5mby5yZWdpb25NYXAoZmFjdE5hbWUpKSkge1xuICAgICAgaWYgKHBhcnRpdGlvbnMuaW5jbHVkZXMocGFydGl0aW9uSW5mb3JtYXRpb24ocmVnaW9uKS5wYXJ0aXRpb24pKSB7XG4gICAgICAgIHJldFtyZWdpb25dID0gdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICAvKipcbiAgICogT2J0YWluIHJlZ2lvbiBpbmZvIGZvciBhIGdpdmVuIHJlZ2lvbiBuYW1lLlxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSB0aGUgbmFtZSBvZiB0aGUgcmVnaW9uIChlLmc6IHVzLWVhc3QtMSlcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0KG5hbWU6IHN0cmluZyk6IFJlZ2lvbkluZm8ge1xuICAgIHJldHVybiBuZXcgUmVnaW9uSW5mbyhuYW1lKTtcbiAgfVxuXG4gIHByaXZhdGUgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZykge31cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgYEFXUzo6Q0RLOjpNZXRhZGF0YWAgQ2xvdWRGb3JtYXRpb24gUmVzb3VyY2UgaXMgYXZhaWxhYmxlIGluIHRoaXMgcmVnaW9uIG9yIG5vdC5cbiAgICovXG4gIHB1YmxpYyBnZXQgY2RrTWV0YWRhdGFSZXNvdXJjZUF2YWlsYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gRmFjdC5maW5kKHRoaXMubmFtZSwgRmFjdE5hbWUuQ0RLX01FVEFEQVRBX1JFU09VUkNFX0FWQUlMQUJMRSkgPT09ICdZRVMnO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGdpdmVuIHJlZ2lvbiBpcyBhbiBvcHQtaW4gcmVnaW9uXG4gICAqL1xuICBwdWJsaWMgZ2V0IGlzT3B0SW5SZWdpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIEZhY3QuZmluZCh0aGlzLm5hbWUsIEZhY3ROYW1lLklTX09QVF9JTl9SRUdJT04pID09PSAnWUVTJztcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgZG9tYWluIG5hbWUgc3VmZml4IChlLmc6IGFtYXpvbmF3cy5jb20pIGZvciB0aGlzIHJlZ2lvbi5cbiAgICovXG4gIHB1YmxpYyBnZXQgZG9tYWluU3VmZml4KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIEZhY3QuZmluZCh0aGlzLm5hbWUsIEZhY3ROYW1lLkRPTUFJTl9TVUZGSVgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBBUk4gcGFydGl0aW9uIGZvciB0aGlzIHJlZ2lvbiAoZS5nOiBhd3MpLlxuICAgKi9cbiAgcHVibGljIGdldCBwYXJ0aXRpb24oKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gRmFjdC5maW5kKHRoaXMubmFtZSwgRmFjdE5hbWUuUEFSVElUSU9OKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgZW5kcG9pbnQgdXNlZCBieSBTMyBzdGF0aWMgd2Vic2l0ZSBob3N0aW5nIGluIHRoaXMgcmVnaW9uIChlLmc6IHMzLXN0YXRpYy13ZWJzaXRlLXVzLWVhc3QtMS5hbWF6b25hd3MuY29tKVxuICAgKi9cbiAgcHVibGljIGdldCBzM1N0YXRpY1dlYnNpdGVFbmRwb2ludCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBGYWN0LmZpbmQodGhpcy5uYW1lLCBGYWN0TmFtZS5TM19TVEFUSUNfV0VCU0lURV9FTkRQT0lOVCk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGhvc3RlZCB6b25lIElEIHVzZWQgYnkgUm91dGUgNTMgdG8gYWxpYXMgYSBTMyBzdGF0aWMgd2Vic2l0ZSBpbiB0aGlzIHJlZ2lvbiAoZS5nOiBaMk8xRU1STzlLNUdMWClcbiAgICovXG4gIHB1YmxpYyBnZXQgczNTdGF0aWNXZWJzaXRlSG9zdGVkWm9uZUlkKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIEZhY3QuZmluZCh0aGlzLm5hbWUsIEZhY3ROYW1lLlMzX1NUQVRJQ19XRUJTSVRFX1pPTkVfNTNfSE9TVEVEX1pPTkVfSUQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBob3N0ZWQgem9uZSBJRCB1c2VkIGJ5IFJvdXRlIDUzIHRvIGFsaWFzIGEgRUJTIGVudmlyb25tZW50IGVuZHBvaW50IGluIHRoaXMgcmVnaW9uIChlLmc6IFoyTzFFTVJPOUs1R0xYKVxuICAgKi9cbiAgcHVibGljIGdldCBlYnNFbnZFbmRwb2ludEhvc3RlZFpvbmVJZCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBGYWN0LmZpbmQodGhpcy5uYW1lLCBGYWN0TmFtZS5FQlNfRU5WX0VORFBPSU5UX0hPU1RFRF9aT05FX0lEKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgcHJlZml4IGZvciBWUEMgRW5kcG9pbnQgU2VydmljZSBuYW1lcyxcbiAgICogY24uY29tLmFtYXpvbmF3cy52cGNlIGZvciBDaGluYSByZWdpb25zLFxuICAgKiBjb20uYW1hem9uYXdzLnZwY2Ugb3RoZXJ3aXNlLlxuICAgKi9cbiAgcHVibGljIGdldCB2cGNFbmRwb2ludFNlcnZpY2VOYW1lUHJlZml4KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIEZhY3QuZmluZCh0aGlzLm5hbWUsIEZhY3ROYW1lLlZQQ19FTkRQT0lOVF9TRVJWSUNFX05BTUVfUFJFRklYKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgc2VydmljZSBwcmluY2lwYWwgZm9yIGEgZ2l2ZW4gc2VydmljZSBpbiB0aGlzIHJlZ2lvbi5cbiAgICogQHBhcmFtIHNlcnZpY2UgdGhlIHNlcnZpY2UgbmFtZSAoZS5nOiBzMy5hbWF6b25hd3MuY29tKVxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCAtIFVzZSBgaWFtLlNlcnZpY2VQcmluY2lwYWwuc2VydmljZVByaW5jaXBhbE5hbWUoKWAgaW5zdGVhZC5cbiAgICovXG4gIHB1YmxpYyBzZXJ2aWNlUHJpbmNpcGFsKHNlcnZpY2U6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGAke3NlcnZpY2UucmVwbGFjZSgvXFwuYW1hem9uYXdzXFwuY29tKFxcLmNuKT8kLywgJycpfS5hbWF6b25hd3MuY29tYDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYWNjb3VudCBJRCBmb3IgRUxCdjIgaW4gdGhpcyByZWdpb25cbiAgICovXG4gIHB1YmxpYyBnZXQgZWxidjJBY2NvdW50KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIEZhY3QuZmluZCh0aGlzLm5hbWUsIEZhY3ROYW1lLkVMQlYyX0FDQ09VTlQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGUgQVdTIGFjY291bnQgdGhhdCBvd25zIHRoZSBwdWJsaWMgRUNSIHJlcG9zaXRvcnkgY29udGFpbmluZyB0aGVcbiAgICogQVdTIERlZXAgTGVhcm5pbmcgQ29udGFpbmVycyBpbWFnZXMgaW4gdGhpcyByZWdpb24uXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRsY1JlcG9zaXRvcnlBY2NvdW50KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIEZhY3QuZmluZCh0aGlzLm5hbWUsIEZhY3ROYW1lLkRMQ19SRVBPU0lUT1JZX0FDQ09VTlQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIENsb3VkV2F0Y2ggTGFtYmRhIEluc2lnaHRzIGV4dGVuc2lvbiwgZm9yIHRoZSBnaXZlbiB2ZXJzaW9uLlxuICAgKiBAcGFyYW0gaW5zaWdodHNWZXJzaW9uIHRoZSB2ZXJzaW9uIChlLmcuIDEuMC45OC4wKVxuICAgKiBAcGFyYW0gYXJjaGl0ZWN0dXJlIHRoZSBMYW1iZGEgRnVuY3Rpb24gYXJjaGl0ZWN0dXJlIChlLmcuICd4ODZfNjQnIG9yICdhcm02NCcpXG4gICAqL1xuICBwdWJsaWMgY2xvdWR3YXRjaExhbWJkYUluc2lnaHRzQXJuKGluc2lnaHRzVmVyc2lvbjogc3RyaW5nLCBhcmNoaXRlY3R1cmU/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBGYWN0LmZpbmQodGhpcy5uYW1lLCBGYWN0TmFtZS5jbG91ZHdhdGNoTGFtYmRhSW5zaWdodHNWZXJzaW9uKGluc2lnaHRzVmVyc2lvbiwgYXJjaGl0ZWN0dXJlKSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgQXBwQ29uZmlnIExhbWJkYSBMYXllciwgZm9yIHRoZSBnaXZlbiB2ZXJzaW9uLlxuICAgKiBAcGFyYW0gbGF5ZXJWZXJzaW9uIFRoZSBsYXllciB2ZXJzaW9uIChlLmcuIDIuMC4xODEpXG4gICAqIEBwYXJhbSBhcmNoaXRlY3R1cmUgVGhlIExhbWJkYSBGdW5jdGlvbiBhcmNoaXRlY3R1cmUgKGUuZy4gJ3g4Nl82NCcgb3IgJ2FybTY0JyksIGRlZmF1bHRzIHRvIHg4Nl82NFxuICAgKi9cbiAgcHVibGljIGFwcENvbmZpZ0xhbWJkYUFybihsYXllclZlcnNpb246IHN0cmluZywgYXJjaGl0ZWN0dXJlPzogc3RyaW5nKSA6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIEZhY3QuZmluZCh0aGlzLm5hbWUsIEZhY3ROYW1lLmFwcENvbmZpZ0xhbWJkYUxheWVyVmVyc2lvbihsYXllclZlcnNpb24sIGFyY2hpdGVjdHVyZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGUgQVdTIGFjY291bnQgdGhhdCBvd25zIHRoZSBwdWJsaWMgRUNSIHJlcG9zaXRvcnkgdGhhdCBjb250YWlucyB0aGVcbiAgICogQVdTIEFwcCBNZXNoIEVudm95IFByb3h5IGltYWdlcyBpbiBhIGdpdmVuIHJlZ2lvbi5cbiAgICovXG4gIHB1YmxpYyBnZXQgYXBwTWVzaFJlcG9zaXRvcnlBY2NvdW50KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIEZhY3QuZmluZCh0aGlzLm5hbWUsIEZhY3ROYW1lLkFQUE1FU0hfRUNSX0FDQ09VTlQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBDSURSIGJsb2NrIHVzZWQgYnkgS2luZXNpcyBEYXRhIEZpcmVob3NlIHNlcnZlcnMuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGZpcmVob3NlQ2lkckJsb2NrKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIEZhY3QuZmluZCh0aGlzLm5hbWUsIEZhY3ROYW1lLkZJUkVIT1NFX0NJRFJfQkxPQ0spO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIEFET1QgTGFtYmRhIGxheWVyLCBmb3IgdGhlIGdpdmVuIGxheWVyIHR5cGUsIHZlcnNpb24gYW5kIGFyY2hpdGVjdHVyZS5cbiAgICpcbiAgICogQHBhcmFtIHR5cGUgdGhlIHR5cGUgb2YgdGhlIEFET1QgbGFtYmRhIGxheWVyXG4gICAqIEBwYXJhbSB2ZXJzaW9uIHRoZSBsYXllciB2ZXJzaW9uLlxuICAgKiBAcGFyYW0gYXJjaGl0ZWN0dXJlIHRoZSBMYW1iZGEgRnVuY3Rpb24gYXJjaGl0ZWN0dXJlIChlLmcuICd4ODZfNjQnIG9yICdhcm02NCcpXG4gICAqL1xuICBwdWJsaWMgYWRvdExhbWJkYUxheWVyQXJuKHR5cGU6IHN0cmluZywgdmVyc2lvbjogc3RyaW5nLCBhcmNoaXRlY3R1cmU6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIEZhY3QuZmluZCh0aGlzLm5hbWUsIEZhY3ROYW1lLmFkb3RMYW1iZGFMYXllcih0eXBlLCB2ZXJzaW9uLCBhcmNoaXRlY3R1cmUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBQYXJhbWV0ZXJzIGFuZCBTZWNyZXRzIExhbWJkYSBsYXllciBmb3IgdGhlIGdpdmVuIGxhbWJkYSBhcmNoaXRlY3R1cmUuXG4gICAqXG4gICAqIEBwYXJhbSB2ZXJzaW9uIHRoZSBsYXllciB2ZXJzaW9uXG4gICAqIEBwYXJhbSBhcmNoaXRlY3R1cmUgdGhlIExhbWJkYSBGdW5jdGlvbiBhcmNoaXRlY3R1cmUgKGUuZy4gJ3g4Nl82NCcgb3IgJ2FybTY0JylcbiAgICovXG4gIHB1YmxpYyBwYXJhbXNBbmRTZWNyZXRzTGFtYmRhTGF5ZXJBcm4odmVyc2lvbjogc3RyaW5nLCBhcmNoaXRlY3R1cmU6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIEZhY3QuZmluZCh0aGlzLm5hbWUsIEZhY3ROYW1lLnBhcmFtc0FuZFNlY3JldHNMYW1iZGFMYXllcih2ZXJzaW9uLCBhcmNoaXRlY3R1cmUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTQU1MIFNpZ24gT24gVVJMIHVzZWQgYnkgSUFNIFNBTUwgUHJpbmNpcGFscy5cbiAgICovXG4gIHB1YmxpYyBnZXQgc2FtbFNpZ25PblVybCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBGYWN0LmZpbmQodGhpcy5uYW1lLCBGYWN0TmFtZS5TQU1MX1NJR05fT05fVVJMKTtcbiAgfVxuXG59XG4iXX0=
{
"name": "@aws-cdk/region-info",
"version": "2.149.0",
"version": "2.150.0",
"description": "AWS region information, such as service principal names",

@@ -83,5 +83,5 @@ "main": "lib/index.js",

"devDependencies": {
"@aws-cdk/cdk-build-tools": "2.149.0-alpha.0",
"@aws-cdk/pkglint": "2.149.0-alpha.0",
"aws-cdk-lib": "2.149.0",
"@aws-cdk/cdk-build-tools": "2.150.0-alpha.0",
"@aws-cdk/pkglint": "2.150.0-alpha.0",
"aws-cdk-lib": "2.150.0",
"@types/fs-extra": "^9.0.13",

@@ -88,0 +88,0 @@ "@types/jest": "^29.5.12",

# AWS Region-Specific Information Directory
## Usage

@@ -22,3 +21,2 @@

region.s3StaticWebsiteEndpoint; // s3-website-eu-west-1.amazonaws.com
region.servicePrincipal('logs.amazonaws.com'); // logs.eu-west-1.amazonaws.com
```

@@ -38,6 +36,6 @@

```ts
const codeDeployPrincipal = regionInfo.Fact.find('us-east-1', regionInfo.FactName.servicePrincipal('codedeploy.amazonaws.com'));
// => codedeploy.us-east-1.amazonaws.com
const staticWebsite = regionInfo.Fact.find('ap-northeast-1', regionInfo.FactName.S3_STATIC_WEBSITE_ENDPOINT);
const staticWebsite = regionInfo.Fact.find(
'ap-northeast-1',
regionInfo.FactName.S3_STATIC_WEBSITE_ENDPOINT
);
// => s3-website-ap-northeast-1.amazonaws.com

@@ -55,3 +53,3 @@ ```

public readonly region = 'bermuda-triangle-1';
public readonly name = regionInfo.FactName.servicePrincipal('s3.amazonaws.com');
public readonly name = regionInfo.FactName.S3_STATIC_WEBSITE_ENDPOINT;
public readonly value = 's3-website.bermuda-triangle-1.nowhere.com';

@@ -72,4 +70,4 @@ }

public readonly region = 'us-east-1';
public readonly name = regionInfo.FactName.servicePrincipal('service.amazonaws.com');
public readonly value = 'the-correct-principal.amazonaws.com';
public readonly name = regionInfo.FactName.S3_STATIC_WEBSITE_ENDPOINT;
public readonly value = 'the-correct-endpoint.amazonaws.com';
}

@@ -76,0 +74,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc