Socket
Socket
Sign inDemoInstall

@aws-amplify/deployed-backend-client

Package Overview
Dependencies
Maintainers
9
Versions
70
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@aws-amplify/deployed-backend-client - npm Package Compare versions

Comparing version 0.0.0-test-20240807184137 to 0.0.0-test-20240813193219

1

lib/backend_output_client.d.ts

@@ -71,3 +71,2 @@ import { AmplifyClient } from '@aws-sdk/client-amplify';

storageRegion: string;
buckets?: string | undefined;
};

@@ -74,0 +73,0 @@ } | undefined;

2

lib/backend_output_client.js

@@ -22,2 +22,2 @@ import { unifiedBackendOutputSchema } from '@aws-amplify/backend-output-schemas';

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZF9vdXRwdXRfY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2JhY2tlbmRfb3V0cHV0X2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUdqRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUlsRjs7R0FFRztBQUNILE1BQU0sT0FBTywwQkFBMEI7SUFLM0I7SUFDQTtJQUxWOztPQUVHO0lBQ0gsWUFDVSxvQkFBMEMsRUFDMUMsYUFBNEI7UUFENUIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUNuQyxDQUFDO0lBQ0osU0FBUyxHQUFHLEtBQUssRUFBRSxpQkFBNEMsRUFBRSxFQUFFO1FBQ2pFLE1BQU0sYUFBYSxHQUFHLElBQUksMkJBQTJCLENBQ25ELElBQUksQ0FBQyxvQkFBb0IsRUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FDbkIsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUVqQyxNQUFNLE1BQU0sR0FBRyxNQUFNLGFBQWEsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRXhELE9BQU8sMEJBQTBCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xELENBQUMsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdW5pZmllZEJhY2tlbmRPdXRwdXRTY2hlbWEgfSBmcm9tICdAYXdzLWFtcGxpZnkvYmFja2VuZC1vdXRwdXQtc2NoZW1hcyc7XG5pbXBvcnQgeyBBbXBsaWZ5Q2xpZW50IH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWFtcGxpZnknO1xuaW1wb3J0IHsgQ2xvdWRGb3JtYXRpb25DbGllbnQgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtY2xvdWRmb3JtYXRpb24nO1xuaW1wb3J0IHsgQmFja2VuZE91dHB1dEZldGNoZXJGYWN0b3J5IH0gZnJvbSAnLi9iYWNrZW5kX291dHB1dF9mZXRjaGVyX2ZhY3RvcnkuanMnO1xuaW1wb3J0IHsgRGVwbG95ZWRCYWNrZW5kSWRlbnRpZmllciB9IGZyb20gJy4vaW5kZXguanMnO1xuaW1wb3J0IHsgQmFja2VuZE91dHB1dENsaWVudCB9IGZyb20gJy4vYmFja2VuZF9vdXRwdXRfY2xpZW50X2ZhY3RvcnkuanMnO1xuXG4vKipcbiAqIFNpbXBsaWZpZXMgdGhlIHJldHJpZXZhbCBvZiBhbGwgYmFja2VuZCBvdXRwdXQgdmFsdWVzXG4gKi9cbmV4cG9ydCBjbGFzcyBEZWZhdWx0QmFja2VuZE91dHB1dENsaWVudCBpbXBsZW1lbnRzIEJhY2tlbmRPdXRwdXRDbGllbnQge1xuICAvKipcbiAgICogSW5zdGFudGlhdGVzIGEgQmFja2VuZE91dHB1dENsaWVudFxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjbG91ZEZvcm1hdGlvbkNsaWVudDogQ2xvdWRGb3JtYXRpb25DbGllbnQsXG4gICAgcHJpdmF0ZSBhbXBsaWZ5Q2xpZW50OiBBbXBsaWZ5Q2xpZW50XG4gICkge31cbiAgZ2V0T3V0cHV0ID0gYXN5bmMgKGJhY2tlbmRJZGVudGlmaWVyOiBEZXBsb3llZEJhY2tlbmRJZGVudGlmaWVyKSA9PiB7XG4gICAgY29uc3Qgb3V0cHV0RmV0Y2hlciA9IG5ldyBCYWNrZW5kT3V0cHV0RmV0Y2hlckZhY3RvcnkoXG4gICAgICB0aGlzLmNsb3VkRm9ybWF0aW9uQ2xpZW50LFxuICAgICAgdGhpcy5hbXBsaWZ5Q2xpZW50XG4gICAgKS5nZXRTdHJhdGVneShiYWNrZW5kSWRlbnRpZmllcik7XG5cbiAgICBjb25zdCBvdXRwdXQgPSBhd2FpdCBvdXRwdXRGZXRjaGVyLmZldGNoQmFja2VuZE91dHB1dCgpO1xuXG4gICAgcmV0dXJuIHVuaWZpZWRCYWNrZW5kT3V0cHV0U2NoZW1hLnBhcnNlKG91dHB1dCk7XG4gIH07XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZF9vdXRwdXRfY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2JhY2tlbmRfb3V0cHV0X2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUdqRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUlsRjs7R0FFRztBQUNILE1BQU0sT0FBTywwQkFBMEI7SUFLM0I7SUFDQTtJQUxWOztPQUVHO0lBQ0gsWUFDVSxvQkFBMEMsRUFDMUMsYUFBNEI7UUFENUIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUNuQyxDQUFDO0lBQ0osU0FBUyxHQUFHLEtBQUssRUFBRSxpQkFBNEMsRUFBRSxFQUFFO1FBQ2pFLE1BQU0sYUFBYSxHQUFHLElBQUksMkJBQTJCLENBQ25ELElBQUksQ0FBQyxvQkFBb0IsRUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FDbkIsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNqQyxNQUFNLE1BQU0sR0FBRyxNQUFNLGFBQWEsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3hELE9BQU8sMEJBQTBCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xELENBQUMsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdW5pZmllZEJhY2tlbmRPdXRwdXRTY2hlbWEgfSBmcm9tICdAYXdzLWFtcGxpZnkvYmFja2VuZC1vdXRwdXQtc2NoZW1hcyc7XG5pbXBvcnQgeyBBbXBsaWZ5Q2xpZW50IH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWFtcGxpZnknO1xuaW1wb3J0IHsgQ2xvdWRGb3JtYXRpb25DbGllbnQgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtY2xvdWRmb3JtYXRpb24nO1xuaW1wb3J0IHsgQmFja2VuZE91dHB1dEZldGNoZXJGYWN0b3J5IH0gZnJvbSAnLi9iYWNrZW5kX291dHB1dF9mZXRjaGVyX2ZhY3RvcnkuanMnO1xuaW1wb3J0IHsgRGVwbG95ZWRCYWNrZW5kSWRlbnRpZmllciB9IGZyb20gJy4vaW5kZXguanMnO1xuaW1wb3J0IHsgQmFja2VuZE91dHB1dENsaWVudCB9IGZyb20gJy4vYmFja2VuZF9vdXRwdXRfY2xpZW50X2ZhY3RvcnkuanMnO1xuXG4vKipcbiAqIFNpbXBsaWZpZXMgdGhlIHJldHJpZXZhbCBvZiBhbGwgYmFja2VuZCBvdXRwdXQgdmFsdWVzXG4gKi9cbmV4cG9ydCBjbGFzcyBEZWZhdWx0QmFja2VuZE91dHB1dENsaWVudCBpbXBsZW1lbnRzIEJhY2tlbmRPdXRwdXRDbGllbnQge1xuICAvKipcbiAgICogSW5zdGFudGlhdGVzIGEgQmFja2VuZE91dHB1dENsaWVudFxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjbG91ZEZvcm1hdGlvbkNsaWVudDogQ2xvdWRGb3JtYXRpb25DbGllbnQsXG4gICAgcHJpdmF0ZSBhbXBsaWZ5Q2xpZW50OiBBbXBsaWZ5Q2xpZW50XG4gICkge31cbiAgZ2V0T3V0cHV0ID0gYXN5bmMgKGJhY2tlbmRJZGVudGlmaWVyOiBEZXBsb3llZEJhY2tlbmRJZGVudGlmaWVyKSA9PiB7XG4gICAgY29uc3Qgb3V0cHV0RmV0Y2hlciA9IG5ldyBCYWNrZW5kT3V0cHV0RmV0Y2hlckZhY3RvcnkoXG4gICAgICB0aGlzLmNsb3VkRm9ybWF0aW9uQ2xpZW50LFxuICAgICAgdGhpcy5hbXBsaWZ5Q2xpZW50XG4gICAgKS5nZXRTdHJhdGVneShiYWNrZW5kSWRlbnRpZmllcik7XG4gICAgY29uc3Qgb3V0cHV0ID0gYXdhaXQgb3V0cHV0RmV0Y2hlci5mZXRjaEJhY2tlbmRPdXRwdXQoKTtcbiAgICByZXR1cm4gdW5pZmllZEJhY2tlbmRPdXRwdXRTY2hlbWEucGFyc2Uob3V0cHV0KTtcbiAgfTtcbn1cbiJdfQ==

