@pipeline-builder/pipeline-core 4.4.12 → 4.4.13
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.
- package/lib/core/pipeline-helpers.d.ts +0 -3
- package/lib/core/pipeline-helpers.js +4 -4
- package/lib/core/plugin-lookup-envelope.d.ts +4 -12
- package/lib/core/plugin-lookup-envelope.js +9 -9
- package/lib/core/step-manifest.d.ts +1 -2
- package/lib/core/step-manifest.js +1 -1
- package/lib/handlers/bundle/index.mjs +21 -21
- package/lib/index.d.ts +1 -1
- package/lib/index.js +2 -2
- package/lib/pipeline/pipeline-builder.js +13 -2
- package/lib/pipeline/plugin-lookup.js +3 -3
- package/lib/testing/exports.json +0 -1
- package/package.json +3 -3
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
import { dirname, join } from 'path';
|
|
4
4
|
import { fileURLToPath } from 'url';
|
|
5
|
-
import { createLogger, SYSTEM_ORG_ID } from '@pipeline-builder/api-core';
|
|
5
|
+
import { createLogger, MANAGED_TOOLCHAIN, SYSTEM_ORG_ID } from '@pipeline-builder/api-core';
|
|
6
6
|
import { CustomResource, Token, Duration } from 'aws-cdk-lib';
|
|
7
7
|
import { PolicyStatement, Effect } from 'aws-cdk-lib/aws-iam';
|
|
8
8
|
import { Runtime, Architecture, Function, Code } from 'aws-cdk-lib/aws-lambda';
|
|
@@ -369,7 +369,7 @@ export class PluginLookup extends Construct {
|
|
|
369
369
|
const tlsFlag = platformTlsVerify() ? '' : ' --no-verify-ssl';
|
|
370
370
|
return {
|
|
371
371
|
...PluginLookup.basePlugin(),
|
|
372
|
-
name:
|
|
372
|
+
name: MANAGED_TOOLCHAIN.synth,
|
|
373
373
|
primaryOutputDirectory: 'cdk.out',
|
|
374
374
|
commands: [
|
|
375
375
|
`pipeline-manager pipeline synth --id \${PIPELINE_ID} --store-tokens --quiet --no-notices${tlsFlag}`,
|
|
@@ -377,4 +377,4 @@ export class PluginLookup extends Construct {
|
|
|
377
377
|
};
|
|
378
378
|
}
|
|
379
379
|
}
|
|
380
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWxvb2t1cC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BpcGVsaW5lL3BsdWdpbi1sb29rdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9FLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV2QyxPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBC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QXNCLEVBQUUsU0FBUztZQUNqQyxRQUFRLEVBQUU7Z0JBQ1IsMkZBQTJGLE9BQU8sRUFBRTthQUNyRztTQUNGLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHsgZGlybmFtZSwgam9pbiB9IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCB9IGZyb20gJ3VybCc7XG5pbXBvcnQgeyBjcmVhdGVMb2dnZXIsIFNZU1RFTV9PUkdfSUQgfSBmcm9tICdAcGlwZWxpbmUtYnVpbGRlci9hcGktY29yZSc7XG5pbXBvcnQgdHlwZSB7IFBsdWdpbkZpbHRlciwgUGx1Z2luIH0gZnJvbSAnQHBpcGVsaW5lLWJ1aWxkZXIvcGlwZWxpbmUtZGF0YSc7XG5pbXBvcnQgeyBDdXN0b21SZXNvdXJjZSwgVG9rZW4sIER1cmF0aW9uIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgUG9saWN5U3RhdGVtZW50LCBFZmZlY3QgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IFJ1bnRpbWUsIEFyY2hpdGVjdHVyZSwgRnVuY3Rpb24sIENvZGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IExvZ0dyb3VwIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxvZ3MnO1xuaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tICdhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHR5cGUgeyBQbHVnaW5PcHRpb25zIH0gZnJvbSAnLi9zdGVwLXR5cGVzLmpzJztcbmltcG9ydCB7IENvbmZpZywgQ29yZUNvbnN0YW50cyB9IGZyb20gJy4uL2NvbmZpZy9hcHAtY29uZmlnLmpzJztcbmltcG9ydCB7IGxhbWJkYVJ1bnRpbWUgfSBmcm9tICcuLi9jb25maWcvYXdzLWNvbmZpZy1jZGsuanMnO1xuaW1wb3J0IHsgVW5pcXVlSWQgfSBmcm9tICcuLi9jb3JlL2lkLWdlbmVyYXRvci5qcyc7XG5pbXBvcnQgeyBQTEFURk9STV9DQV9CVU5ETEVfRU5WLCBwbGF0Zm9ybUNhQnVuZGxlLCBwbGF0Zm9ybVRsc1ZlcmlmeSB9IGZyb20gJy4uL2NvcmUvcGxhdGZvcm0tdGxzLmpzJztcbmltcG9ydCB7IHBsdWdpbkFydGlmYWN0QWxpYXMsIHBsdWdpbkxvb2t1cEZpbHRlciB9IGZyb20gJy4uL2NvcmUvcGx1Z2luLWNvbnRyYWN0LmpzJztcbmltcG9ydCB7IFBMQUNFSE9MREVSX1BMVUdJTl9JRCB9IGZyb20gJy4uL2NvcmUvc3RlcC1tYW5pZmVzdC5qcyc7XG5cbmNvbnN0IGxvZyA9IGNyZWF0ZUxvZ2dlcigncGx1Z2luLWxvb2t1cCcpO1xuXG4vLyBFU00tc2FmZSBtb2R1bGUgZGlyZWN0b3J5ICh0aGUgcGFja2FnZSBpcyBgdHlwZTogbW9kdWxlYDsgYF9fZGlybmFtZWAgaXNcbi8vIG5vdCBkZWZpbmVkIHVuZGVyIEVTIG1vZHVsZXMpLlxuY29uc3QgTU9EVUxFX0RJUiA9IGRpcm5hbWUoZmlsZVVSTFRvUGF0aChpbXBvcnQubWV0YS51cmwpKTtcblxuaW50ZXJmYWNlIElucHV0UHJvcHMge1xuICByZWFkb25seSBiYXNlVVJMOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBsdWdpbkZpbHRlcjogUGx1Z2luRmlsdGVyO1xuICAvKiogVGhlIHN0ZXAncyBsYWJlbCAoYHBsdWdpblN0ZXBMYWJlbGApIOKAlCBzZW50IGFzIHRoZSBsb29rdXAgYGNvbnRleHQuc3RlcEtleXNgIChjb250cmFjdCBDMSkuICovXG4gIHJlYWRvbmx5IHN0ZXBLZXk/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgUGx1Z2luTG9va3VwIGNvbnN0cnVjdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBsdWdpbkxvb2t1cFByb3BzIHtcbiAgcmVhZG9ubHkgb3JnYW5pemF0aW9uOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHByb2plY3Q6IHN0cmluZztcbiAgcmVhZG9ubHkgcGxhdGZvcm1Vcmw6IHN0cmluZztcbiAgcmVhZG9ubHkgdW5pcXVlSWQ6IFVuaXF1ZUlkO1xuICAvKiogT3JnYW5pemF0aW9uIElEIGZvciByZXNvbHZpbmcgcGVyLW9yZyBzZWNyZXRzIGZyb20gU2VjcmV0cyBNYW5hZ2VyICovXG4gIHJlYWRvbmx5IG9yZ0lkPzogc3RyaW5nO1xuICAvKipcbiAgICogUGxhdGZvcm0gcGlwZWxpbmUgaWQuIFNlbnQgYXMgbG9va3VwIGBjb250ZXh0YCBzbyB0aGUgcGx1Z2luIHNlcnZpY2UgcmVjb3Jkc1xuICAgKiB0aGUgd2FybmluZ3MgaXQgcmV0dXJucyBhZ2FpbnN0IGVhY2ggKHBpcGVsaW5lLCBzdGVwKTsgb21pdHRlZCB3aGVuIHVua25vd24uXG4gICAqL1xuICByZWFkb25seSBwaXBlbGluZUlkPzogc3RyaW5nO1xuICByZWFkb25seSBydW50aW1lPzogUnVudGltZTtcbiAgLyoqIExhbWJkYSB0aW1lb3V0IChkZWZhdWx0OiAzMHMpICovXG4gIHJlYWRvbmx5IHRpbWVvdXQ/OiBEdXJhdGlvbjtcbiAgLyoqIExhbWJkYSBtZW1vcnkgaW4gTUIgKGRlZmF1bHQ6IDUxMikgKi9cbiAgcmVhZG9ubHkgbWVtb3J5U2l6ZT86IG51bWJlcjtcbiAgLyoqIExhbWJkYSBDUFUgYXJjaGl0ZWN0dXJlIChkZWZhdWx0OiBBUk1fNjQpICovXG4gIHJlYWRvbmx5IGFyY2hpdGVjdHVyZT86IEFyY2hpdGVjdHVyZTtcbiAgLyoqIFJlc2VydmVkIGNvbmN1cnJlbnQgZXhlY3V0aW9ucyBmb3IgdGhlIGxvb2t1cCBMYW1iZGEgKGRlZmF1bHQ6IDMwKSAqL1xuICByZWFkb25seSByZXNlcnZlZENvbmN1cnJlbnRFeGVjdXRpb25zPzogbnVtYmVyO1xuICAvKipcbiAgICogUGx1Z2lucyBwcmUtcmVzb2x2ZWQgYnkgYHBpcGVsaW5lLW1hbmFnZXIgcGlwZWxpbmUgc3ludGhgIGZyb20gdGhlIHBsYXRmb3JtIEFQSS5cbiAgICogS2V5ZWQgYnkgYGFsaWFzIHx8IG5hbWVgIChtYXRjaGVzIHRoZSBjb25zdHJ1Y3QncyBub3JtYWxpemUoKSBvdXRwdXQpLlxuICAgKiBXaGVuIGEgbG9va3VwIGhpdHMgdGhpcyBtYXAsIGBwbHVnaW4oKWAgcmV0dXJucyB0aGUgcmVzb2x2ZWQgUGx1Z2luXG4gICAqIGRpcmVjdGx5IOKAlCBubyBjdXN0b20gcmVzb3VyY2UgaXMgY3JlYXRlZC4gVGhpcyBpcyB3aGF0IG1ha2VzIHRoZVxuICAgKiBuYW1lLCB2ZXJzaW9uLCBjb21tYW5kcywgZW52LCBldGMuIGF2YWlsYWJsZSBhdCBzeW50aCB0aW1lIHNvIHRoZSByZXN1bHRpbmdcbiAgICogQ0ZOIHRlbXBsYXRlIHNoaXBzIHdpdGggdGhlIHJlYWwgdmFsdWVzIGJha2VkIGluLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzb2x2ZWRQbHVnaW5zPzogUmVjb3JkPHN0cmluZywgUGx1Z2luPjtcbn1cblxuLyoqXG4gKiBDREsgQ29uc3RydWN0IHJlc3BvbnNpYmxlIGZvciBsb29raW5nIHVwIHBsdWdpbiBjb25maWd1cmF0aW9ucyBmcm9tIGFuIGV4dGVybmFsIHBsYXRmb3JtXG4gKiB1c2luZyBBV1MgQ2xvdWRGb3JtYXRpb24gQ3VzdG9tIFJlc291cmNlcyBiYWNrZWQgYnkgYSBMYW1iZGEgZnVuY3Rpb24uXG4gKlxuICogVGhpcyBjb25zdHJ1Y3QgY3JlYXRlczpcbiAqIC0gQSBMYW1iZGEgZnVuY3Rpb24gKHBsdWdpbi1sb29rdXAtaGFuZGxlcikgdGhhdCBmZXRjaGVzIHBsdWdpbiBjb25maWdzXG4gKiAtIEEgQ2xvdWRXYXRjaCBMb2cgR3JvdXAgZm9yIHRoZSBMYW1iZGFcbiAqIC0gQSBDdXN0b20gUmVzb3VyY2UgUHJvdmlkZXIgdGhhdCBpbnZva2VzIHRoZSBMYW1iZGFcbiAqIC0gQW4gSUFNIHBvbGljeSBncmFudGluZyB0aGUgTGFtYmRhIGFjY2VzcyB0byB0aGUgY3JlZGVudGlhbHMgc2VjcmV0XG4gKlxuICogIyMgUHJlcmVxdWlzaXRlc1xuICpcbiAqIEJlZm9yZSBkZXBsb3lpbmcsIHN0b3JlIGEgSldUIHRva2VuIGluIFNlY3JldHMgTWFuYWdlcjpcbiAqIGBgYHNoXG4gKiBwaXBlbGluZS1tYW5hZ2VyIGluZnJhIHN0b3JlLXRva2VuIC0tZGF5cyAzMCAtLXJlZ2lvbiA8cmVnaW9uPlxuICogYGBgXG4gKlxuICogVGhlIExhbWJkYSByZXNvbHZlcyB0aGUgc2VjcmV0IGJ5IG5hbWUgYXQgcnVudGltZTpcbiAqIGB7U0VDUkVUU19QQVRIX1BSRUZJWH0ve29yZ0lkfS9wbGF0Zm9ybWBcbiAqXG4gKiBAc2VlIGhhbmRsZXJzL3BsdWdpbi1sb29rdXAtaGFuZGxlci50cyBmb3IgdGhlIExhbWJkYSBpbXBsZW1lbnRhdGlvblxuICovXG5leHBvcnQgY2xhc3MgUGx1Z2luTG9va3VwIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfdW5pcXVlSWQ6IFVuaXF1ZUlkO1xuICBwcml2YXRlIHJlYWRvbmx5IF9wcm92aWRlcjogUHJvdmlkZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3BsYXRmb3JtVXJsOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3J1bnRpbWU6IFJ1bnRpbWU7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3RpbWVvdXQ6IER1cmF0aW9uO1xuICBwcml2YXRlIHJlYWRvbmx5IF9tZW1vcnlTaXplOiBudW1iZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FyY2hpdGVjdHVyZTogQXJjaGl0ZWN0dXJlO1xuICBwcml2YXRlIHJlYWRvbmx5IF9yZXNlcnZlZENvbmN1cnJlbnRFeGVjdXRpb25zPzogbnVtYmVyO1xuICBwcml2YXRlIHJlYWRvbmx5IF9vcmdJZD86IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBfcGlwZWxpbmVJZD86IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBfcmVzb2x2ZWRQbHVnaW5zPzogUmVjb3JkPHN0cmluZywgUGx1Z2luPjtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUGx1Z2luTG9va3VwUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgaWYgKCFwcm9wcy5vcmdhbml6YXRpb24gfHwgIXByb3BzLnByb2plY3QpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQm90aCBvcmdhbml6YXRpb24gYW5kIHByb2plY3QgYXJlIHJlcXVpcmVkLicpO1xuICAgIH1cblxuICAgIHRoaXMuX3VuaXF1ZUlkID0gcHJvcHMudW5pcXVlSWQ7XG4gICAgdGhpcy5fcGxhdGZvcm1VcmwgPSBwcm9wcy5wbGF0Zm9ybVVybDtcbiAgICB0aGlzLl9vcmdJZCA9IHByb3BzLm9yZ0lkO1xuICAgIHRoaXMuX3BpcGVsaW5lSWQgPSBwcm9wcy5waXBlbGluZUlkO1xuICAgIHRoaXMuX3J1bnRpbWUgPSBwcm9wcy5ydW50aW1lID8/IGxhbWJkYVJ1bnRpbWUoJ25vZGVqczI2LngnKTtcbiAgICB0aGlzLl90aW1lb3V0ID0gcHJvcHMudGltZW91dCA/PyBEdXJhdGlvbi5zZWNvbmRzKDMwKTtcbiAgICB0aGlzLl9tZW1vcnlTaXplID0gcHJvcHMubWVtb3J5U2l6ZSA/PyBDb25maWcuZ2V0KCdhd3MnKS5sYW1iZGEubWVtb3J5U2l6ZTtcbiAgICB0aGlzLl9hcmNoaXRlY3R1cmUgPSBwcm9wcy5hcmNoaXRlY3R1cmUgPz8gQXJjaGl0ZWN0dXJlLkFSTV82NDtcbiAgICB0aGlzLl9yZXNlcnZlZENvbmN1cnJlbnRFeGVjdXRpb25zID0gcHJvcHMucmVzZXJ2ZWRDb25jdXJyZW50RXhlY3V0aW9ucztcbiAgICB0aGlzLl9yZXNvbHZlZFBsdWdpbnMgPSBwcm9wcy5yZXNvbHZlZFBsdWdpbnM7XG5cbiAgICBjb25zdCBvbkV2ZW50SGFuZGxlciA9IHRoaXMuY3JlYXRlTGFtYmRhRnVuY3Rpb24oKTtcblxuICAgIC8vIExvZy1ncm91cCBzdHJhdGVneTpcbiAgICAvLyAgIFByZXZpb3VzIGNvZGUgY3JlYXRlZCBhbiBgQVdTOjpMb2dzOjpMb2dHcm91cGAgcmVzb3VyY2Ugd2l0aCBhblxuICAgIC8vICAgRVhQTElDSVQgbmFtZSAoYC9hd3MvbGFtYmRhL3BsdWdpbi1sb29rdXAtTmApLiBUaGF0IGJyZWFrcyBldmVyeVxuICAgIC8vICAgcmUtZGVwbG95IGFmdGVyIGEgcm9sbGVkLWJhY2sgc3RhY2s6IEFXUyBhdXRvLWNyZWF0ZXMgdGhlIGdyb3VwIG9uXG4gICAgLy8gICBmaXJzdCBMYW1iZGEgaW52b2NhdGlvbiwgdGhlIHJvbGxiYWNrIGxlYXZlcyBpdCBhcyBhbiBvcnBoYW4sIGFuZFxuICAgIC8vICAgdGhlIG5leHQgQ0RLIHJ1biBmYWlscyB3aXRoIFwiUmVzb3VyY2UgLi4uIGFscmVhZHkgZXhpc3RzXCIgYmVjYXVzZVxuICAgIC8vICAgdGhlIGV4cGxpY2l0IG5hbWUgY29sbGlkZXMgd2l0aCB0aGUgb3JwaGFuLlxuICAgIC8vXG4gICAgLy8gICBGaXg6IHVzZSBgTG9nR3JvdXAuZnJvbUxvZ0dyb3VwTmFtZSgpYCB0byBhZG9wdC1vci1wYXNzLXRocm91Z2guXG4gICAgLy8gICBJZiB0aGUgZ3JvdXAgZXhpc3RzLCBDREsgcmVmZXJlbmNlcyBpdCB3aXRob3V0IHRyeWluZyB0byByZWNyZWF0ZS5cbiAgICAvLyAgIElmIGl0IGRvZXNuJ3QsIEFXUyBMYW1iZGEgYXV0by1jcmVhdGVzIGl0IG9uIGZpcnN0IGludm9jYXRpb24uXG4gICAgLy8gICBSZXRlbnRpb24gaXMgdGhlbiBzZXQgdmlhIGEgc2VwYXJhdGUgcmV0ZW50aW9uLXBvbGljeSBjdXN0b21cbiAgICAvLyAgIHJlc291cmNlIHdoaWNoIGlzIGlkZW1wb3RlbnQgKHNhZmUgdG8gYXBwbHkgdG8gZXhpc3RpbmcgZ3JvdXBzKS5cbiAgICBjb25zdCBsb2dHcm91cE5hbWUgPSBgL2F3cy9sYW1iZGEvJHt0aGlzLl91bmlxdWVJZC5nZW5lcmF0ZSgncGx1Z2luOmxvb2t1cCcpLnJlcGxhY2UoLzovZywgJy0nKX1gO1xuICAgIGNvbnN0IGxvZ0dyb3VwID0gTG9nR3JvdXAuZnJvbUxvZ0dyb3VwTmFtZShcbiAgICAgIHRoaXMsXG4gICAgICB0aGlzLl91bmlxdWVJZC5nZW5lcmF0ZSgnbG9nOmdyb3VwJyksXG4gICAgICBsb2dHcm91cE5hbWUsXG4gICAgKTtcblxuICAgIHRoaXMuX3Byb3ZpZGVyID0gbmV3IFByb3ZpZGVyKHRoaXMsIHRoaXMuX3VuaXF1ZUlkLmdlbmVyYXRlKCdyZXNvdXJjZTpwcm92aWRlcicpLCB7XG4gICAgICBvbkV2ZW50SGFuZGxlcixcbiAgICAgIGxvZ0dyb3VwLFxuICAgIH0pO1xuXG4gICAgbG9nLmRlYnVnKGBQbHVnaW5Mb29rdXAgaW5pdGlhbGl6ZWQgZm9yICR7cHJvcHMub3JnYW5pemF0aW9ufS8ke3Byb3BzLnByb2plY3R9YCk7XG4gIH1cblxuICAvKipcbiAgICogTG9va3MgdXAgYW5kIHJlc29sdmVzIHBsdWdpbiBjb25maWd1cmF0aW9uIHVzaW5nIGVpdGhlciBhIHNpbXBsZSBuYW1lIG9yIGZ1bGwgUGx1Z2luT3B0aW9ucyBvYmplY3RcbiAgICogRHVyaW5nIHN5bnRoZXNpcywgaWYgdGhlIHZhbHVlIGlzIHVucmVzb2x2ZWQgKHRva2VuKSwgcmV0dXJucyBmYWxsYmFjayBwbHVnaW5cbiAgICogRHVyaW5nIGRlcGxveW1lbnQsIGF0dGVtcHRzIHRvIHBhcnNlIHRoZSBhY3R1YWwgdmFsdWUgcmV0dXJuZWQgYnkgdGhlIGN1c3RvbSByZXNvdXJjZVxuICAgKiBAcGFyYW0gcGx1Z2luIC0gUGx1Z2luIG5hbWUgKHN0cmluZykgb3IgY29tcGxldGUgUGx1Z2luT3B0aW9ucyBjb25maWd1cmF0aW9uXG4gICAqIEBwYXJhbSBzdGVwS2V5IC0gVGhlIHN0ZXAncyBsYWJlbCAoYHBsdWdpblN0ZXBMYWJlbGA6IGBzeW50aGAgb3JcbiAgICogICBgPHN0YWdlPi88YWxpYXMgPz8gbmFtZT5gKS4gVGhlIGRlcGxveS10aW1lIGxvb2t1cCByZXBvcnRzIGl0cyB3YXJuaW5nc1xuICAgKiAgIGFnYWluc3QgaXQsIHNvIGl0IG11c3QgbWF0Y2ggdGhlIHN0ZXAgbWFuaWZlc3QncyBhbmQgdGhlIHNlY3VyaXR5IHZpZXcncyBrZXkuXG4gICAqIEByZXR1cm5zIFJlc29sdmVkIFBsdWdpbiBvYmplY3Qgb3IgZmFsbGJhY2sgZGVmYXVsdCBjb25maWd1cmF0aW9uXG4gICAqL1xuICBwdWJsaWMgcGx1Z2luKHBsdWdpbjogc3RyaW5nIHwgUGx1Z2luT3B0aW9ucywgc3RlcEtleT86IHN0cmluZyk6IFBsdWdpbiB7XG4gICAgY29uc3QgcHJvcHMgPSB0aGlzLm5vcm1hbGl6ZShwbHVnaW4pO1xuXG4gICAgLy8gUHJlLXJlc29sdmVkIGJ5IGBwaXBlbGluZS1tYW5hZ2VyIHBpcGVsaW5lIHN5bnRoYCBmcm9tIHRoZSBwbGF0Zm9ybSBBUEkuXG4gICAgLy8gU2tpcCB0aGUgY3VzdG9tIHJlc291cmNlIGVudGlyZWx5IOKAlCB3ZSBhbHJlYWR5IGtub3cgdGhlIHBsdWdpbidzXG4gICAgLy8gbmFtZSwgdmVyc2lvbiwgY29tbWFuZHMsIGVudiwgZXRjLiBhdCBzeW50aCB0aW1lLCBzbyB0aGUgcmVzdWx0aW5nIENGTlxuICAgIC8vIHRlbXBsYXRlIGNhbiBzaGlwIHdpdGggdGhlIHJlYWwgQ29kZUJ1aWxkIGltYWdlIGJha2VkIGluLlxuICAgIGNvbnN0IGNhY2hlS2V5ID0gcHJvcHMuYWxpYXMgfHwgcHJvcHMubmFtZTtcbiAgICBjb25zdCBwcmVSZXNvbHZlZCA9IHRoaXMuX3Jlc29sdmVkUGx1Z2lucz8uW2NhY2hlS2V5XSBhcyAoUGx1Z2luICYgeyBwdWJsaXNoZXI/OiBzdHJpbmcgfCBudWxsIH0pIHwgdW5kZWZpbmVkO1xuICAgIC8vIFRoZSBtYXAgaXMga2V5ZWQgYnkgQUxJQVMsIHNvIGNoZWNrIGl0IGFjdHVhbGx5IGhvbGRzIFRISVMgcGx1Z2luLiBUd29cbiAgICAvLyBzdGVwcyBzaGFyaW5nIGFuIGFsaWFzIGFjcm9zcyBkaWZmZXJlbnQgcGx1Z2lucyB3b3VsZCBvdGhlcndpc2UgZ2V0IHRoZVxuICAgIC8vIGZpcnN0IG9uZSdzIHJlY29yZCBiYWNrIOKAlCB0aGUgc2Vjb25kIHN0ZXAgc2lsZW50bHkgcnVubmluZyB0aGUgd3JvbmdcbiAgICAvLyBpbWFnZSBhbmQgY29tbWFuZHMuIFRoZSBDTEkgcmVmdXNlcyBzdWNoIGEgcGlwZWxpbmUgdG9vOyB0aGlzIGNvdmVycyBhbnkgb3RoZXJcbiAgICAvLyBjYWxsZXIgdGhhdCBzdXBwbGllcyBgcmVzb2x2ZWRQbHVnaW5zYC5cbiAgICAvLyBDb21wYXJlIGFnYWluc3QgdGhlIG5hbWUgdGhlIGxvb2t1cCBhY3R1YWxseSBUQVJHRVRFRDogYW4gZXhwbGljaXRcbiAgICAvLyBgZmlsdGVyLm5hbWVgIG92ZXJyaWRlcyB0aGUgcmVmJ3MgYG5hbWVgIGJ5IGRlc2lnbiwgYW5kIHRoYXQgaXMgbm90IGFcbiAgICAvLyBjb2xsaXNpb24uXG4gICAgY29uc3QgdGFyZ2V0TmFtZSA9IChwcm9wcy5maWx0ZXIgYXMgeyBuYW1lPzogc3RyaW5nIH0gfCB1bmRlZmluZWQpPy5uYW1lID8/IHByb3BzLm5hbWU7XG4gICAgaWYgKHByZVJlc29sdmVkICYmIHByZVJlc29sdmVkLm5hbWUgIT09IHRhcmdldE5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFBsdWdpbiBhbGlhcyBcIiR7Y2FjaGVLZXl9XCIgcmVzb2x2ZXMgdG8gXCIke3ByZVJlc29sdmVkLm5hbWV9XCIsIG5vdCBcIiR7dGFyZ2V0TmFtZX1cIi4gYFxuICAgICAgICArICdFYWNoIGFsaWFzIG11c3QgbmFtZSBleGFjdGx5IG9uZSBwbHVnaW4uJyxcbiAgICAgICk7XG4gICAgfVxuICAgIC8vIEEgcXVhbGlmaWVkIHJlZmVyZW5jZSBtdXN0IGhhdmUgcmVzb2x2ZWQgdG8gVEhBVCBwdWJsaXNoZXIncyBsaXN0aW5nXG4gICAgLy8gKGFuIHVucXVhbGlmaWVkIG9uZSBtYXkgcmVzb2x2ZSB0byB0aGUgb3JnJ3Mgb3duIHBsdWdpbiBvciB0aGUgT2ZmaWNpYWxcbiAgICAvLyBsaXN0aW5nKS5cbiAgICBpZiAocHJlUmVzb2x2ZWQgJiYgcHJvcHMucHVibGlzaGVyICYmIHByZVJlc29sdmVkLnB1Ymxpc2hlciAhPT0gcHJvcHMucHVibGlzaGVyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBQbHVnaW4gYWxpYXMgXCIke2NhY2hlS2V5fVwiIHJlc29sdmVzIHRvICR7cHJlUmVzb2x2ZWQucHVibGlzaGVyID8gYCR7cHJlUmVzb2x2ZWQucHVibGlzaGVyfS9gIDogJ3lvdXIgb3JnYW5pemF0aW9uXFwncyAnfSR7cHJlUmVzb2x2ZWQubmFtZX0sIGBcbiAgICAgICAgKyBgbm90ICR7cHJvcHMucHVibGlzaGVyfS8ke3RhcmdldE5hbWV9LiBFYWNoIGFsaWFzIG11c3QgbmFtZSBleGFjdGx5IG9uZSBwbHVnaW4uYCxcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChwcmVSZXNvbHZlZCkge1xuICAgICAgbG9nLmRlYnVnKGBQbHVnaW4gXCIke3Byb3BzLm5hbWV9XCIgcHJlLXJlc29sdmVkIChhbGlhcz0ke2NhY2hlS2V5fSkg4oCUIHNraXBwaW5nIGN1c3RvbSByZXNvdXJjZWApO1xuICAgICAgcmV0dXJuIHByZVJlc29sdmVkO1xuICAgIH1cblxuICAgIGNvbnN0IGN1c3RvbSA9IHRoaXMuY3JlYXRlQ3VzdG9tUmVzb3VyY2UocHJvcHMsIHN0ZXBLZXkpO1xuICAgIGNvbnN0IGVuY29kZWQgPSBjdXN0b20uZ2V0QXR0U3RyaW5nKCdSZXN1bHRWYWx1ZScpO1xuXG4gICAgaWYgKFRva2VuLmlzVW5yZXNvbHZlZChlbmNvZGVkKSkge1xuICAgICAgbG9nLmRlYnVnKGBQbHVnaW4gXCIke3Byb3BzLm5hbWV9XCIgdmFsdWUgaXMgdW5yZXNvbHZlZCAodG9rZW4pIGR1cmluZyBzeW50aGVzaXMg4oCUIHVzaW5nIGZhbGxiYWNrLiBUaGUgYWN0dWFsIHBsdWdpbiB3aWxsIGJlIHJlc29sdmVkIGF0IGRlcGxveW1lbnQgdGltZS5gKTtcbiAgICAgIHJldHVybiB0aGlzLmZhbGxiYWNrKCk7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRlY29kZWQgPSBCdWZmZXIuZnJvbShlbmNvZGVkLCAnYmFzZTY0JykudG9TdHJpbmcoJ3V0Zi04Jyk7XG4gICAgICBjb25zdCBkYXRhID0gSlNPTi5wYXJzZShkZWNvZGVkKTtcblxuICAgICAgaWYgKCFkYXRhIHx8IHR5cGVvZiBkYXRhICE9PSAnb2JqZWN0JyB8fCAhZGF0YS5uYW1lIHx8ICFBcnJheS5pc0FycmF5KGRhdGEuY29tbWFuZHMpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBwbHVnaW4gcmVzcG9uc2U6IG1pc3NpbmcgcmVxdWlyZWQgZmllbGRzIChuYW1lLCBjb21tYW5kcyknKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGRhdGEgYXMgUGx1Z2luO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zdCBlcnJvck1zZyA9IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gcGFyc2UgcGx1Z2luIFwiJHtwcm9wcy5uYW1lfVwiIGRhdGE6ICR7ZXJyb3JNc2d9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgdGhlIExhbWJkYSBmdW5jdGlvbiB0aGF0IHNlcnZlcyBhcyB0aGUgZXZlbnQgaGFuZGxlciBmb3IgdGhlIGN1c3RvbSByZXNvdXJjZSBwcm92aWRlci5cbiAgICpcbiAgICogSldUIHRva2VuIGlzIHN0b3JlZCBpbiBhIHByZS1leGlzdGluZyBTZWNyZXRzIE1hbmFnZXIgc2VjcmV0IGF0XG4gICAqIGB7U0VDUkVUU19QQVRIX1BSRUZJWH0ve29yZ0lkfS9wbGF0Zm9ybWAuIFRoZSBMYW1iZGEgcmVzb2x2ZXMgdGhlXG4gICAqIHNlY3JldCBieSBuYW1lIGF0IHJ1bnRpbWUgdXNpbmcgYENvcmVDb25zdGFudHMuU0VDUkVUU19QQVRIX1BSRUZJWGAuXG4gICAqXG4gICAqIENyZWF0ZSB0aGUgc2VjcmV0IGJlZm9yZSBkZXBsb3lpbmcgd2l0aDpcbiAgICogICBwaXBlbGluZS1tYW5hZ2VyIGluZnJhIHN0b3JlLXRva2VuIC0tZGF5cyAzMCAtLXJlZ2lvbiA8cmVnaW9uPlxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVMYW1iZGFGdW5jdGlvbigpOiBGdW5jdGlvbiB7XG4gICAgaWYgKCF0aGlzLl9vcmdJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdvcmdJZCBpcyByZXF1aXJlZCBmb3IgUGx1Z2luTG9va3VwIOKAlCBuZWVkZWQgdG8gcmVzb2x2ZSB0aGUgcGVyLW9yZyBwbGF0Zm9ybSBzZWNyZXQnKTtcbiAgICB9XG4gICAgY29uc3Qgc2VjcmV0TmFtZSA9IENvcmVDb25zdGFudHMuc2VjcmV0UGF0aCh0aGlzLl9vcmdJZCwgJ3BsYXRmb3JtJyk7XG4gICAgY29uc3QgY2FCdW5kbGUgPSBwbGF0Zm9ybUNhQnVuZGxlKCk7XG5cbiAgICAvLyBQUkVCVUlMVCBhdCByZWxlYXNlIChzZWUgYC5wcm9qZW5yYy50c2AsIHBpcGVsaW5lLWNvcmUgcG9zdC1jb21waWxlKSwgbm90XG4gICAgLy8gYnVpbHQgaGVyZS5cbiAgICAvL1xuICAgIC8vIFRoaXMgd2FzIGEgYE5vZGVqc0Z1bmN0aW9uYCwgd2hpY2ggYnVuZGxlcyB3aXRoIGVzYnVpbGQgZHVyaW5nIHN5bnRoIG9uXG4gICAgLy8gd2hpY2hldmVyIG1hY2hpbmUgcnVucyB0aGUgZGVwbG95IGFuZCB0aGVyZWZvcmUgcmVxdWlyZXMgYVxuICAgIC8vIGBkZXBzTG9ja0ZpbGVQYXRoYC4gVGhlIHN0dWIgbG9jayB0aGF0IHNhdGlzZmllZCBpdCB3YXMgbmFtZWRcbiAgICAvLyBgcG5wbS1sb2NrLnlhbWxgLCBhbmQgYHBucG0gcGFja2Agc3RyaXBzIGZpbGVzIGJ5IHRoYXQgbmFtZSDigJQgc28gbm9cbiAgICAvLyBwdWJsaXNoZWQgY29weSBvZiB0aGUgQ0xJIGV2ZXIgaGFkIGl0IGFuZCBldmVyeSBkZXBsb3kgZGllZCBhdCBzeW50aC5cbiAgICAvL1xuICAgIC8vIFNoaXBwaW5nIHRoZSBidW5kbGUgaW5zdGVhZCBjb3N0cyBub3RoaW5nIHRoYXQgd2FzIGJlaW5nIHVzZWQ6IHRoZVxuICAgIC8vIGJ1bmRsaW5nIG9wdGlvbnMgd2VyZSBhbGwgc3RhdGljLCBzbyBlYWNoIG1hY2hpbmUgd2FzIHJlYnVpbGRpbmcgYVxuICAgIC8vIGJ5dGUtaWRlbnRpY2FsIGFydGlmYWN0LiBJdCBhbHNvIHRha2VzIGVzYnVpbGQgb2ZmIHRoZSBkZXBsb3kgcGF0aFxuICAgIC8vIGVudGlyZWx5LCB3aGljaCBpcyB3aGF0IHRoZSBDb2RlQnVpbGQgYm9vdHN0cmFwIGltYWdlIHdhcyBjYXJyeWluZyBpdCBmb3IuXG4gICAgY29uc3QgZm4gPSBuZXcgRnVuY3Rpb24odGhpcywgdGhpcy5fdW5pcXVlSWQuZ2VuZXJhdGUoJ29uZXZlbnQ6aGFuZGxlcicpLCB7XG4gICAgICBydW50aW1lOiB0aGlzLl9ydW50aW1lLFxuICAgICAgdGltZW91dDogdGhpcy5fdGltZW91dCxcbiAgICAgIG1lbW9yeVNpemU6IHRoaXMuX21lbW9yeVNpemUsXG4gICAgICBhcmNoaXRlY3R1cmU6IHRoaXMuX2FyY2hpdGVjdHVyZSxcbiAgICAgIGNvZGU6IENvZGUuZnJvbUFzc2V0KGpvaW4oTU9EVUxFX0RJUiwgJy8uLi9oYW5kbGVycy9idW5kbGUnKSksXG4gICAgICBoYW5kbGVyOiAnaW5kZXguaGFuZGxlcicsXG4gICAgICByZXNlcnZlZENvbmN1cnJlbnRFeGVjdXRpb25zOiB0aGlzLl9yZXNlcnZlZENvbmN1cnJlbnRFeGVjdXRpb25zLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgUExBVEZPUk1fU0VDUkVUX05BTUU6IHNlY3JldE5hbWUsXG4gICAgICAgIC8vIFBMQVRGT1JNX1RMU19WRVJJRlk9ZmFsc2U6IGEgZGV2IHBsYXRmb3JtIG9uIGEgc2VsZi1zaWduZWQgY2VydGlmaWNhdGUuXG4gICAgICAgIC4uLighcGxhdGZvcm1UbHNWZXJpZnkoKSAmJiB7XG4gICAgICAgICAgTk9ERV9UTFNfUkVKRUNUX1VOQVVUSE9SSVpFRDogJzAnLFxuICAgICAgICB9KSxcbiAgICAgICAgLy8gUHJpdmF0ZS1DQSBwbGF0Zm9ybTogdmVyaWZ5IGFnYWluc3QgdGhlIENBIGluc3RlYWQgKGNvcmUvcGxhdGZvcm0tdGxzLnRzKS5cbiAgICAgICAgLi4uKGNhQnVuZGxlICYmIHsgW1BMQVRGT1JNX0NBX0JVTkRMRV9FTlZdOiBjYUJ1bmRsZSB9KSxcbiAgICAgICAgLy8gVGhlIGxvb2t1cCByZXBvcnRzIGl0cyB3YXJuaW5ncyBhZ2FpbnN0IHRoaXMgcGlwZWxpbmUgKGNvbnRyYWN0IEMxKS5cbiAgICAgICAgLi4uKHRoaXMuX3BpcGVsaW5lSWQgJiYgeyBQSVBFTElORV9JRDogdGhpcy5fcGlwZWxpbmVJZCB9KSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyBHcmFudCB0aGUgTGFtYmRhIHBlcm1pc3Npb24gdG8gcmVhZCB0aGUgcGVyLW9yZyBwbGF0Zm9ybSBzZWNyZXQuXG4gICAgLy8gVGhlIHdpbGRjYXJkIHN1ZmZpeCBoYW5kbGVzIHRoZSA2LWNoYXIgcmFuZG9tIElEIHRoYXQgU2VjcmV0cyBNYW5hZ2VyIGFwcGVuZHMuXG4gICAgZm4uYWRkVG9Sb2xlUG9saWN5KG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICBhY3Rpb25zOiBbJ3NlY3JldHNtYW5hZ2VyOkdldFNlY3JldFZhbHVlJ10sXG4gICAgICByZXNvdXJjZXM6IFtgYXJuOmF3czpzZWNyZXRzbWFuYWdlcjoqOio6c2VjcmV0OiR7c2VjcmV0TmFtZX0tKmBdLFxuICAgIH0pKTtcblxuICAgIHJldHVybiBmbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCB0aGUgZGVmYXVsdCBwbHVnaW4gZmlsdGVyLlxuICAgKiBBY2Nlc3MgY29udHJvbCAob3JnSWQgc2NvcGluZywgcHVibGljL3ByaXZhdGUgdmlzaWJpbGl0eSkgaXMgaGFuZGxlZCBieVxuICAgKiB0aGUgcGxhdGZvcm0ncyBhY2Nlc3MgY29udHJvbCBxdWVyeSBidWlsZGVyIGJhc2VkIG9uIHRoZSBKV1QncyBvcmdhbml6YXRpb25JZC5cbiAgICovXG4gIHByaXZhdGUgbm9ybWFsaXplKHBsdWdpbjogc3RyaW5nIHwgUGx1Z2luT3B0aW9ucyk6IFBsdWdpbk9wdGlvbnMge1xuICAgIGNvbnN0IHJlZjogUGx1Z2luT3B0aW9ucyA9IHR5cGVvZiBwbHVnaW4gPT09ICdzdHJpbmcnID8geyBuYW1lOiBwbHVnaW4gfSA6IHBsdWdpbjtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZTogcmVmLm5hbWUsXG4gICAgICAuLi4ocmVmLnB1Ymxpc2hlciA/IHsgcHVibGlzaGVyOiByZWYucHVibGlzaGVyIH0gOiB7fSksXG4gICAgICAvLyBUaGUgcmVzb2x2ZXIgY2FjaGUga2V5OiB0aGUgZXhwbGljaXQgYWxpYXMsIGVsc2UgYFs8cHVibGlzaGVyPi1dPG5hbWU+LWFsaWFzYC5cbiAgICAgIGFsaWFzOiBwbHVnaW5BcnRpZmFjdEFsaWFzKHJlZiksXG4gICAgICAvLyBUaGUgc2FtZSBmaWx0ZXIgdGhlIENMSSBwcmUtcmVzb2x2ZXIgYW5kIHRoZSBwaXBlbGluZSBzZXJ2aWNlJ3NcbiAgICAgIC8vIGNvbnRyYWN0IGNoZWNrIHNlbmQgKGBwbHVnaW5Mb29rdXBGaWx0ZXJgKTogbmFtZSArIHB1Ymxpc2hlciwgdGhlblxuICAgICAgLy8gdGhlIHJlZmVyZW5jZSdzIG93biBmaWx0ZXIsIGVsc2UgdGhlIGRlZmF1bHQgdmVyc2lvbi5cbiAgICAgIGZpbHRlcjogcGx1Z2luTG9va3VwRmlsdGVyKHsgbmFtZTogcmVmLm5hbWUsIHB1Ymxpc2hlcjogcmVmLnB1Ymxpc2hlciwgZmlsdGVyOiByZWYuZmlsdGVyIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5kZWZpbmVkIH0pIGFzIFBsdWdpbkZpbHRlcixcbiAgICAgIG1ldGFkYXRhOiByZWYubWV0YWRhdGEsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgQ3VzdG9tUmVzb3VyY2UgaW5zdGFuY2UgdGhhdCB0cmlnZ2VycyBwbHVnaW4gbG9va3VwIGR1cmluZyBkZXBsb3ltZW50XG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZUN1c3RvbVJlc291cmNlKHByb3BzOiBQbHVnaW5PcHRpb25zLCBzdGVwS2V5Pzogc3RyaW5nKTogQ3VzdG9tUmVzb3VyY2Uge1xuICAgIGNvbnN0IHJlc291cmNlSWQgPSB0aGlzLl91bmlxdWVJZC5nZW5lcmF0ZShwcm9wcy5hbGlhcyB8fCBwcm9wcy5uYW1lKTtcblxuICAgIHJldHVybiBuZXcgQ3VzdG9tUmVzb3VyY2UodGhpcywgcmVzb3VyY2VJZCwge1xuICAgICAgc2VydmljZVRva2VuOiB0aGlzLl9wcm92aWRlci5zZXJ2aWNlVG9rZW4sXG4gICAgICByZXNvdXJjZVR5cGU6ICdDdXN0b206OlBsdWdpbkxvb2t1cCcsXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIGJhc2VVUkw6IHRoaXMuX3BsYXRmb3JtVXJsLFxuICAgICAgICBwbHVnaW5GaWx0ZXI6IHByb3BzLmZpbHRlcixcbiAgICAgICAgLi4uKHN0ZXBLZXkgPyB7IHN0ZXBLZXkgfSA6IHt9KSxcbiAgICAgIH0gYXMgSW5wdXRQcm9wcyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBCYXNlIHBsdWdpbiBzaGFwZSB3aXRoIG5vLW9wIGRlZmF1bHRzIGZvciBmaWVsZHMgQ0RLIGRvZXNuJ3QgdXNlLiAqL1xuICBwcml2YXRlIHN0YXRpYyBiYXNlUGx1Z2luKCk6IFBsdWdpbiB7XG4gICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IFBMQUNFSE9MREVSX1BMVUdJTl9JRCxcbiAgICAgIG9yZ0lkOiBTWVNURU1fT1JHX0lELFxuICAgICAgY3JlYXRlZEJ5OiAnc3lzdGVtJyxcbiAgICAgIGNyZWF0ZWRBdDogbm93LFxuICAgICAgdXBkYXRlZEJ5OiAnc3lzdGVtJyxcbiAgICAgIHVwZGF0ZWRBdDogbm93LFxuICAgICAgbmFtZTogJ2ZhbGxiYWNrJyxcbiAgICAgIGRlc2NyaXB0aW9uOiBudWxsLFxuICAgICAga2V5d29yZHM6IFtdLFxuICAgICAgY2F0ZWdvcnk6ICd1bmtub3duJyxcbiAgICAgIHZlcnNpb246ICcxLjAuMCcsXG4gICAgICBtZXRhZGF0YToge30sXG4gICAgICBwbHVnaW5UeXBlOiAnQ29kZUJ1aWxkU3RlcCcsXG4gICAgICBjb21wdXRlVHlwZTogJ1NNQUxMJyxcbiAgICAgIHRpbWVvdXQ6IG51bGwsXG4gICAgICBmYWlsdXJlQmVoYXZpb3I6ICdmYWlsJyxcbiAgICAgIHNlY3JldHM6IFtdLFxuICAgICAgcHJpbWFyeU91dHB1dERpcmVjdG9yeTogJ2Nkay5vdXQnLFxuICAgICAgZW52OiB7fSxcbiAgICAgIGJ1aWxkQXJnczoge30sXG4gICAgICBpbnN0YWxsQ29tbWFuZHM6IFtdLFxuICAgICAgY29tbWFuZHM6IFtdLFxuICAgICAgZG9ja2VyZmlsZTogbnVsbCxcbiAgICAgIGJ1aWxkVHlwZTogJ21ldGFkYXRhX29ubHknLFxuICAgICAgaW1hZ2VEaWdlc3Q6IG51bGwsXG4gICAgICBpbWFnZVNvdXJjZTogbnVsbCxcbiAgICAgIG93bmVySWQ6IG51bGwsXG4gICAgICBvd25lclR5cGU6IG51bGwsXG4gICAgICBsaWZlY3ljbGU6ICdwcm9kdWN0aW9uJyxcbiAgICAgIGNyaXRpY2FsaXR5OiBudWxsLFxuICAgICAgbGFiZWxzOiB7fSxcbiAgICAgIGxpbmtzOiBbXSxcbiAgICAgIHZpc2liaWxpdHk6ICdwdWJsaWMnLFxuICAgICAgaXNEZWZhdWx0OiBmYWxzZSxcbiAgICAgIGlzQWN0aXZlOiB0cnVlLFxuICAgICAgZGVsZXRlZEF0OiBudWxsLFxuICAgICAgZGVsZXRlZEJ5OiBudWxsLFxuICAgICAgcHVyZ2VBZnRlcjogbnVsbCxcbiAgICAgIHF1b3RhUmVzZXRBdDogbnVsbCxcbiAgICAgIHN1bW1hcnk6IG51bGwsXG4gICAgICBkaXNwbGF5TmFtZTogbnVsbCxcbiAgICAgIGRvY3VtZW50YXRpb25Vcmw6IG51bGwsXG4gICAgICBtZXRhZGF0YVNvdXJjZXM6IHt9LFxuICAgICAgcmVxdWlyZWRNZXRhZGF0YTogW10sXG4gICAgICByZXF1aXJlZFZhcnM6IFtdLFxuICAgICAgbWV0YWRhdGFUeXBlczoge30sXG4gICAgICB2YXJzVHlwZXM6IHt9LFxuICAgICAgc21va2VUZXN0OiBudWxsLFxuICAgICAgbmV0d29ya0VncmVzczogW10sXG4gICAgICByZWFkbWVNZDogbnVsbCxcbiAgICAgIHJlYWRtZUh0bWw6IG51bGwsXG4gICAgICBsaWNlbnNlOiBudWxsLFxuICAgICAgY2hhbmdlbG9nOiBudWxsLFxuICAgICAgaG9tZXBhZ2VVcmw6IG51bGwsXG4gICAgICBzb3VyY2VVcmw6IG51bGwsXG4gICAgICBpY29uOiBudWxsLFxuICAgICAgdXBsb2FkZWRJY29uOiBudWxsLFxuICAgICAgdnVsbkNyaXRpY2FsOiBudWxsLFxuICAgICAgdnVsbkhpZ2g6IG51bGwsXG4gICAgICB2dWxuTWVkaXVtOiBudWxsLFxuICAgICAgdnVsbkxvdzogbnVsbCxcbiAgICAgIHZ1bG5Dcml0aWNhbEZpeGFibGU6IG51bGwsXG4gICAgICB2dWxuSGlnaEZpeGFibGU6IG51bGwsXG4gICAgICBzY2FubmVkQXQ6IG51bGwsXG4gICAgICBzY2FuU3VtbWFyeTogbnVsbCxcbiAgICAgIHNjYW5GbGFnZ2VkQXQ6IG51bGwsXG4gICAgICBzY2FuRmxhZzogbnVsbCxcbiAgICAgIHJ1bkFzUm9vdDogbnVsbCxcbiAgICAgIGJyZWFraW5nOiBmYWxzZSxcbiAgICAgIGZyb3plbkF0OiBudWxsLFxuICAgICAgeWFua2VkQXQ6IG51bGwsXG4gICAgICB5YW5rUmVhc29uOiBudWxsLFxuICAgICAgZGVwcmVjYXRlZEF0OiBudWxsLFxuICAgICAgZGVwcmVjYXRpb25NZXNzYWdlOiBudWxsLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogRmFsbGJhY2sgZm9yIGEgcGx1Z2luIHdob3NlIGxvb2t1cCByZXR1cm5lZCBubyByZWNvcmQgKG5vdCBpbiB0aGUgcGxhdGZvcm1cbiAgICogY2F0YWxvZyBmb3IgdGhpcyBvcmcpIGFuZCBzbyBjb3VsZCBub3QgYmUgcHJlLXJlc29sdmVkIGF0IHN5bnRoLlxuICAgKlxuICAgKiBUaGlzIHN0ZXAgRkFJTFMgdGhlIGJ1aWxkIChleGl0IDEpIG9uIHB1cnBvc2UuIFRoZSBwcmV2aW91cyBiZWhhdmlvdXIg4oCUXG4gICAqIGBlY2hvIFwi4oCmXCIgJiYgZXhpdCAwYCDigJQgd2FzIGEgZmFsc2UgcG9zaXRpdmU6IGFuIHVucmVzb2x2ZWQgc2VjdXJpdHkvcXVhbGl0eVxuICAgKiBzdGVwIChkZXBlbmRlbmN5LWNoZWNrLCBzZW1ncmVwLCBzcG90YnVncywg4oCmKSByZXBvcnRlZCB0aGUgc3RhZ2UgZ3JlZW4gd2hpbGVcbiAgICogcnVubmluZyBub3RoaW5nLCBnaXZpbmcgZmFsc2UgYXNzdXJhbmNlIHRoYXQgc2NhbnMvYnVpbGRzIGhhZCBwYXNzZWQuIEFcbiAgICogcGx1Z2luIHN0ZXAgdGhhdCBjYW4ndCBydW4gaXRzIHBsdWdpbiBtdXN0IGdvIHJlZCwgY29uc2lzdGVudCB3aXRoXG4gICAqIGBiYXNlUGx1Z2luKCkuZmFpbHVyZUJlaGF2aW9yID09PSAnZmFpbCdgLiBUaGUgbWVzc2FnZSBpcyBhY3Rpb25hYmxlIHNvIHRoZVxuICAgKiBvcGVyYXRvciBrbm93cyB0aGUgY2F0YWxvZyBpcyBlbXB0eS9pbmNvbXBsZXRlLCBub3QgdGhhdCB0aGUgdG9vbCBjcmFzaGVkLlxuICAgKi9cbiAgcHJpdmF0ZSBmYWxsYmFjaygpOiBQbHVnaW4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5QbHVnaW5Mb29rdXAuYmFzZVBsdWdpbigpLFxuICAgICAgY29tbWFuZHM6IFtcbiAgICAgICAgJ2VjaG8gXCJFUlJPUjogcGx1Z2luIGxvb2t1cCByZXR1cm5lZCBubyByZWNvcmQg4oCUIHRoaXMgcGx1Z2luIGlzIG5vdCBpbiB0aGUgcGxhdGZvcm0gY2F0YWxvZyBmb3IgdGhpcyBvcmcsIHNvIHRoZSBzdGVwIGNhbm5vdCBydW4uXCIgPiYyJyxcbiAgICAgICAgJ2VjaG8gXCJUaGlzIHN0ZXAgZmFpbHMgaW5zdGVhZCBvZiBwYXNzaW5nIGFzIGEgbm8tb3AgKGFuIHVucmVzb2x2ZWQgcGx1Z2luIHJlcG9ydGluZyBzdWNjZXNzIHdvdWxkIGJlIGEgZmFsc2UtcG9zaXRpdmUgZ3JlZW4pLlwiID4mMicsXG4gICAgICAgICdlY2hvIFwiRml4OiBsb2FkIHRoZSBwbHVnaW4gaW50byB0aGUgcGxhdGZvcm0gKGRlcGxveS9iaW4vbG9hZC1wbHVnaW5zLnNoKSwgdGhlbiByZS1ydW4gdGhlIHBpcGVsaW5lLlwiID4mMicsXG4gICAgICAgICdleGl0IDEnLFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFN5bnRoIHBsdWdpbiB3aXRoIHBpcGVsaW5lLW1hbmFnZXIgY29tbWFuZHMuIENvbGQtc3RhcnQgYm9vdHN0cmFwIGZvclxuICAgKiB0aGUgc3ludGggc3RlcCB3aGVuIHByZS1yZXNvbHV0aW9uIGJ5IGBwaXBlbGluZS1tYW5hZ2VyIHBpcGVsaW5lIHN5bnRoL2RlcGxveWBcbiAgICogZGlkbid0IHBvcHVsYXRlIGByZXNvbHZlZFBsdWdpbnNgIGZvciB0aGUgc3ludGggcGx1Z2luLiBSdW5zIG9uIHRoZVxuICAgKiByZXNvbHZlZCB0b29sY2hhaW4gcmVsZWFzZSdzIGBwaXBlbGluZS1ib290c3RyYXBgIGltYWdlICh0aGUgcGlwZWxpbmUnc1xuICAgKiBgcmVzb2x2ZWRCb290c3RyYXBgLCBwaW5uZWQgYnkgZGlnZXN0KSBhbmQgc2VsZi1ib290c3RyYXBzIHRoZSByZWFsIHN5bnRoXG4gICAqIHZpYSBgcGlwZWxpbmUtbWFuYWdlciBwaXBlbGluZSBzeW50aCAtLWlkICR7UElQRUxJTkVfSUR9YC5cbiAgICpcbiAgICogTm8gYGluc3RhbGxDb21tYW5kc2A6IHRoZSBib290c3RyYXAgaW1hZ2UgaGFzIHRoZSByZWxlYXNlJ3MgcGlubmVkXG4gICAqIGBwaXBlbGluZS1tYW5hZ2VyYCBiYWtlZCBpbiDigJQgdGhhdCBpcyB3aGF0IHRoZSBpbWFnZSBpcyBmb3IuXG4gICAqXG4gICAqIFRMUyBpcyBWRVJJRklFRCBieSBkZWZhdWx0OiB0aGlzIGxvb2t1cCByZXR1cm5zIHRoZSBpbWFnZSBkaWdlc3RzIGV2ZXJ5XG4gICAqIHN0ZXAgaXMgcGlubmVkIHRvLCBzbyBhbiB1bnZlcmlmaWVkIGNvbm5lY3Rpb24gd291bGQgbGV0IGEgTUlUTSBjaG9vc2Ugd2hhdFxuICAgKiBydW5zLiBBIHByaXZhdGUtQ0EgcGxhdGZvcm0gaXMgdHJ1c3RlZCB0aHJvdWdoIGBQTEFURk9STV9DQV9CVU5ETEVgLCB3aGljaFxuICAgKiB0aGUgc3ludGggcHJvcGFnYXRlcyBpbnRvIGV2ZXJ5IENvZGVCdWlsZCBzdGVwLiBPbmx5IGFuIGV4cGxpY2l0XG4gICAqIGBQTEFURk9STV9UTFNfVkVSSUZZPWZhbHNlYCBhdCBzeW50aCB0aW1lIChhIGRldiBwbGF0Zm9ybSBvbiBhIHNlbGYtc2lnbmVkXG4gICAqIGNlcnRpZmljYXRlKSBhZGRzIGAtLW5vLXZlcmlmeS1zc2xgIOKAlCBhbmQgdGhlIENMSSByZWZ1c2VzIHRoYXQgaW5cbiAgICogcHJvZHVjdGlvbi4gU2VlIGNvcmUvcGxhdGZvcm0tdGxzLnRzLlxuICAgKi9cbiAgcHVibGljIGJvb3RzdHJhcCgpOiBQbHVnaW4ge1xuICAgIGNvbnN0IHRsc0ZsYWcgPSBwbGF0Zm9ybVRsc1ZlcmlmeSgpID8gJycgOiAnIC0tbm8tdmVyaWZ5LXNzbCc7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLlBsdWdpbkxvb2t1cC5iYXNlUGx1Z2luKCksXG4gICAgICBuYW1lOiAnY2RrLXN5bnRoJyxcbiAgICAgIHByaW1hcnlPdXRwdXREaXJlY3Rvcnk6ICdjZGsub3V0JyxcbiAgICAgIGNvbW1hbmRzOiBbXG4gICAgICAgIGBwaXBlbGluZS1tYW5hZ2VyIHBpcGVsaW5lIHN5bnRoIC0taWQgXFwke1BJUEVMSU5FX0lEfSAtLXN0b3JlLXRva2VucyAtLXF1aWV0IC0tbm8tbm90aWNlcyR7dGxzRmxhZ31gLFxuICAgICAgXSxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
380
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWxvb2t1cC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BpcGVsaW5lL3BsdWdpbi1sb29rdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFNUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9FLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV2QyxPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckYsT0FBTyxFQUFFLHFCQUFxQixFQUFF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QUFpQixDQUFDLEtBQUs7WUFDN0Isc0JBQXNCLEVBQUUsU0FBUztZQUNqQyxRQUFRLEVBQUU7Z0JBQ1IsMkZBQTJGLE9BQU8sRUFBRTthQUNyRztTQUNGLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHsgZGlybmFtZSwgam9pbiB9IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCB9IGZyb20gJ3VybCc7XG5pbXBvcnQgeyBjcmVhdGVMb2dnZXIsIE1BTkFHRURfVE9PTENIQUlOLCBTWVNURU1fT1JHX0lEIH0gZnJvbSAnQHBpcGVsaW5lLWJ1aWxkZXIvYXBpLWNvcmUnO1xuaW1wb3J0IHR5cGUgeyBQbHVnaW5GaWx0ZXIsIFBsdWdpbiB9IGZyb20gJ0BwaXBlbGluZS1idWlsZGVyL3BpcGVsaW5lLWRhdGEnO1xuaW1wb3J0IHsgQ3VzdG9tUmVzb3VyY2UsIFRva2VuLCBEdXJhdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IFBvbGljeVN0YXRlbWVudCwgRWZmZWN0IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBSdW50aW1lLCBBcmNoaXRlY3R1cmUsIEZ1bmN0aW9uLCBDb2RlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBMb2dHcm91cCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAnYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlcyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB0eXBlIHsgUGx1Z2luT3B0aW9ucyB9IGZyb20gJy4vc3RlcC10eXBlcy5qcyc7XG5pbXBvcnQgeyBDb25maWcsIENvcmVDb25zdGFudHMgfSBmcm9tICcuLi9jb25maWcvYXBwLWNvbmZpZy5qcyc7XG5pbXBvcnQgeyBsYW1iZGFSdW50aW1lIH0gZnJvbSAnLi4vY29uZmlnL2F3cy1jb25maWctY2RrLmpzJztcbmltcG9ydCB7IFVuaXF1ZUlkIH0gZnJvbSAnLi4vY29yZS9pZC1nZW5lcmF0b3IuanMnO1xuaW1wb3J0IHsgUExBVEZPUk1fQ0FfQlVORExFX0VOViwgcGxhdGZvcm1DYUJ1bmRsZSwgcGxhdGZvcm1UbHNWZXJpZnkgfSBmcm9tICcuLi9jb3JlL3BsYXRmb3JtLXRscy5qcyc7XG5pbXBvcnQgeyBwbHVnaW5BcnRpZmFjdEFsaWFzLCBwbHVnaW5Mb29rdXBGaWx0ZXIgfSBmcm9tICcuLi9jb3JlL3BsdWdpbi1jb250cmFjdC5qcyc7XG5pbXBvcnQgeyBQTEFDRUhPTERFUl9QTFVHSU5fSUQgfSBmcm9tICcuLi9jb3JlL3N0ZXAtbWFuaWZlc3QuanMnO1xuXG5jb25zdCBsb2cgPSBjcmVhdGVMb2dnZXIoJ3BsdWdpbi1sb29rdXAnKTtcblxuLy8gRVNNLXNhZmUgbW9kdWxlIGRpcmVjdG9yeSAodGhlIHBhY2thZ2UgaXMgYHR5cGU6IG1vZHVsZWA7IGBfX2Rpcm5hbWVgIGlzXG4vLyBub3QgZGVmaW5lZCB1bmRlciBFUyBtb2R1bGVzKS5cbmNvbnN0IE1PRFVMRV9ESVIgPSBkaXJuYW1lKGZpbGVVUkxUb1BhdGgoaW1wb3J0Lm1ldGEudXJsKSk7XG5cbmludGVyZmFjZSBJbnB1dFByb3BzIHtcbiAgcmVhZG9ubHkgYmFzZVVSTDogc3RyaW5nO1xuICByZWFkb25seSBwbHVnaW5GaWx0ZXI6IFBsdWdpbkZpbHRlcjtcbiAgLyoqIFRoZSBzdGVwJ3MgbGFiZWwgKGBwbHVnaW5TdGVwTGFiZWxgKSDigJQgc2VudCBhcyB0aGUgbG9va3VwIGBjb250ZXh0LnN0ZXBLZXlzYCAoY29udHJhY3QgQzEpLiAqL1xuICByZWFkb25seSBzdGVwS2V5Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIFBsdWdpbkxvb2t1cCBjb25zdHJ1Y3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQbHVnaW5Mb29rdXBQcm9wcyB7XG4gIHJlYWRvbmx5IG9yZ2FuaXphdGlvbjogc3RyaW5nO1xuICByZWFkb25seSBwcm9qZWN0OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBsYXRmb3JtVXJsOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHVuaXF1ZUlkOiBVbmlxdWVJZDtcbiAgLyoqIE9yZ2FuaXphdGlvbiBJRCBmb3IgcmVzb2x2aW5nIHBlci1vcmcgc2VjcmV0cyBmcm9tIFNlY3JldHMgTWFuYWdlciAqL1xuICByZWFkb25seSBvcmdJZD86IHN0cmluZztcbiAgLyoqXG4gICAqIFBsYXRmb3JtIHBpcGVsaW5lIGlkLiBTZW50IGFzIGxvb2t1cCBgY29udGV4dGAgc28gdGhlIHBsdWdpbiBzZXJ2aWNlIHJlY29yZHNcbiAgICogdGhlIHdhcm5pbmdzIGl0IHJldHVybnMgYWdhaW5zdCBlYWNoIChwaXBlbGluZSwgc3RlcCk7IG9taXR0ZWQgd2hlbiB1bmtub3duLlxuICAgKi9cbiAgcmVhZG9ubHkgcGlwZWxpbmVJZD86IHN0cmluZztcbiAgcmVhZG9ubHkgcnVudGltZT86IFJ1bnRpbWU7XG4gIC8qKiBMYW1iZGEgdGltZW91dCAoZGVmYXVsdDogMzBzKSAqL1xuICByZWFkb25seSB0aW1lb3V0PzogRHVyYXRpb247XG4gIC8qKiBMYW1iZGEgbWVtb3J5IGluIE1CIChkZWZhdWx0OiA1MTIpICovXG4gIHJlYWRvbmx5IG1lbW9yeVNpemU/OiBudW1iZXI7XG4gIC8qKiBMYW1iZGEgQ1BVIGFyY2hpdGVjdHVyZSAoZGVmYXVsdDogQVJNXzY0KSAqL1xuICByZWFkb25seSBhcmNoaXRlY3R1cmU/OiBBcmNoaXRlY3R1cmU7XG4gIC8qKiBSZXNlcnZlZCBjb25jdXJyZW50IGV4ZWN1dGlvbnMgZm9yIHRoZSBsb29rdXAgTGFtYmRhIChkZWZhdWx0OiAzMCkgKi9cbiAgcmVhZG9ubHkgcmVzZXJ2ZWRDb25jdXJyZW50RXhlY3V0aW9ucz86IG51bWJlcjtcbiAgLyoqXG4gICAqIFBsdWdpbnMgcHJlLXJlc29sdmVkIGJ5IGBwaXBlbGluZS1tYW5hZ2VyIHBpcGVsaW5lIHN5bnRoYCBmcm9tIHRoZSBwbGF0Zm9ybSBBUEkuXG4gICAqIEtleWVkIGJ5IGBhbGlhcyB8fCBuYW1lYCAobWF0Y2hlcyB0aGUgY29uc3RydWN0J3Mgbm9ybWFsaXplKCkgb3V0cHV0KS5cbiAgICogV2hlbiBhIGxvb2t1cCBoaXRzIHRoaXMgbWFwLCBgcGx1Z2luKClgIHJldHVybnMgdGhlIHJlc29sdmVkIFBsdWdpblxuICAgKiBkaXJlY3RseSDigJQgbm8gY3VzdG9tIHJlc291cmNlIGlzIGNyZWF0ZWQuIFRoaXMgaXMgd2hhdCBtYWtlcyB0aGVcbiAgICogbmFtZSwgdmVyc2lvbiwgY29tbWFuZHMsIGVudiwgZXRjLiBhdmFpbGFibGUgYXQgc3ludGggdGltZSBzbyB0aGUgcmVzdWx0aW5nXG4gICAqIENGTiB0ZW1wbGF0ZSBzaGlwcyB3aXRoIHRoZSByZWFsIHZhbHVlcyBiYWtlZCBpbi5cbiAgICovXG4gIHJlYWRvbmx5IHJlc29sdmVkUGx1Z2lucz86IFJlY29yZDxzdHJpbmcsIFBsdWdpbj47XG59XG5cbi8qKlxuICogQ0RLIENvbnN0cnVjdCByZXNwb25zaWJsZSBmb3IgbG9va2luZyB1cCBwbHVnaW4gY29uZmlndXJhdGlvbnMgZnJvbSBhbiBleHRlcm5hbCBwbGF0Zm9ybVxuICogdXNpbmcgQVdTIENsb3VkRm9ybWF0aW9uIEN1c3RvbSBSZXNvdXJjZXMgYmFja2VkIGJ5IGEgTGFtYmRhIGZ1bmN0aW9uLlxuICpcbiAqIFRoaXMgY29uc3RydWN0IGNyZWF0ZXM6XG4gKiAtIEEgTGFtYmRhIGZ1bmN0aW9uIChwbHVnaW4tbG9va3VwLWhhbmRsZXIpIHRoYXQgZmV0Y2hlcyBwbHVnaW4gY29uZmlnc1xuICogLSBBIENsb3VkV2F0Y2ggTG9nIEdyb3VwIGZvciB0aGUgTGFtYmRhXG4gKiAtIEEgQ3VzdG9tIFJlc291cmNlIFByb3ZpZGVyIHRoYXQgaW52b2tlcyB0aGUgTGFtYmRhXG4gKiAtIEFuIElBTSBwb2xpY3kgZ3JhbnRpbmcgdGhlIExhbWJkYSBhY2Nlc3MgdG8gdGhlIGNyZWRlbnRpYWxzIHNlY3JldFxuICpcbiAqICMjIFByZXJlcXVpc2l0ZXNcbiAqXG4gKiBCZWZvcmUgZGVwbG95aW5nLCBzdG9yZSBhIEpXVCB0b2tlbiBpbiBTZWNyZXRzIE1hbmFnZXI6XG4gKiBgYGBzaFxuICogcGlwZWxpbmUtbWFuYWdlciBpbmZyYSBzdG9yZS10b2tlbiAtLWRheXMgMzAgLS1yZWdpb24gPHJlZ2lvbj5cbiAqIGBgYFxuICpcbiAqIFRoZSBMYW1iZGEgcmVzb2x2ZXMgdGhlIHNlY3JldCBieSBuYW1lIGF0IHJ1bnRpbWU6XG4gKiBge1NFQ1JFVFNfUEFUSF9QUkVGSVh9L3tvcmdJZH0vcGxhdGZvcm1gXG4gKlxuICogQHNlZSBoYW5kbGVycy9wbHVnaW4tbG9va3VwLWhhbmRsZXIudHMgZm9yIHRoZSBMYW1iZGEgaW1wbGVtZW50YXRpb25cbiAqL1xuZXhwb3J0IGNsYXNzIFBsdWdpbkxvb2t1cCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3VuaXF1ZUlkOiBVbmlxdWVJZDtcbiAgcHJpdmF0ZSByZWFkb25seSBfcHJvdmlkZXI6IFByb3ZpZGVyO1xuICBwcml2YXRlIHJlYWRvbmx5IF9wbGF0Zm9ybVVybDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IF9ydW50aW1lOiBSdW50aW1lO1xuICBwcml2YXRlIHJlYWRvbmx5IF90aW1lb3V0OiBEdXJhdGlvbjtcbiAgcHJpdmF0ZSByZWFkb25seSBfbWVtb3J5U2l6ZTogbnVtYmVyO1xuICBwcml2YXRlIHJlYWRvbmx5IF9hcmNoaXRlY3R1cmU6IEFyY2hpdGVjdHVyZTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcmVzZXJ2ZWRDb25jdXJyZW50RXhlY3V0aW9ucz86IG51bWJlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBfb3JnSWQ/OiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3BpcGVsaW5lSWQ/OiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3Jlc29sdmVkUGx1Z2lucz86IFJlY29yZDxzdHJpbmcsIFBsdWdpbj47XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFBsdWdpbkxvb2t1cFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGlmICghcHJvcHMub3JnYW5pemF0aW9uIHx8ICFwcm9wcy5wcm9qZWN0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0JvdGggb3JnYW5pemF0aW9uIGFuZCBwcm9qZWN0IGFyZSByZXF1aXJlZC4nKTtcbiAgICB9XG5cbiAgICB0aGlzLl91bmlxdWVJZCA9IHByb3BzLnVuaXF1ZUlkO1xuICAgIHRoaXMuX3BsYXRmb3JtVXJsID0gcHJvcHMucGxhdGZvcm1Vcmw7XG4gICAgdGhpcy5fb3JnSWQgPSBwcm9wcy5vcmdJZDtcbiAgICB0aGlzLl9waXBlbGluZUlkID0gcHJvcHMucGlwZWxpbmVJZDtcbiAgICB0aGlzLl9ydW50aW1lID0gcHJvcHMucnVudGltZSA/PyBsYW1iZGFSdW50aW1lKCdub2RlanMyNi54Jyk7XG4gICAgdGhpcy5fdGltZW91dCA9IHByb3BzLnRpbWVvdXQgPz8gRHVyYXRpb24uc2Vjb25kcygzMCk7XG4gICAgdGhpcy5fbWVtb3J5U2l6ZSA9IHByb3BzLm1lbW9yeVNpemUgPz8gQ29uZmlnLmdldCgnYXdzJykubGFtYmRhLm1lbW9yeVNpemU7XG4gICAgdGhpcy5fYXJjaGl0ZWN0dXJlID0gcHJvcHMuYXJjaGl0ZWN0dXJlID8/IEFyY2hpdGVjdHVyZS5BUk1fNjQ7XG4gICAgdGhpcy5fcmVzZXJ2ZWRDb25jdXJyZW50RXhlY3V0aW9ucyA9IHByb3BzLnJlc2VydmVkQ29uY3VycmVudEV4ZWN1dGlvbnM7XG4gICAgdGhpcy5fcmVzb2x2ZWRQbHVnaW5zID0gcHJvcHMucmVzb2x2ZWRQbHVnaW5zO1xuXG4gICAgY29uc3Qgb25FdmVudEhhbmRsZXIgPSB0aGlzLmNyZWF0ZUxhbWJkYUZ1bmN0aW9uKCk7XG5cbiAgICAvLyBMb2ctZ3JvdXAgc3RyYXRlZ3k6XG4gICAgLy8gICBQcmV2aW91cyBjb2RlIGNyZWF0ZWQgYW4gYEFXUzo6TG9nczo6TG9nR3JvdXBgIHJlc291cmNlIHdpdGggYW5cbiAgICAvLyAgIEVYUExJQ0lUIG5hbWUgKGAvYXdzL2xhbWJkYS9wbHVnaW4tbG9va3VwLU5gKS4gVGhhdCBicmVha3MgZXZlcnlcbiAgICAvLyAgIHJlLWRlcGxveSBhZnRlciBhIHJvbGxlZC1iYWNrIHN0YWNrOiBBV1MgYXV0by1jcmVhdGVzIHRoZSBncm91cCBvblxuICAgIC8vICAgZmlyc3QgTGFtYmRhIGludm9jYXRpb24sIHRoZSByb2xsYmFjayBsZWF2ZXMgaXQgYXMgYW4gb3JwaGFuLCBhbmRcbiAgICAvLyAgIHRoZSBuZXh0IENESyBydW4gZmFpbHMgd2l0aCBcIlJlc291cmNlIC4uLiBhbHJlYWR5IGV4aXN0c1wiIGJlY2F1c2VcbiAgICAvLyAgIHRoZSBleHBsaWNpdCBuYW1lIGNvbGxpZGVzIHdpdGggdGhlIG9ycGhhbi5cbiAgICAvL1xuICAgIC8vICAgRml4OiB1c2UgYExvZ0dyb3VwLmZyb21Mb2dHcm91cE5hbWUoKWAgdG8gYWRvcHQtb3ItcGFzcy10aHJvdWdoLlxuICAgIC8vICAgSWYgdGhlIGdyb3VwIGV4aXN0cywgQ0RLIHJlZmVyZW5jZXMgaXQgd2l0aG91dCB0cnlpbmcgdG8gcmVjcmVhdGUuXG4gICAgLy8gICBJZiBpdCBkb2Vzbid0LCBBV1MgTGFtYmRhIGF1dG8tY3JlYXRlcyBpdCBvbiBmaXJzdCBpbnZvY2F0aW9uLlxuICAgIC8vICAgUmV0ZW50aW9uIGlzIHRoZW4gc2V0IHZpYSBhIHNlcGFyYXRlIHJldGVudGlvbi1wb2xpY3kgY3VzdG9tXG4gICAgLy8gICByZXNvdXJjZSB3aGljaCBpcyBpZGVtcG90ZW50IChzYWZlIHRvIGFwcGx5IHRvIGV4aXN0aW5nIGdyb3VwcykuXG4gICAgY29uc3QgbG9nR3JvdXBOYW1lID0gYC9hd3MvbGFtYmRhLyR7dGhpcy5fdW5pcXVlSWQuZ2VuZXJhdGUoJ3BsdWdpbjpsb29rdXAnKS5yZXBsYWNlKC86L2csICctJyl9YDtcbiAgICBjb25zdCBsb2dHcm91cCA9IExvZ0dyb3VwLmZyb21Mb2dHcm91cE5hbWUoXG4gICAgICB0aGlzLFxuICAgICAgdGhpcy5fdW5pcXVlSWQuZ2VuZXJhdGUoJ2xvZzpncm91cCcpLFxuICAgICAgbG9nR3JvdXBOYW1lLFxuICAgICk7XG5cbiAgICB0aGlzLl9wcm92aWRlciA9IG5ldyBQcm92aWRlcih0aGlzLCB0aGlzLl91bmlxdWVJZC5nZW5lcmF0ZSgncmVzb3VyY2U6cHJvdmlkZXInKSwge1xuICAgICAgb25FdmVudEhhbmRsZXIsXG4gICAgICBsb2dHcm91cCxcbiAgICB9KTtcblxuICAgIGxvZy5kZWJ1ZyhgUGx1Z2luTG9va3VwIGluaXRpYWxpemVkIGZvciAke3Byb3BzLm9yZ2FuaXphdGlvbn0vJHtwcm9wcy5wcm9qZWN0fWApO1xuICB9XG5cbiAgLyoqXG4gICAqIExvb2tzIHVwIGFuZCByZXNvbHZlcyBwbHVnaW4gY29uZmlndXJhdGlvbiB1c2luZyBlaXRoZXIgYSBzaW1wbGUgbmFtZSBvciBmdWxsIFBsdWdpbk9wdGlvbnMgb2JqZWN0XG4gICAqIER1cmluZyBzeW50aGVzaXMsIGlmIHRoZSB2YWx1ZSBpcyB1bnJlc29sdmVkICh0b2tlbiksIHJldHVybnMgZmFsbGJhY2sgcGx1Z2luXG4gICAqIER1cmluZyBkZXBsb3ltZW50LCBhdHRlbXB0cyB0byBwYXJzZSB0aGUgYWN0dWFsIHZhbHVlIHJldHVybmVkIGJ5IHRoZSBjdXN0b20gcmVzb3VyY2VcbiAgICogQHBhcmFtIHBsdWdpbiAtIFBsdWdpbiBuYW1lIChzdHJpbmcpIG9yIGNvbXBsZXRlIFBsdWdpbk9wdGlvbnMgY29uZmlndXJhdGlvblxuICAgKiBAcGFyYW0gc3RlcEtleSAtIFRoZSBzdGVwJ3MgbGFiZWwgKGBwbHVnaW5TdGVwTGFiZWxgOiBgc3ludGhgIG9yXG4gICAqICAgYDxzdGFnZT4vPGFsaWFzID8/IG5hbWU+YCkuIFRoZSBkZXBsb3ktdGltZSBsb29rdXAgcmVwb3J0cyBpdHMgd2FybmluZ3NcbiAgICogICBhZ2FpbnN0IGl0LCBzbyBpdCBtdXN0IG1hdGNoIHRoZSBzdGVwIG1hbmlmZXN0J3MgYW5kIHRoZSBzZWN1cml0eSB2aWV3J3Mga2V5LlxuICAgKiBAcmV0dXJucyBSZXNvbHZlZCBQbHVnaW4gb2JqZWN0IG9yIGZhbGxiYWNrIGRlZmF1bHQgY29uZmlndXJhdGlvblxuICAgKi9cbiAgcHVibGljIHBsdWdpbihwbHVnaW46IHN0cmluZyB8IFBsdWdpbk9wdGlvbnMsIHN0ZXBLZXk/OiBzdHJpbmcpOiBQbHVnaW4ge1xuICAgIGNvbnN0IHByb3BzID0gdGhpcy5ub3JtYWxpemUocGx1Z2luKTtcblxuICAgIC8vIFByZS1yZXNvbHZlZCBieSBgcGlwZWxpbmUtbWFuYWdlciBwaXBlbGluZSBzeW50aGAgZnJvbSB0aGUgcGxhdGZvcm0gQVBJLlxuICAgIC8vIFNraXAgdGhlIGN1c3RvbSByZXNvdXJjZSBlbnRpcmVseSDigJQgd2UgYWxyZWFkeSBrbm93IHRoZSBwbHVnaW4nc1xuICAgIC8vIG5hbWUsIHZlcnNpb24sIGNvbW1hbmRzLCBlbnYsIGV0Yy4gYXQgc3ludGggdGltZSwgc28gdGhlIHJlc3VsdGluZyBDRk5cbiAgICAvLyB0ZW1wbGF0ZSBjYW4gc2hpcCB3aXRoIHRoZSByZWFsIENvZGVCdWlsZCBpbWFnZSBiYWtlZCBpbi5cbiAgICBjb25zdCBjYWNoZUtleSA9IHByb3BzLmFsaWFzIHx8IHByb3BzLm5hbWU7XG4gICAgY29uc3QgcHJlUmVzb2x2ZWQgPSB0aGlzLl9yZXNvbHZlZFBsdWdpbnM/LltjYWNoZUtleV0gYXMgKFBsdWdpbiAmIHsgcHVibGlzaGVyPzogc3RyaW5nIHwgbnVsbCB9KSB8IHVuZGVmaW5lZDtcbiAgICAvLyBUaGUgbWFwIGlzIGtleWVkIGJ5IEFMSUFTLCBzbyBjaGVjayBpdCBhY3R1YWxseSBob2xkcyBUSElTIHBsdWdpbi4gVHdvXG4gICAgLy8gc3RlcHMgc2hhcmluZyBhbiBhbGlhcyBhY3Jvc3MgZGlmZmVyZW50IHBsdWdpbnMgd291bGQgb3RoZXJ3aXNlIGdldCB0aGVcbiAgICAvLyBmaXJzdCBvbmUncyByZWNvcmQgYmFjayDigJQgdGhlIHNlY29uZCBzdGVwIHNpbGVudGx5IHJ1bm5pbmcgdGhlIHdyb25nXG4gICAgLy8gaW1hZ2UgYW5kIGNvbW1hbmRzLiBUaGUgQ0xJIHJlZnVzZXMgc3VjaCBhIHBpcGVsaW5lIHRvbzsgdGhpcyBjb3ZlcnMgYW55IG90aGVyXG4gICAgLy8gY2FsbGVyIHRoYXQgc3VwcGxpZXMgYHJlc29sdmVkUGx1Z2luc2AuXG4gICAgLy8gQ29tcGFyZSBhZ2FpbnN0IHRoZSBuYW1lIHRoZSBsb29rdXAgYWN0dWFsbHkgVEFSR0VURUQ6IGFuIGV4cGxpY2l0XG4gICAgLy8gYGZpbHRlci5uYW1lYCBvdmVycmlkZXMgdGhlIHJlZidzIGBuYW1lYCBieSBkZXNpZ24sIGFuZCB0aGF0IGlzIG5vdCBhXG4gICAgLy8gY29sbGlzaW9uLlxuICAgIGNvbnN0IHRhcmdldE5hbWUgPSAocHJvcHMuZmlsdGVyIGFzIHsgbmFtZT86IHN0cmluZyB9IHwgdW5kZWZpbmVkKT8ubmFtZSA/PyBwcm9wcy5uYW1lO1xuICAgIGlmIChwcmVSZXNvbHZlZCAmJiBwcmVSZXNvbHZlZC5uYW1lICE9PSB0YXJnZXROYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBQbHVnaW4gYWxpYXMgXCIke2NhY2hlS2V5fVwiIHJlc29sdmVzIHRvIFwiJHtwcmVSZXNvbHZlZC5uYW1lfVwiLCBub3QgXCIke3RhcmdldE5hbWV9XCIuIGBcbiAgICAgICAgKyAnRWFjaCBhbGlhcyBtdXN0IG5hbWUgZXhhY3RseSBvbmUgcGx1Z2luLicsXG4gICAgICApO1xuICAgIH1cbiAgICAvLyBBIHF1YWxpZmllZCByZWZlcmVuY2UgbXVzdCBoYXZlIHJlc29sdmVkIHRvIFRIQVQgcHVibGlzaGVyJ3MgbGlzdGluZ1xuICAgIC8vIChhbiB1bnF1YWxpZmllZCBvbmUgbWF5IHJlc29sdmUgdG8gdGhlIG9yZydzIG93biBwbHVnaW4gb3IgdGhlIE9mZmljaWFsXG4gICAgLy8gbGlzdGluZykuXG4gICAgaWYgKHByZVJlc29sdmVkICYmIHByb3BzLnB1Ymxpc2hlciAmJiBwcmVSZXNvbHZlZC5wdWJsaXNoZXIgIT09IHByb3BzLnB1Ymxpc2hlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgUGx1Z2luIGFsaWFzIFwiJHtjYWNoZUtleX1cIiByZXNvbHZlcyB0byAke3ByZVJlc29sdmVkLnB1Ymxpc2hlciA/IGAke3ByZVJlc29sdmVkLnB1Ymxpc2hlcn0vYCA6ICd5b3VyIG9yZ2FuaXphdGlvblxcJ3MgJ30ke3ByZVJlc29sdmVkLm5hbWV9LCBgXG4gICAgICAgICsgYG5vdCAke3Byb3BzLnB1Ymxpc2hlcn0vJHt0YXJnZXROYW1lfS4gRWFjaCBhbGlhcyBtdXN0IG5hbWUgZXhhY3RseSBvbmUgcGx1Z2luLmAsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAocHJlUmVzb2x2ZWQpIHtcbiAgICAgIGxvZy5kZWJ1ZyhgUGx1Z2luIFwiJHtwcm9wcy5uYW1lfVwiIHByZS1yZXNvbHZlZCAoYWxpYXM9JHtjYWNoZUtleX0pIOKAlCBza2lwcGluZyBjdXN0b20gcmVzb3VyY2VgKTtcbiAgICAgIHJldHVybiBwcmVSZXNvbHZlZDtcbiAgICB9XG5cbiAgICBjb25zdCBjdXN0b20gPSB0aGlzLmNyZWF0ZUN1c3RvbVJlc291cmNlKHByb3BzLCBzdGVwS2V5KTtcbiAgICBjb25zdCBlbmNvZGVkID0gY3VzdG9tLmdldEF0dFN0cmluZygnUmVzdWx0VmFsdWUnKTtcblxuICAgIGlmIChUb2tlbi5pc1VucmVzb2x2ZWQoZW5jb2RlZCkpIHtcbiAgICAgIGxvZy5kZWJ1ZyhgUGx1Z2luIFwiJHtwcm9wcy5uYW1lfVwiIHZhbHVlIGlzIHVucmVzb2x2ZWQgKHRva2VuKSBkdXJpbmcgc3ludGhlc2lzIOKAlCB1c2luZyBmYWxsYmFjay4gVGhlIGFjdHVhbCBwbHVnaW4gd2lsbCBiZSByZXNvbHZlZCBhdCBkZXBsb3ltZW50IHRpbWUuYCk7XG4gICAgICByZXR1cm4gdGhpcy5mYWxsYmFjaygpO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBkZWNvZGVkID0gQnVmZmVyLmZyb20oZW5jb2RlZCwgJ2Jhc2U2NCcpLnRvU3RyaW5nKCd1dGYtOCcpO1xuICAgICAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UoZGVjb2RlZCk7XG5cbiAgICAgIGlmICghZGF0YSB8fCB0eXBlb2YgZGF0YSAhPT0gJ29iamVjdCcgfHwgIWRhdGEubmFtZSB8fCAhQXJyYXkuaXNBcnJheShkYXRhLmNvbW1hbmRzKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgcGx1Z2luIHJlc3BvbnNlOiBtaXNzaW5nIHJlcXVpcmVkIGZpZWxkcyAobmFtZSwgY29tbWFuZHMpJyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBkYXRhIGFzIFBsdWdpbjtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc3QgZXJyb3JNc2cgPSBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJztcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIHBhcnNlIHBsdWdpbiBcIiR7cHJvcHMubmFtZX1cIiBkYXRhOiAke2Vycm9yTXNnfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIHRoZSBMYW1iZGEgZnVuY3Rpb24gdGhhdCBzZXJ2ZXMgYXMgdGhlIGV2ZW50IGhhbmRsZXIgZm9yIHRoZSBjdXN0b20gcmVzb3VyY2UgcHJvdmlkZXIuXG4gICAqXG4gICAqIEpXVCB0b2tlbiBpcyBzdG9yZWQgaW4gYSBwcmUtZXhpc3RpbmcgU2VjcmV0cyBNYW5hZ2VyIHNlY3JldCBhdFxuICAgKiBge1NFQ1JFVFNfUEFUSF9QUkVGSVh9L3tvcmdJZH0vcGxhdGZvcm1gLiBUaGUgTGFtYmRhIHJlc29sdmVzIHRoZVxuICAgKiBzZWNyZXQgYnkgbmFtZSBhdCBydW50aW1lIHVzaW5nIGBDb3JlQ29uc3RhbnRzLlNFQ1JFVFNfUEFUSF9QUkVGSVhgLlxuICAgKlxuICAgKiBDcmVhdGUgdGhlIHNlY3JldCBiZWZvcmUgZGVwbG95aW5nIHdpdGg6XG4gICAqICAgcGlwZWxpbmUtbWFuYWdlciBpbmZyYSBzdG9yZS10b2tlbiAtLWRheXMgMzAgLS1yZWdpb24gPHJlZ2lvbj5cbiAgICovXG4gIHByaXZhdGUgY3JlYXRlTGFtYmRhRnVuY3Rpb24oKTogRnVuY3Rpb24ge1xuICAgIGlmICghdGhpcy5fb3JnSWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignb3JnSWQgaXMgcmVxdWlyZWQgZm9yIFBsdWdpbkxvb2t1cCDigJQgbmVlZGVkIHRvIHJlc29sdmUgdGhlIHBlci1vcmcgcGxhdGZvcm0gc2VjcmV0Jyk7XG4gICAgfVxuICAgIGNvbnN0IHNlY3JldE5hbWUgPSBDb3JlQ29uc3RhbnRzLnNlY3JldFBhdGgodGhpcy5fb3JnSWQsICdwbGF0Zm9ybScpO1xuICAgIGNvbnN0IGNhQnVuZGxlID0gcGxhdGZvcm1DYUJ1bmRsZSgpO1xuXG4gICAgLy8gUFJFQlVJTFQgYXQgcmVsZWFzZSAoc2VlIGAucHJvamVucmMudHNgLCBwaXBlbGluZS1jb3JlIHBvc3QtY29tcGlsZSksIG5vdFxuICAgIC8vIGJ1aWx0IGhlcmUuXG4gICAgLy9cbiAgICAvLyBUaGlzIHdhcyBhIGBOb2RlanNGdW5jdGlvbmAsIHdoaWNoIGJ1bmRsZXMgd2l0aCBlc2J1aWxkIGR1cmluZyBzeW50aCBvblxuICAgIC8vIHdoaWNoZXZlciBtYWNoaW5lIHJ1bnMgdGhlIGRlcGxveSBhbmQgdGhlcmVmb3JlIHJlcXVpcmVzIGFcbiAgICAvLyBgZGVwc0xvY2tGaWxlUGF0aGAuIFRoZSBzdHViIGxvY2sgdGhhdCBzYXRpc2ZpZWQgaXQgd2FzIG5hbWVkXG4gICAgLy8gYHBucG0tbG9jay55YW1sYCwgYW5kIGBwbnBtIHBhY2tgIHN0cmlwcyBmaWxlcyBieSB0aGF0IG5hbWUg4oCUIHNvIG5vXG4gICAgLy8gcHVibGlzaGVkIGNvcHkgb2YgdGhlIENMSSBldmVyIGhhZCBpdCBhbmQgZXZlcnkgZGVwbG95IGRpZWQgYXQgc3ludGguXG4gICAgLy9cbiAgICAvLyBTaGlwcGluZyB0aGUgYnVuZGxlIGluc3RlYWQgY29zdHMgbm90aGluZyB0aGF0IHdhcyBiZWluZyB1c2VkOiB0aGVcbiAgICAvLyBidW5kbGluZyBvcHRpb25zIHdlcmUgYWxsIHN0YXRpYywgc28gZWFjaCBtYWNoaW5lIHdhcyByZWJ1aWxkaW5nIGFcbiAgICAvLyBieXRlLWlkZW50aWNhbCBhcnRpZmFjdC4gSXQgYWxzbyB0YWtlcyBlc2J1aWxkIG9mZiB0aGUgZGVwbG95IHBhdGhcbiAgICAvLyBlbnRpcmVseSwgd2hpY2ggaXMgd2hhdCB0aGUgQ29kZUJ1aWxkIGJvb3RzdHJhcCBpbWFnZSB3YXMgY2FycnlpbmcgaXQgZm9yLlxuICAgIGNvbnN0IGZuID0gbmV3IEZ1bmN0aW9uKHRoaXMsIHRoaXMuX3VuaXF1ZUlkLmdlbmVyYXRlKCdvbmV2ZW50OmhhbmRsZXInKSwge1xuICAgICAgcnVudGltZTogdGhpcy5fcnVudGltZSxcbiAgICAgIHRpbWVvdXQ6IHRoaXMuX3RpbWVvdXQsXG4gICAgICBtZW1vcnlTaXplOiB0aGlzLl9tZW1vcnlTaXplLFxuICAgICAgYXJjaGl0ZWN0dXJlOiB0aGlzLl9hcmNoaXRlY3R1cmUsXG4gICAgICBjb2RlOiBDb2RlLmZyb21Bc3NldChqb2luKE1PRFVMRV9ESVIsICcvLi4vaGFuZGxlcnMvYnVuZGxlJykpLFxuICAgICAgaGFuZGxlcjogJ2luZGV4LmhhbmRsZXInLFxuICAgICAgcmVzZXJ2ZWRDb25jdXJyZW50RXhlY3V0aW9uczogdGhpcy5fcmVzZXJ2ZWRDb25jdXJyZW50RXhlY3V0aW9ucyxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIFBMQVRGT1JNX1NFQ1JFVF9OQU1FOiBzZWNyZXROYW1lLFxuICAgICAgICAvLyBQTEFURk9STV9UTFNfVkVSSUZZPWZhbHNlOiBhIGRldiBwbGF0Zm9ybSBvbiBhIHNlbGYtc2lnbmVkIGNlcnRpZmljYXRlLlxuICAgICAgICAuLi4oIXBsYXRmb3JtVGxzVmVyaWZ5KCkgJiYge1xuICAgICAgICAgIE5PREVfVExTX1JFSkVDVF9VTkFVVEhPUklaRUQ6ICcwJyxcbiAgICAgICAgfSksXG4gICAgICAgIC8vIFByaXZhdGUtQ0EgcGxhdGZvcm06IHZlcmlmeSBhZ2FpbnN0IHRoZSBDQSBpbnN0ZWFkIChjb3JlL3BsYXRmb3JtLXRscy50cykuXG4gICAgICAgIC4uLihjYUJ1bmRsZSAmJiB7IFtQTEFURk9STV9DQV9CVU5ETEVfRU5WXTogY2FCdW5kbGUgfSksXG4gICAgICAgIC8vIFRoZSBsb29rdXAgcmVwb3J0cyBpdHMgd2FybmluZ3MgYWdhaW5zdCB0aGlzIHBpcGVsaW5lIChjb250cmFjdCBDMSkuXG4gICAgICAgIC4uLih0aGlzLl9waXBlbGluZUlkICYmIHsgUElQRUxJTkVfSUQ6IHRoaXMuX3BpcGVsaW5lSWQgfSksXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gR3JhbnQgdGhlIExhbWJkYSBwZXJtaXNzaW9uIHRvIHJlYWQgdGhlIHBlci1vcmcgcGxhdGZvcm0gc2VjcmV0LlxuICAgIC8vIFRoZSB3aWxkY2FyZCBzdWZmaXggaGFuZGxlcyB0aGUgNi1jaGFyIHJhbmRvbSBJRCB0aGF0IFNlY3JldHMgTWFuYWdlciBhcHBlbmRzLlxuICAgIGZuLmFkZFRvUm9sZVBvbGljeShuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIGVmZmVjdDogRWZmZWN0LkFMTE9XLFxuICAgICAgYWN0aW9uczogWydzZWNyZXRzbWFuYWdlcjpHZXRTZWNyZXRWYWx1ZSddLFxuICAgICAgcmVzb3VyY2VzOiBbYGFybjphd3M6c2VjcmV0c21hbmFnZXI6KjoqOnNlY3JldDoke3NlY3JldE5hbWV9LSpgXSxcbiAgICB9KSk7XG5cbiAgICByZXR1cm4gZm47XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgdGhlIGRlZmF1bHQgcGx1Z2luIGZpbHRlci5cbiAgICogQWNjZXNzIGNvbnRyb2wgKG9yZ0lkIHNjb3BpbmcsIHB1YmxpYy9wcml2YXRlIHZpc2liaWxpdHkpIGlzIGhhbmRsZWQgYnlcbiAgICogdGhlIHBsYXRmb3JtJ3MgYWNjZXNzIGNvbnRyb2wgcXVlcnkgYnVpbGRlciBiYXNlZCBvbiB0aGUgSldUJ3Mgb3JnYW5pemF0aW9uSWQuXG4gICAqL1xuICBwcml2YXRlIG5vcm1hbGl6ZShwbHVnaW46IHN0cmluZyB8IFBsdWdpbk9wdGlvbnMpOiBQbHVnaW5PcHRpb25zIHtcbiAgICBjb25zdCByZWY6IFBsdWdpbk9wdGlvbnMgPSB0eXBlb2YgcGx1Z2luID09PSAnc3RyaW5nJyA/IHsgbmFtZTogcGx1Z2luIH0gOiBwbHVnaW47XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IHJlZi5uYW1lLFxuICAgICAgLi4uKHJlZi5wdWJsaXNoZXIgPyB7IHB1Ymxpc2hlcjogcmVmLnB1Ymxpc2hlciB9IDoge30pLFxuICAgICAgLy8gVGhlIHJlc29sdmVyIGNhY2hlIGtleTogdGhlIGV4cGxpY2l0IGFsaWFzLCBlbHNlIGBbPHB1Ymxpc2hlcj4tXTxuYW1lPi1hbGlhc2AuXG4gICAgICBhbGlhczogcGx1Z2luQXJ0aWZhY3RBbGlhcyhyZWYpLFxuICAgICAgLy8gVGhlIHNhbWUgZmlsdGVyIHRoZSBDTEkgcHJlLXJlc29sdmVyIGFuZCB0aGUgcGlwZWxpbmUgc2VydmljZSdzXG4gICAgICAvLyBjb250cmFjdCBjaGVjayBzZW5kIChgcGx1Z2luTG9va3VwRmlsdGVyYCk6IG5hbWUgKyBwdWJsaXNoZXIsIHRoZW5cbiAgICAgIC8vIHRoZSByZWZlcmVuY2UncyBvd24gZmlsdGVyLCBlbHNlIHRoZSBkZWZhdWx0IHZlcnNpb24uXG4gICAgICBmaWx0ZXI6IHBsdWdpbkxvb2t1cEZpbHRlcih7IG5hbWU6IHJlZi5uYW1lLCBwdWJsaXNoZXI6IHJlZi5wdWJsaXNoZXIsIGZpbHRlcjogcmVmLmZpbHRlciBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZCB9KSBhcyBQbHVnaW5GaWx0ZXIsXG4gICAgICBtZXRhZGF0YTogcmVmLm1ldGFkYXRhLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIEN1c3RvbVJlc291cmNlIGluc3RhbmNlIHRoYXQgdHJpZ2dlcnMgcGx1Z2luIGxvb2t1cCBkdXJpbmcgZGVwbG95bWVudFxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVDdXN0b21SZXNvdXJjZShwcm9wczogUGx1Z2luT3B0aW9ucywgc3RlcEtleT86IHN0cmluZyk6IEN1c3RvbVJlc291cmNlIHtcbiAgICBjb25zdCByZXNvdXJjZUlkID0gdGhpcy5fdW5pcXVlSWQuZ2VuZXJhdGUocHJvcHMuYWxpYXMgfHwgcHJvcHMubmFtZSk7XG5cbiAgICByZXR1cm4gbmV3IEN1c3RvbVJlc291cmNlKHRoaXMsIHJlc291cmNlSWQsIHtcbiAgICAgIHNlcnZpY2VUb2tlbjogdGhpcy5fcHJvdmlkZXIuc2VydmljZVRva2VuLFxuICAgICAgcmVzb3VyY2VUeXBlOiAnQ3VzdG9tOjpQbHVnaW5Mb29rdXAnLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBiYXNlVVJMOiB0aGlzLl9wbGF0Zm9ybVVybCxcbiAgICAgICAgcGx1Z2luRmlsdGVyOiBwcm9wcy5maWx0ZXIsXG4gICAgICAgIC4uLihzdGVwS2V5ID8geyBzdGVwS2V5IH0gOiB7fSksXG4gICAgICB9IGFzIElucHV0UHJvcHMsXG4gICAgfSk7XG4gIH1cblxuICAvKiogQmFzZSBwbHVnaW4gc2hhcGUgd2l0aCBuby1vcCBkZWZhdWx0cyBmb3IgZmllbGRzIENESyBkb2Vzbid0IHVzZS4gKi9cbiAgcHJpdmF0ZSBzdGF0aWMgYmFzZVBsdWdpbigpOiBQbHVnaW4ge1xuICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiBQTEFDRUhPTERFUl9QTFVHSU5fSUQsXG4gICAgICBvcmdJZDogU1lTVEVNX09SR19JRCxcbiAgICAgIGNyZWF0ZWRCeTogJ3N5c3RlbScsXG4gICAgICBjcmVhdGVkQXQ6IG5vdyxcbiAgICAgIHVwZGF0ZWRCeTogJ3N5c3RlbScsXG4gICAgICB1cGRhdGVkQXQ6IG5vdyxcbiAgICAgIG5hbWU6ICdmYWxsYmFjaycsXG4gICAgICBkZXNjcmlwdGlvbjogbnVsbCxcbiAgICAgIGtleXdvcmRzOiBbXSxcbiAgICAgIGNhdGVnb3J5OiAndW5rbm93bicsXG4gICAgICB2ZXJzaW9uOiAnMS4wLjAnLFxuICAgICAgbWV0YWRhdGE6IHt9LFxuICAgICAgcGx1Z2luVHlwZTogJ0NvZGVCdWlsZFN0ZXAnLFxuICAgICAgY29tcHV0ZVR5cGU6ICdTTUFMTCcsXG4gICAgICB0aW1lb3V0OiBudWxsLFxuICAgICAgZmFpbHVyZUJlaGF2aW9yOiAnZmFpbCcsXG4gICAgICBzZWNyZXRzOiBbXSxcbiAgICAgIHByaW1hcnlPdXRwdXREaXJlY3Rvcnk6ICdjZGsub3V0JyxcbiAgICAgIGVudjoge30sXG4gICAgICBidWlsZEFyZ3M6IHt9LFxuICAgICAgaW5zdGFsbENvbW1hbmRzOiBbXSxcbiAgICAgIGNvbW1hbmRzOiBbXSxcbiAgICAgIGRvY2tlcmZpbGU6IG51bGwsXG4gICAgICBidWlsZFR5cGU6ICdtZXRhZGF0YV9vbmx5JyxcbiAgICAgIGltYWdlRGlnZXN0OiBudWxsLFxuICAgICAgaW1hZ2VTb3VyY2U6IG51bGwsXG4gICAgICBvd25lcklkOiBudWxsLFxuICAgICAgb3duZXJUeXBlOiBudWxsLFxuICAgICAgbGlmZWN5Y2xlOiAncHJvZHVjdGlvbicsXG4gICAgICBjcml0aWNhbGl0eTogbnVsbCxcbiAgICAgIGxhYmVsczoge30sXG4gICAgICBsaW5rczogW10sXG4gICAgICB2aXNpYmlsaXR5OiAncHVibGljJyxcbiAgICAgIGlzRGVmYXVsdDogZmFsc2UsXG4gICAgICBpc0FjdGl2ZTogdHJ1ZSxcbiAgICAgIGRlbGV0ZWRBdDogbnVsbCxcbiAgICAgIGRlbGV0ZWRCeTogbnVsbCxcbiAgICAgIHB1cmdlQWZ0ZXI6IG51bGwsXG4gICAgICBxdW90YVJlc2V0QXQ6IG51bGwsXG4gICAgICBzdW1tYXJ5OiBudWxsLFxuICAgICAgZGlzcGxheU5hbWU6IG51bGwsXG4gICAgICBkb2N1bWVudGF0aW9uVXJsOiBudWxsLFxuICAgICAgbWV0YWRhdGFTb3VyY2VzOiB7fSxcbiAgICAgIHJlcXVpcmVkTWV0YWRhdGE6IFtdLFxuICAgICAgcmVxdWlyZWRWYXJzOiBbXSxcbiAgICAgIG1ldGFkYXRhVHlwZXM6IHt9LFxuICAgICAgdmFyc1R5cGVzOiB7fSxcbiAgICAgIHNtb2tlVGVzdDogbnVsbCxcbiAgICAgIG5ldHdvcmtFZ3Jlc3M6IFtdLFxuICAgICAgcmVhZG1lTWQ6IG51bGwsXG4gICAgICByZWFkbWVIdG1sOiBudWxsLFxuICAgICAgbGljZW5zZTogbnVsbCxcbiAgICAgIGNoYW5nZWxvZzogbnVsbCxcbiAgICAgIGhvbWVwYWdlVXJsOiBudWxsLFxuICAgICAgc291cmNlVXJsOiBudWxsLFxuICAgICAgaWNvbjogbnVsbCxcbiAgICAgIHVwbG9hZGVkSWNvbjogbnVsbCxcbiAgICAgIHZ1bG5Dcml0aWNhbDogbnVsbCxcbiAgICAgIHZ1bG5IaWdoOiBudWxsLFxuICAgICAgdnVsbk1lZGl1bTogbnVsbCxcbiAgICAgIHZ1bG5Mb3c6IG51bGwsXG4gICAgICB2dWxuQ3JpdGljYWxGaXhhYmxlOiBudWxsLFxuICAgICAgdnVsbkhpZ2hGaXhhYmxlOiBudWxsLFxuICAgICAgc2Nhbm5lZEF0OiBudWxsLFxuICAgICAgc2NhblN1bW1hcnk6IG51bGwsXG4gICAgICBzY2FuRmxhZ2dlZEF0OiBudWxsLFxuICAgICAgc2NhbkZsYWc6IG51bGwsXG4gICAgICBydW5Bc1Jvb3Q6IG51bGwsXG4gICAgICBicmVha2luZzogZmFsc2UsXG4gICAgICBmcm96ZW5BdDogbnVsbCxcbiAgICAgIHlhbmtlZEF0OiBudWxsLFxuICAgICAgeWFua1JlYXNvbjogbnVsbCxcbiAgICAgIGRlcHJlY2F0ZWRBdDogbnVsbCxcbiAgICAgIGRlcHJlY2F0aW9uTWVzc2FnZTogbnVsbCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEZhbGxiYWNrIGZvciBhIHBsdWdpbiB3aG9zZSBsb29rdXAgcmV0dXJuZWQgbm8gcmVjb3JkIChub3QgaW4gdGhlIHBsYXRmb3JtXG4gICAqIGNhdGFsb2cgZm9yIHRoaXMgb3JnKSBhbmQgc28gY291bGQgbm90IGJlIHByZS1yZXNvbHZlZCBhdCBzeW50aC5cbiAgICpcbiAgICogVGhpcyBzdGVwIEZBSUxTIHRoZSBidWlsZCAoZXhpdCAxKSBvbiBwdXJwb3NlLiBUaGUgcHJldmlvdXMgYmVoYXZpb3VyIOKAlFxuICAgKiBgZWNobyBcIuKAplwiICYmIGV4aXQgMGAg4oCUIHdhcyBhIGZhbHNlIHBvc2l0aXZlOiBhbiB1bnJlc29sdmVkIHNlY3VyaXR5L3F1YWxpdHlcbiAgICogc3RlcCAoZGVwZW5kZW5jeS1jaGVjaywgc2VtZ3JlcCwgc3BvdGJ1Z3MsIOKApikgcmVwb3J0ZWQgdGhlIHN0YWdlIGdyZWVuIHdoaWxlXG4gICAqIHJ1bm5pbmcgbm90aGluZywgZ2l2aW5nIGZhbHNlIGFzc3VyYW5jZSB0aGF0IHNjYW5zL2J1aWxkcyBoYWQgcGFzc2VkLiBBXG4gICAqIHBsdWdpbiBzdGVwIHRoYXQgY2FuJ3QgcnVuIGl0cyBwbHVnaW4gbXVzdCBnbyByZWQsIGNvbnNpc3RlbnQgd2l0aFxuICAgKiBgYmFzZVBsdWdpbigpLmZhaWx1cmVCZWhhdmlvciA9PT0gJ2ZhaWwnYC4gVGhlIG1lc3NhZ2UgaXMgYWN0aW9uYWJsZSBzbyB0aGVcbiAgICogb3BlcmF0b3Iga25vd3MgdGhlIGNhdGFsb2cgaXMgZW1wdHkvaW5jb21wbGV0ZSwgbm90IHRoYXQgdGhlIHRvb2wgY3Jhc2hlZC5cbiAgICovXG4gIHByaXZhdGUgZmFsbGJhY2soKTogUGx1Z2luIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uUGx1Z2luTG9va3VwLmJhc2VQbHVnaW4oKSxcbiAgICAgIGNvbW1hbmRzOiBbXG4gICAgICAgICdlY2hvIFwiRVJST1I6IHBsdWdpbiBsb29rdXAgcmV0dXJuZWQgbm8gcmVjb3JkIOKAlCB0aGlzIHBsdWdpbiBpcyBub3QgaW4gdGhlIHBsYXRmb3JtIGNhdGFsb2cgZm9yIHRoaXMgb3JnLCBzbyB0aGUgc3RlcCBjYW5ub3QgcnVuLlwiID4mMicsXG4gICAgICAgICdlY2hvIFwiVGhpcyBzdGVwIGZhaWxzIGluc3RlYWQgb2YgcGFzc2luZyBhcyBhIG5vLW9wIChhbiB1bnJlc29sdmVkIHBsdWdpbiByZXBvcnRpbmcgc3VjY2VzcyB3b3VsZCBiZSBhIGZhbHNlLXBvc2l0aXZlIGdyZWVuKS5cIiA+JjInLFxuICAgICAgICAnZWNobyBcIkZpeDogbG9hZCB0aGUgcGx1Z2luIGludG8gdGhlIHBsYXRmb3JtIChkZXBsb3kvYmluL2xvYWQtcGx1Z2lucy5zaCksIHRoZW4gcmUtcnVuIHRoZSBwaXBlbGluZS5cIiA+JjInLFxuICAgICAgICAnZXhpdCAxJyxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTeW50aCBwbHVnaW4gd2l0aCBwaXBlbGluZS1tYW5hZ2VyIGNvbW1hbmRzLiBDb2xkLXN0YXJ0IGJvb3RzdHJhcCBmb3JcbiAgICogdGhlIHN5bnRoIHN0ZXAgd2hlbiBwcmUtcmVzb2x1dGlvbiBieSBgcGlwZWxpbmUtbWFuYWdlciBwaXBlbGluZSBzeW50aC9kZXBsb3lgXG4gICAqIGRpZG4ndCBwb3B1bGF0ZSBgcmVzb2x2ZWRQbHVnaW5zYCBmb3IgdGhlIHN5bnRoIHBsdWdpbi4gUnVucyBvbiB0aGVcbiAgICogcmVzb2x2ZWQgdG9vbGNoYWluIHJlbGVhc2UncyBgcGlwZWxpbmUtYm9vdHN0cmFwYCBpbWFnZSAodGhlIHBpcGVsaW5lJ3NcbiAgICogYHJlc29sdmVkQm9vdHN0cmFwYCwgcGlubmVkIGJ5IGRpZ2VzdCkgYW5kIHNlbGYtYm9vdHN0cmFwcyB0aGUgcmVhbCBzeW50aFxuICAgKiB2aWEgYHBpcGVsaW5lLW1hbmFnZXIgcGlwZWxpbmUgc3ludGggLS1pZCAke1BJUEVMSU5FX0lEfWAuXG4gICAqXG4gICAqIE5vIGBpbnN0YWxsQ29tbWFuZHNgOiB0aGUgYm9vdHN0cmFwIGltYWdlIGhhcyB0aGUgcmVsZWFzZSdzIHBpbm5lZFxuICAgKiBgcGlwZWxpbmUtbWFuYWdlcmAgYmFrZWQgaW4g4oCUIHRoYXQgaXMgd2hhdCB0aGUgaW1hZ2UgaXMgZm9yLlxuICAgKlxuICAgKiBUTFMgaXMgVkVSSUZJRUQgYnkgZGVmYXVsdDogdGhpcyBsb29rdXAgcmV0dXJucyB0aGUgaW1hZ2UgZGlnZXN0cyBldmVyeVxuICAgKiBzdGVwIGlzIHBpbm5lZCB0bywgc28gYW4gdW52ZXJpZmllZCBjb25uZWN0aW9uIHdvdWxkIGxldCBhIE1JVE0gY2hvb3NlIHdoYXRcbiAgICogcnVucy4gQSBwcml2YXRlLUNBIHBsYXRmb3JtIGlzIHRydXN0ZWQgdGhyb3VnaCBgUExBVEZPUk1fQ0FfQlVORExFYCwgd2hpY2hcbiAgICogdGhlIHN5bnRoIHByb3BhZ2F0ZXMgaW50byBldmVyeSBDb2RlQnVpbGQgc3RlcC4gT25seSBhbiBleHBsaWNpdFxuICAgKiBgUExBVEZPUk1fVExTX1ZFUklGWT1mYWxzZWAgYXQgc3ludGggdGltZSAoYSBkZXYgcGxhdGZvcm0gb24gYSBzZWxmLXNpZ25lZFxuICAgKiBjZXJ0aWZpY2F0ZSkgYWRkcyBgLS1uby12ZXJpZnktc3NsYCDigJQgYW5kIHRoZSBDTEkgcmVmdXNlcyB0aGF0IGluXG4gICAqIHByb2R1Y3Rpb24uIFNlZSBjb3JlL3BsYXRmb3JtLXRscy50cy5cbiAgICovXG4gIHB1YmxpYyBib290c3RyYXAoKTogUGx1Z2luIHtcbiAgICBjb25zdCB0bHNGbGFnID0gcGxhdGZvcm1UbHNWZXJpZnkoKSA/ICcnIDogJyAtLW5vLXZlcmlmeS1zc2wnO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5QbHVnaW5Mb29rdXAuYmFzZVBsdWdpbigpLFxuICAgICAgbmFtZTogTUFOQUdFRF9UT09MQ0hBSU4uc3ludGgsXG4gICAgICBwcmltYXJ5T3V0cHV0RGlyZWN0b3J5OiAnY2RrLm91dCcsXG4gICAgICBjb21tYW5kczogW1xuICAgICAgICBgcGlwZWxpbmUtbWFuYWdlciBwaXBlbGluZSBzeW50aCAtLWlkIFxcJHtQSVBFTElORV9JRH0gLS1zdG9yZS10b2tlbnMgLS1xdWlldCAtLW5vLW5vdGljZXMke3Rsc0ZsYWd9YCxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufVxuIl19
|
package/lib/testing/exports.json
CHANGED
package/package.json
CHANGED
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
"constructs": "^10.5.0"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@pipeline-builder/api-core": "5.2.
|
|
35
|
-
"@pipeline-builder/pipeline-data": "4.3.
|
|
34
|
+
"@pipeline-builder/api-core": "5.2.12",
|
|
35
|
+
"@pipeline-builder/pipeline-data": "4.3.13",
|
|
36
36
|
"axios": "1.21.1"
|
|
37
37
|
},
|
|
38
38
|
"keywords": [
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
]
|
|
101
101
|
}
|
|
102
102
|
},
|
|
103
|
-
"version": "4.4.
|
|
103
|
+
"version": "4.4.13",
|
|
104
104
|
"bugs": {
|
|
105
105
|
"url": "https://github.com/mwashburn160/pipeline-builder/issues"
|
|
106
106
|
},
|