@pipeline-builder/pipeline-manager 3.4.179 → 3.4.180
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -36,8 +36,8 @@ export function setupEvents(program) {
|
|
|
36
36
|
.command('setup-events')
|
|
37
37
|
.description('Deploy EventBridge event ingestion infrastructure for pipeline reporting')
|
|
38
38
|
.option('--package-version <version>', 'pipeline-events package version (default: latest)')
|
|
39
|
-
.option('-
|
|
40
|
-
.option('-p, --password <password>', 'Login password (used with --
|
|
39
|
+
.option('-u, --identifier <identifier>', 'Username or email to mint a token when PLATFORM_TOKEN is unset (for deriving the secret name)')
|
|
40
|
+
.option('-p, --password <password>', 'Login password (used with --identifier)')))
|
|
41
41
|
.option('--scoped-ingest', 'Point the ingestion Lambda at the dedicated least-privilege reporting-ingest secret (provision it first: `store-token --scope reporting:ingest --schedule`). The reporting service always requires the `reporting:ingest` scope on POST /reports/events.')
|
|
42
42
|
.action(async (options) => {
|
|
43
43
|
const executionId = printCommandHeader('Setup Event Ingestion');
|
|
@@ -161,4 +161,4 @@ export function setupEvents(program) {
|
|
|
161
161
|
}
|
|
162
162
|
});
|
|
163
163
|
}
|
|
164
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAtZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL3NldHVwLWV2ZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUN6QixPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0YsT0FBTyxFQUFFLFlBQVksRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV4RSwwREFBMEQ7QUFDMUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUUvRCxN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LENBQUMsQ0FBQztZQUVILE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDaEIsWUFBWSxDQUFDLHdDQUF3QyxDQUFDLENBQUM7UUFFekQsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixXQUFXLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxXQUFXLEVBQUU7Z0JBQzFDLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSztnQkFDM0IsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRTthQUNyRSxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IGV4ZWNGaWxlU3luYyB9IGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCB9IGZyb20gJ25vZGU6dXJsJztcbmltcG9ydCAqIGFzIG9zIGZyb20gJ29zJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgQ2xvdWRGb3JtYXRpb25DbGllbnQsIERlc2NyaWJlU3RhY2tzQ29tbWFuZCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1jbG91ZGZvcm1hdGlvbic7XG5pbXBvcnQgeyBMYW1iZGFDbGllbnQsIFVwZGF0ZUZ1bmN0aW9uQ29kZUNvbW1hbmQgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtbGFtYmRhJztcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICdjb21tYW5kZXInO1xuaW1wb3J0IHsgYXBwbHlBd3NQcm9maWxlLCByZXNvbHZlQXdzUmVnaW9uIH0gZnJvbSAnLi4vdXRpbHMvYXdzLWVudi5qcyc7XG5pbXBvcnQgeyBwcmludENvbW1hbmRIZWFkZXIsIHdpdGhQcm9maWxlT3B0aW9uLCB3aXRoUmVnaW9uT3B0aW9uIH0gZnJvbSAnLi4vdXRpbHMvY29tbWFuZC11dGlscy5qcyc7XG5pbXBvcnQgeyBFUlJPUl9DT0RFUywgaGFuZGxlRXJyb3IgfSBmcm9tICcuLi91dGlscy9lcnJvci1oYW5kbGVyLmpzJztcbmltcG9ydCB7IHByaW50RXJyb3IsIHByaW50SW5mbywgcHJpbnRLZXlWYWx1ZSwgcHJpbnRTZWN0aW9uLCBwcmludFN1Y2Nlc3MgfSBmcm9tICcuLi91dGlscy9vdXRwdXQtdXRpbHMuanMnO1xuaW1wb3J0IHsgcmVzb2x2ZVBsYXRmb3JtU2VjcmV0TmFtZSB9IGZyb20gJy4uL3V0aWxzL3BsYXRmb3JtLXNlY3JldC5qcyc7XG5cbi8vIEVTTSBoYXMgbm8gX19kaXJuYW1lOyBkZXJpdmUgaXQgZnJvbSB0aGlzIG1vZHVsZSdzIFVSTC5cbmNvbnN0IF9fZGlybmFtZSA9IHBhdGguZGlybmFtZShmaWxlVVJMVG9QYXRoKGltcG9ydC5tZXRhLnVybCkpO1xuXG5jb25zdCBTVEFDS19OQU1FID0gJ3BpcGVsaW5lLWJ1aWxkZXItZXZlbnRzJztcbi8vIEV4aXN0aW5nIENGTi1tYW5hZ2VkIExhbWJkYSBmdW5jdGlvbiBuYW1lIOKAlCBkbyBOT1QgcmVuYW1lIHdpdGhvdXQgYSBtaWdyYXRpb24gcGxhblxuY29uc3QgTEFNQkRBX05BTUUgPSAncGlwZWxpbmUtYnVpbGRlci1ldmVudC1pbmdlc3Rpb24nO1xuY29uc3QgUEFDS0FHRV9OQU1FID0gJ0BwaXBlbGluZS1idWlsZGVyL3BpcGVsaW5lLWV2ZW50cyc7XG5cbi8qKlxuICogUmVnaXN0ZXJzIHRoZSBgc2V0dXAtZXZlbnRzYCBjb21tYW5kIHdpdGggdGhlIENMSSBwcm9ncmFtLlxuICpcbiAqIERlcGxveXMgRXZlbnRCcmlkZ2Ug4oaSIFNRUyDihpIgTGFtYmRhIGluZnJhc3RydWN0dXJlIGZvciBwaXBlbGluZSByZXBvcnRpbmcuXG4gKlxuICogMS4gRGVwbG95cyBDbG91ZEZvcm1hdGlvbiBzdGFjayAocnVsZSArIHF1ZXVlICsgTGFtYmRhIHNoZWxsICsgSUFNKVxuICogMi4gRG93bmxvYWRzIEBwaXBlbGluZS1idWlsZGVyL3BpcGVsaW5lLWV2ZW50cyBmcm9tIG5wbSByZWdpc3RyeVxuICogMy4gVXBsb2FkcyBoYW5kbGVyIGNvZGUgZGlyZWN0bHkgdG8gTGFtYmRhIChubyBTMyBuZWVkZWQpXG4gKlxuICogVXNlcyBQTEFURk9STV9CQVNFX1VSTCBmcm9tIGVudmlyb25tZW50IChzYW1lIGFzIGFsbCBvdGhlciBjb21tYW5kcykuXG4gKiBJZGVtcG90ZW50IOKAlCBydW5uaW5nIGFnYWluIHVwZGF0ZXMgdGhlIHN0YWNrIGFuZCBjb2RlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0dXBFdmVudHMocHJvZ3JhbTogQ29tbWFuZCk6IHZvaWQge1xuICB3aXRoUHJvZmlsZU9wdGlvbihcbiAgICB3aXRoUmVnaW9uT3B0aW9uKHByb2dyYW1cbiAgICAgIC5jb21tYW5kKCdzZXR1cC1ldmVudHMnKVxuICAgICAgLmRlc2NyaXB0aW9uKCdEZXBsb3kgRXZlbnRCcmlkZ2UgZXZlbnQgaW5nZXN0aW9uIGluZnJhc3RydWN0dXJlIGZvciBwaXBlbGluZSByZXBvcnRpbmcnKVxuICAgICAgLm9wdGlvbignLS1wYWNrYWdlLXZlcnNpb24gPHZlcnNpb24+JywgJ3BpcGVsaW5lLWV2ZW50cyBwYWNrYWdlIHZlcnNpb24gKGRlZmF1bHQ6IGxhdGVzdCknKVxuICAgICAgLm9wdGlvbignLWUsIC0tZW1haWwgPGVtYWlsPicsICdMb2dpbiBlbWFpbCB0byBtaW50IGEgdG9rZW4gd2hlbiBQTEFURk9STV9UT0tFTiBpcyB1bnNldCAoZm9yIGRlcml2aW5nIHRoZSBzZWNyZXQgbmFtZSknKVxuICAgICAgLm9wdGlvbignLXAsIC0tcGFzc3dvcmQgPHBhc3N3b3JkPicsICdMb2dpbiBwYXNzd29yZCAodXNlZCB3aXRoIC0tZW1haWwpJykpLFxuICApXG4gICAgLm9wdGlvbignLS1zY29wZWQtaW5nZXN0JywgJ1BvaW50IHRoZSBpbmdlc3Rpb24gTGFtYmRhIGF0IHRoZSBkZWRpY2F0ZWQgbGVhc3QtcHJpdmlsZWdlIHJlcG9ydGluZy1pbmdlc3Qgc2VjcmV0IChwcm92aXNpb24gaXQgZmlyc3Q6IGBzdG9yZS10b2tlbiAtLXNjb3BlIHJlcG9ydGluZzppbmdlc3QgLS1zY2hlZHVsZWApLiBUaGUgcmVwb3J0aW5nIHNlcnZpY2UgYWx3YXlzIHJlcXVpcmVzIHRoZSBgcmVwb3J0aW5nOmluZ2VzdGAgc2NvcGUgb24gUE9TVCAvcmVwb3J0cy9ldmVudHMuJylcbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICBjb25zdCBleGVjdXRpb25JZCA9IHByaW50Q29tbWFuZEhlYWRlcignU2V0dXAgRXZlbnQgSW5nZXN0aW9uJyk7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlZ2lvbiA9IHJlc29sdmVBd3NSZWdpb24ob3B0aW9ucy5yZWdpb24pO1xuICAgICAgICAvLyBIb25vciAtLXByb2ZpbGUgZm9yIHRoZSBTREsgTGFtYmRhL0Nsb3VkRm9ybWF0aW9uIGNsaWVudHMgYmVsb3cuIFRoZVxuICAgICAgICAvLyBgY2xvdWRmb3JtYXRpb24gZGVwbG95YCBDTEkgY2FsbCBhbHJlYWR5IGdldHMgLS1wcm9maWxlOyB3aXRob3V0IHRoaXMgdGhlXG4gICAgICAgIC8vIFNESyBjbGllbnRzIGhpdCB0aGUgREVGQVVMVCBhY2NvdW50IOKGkiBkZXBsb3kgYW5kIGNvZGUtdXBkYXRlL291dHB1dHNcbiAgICAgICAgLy8gdGFyZ2V0IGRpZmZlcmVudCBhY2NvdW50cyAoc2lsZW50IHNwbGl0LWJyYWluKS5cbiAgICAgICAgYXBwbHlBd3NQcm9maWxlKG9wdGlvbnMucHJvZmlsZSk7XG5cbiAgICAgICAgY29uc3QgcGxhdGZvcm1VcmwgPSBwcm9jZXNzLmVudi5QTEFURk9STV9CQVNFX1VSTDtcbiAgICAgICAgaWYgKCFwbGF0Zm9ybVVybCkge1xuICAgICAgICAgIHByaW50RXJyb3IoJ1BMQVRGT1JNX0JBU0VfVVJMIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIHJlcXVpcmVkJyk7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdQTEFURk9STV9CQVNFX1VSTCBub3Qgc2V0Jyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEZXJpdmUgdGhlIHNlY3JldCBwYXRoIGZyb20gdGhlIHBsYXRmb3JtIHRva2VuICh0aGUgb25lIGluaXQtcGxhdGZvcm0uc2hcbiAgICAgICAgLy8gbWludGVkKSB3aGVuIFBMQVRGT1JNX1NFQ1JFVF9OQU1FIGlzbid0IHNldCDigJQgbWF0Y2hpbmcgc3RvcmUtdG9rZW4sIHdoaWNoXG4gICAgICAgIC8vIFdST1RFIHRoZSBzZWNyZXQgYXQgdGhlIHNhbWUgZGVyaXZlZCBwYXRoLiBMb2dzIGluIHdpdGhcbiAgICAgICAgLy8gLS1lbWFpbC8tLXBhc3N3b3JkIG9yIFBMQVRGT1JNX0lERU5USUZJRVIvUExBVEZPUk1fUEFTU1dPUkQgaWYgbm8gdG9rZW4geWV0LlxuICAgICAgICAvLyBXaXRoIC0tc2NvcGVkLWluZ2VzdCwgcG9pbnQgYXQgdGhlIGRlZGljYXRlZCByZXBvcnRpbmctaW5nZXN0IHNlY3JldFxuICAgICAgICAvLyAoYSBsZWFzdC1wcml2aWxlZ2UgbWFjaGluZSBjcmVkZW50aWFsKSBpbnN0ZWFkIG9mIHRoZSBzaGFyZWQgcGxhdGZvcm1cbiAgICAgICAgLy8gdG9rZW4g4oCUIHByb3Zpc2lvbiBpdCB3aXRoIGBzdG9yZS10b2tlbiAtLXNjb3BlIHJlcG9ydGluZzppbmdlc3RgLlxuICAgICAgICBsZXQgc2VjcmV0TmFtZSA9IGF3YWl0IHJlc29sdmVQbGF0Zm9ybVNlY3JldE5hbWUob3B0aW9ucyk7XG4gICAgICAgIGlmIChvcHRpb25zLnNjb3BlZEluZ2VzdCkge1xuICAgICAgICAgIHNlY3JldE5hbWUgPSBzZWNyZXROYW1lLnJlcGxhY2UoL1xcL3BsYXRmb3JtJC8sICcvcmVwb3J0aW5nLWluZ2VzdCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpbnRJbmZvKCdQYXJhbWV0ZXJzJywge1xuICAgICAgICAgIHN0YWNrOiBTVEFDS19OQU1FLFxuICAgICAgICAgIHJlZ2lvbixcbiAgICAgICAgICBwbGF0Zm9ybVVybCxcbiAgICAgICAgICBzZWNyZXROYW1lLFxuICAgICAgICAgIHBhY2thZ2VWZXJzaW9uOiBvcHRpb25zLnBhY2thZ2VWZXJzaW9uIHx8ICdsYXRlc3QnLFxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBTdGVwIDE6IERlcGxveSBDbG91ZEZvcm1hdGlvbiAoaW5mcmEgb25seSDigJQgTGFtYmRhIGdldHMgcGxhY2Vob2xkZXIgY29kZSlcbiAgICAgICAgcHJpbnRTZWN0aW9uKCdEZXBsb3kgSW5mcmFzdHJ1Y3R1cmUnKTtcblxuICAgICAgICBjb25zdCB0ZW1wbGF0ZVBhdGggPSBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4vdGVtcGxhdGVzL2V2ZW50cy1zdGFjay5qc29uJyk7XG5cbiAgICAgICAgY29uc3QgY2ZuQXJncyA9IFtcbiAgICAgICAgICAnY2xvdWRmb3JtYXRpb24nLCAnZGVwbG95JyxcbiAgICAgICAgICAnLS1zdGFjay1uYW1lJywgU1RBQ0tfTkFNRSxcbiAgICAgICAgICAnLS10ZW1wbGF0ZS1maWxlJywgdGVtcGxhdGVQYXRoLFxuICAgICAgICAgICctLXBhcmFtZXRlci1vdmVycmlkZXMnLFxuICAgICAgICAgIGBQbGF0Zm9ybUJhc2VVcmw9JHtwbGF0Zm9ybVVybH1gLFxuICAgICAgICAgIGBQbGF0Zm9ybVNlY3JldE5hbWU9JHtzZWNyZXROYW1lfWAsXG4gICAgICAgICAgJy0tY2FwYWJpbGl0aWVzJywgJ0NBUEFCSUxJVFlfTkFNRURfSUFNJyxcbiAgICAgICAgICAnLS1uby1mYWlsLW9uLWVtcHR5LWNoYW5nZXNldCcsXG4gICAgICAgICAgJy0tcmVnaW9uJywgcmVnaW9uLFxuICAgICAgICBdO1xuICAgICAgICBpZiAob3B0aW9ucy5wcm9maWxlKSBjZm5BcmdzLnB1c2goJy0tcHJvZmlsZScsIG9wdGlvbnMucHJvZmlsZSk7XG5cbiAgICAgICAgZXhlY0ZpbGVTeW5jKCdhd3MnLCBjZm5BcmdzLCB7IHN0ZGlvOiAnaW5oZXJpdCcgfSk7XG5cbiAgICAgICAgcHJpbnRTdWNjZXNzKCdJbmZyYXN0cnVjdHVyZSBkZXBsb3llZCcpO1xuXG4gICAgICAgIC8vIFN0ZXAgMjogRG93bmxvYWQgaGFuZGxlciBmcm9tIHJlZ2lzdHJ5IGFuZCB1cGxvYWQgdG8gTGFtYmRhXG4gICAgICAgIHByaW50U2VjdGlvbignRGVwbG95IExhbWJkYSBDb2RlJyk7XG5cbiAgICAgICAgY29uc3QgdG1wRGlyID0gZnMubWtkdGVtcFN5bmMocGF0aC5qb2luKG9zLnRtcGRpcigpLCAnZXZlbnQtaW5nZXN0aW9uLScpKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHZlcnNpb25TcGVjID0gb3B0aW9ucy5wYWNrYWdlVmVyc2lvbiA/IGAke1BBQ0tBR0VfTkFNRX1AJHtvcHRpb25zLnBhY2thZ2VWZXJzaW9ufWAgOiBQQUNLQUdFX05BTUU7XG4gICAgICAgICAgcHJpbnRJbmZvKCdJbnN0YWxsaW5nIGZyb20gcmVnaXN0cnknLCB7IHBhY2thZ2U6IHZlcnNpb25TcGVjIH0pO1xuXG4gICAgICAgICAgLy8gSXNvbGF0ZSB0aGUgbnBtIGNhY2hlIGluc2lkZSB0aGUgdGVtcCBkaXIgc28gdGhlIGRlcGxveSBuZXZlciBkZXBlbmRzIG9uXG4gICAgICAgICAgLy8gKG9yIHRyaXBzIG92ZXIpIGEgbWlzY29uZmlndXJlZCBzaGFyZWQgfi8ubnBtIGNhY2hlIOKAlCBlLmcuIEVBQ0NFUy9FRVhJU1RcbiAgICAgICAgICAvLyBsZWZ0IGJlaGluZCBieSBhIHByaW9yIGBzdWRvIG5wbWAgcnVuLiBNaXJyb3JzIHRoZSB0b2tlbi1yZW5ldyBoYW5kbGVyLlxuICAgICAgICAgIGV4ZWNGaWxlU3luYygnbnBtJywgWydpbnN0YWxsJywgJy0tcHJlZml4JywgdG1wRGlyLCAnLS1uby1hdWRpdCcsICctLW5vLWZ1bmQnLCB2ZXJzaW9uU3BlY10sIHtcbiAgICAgICAgICAgIHN0ZGlvOiAncGlwZScsXG4gICAgICAgICAgICBlbnY6IHsgLi4ucHJvY2Vzcy5lbnYsIG5wbV9jb25maWdfY2FjaGU6IHBhdGguam9pbih0bXBEaXIsICcubnBtLWNhY2hlJykgfSxcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGNvbnN0IGhhbmRsZXJTcmMgPSBwYXRoLmpvaW4odG1wRGlyLCAnbm9kZV9tb2R1bGVzJywgUEFDS0FHRV9OQU1FLCAnbGliJywgJ2luZGV4LmpzJyk7XG4gICAgICAgICAgaWYgKCFmcy5leGlzdHNTeW5jKGhhbmRsZXJTcmMpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEhhbmRsZXIgbm90IGZvdW5kIGF0ICR7aGFuZGxlclNyY30uIEVuc3VyZSB0aGUgcGFja2FnZSBpcyBwdWJsaXNoZWQuYCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gR2V0IHZlcnNpb24gZnJvbSBpbnN0YWxsZWQgcGFja2FnZVxuICAgICAgICAgIGNvbnN0IHBrZ0pzb25QYXRoID0gcGF0aC5qb2luKHRtcERpciwgJ25vZGVfbW9kdWxlcycsIFBBQ0tBR0VfTkFNRSwgJ3BhY2thZ2UuanNvbicpO1xuICAgICAgICAgIGNvbnN0IHBrZ0pzb24gPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhwa2dKc29uUGF0aCwgJ3V0Zi04JykpO1xuICAgICAgICAgIGNvbnN0IHZlcnNpb24gPSBwa2dKc29uLnZlcnNpb24gfHwgJ3Vua25vd24nO1xuXG4gICAgICAgICAgLy8gcGlwZWxpbmUtZXZlbnRzIGlzIEVTTSAoXCJ0eXBlXCI6XCJtb2R1bGVcIiksIHNvIHRoZSBMYW1iZGEgZW50cnkgbXVzdCBiZVxuICAgICAgICAgIC8vIGluZGV4Lm1qcy4gQSBwbGFpbiBpbmRleC5qcyB3aXRoIG5vIHBhY2thZ2UuanNvbiBpbiB0aGUgemlwIGlzIGxvYWRlZCBhc1xuICAgICAgICAgIC8vIENvbW1vbkpTIGJ5IG5vZGVqczI0LnggYW5kIGZhaWxzIGF0IGluaXQgd2l0aCBcIkNhbm5vdCB1c2UgaW1wb3J0IHN0YXRlbWVudFxuICAgICAgICAgIC8vIG91dHNpZGUgYSBtb2R1bGVcIi4gVGhlIC5tanMgZXh0ZW5zaW9uIGZvcmNlcyBFU007IEhhbmRsZXIgc3RheXNcbiAgICAgICAgICAvLyBpbmRleC5oYW5kbGVyICh0aGUgcnVudGltZSByZXNvbHZlcyB0aGUgLm1qcyBmaWxlKS4gbGliL2luZGV4LmpzIGlzIGFcbiAgICAgICAgICAvLyBzZWxmLWNvbnRhaW5lZCBidW5kbGUgKG5vIHJlbGF0aXZlIGltcG9ydHMpLCBzbyB0aGUgc2luZ2xlIGZpbGUgc3VmZmljZXMuXG4gICAgICAgICAgY29uc3QgbWpzUGF0aCA9IHBhdGguam9pbih0bXBEaXIsICdpbmRleC5tanMnKTtcbiAgICAgICAgICBmcy5jb3B5RmlsZVN5bmMoaGFuZGxlclNyYywgbWpzUGF0aCk7XG4gICAgICAgICAgY29uc3QgemlwUGF0aCA9IHBhdGguam9pbih0bXBEaXIsICdpbmRleC56aXAnKTtcbiAgICAgICAgICBleGVjRmlsZVN5bmMoJ3ppcCcsIFsnLWonLCB6aXBQYXRoLCAnaW5kZXgubWpzJ10sIHsgY3dkOiB0bXBEaXIsIHN0ZGlvOiAncGlwZScgfSk7XG5cbiAgICAgICAgICAvLyBVcGxvYWQgZGlyZWN0bHkgdG8gTGFtYmRhIHZpYSBTREsgKG5vIFMzIG5lZWRlZClcbiAgICAgICAgICBwcmludEluZm8oJ1VwbG9hZGluZyBjb2RlIHRvIExhbWJkYScsIHsgZnVuY3Rpb246IExBTUJEQV9OQU1FLCB2ZXJzaW9uIH0pO1xuXG4gICAgICAgICAgY29uc3QgbGFtYmRhQ2xpZW50ID0gbmV3IExhbWJkYUNsaWVudCh7IHJlZ2lvbiB9KTtcbiAgICAgICAgICBhd2FpdCBsYW1iZGFDbGllbnQuc2VuZChuZXcgVXBkYXRlRnVuY3Rpb25Db2RlQ29tbWFuZCh7XG4gICAgICAgICAgICBGdW5jdGlvbk5hbWU6IExBTUJEQV9OQU1FLFxuICAgICAgICAgICAgWmlwRmlsZTogZnMucmVhZEZpbGVTeW5jKHppcFBhdGgpLFxuICAgICAgICAgIH0pKTtcblxuICAgICAgICAgIHByaW50U3VjY2VzcyhgTGFtYmRhIGNvZGUgZGVwbG95ZWQgKCR7UEFDS0FHRV9OQU1FfUAke3ZlcnNpb259KWApO1xuXG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgZnMucm1TeW5jKHRtcERpciwgeyByZWN1cnNpdmU6IHRydWUsIGZvcmNlOiB0cnVlIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3RlcCAzOiBTaG93IG91dHB1dHMgdmlhIFNES1xuICAgICAgICBjb25zdCBjZm5DbGllbnQgPSBuZXcgQ2xvdWRGb3JtYXRpb25DbGllbnQoeyByZWdpb24gfSk7XG4gICAgICAgIGNvbnN0IGRlc2NyaWJlUmVzdWx0ID0gYXdhaXQgY2ZuQ2xpZW50LnNlbmQobmV3IERlc2NyaWJlU3RhY2tzQ29tbWFuZCh7IFN0YWNrTmFtZTogU1RBQ0tfTkFNRSB9KSk7XG4gICAgICAgIGNvbnN0IG91dHB1dHMgPSBkZXNjcmliZVJlc3VsdC5TdGFja3M/LlswXT8uT3V0cHV0cyA/PyBbXTtcbiAgICAgICAgY29uc3Qgb3V0cHV0TWFwID0gT2JqZWN0LmZyb21FbnRyaWVzKG91dHB1dHMubWFwKG8gPT4gW28uT3V0cHV0S2V5ID8/ICcnLCBvLk91dHB1dFZhbHVlID8/ICcnXSkpO1xuXG4gICAgICAgIGNvbnNvbGUubG9nKCcnKTtcbiAgICAgICAgcHJpbnRTZWN0aW9uKCdFdmVudCBJbmdlc3Rpb24gUmVhZHknKTtcblxuICAgICAgICBwcmludEtleVZhbHVlKHtcbiAgICAgICAgICAnU3RhY2snOiBTVEFDS19OQU1FLFxuICAgICAgICAgICdSZWdpb24nOiByZWdpb24sXG4gICAgICAgICAgJ1BsYXRmb3JtIFVSTCc6IHBsYXRmb3JtVXJsLFxuICAgICAgICAgICdMYW1iZGEnOiBvdXRwdXRNYXAuTGFtYmRhRnVuY3Rpb25Bcm4gfHwgTEFNQkRBX05BTUUsXG4gICAgICAgICAgJ0V2ZW50IFF1ZXVlJzogb3V0cHV0TWFwLkV2ZW50UXVldWVVcmwgfHwgJyhzZWUgQVdTIGNvbnNvbGUpJyxcbiAgICAgICAgICAnRGVhZCBMZXR0ZXIgUXVldWUnOiBvdXRwdXRNYXAuRGVhZExldHRlclF1ZXVlVXJsIHx8ICcoc2VlIEFXUyBjb25zb2xlKScsXG4gICAgICAgICAgJ0V2ZW50QnJpZGdlIFJ1bGUnOiBvdXRwdXRNYXAuRXZlbnRSdWxlTmFtZSB8fCAnKHNlZSBBV1MgY29uc29sZSknLFxuICAgICAgICAgICdTdGF0dXMnOiAn4pyTIERlcGxveWVkJyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc29sZS5sb2coJycpO1xuICAgICAgICBwcmludFN1Y2Nlc3MoJ0V2ZW50QnJpZGdlIGV2ZW50IGluZ2VzdGlvbiBpcyBhY3RpdmUuJyk7XG5cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGhhbmRsZUVycm9yKGVycm9yLCBFUlJPUl9DT0RFUy5BUElfUkVRVUVTVCwge1xuICAgICAgICAgIGRlYnVnOiBwcm9ncmFtLm9wdHMoKS5kZWJ1ZyxcbiAgICAgICAgICBleGl0OiB0cnVlLFxuICAgICAgICAgIGNvbnRleHQ6IHsgY29tbWFuZDogJ3NldHVwLWV2ZW50cycsIGV4ZWN1dGlvbklkLCBzdGFjazogU1RBQ0tfTkFNRSB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbn1cbiJdfQ==
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAtZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL3NldHVwLWV2ZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUN6QixPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0YsT0FBTyxFQUFFLFlBQVksRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV4RSwwREFBMEQ7QUFDMUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUUvRCxN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LENBQUMsQ0FBQztZQUVILE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDaEIsWUFBWSxDQUFDLHdDQUF3QyxDQUFDLENBQUM7UUFFekQsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixXQUFXLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxXQUFXLEVBQUU7Z0JBQzFDLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSztnQkFDM0IsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRTthQUNyRSxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IGV4ZWNGaWxlU3luYyB9IGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCB9IGZyb20gJ25vZGU6dXJsJztcbmltcG9ydCAqIGFzIG9zIGZyb20gJ29zJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgQ2xvdWRGb3JtYXRpb25DbGllbnQsIERlc2NyaWJlU3RhY2tzQ29tbWFuZCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1jbG91ZGZvcm1hdGlvbic7XG5pbXBvcnQgeyBMYW1iZGFDbGllbnQsIFVwZGF0ZUZ1bmN0aW9uQ29kZUNvbW1hbmQgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtbGFtYmRhJztcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICdjb21tYW5kZXInO1xuaW1wb3J0IHsgYXBwbHlBd3NQcm9maWxlLCByZXNvbHZlQXdzUmVnaW9uIH0gZnJvbSAnLi4vdXRpbHMvYXdzLWVudi5qcyc7XG5pbXBvcnQgeyBwcmludENvbW1hbmRIZWFkZXIsIHdpdGhQcm9maWxlT3B0aW9uLCB3aXRoUmVnaW9uT3B0aW9uIH0gZnJvbSAnLi4vdXRpbHMvY29tbWFuZC11dGlscy5qcyc7XG5pbXBvcnQgeyBFUlJPUl9DT0RFUywgaGFuZGxlRXJyb3IgfSBmcm9tICcuLi91dGlscy9lcnJvci1oYW5kbGVyLmpzJztcbmltcG9ydCB7IHByaW50RXJyb3IsIHByaW50SW5mbywgcHJpbnRLZXlWYWx1ZSwgcHJpbnRTZWN0aW9uLCBwcmludFN1Y2Nlc3MgfSBmcm9tICcuLi91dGlscy9vdXRwdXQtdXRpbHMuanMnO1xuaW1wb3J0IHsgcmVzb2x2ZVBsYXRmb3JtU2VjcmV0TmFtZSB9IGZyb20gJy4uL3V0aWxzL3BsYXRmb3JtLXNlY3JldC5qcyc7XG5cbi8vIEVTTSBoYXMgbm8gX19kaXJuYW1lOyBkZXJpdmUgaXQgZnJvbSB0aGlzIG1vZHVsZSdzIFVSTC5cbmNvbnN0IF9fZGlybmFtZSA9IHBhdGguZGlybmFtZShmaWxlVVJMVG9QYXRoKGltcG9ydC5tZXRhLnVybCkpO1xuXG5jb25zdCBTVEFDS19OQU1FID0gJ3BpcGVsaW5lLWJ1aWxkZXItZXZlbnRzJztcbi8vIEV4aXN0aW5nIENGTi1tYW5hZ2VkIExhbWJkYSBmdW5jdGlvbiBuYW1lIOKAlCBkbyBOT1QgcmVuYW1lIHdpdGhvdXQgYSBtaWdyYXRpb24gcGxhblxuY29uc3QgTEFNQkRBX05BTUUgPSAncGlwZWxpbmUtYnVpbGRlci1ldmVudC1pbmdlc3Rpb24nO1xuY29uc3QgUEFDS0FHRV9OQU1FID0gJ0BwaXBlbGluZS1idWlsZGVyL3BpcGVsaW5lLWV2ZW50cyc7XG5cbi8qKlxuICogUmVnaXN0ZXJzIHRoZSBgc2V0dXAtZXZlbnRzYCBjb21tYW5kIHdpdGggdGhlIENMSSBwcm9ncmFtLlxuICpcbiAqIERlcGxveXMgRXZlbnRCcmlkZ2Ug4oaSIFNRUyDihpIgTGFtYmRhIGluZnJhc3RydWN0dXJlIGZvciBwaXBlbGluZSByZXBvcnRpbmcuXG4gKlxuICogMS4gRGVwbG95cyBDbG91ZEZvcm1hdGlvbiBzdGFjayAocnVsZSArIHF1ZXVlICsgTGFtYmRhIHNoZWxsICsgSUFNKVxuICogMi4gRG93bmxvYWRzIEBwaXBlbGluZS1idWlsZGVyL3BpcGVsaW5lLWV2ZW50cyBmcm9tIG5wbSByZWdpc3RyeVxuICogMy4gVXBsb2FkcyBoYW5kbGVyIGNvZGUgZGlyZWN0bHkgdG8gTGFtYmRhIChubyBTMyBuZWVkZWQpXG4gKlxuICogVXNlcyBQTEFURk9STV9CQVNFX1VSTCBmcm9tIGVudmlyb25tZW50IChzYW1lIGFzIGFsbCBvdGhlciBjb21tYW5kcykuXG4gKiBJZGVtcG90ZW50IOKAlCBydW5uaW5nIGFnYWluIHVwZGF0ZXMgdGhlIHN0YWNrIGFuZCBjb2RlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0dXBFdmVudHMocHJvZ3JhbTogQ29tbWFuZCk6IHZvaWQge1xuICB3aXRoUHJvZmlsZU9wdGlvbihcbiAgICB3aXRoUmVnaW9uT3B0aW9uKHByb2dyYW1cbiAgICAgIC5jb21tYW5kKCdzZXR1cC1ldmVudHMnKVxuICAgICAgLmRlc2NyaXB0aW9uKCdEZXBsb3kgRXZlbnRCcmlkZ2UgZXZlbnQgaW5nZXN0aW9uIGluZnJhc3RydWN0dXJlIGZvciBwaXBlbGluZSByZXBvcnRpbmcnKVxuICAgICAgLm9wdGlvbignLS1wYWNrYWdlLXZlcnNpb24gPHZlcnNpb24+JywgJ3BpcGVsaW5lLWV2ZW50cyBwYWNrYWdlIHZlcnNpb24gKGRlZmF1bHQ6IGxhdGVzdCknKVxuICAgICAgLm9wdGlvbignLXUsIC0taWRlbnRpZmllciA8aWRlbnRpZmllcj4nLCAnVXNlcm5hbWUgb3IgZW1haWwgdG8gbWludCBhIHRva2VuIHdoZW4gUExBVEZPUk1fVE9LRU4gaXMgdW5zZXQgKGZvciBkZXJpdmluZyB0aGUgc2VjcmV0IG5hbWUpJylcbiAgICAgIC5vcHRpb24oJy1wLCAtLXBhc3N3b3JkIDxwYXNzd29yZD4nLCAnTG9naW4gcGFzc3dvcmQgKHVzZWQgd2l0aCAtLWlkZW50aWZpZXIpJykpLFxuICApXG4gICAgLm9wdGlvbignLS1zY29wZWQtaW5nZXN0JywgJ1BvaW50IHRoZSBpbmdlc3Rpb24gTGFtYmRhIGF0IHRoZSBkZWRpY2F0ZWQgbGVhc3QtcHJpdmlsZWdlIHJlcG9ydGluZy1pbmdlc3Qgc2VjcmV0IChwcm92aXNpb24gaXQgZmlyc3Q6IGBzdG9yZS10b2tlbiAtLXNjb3BlIHJlcG9ydGluZzppbmdlc3QgLS1zY2hlZHVsZWApLiBUaGUgcmVwb3J0aW5nIHNlcnZpY2UgYWx3YXlzIHJlcXVpcmVzIHRoZSBgcmVwb3J0aW5nOmluZ2VzdGAgc2NvcGUgb24gUE9TVCAvcmVwb3J0cy9ldmVudHMuJylcbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICBjb25zdCBleGVjdXRpb25JZCA9IHByaW50Q29tbWFuZEhlYWRlcignU2V0dXAgRXZlbnQgSW5nZXN0aW9uJyk7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlZ2lvbiA9IHJlc29sdmVBd3NSZWdpb24ob3B0aW9ucy5yZWdpb24pO1xuICAgICAgICAvLyBIb25vciAtLXByb2ZpbGUgZm9yIHRoZSBTREsgTGFtYmRhL0Nsb3VkRm9ybWF0aW9uIGNsaWVudHMgYmVsb3cuIFRoZVxuICAgICAgICAvLyBgY2xvdWRmb3JtYXRpb24gZGVwbG95YCBDTEkgY2FsbCBhbHJlYWR5IGdldHMgLS1wcm9maWxlOyB3aXRob3V0IHRoaXMgdGhlXG4gICAgICAgIC8vIFNESyBjbGllbnRzIGhpdCB0aGUgREVGQVVMVCBhY2NvdW50IOKGkiBkZXBsb3kgYW5kIGNvZGUtdXBkYXRlL291dHB1dHNcbiAgICAgICAgLy8gdGFyZ2V0IGRpZmZlcmVudCBhY2NvdW50cyAoc2lsZW50IHNwbGl0LWJyYWluKS5cbiAgICAgICAgYXBwbHlBd3NQcm9maWxlKG9wdGlvbnMucHJvZmlsZSk7XG5cbiAgICAgICAgY29uc3QgcGxhdGZvcm1VcmwgPSBwcm9jZXNzLmVudi5QTEFURk9STV9CQVNFX1VSTDtcbiAgICAgICAgaWYgKCFwbGF0Zm9ybVVybCkge1xuICAgICAgICAgIHByaW50RXJyb3IoJ1BMQVRGT1JNX0JBU0VfVVJMIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIHJlcXVpcmVkJyk7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdQTEFURk9STV9CQVNFX1VSTCBub3Qgc2V0Jyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEZXJpdmUgdGhlIHNlY3JldCBwYXRoIGZyb20gdGhlIHBsYXRmb3JtIHRva2VuICh0aGUgb25lIGluaXQtcGxhdGZvcm0uc2hcbiAgICAgICAgLy8gbWludGVkKSB3aGVuIFBMQVRGT1JNX1NFQ1JFVF9OQU1FIGlzbid0IHNldCDigJQgbWF0Y2hpbmcgc3RvcmUtdG9rZW4sIHdoaWNoXG4gICAgICAgIC8vIFdST1RFIHRoZSBzZWNyZXQgYXQgdGhlIHNhbWUgZGVyaXZlZCBwYXRoLiBMb2dzIGluIHdpdGhcbiAgICAgICAgLy8gLS1lbWFpbC8tLXBhc3N3b3JkIG9yIFBMQVRGT1JNX0lERU5USUZJRVIvUExBVEZPUk1fUEFTU1dPUkQgaWYgbm8gdG9rZW4geWV0LlxuICAgICAgICAvLyBXaXRoIC0tc2NvcGVkLWluZ2VzdCwgcG9pbnQgYXQgdGhlIGRlZGljYXRlZCByZXBvcnRpbmctaW5nZXN0IHNlY3JldFxuICAgICAgICAvLyAoYSBsZWFzdC1wcml2aWxlZ2UgbWFjaGluZSBjcmVkZW50aWFsKSBpbnN0ZWFkIG9mIHRoZSBzaGFyZWQgcGxhdGZvcm1cbiAgICAgICAgLy8gdG9rZW4g4oCUIHByb3Zpc2lvbiBpdCB3aXRoIGBzdG9yZS10b2tlbiAtLXNjb3BlIHJlcG9ydGluZzppbmdlc3RgLlxuICAgICAgICBsZXQgc2VjcmV0TmFtZSA9IGF3YWl0IHJlc29sdmVQbGF0Zm9ybVNlY3JldE5hbWUob3B0aW9ucyk7XG4gICAgICAgIGlmIChvcHRpb25zLnNjb3BlZEluZ2VzdCkge1xuICAgICAgICAgIHNlY3JldE5hbWUgPSBzZWNyZXROYW1lLnJlcGxhY2UoL1xcL3BsYXRmb3JtJC8sICcvcmVwb3J0aW5nLWluZ2VzdCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpbnRJbmZvKCdQYXJhbWV0ZXJzJywge1xuICAgICAgICAgIHN0YWNrOiBTVEFDS19OQU1FLFxuICAgICAgICAgIHJlZ2lvbixcbiAgICAgICAgICBwbGF0Zm9ybVVybCxcbiAgICAgICAgICBzZWNyZXROYW1lLFxuICAgICAgICAgIHBhY2thZ2VWZXJzaW9uOiBvcHRpb25zLnBhY2thZ2VWZXJzaW9uIHx8ICdsYXRlc3QnLFxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBTdGVwIDE6IERlcGxveSBDbG91ZEZvcm1hdGlvbiAoaW5mcmEgb25seSDigJQgTGFtYmRhIGdldHMgcGxhY2Vob2xkZXIgY29kZSlcbiAgICAgICAgcHJpbnRTZWN0aW9uKCdEZXBsb3kgSW5mcmFzdHJ1Y3R1cmUnKTtcblxuICAgICAgICBjb25zdCB0ZW1wbGF0ZVBhdGggPSBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4vdGVtcGxhdGVzL2V2ZW50cy1zdGFjay5qc29uJyk7XG5cbiAgICAgICAgY29uc3QgY2ZuQXJncyA9IFtcbiAgICAgICAgICAnY2xvdWRmb3JtYXRpb24nLCAnZGVwbG95JyxcbiAgICAgICAgICAnLS1zdGFjay1uYW1lJywgU1RBQ0tfTkFNRSxcbiAgICAgICAgICAnLS10ZW1wbGF0ZS1maWxlJywgdGVtcGxhdGVQYXRoLFxuICAgICAgICAgICctLXBhcmFtZXRlci1vdmVycmlkZXMnLFxuICAgICAgICAgIGBQbGF0Zm9ybUJhc2VVcmw9JHtwbGF0Zm9ybVVybH1gLFxuICAgICAgICAgIGBQbGF0Zm9ybVNlY3JldE5hbWU9JHtzZWNyZXROYW1lfWAsXG4gICAgICAgICAgJy0tY2FwYWJpbGl0aWVzJywgJ0NBUEFCSUxJVFlfTkFNRURfSUFNJyxcbiAgICAgICAgICAnLS1uby1mYWlsLW9uLWVtcHR5LWNoYW5nZXNldCcsXG4gICAgICAgICAgJy0tcmVnaW9uJywgcmVnaW9uLFxuICAgICAgICBdO1xuICAgICAgICBpZiAob3B0aW9ucy5wcm9maWxlKSBjZm5BcmdzLnB1c2goJy0tcHJvZmlsZScsIG9wdGlvbnMucHJvZmlsZSk7XG5cbiAgICAgICAgZXhlY0ZpbGVTeW5jKCdhd3MnLCBjZm5BcmdzLCB7IHN0ZGlvOiAnaW5oZXJpdCcgfSk7XG5cbiAgICAgICAgcHJpbnRTdWNjZXNzKCdJbmZyYXN0cnVjdHVyZSBkZXBsb3llZCcpO1xuXG4gICAgICAgIC8vIFN0ZXAgMjogRG93bmxvYWQgaGFuZGxlciBmcm9tIHJlZ2lzdHJ5IGFuZCB1cGxvYWQgdG8gTGFtYmRhXG4gICAgICAgIHByaW50U2VjdGlvbignRGVwbG95IExhbWJkYSBDb2RlJyk7XG5cbiAgICAgICAgY29uc3QgdG1wRGlyID0gZnMubWtkdGVtcFN5bmMocGF0aC5qb2luKG9zLnRtcGRpcigpLCAnZXZlbnQtaW5nZXN0aW9uLScpKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHZlcnNpb25TcGVjID0gb3B0aW9ucy5wYWNrYWdlVmVyc2lvbiA/IGAke1BBQ0tBR0VfTkFNRX1AJHtvcHRpb25zLnBhY2thZ2VWZXJzaW9ufWAgOiBQQUNLQUdFX05BTUU7XG4gICAgICAgICAgcHJpbnRJbmZvKCdJbnN0YWxsaW5nIGZyb20gcmVnaXN0cnknLCB7IHBhY2thZ2U6IHZlcnNpb25TcGVjIH0pO1xuXG4gICAgICAgICAgLy8gSXNvbGF0ZSB0aGUgbnBtIGNhY2hlIGluc2lkZSB0aGUgdGVtcCBkaXIgc28gdGhlIGRlcGxveSBuZXZlciBkZXBlbmRzIG9uXG4gICAgICAgICAgLy8gKG9yIHRyaXBzIG92ZXIpIGEgbWlzY29uZmlndXJlZCBzaGFyZWQgfi8ubnBtIGNhY2hlIOKAlCBlLmcuIEVBQ0NFUy9FRVhJU1RcbiAgICAgICAgICAvLyBsZWZ0IGJlaGluZCBieSBhIHByaW9yIGBzdWRvIG5wbWAgcnVuLiBNaXJyb3JzIHRoZSB0b2tlbi1yZW5ldyBoYW5kbGVyLlxuICAgICAgICAgIGV4ZWNGaWxlU3luYygnbnBtJywgWydpbnN0YWxsJywgJy0tcHJlZml4JywgdG1wRGlyLCAnLS1uby1hdWRpdCcsICctLW5vLWZ1bmQnLCB2ZXJzaW9uU3BlY10sIHtcbiAgICAgICAgICAgIHN0ZGlvOiAncGlwZScsXG4gICAgICAgICAgICBlbnY6IHsgLi4ucHJvY2Vzcy5lbnYsIG5wbV9jb25maWdfY2FjaGU6IHBhdGguam9pbih0bXBEaXIsICcubnBtLWNhY2hlJykgfSxcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGNvbnN0IGhhbmRsZXJTcmMgPSBwYXRoLmpvaW4odG1wRGlyLCAnbm9kZV9tb2R1bGVzJywgUEFDS0FHRV9OQU1FLCAnbGliJywgJ2luZGV4LmpzJyk7XG4gICAgICAgICAgaWYgKCFmcy5leGlzdHNTeW5jKGhhbmRsZXJTcmMpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEhhbmRsZXIgbm90IGZvdW5kIGF0ICR7aGFuZGxlclNyY30uIEVuc3VyZSB0aGUgcGFja2FnZSBpcyBwdWJsaXNoZWQuYCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gR2V0IHZlcnNpb24gZnJvbSBpbnN0YWxsZWQgcGFja2FnZVxuICAgICAgICAgIGNvbnN0IHBrZ0pzb25QYXRoID0gcGF0aC5qb2luKHRtcERpciwgJ25vZGVfbW9kdWxlcycsIFBBQ0tBR0VfTkFNRSwgJ3BhY2thZ2UuanNvbicpO1xuICAgICAgICAgIGNvbnN0IHBrZ0pzb24gPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhwa2dKc29uUGF0aCwgJ3V0Zi04JykpO1xuICAgICAgICAgIGNvbnN0IHZlcnNpb24gPSBwa2dKc29uLnZlcnNpb24gfHwgJ3Vua25vd24nO1xuXG4gICAgICAgICAgLy8gcGlwZWxpbmUtZXZlbnRzIGlzIEVTTSAoXCJ0eXBlXCI6XCJtb2R1bGVcIiksIHNvIHRoZSBMYW1iZGEgZW50cnkgbXVzdCBiZVxuICAgICAgICAgIC8vIGluZGV4Lm1qcy4gQSBwbGFpbiBpbmRleC5qcyB3aXRoIG5vIHBhY2thZ2UuanNvbiBpbiB0aGUgemlwIGlzIGxvYWRlZCBhc1xuICAgICAgICAgIC8vIENvbW1vbkpTIGJ5IG5vZGVqczI0LnggYW5kIGZhaWxzIGF0IGluaXQgd2l0aCBcIkNhbm5vdCB1c2UgaW1wb3J0IHN0YXRlbWVudFxuICAgICAgICAgIC8vIG91dHNpZGUgYSBtb2R1bGVcIi4gVGhlIC5tanMgZXh0ZW5zaW9uIGZvcmNlcyBFU007IEhhbmRsZXIgc3RheXNcbiAgICAgICAgICAvLyBpbmRleC5oYW5kbGVyICh0aGUgcnVudGltZSByZXNvbHZlcyB0aGUgLm1qcyBmaWxlKS4gbGliL2luZGV4LmpzIGlzIGFcbiAgICAgICAgICAvLyBzZWxmLWNvbnRhaW5lZCBidW5kbGUgKG5vIHJlbGF0aXZlIGltcG9ydHMpLCBzbyB0aGUgc2luZ2xlIGZpbGUgc3VmZmljZXMuXG4gICAgICAgICAgY29uc3QgbWpzUGF0aCA9IHBhdGguam9pbih0bXBEaXIsICdpbmRleC5tanMnKTtcbiAgICAgICAgICBmcy5jb3B5RmlsZVN5bmMoaGFuZGxlclNyYywgbWpzUGF0aCk7XG4gICAgICAgICAgY29uc3QgemlwUGF0aCA9IHBhdGguam9pbih0bXBEaXIsICdpbmRleC56aXAnKTtcbiAgICAgICAgICBleGVjRmlsZVN5bmMoJ3ppcCcsIFsnLWonLCB6aXBQYXRoLCAnaW5kZXgubWpzJ10sIHsgY3dkOiB0bXBEaXIsIHN0ZGlvOiAncGlwZScgfSk7XG5cbiAgICAgICAgICAvLyBVcGxvYWQgZGlyZWN0bHkgdG8gTGFtYmRhIHZpYSBTREsgKG5vIFMzIG5lZWRlZClcbiAgICAgICAgICBwcmludEluZm8oJ1VwbG9hZGluZyBjb2RlIHRvIExhbWJkYScsIHsgZnVuY3Rpb246IExBTUJEQV9OQU1FLCB2ZXJzaW9uIH0pO1xuXG4gICAgICAgICAgY29uc3QgbGFtYmRhQ2xpZW50ID0gbmV3IExhbWJkYUNsaWVudCh7IHJlZ2lvbiB9KTtcbiAgICAgICAgICBhd2FpdCBsYW1iZGFDbGllbnQuc2VuZChuZXcgVXBkYXRlRnVuY3Rpb25Db2RlQ29tbWFuZCh7XG4gICAgICAgICAgICBGdW5jdGlvbk5hbWU6IExBTUJEQV9OQU1FLFxuICAgICAgICAgICAgWmlwRmlsZTogZnMucmVhZEZpbGVTeW5jKHppcFBhdGgpLFxuICAgICAgICAgIH0pKTtcblxuICAgICAgICAgIHByaW50U3VjY2VzcyhgTGFtYmRhIGNvZGUgZGVwbG95ZWQgKCR7UEFDS0FHRV9OQU1FfUAke3ZlcnNpb259KWApO1xuXG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgZnMucm1TeW5jKHRtcERpciwgeyByZWN1cnNpdmU6IHRydWUsIGZvcmNlOiB0cnVlIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3RlcCAzOiBTaG93IG91dHB1dHMgdmlhIFNES1xuICAgICAgICBjb25zdCBjZm5DbGllbnQgPSBuZXcgQ2xvdWRGb3JtYXRpb25DbGllbnQoeyByZWdpb24gfSk7XG4gICAgICAgIGNvbnN0IGRlc2NyaWJlUmVzdWx0ID0gYXdhaXQgY2ZuQ2xpZW50LnNlbmQobmV3IERlc2NyaWJlU3RhY2tzQ29tbWFuZCh7IFN0YWNrTmFtZTogU1RBQ0tfTkFNRSB9KSk7XG4gICAgICAgIGNvbnN0IG91dHB1dHMgPSBkZXNjcmliZVJlc3VsdC5TdGFja3M/LlswXT8uT3V0cHV0cyA/PyBbXTtcbiAgICAgICAgY29uc3Qgb3V0cHV0TWFwID0gT2JqZWN0LmZyb21FbnRyaWVzKG91dHB1dHMubWFwKG8gPT4gW28uT3V0cHV0S2V5ID8/ICcnLCBvLk91dHB1dFZhbHVlID8/ICcnXSkpO1xuXG4gICAgICAgIGNvbnNvbGUubG9nKCcnKTtcbiAgICAgICAgcHJpbnRTZWN0aW9uKCdFdmVudCBJbmdlc3Rpb24gUmVhZHknKTtcblxuICAgICAgICBwcmludEtleVZhbHVlKHtcbiAgICAgICAgICAnU3RhY2snOiBTVEFDS19OQU1FLFxuICAgICAgICAgICdSZWdpb24nOiByZWdpb24sXG4gICAgICAgICAgJ1BsYXRmb3JtIFVSTCc6IHBsYXRmb3JtVXJsLFxuICAgICAgICAgICdMYW1iZGEnOiBvdXRwdXRNYXAuTGFtYmRhRnVuY3Rpb25Bcm4gfHwgTEFNQkRBX05BTUUsXG4gICAgICAgICAgJ0V2ZW50IFF1ZXVlJzogb3V0cHV0TWFwLkV2ZW50UXVldWVVcmwgfHwgJyhzZWUgQVdTIGNvbnNvbGUpJyxcbiAgICAgICAgICAnRGVhZCBMZXR0ZXIgUXVldWUnOiBvdXRwdXRNYXAuRGVhZExldHRlclF1ZXVlVXJsIHx8ICcoc2VlIEFXUyBjb25zb2xlKScsXG4gICAgICAgICAgJ0V2ZW50QnJpZGdlIFJ1bGUnOiBvdXRwdXRNYXAuRXZlbnRSdWxlTmFtZSB8fCAnKHNlZSBBV1MgY29uc29sZSknLFxuICAgICAgICAgICdTdGF0dXMnOiAn4pyTIERlcGxveWVkJyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc29sZS5sb2coJycpO1xuICAgICAgICBwcmludFN1Y2Nlc3MoJ0V2ZW50QnJpZGdlIGV2ZW50IGluZ2VzdGlvbiBpcyBhY3RpdmUuJyk7XG5cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGhhbmRsZUVycm9yKGVycm9yLCBFUlJPUl9DT0RFUy5BUElfUkVRVUVTVCwge1xuICAgICAgICAgIGRlYnVnOiBwcm9ncmFtLm9wdHMoKS5kZWJ1ZyxcbiAgICAgICAgICBleGl0OiB0cnVlLFxuICAgICAgICAgIGNvbnRleHQ6IHsgY29tbWFuZDogJ3NldHVwLWV2ZW50cycsIGV4ZWN1dGlvbklkLCBzdGFjazogU1RBQ0tfTkFNRSB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbn1cbiJdfQ==
|
|
@@ -112,8 +112,8 @@ export function storeToken(program) {
|
|
|
112
112
|
withSslOptions(withProfileOption(withRegionOption(program
|
|
113
113
|
.command('store-token')
|
|
114
114
|
.description('Generate JWT token and store in AWS Secrets Manager for CDK deployments')
|
|
115
|
-
.option('-
|
|
116
|
-
.option('-p, --password <password>', 'Login password (used with --
|
|
115
|
+
.option('-u, --identifier <identifier>', 'Username or email (skips PLATFORM_TOKEN requirement)')
|
|
116
|
+
.option('-p, --password <password>', 'Login password (used with --identifier)')
|
|
117
117
|
.option('--days <days>', 'Token lifetime in days', '30')
|
|
118
118
|
.option('--scope <scope>', 'Mint a narrow-scope machine token (e.g. "reporting:ingest") and store it at a scope-specific secret path instead of the shared platform secret')
|
|
119
119
|
.option('--dry-run', 'Show what would be stored without writing to Secrets Manager', false)))
|
|
@@ -291,4 +291,4 @@ export function storeToken(program) {
|
|
|
291
291
|
}
|
|
292
292
|
});
|
|
293
293
|
}
|
|
294
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUtdG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvc3RvcmUtdG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3pCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sRUFBRSxZQUFZLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDekUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNySyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxTQUFTLEVBQUUsYUFBYSxF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LGtCQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDLGlDQUFpQztvQkFDaEcsUUFBUSxFQUFFLFVBQVU7aUJBQ3JCLENBQUMsQ0FBQztnQkFFSCxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNoQixZQUFZLENBQUMseUNBQXlDLENBQUMsQ0FBQztnQkFDeEQsU0FBUyxDQUFDLGlDQUFpQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO2dCQUN6RCxTQUFTLENBQUMscUVBQXFFLENBQUMsQ0FBQztnQkFDakYsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDaEIsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO29CQUN2QixTQUFTLENBQUMsMkJBQTJCLGtCQUFrQixrQ0FBa0MsU0FBUyxHQUFHLENBQUMsQ0FBQztnQkFDekcsQ0FBQztxQkFBTSxDQUFDO29CQUNOLFNBQVMsQ0FBQyxnQkFBZ0IsU0FBUyxvREFBb0QsSUFBSSxFQUFFLENBQUMsQ0FBQztvQkFDL0YsU0FBUyxDQUFDLDhEQUE4RCxDQUFDLENBQUM7Z0JBQzVFLENBQUM7WUFDSCxDQUFDO1FBRUgsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixXQUFXLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxXQUFXLEVBQUU7Z0JBQzFDLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSztnQkFDM0IsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsT0FBTyxFQUFFO29CQUNQLE9BQU8sRUFBRSxhQUFhO29CQUN0QixXQUFXO29CQUNYLFVBQVUsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixJQUFJLHNCQUFzQjtpQkFDdkU7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IGV4ZWNGaWxlU3luYyB9IGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCB9IGZyb20gJ25vZGU6dXJsJztcbmltcG9ydCAqIGFzIG9zIGZyb20gJ29zJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgTGFtYmRhQ2xpZW50LCBVcGRhdGVGdW5jdGlvbkNvZGVDb21tYW5kIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWxhbWJkYSc7XG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnY29tbWFuZGVyJztcbmltcG9ydCB7IEFQUF9WRVJTSU9OLCB2YWxpZGF0ZU51bWJlciB9IGZyb20gJy4uL2NvbmZpZy9jbGkuY29uc3RhbnRzLmpzJztcbmltcG9ydCB7IGF1ZGl0TG9nIH0gZnJvbSAnLi4vdXRpbHMvYXVkaXQtbG9nLmpzJztcbmltcG9ydCB7IGRlY29kZVRva2VuUGF5bG9hZCB9IGZyb20gJy4uL3V0aWxzL2F1dGgtZ3VhcmQuanMnO1xuaW1wb3J0IHsgcmVzb2x2ZUF3c1JlZ2lvbiB9IGZyb20gJy4uL3V0aWxzL2F3cy1lbnYuanMnO1xuaW1wb3J0IHsgdXBzZXJ0U2VjcmV0LCBnZXRTZWNyZXRBcm4gfSBmcm9tICcuLi91dGlscy9hd3Mtc2VjcmV0cy5qcyc7XG5pbXBvcnQgeyBjcmVhdGVBdXRoZW50aWNhdGVkQ2xpZW50QXN5bmMsIHByaW50Q29tbWFuZEhlYWRlciwgcHJpbnRTc2xXYXJuaW5nLCB3aXRoUHJvZmlsZU9wdGlvbiwgd2l0aFJlZ2lvbk9wdGlvbiwgd2l0aFNzbE9wdGlvbnMgfSBmcm9tICcuLi91dGlscy9jb21tYW5kLXV0aWxzLmpzJztcbmltcG9ydCB7IHRvRXZlbnRCcmlkZ2VDcm9uIH0gZnJvbSAnLi4vdXRpbHMvY3Jvbi5qcyc7XG5pbXBvcnQgeyBFUlJPUl9DT0RFUywgaGFuZGxlRXJyb3IgfSBmcm9tICcuLi91dGlscy9lcnJvci1oYW5kbGVyLmpzJztcbmltcG9ydCB7IHByaW50SW5mbywgcHJpbnRLZXlWYWx1ZSwgcHJpbnRTZWN0aW9uLCBwcmludFN1Y2Nlc3MgfSBmcm9tICcuLi91dGlscy9vdXRwdXQtdXRpbHMuanMnO1xuaW1wb3J0IHsgZW5zdXJlUGxhdGZvcm1Ub2tlbiwgcmVzb2x2ZVNlY3JldE5hbWUgfSBmcm9tICcuLi91dGlscy9wbGF0Zm9ybS1zZWNyZXQuanMnO1xuXG4vLyBFU00gaGFzIG5vIF9fZGlybmFtZTsgZGVyaXZlIGl0IGZyb20gdGhpcyBtb2R1bGUncyBVUkwuXG5jb25zdCBfX2Rpcm5hbWUgPSBwYXRoLmRpcm5hbWUoZmlsZVVSTFRvUGF0aChpbXBvcnQubWV0YS51cmwpKTtcblxuY29uc3QgUkVORVdfU1RBQ0tfTkFNRSA9ICdwaXBlbGluZS1idWlsZGVyLXRva2VuLXJlbmV3Jztcbi8vIENGTi1tYW5hZ2VkIExhbWJkYSBmdW5jdGlvbiBuYW1lIOKAlCBrZWVwIGluIHN5bmMgd2l0aCB0b2tlbi1yZW5ldy1zdGFjay5qc29uLlxuY29uc3QgUkVORVdfTEFNQkRBX05BTUUgPSAncGlwZWxpbmUtYnVpbGRlci10b2tlbi1yZW5ldyc7XG4vLyBEZWZhdWx0IDUtZmllbGQgY3JvbiAoZGFpbHkgYXQgbWlkbmlnaHQpIHdoZW4gbmVpdGhlciAtLWNyb24gbm9yIFRPS0VOX1JFTkVXX1NDSEVEVUxFIGlzIHNldC5cbmNvbnN0IERFRkFVTFRfUkVORVdfQ1JPTiA9ICcwIDAgKiAqIConO1xuXG4vKipcbiAqIERlcGxveSAob3IgdXBkYXRlKSB0aGUgb25jZS1hLWRheSB0b2tlbi1yZW5ld2FsIHN0YWNrOiBhIHNjaGVkdWxlZCBMYW1iZGEgdGhhdFxuICogcmUtbWludHMgdGhlIHBsYXRmb3JtIEpXVCBpbiB0aGlzIHNhbWUgc2VjcmV0IGJlZm9yZSBpdCBleHBpcmVzLiBNaXJyb3JzXG4gKiBzZXR1cC1ldmVudHMg4oCUIGBhd3MgY2xvdWRmb3JtYXRpb24gZGVwbG95YCBmb3IgdGhlIGluZnJhLCB0aGVuIGEgZGlyZWN0XG4gKiBVcGRhdGVGdW5jdGlvbkNvZGUgd2l0aCB0aGUgdGhpbiBvcmNoZXN0cmF0b3IgaGFuZGxlciBjb21waWxlZCBhbG9uZ3NpZGUgdGhpc1xuICogQ0xJICh0aGUgaGFuZGxlciBucG0taW5zdGFsbHMgcGlwZWxpbmUtbWFuYWdlciBhdCBydW50aW1lIGFuZCByZS1ydW5zXG4gKiBzdG9yZS10b2tlbjsgc2VlIHNyYy9sYW1iZGEvdG9rZW4tcmVuZXctaGFuZGxlci50cykuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGRlcGxveVJlbmV3U2NoZWR1bGUob3B0czoge1xuICBwbGF0Zm9ybVVybDogc3RyaW5nO1xuICBzZWNyZXROYW1lOiBzdHJpbmc7XG4gIGRheXM6IG51bWJlcjtcbiAgZml2ZUZpZWxkQ3Jvbjogc3RyaW5nO1xuICByZWdpb246IHN0cmluZztcbiAgcHJvZmlsZT86IHN0cmluZztcbn0pOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBzY2hlZHVsZUV4cHJlc3Npb24gPSB0b0V2ZW50QnJpZGdlQ3JvbihvcHRzLmZpdmVGaWVsZENyb24pOyAvLyB2YWxpZGF0ZXMgKyAxNS1taW4gZ3VhcmRcblxuICBwcmludFNlY3Rpb24oJ1NjaGVkdWxlIFJlbmV3YWwnKTtcbiAgcHJpbnRJbmZvKCdQYXJhbWV0ZXJzJywge1xuICAgIHN0YWNrOiBSRU5FV19TVEFDS19OQU1FLFxuICAgIHNjaGVkdWxlOiBvcHRzLmZpdmVGaWVsZENyb24sXG4gICAgZXZlbnRicmlkZ2U6IHNjaGVkdWxlRXhwcmVzc2lvbixcbiAgICByZW5ld0RheXM6IG9wdHMuZGF5cyxcbiAgfSk7XG5cbiAgLy8gU3RlcCAxOiBpbmZyYSAoTGFtYmRhIGdldHMgcGxhY2Vob2xkZXIgY29kZSBvbiBmaXJzdCBjcmVhdGUpLlxuICBjb25zdCB0ZW1wbGF0ZVBhdGggPSBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4vdGVtcGxhdGVzL3Rva2VuLXJlbmV3LXN0YWNrLmpzb24nKTtcbiAgY29uc3QgY2ZuQXJncyA9IFtcbiAgICAnY2xvdWRmb3JtYXRpb24nLCAnZGVwbG95JyxcbiAgICAnLS1zdGFjay1uYW1lJywgUkVORVdfU1RBQ0tfTkFNRSxcbiAgICAnLS10ZW1wbGF0ZS1maWxlJywgdGVtcGxhdGVQYXRoLFxuICAgICctLXBhcmFtZXRlci1vdmVycmlkZXMnLFxuICAgIGBQbGF0Zm9ybUJhc2VVcmw9JHtvcHRzLnBsYXRmb3JtVXJsfWAsXG4gICAgYFBsYXRmb3JtU2VjcmV0TmFtZT0ke29wdHMuc2VjcmV0TmFtZX1gLFxuICAgIGBSZW5ld0RheXM9JHtvcHRzLmRheXN9YCxcbiAgICBgU2NoZWR1bGVFeHByZXNzaW9uPSR7c2NoZWR1bGVFeHByZXNzaW9ufWAsXG4gICAgLy8gUGluIHRoZSBoYW5kbGVyJ3MgcnVudGltZSBucG0gaW5zdGFsbCB0byBUSElTIENMSSdzIHZlcnNpb24gKHJlcHJvZHVjaWJsZVxuICAgIC8vIHJlbmV3YWxzIGluc3RlYWQgb2YgYSBmbG9hdGluZyBcImxhdGVzdFwiKS5cbiAgICBgUGlwZWxpbmVNYW5hZ2VyVmVyc2lvbj0ke0FQUF9WRVJTSU9OfWAsXG4gICAgJy0tY2FwYWJpbGl0aWVzJywgJ0NBUEFCSUxJVFlfTkFNRURfSUFNJyxcbiAgICAnLS1uby1mYWlsLW9uLWVtcHR5LWNoYW5nZXNldCcsXG4gICAgJy0tcmVnaW9uJywgb3B0cy5yZWdpb24sXG4gIF07XG4gIGlmIChvcHRzLnByb2ZpbGUpIGNmbkFyZ3MucHVzaCgnLS1wcm9maWxlJywgb3B0cy5wcm9maWxlKTtcbiAgZXhlY0ZpbGVTeW5jKCdhd3MnLCBjZm5BcmdzLCB7IHN0ZGlvOiAnaW5oZXJpdCcgfSk7XG5cbiAgLy8gU3RlcCAyOiB1cGxvYWQgdGhlIHJlYWwgaGFuZGxlci4gSXQncyBFU00sIHNvIHRoZSB6aXAgZW50cnkgbXVzdCBiZSBpbmRleC5tanNcbiAgLy8gKEhhbmRsZXIgc3RheXMgaW5kZXguaGFuZGxlciDigJQgbm9kZWpzMjQueCByZXNvbHZlcyB0aGUgLm1qcyBleHRlbnNpb24pLlxuICBjb25zdCBoYW5kbGVyU3JjID0gcGF0aC5qb2luKF9fZGlybmFtZSwgJy4uL2xhbWJkYS90b2tlbi1yZW5ldy1oYW5kbGVyLmpzJyk7XG4gIGlmICghZnMuZXhpc3RzU3luYyhoYW5kbGVyU3JjKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVG9rZW4tcmVuZXcgaGFuZGxlciBub3QgZm91bmQgYXQgJHtoYW5kbGVyU3JjfSDigJQgd2FzIHRoZSBwYWNrYWdlIGJ1aWx0P2ApO1xuICB9XG4gIGNvbnN0IHRtcERpciA9IGZzLm1rZHRlbXBTeW5jKHBhdGguam9pbihvcy50bXBkaXIoKSwgJ3Rva2VuLXJlbmV3LScpKTtcbiAgdHJ5IHtcbiAgICBmcy5jb3B5RmlsZVN5bmMoaGFuZGxlclNyYywgcGF0aC5qb2luKHRtcERpciwgJ2luZGV4Lm1qcycpKTtcbiAgICBjb25zdCB6aXBQYXRoID0gcGF0aC5qb2luKHRtcERpciwgJ2luZGV4LnppcCcpO1xuICAgIGV4ZWNGaWxlU3luYygnemlwJywgWyctaicsIHppcFBhdGgsICdpbmRleC5tanMnXSwgeyBjd2Q6IHRtcERpciwgc3RkaW86ICdwaXBlJyB9KTtcblxuICAgIGNvbnN0IGxhbWJkYUNsaWVudCA9IG5ldyBMYW1iZGFDbGllbnQoeyByZWdpb246IG9wdHMucmVnaW9uIH0pO1xuICAgIGF3YWl0IGxhbWJkYUNsaWVudC5zZW5kKG5ldyBVcGRhdGVGdW5jdGlvbkNvZGVDb21tYW5kKHtcbiAgICAgIEZ1bmN0aW9uTmFtZTogUkVORVdfTEFNQkRBX05BTUUsXG4gICAgICBaaXBGaWxlOiBmcy5yZWFkRmlsZVN5bmMoemlwUGF0aCksXG4gICAgfSkpO1xuICB9IGZpbmFsbHkge1xuICAgIGZzLnJtU3luYyh0bXBEaXIsIHsgcmVjdXJzaXZlOiB0cnVlLCBmb3JjZTogdHJ1ZSB9KTtcbiAgfVxuXG4gIHByaW50U3VjY2VzcyhgUmVuZXdhbCBzY2hlZHVsZWQgKCR7c2NoZWR1bGVFeHByZXNzaW9ufSlgKTtcbiAgcmV0dXJuIHNjaGVkdWxlRXhwcmVzc2lvbjtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgdGhlIGBzdG9yZS10b2tlbmAgY29tbWFuZCB3aXRoIHRoZSBDTEkgcHJvZ3JhbS5cbiAqXG4gKiBHZW5lcmF0ZXMgYSBsb25nLWxpdmVkIEpXVCB0b2tlbiB2aWEgdGhlIHBsYXRmb3JtIEFQSSBhbmQgc3RvcmVzIGl0XG4gKiBpbiBBV1MgU2VjcmV0cyBNYW5hZ2VyIGZvciB1c2UgYnkgdGhlIHN5bnRoL2RlcGxveSAtLXN0b3JlLXRva2VucyBmbGFnLlxuICpcbiAqIFJlcXVpcmVzIFBMQVRGT1JNX1RPS0VOIHRvIGJlIHNldCwgb3IgdXNlIC0tZW1haWwvLS1wYXNzd29yZCB0byBsb2dpbiBpbmxpbmUuXG4gKlxuICogQnkgZGVmYXVsdCBpdCBPTkxZIHdyaXRlcyB0aGUgc2VjcmV0LiBQYXNzIC0tc2NoZWR1bGUgdG8gYWxzbyBkZXBsb3kgdGhlIGRhaWx5XG4gKiB0b2tlbi1yZW5ld2FsIHN0YWNrIChhIExhbWJkYSB0aGF0IGF1dG8tcmVuZXdzIHRoaXMgdG9rZW4gYmVmb3JlIGl0IGV4cGlyZXMpLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBiYXNoXG4gKiBwaXBlbGluZS1tYW5hZ2VyIGluZnJhIHN0b3JlLXRva2VuIC0tcmVnaW9uIHVzLWVhc3QtMVxuICogcGlwZWxpbmUtbWFuYWdlciBpbmZyYSBzdG9yZS10b2tlbiAtLWRheXMgOTAgLS1yZWdpb24gdXMtZWFzdC0xXG4gKiBwaXBlbGluZS1tYW5hZ2VyIGluZnJhIHN0b3JlLXRva2VuIC0tc2NoZWR1bGUgLS1yZWdpb24gdXMtZWFzdC0xICAgICAgICAgICMgKyBkYWlseSBhdXRvLXJlbmV3YWxcbiAqIHBpcGVsaW5lLW1hbmFnZXIgaW5mcmEgc3RvcmUtdG9rZW4gLS1zY2hlZHVsZSAtLWNyb24gJzAgMyAqICogKicgICAgICAgICAgIyBjdXN0b20gcmVuZXdhbCB0aW1lXG4gKiBwaXBlbGluZS1tYW5hZ2VyIGluZnJhIHN0b3JlLXRva2VuIC0tZGF5cyA3IC0tbm8tdmVyaWZ5LXNzbFxuICogUExBVEZPUk1fU0VDUkVUX05BTUU9bXktY3VzdG9tLXNlY3JldCBwaXBlbGluZS1tYW5hZ2VyIGluZnJhIHN0b3JlLXRva2VuICAgIyBvdmVycmlkZSB0aGUgZGVyaXZlZCBuYW1lXG4gKiBwaXBlbGluZS1tYW5hZ2VyIGluZnJhIHN0b3JlLXRva2VuIC0tZHJ5LXJ1blxuICogcGlwZWxpbmUtbWFuYWdlciBpbmZyYSBzdG9yZS10b2tlbiAtZSBhZG1pbiAtcCAnKioqJyAtLXJlZ2lvbiB1cy1lYXN0LTFcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gc3RvcmVUb2tlbihwcm9ncmFtOiBDb21tYW5kKTogdm9pZCB7XG4gIHdpdGhTc2xPcHRpb25zKFxuICAgIHdpdGhQcm9maWxlT3B0aW9uKFxuICAgICAgd2l0aFJlZ2lvbk9wdGlvbihwcm9ncmFtXG4gICAgICAgIC5jb21tYW5kKCdzdG9yZS10b2tlbicpXG4gICAgICAgIC5kZXNjcmlwdGlvbignR2VuZXJhdGUgSldUIHRva2VuIGFuZCBzdG9yZSBpbiBBV1MgU2VjcmV0cyBNYW5hZ2VyIGZvciBDREsgZGVwbG95bWVudHMnKVxuICAgICAgICAub3B0aW9uKCctZSwgLS1lbWFpbCA8ZW1haWw+JywgJ0xvZ2luIGVtYWlsIChza2lwcyBQTEFURk9STV9UT0tFTiByZXF1aXJlbWVudCknKVxuICAgICAgICAub3B0aW9uKCctcCwgLS1wYXNzd29yZCA8cGFzc3dvcmQ+JywgJ0xvZ2luIHBhc3N3b3JkICh1c2VkIHdpdGggLS1lbWFpbCknKVxuICAgICAgICAub3B0aW9uKCctLWRheXMgPGRheXM+JywgJ1Rva2VuIGxpZmV0aW1lIGluIGRheXMnLCAnMzAnKVxuICAgICAgICAub3B0aW9uKCctLXNjb3BlIDxzY29wZT4nLCAnTWludCBhIG5hcnJvdy1zY29wZSBtYWNoaW5lIHRva2VuIChlLmcuIFwicmVwb3J0aW5nOmluZ2VzdFwiKSBhbmQgc3RvcmUgaXQgYXQgYSBzY29wZS1zcGVjaWZpYyBzZWNyZXQgcGF0aCBpbnN0ZWFkIG9mIHRoZSBzaGFyZWQgcGxhdGZvcm0gc2VjcmV0JylcbiAgICAgICAgLm9wdGlvbignLS1kcnktcnVuJywgJ1Nob3cgd2hhdCB3b3VsZCBiZSBzdG9yZWQgd2l0aG91dCB3cml0aW5nIHRvIFNlY3JldHMgTWFuYWdlcicsIGZhbHNlKSksXG4gICAgKVxuICAgICAgLm9wdGlvbignLS1zY2hlZHVsZScsICdBbHNvIGRlcGxveSB0aGUgZGFpbHkgdG9rZW4tcmVuZXdhbCBzdGFjayB0aGF0IGF1dG8tcmVuZXdzIHRoaXMgdG9rZW4gKG9mZiBieSBkZWZhdWx0KScsIGZhbHNlKVxuICAgICAgLm9wdGlvbignLS1jcm9uIDxleHByPicsICdSZW5ld2FsIHNjaGVkdWxlIGFzIGEgNS1maWVsZCBjcm9uLCB1c2VkIHdpdGggLS1zY2hlZHVsZSAoZGVmYXVsdDogVE9LRU5fUkVORVdfU0NIRURVTEUgZW52IG9yIFwiMCAwICogKiAqXCI7IG1pbiBldmVyeSAxNSBtaW51dGVzKScpXG4gICAgICAub3B0aW9uKCctLWpzb24nLCAnT3V0cHV0IHJlc3VsdCBhcyBKU09OJywgZmFsc2UpLFxuICApXG4gICAgLmFjdGlvbihhc3luYyAob3B0aW9ucykgPT4ge1xuICAgICAgY29uc3QgZXhlY3V0aW9uSWQgPSBwcmludENvbW1hbmRIZWFkZXIoJ1N0b3JlIFRva2VuJywgdW5kZWZpbmVkLCB7IHF1aWV0OiBvcHRpb25zLmpzb24gfSk7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHByaW50U3NsV2FybmluZyhvcHRpb25zLnZlcmlmeVNzbCk7XG5cbiAgICAgICAgY29uc3QgcmVnaW9uID0gcmVzb2x2ZUF3c1JlZ2lvbihvcHRpb25zLnJlZ2lvbik7XG5cbiAgICAgICAgY29uc3QgZGF5cyA9IHZhbGlkYXRlTnVtYmVyKG9wdGlvbnMuZGF5cywgJ2RheXMnLCAxLCAzNjUpO1xuICAgICAgICBjb25zdCBleHBpcmVzSW5TZWNvbmRzID0gZGF5cyAqIDI0ICogNjAgKiA2MDtcblxuICAgICAgICAvLyBTdGVwIDA6IGxvZyBpbiBmaXJzdCB3aGVuIGNyZWRzIGFyZSBhdmFpbGFibGUgYW5kIG5vIFBMQVRGT1JNX1RPS0VOIGlzIHNldFxuICAgICAgICAvLyAoc2hhcmVkIHdpdGggc2V0dXAtZXZlbnRzKS4gQ3JlZHMgY29tZSBmcm9tIC0tZW1haWwvLS1wYXNzd29yZCBPUiB0aGUgZW52XG4gICAgICAgIC8vIHZhcnMgUExBVEZPUk1fSURFTlRJRklFUi9QTEFURk9STV9QQVNTV09SRCDigJQgdGhlIGVudiBwYXRoIGxldHMgY2FsbGVycyBsaWtlXG4gICAgICAgIC8vIGBwcm92aXNpb24gLS13aXRoLWV2ZW50c2AgcGFzcyB0aGVtIHdpdGhvdXQgcHV0dGluZyB0aGUgcGFzc3dvcmQgb24gdGhlXG4gICAgICAgIC8vIGNvbW1hbmQgbGluZSAod2hlcmUgaXQgd291bGQgc2hvdyBpbiBwbGFucy9sb2dzKS5cbiAgICAgICAgYXdhaXQgZW5zdXJlUGxhdGZvcm1Ub2tlbihvcHRpb25zKTtcblxuICAgICAgICAvLyBTdGVwIDE6IEF1dGhlbnRpY2F0ZSBhbmQgZ2VuZXJhdGUgbG9uZy1saXZlZCB0b2tlblxuICAgICAgICBwcmludFNlY3Rpb24oJ0dlbmVyYXRlIFRva2VuJyk7XG5cbiAgICAgICAgY29uc3QgY2xpZW50ID0gYXdhaXQgY3JlYXRlQXV0aGVudGljYXRlZENsaWVudEFzeW5jKG9wdGlvbnMpO1xuXG4gICAgICAgIC8vIFJlc29sdmUgc2VjcmV0IG5hbWUgZnJvbSB0aGUgdG9rZW4ncyBvcmdhbml6YXRpb25JZC4gQW4gZXhwbGljaXRcbiAgICAgICAgLy8gUExBVEZPUk1fU0VDUkVUX05BTUUgZW52IHdpbnMgKGVzY2FwZSBoYXRjaCBmb3Igc3lzdGVtL25vLW9yZyB0b2tlbnMgYW5kXG4gICAgICAgIC8vIHRoZSByZW5ld2FsIExhbWJkYSk7IG90aGVyd2lzZSBkZXJpdmUgYHtwcmVmaXh9L3tvcmdJZH0vcGxhdGZvcm1gLlxuICAgICAgICAvLyBBIGAtLXNjb3BlYCB0b2tlbiBpcyBhIGRpc3RpbmN0IG1hY2hpbmUgY3JlZGVudGlhbCDigJQgc3RvcmUgaXQgYXQgYVxuICAgICAgICAvLyBzY29wZS1zcGVjaWZpYyBwYXRoIChgLi4uL3JlcG9ydGluZy1pbmdlc3RgKSBzbyBpdCBuZXZlciBjbG9iYmVycyB0aGVcbiAgICAgICAgLy8gZnVsbC1wcml2aWxlZ2UgcGxhdGZvcm0gdG9rZW4gdXNlZCBieSBzeW50aC9kZXBsb3kgY2FsbGJhY2tzLlxuICAgICAgICBjb25zdCBzY29wZSA9IG9wdGlvbnMuc2NvcGUgYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBiYXNlU2VjcmV0TmFtZSA9IHByb2Nlc3MuZW52LlBMQVRGT1JNX1NFQ1JFVF9OQU1FIHx8IHJlc29sdmVTZWNyZXROYW1lKHByb2Nlc3MuZW52LlBMQVRGT1JNX1RPS0VOISk7XG4gICAgICAgIGNvbnN0IHNlY3JldE5hbWUgPSBzY29wZSAmJiAhcHJvY2Vzcy5lbnYuUExBVEZPUk1fU0VDUkVUX05BTUVcbiAgICAgICAgICA/IGJhc2VTZWNyZXROYW1lLnJlcGxhY2UoL1xcL3BsYXRmb3JtJC8sIGAvJHtzY29wZS5yZXBsYWNlKC9bXmEtejAtOV0rL2dpLCAnLScpfWApXG4gICAgICAgICAgOiBiYXNlU2VjcmV0TmFtZTtcblxuICAgICAgICBhdWRpdExvZygnc3RvcmUtdG9rZW4nLCB7IGV4ZWN1dGlvbklkLCBzZWNyZXROYW1lLCBkYXlzLCBkcnlSdW46IG9wdGlvbnMuZHJ5UnVuIH0pO1xuXG4gICAgICAgIHByaW50SW5mbygnUGFyYW1ldGVycycsIHtcbiAgICAgICAgICBzZWNyZXROYW1lLFxuICAgICAgICAgIHJlZ2lvbixcbiAgICAgICAgICBkYXlzLFxuICAgICAgICAgIGV4cGlyZXNJbjogYCR7ZXhwaXJlc0luU2Vjb25kc31zYCxcbiAgICAgICAgICBkcnlSdW46IG9wdGlvbnMuZHJ5UnVuLFxuICAgICAgICB9KTtcblxuICAgICAgICBwcmludEluZm8oJ1JlcXVlc3RpbmcgdG9rZW4nLCB7IGV4cGlyZXNJbjogYCR7ZXhwaXJlc0luU2Vjb25kc31zICgke2RheXN9IGRheXMpYCB9KTtcblxuICAgICAgICBjb25zdCB0b2tlblJlc3BvbnNlID0gYXdhaXQgY2xpZW50LnBvc3Q8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+KFxuICAgICAgICAgICcvYXBpL3VzZXIvZ2VuZXJhdGUtdG9rZW4nLFxuICAgICAgICAgIHsgZXhwaXJlc0luOiBleHBpcmVzSW5TZWNvbmRzLCAuLi4oc2NvcGUgPyB7IHNjb3BlIH0gOiB7fSkgfSxcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCB0b2tlbkRhdGEgPSAodG9rZW5SZXNwb25zZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik/LmRhdGEgPz8gdG9rZW5SZXNwb25zZTtcbiAgICAgICAgY29uc3QgYWNjZXNzVG9rZW4gPSAodG9rZW5EYXRhIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KT8uYWNjZXNzVG9rZW4gYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCByZWZyZXNoVG9rZW4gPSAodG9rZW5EYXRhIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KT8ucmVmcmVzaFRva2VuIGFzIHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgYWN0dWFsRXhwaXJlc0luID0gKCh0b2tlbkRhdGEgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pPy5leHBpcmVzSW4gYXMgbnVtYmVyKSA/PyBleHBpcmVzSW5TZWNvbmRzO1xuXG4gICAgICAgIGlmICghYWNjZXNzVG9rZW4pIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Rva2VuIGdlbmVyYXRpb24gZmFpbGVkIOKAlCBubyBhY2Nlc3MgdG9rZW4gaW4gcmVzcG9uc2UnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHByaW50U3VjY2VzcyhgVG9rZW4gZ2VuZXJhdGVkIChleHBpcmVzIGluICR7YWN0dWFsRXhwaXJlc0lufXMpYCk7XG5cbiAgICAgICAgY29uc3QgZXhwaXJlc0F0ID0gbmV3IERhdGUoRGF0ZS5ub3coKSArIGFjdHVhbEV4cGlyZXNJbiAqIDEwMDApLnRvSVNPU3RyaW5nKCk7XG5cbiAgICAgICAgLy8gU2NoZW1hOiB7IHVzZXJuYW1lOiBvcmdJZCwgcGFzc3dvcmQ6IEpXVCwgLi4ubWV0YWRhdGEgfVxuICAgICAgICAvLyAtIHVzZXJuYW1lL3Bhc3N3b3JkIGZpZWxkcyBzYXRpc2Z5IENvZGVCdWlsZCdzIGBzZWNyZXRzTWFuYWdlckNyZWRlbnRpYWxzYFxuICAgICAgICAvLyAgIChIVFRQIEJhc2ljLCBzZW50IHRvIHBpcGVsaW5lLWltYWdlLXJlZ2lzdHJ5J3MgL3Rva2VuIGVuZHBvaW50KVxuICAgICAgICAvLyAtIFRoZSBzYW1lIEpXVCBpcyBjb25zdW1lZCBieSB0aGUgcGx1Z2luLWxvb2t1cCBMYW1iZGEgYnkgcmVhZGluZ1xuICAgICAgICAvLyAgIHRoZSBgcGFzc3dvcmRgIGZpZWxkXG4gICAgICAgIC8vIC0gT25lIFNlY3JldCBwZXIgY3VzdG9tZXIgYWNjb3VudCByZXBsYWNlcyB0aGUgcHJldmlvdXMgdHdvLXNlY3JldCBtb2RlbFxuICAgICAgICAvLyBEZWNvZGUgSldUIGZvciBvcmdJZCDigJQgaXQncyBhIHN0YWJsZSBpZGVudGlmaWVyIGZvciB0aGUgdXNlcm5hbWUgZmllbGQ7XG4gICAgICAgIC8vIHRoZSBhY3R1YWwgYXV0aCB1c2VzIHRoZSBwYXNzd29yZCAoSldUKSB3aGljaCB0aGUgdG9rZW4gc2VydmljZSB2ZXJpZmllcy5cbiAgICAgICAgLy8gYHx8YCAobm90IGA/P2ApOiBhbiBFTVBUWS1zdHJpbmcgb3JnYW5pemF0aW9uSWQgbXVzdCBhbHNvIGZhbGwgYmFjay4gQVxuICAgICAgICAvLyBzeXNhZG1pbi9zeXN0ZW0gdG9rZW4gb2Z0ZW4gY2FycmllcyBvcmdhbml6YXRpb25JZD1cIlwiLCBhbmQgQ29kZUJ1aWxkXG4gICAgICAgIC8vIHJlamVjdHMgYSByZWdpc3RyeSBjcmVkZW50aWFsIHdob3NlIGB1c2VybmFtZWAgZmllbGQgaXMgZW1wdHkgd2l0aFxuICAgICAgICAvLyBcIkF1dGhvcml6YXRpb25EYXRhIGlzIG1hbGZvcm1lZCwgZW1wdHkgZmllbGRcIiDigJQgc28gdXNlcm5hbWUgbXVzdCBhbHdheXNcbiAgICAgICAgLy8gYmUgYSBub24tZW1wdHkgdmFsdWUuXG4gICAgICAgIGNvbnN0IHBheWxvYWQgPSBkZWNvZGVUb2tlblBheWxvYWQoYWNjZXNzVG9rZW4pO1xuICAgICAgICBjb25zdCBvcmdJZCA9IHBheWxvYWQ/Lm9yZ2FuaXphdGlvbklkPy50cmltKCkgfHwgJ3Vua25vd24tb3JnJztcblxuICAgICAgICBjb25zdCBzZWNyZXRWYWx1ZSA9IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICB1c2VybmFtZTogb3JnSWQsXG4gICAgICAgICAgLy8gYHBhc3N3b3JkYCBpcyB0aGUgY2Fub25pY2FsIEpXVCBmaWVsZCDigJQgcmVhZCBieSBDb2RlQnVpbGQgY3JlZHMsXG4gICAgICAgICAgLy8gcGx1Z2luLWxvb2t1cCwgdG9rZW4tcmVuZXcsIGFuZCB0aGUgZXZlbnQtaW5nZXN0aW9uIExhbWJkYS5cbiAgICAgICAgICBwYXNzd29yZDogYWNjZXNzVG9rZW4sXG4gICAgICAgICAgLi4uKHJlZnJlc2hUb2tlbiAmJiB7IHJlZnJlc2hUb2tlbiB9KSxcbiAgICAgICAgICBwbGF0Zm9ybVVybDogY2xpZW50LmdldEJhc2VVcmwoKSxcbiAgICAgICAgICBleHBpcmVzSW46IGFjdHVhbEV4cGlyZXNJbixcbiAgICAgICAgICBleHBpcmVzQXQsXG4gICAgICAgICAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIERyeS1ydW46IHNob3cgd2hhdCB3b3VsZCBiZSBzdG9yZWRcbiAgICAgICAgaWYgKG9wdGlvbnMuZHJ5UnVuKSB7XG4gICAgICAgICAgaWYgKG9wdGlvbnMuanNvbikge1xuICAgICAgICAgICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgICAgICAgICBkcnlSdW46IHRydWUsXG4gICAgICAgICAgICAgIHNlY3JldE5hbWUsXG4gICAgICAgICAgICAgIHJlZ2lvbixcbiAgICAgICAgICAgICAgZXhwaXJlc0luRGF5czogZGF5cyxcbiAgICAgICAgICAgICAgZXhwaXJlc0F0LFxuICAgICAgICAgICAgICB0b2tlbkxlbmd0aDogYWNjZXNzVG9rZW4ubGVuZ3RoLFxuICAgICAgICAgICAgICBoYXNSZWZyZXNoVG9rZW46ICEhcmVmcmVzaFRva2VuLFxuICAgICAgICAgICAgfSwgbnVsbCwgMikpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnJyk7XG4gICAgICAgICAgICBwcmludFNlY3Rpb24oJ0RyeSBSdW4g4oCUIE5vIENoYW5nZXMgTWFkZScpO1xuICAgICAgICAgICAgcHJpbnRLZXlWYWx1ZSh7XG4gICAgICAgICAgICAgICdTZWNyZXQgTmFtZSc6IHNlY3JldE5hbWUsXG4gICAgICAgICAgICAgICdSZWdpb24nOiByZWdpb24sXG4gICAgICAgICAgICAgICdFeHBpcmVzIEluJzogYCR7ZGF5c30gZGF5c2AsXG4gICAgICAgICAgICAgICdSZW5ldyBCeSc6IGV4cGlyZXNBdCxcbiAgICAgICAgICAgICAgJ1Rva2VuIExlbmd0aCc6IGAke2FjY2Vzc1Rva2VuLmxlbmd0aH0gY2hhcnNgLFxuICAgICAgICAgICAgICAnSGFzIFJlZnJlc2ggVG9rZW4nOiByZWZyZXNoVG9rZW4gPyAnWWVzJyA6ICdObycsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHByaW50U3VjY2VzcygnRHJ5IHJ1biBjb21wbGV0ZSDigJQgbm8gc2VjcmV0IHdhcyBjcmVhdGVkIG9yIHVwZGF0ZWQnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3RlcCAyOiBTdG9yZSB0b2tlbiBpbiBTZWNyZXRzIE1hbmFnZXJcbiAgICAgICAgcHJpbnRTZWN0aW9uKCdTdG9yZSBUb2tlbicpO1xuXG4gICAgICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gYFBsYXRmb3JtIEpXVCB0b2tlbiAocmVuZXcgYnkgJHtleHBpcmVzQXR9KWA7XG4gICAgICAgIGF3YWl0IHVwc2VydFNlY3JldChzZWNyZXROYW1lLCBzZWNyZXRWYWx1ZSwgZGVzY3JpcHRpb24sIHsgcmVnaW9uLCBwcm9maWxlOiBvcHRpb25zLnByb2ZpbGUgfSk7XG5cbiAgICAgICAgY29uc3QgYXJuID0gYXdhaXQgZ2V0U2VjcmV0QXJuKHNlY3JldE5hbWUsIHsgcmVnaW9uLCBwcm9maWxlOiBvcHRpb25zLnByb2ZpbGUgfSk7XG5cbiAgICAgICAgLy8gT3B0aW9uYWxseSBpbnN0YWxsIHRoZSBvbmNlLWEtZGF5IHJlbmV3YWwgc3RhY2sgc28gdGhpcyB0b2tlbiBuZXZlciBsYXBzZXMuXG4gICAgICAgIC8vIE9mZiBieSBkZWZhdWx0IOKAlCBvcHQgaW4gd2l0aCAtLXNjaGVkdWxlIChlLmcuIGZvciB0aGUgQVdTIGV2ZW50LWluZ2VzdGlvblxuICAgICAgICAvLyBidW5kbGUgd2hvc2UgTGFtYmRhIG5lZWRzIGEgbm9uLWV4cGlyaW5nIHRva2VuKS5cbiAgICAgICAgbGV0IHNjaGVkdWxlRXhwcmVzc2lvbjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICBpZiAob3B0aW9ucy5zY2hlZHVsZSkge1xuICAgICAgICAgIGNvbnN0IGZpdmVGaWVsZENyb24gPSBvcHRpb25zLmNyb24gfHwgcHJvY2Vzcy5lbnYuVE9LRU5fUkVORVdfU0NIRURVTEUgfHwgREVGQVVMVF9SRU5FV19DUk9OO1xuICAgICAgICAgIHNjaGVkdWxlRXhwcmVzc2lvbiA9IGF3YWl0IGRlcGxveVJlbmV3U2NoZWR1bGUoe1xuICAgICAgICAgICAgcGxhdGZvcm1Vcmw6IGNsaWVudC5nZXRCYXNlVXJsKCksXG4gICAgICAgICAgICBzZWNyZXROYW1lLFxuICAgICAgICAgICAgZGF5cyxcbiAgICAgICAgICAgIGZpdmVGaWVsZENyb24sXG4gICAgICAgICAgICByZWdpb24sXG4gICAgICAgICAgICBwcm9maWxlOiBvcHRpb25zLnByb2ZpbGUsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3B0aW9ucy5qc29uKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgICAgICAgIHNlY3JldE5hbWUsXG4gICAgICAgICAgICBzZWNyZXRBcm46IGFybixcbiAgICAgICAgICAgIHJlZ2lvbixcbiAgICAgICAgICAgIGV4cGlyZXNJbkRheXM6IGRheXMsXG4gICAgICAgICAgICBleHBpcmVzQXQsXG4gICAgICAgICAgICBzY2hlZHVsZTogc2NoZWR1bGVFeHByZXNzaW9uID8/IG51bGwsXG4gICAgICAgICAgfSwgbnVsbCwgMikpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnNvbGUubG9nKCcnKTtcbiAgICAgICAgICBwcmludFNlY3Rpb24oJ1Rva2VuIFN0b3JlZCcpO1xuXG4gICAgICAgICAgcHJpbnRLZXlWYWx1ZSh7XG4gICAgICAgICAgICAnU2VjcmV0IE5hbWUnOiBzZWNyZXROYW1lLFxuICAgICAgICAgICAgJ1NlY3JldCBBUk4nOiBhcm4sXG4gICAgICAgICAgICAnUmVnaW9uJzogcmVnaW9uLFxuICAgICAgICAgICAgJ0V4cGlyZXMgSW4nOiBgJHtkYXlzfSBkYXlzYCxcbiAgICAgICAgICAgICdSZW5ldyBCeSc6IGV4cGlyZXNBdCxcbiAgICAgICAgICAgICdBdXRvLVJlbmV3Jzogc2NoZWR1bGVFeHByZXNzaW9uID8gYOKckyAke3NjaGVkdWxlRXhwcmVzc2lvbn1gIDogJ29mZiAocGFzcyAtLXNjaGVkdWxlIHRvIGVuYWJsZSknLFxuICAgICAgICAgICAgJ1N0YXR1cyc6ICfinJMgU3RvcmVkJyxcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGNvbnNvbGUubG9nKCcnKTtcbiAgICAgICAgICBwcmludFN1Y2Nlc3MoJ1Rva2VuIHN0b3JlZC4gVG8gdXNlIHdpdGggc3ludGgvZGVwbG95OicpO1xuICAgICAgICAgIHByaW50SW5mbyhgICBleHBvcnQgUExBVEZPUk1fU0VDUkVUX05BTUU9JHtzZWNyZXROYW1lfWApO1xuICAgICAgICAgIHByaW50SW5mbygnICBwaXBlbGluZS1tYW5hZ2VyIHBpcGVsaW5lIHN5bnRoIC0taWQgPHBpcGVsaW5lLWlkPiAtLXN0b3JlLXRva2VucycpO1xuICAgICAgICAgIGNvbnNvbGUubG9nKCcnKTtcbiAgICAgICAgICBpZiAoc2NoZWR1bGVFeHByZXNzaW9uKSB7XG4gICAgICAgICAgICBwcmludEluZm8oYEF1dG8tcmVuZXdhbCBpcyBhY3RpdmUgKCR7c2NoZWR1bGVFeHByZXNzaW9ufSk7IHRoZSBzZWNyZXQgcmVmcmVzaGVzIGJlZm9yZSAke2V4cGlyZXNBdH0uYCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHByaW50SW5mbyhgUmVuZXcgYmVmb3JlICR7ZXhwaXJlc0F0fSB3aXRoOiBwaXBlbGluZS1tYW5hZ2VyIGluZnJhIHN0b3JlLXRva2VuIC0tZGF5cyAke2RheXN9YCk7XG4gICAgICAgICAgICBwcmludEluZm8oJyAgKG9yIHBhc3MgLS1zY2hlZHVsZSB0byBpbnN0YWxsIGEgZGFpbHkgYXV0by1yZW5ld2FsIHN0YWNrKScpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBoYW5kbGVFcnJvcihlcnJvciwgRVJST1JfQ09ERVMuQVBJX1JFUVVFU1QsIHtcbiAgICAgICAgICBkZWJ1ZzogcHJvZ3JhbS5vcHRzKCkuZGVidWcsXG4gICAgICAgICAgZXhpdDogdHJ1ZSxcbiAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICBjb21tYW5kOiAnc3RvcmUtdG9rZW4nLFxuICAgICAgICAgICAgZXhlY3V0aW9uSWQsXG4gICAgICAgICAgICBzZWNyZXROYW1lOiBwcm9jZXNzLmVudi5QTEFURk9STV9TRUNSRVRfTkFNRSB8fCAnKGRlcml2ZWQgZnJvbSB0b2tlbiknLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xufVxuIl19
|
|
294
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUtdG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvc3RvcmUtdG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3pCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sRUFBRSxZQUFZLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDekUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNySyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVyRiwwREFBMEQ7QUFDMUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUUvRCxNQUFNLGdCQUFnQixHQUFHLDhCQUE4QixDQUFDO0FBQ3hELCtFQUErRTtBQUMvRSxNQUFNLGlCQUFpQixHQUFHLDhCQUE4QixDQUFDO0FBQ3pELGdHQUFnRztBQUNoRyxNQUFNLGtCQUFrQixHQUFHLFdBQVcsQ0FBQztBQUV2Qzs7Ozs7OztHQU9HO0FBQ0gsS0FBSyxVQUFVLG1CQUFtQixDQUFDLElBT2xDO0lBQ0MsTUFBTSxrQkFBa0IsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQywyQkFBMkI7SUFFN0YsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDakMsU0FBUyxDQUFDLFlBQVksRUFBRTtRQUN0QixLQUFLLEVBQUUsZ0JBQWdCO1FBQ3ZCLFFBQVEsRUFBRSxJQUFJLENBQUMsYUFBYTtRQUM1QixXQUFXLEVBQUUsa0JBQWtCO1FBQy9CLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSTtLQUNyQixDQUFDLENBQUM7SUFFSCxnRUFBZ0U7SUFDaEUsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUscUNBQXFDLENBQUMsQ0FBQztJQUNqRixNQUFNLE9BQU8sR0FBRztRQUNkLGdCQUFnQixFQUFFLFFBQVE7UUFDMUIsY0FBYyxFQUFFLGdCQUFnQjtRQUNoQyxpQkFBaUIsRUFBRSxZQUFZO1FBQy9CLHVCQUF1QjtRQUN2QixtQkFBbUIsSUFBSSxDQUFDLFdBQVcsRUFBRTtRQUNyQyxzQkFBc0IsSUFBSSxDQUFDLFVBQVUsRUFBRTtRQUN2QyxhQUFhLElBQUksQ0FBQyxJQUFJLEVBQUU7UUFDeEIsc0JBQXNCLGtCQUFrQixFQUFFO1FBQzFDLDRFQUE0RTtRQUM1RSw0Q0FBNEM7UUFDNUMsMEJBQTBCLFdBQVcsRUFBRTtRQUN2QyxnQkFBZ0IsRUFBRSxzQkFBc0I7UUFDeEMsOEJBQThCO1FBQzlCLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTTtLQUN4QixDQUFDO0lBQ0YsSUFBSSxJQUFJLENBQUMsT0FBTztRQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxRCxZQUFZLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBRW5ELGdGQUFnRjtJQUNoRiwwRUFBMEU7SUFDMUUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsa0NBQWtDLENBQUMsQ0FBQztJQUM1RSxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1FBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLFVBQVUsMkJBQTJCLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBQ0QsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLElBQUksQ0FBQztRQUNILEVBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDNUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDL0MsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsV0FBVyxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRWxGLE1BQU0sWUFBWSxHQUFHLElBQUksWUFBWSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLHlCQUF5QixDQUFDO1lBQ3BELFlBQVksRUFBRSxpQkFBaUI7WUFDL0IsT0FBTyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDO1NBQ2xDLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztZQUFTLENBQUM7UUFDVCxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELFlBQVksQ0FBQyxzQkFBc0Isa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO0lBQzFELE9BQU8sa0JBQWtCLENBQUM7QUFDNUIsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBQyxPQUFnQjtJQUN6QyxjQUFjLENBQ1osaUJBQWlCLENBQ2YsZ0JBQWdCLENBQUMsT0FBTztTQUNyQixPQUFPLENBQUMsYUFBYSxDQUFDO1NBQ3RCLFdBQVcsQ0FBQyx5RUFBeUUsQ0FBQztTQUN0RixNQUFNLENBQUMsK0JBQStCLEVBQUUsc0RBQXNELENBQUM7U0FDL0YsTUFBTSxDQUFDLDJCQUEyQixFQUFFLHlDQUF5QyxDQUFDO1NBQzlFLE1BQU0sQ0FBQyxlQUFlLEVBQUUsd0JBQXdCLEVBQUUsSUFBSSxDQUFDO1NBQ3ZELE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxnSkFBZ0osQ0FBQztTQUMzSyxNQUFNLENBQUMsV0FBVyxFQUFFLDhEQUE4RCxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQy9GO1NBQ0UsTUFBTSxDQUFDLFlBQVksRUFBRSx3RkFBd0YsRUFBRSxLQUFLLENBQUM7U0FDckgsTUFBTSxDQUFDLGVBQWUsRUFBRSxtSUFBbUksQ0FBQztTQUM1SixNQUFNLENBQUMsUUFBUSxFQUFFLHVCQUF1QixFQUFFLEtBQUssQ0FBQyxDQUNwRDtTQUNFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDeEIsTUFBTSxXQUFXLEdBQUcsa0JBQWtCLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUUxRixJQUFJLENBQUM7WUFDSCxlQUFlLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRW5DLE1BQU0sTUFBTSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUVoRCxNQUFNLElBQUksR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzFELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBRTdDLDZFQUE2RTtZQUM3RSw0RUFBNEU7WUFDNUUsOEVBQThFO1lBQzlFLDBFQUEwRTtZQUMxRSxvREFBb0Q7WUFDcEQsTUFBTSxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUVuQyxxREFBcUQ7WUFDckQsWUFBWSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFFL0IsTUFBTSxNQUFNLEdBQUcsTUFBTSw4QkFBOEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUU3RCxtRUFBbUU7WUFDbkUsMkVBQTJFO1lBQzNFLHFFQUFxRTtZQUNyRSxxRUFBcUU7WUFDckUsd0VBQXdFO1lBQ3hFLGdFQUFnRTtZQUNoRSxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBMkIsQ0FBQztZQUNsRCxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixJQUFJLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBZSxDQUFDLENBQUM7WUFDMUcsTUFBTSxVQUFVLEdBQUcsS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0I7Z0JBQzNELENBQUMsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ2pGLENBQUMsQ0FBQyxjQUFjLENBQUM7WUFFbkIsUUFBUSxDQUFDLGFBQWEsRUFBRSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUVuRixTQUFTLENBQUMsWUFBWSxFQUFFO2dCQUN0QixVQUFVO2dCQUNWLE1BQU07Z0JBQ04sSUFBSTtnQkFDSixTQUFTLEVBQUUsR0FBRyxnQkFBZ0IsR0FBRztnQkFDakMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO2FBQ3ZCLENBQUMsQ0FBQztZQUVILFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLFNBQVMsRUFBRSxHQUFHLGdCQUFnQixNQUFNLElBQUksUUFBUSxFQUFFLENBQUMsQ0FBQztZQUVwRixNQUFNLGFBQWEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQ3JDLDBCQUEwQixFQUMxQixFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUM3RCxDQUFDO1lBRUYsTUFBTSxTQUFTLEdBQUksYUFBeUMsRUFBRSxJQUFJLElBQUksYUFBYSxDQUFDO1lBQ3BGLE1BQU0sV0FBVyxHQUFJLFNBQXFDLEVBQUUsV0FBaUMsQ0FBQztZQUM5RixNQUFNLFlBQVksR0FBSSxTQUFxQyxFQUFFLFlBQWtDLENBQUM7WUFDaEcsTUFBTSxlQUFlLEdBQUssU0FBcUMsRUFBRSxTQUFvQixJQUFJLGdCQUFnQixDQUFDO1lBRTFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO1lBQzNFLENBQUM7WUFFRCxZQUFZLENBQUMsK0JBQStCLGVBQWUsSUFBSSxDQUFDLENBQUM7WUFFakUsTUFBTSxTQUFTLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLGVBQWUsR0FBRyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUU5RSwwREFBMEQ7WUFDMUQsNkVBQTZFO1lBQzdFLG9FQUFvRTtZQUNwRSxvRUFBb0U7WUFDcEUseUJBQXlCO1lBQ3pCLDJFQUEyRTtZQUMzRSwwRUFBMEU7WUFDMUUsNEVBQTRFO1lBQzVFLHlFQUF5RTtZQUN6RSx1RUFBdUU7WUFDdkUscUVBQXFFO1lBQ3JFLDBFQUEwRTtZQUMxRSx3QkFBd0I7WUFDeEIsTUFBTSxPQUFPLEdBQUcsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDaEQsTUFBTSxLQUFLLEdBQUcsT0FBTyxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsSUFBSSxhQUFhLENBQUM7WUFFL0QsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDakMsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsbUVBQW1FO2dCQUNuRSw4REFBOEQ7Z0JBQzlELFFBQVEsRUFBRSxXQUFXO2dCQUNyQixHQUFHLENBQUMsWUFBWSxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUM7Z0JBQ3JDLFdBQVcsRUFBRSxNQUFNLENBQUMsVUFBVSxFQUFFO2dCQUNoQyxTQUFTLEVBQUUsZUFBZTtnQkFDMUIsU0FBUztnQkFDVCxTQUFTLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUU7YUFDcEMsQ0FBQyxDQUFDO1lBRUgscUNBQXFDO1lBQ3JDLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNuQixJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDakIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO3dCQUN6QixPQUFPLEVBQUUsSUFBSTt3QkFDYixNQUFNLEVBQUUsSUFBSTt3QkFDWixVQUFVO3dCQUNWLE1BQU07d0JBQ04sYUFBYSxFQUFFLElBQUk7d0JBQ25CLFNBQVM7d0JBQ1QsV0FBVyxFQUFFLFdBQVcsQ0FBQyxNQUFNO3dCQUMvQixlQUFlLEVBQUUsQ0FBQyxDQUFDLFlBQVk7cUJBQ2hDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2YsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ2hCLFlBQVksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO29CQUMxQyxhQUFhLENBQUM7d0JBQ1osYUFBYSxFQUFFLFVBQVU7d0JBQ3pCLFFBQVEsRUFBRSxNQUFNO3dCQUNoQixZQUFZLEVBQUUsR0FBRyxJQUFJLE9BQU87d0JBQzVCLFVBQVUsRUFBRSxTQUFTO3dCQUNyQixjQUFjLEVBQUUsR0FBRyxXQUFXLENBQUMsTUFBTSxRQUFRO3dCQUM3QyxtQkFBbUIsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSTtxQkFDakQsQ0FBQyxDQUFDO29CQUNILFlBQVksQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO2dCQUN0RSxDQUFDO2dCQUNELE9BQU87WUFDVCxDQUFDO1lBRUQseUNBQXlDO1lBQ3pDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUU1QixNQUFNLFdBQVcsR0FBRyxnQ0FBZ0MsU0FBUyxHQUFHLENBQUM7WUFDakUsTUFBTSxZQUFZLENBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBRS9GLE1BQU0sR0FBRyxHQUFHLE1BQU0sWUFBWSxDQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFFakYsOEVBQThFO1lBQzlFLDRFQUE0RTtZQUM1RSxtREFBbUQ7WUFDbkQsSUFBSSxrQkFBc0MsQ0FBQztZQUMzQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDckIsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixJQUFJLGtCQUFrQixDQUFDO2dCQUM3RixrQkFBa0IsR0FBRyxNQUFNLG1CQUFtQixDQUFDO29CQUM3QyxXQUFXLEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFBRTtvQkFDaEMsVUFBVTtvQkFDVixJQUFJO29CQUNKLGFBQWE7b0JBQ2IsTUFBTTtvQkFDTixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87aUJBQ3pCLENBQUMsQ0FBQztZQUNMLENBQUM7WUFFRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDakIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO29CQUN6QixPQUFPLEVBQUUsSUFBSTtvQkFDYixVQUFVO29CQUNWLFNBQVMsRUFBRSxHQUFHO29CQUNkLE1BQU07b0JBQ04sYUFBYSxFQUFFLElBQUk7b0JBQ25CLFNBQVM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQixJQUFJLElBQUk7aUJBQ3JDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDZixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDaEIsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUU3QixhQUFhLENBQUM7b0JBQ1osYUFBYSxFQUFFLFVBQVU7b0JBQ3pCLFlBQVksRUFBRSxHQUFHO29CQUNqQixRQUFRLEVBQUUsTUFBTTtvQkFDaEIsWUFBWSxFQUFFLEdBQUcsSUFBSSxPQUFPO29CQUM1QixVQUFVLEVBQUUsU0FBUztvQkFDckIsWUFBWSxFQUFFLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxLQUFLLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDLGlDQUFpQztvQkFDaEcsUUFBUSxFQUFFLFVBQVU7aUJBQ3JCLENBQUMsQ0FBQztnQkFFSCxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNoQixZQUFZLENBQUMseUNBQXlDLENBQUMsQ0FBQztnQkFDeEQsU0FBUyxDQUFDLGlDQUFpQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO2dCQUN6RCxTQUFTLENBQUMscUVBQXFFLENBQUMsQ0FBQztnQkFDakYsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDaEIsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO29CQUN2QixTQUFTLENBQUMsMkJBQTJCLGtCQUFrQixrQ0FBa0MsU0FBUyxHQUFHLENBQUMsQ0FBQztnQkFDekcsQ0FBQztxQkFBTSxDQUFDO29CQUNOLFNBQVMsQ0FBQyxnQkFBZ0IsU0FBUyxvREFBb0QsSUFBSSxFQUFFLENBQUMsQ0FBQztvQkFDL0YsU0FBUyxDQUFDLDhEQUE4RCxDQUFDLENBQUM7Z0JBQzVFLENBQUM7WUFDSCxDQUFDO1FBRUgsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixXQUFXLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxXQUFXLEVBQUU7Z0JBQzFDLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSztnQkFDM0IsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsT0FBTyxFQUFFO29CQUNQLE9BQU8sRUFBRSxhQUFhO29CQUN0QixXQUFXO29CQUNYLFVBQVUsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixJQUFJLHNCQUFzQjtpQkFDdkU7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IGV4ZWNGaWxlU3luYyB9IGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCB9IGZyb20gJ25vZGU6dXJsJztcbmltcG9ydCAqIGFzIG9zIGZyb20gJ29zJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgTGFtYmRhQ2xpZW50LCBVcGRhdGVGdW5jdGlvbkNvZGVDb21tYW5kIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWxhbWJkYSc7XG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnY29tbWFuZGVyJztcbmltcG9ydCB7IEFQUF9WRVJTSU9OLCB2YWxpZGF0ZU51bWJlciB9IGZyb20gJy4uL2NvbmZpZy9jbGkuY29uc3RhbnRzLmpzJztcbmltcG9ydCB7IGF1ZGl0TG9nIH0gZnJvbSAnLi4vdXRpbHMvYXVkaXQtbG9nLmpzJztcbmltcG9ydCB7IGRlY29kZVRva2VuUGF5bG9hZCB9IGZyb20gJy4uL3V0aWxzL2F1dGgtZ3VhcmQuanMnO1xuaW1wb3J0IHsgcmVzb2x2ZUF3c1JlZ2lvbiB9IGZyb20gJy4uL3V0aWxzL2F3cy1lbnYuanMnO1xuaW1wb3J0IHsgdXBzZXJ0U2VjcmV0LCBnZXRTZWNyZXRBcm4gfSBmcm9tICcuLi91dGlscy9hd3Mtc2VjcmV0cy5qcyc7XG5pbXBvcnQgeyBjcmVhdGVBdXRoZW50aWNhdGVkQ2xpZW50QXN5bmMsIHByaW50Q29tbWFuZEhlYWRlciwgcHJpbnRTc2xXYXJuaW5nLCB3aXRoUHJvZmlsZU9wdGlvbiwgd2l0aFJlZ2lvbk9wdGlvbiwgd2l0aFNzbE9wdGlvbnMgfSBmcm9tICcuLi91dGlscy9jb21tYW5kLXV0aWxzLmpzJztcbmltcG9ydCB7IHRvRXZlbnRCcmlkZ2VDcm9uIH0gZnJvbSAnLi4vdXRpbHMvY3Jvbi5qcyc7XG5pbXBvcnQgeyBFUlJPUl9DT0RFUywgaGFuZGxlRXJyb3IgfSBmcm9tICcuLi91dGlscy9lcnJvci1oYW5kbGVyLmpzJztcbmltcG9ydCB7IHByaW50SW5mbywgcHJpbnRLZXlWYWx1ZSwgcHJpbnRTZWN0aW9uLCBwcmludFN1Y2Nlc3MgfSBmcm9tICcuLi91dGlscy9vdXRwdXQtdXRpbHMuanMnO1xuaW1wb3J0IHsgZW5zdXJlUGxhdGZvcm1Ub2tlbiwgcmVzb2x2ZVNlY3JldE5hbWUgfSBmcm9tICcuLi91dGlscy9wbGF0Zm9ybS1zZWNyZXQuanMnO1xuXG4vLyBFU00gaGFzIG5vIF9fZGlybmFtZTsgZGVyaXZlIGl0IGZyb20gdGhpcyBtb2R1bGUncyBVUkwuXG5jb25zdCBfX2Rpcm5hbWUgPSBwYXRoLmRpcm5hbWUoZmlsZVVSTFRvUGF0aChpbXBvcnQubWV0YS51cmwpKTtcblxuY29uc3QgUkVORVdfU1RBQ0tfTkFNRSA9ICdwaXBlbGluZS1idWlsZGVyLXRva2VuLXJlbmV3Jztcbi8vIENGTi1tYW5hZ2VkIExhbWJkYSBmdW5jdGlvbiBuYW1lIOKAlCBrZWVwIGluIHN5bmMgd2l0aCB0b2tlbi1yZW5ldy1zdGFjay5qc29uLlxuY29uc3QgUkVORVdfTEFNQkRBX05BTUUgPSAncGlwZWxpbmUtYnVpbGRlci10b2tlbi1yZW5ldyc7XG4vLyBEZWZhdWx0IDUtZmllbGQgY3JvbiAoZGFpbHkgYXQgbWlkbmlnaHQpIHdoZW4gbmVpdGhlciAtLWNyb24gbm9yIFRPS0VOX1JFTkVXX1NDSEVEVUxFIGlzIHNldC5cbmNvbnN0IERFRkFVTFRfUkVORVdfQ1JPTiA9ICcwIDAgKiAqIConO1xuXG4vKipcbiAqIERlcGxveSAob3IgdXBkYXRlKSB0aGUgb25jZS1hLWRheSB0b2tlbi1yZW5ld2FsIHN0YWNrOiBhIHNjaGVkdWxlZCBMYW1iZGEgdGhhdFxuICogcmUtbWludHMgdGhlIHBsYXRmb3JtIEpXVCBpbiB0aGlzIHNhbWUgc2VjcmV0IGJlZm9yZSBpdCBleHBpcmVzLiBNaXJyb3JzXG4gKiBzZXR1cC1ldmVudHMg4oCUIGBhd3MgY2xvdWRmb3JtYXRpb24gZGVwbG95YCBmb3IgdGhlIGluZnJhLCB0aGVuIGEgZGlyZWN0XG4gKiBVcGRhdGVGdW5jdGlvbkNvZGUgd2l0aCB0aGUgdGhpbiBvcmNoZXN0cmF0b3IgaGFuZGxlciBjb21waWxlZCBhbG9uZ3NpZGUgdGhpc1xuICogQ0xJICh0aGUgaGFuZGxlciBucG0taW5zdGFsbHMgcGlwZWxpbmUtbWFuYWdlciBhdCBydW50aW1lIGFuZCByZS1ydW5zXG4gKiBzdG9yZS10b2tlbjsgc2VlIHNyYy9sYW1iZGEvdG9rZW4tcmVuZXctaGFuZGxlci50cykuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGRlcGxveVJlbmV3U2NoZWR1bGUob3B0czoge1xuICBwbGF0Zm9ybVVybDogc3RyaW5nO1xuICBzZWNyZXROYW1lOiBzdHJpbmc7XG4gIGRheXM6IG51bWJlcjtcbiAgZml2ZUZpZWxkQ3Jvbjogc3RyaW5nO1xuICByZWdpb246IHN0cmluZztcbiAgcHJvZmlsZT86IHN0cmluZztcbn0pOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBzY2hlZHVsZUV4cHJlc3Npb24gPSB0b0V2ZW50QnJpZGdlQ3JvbihvcHRzLmZpdmVGaWVsZENyb24pOyAvLyB2YWxpZGF0ZXMgKyAxNS1taW4gZ3VhcmRcblxuICBwcmludFNlY3Rpb24oJ1NjaGVkdWxlIFJlbmV3YWwnKTtcbiAgcHJpbnRJbmZvKCdQYXJhbWV0ZXJzJywge1xuICAgIHN0YWNrOiBSRU5FV19TVEFDS19OQU1FLFxuICAgIHNjaGVkdWxlOiBvcHRzLmZpdmVGaWVsZENyb24sXG4gICAgZXZlbnRicmlkZ2U6IHNjaGVkdWxlRXhwcmVzc2lvbixcbiAgICByZW5ld0RheXM6IG9wdHMuZGF5cyxcbiAgfSk7XG5cbiAgLy8gU3RlcCAxOiBpbmZyYSAoTGFtYmRhIGdldHMgcGxhY2Vob2xkZXIgY29kZSBvbiBmaXJzdCBjcmVhdGUpLlxuICBjb25zdCB0ZW1wbGF0ZVBhdGggPSBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4vdGVtcGxhdGVzL3Rva2VuLXJlbmV3LXN0YWNrLmpzb24nKTtcbiAgY29uc3QgY2ZuQXJncyA9IFtcbiAgICAnY2xvdWRmb3JtYXRpb24nLCAnZGVwbG95JyxcbiAgICAnLS1zdGFjay1uYW1lJywgUkVORVdfU1RBQ0tfTkFNRSxcbiAgICAnLS10ZW1wbGF0ZS1maWxlJywgdGVtcGxhdGVQYXRoLFxuICAgICctLXBhcmFtZXRlci1vdmVycmlkZXMnLFxuICAgIGBQbGF0Zm9ybUJhc2VVcmw9JHtvcHRzLnBsYXRmb3JtVXJsfWAsXG4gICAgYFBsYXRmb3JtU2VjcmV0TmFtZT0ke29wdHMuc2VjcmV0TmFtZX1gLFxuICAgIGBSZW5ld0RheXM9JHtvcHRzLmRheXN9YCxcbiAgICBgU2NoZWR1bGVFeHByZXNzaW9uPSR7c2NoZWR1bGVFeHByZXNzaW9ufWAsXG4gICAgLy8gUGluIHRoZSBoYW5kbGVyJ3MgcnVudGltZSBucG0gaW5zdGFsbCB0byBUSElTIENMSSdzIHZlcnNpb24gKHJlcHJvZHVjaWJsZVxuICAgIC8vIHJlbmV3YWxzIGluc3RlYWQgb2YgYSBmbG9hdGluZyBcImxhdGVzdFwiKS5cbiAgICBgUGlwZWxpbmVNYW5hZ2VyVmVyc2lvbj0ke0FQUF9WRVJTSU9OfWAsXG4gICAgJy0tY2FwYWJpbGl0aWVzJywgJ0NBUEFCSUxJVFlfTkFNRURfSUFNJyxcbiAgICAnLS1uby1mYWlsLW9uLWVtcHR5LWNoYW5nZXNldCcsXG4gICAgJy0tcmVnaW9uJywgb3B0cy5yZWdpb24sXG4gIF07XG4gIGlmIChvcHRzLnByb2ZpbGUpIGNmbkFyZ3MucHVzaCgnLS1wcm9maWxlJywgb3B0cy5wcm9maWxlKTtcbiAgZXhlY0ZpbGVTeW5jKCdhd3MnLCBjZm5BcmdzLCB7IHN0ZGlvOiAnaW5oZXJpdCcgfSk7XG5cbiAgLy8gU3RlcCAyOiB1cGxvYWQgdGhlIHJlYWwgaGFuZGxlci4gSXQncyBFU00sIHNvIHRoZSB6aXAgZW50cnkgbXVzdCBiZSBpbmRleC5tanNcbiAgLy8gKEhhbmRsZXIgc3RheXMgaW5kZXguaGFuZGxlciDigJQgbm9kZWpzMjQueCByZXNvbHZlcyB0aGUgLm1qcyBleHRlbnNpb24pLlxuICBjb25zdCBoYW5kbGVyU3JjID0gcGF0aC5qb2luKF9fZGlybmFtZSwgJy4uL2xhbWJkYS90b2tlbi1yZW5ldy1oYW5kbGVyLmpzJyk7XG4gIGlmICghZnMuZXhpc3RzU3luYyhoYW5kbGVyU3JjKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVG9rZW4tcmVuZXcgaGFuZGxlciBub3QgZm91bmQgYXQgJHtoYW5kbGVyU3JjfSDigJQgd2FzIHRoZSBwYWNrYWdlIGJ1aWx0P2ApO1xuICB9XG4gIGNvbnN0IHRtcERpciA9IGZzLm1rZHRlbXBTeW5jKHBhdGguam9pbihvcy50bXBkaXIoKSwgJ3Rva2VuLXJlbmV3LScpKTtcbiAgdHJ5IHtcbiAgICBmcy5jb3B5RmlsZVN5bmMoaGFuZGxlclNyYywgcGF0aC5qb2luKHRtcERpciwgJ2luZGV4Lm1qcycpKTtcbiAgICBjb25zdCB6aXBQYXRoID0gcGF0aC5qb2luKHRtcERpciwgJ2luZGV4LnppcCcpO1xuICAgIGV4ZWNGaWxlU3luYygnemlwJywgWyctaicsIHppcFBhdGgsICdpbmRleC5tanMnXSwgeyBjd2Q6IHRtcERpciwgc3RkaW86ICdwaXBlJyB9KTtcblxuICAgIGNvbnN0IGxhbWJkYUNsaWVudCA9IG5ldyBMYW1iZGFDbGllbnQoeyByZWdpb246IG9wdHMucmVnaW9uIH0pO1xuICAgIGF3YWl0IGxhbWJkYUNsaWVudC5zZW5kKG5ldyBVcGRhdGVGdW5jdGlvbkNvZGVDb21tYW5kKHtcbiAgICAgIEZ1bmN0aW9uTmFtZTogUkVORVdfTEFNQkRBX05BTUUsXG4gICAgICBaaXBGaWxlOiBmcy5yZWFkRmlsZVN5bmMoemlwUGF0aCksXG4gICAgfSkpO1xuICB9IGZpbmFsbHkge1xuICAgIGZzLnJtU3luYyh0bXBEaXIsIHsgcmVjdXJzaXZlOiB0cnVlLCBmb3JjZTogdHJ1ZSB9KTtcbiAgfVxuXG4gIHByaW50U3VjY2VzcyhgUmVuZXdhbCBzY2hlZHVsZWQgKCR7c2NoZWR1bGVFeHByZXNzaW9ufSlgKTtcbiAgcmV0dXJuIHNjaGVkdWxlRXhwcmVzc2lvbjtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgdGhlIGBzdG9yZS10b2tlbmAgY29tbWFuZCB3aXRoIHRoZSBDTEkgcHJvZ3JhbS5cbiAqXG4gKiBHZW5lcmF0ZXMgYSBsb25nLWxpdmVkIEpXVCB0b2tlbiB2aWEgdGhlIHBsYXRmb3JtIEFQSSBhbmQgc3RvcmVzIGl0XG4gKiBpbiBBV1MgU2VjcmV0cyBNYW5hZ2VyIGZvciB1c2UgYnkgdGhlIHN5bnRoL2RlcGxveSAtLXN0b3JlLXRva2VucyBmbGFnLlxuICpcbiAqIFJlcXVpcmVzIFBMQVRGT1JNX1RPS0VOIHRvIGJlIHNldCwgb3IgdXNlIC0tZW1haWwvLS1wYXNzd29yZCB0byBsb2dpbiBpbmxpbmUuXG4gKlxuICogQnkgZGVmYXVsdCBpdCBPTkxZIHdyaXRlcyB0aGUgc2VjcmV0LiBQYXNzIC0tc2NoZWR1bGUgdG8gYWxzbyBkZXBsb3kgdGhlIGRhaWx5XG4gKiB0b2tlbi1yZW5ld2FsIHN0YWNrIChhIExhbWJkYSB0aGF0IGF1dG8tcmVuZXdzIHRoaXMgdG9rZW4gYmVmb3JlIGl0IGV4cGlyZXMpLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBiYXNoXG4gKiBwaXBlbGluZS1tYW5hZ2VyIGluZnJhIHN0b3JlLXRva2VuIC0tcmVnaW9uIHVzLWVhc3QtMVxuICogcGlwZWxpbmUtbWFuYWdlciBpbmZyYSBzdG9yZS10b2tlbiAtLWRheXMgOTAgLS1yZWdpb24gdXMtZWFzdC0xXG4gKiBwaXBlbGluZS1tYW5hZ2VyIGluZnJhIHN0b3JlLXRva2VuIC0tc2NoZWR1bGUgLS1yZWdpb24gdXMtZWFzdC0xICAgICAgICAgICMgKyBkYWlseSBhdXRvLXJlbmV3YWxcbiAqIHBpcGVsaW5lLW1hbmFnZXIgaW5mcmEgc3RvcmUtdG9rZW4gLS1zY2hlZHVsZSAtLWNyb24gJzAgMyAqICogKicgICAgICAgICAgIyBjdXN0b20gcmVuZXdhbCB0aW1lXG4gKiBwaXBlbGluZS1tYW5hZ2VyIGluZnJhIHN0b3JlLXRva2VuIC0tZGF5cyA3IC0tbm8tdmVyaWZ5LXNzbFxuICogUExBVEZPUk1fU0VDUkVUX05BTUU9bXktY3VzdG9tLXNlY3JldCBwaXBlbGluZS1tYW5hZ2VyIGluZnJhIHN0b3JlLXRva2VuICAgIyBvdmVycmlkZSB0aGUgZGVyaXZlZCBuYW1lXG4gKiBwaXBlbGluZS1tYW5hZ2VyIGluZnJhIHN0b3JlLXRva2VuIC0tZHJ5LXJ1blxuICogcGlwZWxpbmUtbWFuYWdlciBpbmZyYSBzdG9yZS10b2tlbiAtZSBhZG1pbiAtcCAnKioqJyAtLXJlZ2lvbiB1cy1lYXN0LTFcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gc3RvcmVUb2tlbihwcm9ncmFtOiBDb21tYW5kKTogdm9pZCB7XG4gIHdpdGhTc2xPcHRpb25zKFxuICAgIHdpdGhQcm9maWxlT3B0aW9uKFxuICAgICAgd2l0aFJlZ2lvbk9wdGlvbihwcm9ncmFtXG4gICAgICAgIC5jb21tYW5kKCdzdG9yZS10b2tlbicpXG4gICAgICAgIC5kZXNjcmlwdGlvbignR2VuZXJhdGUgSldUIHRva2VuIGFuZCBzdG9yZSBpbiBBV1MgU2VjcmV0cyBNYW5hZ2VyIGZvciBDREsgZGVwbG95bWVudHMnKVxuICAgICAgICAub3B0aW9uKCctdSwgLS1pZGVudGlmaWVyIDxpZGVudGlmaWVyPicsICdVc2VybmFtZSBvciBlbWFpbCAoc2tpcHMgUExBVEZPUk1fVE9LRU4gcmVxdWlyZW1lbnQpJylcbiAgICAgICAgLm9wdGlvbignLXAsIC0tcGFzc3dvcmQgPHBhc3N3b3JkPicsICdMb2dpbiBwYXNzd29yZCAodXNlZCB3aXRoIC0taWRlbnRpZmllciknKVxuICAgICAgICAub3B0aW9uKCctLWRheXMgPGRheXM+JywgJ1Rva2VuIGxpZmV0aW1lIGluIGRheXMnLCAnMzAnKVxuICAgICAgICAub3B0aW9uKCctLXNjb3BlIDxzY29wZT4nLCAnTWludCBhIG5hcnJvdy1zY29wZSBtYWNoaW5lIHRva2VuIChlLmcuIFwicmVwb3J0aW5nOmluZ2VzdFwiKSBhbmQgc3RvcmUgaXQgYXQgYSBzY29wZS1zcGVjaWZpYyBzZWNyZXQgcGF0aCBpbnN0ZWFkIG9mIHRoZSBzaGFyZWQgcGxhdGZvcm0gc2VjcmV0JylcbiAgICAgICAgLm9wdGlvbignLS1kcnktcnVuJywgJ1Nob3cgd2hhdCB3b3VsZCBiZSBzdG9yZWQgd2l0aG91dCB3cml0aW5nIHRvIFNlY3JldHMgTWFuYWdlcicsIGZhbHNlKSksXG4gICAgKVxuICAgICAgLm9wdGlvbignLS1zY2hlZHVsZScsICdBbHNvIGRlcGxveSB0aGUgZGFpbHkgdG9rZW4tcmVuZXdhbCBzdGFjayB0aGF0IGF1dG8tcmVuZXdzIHRoaXMgdG9rZW4gKG9mZiBieSBkZWZhdWx0KScsIGZhbHNlKVxuICAgICAgLm9wdGlvbignLS1jcm9uIDxleHByPicsICdSZW5ld2FsIHNjaGVkdWxlIGFzIGEgNS1maWVsZCBjcm9uLCB1c2VkIHdpdGggLS1zY2hlZHVsZSAoZGVmYXVsdDogVE9LRU5fUkVORVdfU0NIRURVTEUgZW52IG9yIFwiMCAwICogKiAqXCI7IG1pbiBldmVyeSAxNSBtaW51dGVzKScpXG4gICAgICAub3B0aW9uKCctLWpzb24nLCAnT3V0cHV0IHJlc3VsdCBhcyBKU09OJywgZmFsc2UpLFxuICApXG4gICAgLmFjdGlvbihhc3luYyAob3B0aW9ucykgPT4ge1xuICAgICAgY29uc3QgZXhlY3V0aW9uSWQgPSBwcmludENvbW1hbmRIZWFkZXIoJ1N0b3JlIFRva2VuJywgdW5kZWZpbmVkLCB7IHF1aWV0OiBvcHRpb25zLmpzb24gfSk7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHByaW50U3NsV2FybmluZyhvcHRpb25zLnZlcmlmeVNzbCk7XG5cbiAgICAgICAgY29uc3QgcmVnaW9uID0gcmVzb2x2ZUF3c1JlZ2lvbihvcHRpb25zLnJlZ2lvbik7XG5cbiAgICAgICAgY29uc3QgZGF5cyA9IHZhbGlkYXRlTnVtYmVyKG9wdGlvbnMuZGF5cywgJ2RheXMnLCAxLCAzNjUpO1xuICAgICAgICBjb25zdCBleHBpcmVzSW5TZWNvbmRzID0gZGF5cyAqIDI0ICogNjAgKiA2MDtcblxuICAgICAgICAvLyBTdGVwIDA6IGxvZyBpbiBmaXJzdCB3aGVuIGNyZWRzIGFyZSBhdmFpbGFibGUgYW5kIG5vIFBMQVRGT1JNX1RPS0VOIGlzIHNldFxuICAgICAgICAvLyAoc2hhcmVkIHdpdGggc2V0dXAtZXZlbnRzKS4gQ3JlZHMgY29tZSBmcm9tIC0tZW1haWwvLS1wYXNzd29yZCBPUiB0aGUgZW52XG4gICAgICAgIC8vIHZhcnMgUExBVEZPUk1fSURFTlRJRklFUi9QTEFURk9STV9QQVNTV09SRCDigJQgdGhlIGVudiBwYXRoIGxldHMgY2FsbGVycyBsaWtlXG4gICAgICAgIC8vIGBwcm92aXNpb24gLS13aXRoLWV2ZW50c2AgcGFzcyB0aGVtIHdpdGhvdXQgcHV0dGluZyB0aGUgcGFzc3dvcmQgb24gdGhlXG4gICAgICAgIC8vIGNvbW1hbmQgbGluZSAod2hlcmUgaXQgd291bGQgc2hvdyBpbiBwbGFucy9sb2dzKS5cbiAgICAgICAgYXdhaXQgZW5zdXJlUGxhdGZvcm1Ub2tlbihvcHRpb25zKTtcblxuICAgICAgICAvLyBTdGVwIDE6IEF1dGhlbnRpY2F0ZSBhbmQgZ2VuZXJhdGUgbG9uZy1saXZlZCB0b2tlblxuICAgICAgICBwcmludFNlY3Rpb24oJ0dlbmVyYXRlIFRva2VuJyk7XG5cbiAgICAgICAgY29uc3QgY2xpZW50ID0gYXdhaXQgY3JlYXRlQXV0aGVudGljYXRlZENsaWVudEFzeW5jKG9wdGlvbnMpO1xuXG4gICAgICAgIC8vIFJlc29sdmUgc2VjcmV0IG5hbWUgZnJvbSB0aGUgdG9rZW4ncyBvcmdhbml6YXRpb25JZC4gQW4gZXhwbGljaXRcbiAgICAgICAgLy8gUExBVEZPUk1fU0VDUkVUX05BTUUgZW52IHdpbnMgKGVzY2FwZSBoYXRjaCBmb3Igc3lzdGVtL25vLW9yZyB0b2tlbnMgYW5kXG4gICAgICAgIC8vIHRoZSByZW5ld2FsIExhbWJkYSk7IG90aGVyd2lzZSBkZXJpdmUgYHtwcmVmaXh9L3tvcmdJZH0vcGxhdGZvcm1gLlxuICAgICAgICAvLyBBIGAtLXNjb3BlYCB0b2tlbiBpcyBhIGRpc3RpbmN0IG1hY2hpbmUgY3JlZGVudGlhbCDigJQgc3RvcmUgaXQgYXQgYVxuICAgICAgICAvLyBzY29wZS1zcGVjaWZpYyBwYXRoIChgLi4uL3JlcG9ydGluZy1pbmdlc3RgKSBzbyBpdCBuZXZlciBjbG9iYmVycyB0aGVcbiAgICAgICAgLy8gZnVsbC1wcml2aWxlZ2UgcGxhdGZvcm0gdG9rZW4gdXNlZCBieSBzeW50aC9kZXBsb3kgY2FsbGJhY2tzLlxuICAgICAgICBjb25zdCBzY29wZSA9IG9wdGlvbnMuc2NvcGUgYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBiYXNlU2VjcmV0TmFtZSA9IHByb2Nlc3MuZW52LlBMQVRGT1JNX1NFQ1JFVF9OQU1FIHx8IHJlc29sdmVTZWNyZXROYW1lKHByb2Nlc3MuZW52LlBMQVRGT1JNX1RPS0VOISk7XG4gICAgICAgIGNvbnN0IHNlY3JldE5hbWUgPSBzY29wZSAmJiAhcHJvY2Vzcy5lbnYuUExBVEZPUk1fU0VDUkVUX05BTUVcbiAgICAgICAgICA/IGJhc2VTZWNyZXROYW1lLnJlcGxhY2UoL1xcL3BsYXRmb3JtJC8sIGAvJHtzY29wZS5yZXBsYWNlKC9bXmEtejAtOV0rL2dpLCAnLScpfWApXG4gICAgICAgICAgOiBiYXNlU2VjcmV0TmFtZTtcblxuICAgICAgICBhdWRpdExvZygnc3RvcmUtdG9rZW4nLCB7IGV4ZWN1dGlvbklkLCBzZWNyZXROYW1lLCBkYXlzLCBkcnlSdW46IG9wdGlvbnMuZHJ5UnVuIH0pO1xuXG4gICAgICAgIHByaW50SW5mbygnUGFyYW1ldGVycycsIHtcbiAgICAgICAgICBzZWNyZXROYW1lLFxuICAgICAgICAgIHJlZ2lvbixcbiAgICAgICAgICBkYXlzLFxuICAgICAgICAgIGV4cGlyZXNJbjogYCR7ZXhwaXJlc0luU2Vjb25kc31zYCxcbiAgICAgICAgICBkcnlSdW46IG9wdGlvbnMuZHJ5UnVuLFxuICAgICAgICB9KTtcblxuICAgICAgICBwcmludEluZm8oJ1JlcXVlc3RpbmcgdG9rZW4nLCB7IGV4cGlyZXNJbjogYCR7ZXhwaXJlc0luU2Vjb25kc31zICgke2RheXN9IGRheXMpYCB9KTtcblxuICAgICAgICBjb25zdCB0b2tlblJlc3BvbnNlID0gYXdhaXQgY2xpZW50LnBvc3Q8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+KFxuICAgICAgICAgICcvYXBpL3VzZXIvZ2VuZXJhdGUtdG9rZW4nLFxuICAgICAgICAgIHsgZXhwaXJlc0luOiBleHBpcmVzSW5TZWNvbmRzLCAuLi4oc2NvcGUgPyB7IHNjb3BlIH0gOiB7fSkgfSxcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCB0b2tlbkRhdGEgPSAodG9rZW5SZXNwb25zZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik/LmRhdGEgPz8gdG9rZW5SZXNwb25zZTtcbiAgICAgICAgY29uc3QgYWNjZXNzVG9rZW4gPSAodG9rZW5EYXRhIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KT8uYWNjZXNzVG9rZW4gYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCByZWZyZXNoVG9rZW4gPSAodG9rZW5EYXRhIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KT8ucmVmcmVzaFRva2VuIGFzIHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgYWN0dWFsRXhwaXJlc0luID0gKCh0b2tlbkRhdGEgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pPy5leHBpcmVzSW4gYXMgbnVtYmVyKSA/PyBleHBpcmVzSW5TZWNvbmRzO1xuXG4gICAgICAgIGlmICghYWNjZXNzVG9rZW4pIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Rva2VuIGdlbmVyYXRpb24gZmFpbGVkIOKAlCBubyBhY2Nlc3MgdG9rZW4gaW4gcmVzcG9uc2UnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHByaW50U3VjY2VzcyhgVG9rZW4gZ2VuZXJhdGVkIChleHBpcmVzIGluICR7YWN0dWFsRXhwaXJlc0lufXMpYCk7XG5cbiAgICAgICAgY29uc3QgZXhwaXJlc0F0ID0gbmV3IERhdGUoRGF0ZS5ub3coKSArIGFjdHVhbEV4cGlyZXNJbiAqIDEwMDApLnRvSVNPU3RyaW5nKCk7XG5cbiAgICAgICAgLy8gU2NoZW1hOiB7IHVzZXJuYW1lOiBvcmdJZCwgcGFzc3dvcmQ6IEpXVCwgLi4ubWV0YWRhdGEgfVxuICAgICAgICAvLyAtIHVzZXJuYW1lL3Bhc3N3b3JkIGZpZWxkcyBzYXRpc2Z5IENvZGVCdWlsZCdzIGBzZWNyZXRzTWFuYWdlckNyZWRlbnRpYWxzYFxuICAgICAgICAvLyAgIChIVFRQIEJhc2ljLCBzZW50IHRvIHBpcGVsaW5lLWltYWdlLXJlZ2lzdHJ5J3MgL3Rva2VuIGVuZHBvaW50KVxuICAgICAgICAvLyAtIFRoZSBzYW1lIEpXVCBpcyBjb25zdW1lZCBieSB0aGUgcGx1Z2luLWxvb2t1cCBMYW1iZGEgYnkgcmVhZGluZ1xuICAgICAgICAvLyAgIHRoZSBgcGFzc3dvcmRgIGZpZWxkXG4gICAgICAgIC8vIC0gT25lIFNlY3JldCBwZXIgY3VzdG9tZXIgYWNjb3VudCByZXBsYWNlcyB0aGUgcHJldmlvdXMgdHdvLXNlY3JldCBtb2RlbFxuICAgICAgICAvLyBEZWNvZGUgSldUIGZvciBvcmdJZCDigJQgaXQncyBhIHN0YWJsZSBpZGVudGlmaWVyIGZvciB0aGUgdXNlcm5hbWUgZmllbGQ7XG4gICAgICAgIC8vIHRoZSBhY3R1YWwgYXV0aCB1c2VzIHRoZSBwYXNzd29yZCAoSldUKSB3aGljaCB0aGUgdG9rZW4gc2VydmljZSB2ZXJpZmllcy5cbiAgICAgICAgLy8gYHx8YCAobm90IGA/P2ApOiBhbiBFTVBUWS1zdHJpbmcgb3JnYW5pemF0aW9uSWQgbXVzdCBhbHNvIGZhbGwgYmFjay4gQVxuICAgICAgICAvLyBzeXNhZG1pbi9zeXN0ZW0gdG9rZW4gb2Z0ZW4gY2FycmllcyBvcmdhbml6YXRpb25JZD1cIlwiLCBhbmQgQ29kZUJ1aWxkXG4gICAgICAgIC8vIHJlamVjdHMgYSByZWdpc3RyeSBjcmVkZW50aWFsIHdob3NlIGB1c2VybmFtZWAgZmllbGQgaXMgZW1wdHkgd2l0aFxuICAgICAgICAvLyBcIkF1dGhvcml6YXRpb25EYXRhIGlzIG1hbGZvcm1lZCwgZW1wdHkgZmllbGRcIiDigJQgc28gdXNlcm5hbWUgbXVzdCBhbHdheXNcbiAgICAgICAgLy8gYmUgYSBub24tZW1wdHkgdmFsdWUuXG4gICAgICAgIGNvbnN0IHBheWxvYWQgPSBkZWNvZGVUb2tlblBheWxvYWQoYWNjZXNzVG9rZW4pO1xuICAgICAgICBjb25zdCBvcmdJZCA9IHBheWxvYWQ/Lm9yZ2FuaXphdGlvbklkPy50cmltKCkgfHwgJ3Vua25vd24tb3JnJztcblxuICAgICAgICBjb25zdCBzZWNyZXRWYWx1ZSA9IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICB1c2VybmFtZTogb3JnSWQsXG4gICAgICAgICAgLy8gYHBhc3N3b3JkYCBpcyB0aGUgY2Fub25pY2FsIEpXVCBmaWVsZCDigJQgcmVhZCBieSBDb2RlQnVpbGQgY3JlZHMsXG4gICAgICAgICAgLy8gcGx1Z2luLWxvb2t1cCwgdG9rZW4tcmVuZXcsIGFuZCB0aGUgZXZlbnQtaW5nZXN0aW9uIExhbWJkYS5cbiAgICAgICAgICBwYXNzd29yZDogYWNjZXNzVG9rZW4sXG4gICAgICAgICAgLi4uKHJlZnJlc2hUb2tlbiAmJiB7IHJlZnJlc2hUb2tlbiB9KSxcbiAgICAgICAgICBwbGF0Zm9ybVVybDogY2xpZW50LmdldEJhc2VVcmwoKSxcbiAgICAgICAgICBleHBpcmVzSW46IGFjdHVhbEV4cGlyZXNJbixcbiAgICAgICAgICBleHBpcmVzQXQsXG4gICAgICAgICAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIERyeS1ydW46IHNob3cgd2hhdCB3b3VsZCBiZSBzdG9yZWRcbiAgICAgICAgaWYgKG9wdGlvbnMuZHJ5UnVuKSB7XG4gICAgICAgICAgaWYgKG9wdGlvbnMuanNvbikge1xuICAgICAgICAgICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgICAgICAgICBkcnlSdW46IHRydWUsXG4gICAgICAgICAgICAgIHNlY3JldE5hbWUsXG4gICAgICAgICAgICAgIHJlZ2lvbixcbiAgICAgICAgICAgICAgZXhwaXJlc0luRGF5czogZGF5cyxcbiAgICAgICAgICAgICAgZXhwaXJlc0F0LFxuICAgICAgICAgICAgICB0b2tlbkxlbmd0aDogYWNjZXNzVG9rZW4ubGVuZ3RoLFxuICAgICAgICAgICAgICBoYXNSZWZyZXNoVG9rZW46ICEhcmVmcmVzaFRva2VuLFxuICAgICAgICAgICAgfSwgbnVsbCwgMikpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnJyk7XG4gICAgICAgICAgICBwcmludFNlY3Rpb24oJ0RyeSBSdW4g4oCUIE5vIENoYW5nZXMgTWFkZScpO1xuICAgICAgICAgICAgcHJpbnRLZXlWYWx1ZSh7XG4gICAgICAgICAgICAgICdTZWNyZXQgTmFtZSc6IHNlY3JldE5hbWUsXG4gICAgICAgICAgICAgICdSZWdpb24nOiByZWdpb24sXG4gICAgICAgICAgICAgICdFeHBpcmVzIEluJzogYCR7ZGF5c30gZGF5c2AsXG4gICAgICAgICAgICAgICdSZW5ldyBCeSc6IGV4cGlyZXNBdCxcbiAgICAgICAgICAgICAgJ1Rva2VuIExlbmd0aCc6IGAke2FjY2Vzc1Rva2VuLmxlbmd0aH0gY2hhcnNgLFxuICAgICAgICAgICAgICAnSGFzIFJlZnJlc2ggVG9rZW4nOiByZWZyZXNoVG9rZW4gPyAnWWVzJyA6ICdObycsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHByaW50U3VjY2VzcygnRHJ5IHJ1biBjb21wbGV0ZSDigJQgbm8gc2VjcmV0IHdhcyBjcmVhdGVkIG9yIHVwZGF0ZWQnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3RlcCAyOiBTdG9yZSB0b2tlbiBpbiBTZWNyZXRzIE1hbmFnZXJcbiAgICAgICAgcHJpbnRTZWN0aW9uKCdTdG9yZSBUb2tlbicpO1xuXG4gICAgICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gYFBsYXRmb3JtIEpXVCB0b2tlbiAocmVuZXcgYnkgJHtleHBpcmVzQXR9KWA7XG4gICAgICAgIGF3YWl0IHVwc2VydFNlY3JldChzZWNyZXROYW1lLCBzZWNyZXRWYWx1ZSwgZGVzY3JpcHRpb24sIHsgcmVnaW9uLCBwcm9maWxlOiBvcHRpb25zLnByb2ZpbGUgfSk7XG5cbiAgICAgICAgY29uc3QgYXJuID0gYXdhaXQgZ2V0U2VjcmV0QXJuKHNlY3JldE5hbWUsIHsgcmVnaW9uLCBwcm9maWxlOiBvcHRpb25zLnByb2ZpbGUgfSk7XG5cbiAgICAgICAgLy8gT3B0aW9uYWxseSBpbnN0YWxsIHRoZSBvbmNlLWEtZGF5IHJlbmV3YWwgc3RhY2sgc28gdGhpcyB0b2tlbiBuZXZlciBsYXBzZXMuXG4gICAgICAgIC8vIE9mZiBieSBkZWZhdWx0IOKAlCBvcHQgaW4gd2l0aCAtLXNjaGVkdWxlIChlLmcuIGZvciB0aGUgQVdTIGV2ZW50LWluZ2VzdGlvblxuICAgICAgICAvLyBidW5kbGUgd2hvc2UgTGFtYmRhIG5lZWRzIGEgbm9uLWV4cGlyaW5nIHRva2VuKS5cbiAgICAgICAgbGV0IHNjaGVkdWxlRXhwcmVzc2lvbjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICBpZiAob3B0aW9ucy5zY2hlZHVsZSkge1xuICAgICAgICAgIGNvbnN0IGZpdmVGaWVsZENyb24gPSBvcHRpb25zLmNyb24gfHwgcHJvY2Vzcy5lbnYuVE9LRU5fUkVORVdfU0NIRURVTEUgfHwgREVGQVVMVF9SRU5FV19DUk9OO1xuICAgICAgICAgIHNjaGVkdWxlRXhwcmVzc2lvbiA9IGF3YWl0IGRlcGxveVJlbmV3U2NoZWR1bGUoe1xuICAgICAgICAgICAgcGxhdGZvcm1Vcmw6IGNsaWVudC5nZXRCYXNlVXJsKCksXG4gICAgICAgICAgICBzZWNyZXROYW1lLFxuICAgICAgICAgICAgZGF5cyxcbiAgICAgICAgICAgIGZpdmVGaWVsZENyb24sXG4gICAgICAgICAgICByZWdpb24sXG4gICAgICAgICAgICBwcm9maWxlOiBvcHRpb25zLnByb2ZpbGUsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3B0aW9ucy5qc29uKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgICAgICAgIHNlY3JldE5hbWUsXG4gICAgICAgICAgICBzZWNyZXRBcm46IGFybixcbiAgICAgICAgICAgIHJlZ2lvbixcbiAgICAgICAgICAgIGV4cGlyZXNJbkRheXM6IGRheXMsXG4gICAgICAgICAgICBleHBpcmVzQXQsXG4gICAgICAgICAgICBzY2hlZHVsZTogc2NoZWR1bGVFeHByZXNzaW9uID8/IG51bGwsXG4gICAgICAgICAgfSwgbnVsbCwgMikpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnNvbGUubG9nKCcnKTtcbiAgICAgICAgICBwcmludFNlY3Rpb24oJ1Rva2VuIFN0b3JlZCcpO1xuXG4gICAgICAgICAgcHJpbnRLZXlWYWx1ZSh7XG4gICAgICAgICAgICAnU2VjcmV0IE5hbWUnOiBzZWNyZXROYW1lLFxuICAgICAgICAgICAgJ1NlY3JldCBBUk4nOiBhcm4sXG4gICAgICAgICAgICAnUmVnaW9uJzogcmVnaW9uLFxuICAgICAgICAgICAgJ0V4cGlyZXMgSW4nOiBgJHtkYXlzfSBkYXlzYCxcbiAgICAgICAgICAgICdSZW5ldyBCeSc6IGV4cGlyZXNBdCxcbiAgICAgICAgICAgICdBdXRvLVJlbmV3Jzogc2NoZWR1bGVFeHByZXNzaW9uID8gYOKckyAke3NjaGVkdWxlRXhwcmVzc2lvbn1gIDogJ29mZiAocGFzcyAtLXNjaGVkdWxlIHRvIGVuYWJsZSknLFxuICAgICAgICAgICAgJ1N0YXR1cyc6ICfinJMgU3RvcmVkJyxcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGNvbnNvbGUubG9nKCcnKTtcbiAgICAgICAgICBwcmludFN1Y2Nlc3MoJ1Rva2VuIHN0b3JlZC4gVG8gdXNlIHdpdGggc3ludGgvZGVwbG95OicpO1xuICAgICAgICAgIHByaW50SW5mbyhgICBleHBvcnQgUExBVEZPUk1fU0VDUkVUX05BTUU9JHtzZWNyZXROYW1lfWApO1xuICAgICAgICAgIHByaW50SW5mbygnICBwaXBlbGluZS1tYW5hZ2VyIHBpcGVsaW5lIHN5bnRoIC0taWQgPHBpcGVsaW5lLWlkPiAtLXN0b3JlLXRva2VucycpO1xuICAgICAgICAgIGNvbnNvbGUubG9nKCcnKTtcbiAgICAgICAgICBpZiAoc2NoZWR1bGVFeHByZXNzaW9uKSB7XG4gICAgICAgICAgICBwcmludEluZm8oYEF1dG8tcmVuZXdhbCBpcyBhY3RpdmUgKCR7c2NoZWR1bGVFeHByZXNzaW9ufSk7IHRoZSBzZWNyZXQgcmVmcmVzaGVzIGJlZm9yZSAke2V4cGlyZXNBdH0uYCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHByaW50SW5mbyhgUmVuZXcgYmVmb3JlICR7ZXhwaXJlc0F0fSB3aXRoOiBwaXBlbGluZS1tYW5hZ2VyIGluZnJhIHN0b3JlLXRva2VuIC0tZGF5cyAke2RheXN9YCk7XG4gICAgICAgICAgICBwcmludEluZm8oJyAgKG9yIHBhc3MgLS1zY2hlZHVsZSB0byBpbnN0YWxsIGEgZGFpbHkgYXV0by1yZW5ld2FsIHN0YWNrKScpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBoYW5kbGVFcnJvcihlcnJvciwgRVJST1JfQ09ERVMuQVBJX1JFUVVFU1QsIHtcbiAgICAgICAgICBkZWJ1ZzogcHJvZ3JhbS5vcHRzKCkuZGVidWcsXG4gICAgICAgICAgZXhpdDogdHJ1ZSxcbiAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICBjb21tYW5kOiAnc3RvcmUtdG9rZW4nLFxuICAgICAgICAgICAgZXhlY3V0aW9uSWQsXG4gICAgICAgICAgICBzZWNyZXROYW1lOiBwcm9jZXNzLmVudi5QTEFURk9STV9TRUNSRVRfTkFNRSB8fCAnKGRlcml2ZWQgZnJvbSB0b2tlbiknLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xufVxuIl19
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/** Login/secret options shared across the platform-secret helpers. */
|
|
2
2
|
export interface PlatformSecretOptions {
|
|
3
|
-
|
|
3
|
+
/** Login identifier (username OR email) — matches `auth login` / `auth pat`. */
|
|
4
|
+
readonly identifier?: string;
|
|
4
5
|
readonly password?: string;
|
|
5
6
|
readonly verifySsl?: boolean;
|
|
6
7
|
}
|
|
@@ -12,7 +13,7 @@ export interface PlatformSecretOptions {
|
|
|
12
13
|
export declare function resolveSecretName(token: string): string;
|
|
13
14
|
/**
|
|
14
15
|
* Ensure `process.env.PLATFORM_TOKEN` is set. No-op if it already is. Otherwise,
|
|
15
|
-
* if login creds are available (`--
|
|
16
|
+
* if login creds are available (`--identifier/--password` or `PLATFORM_IDENTIFIER`/
|
|
16
17
|
* `PLATFORM_PASSWORD` env — the env path lets `provision` pass creds without
|
|
17
18
|
* putting the password on the command line), log in and set PLATFORM_TOKEN.
|
|
18
19
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-secret.d.ts","sourceRoot":"","sources":["../../src/utils/platform-secret.ts"],"names":[],"mappings":"AAkBA,sEAAsE;AACtE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"platform-secret.d.ts","sourceRoot":"","sources":["../../src/utils/platform-secret.ts"],"names":[],"mappings":"AAkBA,sEAAsE;AACtE,MAAM,WAAW,qBAAqB;IACpC,gFAAgF;IAChF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOvD;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CvF;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAY/F"}
|
|
@@ -28,22 +28,22 @@ export function resolveSecretName(token) {
|
|
|
28
28
|
}
|
|
29
29
|
/**
|
|
30
30
|
* Ensure `process.env.PLATFORM_TOKEN` is set. No-op if it already is. Otherwise,
|
|
31
|
-
* if login creds are available (`--
|
|
31
|
+
* if login creds are available (`--identifier/--password` or `PLATFORM_IDENTIFIER`/
|
|
32
32
|
* `PLATFORM_PASSWORD` env — the env path lets `provision` pass creds without
|
|
33
33
|
* putting the password on the command line), log in and set PLATFORM_TOKEN.
|
|
34
34
|
*/
|
|
35
35
|
export async function ensurePlatformToken(options) {
|
|
36
36
|
if (process.env.PLATFORM_TOKEN)
|
|
37
37
|
return;
|
|
38
|
-
const
|
|
38
|
+
const loginIdentifier = options.identifier || process.env.PLATFORM_IDENTIFIER;
|
|
39
39
|
const loginPassword = options.password || process.env.PLATFORM_PASSWORD;
|
|
40
|
-
if (!
|
|
40
|
+
if (!loginIdentifier || !loginPassword)
|
|
41
41
|
return;
|
|
42
42
|
if (options.password) {
|
|
43
43
|
printWarning('Passing --password on the command line can expose it via shell history; prefer the PLATFORM_PASSWORD env var.');
|
|
44
44
|
}
|
|
45
45
|
printSection('Login');
|
|
46
|
-
printInfo('Authenticating with
|
|
46
|
+
printInfo('Authenticating with identifier/password...');
|
|
47
47
|
// Resolve the base URL WITHOUT demanding a token — this login step runs
|
|
48
48
|
// pre-auth (no PLATFORM_TOKEN yet), so `getConfig()` would throw here. The
|
|
49
49
|
// token-optional loader still honors config files + PLATFORM_BASE_URL/TLS env.
|
|
@@ -59,7 +59,7 @@ export async function ensurePlatformToken(options) {
|
|
|
59
59
|
// The server's loginSchema requires `identifier` (email OR username), not
|
|
60
60
|
// `email` — sending `email` fails zod validation with a 400. Mirror the
|
|
61
61
|
// canonical `postLogin` body.
|
|
62
|
-
{ identifier:
|
|
62
|
+
{ identifier: loginIdentifier, password: loginPassword }, {
|
|
63
63
|
httpsAgent: rejectUnauthorized === false
|
|
64
64
|
? new (await import('https')).Agent({ rejectUnauthorized: false })
|
|
65
65
|
: undefined,
|
|
@@ -85,8 +85,8 @@ export async function resolvePlatformSecretName(options) {
|
|
|
85
85
|
if (!process.env.PLATFORM_TOKEN) {
|
|
86
86
|
throw new Error('Cannot derive the platform secret name: no PLATFORM_TOKEN and no login creds. '
|
|
87
87
|
+ 'Set PLATFORM_SECRET_NAME, or provide login creds '
|
|
88
|
-
+ '(--
|
|
88
|
+
+ '(--identifier/--password or PLATFORM_IDENTIFIER/PLATFORM_PASSWORD).');
|
|
89
89
|
}
|
|
90
90
|
return resolveSecretName(process.env.PLATFORM_TOKEN);
|
|
91
91
|
}
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0tc2VjcmV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3BsYXRmb3JtLXNlY3JldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFTbkQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxLQUFhO0lBQzdDLE1BQU0sT0FBTyxHQUFHLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLE1BQU0sS0FBSyxHQUFHLE9BQU8sRUFBRSxjQUFjLENBQUM7SUFDdEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyx1SEFBdUgsQ0FBQyxDQUFDO0lBQzNJLENBQUM7SUFDRCxPQUFPLEdBQUcsYUFBYSxDQUFDLG1CQUFtQixJQUFJLEtBQUssV0FBVyxDQUFDO0FBQ2xFLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsbUJBQW1CLENBQUMsT0FBOEI7SUFDdEUsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWM7UUFBRSxPQUFPO0lBQ3ZDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQztJQUNwRSxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUM7SUFDeEUsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLGFBQWE7UUFBRSxPQUFPO0lBRTFDLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3JCLFlBQVksQ0FBQywrR0FBK0csQ0FBQyxDQUFDO0lBQ2hJLENBQUM7SUFFRCxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEIsU0FBUyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7SUFDbkQsd0VBQXdFO0lBQ3hFLDJFQUEyRTtJQUMzRSwrRUFBK0U7SUFDL0UsTUFBTSxTQUFTLEdBQUcsWUFBWSxFQUFFLENBQUM7SUFDakMseUVBQXlFO0lBQ3pFLDZFQUE2RTtJQUM3RSx1RUFBdUU7SUFDdkUsSUFBSSxPQUFPLENBQUMsU0FBUyxLQUFLLEtBQUssRUFBRSxDQUFDO1FBQ2hDLHVCQUF1QixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDRCxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxTQUFTLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUM7SUFDbEcsTUFBTSxhQUFhLEdBQUcsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUNwQyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxpQkFBaUI7SUFDekMsMEVBQTBFO0lBQzFFLHdFQUF3RTtJQUN4RSw4QkFBOEI7SUFDOUIsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsRUFDbkQ7UUFDRSxVQUFVLEVBQUUsa0JBQWtCLEtBQUssS0FBSztZQUN0QyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDbEUsQ0FBQyxDQUFDLFNBQVM7S0FDZCxDQUNGLENBQUM7SUFDRixNQUFNLFNBQVMsR0FBRyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDO0lBQ2pFLE1BQU0sVUFBVSxHQUFHLFNBQVMsRUFBRSxXQUFXLENBQUM7SUFDMUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNsRCxNQUFNLElBQUksS0FBSyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxHQUFHLFVBQVUsQ0FBQztJQUN4QyxZQUFZLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUNuQyxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUseUJBQXlCLENBQUMsT0FBOEI7SUFDNUUsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQztJQUNsRCxJQUFJLFFBQVE7UUFBRSxPQUFPLFFBQVEsQ0FBQztJQUM5QixNQUFNLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQ2IsZ0ZBQWdGO2NBQzlFLG1EQUFtRDtjQUNuRCxnRUFBZ0UsQ0FDbkUsQ0FBQztJQUNKLENBQUM7SUFDRCxPQUFPLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDdkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG4vKipcbiAqIFNoYXJlZCBwbGF0Zm9ybS10b2tlbiDihpIgc2VjcmV0LW5hbWUgcmVzb2x1dGlvbiwgdXNlZCBieSBib3RoIGBzdG9yZS10b2tlbmBcbiAqICh3aGljaCBXUklURVMgdGhlIEpXVCB0byBTZWNyZXRzIE1hbmFnZXIpIGFuZCBgc2V0dXAtZXZlbnRzYCAod2hpY2ggZGVwbG95cyB0aGVcbiAqIExhbWJkYSB0aGF0IFJFQURTIGl0KS4gQm90aCBtdXN0IGFncmVlIG9uIHRoZSBzYW1lIHNlY3JldCBwYXRoLCBzbyB0aGUgbG9naWNcbiAqIGxpdmVzIGhlcmUgb25jZTogZGVyaXZlIGB7U0VDUkVUU19QQVRIX1BSRUZJWH0ve29yZ0lkfS9wbGF0Zm9ybWAgZnJvbSB0aGUgSldUJ3NcbiAqIG9yZ2FuaXphdGlvbklkLCBsb2dnaW5nIGluIGZpcnN0IGlmIG5lZWRlZCB0byBvYnRhaW4gdGhlIHRva2VuLlxuICovXG5cbmltcG9ydCB7IENvcmVDb25zdGFudHMgfSBmcm9tICdAcGlwZWxpbmUtYnVpbGRlci9waXBlbGluZS1jb3JlJztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgeyBkZWNvZGVUb2tlblBheWxvYWQgfSBmcm9tICcuL2F1dGgtZ3VhcmQuanMnO1xuaW1wb3J0IHsgZ2V0QXBpQ29uZmlnIH0gZnJvbSAnLi9jb25maWctbG9hZGVyLmpzJztcbmltcG9ydCB7IHByaW50SW5mbywgcHJpbnRTZWN0aW9uLCBwcmludFN1Y2Nlc3MsIHByaW50V2FybmluZyB9IGZyb20gJy4vb3V0cHV0LXV0aWxzLmpzJztcbmltcG9ydCB7IGFzc2VydFNzbERpc2FibGVBbGxvd2VkIH0gZnJvbSAnLi90bHMuanMnO1xuXG4vKiogTG9naW4vc2VjcmV0IG9wdGlvbnMgc2hhcmVkIGFjcm9zcyB0aGUgcGxhdGZvcm0tc2VjcmV0IGhlbHBlcnMuICovXG5leHBvcnQgaW50ZXJmYWNlIFBsYXRmb3JtU2VjcmV0T3B0aW9ucyB7XG4gIHJlYWRvbmx5IGVtYWlsPzogc3RyaW5nO1xuICByZWFkb25seSBwYXNzd29yZD86IHN0cmluZztcbiAgcmVhZG9ubHkgdmVyaWZ5U3NsPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBEZXJpdmUgdGhlIHBsYXRmb3JtIHNlY3JldCBwYXRoIGZyb20gYSBKV1QncyBvcmdhbml6YXRpb25JZC5cbiAqIFBhdHRlcm46IGB7U0VDUkVUU19QQVRIX1BSRUZJWH0ve29yZ0lkfS9wbGF0Zm9ybWAuXG4gKiBAdGhyb3dzIGlmIHRoZSB0b2tlbiBjYXJyaWVzIG5vIG9yZ2FuaXphdGlvbklkIChjYWxsZXIgc2hvdWxkIGZhbGwgYmFjayB0byBQTEFURk9STV9TRUNSRVRfTkFNRSkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlU2VjcmV0TmFtZSh0b2tlbjogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgcGF5bG9hZCA9IGRlY29kZVRva2VuUGF5bG9hZCh0b2tlbik7XG4gIGNvbnN0IG9yZ0lkID0gcGF5bG9hZD8ub3JnYW5pemF0aW9uSWQ7XG4gIGlmICghb3JnSWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1Rva2VuIGRvZXMgbm90IGNvbnRhaW4gb3JnYW5pemF0aW9uSWQg4oCUIGNhbm5vdCBkZXJpdmUgc2VjcmV0IG5hbWUuIFNldCBQTEFURk9STV9TRUNSRVRfTkFNRSB0byBzcGVjaWZ5IGl0IGV4cGxpY2l0bHkuJyk7XG4gIH1cbiAgcmV0dXJuIGAke0NvcmVDb25zdGFudHMuU0VDUkVUU19QQVRIX1BSRUZJWH0vJHtvcmdJZH0vcGxhdGZvcm1gO1xufVxuXG4vKipcbiAqIEVuc3VyZSBgcHJvY2Vzcy5lbnYuUExBVEZPUk1fVE9LRU5gIGlzIHNldC4gTm8tb3AgaWYgaXQgYWxyZWFkeSBpcy4gT3RoZXJ3aXNlLFxuICogaWYgbG9naW4gY3JlZHMgYXJlIGF2YWlsYWJsZSAoYC0tZW1haWwvLS1wYXNzd29yZGAgb3IgYFBMQVRGT1JNX0lERU5USUZJRVJgL1xuICogYFBMQVRGT1JNX1BBU1NXT1JEYCBlbnYg4oCUIHRoZSBlbnYgcGF0aCBsZXRzIGBwcm92aXNpb25gIHBhc3MgY3JlZHMgd2l0aG91dFxuICogcHV0dGluZyB0aGUgcGFzc3dvcmQgb24gdGhlIGNvbW1hbmQgbGluZSksIGxvZyBpbiBhbmQgc2V0IFBMQVRGT1JNX1RPS0VOLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZW5zdXJlUGxhdGZvcm1Ub2tlbihvcHRpb25zOiBQbGF0Zm9ybVNlY3JldE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgaWYgKHByb2Nlc3MuZW52LlBMQVRGT1JNX1RPS0VOKSByZXR1cm47XG4gIGNvbnN0IGxvZ2luRW1haWwgPSBvcHRpb25zLmVtYWlsIHx8IHByb2Nlc3MuZW52LlBMQVRGT1JNX0lERU5USUZJRVI7XG4gIGNvbnN0IGxvZ2luUGFzc3dvcmQgPSBvcHRpb25zLnBhc3N3b3JkIHx8IHByb2Nlc3MuZW52LlBMQVRGT1JNX1BBU1NXT1JEO1xuICBpZiAoIWxvZ2luRW1haWwgfHwgIWxvZ2luUGFzc3dvcmQpIHJldHVybjtcblxuICBpZiAob3B0aW9ucy5wYXNzd29yZCkge1xuICAgIHByaW50V2FybmluZygnUGFzc2luZyAtLXBhc3N3b3JkIG9uIHRoZSBjb21tYW5kIGxpbmUgY2FuIGV4cG9zZSBpdCB2aWEgc2hlbGwgaGlzdG9yeTsgcHJlZmVyIHRoZSBQTEFURk9STV9QQVNTV09SRCBlbnYgdmFyLicpO1xuICB9XG5cbiAgcHJpbnRTZWN0aW9uKCdMb2dpbicpO1xuICBwcmludEluZm8oJ0F1dGhlbnRpY2F0aW5nIHdpdGggZW1haWwvcGFzc3dvcmQuLi4nKTtcbiAgLy8gUmVzb2x2ZSB0aGUgYmFzZSBVUkwgV0lUSE9VVCBkZW1hbmRpbmcgYSB0b2tlbiDigJQgdGhpcyBsb2dpbiBzdGVwIHJ1bnNcbiAgLy8gcHJlLWF1dGggKG5vIFBMQVRGT1JNX1RPS0VOIHlldCksIHNvIGBnZXRDb25maWcoKWAgd291bGQgdGhyb3cgaGVyZS4gVGhlXG4gIC8vIHRva2VuLW9wdGlvbmFsIGxvYWRlciBzdGlsbCBob25vcnMgY29uZmlnIGZpbGVzICsgUExBVEZPUk1fQkFTRV9VUkwvVExTIGVudi5cbiAgY29uc3QgYXBpQ29uZmlnID0gZ2V0QXBpQ29uZmlnKCk7XG4gIC8vIFNFQ1VSSVRZOiB0aGlzIGlubGluZSBsb2dpbiBQT1NUcyB0aGUgcGFzc3dvcmQuIFJlZnVzZSB0byBkaXNhYmxlIGNlcnRcbiAgLy8gdmVyaWZpY2F0aW9uIGluIHByb2R1Y3Rpb24gKG1pcnJvcnMgY29uZmlnLWxvYWRlciAvIGxvZ2luKSBzbyBhIE1JVE0gY2FuJ3RcbiAgLy8gaGFydmVzdCBpdDsgaG9ub3JlZCBpbiBub24tcHJvZHVjdGlvbiBmb3Igc2VsZi1zaWduZWQgZGV2IHBsYXRmb3Jtcy5cbiAgaWYgKG9wdGlvbnMudmVyaWZ5U3NsID09PSBmYWxzZSkge1xuICAgIGFzc2VydFNzbERpc2FibGVBbGxvd2VkKCdpbmxpbmUgbG9naW4nKTtcbiAgfVxuICBjb25zdCByZWplY3RVbmF1dGhvcml6ZWQgPSBvcHRpb25zLnZlcmlmeVNzbCA9PT0gZmFsc2UgPyBmYWxzZSA6IGFwaUNvbmZpZy5hcGkucmVqZWN0VW5hdXRob3JpemVkO1xuICBjb25zdCBsb2dpblJlc3BvbnNlID0gYXdhaXQgYXhpb3MucG9zdChcbiAgICBgJHthcGlDb25maWcuYXBpLmJhc2VVcmx9L2FwaS9hdXRoL2xvZ2luYCxcbiAgICAvLyBUaGUgc2VydmVyJ3MgbG9naW5TY2hlbWEgcmVxdWlyZXMgYGlkZW50aWZpZXJgIChlbWFpbCBPUiB1c2VybmFtZSksIG5vdFxuICAgIC8vIGBlbWFpbGAg4oCUIHNlbmRpbmcgYGVtYWlsYCBmYWlscyB6b2QgdmFsaWRhdGlvbiB3aXRoIGEgNDAwLiBNaXJyb3IgdGhlXG4gICAgLy8gY2Fub25pY2FsIGBwb3N0TG9naW5gIGJvZHkuXG4gICAgeyBpZGVudGlmaWVyOiBsb2dpbkVtYWlsLCBwYXNzd29yZDogbG9naW5QYXNzd29yZCB9LFxuICAgIHtcbiAgICAgIGh0dHBzQWdlbnQ6IHJlamVjdFVuYXV0aG9yaXplZCA9PT0gZmFsc2VcbiAgICAgICAgPyBuZXcgKGF3YWl0IGltcG9ydCgnaHR0cHMnKSkuQWdlbnQoeyByZWplY3RVbmF1dGhvcml6ZWQ6IGZhbHNlIH0pXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgIH0sXG4gICk7XG4gIGNvbnN0IGxvZ2luRGF0YSA9IGxvZ2luUmVzcG9uc2UuZGF0YT8uZGF0YSA/PyBsb2dpblJlc3BvbnNlLmRhdGE7XG4gIGNvbnN0IGxvZ2luVG9rZW4gPSBsb2dpbkRhdGE/LmFjY2Vzc1Rva2VuO1xuICBpZiAoIWxvZ2luVG9rZW4gfHwgdHlwZW9mIGxvZ2luVG9rZW4gIT09ICdzdHJpbmcnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdMb2dpbiBmYWlsZWQg4oCUIG5vIGFjY2VzcyB0b2tlbiBpbiByZXNwb25zZScpO1xuICB9XG4gIHByb2Nlc3MuZW52LlBMQVRGT1JNX1RPS0VOID0gbG9naW5Ub2tlbjtcbiAgcHJpbnRTdWNjZXNzKCdMb2dpbiBzdWNjZXNzZnVsJyk7XG59XG5cbi8qKlxuICogUmVzb2x2ZSB0aGUgcGxhdGZvcm0gc2VjcmV0IG5hbWU6IGFuIGV4cGxpY2l0IGBQTEFURk9STV9TRUNSRVRfTkFNRWAgZW52IHdpbnM7XG4gKiBvdGhlcndpc2UgbG9nIGluIGlmIG5lZWRlZCBhbmQgZGVyaXZlIGl0IGZyb20gdGhlIHBsYXRmb3JtIHRva2VuJ3Mgb3JnIOKAlCB0aGVcbiAqIHNhbWUgdG9rZW4gYGluaXQtcGxhdGZvcm0uc2hgIChyZWdpc3RlcikgbWludHMsIHNvIHdyaXRlciBhbmQgcmVhZGVyIGFncmVlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZVBsYXRmb3JtU2VjcmV0TmFtZShvcHRpb25zOiBQbGF0Zm9ybVNlY3JldE9wdGlvbnMpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBleHBsaWNpdCA9IHByb2Nlc3MuZW52LlBMQVRGT1JNX1NFQ1JFVF9OQU1FO1xuICBpZiAoZXhwbGljaXQpIHJldHVybiBleHBsaWNpdDtcbiAgYXdhaXQgZW5zdXJlUGxhdGZvcm1Ub2tlbihvcHRpb25zKTtcbiAgaWYgKCFwcm9jZXNzLmVudi5QTEFURk9STV9UT0tFTikge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICdDYW5ub3QgZGVyaXZlIHRoZSBwbGF0Zm9ybSBzZWNyZXQgbmFtZTogbm8gUExBVEZPUk1fVE9LRU4gYW5kIG5vIGxvZ2luIGNyZWRzLiAnXG4gICAgICArICdTZXQgUExBVEZPUk1fU0VDUkVUX05BTUUsIG9yIHByb3ZpZGUgbG9naW4gY3JlZHMgJ1xuICAgICAgKyAnKC0tZW1haWwvLS1wYXNzd29yZCBvciBQTEFURk9STV9JREVOVElGSUVSL1BMQVRGT1JNX1BBU1NXT1JEKS4nLFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIHJlc29sdmVTZWNyZXROYW1lKHByb2Nlc3MuZW52LlBMQVRGT1JNX1RPS0VOKTtcbn1cbiJdfQ==
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0tc2VjcmV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3BsYXRmb3JtLXNlY3JldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFVbkQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxLQUFhO0lBQzdDLE1BQU0sT0FBTyxHQUFHLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLE1BQU0sS0FBSyxHQUFHLE9BQU8sRUFBRSxjQUFjLENBQUM7SUFDdEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyx1SEFBdUgsQ0FBQyxDQUFDO0lBQzNJLENBQUM7SUFDRCxPQUFPLEdBQUcsYUFBYSxDQUFDLG1CQUFtQixJQUFJLEtBQUssV0FBVyxDQUFDO0FBQ2xFLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsbUJBQW1CLENBQUMsT0FBOEI7SUFDdEUsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWM7UUFBRSxPQUFPO0lBQ3ZDLE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQztJQUM5RSxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUM7SUFDeEUsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLGFBQWE7UUFBRSxPQUFPO0lBRS9DLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3JCLFlBQVksQ0FBQywrR0FBK0csQ0FBQyxDQUFDO0lBQ2hJLENBQUM7SUFFRCxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEIsU0FBUyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7SUFDeEQsd0VBQXdFO0lBQ3hFLDJFQUEyRTtJQUMzRSwrRUFBK0U7SUFDL0UsTUFBTSxTQUFTLEdBQUcsWUFBWSxFQUFFLENBQUM7SUFDakMseUVBQXlFO0lBQ3pFLDZFQUE2RTtJQUM3RSx1RUFBdUU7SUFDdkUsSUFBSSxPQUFPLENBQUMsU0FBUyxLQUFLLEtBQUssRUFBRSxDQUFDO1FBQ2hDLHVCQUF1QixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDRCxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxTQUFTLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUM7SUFDbEcsTUFBTSxhQUFhLEdBQUcsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUNwQyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxpQkFBaUI7SUFDekMsMEVBQTBFO0lBQzFFLHdFQUF3RTtJQUN4RSw4QkFBOEI7SUFDOUIsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsRUFDeEQ7UUFDRSxVQUFVLEVBQUUsa0JBQWtCLEtBQUssS0FBSztZQUN0QyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDbEUsQ0FBQyxDQUFDLFNBQVM7S0FDZCxDQUNGLENBQUM7SUFDRixNQUFNLFNBQVMsR0FBRyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDO0lBQ2pFLE1BQU0sVUFBVSxHQUFHLFNBQVMsRUFBRSxXQUFXLENBQUM7SUFDMUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNsRCxNQUFNLElBQUksS0FBSyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxHQUFHLFVBQVUsQ0FBQztJQUN4QyxZQUFZLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUNuQyxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUseUJBQXlCLENBQUMsT0FBOEI7SUFDNUUsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQztJQUNsRCxJQUFJLFFBQVE7UUFBRSxPQUFPLFFBQVEsQ0FBQztJQUM5QixNQUFNLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQ2IsZ0ZBQWdGO2NBQzlFLG1EQUFtRDtjQUNuRCxxRUFBcUUsQ0FDeEUsQ0FBQztJQUNKLENBQUM7SUFDRCxPQUFPLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDdkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG4vKipcbiAqIFNoYXJlZCBwbGF0Zm9ybS10b2tlbiDihpIgc2VjcmV0LW5hbWUgcmVzb2x1dGlvbiwgdXNlZCBieSBib3RoIGBzdG9yZS10b2tlbmBcbiAqICh3aGljaCBXUklURVMgdGhlIEpXVCB0byBTZWNyZXRzIE1hbmFnZXIpIGFuZCBgc2V0dXAtZXZlbnRzYCAod2hpY2ggZGVwbG95cyB0aGVcbiAqIExhbWJkYSB0aGF0IFJFQURTIGl0KS4gQm90aCBtdXN0IGFncmVlIG9uIHRoZSBzYW1lIHNlY3JldCBwYXRoLCBzbyB0aGUgbG9naWNcbiAqIGxpdmVzIGhlcmUgb25jZTogZGVyaXZlIGB7U0VDUkVUU19QQVRIX1BSRUZJWH0ve29yZ0lkfS9wbGF0Zm9ybWAgZnJvbSB0aGUgSldUJ3NcbiAqIG9yZ2FuaXphdGlvbklkLCBsb2dnaW5nIGluIGZpcnN0IGlmIG5lZWRlZCB0byBvYnRhaW4gdGhlIHRva2VuLlxuICovXG5cbmltcG9ydCB7IENvcmVDb25zdGFudHMgfSBmcm9tICdAcGlwZWxpbmUtYnVpbGRlci9waXBlbGluZS1jb3JlJztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgeyBkZWNvZGVUb2tlblBheWxvYWQgfSBmcm9tICcuL2F1dGgtZ3VhcmQuanMnO1xuaW1wb3J0IHsgZ2V0QXBpQ29uZmlnIH0gZnJvbSAnLi9jb25maWctbG9hZGVyLmpzJztcbmltcG9ydCB7IHByaW50SW5mbywgcHJpbnRTZWN0aW9uLCBwcmludFN1Y2Nlc3MsIHByaW50V2FybmluZyB9IGZyb20gJy4vb3V0cHV0LXV0aWxzLmpzJztcbmltcG9ydCB7IGFzc2VydFNzbERpc2FibGVBbGxvd2VkIH0gZnJvbSAnLi90bHMuanMnO1xuXG4vKiogTG9naW4vc2VjcmV0IG9wdGlvbnMgc2hhcmVkIGFjcm9zcyB0aGUgcGxhdGZvcm0tc2VjcmV0IGhlbHBlcnMuICovXG5leHBvcnQgaW50ZXJmYWNlIFBsYXRmb3JtU2VjcmV0T3B0aW9ucyB7XG4gIC8qKiBMb2dpbiBpZGVudGlmaWVyICh1c2VybmFtZSBPUiBlbWFpbCkg4oCUIG1hdGNoZXMgYGF1dGggbG9naW5gIC8gYGF1dGggcGF0YC4gKi9cbiAgcmVhZG9ubHkgaWRlbnRpZmllcj86IHN0cmluZztcbiAgcmVhZG9ubHkgcGFzc3dvcmQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZlcmlmeVNzbD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogRGVyaXZlIHRoZSBwbGF0Zm9ybSBzZWNyZXQgcGF0aCBmcm9tIGEgSldUJ3Mgb3JnYW5pemF0aW9uSWQuXG4gKiBQYXR0ZXJuOiBge1NFQ1JFVFNfUEFUSF9QUkVGSVh9L3tvcmdJZH0vcGxhdGZvcm1gLlxuICogQHRocm93cyBpZiB0aGUgdG9rZW4gY2FycmllcyBubyBvcmdhbml6YXRpb25JZCAoY2FsbGVyIHNob3VsZCBmYWxsIGJhY2sgdG8gUExBVEZPUk1fU0VDUkVUX05BTUUpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVNlY3JldE5hbWUodG9rZW46IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IHBheWxvYWQgPSBkZWNvZGVUb2tlblBheWxvYWQodG9rZW4pO1xuICBjb25zdCBvcmdJZCA9IHBheWxvYWQ/Lm9yZ2FuaXphdGlvbklkO1xuICBpZiAoIW9yZ0lkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUb2tlbiBkb2VzIG5vdCBjb250YWluIG9yZ2FuaXphdGlvbklkIOKAlCBjYW5ub3QgZGVyaXZlIHNlY3JldCBuYW1lLiBTZXQgUExBVEZPUk1fU0VDUkVUX05BTUUgdG8gc3BlY2lmeSBpdCBleHBsaWNpdGx5LicpO1xuICB9XG4gIHJldHVybiBgJHtDb3JlQ29uc3RhbnRzLlNFQ1JFVFNfUEFUSF9QUkVGSVh9LyR7b3JnSWR9L3BsYXRmb3JtYDtcbn1cblxuLyoqXG4gKiBFbnN1cmUgYHByb2Nlc3MuZW52LlBMQVRGT1JNX1RPS0VOYCBpcyBzZXQuIE5vLW9wIGlmIGl0IGFscmVhZHkgaXMuIE90aGVyd2lzZSxcbiAqIGlmIGxvZ2luIGNyZWRzIGFyZSBhdmFpbGFibGUgKGAtLWlkZW50aWZpZXIvLS1wYXNzd29yZGAgb3IgYFBMQVRGT1JNX0lERU5USUZJRVJgL1xuICogYFBMQVRGT1JNX1BBU1NXT1JEYCBlbnYg4oCUIHRoZSBlbnYgcGF0aCBsZXRzIGBwcm92aXNpb25gIHBhc3MgY3JlZHMgd2l0aG91dFxuICogcHV0dGluZyB0aGUgcGFzc3dvcmQgb24gdGhlIGNvbW1hbmQgbGluZSksIGxvZyBpbiBhbmQgc2V0IFBMQVRGT1JNX1RPS0VOLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZW5zdXJlUGxhdGZvcm1Ub2tlbihvcHRpb25zOiBQbGF0Zm9ybVNlY3JldE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgaWYgKHByb2Nlc3MuZW52LlBMQVRGT1JNX1RPS0VOKSByZXR1cm47XG4gIGNvbnN0IGxvZ2luSWRlbnRpZmllciA9IG9wdGlvbnMuaWRlbnRpZmllciB8fCBwcm9jZXNzLmVudi5QTEFURk9STV9JREVOVElGSUVSO1xuICBjb25zdCBsb2dpblBhc3N3b3JkID0gb3B0aW9ucy5wYXNzd29yZCB8fCBwcm9jZXNzLmVudi5QTEFURk9STV9QQVNTV09SRDtcbiAgaWYgKCFsb2dpbklkZW50aWZpZXIgfHwgIWxvZ2luUGFzc3dvcmQpIHJldHVybjtcblxuICBpZiAob3B0aW9ucy5wYXNzd29yZCkge1xuICAgIHByaW50V2FybmluZygnUGFzc2luZyAtLXBhc3N3b3JkIG9uIHRoZSBjb21tYW5kIGxpbmUgY2FuIGV4cG9zZSBpdCB2aWEgc2hlbGwgaGlzdG9yeTsgcHJlZmVyIHRoZSBQTEFURk9STV9QQVNTV09SRCBlbnYgdmFyLicpO1xuICB9XG5cbiAgcHJpbnRTZWN0aW9uKCdMb2dpbicpO1xuICBwcmludEluZm8oJ0F1dGhlbnRpY2F0aW5nIHdpdGggaWRlbnRpZmllci9wYXNzd29yZC4uLicpO1xuICAvLyBSZXNvbHZlIHRoZSBiYXNlIFVSTCBXSVRIT1VUIGRlbWFuZGluZyBhIHRva2VuIOKAlCB0aGlzIGxvZ2luIHN0ZXAgcnVuc1xuICAvLyBwcmUtYXV0aCAobm8gUExBVEZPUk1fVE9LRU4geWV0KSwgc28gYGdldENvbmZpZygpYCB3b3VsZCB0aHJvdyBoZXJlLiBUaGVcbiAgLy8gdG9rZW4tb3B0aW9uYWwgbG9hZGVyIHN0aWxsIGhvbm9ycyBjb25maWcgZmlsZXMgKyBQTEFURk9STV9CQVNFX1VSTC9UTFMgZW52LlxuICBjb25zdCBhcGlDb25maWcgPSBnZXRBcGlDb25maWcoKTtcbiAgLy8gU0VDVVJJVFk6IHRoaXMgaW5saW5lIGxvZ2luIFBPU1RzIHRoZSBwYXNzd29yZC4gUmVmdXNlIHRvIGRpc2FibGUgY2VydFxuICAvLyB2ZXJpZmljYXRpb24gaW4gcHJvZHVjdGlvbiAobWlycm9ycyBjb25maWctbG9hZGVyIC8gbG9naW4pIHNvIGEgTUlUTSBjYW4ndFxuICAvLyBoYXJ2ZXN0IGl0OyBob25vcmVkIGluIG5vbi1wcm9kdWN0aW9uIGZvciBzZWxmLXNpZ25lZCBkZXYgcGxhdGZvcm1zLlxuICBpZiAob3B0aW9ucy52ZXJpZnlTc2wgPT09IGZhbHNlKSB7XG4gICAgYXNzZXJ0U3NsRGlzYWJsZUFsbG93ZWQoJ2lubGluZSBsb2dpbicpO1xuICB9XG4gIGNvbnN0IHJlamVjdFVuYXV0aG9yaXplZCA9IG9wdGlvbnMudmVyaWZ5U3NsID09PSBmYWxzZSA/IGZhbHNlIDogYXBpQ29uZmlnLmFwaS5yZWplY3RVbmF1dGhvcml6ZWQ7XG4gIGNvbnN0IGxvZ2luUmVzcG9uc2UgPSBhd2FpdCBheGlvcy5wb3N0KFxuICAgIGAke2FwaUNvbmZpZy5hcGkuYmFzZVVybH0vYXBpL2F1dGgvbG9naW5gLFxuICAgIC8vIFRoZSBzZXJ2ZXIncyBsb2dpblNjaGVtYSByZXF1aXJlcyBgaWRlbnRpZmllcmAgKGVtYWlsIE9SIHVzZXJuYW1lKSwgbm90XG4gICAgLy8gYGVtYWlsYCDigJQgc2VuZGluZyBgZW1haWxgIGZhaWxzIHpvZCB2YWxpZGF0aW9uIHdpdGggYSA0MDAuIE1pcnJvciB0aGVcbiAgICAvLyBjYW5vbmljYWwgYHBvc3RMb2dpbmAgYm9keS5cbiAgICB7IGlkZW50aWZpZXI6IGxvZ2luSWRlbnRpZmllciwgcGFzc3dvcmQ6IGxvZ2luUGFzc3dvcmQgfSxcbiAgICB7XG4gICAgICBodHRwc0FnZW50OiByZWplY3RVbmF1dGhvcml6ZWQgPT09IGZhbHNlXG4gICAgICAgID8gbmV3IChhd2FpdCBpbXBvcnQoJ2h0dHBzJykpLkFnZW50KHsgcmVqZWN0VW5hdXRob3JpemVkOiBmYWxzZSB9KVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICB9LFxuICApO1xuICBjb25zdCBsb2dpbkRhdGEgPSBsb2dpblJlc3BvbnNlLmRhdGE/LmRhdGEgPz8gbG9naW5SZXNwb25zZS5kYXRhO1xuICBjb25zdCBsb2dpblRva2VuID0gbG9naW5EYXRhPy5hY2Nlc3NUb2tlbjtcbiAgaWYgKCFsb2dpblRva2VuIHx8IHR5cGVvZiBsb2dpblRva2VuICE9PSAnc3RyaW5nJykge1xuICAgIHRocm93IG5ldyBFcnJvcignTG9naW4gZmFpbGVkIOKAlCBubyBhY2Nlc3MgdG9rZW4gaW4gcmVzcG9uc2UnKTtcbiAgfVxuICBwcm9jZXNzLmVudi5QTEFURk9STV9UT0tFTiA9IGxvZ2luVG9rZW47XG4gIHByaW50U3VjY2VzcygnTG9naW4gc3VjY2Vzc2Z1bCcpO1xufVxuXG4vKipcbiAqIFJlc29sdmUgdGhlIHBsYXRmb3JtIHNlY3JldCBuYW1lOiBhbiBleHBsaWNpdCBgUExBVEZPUk1fU0VDUkVUX05BTUVgIGVudiB3aW5zO1xuICogb3RoZXJ3aXNlIGxvZyBpbiBpZiBuZWVkZWQgYW5kIGRlcml2ZSBpdCBmcm9tIHRoZSBwbGF0Zm9ybSB0b2tlbidzIG9yZyDigJQgdGhlXG4gKiBzYW1lIHRva2VuIGBpbml0LXBsYXRmb3JtLnNoYCAocmVnaXN0ZXIpIG1pbnRzLCBzbyB3cml0ZXIgYW5kIHJlYWRlciBhZ3JlZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlc29sdmVQbGF0Zm9ybVNlY3JldE5hbWUob3B0aW9uczogUGxhdGZvcm1TZWNyZXRPcHRpb25zKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgZXhwbGljaXQgPSBwcm9jZXNzLmVudi5QTEFURk9STV9TRUNSRVRfTkFNRTtcbiAgaWYgKGV4cGxpY2l0KSByZXR1cm4gZXhwbGljaXQ7XG4gIGF3YWl0IGVuc3VyZVBsYXRmb3JtVG9rZW4ob3B0aW9ucyk7XG4gIGlmICghcHJvY2Vzcy5lbnYuUExBVEZPUk1fVE9LRU4pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnQ2Fubm90IGRlcml2ZSB0aGUgcGxhdGZvcm0gc2VjcmV0IG5hbWU6IG5vIFBMQVRGT1JNX1RPS0VOIGFuZCBubyBsb2dpbiBjcmVkcy4gJ1xuICAgICAgKyAnU2V0IFBMQVRGT1JNX1NFQ1JFVF9OQU1FLCBvciBwcm92aWRlIGxvZ2luIGNyZWRzICdcbiAgICAgICsgJygtLWlkZW50aWZpZXIvLS1wYXNzd29yZCBvciBQTEFURk9STV9JREVOVElGSUVSL1BMQVRGT1JNX1BBU1NXT1JEKS4nLFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIHJlc29sdmVTZWNyZXROYW1lKHByb2Nlc3MuZW52LlBMQVRGT1JNX1RPS0VOKTtcbn1cbiJdfQ==
|
package/package.json
CHANGED
|
@@ -43,8 +43,8 @@
|
|
|
43
43
|
"typescript": "npm:@typescript/typescript6@^6.0.2",
|
|
44
44
|
"yaml": "2.9.0",
|
|
45
45
|
"zod": "4.4.3",
|
|
46
|
-
"@pipeline-builder/ai-core": "3.4.118",
|
|
47
46
|
"@pipeline-builder/pipeline-core": "3.4.138",
|
|
47
|
+
"@pipeline-builder/ai-core": "3.4.118",
|
|
48
48
|
"@pipeline-builder/api-core": "3.4.118"
|
|
49
49
|
},
|
|
50
50
|
"keywords": [
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
"access": "public",
|
|
101
101
|
"registry": "https://registry.npmjs.org/"
|
|
102
102
|
},
|
|
103
|
-
"version": "3.4.
|
|
103
|
+
"version": "3.4.180",
|
|
104
104
|
"bugs": {
|
|
105
105
|
"url": "https://github.com/mwashburn160/pipeline-builder/issues"
|
|
106
106
|
},
|