@@ -237,2 +237,2 @@ import { BackendIdentifierConversions } from '@aws-amplify/platform-core';

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95ZWRfYmFja2VuZF9jbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGVwbG95ZWRfYmFja2VuZF9jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0JBLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFFLE9BQU8sRUFHTCw0QkFBNEIsR0FDN0IsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBRUwsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQix5QkFBeUIsRUFDekIsaUJBQWlCLEVBSWpCLFdBQVcsR0FFWixNQUFNLGdDQUFnQyxDQUFDO0FBRXhDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBWSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hFLE9BQU8sRUFDTCxhQUFhLEVBQ2IsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsZ0JBQWdCLEdBQ2pCLE1BQU0scUNBQXFDLENBQUM7QUFLN0M7O0dBRUc7QUFDSCxNQUFNLE9BQU8sNEJBQTRCO0lBS3BCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQVRuQjs7T0FFRztJQUNILFlBQ21CLFNBQStCLEVBQy9CLFFBQWtCLEVBQ2xCLG1CQUF3QyxFQUN4QywyQkFBd0QsRUFDeEQsaUJBQW9DLEVBQ3BDLFNBQW9CO1FBTHBCLGNBQVMsR0FBVCxTQUFTLENBQXNCO1FBQy9CLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxnQ0FBMkIsR0FBM0IsMkJBQTJCLENBQTZCO1FBQ3hELHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsY0FBUyxHQUFULFNBQVMsQ0FBVztJQUNwQyxDQUFDO0lBRUo7O09BRUc7SUFDSCxhQUFhLEdBQUcsS0FBSyxFQUNuQix3QkFBeUQsRUFDMUMsRUFBRTtRQUNqQixNQUFNLFNBQVMsR0FBRyw0QkFBNEIsQ0FBQyxXQUFXLENB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TUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVoRSxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQzlCLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztTQUM3QztRQUVELE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ3pDLElBQUksZ0JBQWdCLENBQUMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUM5RCxDQUFDO1FBRUYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUU7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsV0FBVywwQkFBMEIsQ0FBQyxDQUFDO1NBQzNFO1FBRUQsT0FBTyxNQUFNLFVBQVUsQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztJQUNwRCxDQUFDLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJhY2tlbmRJZGVudGlmaWVyLFxuICBCYWNrZW5kT3V0cHV0LFxuICBEZXBsb3ltZW50VHlwZSxcbn0gZnJvbSAnQGF3cy1hbXBsaWZ5L3BsdWdpbi10eXBlcyc7XG5pbXBvcnQge1xuICBBcGlBdXRoVHlwZSxcbiAgQmFja2VuZE1ldGFkYXRhLFxuICBCYWNrZW5kU3RhdHVzLFxuICBCYWNrZW5kU3VtbWFyeU1ldGFkYXRhLFxuICBDb25mbGljdFJlc29sdXRpb25Nb2RlLFxuICBEZXBsb3llZEJhY2tlbmRDbGllbnQsXG4gIEZ1bmN0aW9uQ29uZmlndXJhdGlvbixcbiAgTGlzdEJhY2tlbmRzUmVxdWVzdCxcbiAgTGlzdEJhY2tlbmRzUmVzcG9uc2UsXG59IGZyb20gJy4vZGVwbG95ZWRfYmFja2VuZF9jbGllbnRfZmFjdG9yeS5qcyc7XG5pbXBvcnQgeyBCYWNrZW5kSWRlbnRpZmllckNvbnZlcnNpb25zIH0gZnJvbSAnQGF3cy1hbXBsaWZ5L3BsYXRmb3JtLWNvcmUnO1xuaW1wb3J0IHtcbiAgQmFja2VuZE91dHB1dENsaWVudCxcbiAgQmFja2VuZE91dHB1dENsaWVudEVycm9yLFxuICBCYWNrZW5kT3V0cHV0Q2xpZW50RXJyb3JUeXBlLFxufSBmcm9tICcuL2JhY2tlbmRfb3V0cHV0X2NsaWVudF9mYWN0b3J5LmpzJztcbmltcG9ydCB7XG4gIENsb3VkRm9ybWF0aW9uQ2xpZW50LFxuICBEZWxldGVTdGFja0NvbW1hbmQsXG4gIERlc2NyaWJlU3RhY2tzQ29tbWFuZCxcbiAgTGlzdFN0YWNrUmVzb3VyY2VzQ29tbWFuZCxcbiAgTGlzdFN0YWNrc0NvbW1hbmQsXG4gIExpc3RTdGFja3NDb21tYW5kT3V0cHV0LFxuICBTdGFjayxcbiAgU3RhY2tSZXNvdXJjZVN1bW1hcnksXG4gIFN0YWNrU3RhdHVzLFxuICBTdGFja1N1bW1hcnksXG59IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1jbG91ZGZvcm1hdGlvbic7XG5cbmltcG9ydCB7IEdldE9iamVjdENvbW1hbmQsIFMzQ2xpZW50IH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LXMzJztcbmltcG9ydCB7XG4gIGF1dGhPdXRwdXRLZXksXG4gIGZ1bmN0aW9uT3V0cHV0S2V5LFxuICBncmFwaHFsT3V0cHV0S2V5LFxuICBwbGF0Zm9ybU91dHB1dEtleSxcbiAgc3RvcmFnZU91dHB1dEtleSxcbn0gZnJvbSAnQGF3cy1hbXBsaWZ5L2JhY2tlbmQtb3V0cHV0LXNjaGVtYXMnO1xuaW1wb3J0IHsgRGVwbG95ZWRSZXNvdXJjZXNFbnVtZXJhdG9yIH0gZnJvbSAnLi9kZXBsb3llZC1iYWNrZW5kLWNsaWVudC9kZXBsb3llZF9yZXNvdXJjZXNfZW51bWVyYXRvci5qcyc7XG5pbXBvcnQgeyBTdGFja1N0YXR1c01hcHBlciB9IGZyb20gJy4vZGVwbG95ZWQtYmFja2VuZC1jbGllbnQvc3RhY2tfc3RhdHVzX21hcHBlci5qcyc7XG5pbXBvcnQgeyBBcm5QYXJzZXIgfSBmcm9tICcuL2RlcGxveWVkLWJhY2tlbmQtY2xpZW50L2Fybl9wYXJzZXIuanMnO1xuXG4vKipcbiAqIERlcGxveW1lbnQgQ2xpZW50XG4gKi9cbmV4cG9ydCBjbGFzcyBEZWZhdWx0RGVwbG95ZWRCYWNrZW5kQ2xpZW50IGltcGxlbWVudHMgRGVwbG95ZWRCYWNrZW5kQ2xpZW50IHtcbiAgLyoqXG4gICAqIENvbnN0cnVjdG9yIGZvciBkZXBsb3ltZW50IGNsaWVudFxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZm5DbGllbnQ6IENsb3VkRm9ybWF0aW9uQ2xpZW50LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgczNDbGllbnQ6IFMzQ2xpZW50LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYmFja2VuZE91dHB1dENsaWVudDogQmFja2VuZE91dHB1dENsaWVudCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlcGxveWVkUmVzb3VyY2VzRW51bWVyYXRvcjogRGVwbG95ZWRSZXNvdXJjZXNFbnVtZXJhdG9yLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhY2tTdGF0dXNNYXBwZXI6IFN0YWNrU3RhdHVzTWFwcGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXJuUGFyc2VyOiBBcm5QYXJzZXJcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBEZWxldGVzIGEgc2FuZGJveCB3aXRoIHRoZSBzcGVjaWZpZWQgaWRcbiAgICovXG4gIGRlbGV0ZVNhbmRib3ggPSBhc3luYyAoXG4gICAgc2FuZGJveEJhY2tlbmRJZGVudGlmaWVyOiBPbWl0PEJhY2tlbmRJZGVudGlmaWVyLCAndHlwZSc+XG4gICk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIGNvbnN0IHN0YWNrTmFtZSA9IEJhY2tlbmRJZGVudGlmaWVyQ29udmVyc2lvbnMudG9TdGFja05hbWUoe1xuICAgICAgLi4uc2FuZGJveEJhY2tlbmRJZGVudGlmaWVyLFxuICAgICAgdHlwZTogJ3NhbmRib3gnLFxuICAgIH0pO1xuICAgIGF3YWl0IHRoaXMuY2ZuQ2xpZW50LnNlbmQobmV3IERlbGV0ZVN0YWNrQ29tbWFuZCh7IFN0YWNrTmFtZTogc3RhY2tOYW1lIH0pKTtcbiAgfTtcbiAgLyoqXG4gICAqIEZldGNoZXMgYWxsIGJhY2tlbmQgbWV0YWRhdGEgZm9yIGEgc3BlY2lmaWVkIGJhY2tlbmRcbiAgICovXG4gIGdldEJhY2tlbmRNZXRhZGF0YSA9IGFzeW5jIChcbiAgICBiYWNrZW5kSWQ6IEJhY2tlbmRJZGVudGlmaWVyXG4gICk6IFByb21pc2U8QmFja2VuZE1ldGFkYXRhPiA9PiB7XG4gICAgY29uc3Qgc3RhY2tOYW1lID0gQmFja2VuZElkZW50aWZpZXJDb252ZXJzaW9ucy50b1N0YWNrTmFtZShiYWNrZW5kSWQpO1xuICAgIHJldHVybiB0aGlzLmJ1aWxkQmFja2VuZE1ldGFkYXRhKHN0YWNrTmFtZSk7XG4gIH07XG5cbiAgbGlzdEJhY2tlbmRzID0gKFxuICAgIGxpc3RCYWNrZW5kc1JlcXVlc3Q/OiBMaXN0QmFja2VuZHNSZXF1ZXN0XG4gICk6IExpc3RCYWNrZW5kc1Jlc3BvbnNlID0+IHtcbiAgICBjb25zdCBiYWNrZW5kcyA9IHRoaXMubGlzdEJhY2tlbmRzSW50ZXJuYWwobGlzdEJhY2tlbmRzUmVxdWVzdCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGdldEJhY2tlbmRTdW1tYXJ5QnlQYWdlOiAoKSA9PiBiYWNrZW5kcyxcbiAgICB9O1xuICB9O1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBzdGFja3MgZm9yIHNwZWNpZmljIGRlcGxveW1lbnQgdHlwZSBhbmQgc3RhdHVzXG4gICAqIEB5aWVsZHNcbiAgICovXG4gIHByaXZhdGUgYXN5bmMgKmxpc3RCYWNrZW5kc0ludGVybmFsKFxuICAgIGxpc3RCYWNrZW5kc1JlcXVlc3Q/OiBMaXN0QmFja2VuZHNSZXF1ZXN0XG4gICkge1xuICAgIGNvbnN0IHN0YWNrTWV0YWRhdGE6IEJhY2tlbmRTdW1tYXJ5TWV0YWRhdGFbXSA9IFtdO1xuICAgIGxldCBuZXh0VG9rZW47XG4gICAgY29uc3QgZGVwbG95bWVudFR5cGUgPSBsaXN0QmFja2VuZHNSZXF1ZXN0Py5kZXBsb3ltZW50VHlwZTtcbiAgICBjb25zdCBzdGF0dXNGaWx0ZXIgPSBsaXN0QmFja2VuZHNSZXF1ZXN0Py5iYWNrZW5kU3RhdHVzRmlsdGVyc1xuICAgICAgPyBsaXN0QmFja2VuZHNSZXF1ZXN0Py5iYWNrZW5kU3RhdHVzRmlsdGVyc1xuICAgICAgOiBbXTtcbiAgICBkbyB7XG4gICAgICBjb25zdCBsaXN0U3RhY2tzUmVzcG9uc2UgPSBhd2FpdCB0aGlzLmxpc3RTdGFja3MobmV4dFRva2VuLCBzdGF0dXNGaWx0ZXIpO1xuXG4gICAgICBjb25zdCBzdGFja01ldGFkYXRhUHJvbWlzZXMgPSBsaXN0U3RhY2tzUmVzcG9uc2Uuc3RhY2tTdW1tYXJpZXNcbiAgICAgICAgLmZpbHRlcigoc3RhY2tTdW1tYXJ5OiBTdGFja1N1bW1hcnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5nZXRCYWNrZW5kU3RhY2tUeXBlKHN0YWNrU3VtbWFyeS5TdGFja05hbWUpID09PSBkZXBsb3ltZW50VHlwZVxuICAgICAgICAgICk7XG4gICAgICAgIH0pXG4gICAgICAgIC5tYXAoYXN5bmMgKHN0YWNrU3VtbWFyeTogU3RhY2tTdW1tYXJ5KSA9PiB7XG4gICAgICAgICAgY29uc3QgZGVwbG95bWVudFR5cGUgPSBhd2FpdCB0aGlzLnRyeUdldERlcGxveW1lbnRUeXBlKHN0YWNrU3VtbWFyeSk7XG5cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmFtZTogc3RhY2tTdW1tYXJ5LlN0YWNrTmFtZSBhcyBzdHJpbmcsXG4gICAgICAgICAgICBiYWNrZW5kSWQ6IEJhY2tlbmRJZGVudGlmaWVyQ29udmVyc2lvbnMuZnJvbVN0YWNrTmFtZShcbiAgICAgICAgICAgICAgc3RhY2tTdW1tYXJ5LlN0YWNrTmFtZVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGxhc3RVcGRhdGVkOlxuICAgICAgICAgICAgICBzdGFja1N1bW1hcnkuTGFzdFVwZGF0ZWRUaW1lID8/IHN0YWNrU3VtbWFyeS5DcmVhdGlvblRpbWUsXG4gICAgICAgICAgICBzdGF0dXM6IHRoaXMuc3RhY2tTdGF0dXNNYXBwZXIudHJhbnNsYXRlU3RhY2tTdGF0dXMoXG4gICAgICAgICAgICAgIHN0YWNrU3VtbWFyeS5TdGFja1N0YXR1c1xuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGRlcGxveW1lbnRUeXBlLFxuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuXG4gICAgICBjb25zdCBzdGFja01ldGFkYXRhUmVzb2x2ZWRQcm9taXNlcyA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICBzdGFja01ldGFkYXRhUHJvbWlzZXNcbiAgICAgICk7XG4gICAgICBjb25zdCBmaWx0ZXJlZE1ldGFkYXRhID0gc3RhY2tNZXRhZGF0YVJlc29sdmVkUHJvbWlzZXMuZmlsdGVyKFxuICAgICAgICAoc3RhY2tNZXRhZGF0YSkgPT4gc3RhY2tNZXRhZGF0YS5kZXBsb3ltZW50VHlwZSA9PT0gZGVwbG95bWVudFR5cGVcbiAgICAgICk7XG5cbiAgICAgIHN0YWNrTWV0YWRhdGEucHVzaCguLi5maWx0ZXJlZE1ldGFkYXRhKTtcbiAgICAgIG5leHRUb2tlbiA9IGxpc3RTdGFja3NSZXNwb25zZS5uZXh0VG9rZW47XG5cbiAgICAgIGlmIChzdGFja01ldGFkYXRhLmxlbmd0aCAhPT0gMCkge1xuICAgICAgICB5aWVsZCBzdGFja01ldGFkYXRhO1xuICAgICAgfVxuICAgIH0gd2hpbGUgKHN0YWNrTWV0YWRhdGEubGVuZ3RoID09PSAwICYmIG5leHRUb2tlbik7XG4gIH1cblxuICBwcml2YXRlIGdldEJhY2tlbmRTdGFja1R5cGUgPSAoXG4gICAgc3RhY2tOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgICBjb25zdCBiYWNrZW5kSWRlbnRpZmllciA9XG4gICAgICBCYWNrZW5kSWRlbnRpZmllckNvbnZlcnNpb25zLmZyb21TdGFja05hbWUoc3RhY2tOYW1lKTtcbiAgICByZXR1cm4gYmFja2VuZElkZW50aWZpZXI/LnR5cGU7XG4gIH07XG5cbiAgcHJpdmF0ZSB0cnlHZXREZXBsb3ltZW50VHlwZSA9IGFzeW5jIChcbiAgICBzdGFja1N1bW1hcnk6IFN0YWNrU3VtbWFyeVxuICApOiBQcm9taXNlPERlcGxveW1lbnRUeXBlIHwgdW5kZWZpbmVkPiA9PiB7XG4gICAgY29uc3QgYmFja2VuZElkZW50aWZpZXIgPSB7XG4gICAgICBzdGFja05hbWU6IHN0YWNrU3VtbWFyeS5TdGFja05hbWUgYXMgc3RyaW5nLFxuICAgIH07XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgYmFja2VuZE91dHB1dDogQmFja2VuZE91dHB1dCA9XG4gICAgICAgIGF3YWl0IHRoaXMuYmFja2VuZE91dHB1dENsaWVudC5nZXRPdXRwdXQoYmFja2VuZElkZW50aWZpZXIpO1xuXG4gICAgICByZXR1cm4gYmFja2VuZE91dHB1dFtwbGF0Zm9ybU91dHB1dEtleV0ucGF5bG9hZFxuICAgICAgICAuZGVwbG95bWVudFR5cGUgYXMgRGVwbG95bWVudFR5cGU7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGlmIChcbiAgICAgICAgKGVycm9yIGFzIEJhY2tlbmRPdXRwdXRDbGllbnRFcnJvcikuY29kZSA9PT1cbiAgICAgICAgQmFja2VuZE91dHB1dENsaWVudEVycm9yVHlwZS5NRVRBREFUQV9SRVRSSUVWQUxfRVJST1JcbiAgICAgICkge1xuICAgICAgICAvLyBJZ25vcmUgc3RhY2tzIHdoZXJlIG1ldGFkYXRhIGNhbm5vdCBiZSByZXRyaWV2ZWQuIFRoZXNlIGFyZSBub3QgQW1wbGlmeSBzdGFja3MsIG9yIG5vdCBjb21wYXRpYmxlIHdpdGggdGhpcyBsaWJyYXJ5LlxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBsaXN0U3RhY2tzID0gYXN5bmMgKFxuICAgIG5leHRUb2tlbjogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIHN0YWNrU3RhdHVzRmlsdGVyOiBCYWNrZW5kU3RhdHVzW11cbiAgKTogUHJvbWlzZTx7XG4gICAgc3RhY2tTdW1tYXJpZXM6IFN0YWNrU3VtbWFyeVtdO1xuICAgIG5leHRUb2tlbjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICB9PiA9PiB7XG4gICAgY29uc3Qgc3RhY2tzOiBMaXN0U3RhY2tzQ29tbWFuZE91dHB1dCA9IGF3YWl0IHRoaXMuY2ZuQ2xpZW50LnNlbmQoXG4gICAgICBuZXcgTGlzdFN0YWNrc0NvbW1hbmQoe1xuICAgICAgICBOZXh0VG9rZW46IG5leHRUb2tlbixcbiAgICAgICAgU3RhY2tTdGF0dXNGaWx0ZXI6XG4gICAgICAgICAgc3RhY2tTdGF0dXNGaWx0ZXIubGVuZ3RoID4gMFxuICAgICAgICAgICAgPyBzdGFja1N0YXR1c0ZpbHRlclxuICAgICAgICAgICAgOiBPYmplY3QudmFsdWVzKFN0YWNrU3RhdHVzKS5maWx0ZXIoXG4gICAgICAgICAgICAgICAgKHN0YXR1cykgPT4gc3RhdHVzICE9PSBTdGFja1N0YXR1cy5ERUxFVEVfQ09NUExFVEVcbiAgICAgICAgICAgICAgKSxcbiAgICAgIH0pXG4gICAgKTtcbiAgICBuZXh0VG9rZW4gPSBzdGFja3MuTmV4dFRva2VuO1xuICAgIHJldHVybiB7IHN0YWNrU3VtbWFyaWVzOiBzdGFja3MuU3RhY2tTdW1tYXJpZXMgPz8gW10sIG5leHRUb2tlbiB9O1xuICB9O1xuXG4gIHByaXZhdGUgYnVpbGRCYWNrZW5kTWV0YWRhdGEgPSBhc3luYyAoXG4gICAgc3RhY2tOYW1lOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxCYWNrZW5kTWV0YWRhdGE+ID0+IHtcbiAgICBjb25zdCBzdGFja0JhY2tlbmRJZGVudGlmaWVyID0ge1xuICAgICAgc3RhY2tOYW1lLFxuICAgIH07XG5cbiAgICBjb25zdCBiYWNrZW5kT3V0cHV0OiBCYWNrZW5kT3V0cHV0ID1cbiAgICAgIGF3YWl0IHRoaXMuYmFja2VuZE91dHB1dENsaWVudC5nZXRPdXRwdXQoc3RhY2tCYWNrZW5kSWRlbnRpZmllcik7XG4gICAgY29uc3Qgc3RhY2tEZXNjcmlwdGlvbiA9IGF3YWl0IHRoaXMuY2ZuQ2xpZW50LnNlbmQoXG4gICAgICBuZXcgRGVzY3JpYmVTdGFja3NDb21tYW5kKHsgU3RhY2tOYW1lOiBzdGFja05hbWUgfSlcbiAgICApO1xuICAgIGNvbnN0IHN0YWNrID0gc3RhY2tEZXNjcmlwdGlvbj8uU3RhY2tzPy5bMF07XG4gICAgY29uc3Qgc3RhdHVzID0gdGhpcy5zdGFja1N0YXR1c01hcHBlci50cmFuc2xhdGVTdGFja1N0YXR1cyhcbiAgICAgIHN0YWNrPy5TdGFja1N0YXR1c1xuICAgICk7XG4gICAgY29uc3QgbGFzdFVwZGF0ZWQgPSBzdGFjaz8uTGFzdFVwZGF0ZWRUaW1lID8/IHN0YWNrPy5DcmVhdGlvblRpbWU7XG5cbiAgICBjb25zdCBzdGFja1Jlc291cmNlcyA9IGF3YWl0IHRoaXMuY2ZuQ2xpZW50LnNlbmQoXG4gICAgICBuZXcgTGlzdFN0YWNrUmVzb3VyY2VzQ29tbWFuZCh7XG4gICAgICAgIFN0YWNrTmFtZTogc3RhY2tOYW1lLFxuICAgICAgfSlcbiAgICApO1xuICAgIGNvbnN0IGNoaWxkU3RhY2tQcm9taXNlczogUHJvbWlzZTxTdGFjayB8IHVuZGVmaW5lZD5bXSA9XG4gICAgICBzdGFja1Jlc291cmNlcy5TdGFja1Jlc291cmNlU3VtbWFyaWVzPy5maWx0ZXIoXG4gICAgICAgIChzdGFja1Jlc291cmNlU3VtbWFyeTogU3RhY2tSZXNvdXJjZVN1bW1hcnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgc3RhY2tSZXNvdXJjZVN1bW1hcnkuUmVzb3VyY2VUeXBlID09PSAnQVdTOjpDbG91ZEZvcm1hdGlvbjo6U3RhY2snXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgKS5tYXAoYXN5bmMgKHN0YWNrUmVzb3VyY2VTdW1tYXJ5OiBTdGFja1Jlc291cmNlU3VtbWFyeSkgPT4ge1xuICAgICAgICAvLyBhcm46YXdzOntzZXJ2aWNlfTp7cmVnaW9ufTp7YWNjb3VudH06c3RhY2sve3N0YWNrTmFtZX0ve2FkZGl0aW9uYWxGaWVsZHN9XG4gICAgICAgIGNvbnN0IGFyblBhcnRzID0gc3RhY2tSZXNvdXJjZVN1bW1hcnkuUGh5c2ljYWxSZXNvdXJjZUlkPy5zcGxpdCgnLycpO1xuICAgICAgICBjb25zdCBjaGlsZFN0YWNrTmFtZSA9IGFyblBhcnRzPy5bMV07XG4gICAgICAgIGlmICghY2hpbGRTdGFja05hbWUpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3RhY2tEZXNjcmlwdGlvbiA9IGF3YWl0IHRoaXMuY2ZuQ2xpZW50LnNlbmQoXG4gICAgICAgICAgbmV3IERlc2NyaWJlU3RhY2tzQ29tbWFuZCh7IFN0YWNrTmFtZTogY2hpbGRTdGFja05hbWUgfSlcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBzdGFjayA9IHN0YWNrRGVzY3JpcHRpb24/LlN0YWNrcz8uWzBdO1xuICAgICAgICByZXR1cm4gc3RhY2s7XG4gICAgICB9KSA/PyBbXTtcblxuICAgIGNvbnN0IGNoaWxkU3RhY2tzID0gYXdhaXQgUHJvbWlzZS5hbGwoY2hpbGRTdGFja1Byb21pc2VzKTtcbiAgICBjb25zdCBhdXRoU3RhY2sgPSBjaGlsZFN0YWNrcy5maW5kKFxuICAgICAgKG5lc3RlZFN0YWNrOiBTdGFja1N1bW1hcnkgfCB1bmRlZmluZWQpID0+XG4gICAgICAgIG5lc3RlZFN0YWNrPy5TdGFja05hbWU/LmluY2x1ZGVzKCdhdXRoJylcbiAgICApO1xuICAgIGNvbnN0IHN0b3JhZ2VTdGFjayA9IGNoaWxkU3RhY2tzLmZpbmQoXG4gICAgICAobmVzdGVkU3RhY2s6IFN0YWNrU3VtbWFyeSB8IHVuZGVmaW5lZCkgPT5cbiAgICAgICAgbmVzdGVkU3RhY2s/LlN0YWNrTmFtZT8uaW5jbHVkZXMoJ3N0b3JhZ2UnKVxuICAgICk7XG4gICAgY29uc3QgYXBpU3RhY2sgPSBjaGlsZFN0YWNrcy5maW5kKChuZXN0ZWRTdGFjazogU3RhY2tTdW1tYXJ5IHwgdW5kZWZpbmVkKSA9PlxuICAgICAgbmVzdGVkU3RhY2s/LlN0YWNrTmFtZT8uaW5jbHVkZXMoJ2RhdGEnKVxuICAgICk7XG4gICAgY29uc3QgZnVuY3Rpb25TdGFjayA9IGNoaWxkU3RhY2tzLmZpbmQoXG4gICAgICAobmVzdGVkU3RhY2s6IFN0YWNrU3VtbWFyeSB8IHVuZGVmaW5lZCkgPT5cbiAgICAgICAgbmVzdGVkU3RhY2s/LlN0YWNrTmFtZT8uaW5jbHVkZXMoJ2Z1bmN0aW9uJylcbiAgICApO1xuXG4gICAgLy8gc3RhY2s/LlN0YWNrSWQgaXMgdGhlIEFSTiBvZiB0aGUgc3RhY2tcbiAgICBjb25zdCB7IGFjY291bnRJZCwgcmVnaW9uIH0gPSB0aGlzLmFyblBhcnNlci50cnlQYXJzZUFybihcbiAgICAgIHN0YWNrPy5TdGFja0lkIGFzIHN0cmluZ1xuICAgICk7XG4gICAgY29uc3QgcmVzb3VyY2VzID1cbiAgICAgIGF3YWl0IHRoaXMuZGVwbG95ZWRSZXNvdXJjZXNFbnVtZXJhdG9yLmxpc3REZXBsb3llZFJlc291cmNlcyhcbiAgICAgICAgdGhpcy5jZm5DbGllbnQsXG4gICAgICAgIHN0YWNrTmFtZSxcbiAgICAgICAgYWNjb3VudElkLFxuICAgICAgICByZWdpb25cbiAgICAgICk7XG5cbiAgICBjb25zdCBiYWNrZW5kTWV0YWRhdGFPYmplY3Q6IEJhY2tlbmRNZXRhZGF0YSA9IHtcbiAgICAgIGRlcGxveW1lbnRUeXBlOiBiYWNrZW5kT3V0cHV0W3BsYXRmb3JtT3V0cHV0S2V5XS5wYXlsb2FkXG4gICAgICAgIC5kZXBsb3ltZW50VHlwZSBhcyBEZXBsb3ltZW50VHlwZSxcbiAgICAgIGxhc3RVcGRhdGVkLFxuICAgICAgc3RhdHVzLFxuICAgICAgbmFtZTogc3RhY2tOYW1lLFxuICAgICAgcmVzb3VyY2VzLFxuICAgIH07XG5cbiAgICBpZiAoYXV0aFN0YWNrKSB7XG4gICAgICBiYWNrZW5kTWV0YWRhdGFPYmplY3QuYXV0aENvbmZpZ3VyYXRpb24gPSB7XG4gICAgICAgIHN0YXR1czogdGhpcy5zdGFja1N0YXR1c01hcHBlci50cmFuc2xhdGVTdGFja1N0YXR1cyhcbiAgICAgICAgICBhdXRoU3RhY2suU3RhY2tTdGF0dXNcbiAgICAgICAgKSxcbiAgICAgICAgbGFzdFVwZGF0ZWQ6IGF1dGhTdGFjay5MYXN0VXBkYXRlZFRpbWUgPz8gYXV0aFN0YWNrLkNyZWF0aW9uVGltZSxcbiAgICAgICAgdXNlclBvb2xJZDogYmFja2VuZE91dHB1dFthdXRoT3V0cHV0S2V5XT8ucGF5bG9hZC51c2VyUG9vbElkIGFzIHN0cmluZyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKHN0b3JhZ2VTdGFjaykge1xuICAgICAgYmFja2VuZE1ldGFkYXRhT2JqZWN0LnN0b3JhZ2VDb25maWd1cmF0aW9uID0ge1xuICAgICAgICBzdGF0dXM6IHRoaXMuc3RhY2tTdGF0dXNNYXBwZXIudHJhbnNsYXRlU3RhY2tTdGF0dXMoXG4gICAgICAgICAgc3RvcmFnZVN0YWNrLlN0YWNrU3RhdHVzXG4gICAgICAgICksXG4gICAgICAgIGxhc3RVcGRhdGVkOiBzdG9yYWdlU3RhY2suTGFzdFVwZGF0ZWRUaW1lID8/IHN0b3JhZ2VTdGFjay5DcmVhdGlvblRpbWUsXG4gICAgICAgIHMzQnVja2V0TmFtZTogYmFja2VuZE91dHB1dFtzdG9yYWdlT3V0cHV0S2V5XT8ucGF5bG9hZFxuICAgICAgICAgIC5idWNrZXROYW1lIGFzIHN0cmluZyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKGFwaVN0YWNrKSB7XG4gICAgICBjb25zdCBhZGRpdGlvbmFsQXV0aFR5cGVzU3RyaW5nID0gYmFja2VuZE91dHB1dFtncmFwaHFsT3V0cHV0S2V5XT8ucGF5bG9hZFxuICAgICAgICAuYXdzQXBwc3luY0FkZGl0aW9uYWxBdXRoZW50aWNhdGlvblR5cGVzIGFzIHN0cmluZztcbiAgICAgIGNvbnN0IGFkZGl0aW9uYWxBdXRoVHlwZXMgPSBhZGRpdGlvbmFsQXV0aFR5cGVzU3RyaW5nXG4gICAgICAgID8gKGFkZGl0aW9uYWxBdXRoVHlwZXNTdHJpbmcuc3BsaXQoJywnKSBhcyBBcGlBdXRoVHlwZVtdKVxuICAgICAgICA6IFtdO1xuICAgICAgYmFja2VuZE1ldGFkYXRhT2JqZWN0LmFwaUNvbmZpZ3VyYXRpb24gPSB7XG4gICAgICAgIHN0YXR1czogdGhpcy5zdGFja1N0YXR1c01hcHBlci50cmFuc2xhdGVTdGFja1N0YXR1cyhcbiAgICAgICAgICBhcGlTdGFjay5TdGFja1N0YXR1c1xuICAgICAgICApLFxuICAgICAgICBsYXN0VXBkYXRlZDogYXBpU3RhY2suTGFzdFVwZGF0ZWRUaW1lID8/IGFwaVN0YWNrLkNyZWF0aW9uVGltZSxcbiAgICAgICAgZ3JhcGhxbEVuZHBvaW50OiBiYWNrZW5kT3V0cHV0W2dyYXBocWxPdXRwdXRLZXldPy5wYXlsb2FkXG4gICAgICAgICAgLmF3c0FwcHN5bmNBcGlFbmRwb2ludCBhcyBzdHJpbmcsXG4gICAgICAgIGRlZmF1bHRBdXRoVHlwZTogYmFja2VuZE91dHB1dFtncmFwaHFsT3V0cHV0S2V5XT8ucGF5bG9hZFxuICAgICAgICAgIC5hd3NBcHBzeW5jQXV0aGVudGljYXRpb25UeXBlIGFzIEFwaUF1dGhUeXBlLFxuICAgICAgICBhZGRpdGlvbmFsQXV0aFR5cGVzLFxuICAgICAgICBjb25mbGljdFJlc29sdXRpb25Nb2RlOiBiYWNrZW5kT3V0cHV0W2dyYXBocWxPdXRwdXRLZXldPy5wYXlsb2FkXG4gICAgICAgICAgLmF3c0FwcHN5bmNDb25mbGljdFJlc29sdXRpb25Nb2RlIGFzIENvbmZsaWN0UmVzb2x1dGlvbk1vZGUsXG4gICAgICAgIGFwaUlkOiBiYWNrZW5kT3V0cHV0W2dyYXBocWxPdXRwdXRLZXldPy5wYXlsb2FkXG4gICAgICAgICAgLmF3c0FwcHN5bmNBcGlJZCBhcyBzdHJpbmcsXG4gICAgICAgIG1vZGVsU2NoZW1hUzNVcmk6IGJhY2tlbmRPdXRwdXRbZ3JhcGhxbE91dHB1dEtleV0/LnBheWxvYWRcbiAgICAgICAgICAuYW1wbGlmeUFwaU1vZGVsU2NoZW1hUzNVcmkgYXMgc3RyaW5nLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAoZnVuY3Rpb25TdGFjaykge1xuICAgICAgY29uc3QgZnVuY3Rpb25SZXNvdXJjZXMgPSByZXNvdXJjZXMuZmlsdGVyKFxuICAgICAgICAocmVzb3VyY2UpID0+IHJlc291cmNlLnJlc291cmNlVHlwZSA9PT0gJ0FXUzo6TGFtYmRhOjpGdW5jdGlvbidcbiAgICAgICk7XG4gICAgICBjb25zdCBmdW5jdGlvbkNvbmZpZ3VyYXRpb25zOiBGdW5jdGlvbkNvbmZpZ3VyYXRpb25bXSA9IFtdO1xuICAgICAgY29uc3QgZGVmaW5lZEZ1bmN0aW9uc1N0cmluZyA9XG4gICAgICAgIGJhY2tlbmRPdXRwdXRbZnVuY3Rpb25PdXRwdXRLZXldPy5wYXlsb2FkLmRlZmluZWRGdW5jdGlvbnM7XG4gICAgICBjb25zdCBjdXN0b21lckZ1bmN0aW9uTmFtZXMgPSBkZWZpbmVkRnVuY3Rpb25zU3RyaW5nXG4gICAgICAgID8gKEpTT04ucGFyc2UoZGVmaW5lZEZ1bmN0aW9uc1N0cmluZyBhcyBzdHJpbmcpIGFzIHN0cmluZ1tdKVxuICAgICAgICA6IFtdO1xuXG4gICAgICBjdXN0b21lckZ1bmN0aW9uTmFtZXMuZm9yRWFjaCgoZnVuY3Rpb25OYW1lKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc291cmNlID0gZnVuY3Rpb25SZXNvdXJjZXMuZmluZChcbiAgICAgICAgICAoZnVuYykgPT4gZnVuYy5waHlzaWNhbFJlc291cmNlSWQgPT09IGZ1bmN0aW9uTmFtZVxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChyZXNvdXJjZSkge1xuICAgICAgICAgIGZ1bmN0aW9uQ29uZmlndXJhdGlvbnMucHVzaCh7XG4gICAgICAgICAgICBzdGF0dXM6IHRoaXMuc3RhY2tTdGF0dXNNYXBwZXIudHJhbnNsYXRlU3RhY2tTdGF0dXMoXG4gICAgICAgICAgICAgIHJlc291cmNlLnJlc291cmNlU3RhdHVzXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgbGFzdFVwZGF0ZWQ6XG4gICAgICAgICAgICAgIHJlc291cmNlLmxhc3RVcGRhdGVkID8/XG4gICAgICAgICAgICAgIGZ1bmN0aW9uU3RhY2suTGFzdFVwZGF0ZWRUaW1lID8/XG4gICAgICAgICAgICAgIGZ1bmN0aW9uU3RhY2suQ3JlYXRpb25UaW1lLFxuICAgICAgICAgICAgZnVuY3Rpb25OYW1lLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgYmFja2VuZE1ldGFkYXRhT2JqZWN0LmZ1bmN0aW9uQ29uZmlndXJhdGlvbnMgPSBmdW5jdGlvbkNvbmZpZ3VyYXRpb25zO1xuICAgIH1cblxuICAgIHJldHVybiBiYWNrZW5kTWV0YWRhdGFPYmplY3Q7XG4gIH07XG5cbiAgcHJpdmF0ZSBmZXRjaFNjaGVtYSA9IGFzeW5jIChcbiAgICBzY2hlbWFTM1VyaTogc3RyaW5nIHwgdW5kZWZpbmVkXG4gICk6IFByb21pc2U8c3RyaW5nPiA9PiB7XG4gICAgaWYgKCFzY2hlbWFTM1VyaSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdzY2hlbWFTM1VyaSBvdXRwdXQgaXMgbm90IGF2YWlsYWJsZScpO1xuICAgIH1cblxuICAgIC8vIHMzOi8ve2J1Y2tldE5hbWV9L3tmaWxlTmFtZX1cbiAgICBjb25zdCB1cmlQYXJ0cyA9IHNjaGVtYVMzVXJpLnNwbGl0KCcvJyk7XG4gICAgY29uc3QgYnVja2V0TmFtZSA9IHVyaVBhcnRzWzJdO1xuICAgIGNvbnN0IG9iamVjdFBhdGggPSB1cmlQYXJ0cy5zbGljZSgzLCB1cmlQYXJ0cy5sZW5ndGgpLmpvaW4oJy8nKTtcblxuICAgIGlmICghYnVja2V0TmFtZSB8fCAhb2JqZWN0UGF0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdzY2hlbWFTM1VyaSBpcyBub3QgdmFsaWQnKTtcbiAgICB9XG5cbiAgICBjb25zdCBzM1Jlc3BvbnNlID0gYXdhaXQgdGhpcy5zM0NsaWVudC5zZW5kKFxuICAgICAgbmV3IEdldE9iamVjdENvbW1hbmQoeyBCdWNrZXQ6IGJ1Y2tldE5hbWUsIEtleTogb2JqZWN0UGF0aCB9KVxuICAgICk7XG5cbiAgICBpZiAoIXMzUmVzcG9uc2UuQm9keSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBzM1Jlc3BvbnNlIGZyb20gJHtzY2hlbWFTM1VyaX0gZG9lcyBub3QgY29udGFpbiBhIEJvZHlgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXdhaXQgczNSZXNwb25zZS5Cb2R5Py50cmFuc2Zvcm1Ub1N0cmluZygpO1xuICB9O1xufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95ZWRfYmFja2VuZF9jbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGVwbG95ZWRfYmFja2VuZF9jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0JBLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFFLE9BQU8sRUFHTCw0QkFBNEIsR0FDN0IsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBRUwsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQix5QkFBeUIsRUFDekIsaUJBQWlCLEVBSWpCLFdBQVcsR0FFWixNQUFNLGdDQUFnQyxDQUFDO0FBRXhDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBWSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hFLE9BQU8sRUFDTCxhQUFhLEVBQ2IsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsZ0JBQWdCLEdBQ2pCLE1BQU0scUNBQXFDLENBQUM7QUFLN0M7O0dBRUc7QUFDSCxNQUFNLE9BQU8sNEJBQTRCO0lBS3BCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQVRuQjs7T0FFRztJQUNILFlBQ21CLFNBQStCLEVBQy9CLFFBQWtCLEVBQ2xCLG1CQUF3QyxFQUN4QywyQkFBd0QsRUFDeEQsaUJBQW9DLEVBQ3BDLFNBQW9CO1FBTHBCLGNBQVMsR0FBVCxTQUFTLENBQXNCO1FBQy9CLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxnQ0FBMkIsR0FBM0IsMkJBQTJCLENBQTZCO1FBQ3hELHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsY0FBUyxHQUFULFNBQVMsQ0FBVztJQUNwQyxDQUFDO0lBRUo7O09BRUc7SUFDSCxhQUFhLEdBQUcsS0FBSyxFQUNuQix3QkFBeUQsRUFDMUMsRUFBRTtRQUNqQixNQUFNLFNBQVMsR0FBRyw0QkFBNEIsQ0FBQyxXQUFXLENB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LE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFaEUsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7U0FDN0M7UUFFRCxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUN6QyxJQUFJLGdCQUFnQixDQUFDLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FDOUQsQ0FBQztRQUVGLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLFdBQVcsMEJBQTBCLENBQUMsQ0FBQztTQUMzRTtRQUVELE9BQU8sTUFBTSxVQUFVLENBQUMsSUFBSSxFQUFFLGlCQUFpQixFQUFFLENBQUM7SUFDcEQsQ0FBQyxDQUFDO0NBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCYWNrZW5kSWRlbnRpZmllcixcbiAgQmFja2VuZE91dHB1dCxcbiAgRGVwbG95bWVudFR5cGUsXG59IGZyb20gJ0Bhd3MtYW1wbGlmeS9wbHVnaW4tdHlwZXMnO1xuaW1wb3J0IHtcbiAgQXBpQXV0aFR5cGUsXG4gIEJhY2tlbmRNZXRhZGF0YSxcbiAgQmFja2VuZFN0YXR1cyxcbiAgQmFja2VuZFN1bW1hcnlNZXRhZGF0YSxcbiAgQ29uZmxpY3RSZXNvbHV0aW9uTW9kZSxcbiAgRGVwbG95ZWRCYWNrZW5kQ2xpZW50LFxuICBGdW5jdGlvbkNvbmZpZ3VyYXRpb24sXG4gIExpc3RCYWNrZW5kc1JlcXVlc3QsXG4gIExpc3RCYWNrZW5kc1Jlc3BvbnNlLFxufSBmcm9tICcuL2RlcGxveWVkX2JhY2tlbmRfY2xpZW50X2ZhY3RvcnkuanMnO1xuaW1wb3J0IHsgQmFja2VuZElkZW50aWZpZXJDb252ZXJzaW9ucyB9IGZyb20gJ0Bhd3MtYW1wbGlmeS9wbGF0Zm9ybS1jb3JlJztcbmltcG9ydCB7XG4gIEJhY2tlbmRPdXRwdXRDbGllbnQsXG4gIEJhY2tlbmRPdXRwdXRDbGllbnRFcnJvcixcbiAgQmFja2VuZE91dHB1dENsaWVudEVycm9yVHlwZSxcbn0gZnJvbSAnLi9iYWNrZW5kX291dHB1dF9jbGllbnRfZmFjdG9yeS5qcyc7XG5pbXBvcnQge1xuICBDbG91ZEZvcm1hdGlvbkNsaWVudCxcbiAgRGVsZXRlU3RhY2tDb21tYW5kLFxuICBEZXNjcmliZVN0YWNrc0NvbW1hbmQsXG4gIExpc3RTdGFja1Jlc291cmNlc0NvbW1hbmQsXG4gIExpc3RTdGFja3NDb21tYW5kLFxuICBMaXN0U3RhY2tzQ29tbWFuZE91dHB1dCxcbiAgU3RhY2ssXG4gIFN0YWNrUmVzb3VyY2VTdW1tYXJ5LFxuICBTdGFja1N0YXR1cyxcbiAgU3RhY2tTdW1tYXJ5LFxufSBmcm9tICdAYXdzLXNkay9jbGllbnQtY2xvdWRmb3JtYXRpb24nO1xuXG5pbXBvcnQgeyBHZXRPYmplY3RDb21tYW5kLCBTM0NsaWVudCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1zMyc7XG5pbXBvcnQge1xuICBhdXRoT3V0cHV0S2V5LFxuICBmdW5jdGlvbk91dHB1dEtleSxcbiAgZ3JhcGhxbE91dHB1dEtleSxcbiAgcGxhdGZvcm1PdXRwdXRLZXksXG4gIHN0b3JhZ2VPdXRwdXRLZXksXG59IGZyb20gJ0Bhd3MtYW1wbGlmeS9iYWNrZW5kLW91dHB1dC1zY2hlbWFzJztcbmltcG9ydCB7IERlcGxveWVkUmVzb3VyY2VzRW51bWVyYXRvciB9IGZyb20gJy4vZGVwbG95ZWQtYmFja2VuZC1jbGllbnQvZGVwbG95ZWRfcmVzb3VyY2VzX2VudW1lcmF0b3IuanMnO1xuaW1wb3J0IHsgU3RhY2tTdGF0dXNNYXBwZXIgfSBmcm9tICcuL2RlcGxveWVkLWJhY2tlbmQtY2xpZW50L3N0YWNrX3N0YXR1c19tYXBwZXIuanMnO1xuaW1wb3J0IHsgQXJuUGFyc2VyIH0gZnJvbSAnLi9kZXBsb3llZC1iYWNrZW5kLWNsaWVudC9hcm5fcGFyc2VyLmpzJztcblxuLyoqXG4gKiBEZXBsb3ltZW50IENsaWVudFxuICovXG5leHBvcnQgY2xhc3MgRGVmYXVsdERlcGxveWVkQmFja2VuZENsaWVudCBpbXBsZW1lbnRzIERlcGxveWVkQmFja2VuZENsaWVudCB7XG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RvciBmb3IgZGVwbG95bWVudCBjbGllbnRcbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2ZuQ2xpZW50OiBDbG91ZEZvcm1hdGlvbkNsaWVudCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHMzQ2xpZW50OiBTM0NsaWVudCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJhY2tlbmRPdXRwdXRDbGllbnQ6IEJhY2tlbmRPdXRwdXRDbGllbnQsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXBsb3llZFJlc291cmNlc0VudW1lcmF0b3I6IERlcGxveWVkUmVzb3VyY2VzRW51bWVyYXRvcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YWNrU3RhdHVzTWFwcGVyOiBTdGFja1N0YXR1c01hcHBlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFyblBhcnNlcjogQXJuUGFyc2VyXG4gICkge31cblxuICAvKipcbiAgICogRGVsZXRlcyBhIHNhbmRib3ggd2l0aCB0aGUgc3BlY2lmaWVkIGlkXG4gICAqL1xuICBkZWxldGVTYW5kYm94ID0gYXN5bmMgKFxuICAgIHNhbmRib3hCYWNrZW5kSWRlbnRpZmllcjogT21pdDxCYWNrZW5kSWRlbnRpZmllciwgJ3R5cGUnPlxuICApOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICBjb25zdCBzdGFja05hbWUgPSBCYWNrZW5kSWRlbnRpZmllckNvbnZlcnNpb25zLnRvU3RhY2tOYW1lKHtcbiAgICAgIC4uLnNhbmRib3hCYWNrZW5kSWRlbnRpZmllcixcbiAgICAgIHR5cGU6ICdzYW5kYm94JyxcbiAgICB9KTtcbiAgICBhd2FpdCB0aGlzLmNmbkNsaWVudC5zZW5kKG5ldyBEZWxldGVTdGFja0NvbW1hbmQoeyBTdGFja05hbWU6IHN0YWNrTmFtZSB9KSk7XG4gIH07XG4gIC8qKlxuICAgKiBGZXRjaGVzIGFsbCBiYWNrZW5kIG1ldGFkYXRhIGZvciBhIHNwZWNpZmllZCBiYWNrZW5kXG4gICAqL1xuICBnZXRCYWNrZW5kTWV0YWRhdGEgPSBhc3luYyAoXG4gICAgYmFja2VuZElkOiBCYWNrZW5kSWRlbnRpZmllclxuICApOiBQcm9taXNlPEJhY2tlbmRNZXRhZGF0YT4gPT4ge1xuICAgIGNvbnN0IHN0YWNrTmFtZSA9IEJhY2tlbmRJZGVudGlmaWVyQ29udmVyc2lvbnMudG9TdGFja05hbWUoYmFja2VuZElkKTtcbiAgICByZXR1cm4gdGhpcy5idWlsZEJhY2tlbmRNZXRhZGF0YShzdGFja05hbWUpO1xuICB9O1xuXG4gIGxpc3RCYWNrZW5kcyA9IChcbiAgICBsaXN0QmFja2VuZHNSZXF1ZXN0PzogTGlzdEJhY2tlbmRzUmVxdWVzdFxuICApOiBMaXN0QmFja2VuZHNSZXNwb25zZSA9PiB7XG4gICAgY29uc3QgYmFja2VuZHMgPSB0aGlzLmxpc3RCYWNrZW5kc0ludGVybmFsKGxpc3RCYWNrZW5kc1JlcXVlc3QpO1xuICAgIHJldHVybiB7XG4gICAgICBnZXRCYWNrZW5kU3VtbWFyeUJ5UGFnZTogKCkgPT4gYmFja2VuZHMsXG4gICAgfTtcbiAgfTtcblxuICAvKipcbiAgICogUmV0dXJucyBhIGxpc3Qgb2Ygc3RhY2tzIGZvciBzcGVjaWZpYyBkZXBsb3ltZW50IHR5cGUgYW5kIHN0YXR1c1xuICAgKiBAeWllbGRzXG4gICAqL1xuICBwcml2YXRlIGFzeW5jICpsaXN0QmFja2VuZHNJbnRlcm5hbChcbiAgICBsaXN0QmFja2VuZHNSZXF1ZXN0PzogTGlzdEJhY2tlbmRzUmVxdWVzdFxuICApIHtcbiAgICBjb25zdCBzdGFja01ldGFkYXRhOiBCYWNrZW5kU3VtbWFyeU1ldGFkYXRhW10gPSBbXTtcbiAgICBsZXQgbmV4dFRva2VuO1xuICAgIGNvbnN0IGRlcGxveW1lbnRUeXBlID0gbGlzdEJhY2tlbmRzUmVxdWVzdD8uZGVwbG95bWVudFR5cGU7XG4gICAgY29uc3Qgc3RhdHVzRmlsdGVyID0gbGlzdEJhY2tlbmRzUmVxdWVzdD8uYmFja2VuZFN0YXR1c0ZpbHRlcnNcbiAgICAgID8gbGlzdEJhY2tlbmRzUmVxdWVzdD8uYmFja2VuZFN0YXR1c0ZpbHRlcnNcbiAgICAgIDogW107XG4gICAgZG8ge1xuICAgICAgY29uc3QgbGlzdFN0YWNrc1Jlc3BvbnNlID0gYXdhaXQgdGhpcy5saXN0U3RhY2tzKG5leHRUb2tlbiwgc3RhdHVzRmlsdGVyKTtcblxuICAgICAgY29uc3Qgc3RhY2tNZXRhZGF0YVByb21pc2VzID0gbGlzdFN0YWNrc1Jlc3BvbnNlLnN0YWNrU3VtbWFyaWVzXG4gICAgICAgIC5maWx0ZXIoKHN0YWNrU3VtbWFyeTogU3RhY2tTdW1tYXJ5KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuZ2V0QmFja2VuZFN0YWNrVHlwZShzdGFja1N1bW1hcnkuU3RhY2tOYW1lKSA9PT0gZGVwbG95bWVudFR5cGVcbiAgICAgICAgICApO1xuICAgICAgICB9KVxuICAgICAgICAubWFwKGFzeW5jIChzdGFja1N1bW1hcnk6IFN0YWNrU3VtbWFyeSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGRlcGxveW1lbnRUeXBlID0gYXdhaXQgdGhpcy50cnlHZXREZXBsb3ltZW50VHlwZShzdGFja1N1bW1hcnkpO1xuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5hbWU6IHN0YWNrU3VtbWFyeS5TdGFja05hbWUgYXMgc3RyaW5nLFxuICAgICAgICAgICAgYmFja2VuZElkOiBCYWNrZW5kSWRlbnRpZmllckNvbnZlcnNpb25zLmZyb21TdGFja05hbWUoXG4gICAgICAgICAgICAgIHN0YWNrU3VtbWFyeS5TdGFja05hbWVcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBsYXN0VXBkYXRlZDpcbiAgICAgICAgICAgICAgc3RhY2tTdW1tYXJ5Lkxhc3RVcGRhdGVkVGltZSA/PyBzdGFja1N1bW1hcnkuQ3JlYXRpb25UaW1lLFxuICAgICAgICAgICAgc3RhdHVzOiB0aGlzLnN0YWNrU3RhdHVzTWFwcGVyLnRyYW5zbGF0ZVN0YWNrU3RhdHVzKFxuICAgICAgICAgICAgICBzdGFja1N1bW1hcnkuU3RhY2tTdGF0dXNcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBkZXBsb3ltZW50VHlwZSxcbiAgICAgICAgICB9O1xuICAgICAgICB9KTtcblxuICAgICAgY29uc3Qgc3RhY2tNZXRhZGF0YVJlc29sdmVkUHJvbWlzZXMgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgc3RhY2tNZXRhZGF0YVByb21pc2VzXG4gICAgICApO1xuICAgICAgY29uc3QgZmlsdGVyZWRNZXRhZGF0YSA9IHN0YWNrTWV0YWRhdGFSZXNvbHZlZFByb21pc2VzLmZpbHRlcihcbiAgICAgICAgKHN0YWNrTWV0YWRhdGEpID0+IHN0YWNrTWV0YWRhdGEuZGVwbG95bWVudFR5cGUgPT09IGRlcGxveW1lbnRUeXBlXG4gICAgICApO1xuXG4gICAgICBzdGFja01ldGFkYXRhLnB1c2goLi4uZmlsdGVyZWRNZXRhZGF0YSk7XG4gICAgICBuZXh0VG9rZW4gPSBsaXN0U3RhY2tzUmVzcG9uc2UubmV4dFRva2VuO1xuXG4gICAgICBpZiAoc3RhY2tNZXRhZGF0YS5sZW5ndGggIT09IDApIHtcbiAgICAgICAgeWllbGQgc3RhY2tNZXRhZGF0YTtcbiAgICAgIH1cbiAgICB9IHdoaWxlIChzdGFja01ldGFkYXRhLmxlbmd0aCA9PT0gMCAmJiBuZXh0VG9rZW4pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRCYWNrZW5kU3RhY2tUeXBlID0gKFxuICAgIHN0YWNrTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkXG4gICk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4gICAgY29uc3QgYmFja2VuZElkZW50aWZpZXIgPVxuICAgICAgQmFja2VuZElkZW50aWZpZXJDb252ZXJzaW9ucy5mcm9tU3RhY2tOYW1lKHN0YWNrTmFtZSk7XG4gICAgcmV0dXJuIGJhY2tlbmRJZGVudGlmaWVyPy50eXBlO1xuICB9O1xuXG4gIHByaXZhdGUgdHJ5R2V0RGVwbG95bWVudFR5cGUgPSBhc3luYyAoXG4gICAgc3RhY2tTdW1tYXJ5OiBTdGFja1N1bW1hcnlcbiAgKTogUHJvbWlzZTxEZXBsb3ltZW50VHlwZSB8IHVuZGVmaW5lZD4gPT4ge1xuICAgIGNvbnN0IGJhY2tlbmRJZGVudGlmaWVyID0ge1xuICAgICAgc3RhY2tOYW1lOiBzdGFja1N1bW1hcnkuU3RhY2tOYW1lIGFzIHN0cmluZyxcbiAgICB9O1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGJhY2tlbmRPdXRwdXQ6IEJhY2tlbmRPdXRwdXQgPVxuICAgICAgICBhd2FpdCB0aGlzLmJhY2tlbmRPdXRwdXRDbGllbnQuZ2V0T3V0cHV0KGJhY2tlbmRJZGVudGlmaWVyKTtcblxuICAgICAgcmV0dXJuIGJhY2tlbmRPdXRwdXRbcGxhdGZvcm1PdXRwdXRLZXldLnBheWxvYWRcbiAgICAgICAgLmRlcGxveW1lbnRUeXBlIGFzIERlcGxveW1lbnRUeXBlO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAoXG4gICAgICAgIChlcnJvciBhcyBCYWNrZW5kT3V0cHV0Q2xpZW50RXJyb3IpLmNvZGUgPT09XG4gICAgICAgIEJhY2tlbmRPdXRwdXRDbGllbnRFcnJvclR5cGUuTUVUQURBVEFfUkVUUklFVkFMX0VSUk9SXG4gICAgICApIHtcbiAgICAgICAgLy8gSWdub3JlIHN0YWNrcyB3aGVyZSBtZXRhZGF0YSBjYW5ub3QgYmUgcmV0cmlldmVkLiBUaGVzZSBhcmUgbm90IEFtcGxpZnkgc3RhY2tzLCBvciBub3QgY29tcGF0aWJsZSB3aXRoIHRoaXMgbGlicmFyeS5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgbGlzdFN0YWNrcyA9IGFzeW5jIChcbiAgICBuZXh0VG9rZW46IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBzdGFja1N0YXR1c0ZpbHRlcjogQmFja2VuZFN0YXR1c1tdXG4gICk6IFByb21pc2U8e1xuICAgIHN0YWNrU3VtbWFyaWVzOiBTdGFja1N1bW1hcnlbXTtcbiAgICBuZXh0VG9rZW46IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgfT4gPT4ge1xuICAgIGNvbnN0IHN0YWNrczogTGlzdFN0YWNrc0NvbW1hbmRPdXRwdXQgPSBhd2FpdCB0aGlzLmNmbkNsaWVudC5zZW5kKFxuICAgICAgbmV3IExpc3RTdGFja3NDb21tYW5kKHtcbiAgICAgICAgTmV4dFRva2VuOiBuZXh0VG9rZW4sXG4gICAgICAgIFN0YWNrU3RhdHVzRmlsdGVyOlxuICAgICAgICAgIHN0YWNrU3RhdHVzRmlsdGVyLmxlbmd0aCA+IDBcbiAgICAgICAgICAgID8gc3RhY2tTdGF0dXNGaWx0ZXJcbiAgICAgICAgICAgIDogT2JqZWN0LnZhbHVlcyhTdGFja1N0YXR1cykuZmlsdGVyKFxuICAgICAgICAgICAgICAgIChzdGF0dXMpID0+IHN0YXR1cyAhPT0gU3RhY2tTdGF0dXMuREVMRVRFX0NPTVBMRVRFXG4gICAgICAgICAgICAgICksXG4gICAgICB9KVxuICAgICk7XG4gICAgbmV4dFRva2VuID0gc3RhY2tzLk5leHRUb2tlbjtcbiAgICByZXR1cm4geyBzdGFja1N1bW1hcmllczogc3RhY2tzLlN0YWNrU3VtbWFyaWVzID8/IFtdLCBuZXh0VG9rZW4gfTtcbiAgfTtcblxuICBwcml2YXRlIGJ1aWxkQmFja2VuZE1ldGFkYXRhID0gYXN5bmMgKFxuICAgIHN0YWNrTmFtZTogc3RyaW5nXG4gICk6IFByb21pc2U8QmFja2VuZE1ldGFkYXRhPiA9PiB7XG4gICAgY29uc3Qgc3RhY2tCYWNrZW5kSWRlbnRpZmllciA9IHtcbiAgICAgIHN0YWNrTmFtZSxcbiAgICB9O1xuXG4gICAgY29uc3QgYmFja2VuZE91dHB1dDogQmFja2VuZE91dHB1dCA9XG4gICAgICBhd2FpdCB0aGlzLmJhY2tlbmRPdXRwdXRDbGllbnQuZ2V0T3V0cHV0KHN0YWNrQmFja2VuZElkZW50aWZpZXIpO1xuICAgIGNvbnN0IHN0YWNrRGVzY3JpcHRpb24gPSBhd2FpdCB0aGlzLmNmbkNsaWVudC5zZW5kKFxuICAgICAgbmV3IERlc2NyaWJlU3RhY2tzQ29tbWFuZCh7IFN0YWNrTmFtZTogc3RhY2tOYW1lIH0pXG4gICAgKTtcbiAgICBjb25zdCBzdGFjayA9IHN0YWNrRGVzY3JpcHRpb24/LlN0YWNrcz8uWzBdO1xuICAgIGNvbnN0IHN0YXR1cyA9IHRoaXMuc3RhY2tTdGF0dXNNYXBwZXIudHJhbnNsYXRlU3RhY2tTdGF0dXMoXG4gICAgICBzdGFjaz8uU3RhY2tTdGF0dXNcbiAgICApO1xuICAgIGNvbnN0IGxhc3RVcGRhdGVkID0gc3RhY2s/Lkxhc3RVcGRhdGVkVGltZSA/PyBzdGFjaz8uQ3JlYXRpb25UaW1lO1xuXG4gICAgY29uc3Qgc3RhY2tSZXNvdXJjZXMgPSBhd2FpdCB0aGlzLmNmbkNsaWVudC5zZW5kKFxuICAgICAgbmV3IExpc3RTdGFja1Jlc291cmNlc0NvbW1hbmQoe1xuICAgICAgICBTdGFja05hbWU6IHN0YWNrTmFtZSxcbiAgICAgIH0pXG4gICAgKTtcbiAgICBjb25zdCBjaGlsZFN0YWNrUHJvbWlzZXM6IFByb21pc2U8U3RhY2sgfCB1bmRlZmluZWQ+W10gPVxuICAgICAgc3RhY2tSZXNvdXJjZXMuU3RhY2tSZXNvdXJjZVN1bW1hcmllcz8uZmlsdGVyKFxuICAgICAgICAoc3RhY2tSZXNvdXJjZVN1bW1hcnk6IFN0YWNrUmVzb3VyY2VTdW1tYXJ5KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHN0YWNrUmVzb3VyY2VTdW1tYXJ5LlJlc291cmNlVHlwZSA9PT0gJ0FXUzo6Q2xvdWRGb3JtYXRpb246OlN0YWNrJ1xuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICkubWFwKGFzeW5jIChzdGFja1Jlc291cmNlU3VtbWFyeTogU3RhY2tSZXNvdXJjZVN1bW1hcnkpID0+IHtcbiAgICAgICAgLy8gYXJuOmF3czp7c2VydmljZX06e3JlZ2lvbn06e2FjY291bnR9OnN0YWNrL3tzdGFja05hbWV9L3thZGRpdGlvbmFsRmllbGRzfVxuICAgICAgICBjb25zdCBhcm5QYXJ0cyA9IHN0YWNrUmVzb3VyY2VTdW1tYXJ5LlBoeXNpY2FsUmVzb3VyY2VJZD8uc3BsaXQoJy8nKTtcbiAgICAgICAgY29uc3QgY2hpbGRTdGFja05hbWUgPSBhcm5QYXJ0cz8uWzFdO1xuICAgICAgICBpZiAoIWNoaWxkU3RhY2tOYW1lKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0YWNrRGVzY3JpcHRpb24gPSBhd2FpdCB0aGlzLmNmbkNsaWVudC5zZW5kKFxuICAgICAgICAgIG5ldyBEZXNjcmliZVN0YWNrc0NvbW1hbmQoeyBTdGFja05hbWU6IGNoaWxkU3RhY2tOYW1lIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3Qgc3RhY2sgPSBzdGFja0Rlc2NyaXB0aW9uPy5TdGFja3M/LlswXTtcbiAgICAgICAgcmV0dXJuIHN0YWNrO1xuICAgICAgfSkgPz8gW107XG5cbiAgICBjb25zdCBjaGlsZFN0YWNrcyA9IGF3YWl0IFByb21pc2UuYWxsKGNoaWxkU3RhY2tQcm9taXNlcyk7XG4gICAgY29uc3QgYXV0aFN0YWNrID0gY2hpbGRTdGFja3MuZmluZChcbiAgICAgIChuZXN0ZWRTdGFjazogU3RhY2tTdW1tYXJ5IHwgdW5kZWZpbmVkKSA9PlxuICAgICAgICBuZXN0ZWRTdGFjaz8uU3RhY2tOYW1lPy5pbmNsdWRlcygnYXV0aCcpXG4gICAgKTtcbiAgICBjb25zdCBzdG9yYWdlU3RhY2sgPSBjaGlsZFN0YWNrcy5maW5kKFxuICAgICAgKG5lc3RlZFN0YWNrOiBTdGFja1N1bW1hcnkgfCB1bmRlZmluZWQpID0+XG4gICAgICAgIG5lc3RlZFN0YWNrPy5TdGFja05hbWU/LmluY2x1ZGVzKCdzdG9yYWdlJylcbiAgICApO1xuICAgIGNvbnN0IGFwaVN0YWNrID0gY2hpbGRTdGFja3MuZmluZCgobmVzdGVkU3RhY2s6IFN0YWNrU3VtbWFyeSB8IHVuZGVmaW5lZCkgPT5cbiAgICAgIG5lc3RlZFN0YWNrPy5TdGFja05hbWU/LmluY2x1ZGVzKCdkYXRhJylcbiAgICApO1xuICAgIGNvbnN0IGZ1bmN0aW9uU3RhY2sgPSBjaGlsZFN0YWNrcy5maW5kKFxuICAgICAgKG5lc3RlZFN0YWNrOiBTdGFja1N1bW1hcnkgfCB1bmRlZmluZWQpID0+XG4gICAgICAgIG5lc3RlZFN0YWNrPy5TdGFja05hbWU/LmluY2x1ZGVzKCdmdW5jdGlvbicpXG4gICAgKTtcblxuICAgIC8vIHN0YWNrPy5TdGFja0lkIGlzIHRoZSBBUk4gb2YgdGhlIHN0YWNrXG4gICAgY29uc3QgeyBhY2NvdW50SWQsIHJlZ2lvbiB9ID0gdGhpcy5hcm5QYXJzZXIudHJ5UGFyc2VBcm4oXG4gICAgICBzdGFjaz8uU3RhY2tJZCBhcyBzdHJpbmdcbiAgICApO1xuICAgIGNvbnN0IHJlc291cmNlcyA9XG4gICAgICBhd2FpdCB0aGlzLmRlcGxveWVkUmVzb3VyY2VzRW51bWVyYXRvci5saXN0RGVwbG95ZWRSZXNvdXJjZXMoXG4gICAgICAgIHRoaXMuY2ZuQ2xpZW50LFxuICAgICAgICBzdGFja05hbWUsXG4gICAgICAgIGFjY291bnRJZCxcbiAgICAgICAgcmVnaW9uXG4gICAgICApO1xuXG4gICAgY29uc3QgYmFja2VuZE1ldGFkYXRhT2JqZWN0OiBCYWNrZW5kTWV0YWRhdGEgPSB7XG4gICAgICBkZXBsb3ltZW50VHlwZTogYmFja2VuZE91dHB1dFtwbGF0Zm9ybU91dHB1dEtleV0ucGF5bG9hZFxuICAgICAgICAuZGVwbG95bWVudFR5cGUgYXMgRGVwbG95bWVudFR5cGUsXG4gICAgICBsYXN0VXBkYXRlZCxcbiAgICAgIHN0YXR1cyxcbiAgICAgIG5hbWU6IHN0YWNrTmFtZSxcbiAgICAgIHJlc291cmNlcyxcbiAgICB9O1xuXG4gICAgaWYgKGF1dGhTdGFjaykge1xuICAgICAgYmFja2VuZE1ldGFkYXRhT2JqZWN0LmF1dGhDb25maWd1cmF0aW9uID0ge1xuICAgICAgICBzdGF0dXM6IHRoaXMuc3RhY2tTdGF0dXNNYXBwZXIudHJhbnNsYXRlU3RhY2tTdGF0dXMoXG4gICAgICAgICAgYXV0aFN0YWNrLlN0YWNrU3RhdHVzXG4gICAgICAgICksXG4gICAgICAgIGxhc3RVcGRhdGVkOiBhdXRoU3RhY2suTGFzdFVwZGF0ZWRUaW1lID8/IGF1dGhTdGFjay5DcmVhdGlvblRpbWUsXG4gICAgICAgIHVzZXJQb29sSWQ6IGJhY2tlbmRPdXRwdXRbYXV0aE91dHB1dEtleV0/LnBheWxvYWQudXNlclBvb2xJZCBhcyBzdHJpbmcsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChzdG9yYWdlU3RhY2spIHtcbiAgICAgIGJhY2tlbmRNZXRhZGF0YU9iamVjdC5zdG9yYWdlQ29uZmlndXJhdGlvbiA9IHtcbiAgICAgICAgc3RhdHVzOiB0aGlzLnN0YWNrU3RhdHVzTWFwcGVyLnRyYW5zbGF0ZVN0YWNrU3RhdHVzKFxuICAgICAgICAgIHN0b3JhZ2VTdGFjay5TdGFja1N0YXR1c1xuICAgICAgICApLFxuICAgICAgICBsYXN0VXBkYXRlZDogc3RvcmFnZVN0YWNrLkxhc3RVcGRhdGVkVGltZSA/PyBzdG9yYWdlU3RhY2suQ3JlYXRpb25UaW1lLFxuICAgICAgICBzM0J1Y2tldE5hbWU6IGJhY2tlbmRPdXRwdXRbc3RvcmFnZU91dHB1dEtleV0/LnBheWxvYWRcbiAgICAgICAgICAuYnVja2V0TmFtZSBhcyBzdHJpbmcsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChhcGlTdGFjaykge1xuICAgICAgY29uc3QgYWRkaXRpb25hbEF1dGhUeXBlc1N0cmluZyA9XG4gICAgICAgIGJhY2tlbmRPdXRwdXRbZ3JhcGhxbE91dHB1dEtleV0/LnBheWxvYWRcbiAgICAgICAgICAuYXdzQXBwc3luY0FkZGl0aW9uYWxBdXRoZW50aWNhdGlvblR5cGVzO1xuICAgICAgY29uc3QgYWRkaXRpb25hbEF1dGhUeXBlcyA9IGFkZGl0aW9uYWxBdXRoVHlwZXNTdHJpbmdcbiAgICAgICAgPyAoYWRkaXRpb25hbEF1dGhUeXBlc1N0cmluZy5zcGxpdCgnLCcpIGFzIEFwaUF1dGhUeXBlW10pXG4gICAgICAgIDogW107XG4gICAgICBiYWNrZW5kTWV0YWRhdGFPYmplY3QuYXBpQ29uZmlndXJhdGlvbiA9IHtcbiAgICAgICAgc3RhdHVzOiB0aGlzLnN0YWNrU3RhdHVzTWFwcGVyLnRyYW5zbGF0ZVN0YWNrU3RhdHVzKFxuICAgICAgICAgIGFwaVN0YWNrLlN0YWNrU3RhdHVzXG4gICAgICAgICksXG4gICAgICAgIGxhc3RVcGRhdGVkOiBhcGlTdGFjay5MYXN0VXBkYXRlZFRpbWUgPz8gYXBpU3RhY2suQ3JlYXRpb25UaW1lLFxuICAgICAgICBncmFwaHFsRW5kcG9pbnQ6IGJhY2tlbmRPdXRwdXRbZ3JhcGhxbE91dHB1dEtleV0/LnBheWxvYWRcbiAgICAgICAgICAuYXdzQXBwc3luY0FwaUVuZHBvaW50IGFzIHN0cmluZyxcbiAgICAgICAgZGVmYXVsdEF1dGhUeXBlOiBiYWNrZW5kT3V0cHV0W2dyYXBocWxPdXRwdXRLZXldPy5wYXlsb2FkXG4gICAgICAgICAgLmF3c0FwcHN5bmNBdXRoZW50aWNhdGlvblR5cGUgYXMgQXBpQXV0aFR5cGUsXG4gICAgICAgIGFkZGl0aW9uYWxBdXRoVHlwZXMsXG4gICAgICAgIGNvbmZsaWN0UmVzb2x1dGlvbk1vZGU6IGJhY2tlbmRPdXRwdXRbZ3JhcGhxbE91dHB1dEtleV0/LnBheWxvYWRcbiAgICAgICAgICAuYXdzQXBwc3luY0NvbmZsaWN0UmVzb2x1dGlvbk1vZGUgYXMgQ29uZmxpY3RSZXNvbHV0aW9uTW9kZSxcbiAgICAgICAgYXBpSWQ6IGJhY2tlbmRPdXRwdXRbZ3JhcGhxbE91dHB1dEtleV0/LnBheWxvYWRcbiAgICAgICAgICAuYXdzQXBwc3luY0FwaUlkIGFzIHN0cmluZyxcbiAgICAgICAgbW9kZWxTY2hlbWFTM1VyaTogYmFja2VuZE91dHB1dFtncmFwaHFsT3V0cHV0S2V5XT8ucGF5bG9hZFxuICAgICAgICAgIC5hbXBsaWZ5QXBpTW9kZWxTY2hlbWFTM1VyaSBhcyBzdHJpbmcsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChmdW5jdGlvblN0YWNrKSB7XG4gICAgICBjb25zdCBmdW5jdGlvblJlc291cmNlcyA9IHJlc291cmNlcy5maWx0ZXIoXG4gICAgICAgIChyZXNvdXJjZSkgPT4gcmVzb3VyY2UucmVzb3VyY2VUeXBlID09PSAnQVdTOjpMYW1iZGE6OkZ1bmN0aW9uJ1xuICAgICAgKTtcbiAgICAgIGNvbnN0IGZ1bmN0aW9uQ29uZmlndXJhdGlvbnM6IEZ1bmN0aW9uQ29uZmlndXJhdGlvbltdID0gW107XG4gICAgICBjb25zdCBkZWZpbmVkRnVuY3Rpb25zU3RyaW5nID1cbiAgICAgICAgYmFja2VuZE91dHB1dFtmdW5jdGlvbk91dHB1dEtleV0/LnBheWxvYWQuZGVmaW5lZEZ1bmN0aW9ucztcbiAgICAgIGNvbnN0IGN1c3RvbWVyRnVuY3Rpb25OYW1lcyA9IGRlZmluZWRGdW5jdGlvbnNTdHJpbmdcbiAgICAgICAgPyAoSlNPTi5wYXJzZShkZWZpbmVkRnVuY3Rpb25zU3RyaW5nKSBhcyBzdHJpbmdbXSlcbiAgICAgICAgOiBbXTtcblxuICAgICAgY3VzdG9tZXJGdW5jdGlvbk5hbWVzLmZvckVhY2goKGZ1bmN0aW9uTmFtZSkgPT4ge1xuICAgICAgICBjb25zdCByZXNvdXJjZSA9IGZ1bmN0aW9uUmVzb3VyY2VzLmZpbmQoXG4gICAgICAgICAgKGZ1bmMpID0+IGZ1bmMucGh5c2ljYWxSZXNvdXJjZUlkID09PSBmdW5jdGlvbk5hbWVcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAocmVzb3VyY2UpIHtcbiAgICAgICAgICBmdW5jdGlvbkNvbmZpZ3VyYXRpb25zLnB1c2goe1xuICAgICAgICAgICAgc3RhdHVzOiB0aGlzLnN0YWNrU3RhdHVzTWFwcGVyLnRyYW5zbGF0ZVN0YWNrU3RhdHVzKFxuICAgICAgICAgICAgICByZXNvdXJjZS5yZXNvdXJjZVN0YXR1c1xuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGxhc3RVcGRhdGVkOlxuICAgICAgICAgICAgICByZXNvdXJjZS5sYXN0VXBkYXRlZCA/P1xuICAgICAgICAgICAgICBmdW5jdGlvblN0YWNrLkxhc3RVcGRhdGVkVGltZSA/P1xuICAgICAgICAgICAgICBmdW5jdGlvblN0YWNrLkNyZWF0aW9uVGltZSxcbiAgICAgICAgICAgIGZ1bmN0aW9uTmFtZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGJhY2tlbmRNZXRhZGF0YU9iamVjdC5mdW5jdGlvbkNvbmZpZ3VyYXRpb25zID0gZnVuY3Rpb25Db25maWd1cmF0aW9ucztcbiAgICB9XG5cbiAgICByZXR1cm4gYmFja2VuZE1ldGFkYXRhT2JqZWN0O1xuICB9O1xuXG4gIHByaXZhdGUgZmV0Y2hTY2hlbWEgPSBhc3luYyAoXG4gICAgc2NoZW1hUzNVcmk6IHN0cmluZyB8IHVuZGVmaW5lZFxuICApOiBQcm9taXNlPHN0cmluZz4gPT4ge1xuICAgIGlmICghc2NoZW1hUzNVcmkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignc2NoZW1hUzNVcmkgb3V0cHV0IGlzIG5vdCBhdmFpbGFibGUnKTtcbiAgICB9XG5cbiAgICAvLyBzMzovL3tidWNrZXROYW1lfS97ZmlsZU5hbWV9XG4gICAgY29uc3QgdXJpUGFydHMgPSBzY2hlbWFTM1VyaS5zcGxpdCgnLycpO1xuICAgIGNvbnN0IGJ1Y2tldE5hbWUgPSB1cmlQYXJ0c1syXTtcbiAgICBjb25zdCBvYmplY3RQYXRoID0gdXJpUGFydHMuc2xpY2UoMywgdXJpUGFydHMubGVuZ3RoKS5qb2luKCcvJyk7XG5cbiAgICBpZiAoIWJ1Y2tldE5hbWUgfHwgIW9iamVjdFBhdGgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignc2NoZW1hUzNVcmkgaXMgbm90IHZhbGlkJyk7XG4gICAgfVxuXG4gICAgY29uc3QgczNSZXNwb25zZSA9IGF3YWl0IHRoaXMuczNDbGllbnQuc2VuZChcbiAgICAgIG5ldyBHZXRPYmplY3RDb21tYW5kKHsgQnVja2V0OiBidWNrZXROYW1lLCBLZXk6IG9iamVjdFBhdGggfSlcbiAgICApO1xuXG4gICAgaWYgKCFzM1Jlc3BvbnNlLkJvZHkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgczNSZXNwb25zZSBmcm9tICR7c2NoZW1hUzNVcml9IGRvZXMgbm90IGNvbnRhaW4gYSBCb2R5YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGF3YWl0IHMzUmVzcG9uc2UuQm9keT8udHJhbnNmb3JtVG9TdHJpbmcoKTtcbiAgfTtcbn1cbiJdfQ==
{
"name": "@aws-amplify/deployed-backend-client",
"version": "0.0.0-test-20240807184137",
"version": "0.0.0-test-20240813193219",
"type": "module",

@@ -21,12 +21,12 @@ "publishConfig": {

"dependencies": {
"@aws-amplify/backend-output-schemas": "0.0.0-test-20240807184137",
"@aws-amplify/platform-core": "0.0.0-test-20240807184137",
"@aws-amplify/backend-output-schemas": "^1.1.0",
"@aws-amplify/platform-core": "0.0.0-test-20240813193219",
"zod": "^3.22.2"
},
"peerDependencies": {
"@aws-sdk/client-amplify": "^3.465.0",
"@aws-sdk/client-cloudformation": "^3.465.0",
"@aws-sdk/client-s3": "^3.465.0",
"@aws-sdk/types": "^3.465.0"
"@aws-sdk/client-amplify": "^3.624.0",
"@aws-sdk/client-cloudformation": "^3.624.0",
"@aws-sdk/client-s3": "^3.624.0",
"@aws-sdk/types": "^3.609.0"
}
}
SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc