aws-cdk 2.1003.0 → 2.1005.0
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/build-info.json +2 -2
- package/lib/api/aws-auth/account-cache.d.ts +1 -1
- package/lib/api/aws-auth/account-cache.js +1 -1
- package/lib/api/aws-auth/awscli-compatible.d.ts +1 -1
- package/lib/api/aws-auth/awscli-compatible.js +1 -1
- package/lib/api/aws-auth/credential-plugins.d.ts +1 -1
- package/lib/api/aws-auth/credential-plugins.js +1 -1
- package/lib/api/aws-auth/provider-caching.d.ts +1 -1
- package/lib/api/aws-auth/provider-caching.js +1 -1
- package/lib/api/aws-auth/sdk-logger.d.ts +4 -4
- package/lib/api/aws-auth/sdk-logger.js +5 -10
- package/lib/api/aws-auth/sdk-provider.d.ts +4 -4
- package/lib/api/aws-auth/sdk-provider.js +1 -1
- package/lib/api/aws-auth/sdk.d.ts +12 -12
- package/lib/api/aws-auth/sdk.js +1 -1
- package/lib/api/bootstrap/bootstrap-environment.d.ts +4 -4
- package/lib/api/bootstrap/bootstrap-environment.js +9 -9
- package/lib/api/bootstrap/bootstrap-props.d.ts +3 -3
- package/lib/api/bootstrap/bootstrap-props.js +1 -1
- package/lib/api/bootstrap/deploy-bootstrap.d.ts +7 -7
- package/lib/api/bootstrap/deploy-bootstrap.js +11 -11
- package/lib/api/bootstrap/legacy-template.d.ts +1 -1
- package/lib/api/bootstrap/legacy-template.js +1 -1
- package/lib/api/cxapp/cloud-assembly.d.ts +1 -16
- package/lib/api/cxapp/cloud-assembly.js +3 -3
- package/lib/api/cxapp/cloud-executable.d.ts +3 -3
- package/lib/api/cxapp/cloud-executable.js +1 -1
- package/lib/api/cxapp/environments.d.ts +3 -3
- package/lib/api/cxapp/environments.js +1 -1
- package/lib/api/cxapp/exec.d.ts +4 -4
- package/lib/api/cxapp/exec.js +1 -1
- package/lib/api/deployments/asset-publishing.d.ts +6 -6
- package/lib/api/deployments/asset-publishing.js +7 -8
- package/lib/api/deployments/assets.d.ts +4 -4
- package/lib/api/deployments/assets.js +9 -9
- package/lib/api/deployments/checks.d.ts +3 -3
- package/lib/api/deployments/checks.js +4 -4
- package/lib/api/deployments/cloudformation.d.ts +8 -8
- package/lib/api/deployments/cloudformation.js +27 -27
- package/lib/api/deployments/deploy-stack.d.ts +8 -8
- package/lib/api/deployments/deploy-stack.js +53 -56
- package/lib/api/deployments/deployments.d.ts +14 -10
- package/lib/api/deployments/deployments.js +22 -24
- package/lib/api/deployments/hotswap-deployments.d.ts +7 -5
- package/lib/api/deployments/hotswap-deployments.js +52 -27
- package/lib/api/environment/environment-access.d.ts +8 -9
- package/lib/api/environment/environment-access.js +6 -7
- package/lib/api/environment/environment-resources.d.ts +5 -5
- package/lib/api/environment/environment-resources.js +12 -12
- package/lib/api/evaluate-cloudformation-template.d.ts +7 -2
- package/lib/api/evaluate-cloudformation-template.js +11 -5
- package/lib/api/garbage-collection/garbage-collector.d.ts +6 -7
- package/lib/api/garbage-collection/garbage-collector.js +38 -39
- package/lib/api/garbage-collection/progress-printer.d.ts +4 -5
- package/lib/api/garbage-collection/progress-printer.js +5 -6
- package/lib/api/garbage-collection/stack-refresh.d.ts +4 -4
- package/lib/api/garbage-collection/stack-refresh.js +7 -7
- package/lib/api/hotswap/appsync-mapping-templates.d.ts +3 -2
- package/lib/api/hotswap/appsync-mapping-templates.js +8 -6
- package/lib/api/hotswap/code-build-projects.d.ts +3 -2
- package/lib/api/hotswap/code-build-projects.js +8 -6
- package/lib/api/hotswap/common.d.ts +45 -34
- package/lib/api/hotswap/common.js +2 -14
- package/lib/api/hotswap/ecs-services.d.ts +3 -2
- package/lib/api/hotswap/ecs-services.js +7 -5
- package/lib/api/hotswap/lambda-functions.d.ts +3 -2
- package/lib/api/hotswap/lambda-functions.js +47 -65
- package/lib/api/hotswap/s3-bucket-deployments.d.ts +4 -8
- package/lib/api/hotswap/s3-bucket-deployments.js +18 -17
- package/lib/api/hotswap/stepfunctions-state-machines.d.ts +3 -2
- package/lib/api/hotswap/stepfunctions-state-machines.js +8 -6
- package/lib/api/logs/find-cloudwatch-logs.d.ts +2 -2
- package/lib/api/logs/find-cloudwatch-logs.js +6 -7
- package/lib/api/logs/logs-monitor.d.ts +28 -5
- package/lib/api/logs/logs-monitor.js +51 -30
- package/lib/api/resource-import/importer.d.ts +6 -8
- package/lib/api/resource-import/importer.js +12 -13
- package/lib/api/resource-import/migrator.d.ts +5 -7
- package/lib/api/resource-import/migrator.js +7 -9
- package/lib/api/stack-events/stack-activity-monitor.d.ts +5 -64
- package/lib/api/stack-events/stack-activity-monitor.js +9 -30
- package/lib/api/stack-events/stack-progress-monitor.d.ts +2 -15
- package/lib/api/stack-events/stack-progress-monitor.js +1 -1
- package/lib/api/toolkit-info.d.ts +3 -3
- package/lib/api/toolkit-info.js +5 -5
- package/lib/api/util/template-body-parameter.d.ts +1 -1
- package/lib/api/util/template-body-parameter.js +1 -1
- package/lib/api/work-graph/work-graph-builder.d.ts +4 -5
- package/lib/api/work-graph/work-graph-builder.js +5 -6
- package/lib/api/work-graph/work-graph-types.d.ts +2 -2
- package/lib/api/work-graph/work-graph-types.js +1 -1
- package/lib/api/work-graph/work-graph.d.ts +4 -9
- package/lib/api/work-graph/work-graph.js +6 -7
- package/lib/cli/activity-printer/base.d.ts +5 -6
- package/lib/cli/activity-printer/base.js +6 -5
- package/lib/cli/activity-printer/current.d.ts +2 -1
- package/lib/cli/activity-printer/current.js +1 -1
- package/lib/cli/activity-printer/history.d.ts +3 -2
- package/lib/cli/activity-printer/history.js +1 -1
- package/lib/cli/cdk-toolkit.d.ts +7 -7
- package/lib/cli/cdk-toolkit.js +26 -22
- package/lib/cli/ci-systems.d.ts +29 -0
- package/lib/cli/ci-systems.js +62 -0
- package/lib/cli/cli.d.ts +1 -1
- package/lib/cli/cli.js +27 -8
- package/lib/cli/convert-to-user-input.js +1 -1
- package/lib/cli/messages.d.ts +11 -9
- package/lib/cli/messages.js +7 -14
- package/lib/cli/parse-command-line-arguments.js +1 -1
- package/lib/cli/user-configuration.js +1 -1
- package/lib/cli/user-input.js +1 -1
- package/lib/commands/context.d.ts +1 -1
- package/lib/commands/context.js +1 -1
- package/lib/commands/migrate.d.ts +1 -1
- package/lib/commands/migrate.js +1 -1
- package/lib/context-providers/ami.d.ts +1 -1
- package/lib/context-providers/ami.js +1 -1
- package/lib/context-providers/availability-zones.d.ts +1 -1
- package/lib/context-providers/availability-zones.js +1 -1
- package/lib/context-providers/cc-api-provider.d.ts +1 -1
- package/lib/context-providers/cc-api-provider.js +1 -1
- package/lib/context-providers/endpoint-service-availability-zones.d.ts +1 -1
- package/lib/context-providers/endpoint-service-availability-zones.js +1 -1
- package/lib/context-providers/hosted-zones.d.ts +2 -2
- package/lib/context-providers/hosted-zones.js +1 -1
- package/lib/context-providers/index.d.ts +3 -3
- package/lib/context-providers/index.js +1 -1
- package/lib/context-providers/keys.d.ts +1 -1
- package/lib/context-providers/keys.js +1 -1
- package/lib/context-providers/load-balancers.d.ts +3 -3
- package/lib/context-providers/load-balancers.js +1 -1
- package/lib/context-providers/ssm-parameters.d.ts +1 -1
- package/lib/context-providers/ssm-parameters.js +1 -1
- package/lib/context-providers/vpcs.d.ts +1 -1
- package/lib/context-providers/vpcs.js +1 -1
- package/lib/diff.d.ts +1 -1
- package/lib/diff.js +1 -1
- package/lib/index.js +8764 -7741
- package/lib/legacy-logging-source.js +1 -1
- package/lib/list-stacks.d.ts +2 -2
- package/lib/list-stacks.js +1 -1
- package/lib/logging.d.ts +6 -4
- package/lib/logging.js +37 -34
- package/lib/notices.d.ts +22 -18
- package/lib/notices.js +46 -46
- package/lib/toolkit/cli-io-host.d.ts +53 -126
- package/lib/toolkit/cli-io-host.js +77 -78
- package/lib/tree.d.ts +1 -1
- package/lib/tree.js +1 -1
- package/package.json +4 -12
|
@@ -108,4 +108,4 @@ const availableContextProviders = {
|
|
|
108
108
|
[cxschema.ContextProvider.KEY_PROVIDER]: (s) => new keys_1.KeyContextProviderPlugin(s),
|
|
109
109
|
[cxschema.ContextProvider.CC_API_PROVIDER]: (s) => new cc_api_provider_1.CcApiContextProviderPlugin(s),
|
|
110
110
|
};
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQTZCQSxvREFvREM7QUFPRCwwREFFQztBQU9ELHNFQUVDO0FBT0Qsd0VBRUM7QUE1R0QsMkRBQTJEO0FBQzNELHlDQUF5QztBQUN6QywrQkFBaUQ7QUFDakQsNkRBQStEO0FBQy9ELHVEQUErRDtBQUMvRCwrRkFBK0Y7QUFDL0YsaURBQWlFO0FBQ2pFLGlDQUFrRDtBQUNsRCxxREFBZ0g7QUFDaEgsdURBQXVFO0FBQ3ZFLHFEQUE0RDtBQUM1RCxpQ0FBeUQ7QUFFekQsNENBQWdFO0FBQ2hFLDBDQUEyQztBQUUzQywyREFBa0U7QUFDbEUsd0NBQW1DO0FBQ25DLDRDQUF3RDtBQUN4RCxrQ0FBNkM7QUFLN0MsTUFBTSxzQkFBc0IsR0FBRyxRQUFRLENBQUM7QUFFeEM7O0dBRUc7QUFDSSxLQUFLLFVBQVUsb0JBQW9CLENBQ3hDLGFBQXdDLEVBQ3hDLE9BQWdCLEVBQ2hCLEdBQWdCO0lBQ2hCLEtBQUssTUFBTSxjQUFjLElBQUksYUFBYSxFQUFFLENBQUM7UUFDM0MsTUFBTSxHQUFHLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQztRQUUvQixNQUFNLFlBQVksR0FBRyxjQUFjLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxlQUFlLENBQUMsTUFBTTtZQUM5RSxDQUFDLENBQUMsR0FBRyxzQkFBc0IsSUFBSyxjQUFjLENBQUMsS0FBcUMsQ0FBQyxVQUFVLEVBQUU7WUFDakcsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUM7UUFFNUIsSUFBSSxPQUFPLENBQUM7UUFDWixJQUFJLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxzQkFBc0IsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMxRCxNQUFNLE1BQU0sR0FBRyxtQkFBVSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLE1BQU0s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SUFDbkgsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLCtCQUF3QixDQUFDLENBQUMsQ0FBQztJQUMvRSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksNENBQTBCLENBQUMsQ0FBQyxDQUFDO0NBQ3JGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjeHNjaGVtYSBmcm9tICdAYXdzLWNkay9jbG91ZC1hc3NlbWJseS1zY2hlbWEnO1xuaW1wb3J0ICogYXMgY3hhcGkgZnJvbSAnQGF3cy1jZGsvY3gtYXBpJztcbmltcG9ydCB7IEFtaUNvbnRleHRQcm92aWRlclBsdWdpbiB9IGZyb20gJy4vYW1pJztcbmltcG9ydCB7IEFaQ29udGV4dFByb3ZpZGVyUGx1Z2luIH0gZnJvbSAnLi9hdmFpbGFiaWxpdHktem9uZXMnO1xuaW1wb3J0IHsgQ2NBcGlDb250ZXh0UHJvdmlkZXJQbHVnaW4gfSBmcm9tICcuL2NjLWFwaS1wcm92aWRlcic7XG5pbXBvcnQgeyBFbmRwb2ludFNlcnZpY2VBWkNvbnRleHRQcm92aWRlclBsdWdpbiB9IGZyb20gJy4vZW5kcG9pbnQtc2VydmljZS1hdmFpbGFiaWxpdHktem9uZXMnO1xuaW1wb3J0IHsgSG9zdGVkWm9uZUNvbnRleHRQcm92aWRlclBsdWdpbiB9IGZyb20gJy4vaG9zdGVkLXpvbmVzJztcbmltcG9ydCB7IEtleUNvbnRleHRQcm92aWRlclBsdWdpbiB9IGZyb20gJy4va2V5cyc7XG5pbXBvcnQgeyBMb2FkQmFsYW5jZXJDb250ZXh0UHJvdmlkZXJQbHVnaW4sIExvYWRCYWxhbmNlckxpc3RlbmVyQ29udGV4dFByb3ZpZGVyUGx1Z2luIH0gZnJvbSAnLi9sb2FkLWJhbGFuY2Vycyc7XG5pbXBvcnQgeyBTZWN1cml0eUdyb3VwQ29udGV4dFByb3ZpZGVyUGx1Z2luIH0gZnJvbSAnLi9zZWN1cml0eS1ncm91cHMnO1xuaW1wb3J0IHsgU1NNQ29udGV4dFByb3ZpZGVyUGx1Z2luIH0gZnJvbSAnLi9zc20tcGFyYW1ldGVycyc7XG5pbXBvcnQgeyBWcGNOZXR3b3JrQ29udGV4dFByb3ZpZGVyUGx1Z2luIH0gZnJvbSAnLi92cGNzJztcbmltcG9ydCB7IFNka1Byb3ZpZGVyIH0gZnJvbSAnLi4vYXBpJztcbmltcG9ydCB7IENvbnRleHQsIFRSQU5TSUVOVF9DT05URVhUX0tFWSB9IGZyb20gJy4uL2FwaS9jb250ZXh0JztcbmltcG9ydCB7IFBsdWdpbkhvc3QgfSBmcm9tICcuLi9hcGkvcGx1Z2luJztcbmltcG9ydCB7IENvbnRleHRQcm92aWRlclBsdWdpbiB9IGZyb20gJy4uL2FwaS9wbHVnaW4vY29udGV4dC1wcm92aWRlci1wbHVnaW4nO1xuaW1wb3J0IHsgcmVwbGFjZUVudlBsYWNlaG9sZGVycyB9IGZyb20gJy4uL2FwaS91dGlsL3BsYWNlaG9sZGVycyc7XG5pbXBvcnQgeyBkZWJ1ZyB9IGZyb20gJy4uL2xvZ2dpbmcnO1xuaW1wb3J0IHsgQ29udGV4dFByb3ZpZGVyRXJyb3IgfSBmcm9tICcuLi90b29sa2l0L2Vycm9yJztcbmltcG9ydCB7IGZvcm1hdEVycm9yTWVzc2FnZSB9IGZyb20gJy4uL3V0aWwnO1xuXG5leHBvcnQgdHlwZSBDb250ZXh0UHJvdmlkZXJGYWN0b3J5ID0gKChzZGs6IFNka1Byb3ZpZGVyKSA9PiBDb250ZXh0UHJvdmlkZXJQbHVnaW4pO1xuZXhwb3J0IHR5cGUgUHJvdmlkZXJNYXAgPSB7W25hbWU6IHN0cmluZ106IENvbnRleHRQcm92aWRlckZhY3Rvcnl9O1xuXG5jb25zdCBQTFVHSU5fUFJPVklERVJfUFJFRklYID0gJ3BsdWdpbic7XG5cbi8qKlxuICogSXRlcmF0ZSBvdmVyIHRoZSBsaXN0IG9mIG1pc3NpbmcgY29udGV4dCB2YWx1ZXMgYW5kIGludm9rZSB0aGUgYXBwcm9wcmlhdGUgcHJvdmlkZXJzIGZyb20gdGhlIG1hcCB0byByZXRyaWV2ZSB0aGVtXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcm92aWRlQ29udGV4dFZhbHVlcyhcbiAgbWlzc2luZ1ZhbHVlczogY3hzY2hlbWEuTWlzc2luZ0NvbnRleHRbXSxcbiAgY29udGV4dDogQ29udGV4dCxcbiAgc2RrOiBTZGtQcm92aWRlcikge1xuICBmb3IgKGNvbnN0IG1pc3NpbmdDb250ZXh0IG9mIG1pc3NpbmdWYWx1ZXMpIHtcbiAgICBjb25zdCBrZXkgPSBtaXNzaW5nQ29udGV4dC5rZXk7XG5cbiAgICBjb25zdCBwcm92aWRlck5hbWUgPSBtaXNzaW5nQ29udGV4dC5wcm92aWRlciA9PT0gY3hzY2hlbWEuQ29udGV4dFByb3ZpZGVyLlBMVUdJTlxuICAgICAgPyBgJHtQTFVHSU5fUFJPVklERVJfUFJFRklYfTokeyhtaXNzaW5nQ29udGV4dC5wcm9wcyBhcyBjeHNjaGVtYS5QbHVnaW5Db250ZXh0UXVlcnkpLnBsdWdpbk5hbWV9YFxuICAgICAgOiBtaXNzaW5nQ29udGV4dC5wcm92aWRlcjtcblxuICAgIGxldCBmYWN0b3J5O1xuICAgIGlmIChwcm92aWRlck5hbWUuc3RhcnRzV2l0aChgJHtQTFVHSU5fUFJPVklERVJfUFJFRklYfTpgKSkge1xuICAgICAgY29uc3QgcGx1Z2luID0gUGx1Z2luSG9zdC5pbnN0YW5jZS5jb250ZXh0UHJvdmlkZXJQbHVnaW5zW3Byb3ZpZGVyTmFtZS5zdWJzdHJpbmcoUExVR0lOX1BST1ZJREVSX1BSRUZJWC5sZW5ndGggKyAxKV07XG4gICAgICBpZiAoIXBsdWdpbikge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuICAgICAgICB0aHJvdyBuZXcgQ29udGV4dFByb3ZpZGVyRXJyb3IoYFVucmVjb2duaXplZCBwbHVnaW4gY29udGV4dCBwcm92aWRlciBuYW1lOiAke21pc3NpbmdDb250ZXh0LnByb3ZpZGVyfS5gKTtcbiAgICAgIH1cbiAgICAgIGZhY3RvcnkgPSAoKSA9PiBwbHVnaW47XG4gICAgfSBlbHNlIHtcbiAgICAgIGZhY3RvcnkgPSBhdmFpbGFibGVDb250ZXh0UHJvdmlkZXJzW3Byb3ZpZGVyTmFtZV07XG4gICAgICBpZiAoIWZhY3RvcnkpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbiAgICAgICAgdGhyb3cgbmV3IENvbnRleHRQcm92aWRlckVycm9yKGBVbnJlY29nbml6ZWQgY29udGV4dCBwcm92aWRlciBuYW1lOiAke21pc3NpbmdDb250ZXh0LnByb3ZpZGVyfS4gWW91IG1pZ2h0IG5lZWQgdG8gdXBkYXRlIHRoZSB0b29sa2l0IHRvIG1hdGNoIHRoZSB2ZXJzaW9uIG9mIHRoZSBjb25zdHJ1Y3QgbGlicmFyeS5gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBwcm92aWRlciA9IGZhY3Rvcnkoc2RrKTtcblxuICAgIGxldCB2YWx1ZTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZW52aXJvbm1lbnQgPSBtaXNzaW5nQ29udGV4dC5wcm9wcy5hY2NvdW50ICYmIG1pc3NpbmdDb250ZXh0LnByb3BzLnJlZ2lvblxuICAgICAgICA/IGN4YXBpLkVudmlyb25tZW50VXRpbHMubWFrZShtaXNzaW5nQ29udGV4dC5wcm9wcy5hY2NvdW50LCBtaXNzaW5nQ29udGV4dC5wcm9wcy5yZWdpb24pXG4gICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgICBjb25zdCByZXNvbHZlZEVudmlyb25tZW50OiBjeGFwaS5FbnZpcm9ubWVudCA9IGVudmlyb25tZW50XG4gICAgICAgID8gYXdhaXQgc2RrLnJlc29sdmVFbnZpcm9ubWVudChlbnZpcm9ubWVudClcbiAgICAgICAgOiB7IGFjY291bnQ6ICc/JywgcmVnaW9uOiAnPycsIG5hbWU6ICc/JyB9O1xuXG4gICAgICBjb25zdCBhcm5zID0gYXdhaXQgcmVwbGFjZUVudlBsYWNlaG9sZGVycyh7XG4gICAgICAgIGxvb2t1cFJvbGVBcm46IG1pc3NpbmdDb250ZXh0LnByb3BzLmxvb2t1cFJvbGVBcm4sXG4gICAgICB9LCByZXNvbHZlZEVudmlyb25tZW50LCBzZGspO1xuXG4gICAgICB2YWx1ZSA9IGF3YWl0IHByb3ZpZGVyLmdldFZhbHVlKHsgLi4ubWlzc2luZ0NvbnRleHQucHJvcHMsIGxvb2t1cFJvbGVBcm46IGFybnMubG9va3VwUm9sZUFybiB9KTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIC8vIFNldCBhIHNwZWNpYWxseSBmb3JtYXR0ZWQgcHJvdmlkZXIgdmFsdWUgd2hpY2ggd2lsbCBiZSBpbnRlcnByZXRlZFxuICAgICAgLy8gYXMgYSBsb29rdXAgZmFpbHVyZSBpbiB0aGUgdG9vbGtpdC5cbiAgICAgIHZhbHVlID0geyBbY3hhcGkuUFJPVklERVJfRVJST1JfS0VZXTogZm9ybWF0RXJyb3JNZXNzYWdlKGUpLCBbVFJBTlNJRU5UX0NPTlRFWFRfS0VZXTogdHJ1ZSB9O1xuICAgIH1cbiAgICBjb250ZXh0LnNldChrZXksIHZhbHVlKTtcbiAgICBkZWJ1ZyhgU2V0dGluZyBcIiR7a2V5fVwiIGNvbnRleHQgdG8gJHtKU09OLnN0cmluZ2lmeSh2YWx1ZSl9YCk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZWdpc3RlciBhIGNvbnRleHQgcHJvdmlkZXJcbiAqXG4gKiBBIGNvbnRleHQgcHJvdmlkZXIgY2Fubm90IHJldXNlIHRoZSBTREtzIGF1dGhlbnRpY2F0aW9uIG1lY2hhbmlzbXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckNvbnRleHRQcm92aWRlcihuYW1lOiBzdHJpbmcsIHByb3ZpZGVyOiBDb250ZXh0UHJvdmlkZXJQbHVnaW4pIHtcbiAgYXZhaWxhYmxlQ29udGV4dFByb3ZpZGVyc1tuYW1lXSA9ICgpID0+IHByb3ZpZGVyO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVyIGEgcGx1Z2luIGNvbnRleHQgcHJvdmlkZXJcbiAqXG4gKiBBIHBsdWdpbiBwcm92aWRlciBjYW5ub3QgcmV1c2UgdGhlIFNES3MgYXV0aGVudGljYXRpb24gbWVjaGFuaXNtcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyUGx1Z2luQ29udGV4dFByb3ZpZGVyKG5hbWU6IHN0cmluZywgcHJvdmlkZXI6IENvbnRleHRQcm92aWRlclBsdWdpbikge1xuICByZWdpc3RlckNvbnRleHRQcm92aWRlcihgJHtQTFVHSU5fUFJPVklERVJfUFJFRklYfToke25hbWV9YCwgcHJvdmlkZXIpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVyIGEgY29udGV4dCBwcm92aWRlciBmYWN0b3J5XG4gKlxuICogQSBjb250ZXh0IHByb3ZpZGVyIGZhY3RvcnkgdGFrZXMgYW4gU2RrUHJvdmlkZXIgYW5kIHJldHVybnMgdGhlIGNvbnRleHQgcHJvdmlkZXIgcGx1Z2luLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJDb250ZXh0UHJvdmlkZXJGYWN0b3J5KG5hbWU6IHN0cmluZywgcHJvdmlkZXI6IENvbnRleHRQcm92aWRlckZhY3RvcnkpIHtcbiAgYXZhaWxhYmxlQ29udGV4dFByb3ZpZGVyc1tuYW1lXSA9IHByb3ZpZGVyO1xufVxuXG5jb25zdCBhdmFpbGFibGVDb250ZXh0UHJvdmlkZXJzOiBQcm92aWRlck1hcCA9IHtcbiAgW2N4c2NoZW1hLkNvbnRleHRQcm92aWRlci5BVkFJTEFCSUxJVFlfWk9ORV9QUk9WSURFUl06IChzKSA9PiBuZXcgQVpDb250ZXh0UHJvdmlkZXJQbHVnaW4ocyksXG4gIFtjeHNjaGVtYS5Db250ZXh0UHJvdmlkZXIuU1NNX1BBUkFNRVRFUl9QUk9WSURFUl06IChzKSA9PiBuZXcgU1NNQ29udGV4dFByb3ZpZGVyUGx1Z2luKHMpLFxuICBbY3hzY2hlbWEuQ29udGV4dFByb3ZpZGVyLkhPU1RFRF9aT05FX1BST1ZJREVSXTogKHMpID0+IG5ldyBIb3N0ZWRab25lQ29udGV4dFByb3ZpZGVyUGx1Z2luKHMpLFxuICBbY3hzY2hlbWEuQ29udGV4dFByb3ZpZGVyLlZQQ19QUk9WSURFUl06IChzKSA9PiBuZXcgVnBjTmV0d29ya0NvbnRleHRQcm92aWRlclBsdWdpbihzKSxcbiAgW2N4c2NoZW1hLkNvbnRleHRQcm92aWRlci5BTUlfUFJPVklERVJdOiAocykgPT4gbmV3IEFtaUNvbnRleHRQcm92aWRlclBsdWdpbihzKSxcbiAgW2N4c2NoZW1hLkNvbnRleHRQcm92aWRlci5FTkRQT0lOVF9TRVJWSUNFX0FWQUlMQUJJTElUWV9aT05FX1BST1ZJREVSXTogKHMpID0+IG5ldyBFbmRwb2ludFNlcnZpY2VBWkNvbnRleHRQcm92aWRlclBsdWdpbihzKSxcbiAgW2N4c2NoZW1hLkNvbnRleHRQcm92aWRlci5TRUNVUklUWV9HUk9VUF9QUk9WSURFUl06IChzKSA9PiBuZXcgU2VjdXJpdHlHcm91cENvbnRleHRQcm92aWRlclBsdWdpbihzKSxcbiAgW2N4c2NoZW1hLkNvbnRleHRQcm92aWRlci5MT0FEX0JBTEFOQ0VSX1BST1ZJREVSXTogKHMpID0+IG5ldyBMb2FkQmFsYW5jZXJDb250ZXh0UHJvdmlkZXJQbHVnaW4ocyksXG4gIFtjeHNjaGVtYS5Db250ZXh0UHJvdmlkZXIuTE9BRF9CQUxBTkNFUl9MSVNURU5FUl9QUk9WSURFUl06IChzKSA9PiBuZXcgTG9hZEJhbGFuY2VyTGlzdGVuZXJDb250ZXh0UHJvdmlkZXJQbHVnaW4ocyksXG4gIFtjeHNjaGVtYS5Db250ZXh0UHJvdmlkZXIuS0VZX1BST1ZJREVSXTogKHMpID0+IG5ldyBLZXlDb250ZXh0UHJvdmlkZXJQbHVnaW4ocyksXG4gIFtjeHNjaGVtYS5Db250ZXh0UHJvdmlkZXIuQ0NfQVBJX1BST1ZJREVSXTogKHMpID0+IG5ldyBDY0FwaUNvbnRleHRQcm92aWRlclBsdWdpbihzKSxcbn07XG4iXX0=
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQThCQSxvREFvREM7QUFPRCwwREFFQztBQU9ELHNFQUVDO0FBT0Qsd0VBRUM7QUE3R0QsMkRBQTJEO0FBQzNELHlDQUF5QztBQUN6QywrQkFBaUQ7QUFDakQsNkRBQStEO0FBQy9ELHVEQUErRDtBQUMvRCwrRkFBK0Y7QUFDL0YsaURBQWlFO0FBQ2pFLGlDQUFrRDtBQUNsRCxxREFBZ0g7QUFDaEgsdURBQXVFO0FBQ3ZFLHFEQUE0RDtBQUM1RCxpQ0FBeUQ7QUFHekQsNENBQXVEO0FBQ3ZELDBDQUEyQztBQUUzQywyREFBa0U7QUFDbEUsd0NBQW1DO0FBQ25DLDRDQUF3RDtBQUN4RCxrQ0FBNkM7QUFLN0MsTUFBTSxzQkFBc0IsR0FBRyxRQUFRLENBQUM7QUFFeEM7O0dBRUc7QUFDSSxLQUFLLFVBQVUsb0JBQW9CLENBQ3hDLGFBQXdDLEVBQ3hDLE9BQWdCLEVBQ2hCLEdBQWdCO0lBQ2hCLEtBQUssTUFBTSxjQUFjLElBQUksYUFBYSxFQUFFLENBQUM7UUFDM0MsTUFBTSxHQUFHLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQztRQUUvQixNQUFNLFlBQVksR0FBRyxjQUFjLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxlQUFlLENBQUMsTUFBTTtZQUM5RSxDQUFDLENBQUMsR0FBRyxzQkFBc0IsSUFBSyxjQUFjLENBQUMsS0FBcUMsQ0FBQyxVQUFVLEVBQUU7WUFDakcsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUM7UUFFNUIsSUFBSSxPQUFPLENBQUM7UUFDWixJQUFJLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxzQkFBc0IsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMxRCxNQUFNLE1BQU0sR0FBRyxtQkFBVSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLE1BQU0s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SUFDbkgsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLCtCQUF3QixDQUFDLENBQUMsQ0FBQztJQUMvRSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksNENBQTBCLENBQUMsQ0FBQyxDQUFDO0NBQ3JGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjeHNjaGVtYSBmcm9tICdAYXdzLWNkay9jbG91ZC1hc3NlbWJseS1zY2hlbWEnO1xuaW1wb3J0ICogYXMgY3hhcGkgZnJvbSAnQGF3cy1jZGsvY3gtYXBpJztcbmltcG9ydCB7IEFtaUNvbnRleHRQcm92aWRlclBsdWdpbiB9IGZyb20gJy4vYW1pJztcbmltcG9ydCB7IEFaQ29udGV4dFByb3ZpZGVyUGx1Z2luIH0gZnJvbSAnLi9hdmFpbGFiaWxpdHktem9uZXMnO1xuaW1wb3J0IHsgQ2NBcGlDb250ZXh0UHJvdmlkZXJQbHVnaW4gfSBmcm9tICcuL2NjLWFwaS1wcm92aWRlcic7XG5pbXBvcnQgeyBFbmRwb2ludFNlcnZpY2VBWkNvbnRleHRQcm92aWRlclBsdWdpbiB9IGZyb20gJy4vZW5kcG9pbnQtc2VydmljZS1hdmFpbGFiaWxpdHktem9uZXMnO1xuaW1wb3J0IHsgSG9zdGVkWm9uZUNvbnRleHRQcm92aWRlclBsdWdpbiB9IGZyb20gJy4vaG9zdGVkLXpvbmVzJztcbmltcG9ydCB7IEtleUNvbnRleHRQcm92aWRlclBsdWdpbiB9IGZyb20gJy4va2V5cyc7XG5pbXBvcnQgeyBMb2FkQmFsYW5jZXJDb250ZXh0UHJvdmlkZXJQbHVnaW4sIExvYWRCYWxhbmNlckxpc3RlbmVyQ29udGV4dFByb3ZpZGVyUGx1Z2luIH0gZnJvbSAnLi9sb2FkLWJhbGFuY2Vycyc7XG5pbXBvcnQgeyBTZWN1cml0eUdyb3VwQ29udGV4dFByb3ZpZGVyUGx1Z2luIH0gZnJvbSAnLi9zZWN1cml0eS1ncm91cHMnO1xuaW1wb3J0IHsgU1NNQ29udGV4dFByb3ZpZGVyUGx1Z2luIH0gZnJvbSAnLi9zc20tcGFyYW1ldGVycyc7XG5pbXBvcnQgeyBWcGNOZXR3b3JrQ29udGV4dFByb3ZpZGVyUGx1Z2luIH0gZnJvbSAnLi92cGNzJztcbmltcG9ydCB0eXBlIHsgU2RrUHJvdmlkZXIgfSBmcm9tICcuLi9hcGknO1xuaW1wb3J0IHR5cGUgeyBDb250ZXh0IH0gZnJvbSAnLi4vYXBpL2NvbnRleHQnO1xuaW1wb3J0IHsgVFJBTlNJRU5UX0NPTlRFWFRfS0VZIH0gZnJvbSAnLi4vYXBpL2NvbnRleHQnO1xuaW1wb3J0IHsgUGx1Z2luSG9zdCB9IGZyb20gJy4uL2FwaS9wbHVnaW4nO1xuaW1wb3J0IHR5cGUgeyBDb250ZXh0UHJvdmlkZXJQbHVnaW4gfSBmcm9tICcuLi9hcGkvcGx1Z2luL2NvbnRleHQtcHJvdmlkZXItcGx1Z2luJztcbmltcG9ydCB7IHJlcGxhY2VFbnZQbGFjZWhvbGRlcnMgfSBmcm9tICcuLi9hcGkvdXRpbC9wbGFjZWhvbGRlcnMnO1xuaW1wb3J0IHsgZGVidWcgfSBmcm9tICcuLi9sb2dnaW5nJztcbmltcG9ydCB7IENvbnRleHRQcm92aWRlckVycm9yIH0gZnJvbSAnLi4vdG9vbGtpdC9lcnJvcic7XG5pbXBvcnQgeyBmb3JtYXRFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi91dGlsJztcblxuZXhwb3J0IHR5cGUgQ29udGV4dFByb3ZpZGVyRmFjdG9yeSA9ICgoc2RrOiBTZGtQcm92aWRlcikgPT4gQ29udGV4dFByb3ZpZGVyUGx1Z2luKTtcbmV4cG9ydCB0eXBlIFByb3ZpZGVyTWFwID0ge1tuYW1lOiBzdHJpbmddOiBDb250ZXh0UHJvdmlkZXJGYWN0b3J5fTtcblxuY29uc3QgUExVR0lOX1BST1ZJREVSX1BSRUZJWCA9ICdwbHVnaW4nO1xuXG4vKipcbiAqIEl0ZXJhdGUgb3ZlciB0aGUgbGlzdCBvZiBtaXNzaW5nIGNvbnRleHQgdmFsdWVzIGFuZCBpbnZva2UgdGhlIGFwcHJvcHJpYXRlIHByb3ZpZGVycyBmcm9tIHRoZSBtYXAgdG8gcmV0cmlldmUgdGhlbVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJvdmlkZUNvbnRleHRWYWx1ZXMoXG4gIG1pc3NpbmdWYWx1ZXM6IGN4c2NoZW1hLk1pc3NpbmdDb250ZXh0W10sXG4gIGNvbnRleHQ6IENvbnRleHQsXG4gIHNkazogU2RrUHJvdmlkZXIpIHtcbiAgZm9yIChjb25zdCBtaXNzaW5nQ29udGV4dCBvZiBtaXNzaW5nVmFsdWVzKSB7XG4gICAgY29uc3Qga2V5ID0gbWlzc2luZ0NvbnRleHQua2V5O1xuXG4gICAgY29uc3QgcHJvdmlkZXJOYW1lID0gbWlzc2luZ0NvbnRleHQucHJvdmlkZXIgPT09IGN4c2NoZW1hLkNvbnRleHRQcm92aWRlci5QTFVHSU5cbiAgICAgID8gYCR7UExVR0lOX1BST1ZJREVSX1BSRUZJWH06JHsobWlzc2luZ0NvbnRleHQucHJvcHMgYXMgY3hzY2hlbWEuUGx1Z2luQ29udGV4dFF1ZXJ5KS5wbHVnaW5OYW1lfWBcbiAgICAgIDogbWlzc2luZ0NvbnRleHQucHJvdmlkZXI7XG5cbiAgICBsZXQgZmFjdG9yeTtcbiAgICBpZiAocHJvdmlkZXJOYW1lLnN0YXJ0c1dpdGgoYCR7UExVR0lOX1BST1ZJREVSX1BSRUZJWH06YCkpIHtcbiAgICAgIGNvbnN0IHBsdWdpbiA9IFBsdWdpbkhvc3QuaW5zdGFuY2UuY29udGV4dFByb3ZpZGVyUGx1Z2luc1twcm92aWRlck5hbWUuc3Vic3RyaW5nKFBMVUdJTl9QUk9WSURFUl9QUkVGSVgubGVuZ3RoICsgMSldO1xuICAgICAgaWYgKCFwbHVnaW4pIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbiAgICAgICAgdGhyb3cgbmV3IENvbnRleHRQcm92aWRlckVycm9yKGBVbnJlY29nbml6ZWQgcGx1Z2luIGNvbnRleHQgcHJvdmlkZXIgbmFtZTogJHttaXNzaW5nQ29udGV4dC5wcm92aWRlcn0uYCk7XG4gICAgICB9XG4gICAgICBmYWN0b3J5ID0gKCkgPT4gcGx1Z2luO1xuICAgIH0gZWxzZSB7XG4gICAgICBmYWN0b3J5ID0gYXZhaWxhYmxlQ29udGV4dFByb3ZpZGVyc1twcm92aWRlck5hbWVdO1xuICAgICAgaWYgKCFmYWN0b3J5KSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGVuXG4gICAgICAgIHRocm93IG5ldyBDb250ZXh0UHJvdmlkZXJFcnJvcihgVW5yZWNvZ25pemVkIGNvbnRleHQgcHJvdmlkZXIgbmFtZTogJHttaXNzaW5nQ29udGV4dC5wcm92aWRlcn0uIFlvdSBtaWdodCBuZWVkIHRvIHVwZGF0ZSB0aGUgdG9vbGtpdCB0byBtYXRjaCB0aGUgdmVyc2lvbiBvZiB0aGUgY29uc3RydWN0IGxpYnJhcnkuYCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgcHJvdmlkZXIgPSBmYWN0b3J5KHNkayk7XG5cbiAgICBsZXQgdmFsdWU7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGVudmlyb25tZW50ID0gbWlzc2luZ0NvbnRleHQucHJvcHMuYWNjb3VudCAmJiBtaXNzaW5nQ29udGV4dC5wcm9wcy5yZWdpb25cbiAgICAgICAgPyBjeGFwaS5FbnZpcm9ubWVudFV0aWxzLm1ha2UobWlzc2luZ0NvbnRleHQucHJvcHMuYWNjb3VudCwgbWlzc2luZ0NvbnRleHQucHJvcHMucmVnaW9uKVxuICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgICAgY29uc3QgcmVzb2x2ZWRFbnZpcm9ubWVudDogY3hhcGkuRW52aXJvbm1lbnQgPSBlbnZpcm9ubWVudFxuICAgICAgICA/IGF3YWl0IHNkay5yZXNvbHZlRW52aXJvbm1lbnQoZW52aXJvbm1lbnQpXG4gICAgICAgIDogeyBhY2NvdW50OiAnPycsIHJlZ2lvbjogJz8nLCBuYW1lOiAnPycgfTtcblxuICAgICAgY29uc3QgYXJucyA9IGF3YWl0IHJlcGxhY2VFbnZQbGFjZWhvbGRlcnMoe1xuICAgICAgICBsb29rdXBSb2xlQXJuOiBtaXNzaW5nQ29udGV4dC5wcm9wcy5sb29rdXBSb2xlQXJuLFxuICAgICAgfSwgcmVzb2x2ZWRFbnZpcm9ubWVudCwgc2RrKTtcblxuICAgICAgdmFsdWUgPSBhd2FpdCBwcm92aWRlci5nZXRWYWx1ZSh7IC4uLm1pc3NpbmdDb250ZXh0LnByb3BzLCBsb29rdXBSb2xlQXJuOiBhcm5zLmxvb2t1cFJvbGVBcm4gfSk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICAvLyBTZXQgYSBzcGVjaWFsbHkgZm9ybWF0dGVkIHByb3ZpZGVyIHZhbHVlIHdoaWNoIHdpbGwgYmUgaW50ZXJwcmV0ZWRcbiAgICAgIC8vIGFzIGEgbG9va3VwIGZhaWx1cmUgaW4gdGhlIHRvb2xraXQuXG4gICAgICB2YWx1ZSA9IHsgW2N4YXBpLlBST1ZJREVSX0VSUk9SX0tFWV06IGZvcm1hdEVycm9yTWVzc2FnZShlKSwgW1RSQU5TSUVOVF9DT05URVhUX0tFWV06IHRydWUgfTtcbiAgICB9XG4gICAgY29udGV4dC5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgZGVidWcoYFNldHRpbmcgXCIke2tleX1cIiBjb250ZXh0IHRvICR7SlNPTi5zdHJpbmdpZnkodmFsdWUpfWApO1xuICB9XG59XG5cbi8qKlxuICogUmVnaXN0ZXIgYSBjb250ZXh0IHByb3ZpZGVyXG4gKlxuICogQSBjb250ZXh0IHByb3ZpZGVyIGNhbm5vdCByZXVzZSB0aGUgU0RLcyBhdXRoZW50aWNhdGlvbiBtZWNoYW5pc21zLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJDb250ZXh0UHJvdmlkZXIobmFtZTogc3RyaW5nLCBwcm92aWRlcjogQ29udGV4dFByb3ZpZGVyUGx1Z2luKSB7XG4gIGF2YWlsYWJsZUNvbnRleHRQcm92aWRlcnNbbmFtZV0gPSAoKSA9PiBwcm92aWRlcjtcbn1cblxuLyoqXG4gKiBSZWdpc3RlciBhIHBsdWdpbiBjb250ZXh0IHByb3ZpZGVyXG4gKlxuICogQSBwbHVnaW4gcHJvdmlkZXIgY2Fubm90IHJldXNlIHRoZSBTREtzIGF1dGhlbnRpY2F0aW9uIG1lY2hhbmlzbXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlclBsdWdpbkNvbnRleHRQcm92aWRlcihuYW1lOiBzdHJpbmcsIHByb3ZpZGVyOiBDb250ZXh0UHJvdmlkZXJQbHVnaW4pIHtcbiAgcmVnaXN0ZXJDb250ZXh0UHJvdmlkZXIoYCR7UExVR0lOX1BST1ZJREVSX1BSRUZJWH06JHtuYW1lfWAsIHByb3ZpZGVyKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlciBhIGNvbnRleHQgcHJvdmlkZXIgZmFjdG9yeVxuICpcbiAqIEEgY29udGV4dCBwcm92aWRlciBmYWN0b3J5IHRha2VzIGFuIFNka1Byb3ZpZGVyIGFuZCByZXR1cm5zIHRoZSBjb250ZXh0IHByb3ZpZGVyIHBsdWdpbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyQ29udGV4dFByb3ZpZGVyRmFjdG9yeShuYW1lOiBzdHJpbmcsIHByb3ZpZGVyOiBDb250ZXh0UHJvdmlkZXJGYWN0b3J5KSB7XG4gIGF2YWlsYWJsZUNvbnRleHRQcm92aWRlcnNbbmFtZV0gPSBwcm92aWRlcjtcbn1cblxuY29uc3QgYXZhaWxhYmxlQ29udGV4dFByb3ZpZGVyczogUHJvdmlkZXJNYXAgPSB7XG4gIFtjeHNjaGVtYS5Db250ZXh0UHJvdmlkZXIuQVZBSUxBQklMSVRZX1pPTkVfUFJPVklERVJdOiAocykgPT4gbmV3IEFaQ29udGV4dFByb3ZpZGVyUGx1Z2luKHMpLFxuICBbY3hzY2hlbWEuQ29udGV4dFByb3ZpZGVyLlNTTV9QQVJBTUVURVJfUFJPVklERVJdOiAocykgPT4gbmV3IFNTTUNvbnRleHRQcm92aWRlclBsdWdpbihzKSxcbiAgW2N4c2NoZW1hLkNvbnRleHRQcm92aWRlci5IT1NURURfWk9ORV9QUk9WSURFUl06IChzKSA9PiBuZXcgSG9zdGVkWm9uZUNvbnRleHRQcm92aWRlclBsdWdpbihzKSxcbiAgW2N4c2NoZW1hLkNvbnRleHRQcm92aWRlci5WUENfUFJPVklERVJdOiAocykgPT4gbmV3IFZwY05ldHdvcmtDb250ZXh0UHJvdmlkZXJQbHVnaW4ocyksXG4gIFtjeHNjaGVtYS5Db250ZXh0UHJvdmlkZXIuQU1JX1BST1ZJREVSXTogKHMpID0+IG5ldyBBbWlDb250ZXh0UHJvdmlkZXJQbHVnaW4ocyksXG4gIFtjeHNjaGVtYS5Db250ZXh0UHJvdmlkZXIuRU5EUE9JTlRfU0VSVklDRV9BVkFJTEFCSUxJVFlfWk9ORV9QUk9WSURFUl06IChzKSA9PiBuZXcgRW5kcG9pbnRTZXJ2aWNlQVpDb250ZXh0UHJvdmlkZXJQbHVnaW4ocyksXG4gIFtjeHNjaGVtYS5Db250ZXh0UHJvdmlkZXIuU0VDVVJJVFlfR1JPVVBfUFJPVklERVJdOiAocykgPT4gbmV3IFNlY3VyaXR5R3JvdXBDb250ZXh0UHJvdmlkZXJQbHVnaW4ocyksXG4gIFtjeHNjaGVtYS5Db250ZXh0UHJvdmlkZXIuTE9BRF9CQUxBTkNFUl9QUk9WSURFUl06IChzKSA9PiBuZXcgTG9hZEJhbGFuY2VyQ29udGV4dFByb3ZpZGVyUGx1Z2luKHMpLFxuICBbY3hzY2hlbWEuQ29udGV4dFByb3ZpZGVyLkxPQURfQkFMQU5DRVJfTElTVEVORVJfUFJPVklERVJdOiAocykgPT4gbmV3IExvYWRCYWxhbmNlckxpc3RlbmVyQ29udGV4dFByb3ZpZGVyUGx1Z2luKHMpLFxuICBbY3hzY2hlbWEuQ29udGV4dFByb3ZpZGVyLktFWV9QUk9WSURFUl06IChzKSA9PiBuZXcgS2V5Q29udGV4dFByb3ZpZGVyUGx1Z2luKHMpLFxuICBbY3hzY2hlbWEuQ29udGV4dFByb3ZpZGVyLkNDX0FQSV9QUk9WSURFUl06IChzKSA9PiBuZXcgQ2NBcGlDb250ZXh0UHJvdmlkZXJQbHVnaW4ocyksXG59O1xuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { KeyContextQuery } from '@aws-cdk/cloud-assembly-schema';
|
|
2
2
|
import type { KeyContextResponse } from '@aws-cdk/cx-api';
|
|
3
3
|
import { type SdkProvider } from '../api/aws-auth/sdk-provider';
|
|
4
|
-
import { ContextProviderPlugin } from '../api/plugin';
|
|
4
|
+
import type { ContextProviderPlugin } from '../api/plugin';
|
|
5
5
|
export declare class KeyContextProviderPlugin implements ContextProviderPlugin {
|
|
6
6
|
private readonly aws;
|
|
7
7
|
constructor(aws: SdkProvider);
|
|
@@ -49,4 +49,4 @@ class KeyContextProviderPlugin {
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
exports.KeyContextProviderPlugin = KeyContextProviderPlugin;
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImtleXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEsK0RBQXdGO0FBRXhGLHdDQUFtQztBQUNuQyw0Q0FBd0Q7QUFFeEQsTUFBYSx3QkFBd0I7SUFDbkMsWUFBNkIsR0FBZ0I7UUFBaEIsUUFBRyxHQUFILEdBQUcsQ0FBYTtJQUM3QyxDQUFDO0lBRU0sS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFxQjtRQUN6QyxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sSUFBQSxxQ0FBc0IsRUFBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFakUsTUFBTSxjQUFjLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVyRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCwrQkFBK0I7SUFDdkIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFlLEVBQUUsSUFBcUI7UUFDMUQsSUFBQSxlQUFLLEVBQUMsbUJBQW1CLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFFeEQsSUFBSSxRQUFrQyxDQUFDO1FBQ3ZDLElBQUksVUFBOEIsQ0FBQztRQUNuQyxHQUFHLENBQUM7WUFDRixRQUFRLEdBQUcsTUFBTSxHQUFHLENBQUMsV0FBVyxDQUFDO2dCQUMvQixNQUFNLEVBQUUsVUFBVTthQUNuQixDQUFDLENBQUM7WUFFSCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztZQUN2QyxLQUFLLE1BQU0sS0FBSyxJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUM1QixJQUFJLEtBQUssQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO29CQUN0QyxPQUFPLEtBQUssQ0FBQztnQkFDZixDQUFDO1lBQ0gsQ0FBQztZQUVELFVBQVUsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDO1FBQ25DLENBQUMsUUFBUSxVQUFVLEVBQUU7UUFFckIsTUFBTSxhQUFhLEdBQUcsNkJBQTZCLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQywyQkFBc0MsQ0FBQztRQUMzRyxNQUFNLGFBQWEsR0FBRyxZQUFZLElBQUksSUFBSSxJQUFJLE9BQU8sSUFBSSxDQUFDLFVBQVUsS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDNUksSUFBSSxhQUFhLElBQUksYUFBYSxFQUFFLENBQUM7WUFDbkMsTUFBTSxLQUFLLEdBQUksSUFBSSxDQUFDLFVBQWdDLENBQUMsS0FBSyxDQUFDO1lBQzNELE9BQU8sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDaEMsQ0FBQztRQUNELE1BQU0sSUFBSSw0QkFBb0IsQ0FBQywyQ0FBMkMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDOUYsQ0FBQztJQUVPLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBcUIsRUFBRSxJQUFxQjtRQUNyRSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSw0QkFBb0IsQ0FBQywyQ0FBMkMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDOUYsQ0FBQztRQUVELElBQUEsZUFBSyxFQUFDLGFBQWEsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFFeEMsT0FBTztZQUNMLEtBQUssRUFBRSxLQUFLLENBQUMsV0FBVztTQUN6QixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBckRELDREQXFEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgS2V5Q29udGV4dFF1ZXJ5IH0gZnJvbSAnQGF3cy1jZGsvY2xvdWQtYXNzZW1ibHktc2NoZW1hJztcbmltcG9ydCB0eXBlIHsgS2V5Q29udGV4dFJlc3BvbnNlIH0gZnJvbSAnQGF3cy1jZGsvY3gtYXBpJztcbmltcG9ydCB0eXBlIHsgQWxpYXNMaXN0RW50cnksIExpc3RBbGlhc2VzQ29tbWFuZE91dHB1dCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1rbXMnO1xuaW1wb3J0IHR5cGUgeyBJS01TQ2xpZW50IH0gZnJvbSAnLi4vYXBpJztcbmltcG9ydCB7IHR5cGUgU2RrUHJvdmlkZXIsIGluaXRDb250ZXh0UHJvdmlkZXJTZGsgfSBmcm9tICcuLi9hcGkvYXdzLWF1dGgvc2RrLXByb3ZpZGVyJztcbmltcG9ydCB0eXBlIHsgQ29udGV4dFByb3ZpZGVyUGx1Z2luIH0gZnJvbSAnLi4vYXBpL3BsdWdpbic7XG5pbXBvcnQgeyBkZWJ1ZyB9IGZyb20gJy4uL2xvZ2dpbmcnO1xuaW1wb3J0IHsgQ29udGV4dFByb3ZpZGVyRXJyb3IgfSBmcm9tICcuLi90b29sa2l0L2Vycm9yJztcblxuZXhwb3J0IGNsYXNzIEtleUNvbnRleHRQcm92aWRlclBsdWdpbiBpbXBsZW1lbnRzIENvbnRleHRQcm92aWRlclBsdWdpbiB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYXdzOiBTZGtQcm92aWRlcikge1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldFZhbHVlKGFyZ3M6IEtleUNvbnRleHRRdWVyeSkge1xuICAgIGNvbnN0IGttcyA9IChhd2FpdCBpbml0Q29udGV4dFByb3ZpZGVyU2RrKHRoaXMuYXdzLCBhcmdzKSkua21zKCk7XG5cbiAgICBjb25zdCBhbGlhc0xpc3RFbnRyeSA9IGF3YWl0IHRoaXMuZmluZEtleShrbXMsIGFyZ3MpO1xuXG4gICAgcmV0dXJuIHRoaXMucmVhZEtleVByb3BzKGFsaWFzTGlzdEVudHJ5LCBhcmdzKTtcbiAgfVxuXG4gIC8vIFRPRE86IHVzZSBwYWdpbmF0b3IgZnVuY3Rpb25cbiAgcHJpdmF0ZSBhc3luYyBmaW5kS2V5KGttczogSUtNU0NsaWVudCwgYXJnczogS2V5Q29udGV4dFF1ZXJ5KTogUHJvbWlzZTxBbGlhc0xpc3RFbnRyeT4ge1xuICAgIGRlYnVnKGBMaXN0aW5nIGtleXMgaW4gJHthcmdzLmFjY291bnR9OiR7YXJncy5yZWdpb259YCk7XG5cbiAgICBsZXQgcmVzcG9uc2U6IExpc3RBbGlhc2VzQ29tbWFuZE91dHB1dDtcbiAgICBsZXQgbmV4dE1hcmtlcjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGRvIHtcbiAgICAgIHJlc3BvbnNlID0gYXdhaXQga21zLmxpc3RBbGlhc2VzKHtcbiAgICAgICAgTWFya2VyOiBuZXh0TWFya2VyLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGFsaWFzZXMgPSByZXNwb25zZS5BbGlhc2VzIHx8IFtdO1xuICAgICAgZm9yIChjb25zdCBhbGlhcyBvZiBhbGlhc2VzKSB7XG4gICAgICAgIGlmIChhbGlhcy5BbGlhc05hbWUgPT0gYXJncy5hbGlhc05hbWUpIHtcbiAgICAgICAgICByZXR1cm4gYWxpYXM7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbmV4dE1hcmtlciA9IHJlc3BvbnNlLk5leHRNYXJrZXI7XG4gICAgfSB3aGlsZSAobmV4dE1hcmtlcik7XG5cbiAgICBjb25zdCBzdXBwcmVzc0Vycm9yID0gJ2lnbm9yZUVycm9yT25NaXNzaW5nQ29udGV4dCcgaW4gYXJncyAmJiBhcmdzLmlnbm9yZUVycm9yT25NaXNzaW5nQ29udGV4dCBhcyBib29sZWFuO1xuICAgIGNvbnN0IGhhc0R1bW15S2V5SWQgPSAnZHVtbXlWYWx1ZScgaW4gYXJncyAmJiB0eXBlb2YgYXJncy5kdW1teVZhbHVlID09PSAnb2JqZWN0JyAmJiBhcmdzLmR1bW15VmFsdWUgIT09IG51bGwgJiYgJ2tleUlkJyBpbiBhcmdzLmR1bW15VmFsdWU7XG4gICAgaWYgKHN1cHByZXNzRXJyb3IgJiYgaGFzRHVtbXlLZXlJZCkge1xuICAgICAgY29uc3Qga2V5SWQgPSAoYXJncy5kdW1teVZhbHVlIGFzIHsga2V5SWQ6IHN0cmluZyB9KS5rZXlJZDtcbiAgICAgIHJldHVybiB7IFRhcmdldEtleUlkOiBrZXlJZCB9O1xuICAgIH1cbiAgICB0aHJvdyBuZXcgQ29udGV4dFByb3ZpZGVyRXJyb3IoYENvdWxkIG5vdCBmaW5kIGFueSBrZXkgd2l0aCBhbGlhcyBuYW1lZCAke2FyZ3MuYWxpYXNOYW1lfWApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZWFkS2V5UHJvcHMoYWxpYXM6IEFsaWFzTGlzdEVudHJ5LCBhcmdzOiBLZXlDb250ZXh0UXVlcnkpOiBQcm9taXNlPEtleUNvbnRleHRSZXNwb25zZT4ge1xuICAgIGlmICghYWxpYXMuVGFyZ2V0S2V5SWQpIHtcbiAgICAgIHRocm93IG5ldyBDb250ZXh0UHJvdmlkZXJFcnJvcihgQ291bGQgbm90IGZpbmQgYW55IGtleSB3aXRoIGFsaWFzIG5hbWVkICR7YXJncy5hbGlhc05hbWV9YCk7XG4gICAgfVxuXG4gICAgZGVidWcoYEtleSBmb3VuZCAke2FsaWFzLlRhcmdldEtleUlkfWApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGtleUlkOiBhbGlhcy5UYXJnZXRLZXlJZCxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { LoadBalancerContextQuery, LoadBalancerListenerContextQuery } from '@aws-cdk/cloud-assembly-schema';
|
|
2
|
-
import { LoadBalancerContextResponse, LoadBalancerListenerContextResponse } from '@aws-cdk/cx-api';
|
|
1
|
+
import type { LoadBalancerContextQuery, LoadBalancerListenerContextQuery } from '@aws-cdk/cloud-assembly-schema';
|
|
2
|
+
import type { LoadBalancerContextResponse, LoadBalancerListenerContextResponse } from '@aws-cdk/cx-api';
|
|
3
3
|
import { type SdkProvider } from '../api/aws-auth/sdk-provider';
|
|
4
|
-
import { ContextProviderPlugin } from '../api/plugin';
|
|
4
|
+
import type { ContextProviderPlugin } from '../api/plugin';
|
|
5
5
|
/**
|
|
6
6
|
* Provides load balancer context information.
|
|
7
7
|
*/
|
|
@@ -156,4 +156,4 @@ class LoadBalancerProvider {
|
|
|
156
156
|
return listeners;
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1iYWxhbmNlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJsb2FkLWJhbGFuY2Vycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSw0Q0FJeUI7QUFHekIsK0RBQXdGO0FBRXhGLDRDQUF3RDtBQUV4RDs7R0FFRztBQUNILE1BQWEsaUNBQWlDO0lBQzVDLFlBQTZCLEdBQWdCO1FBQWhCLFFBQUcsR0FBSCxHQUFHLENBQWE7SUFDN0MsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBK0I7O1FBQzVDLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDdEQsTUFBTSxJQUFJLDRCQUFvQixDQUFDLDRGQUE0RixDQUFDLENBQUM7UUFDL0gsQ0FBQztRQUVELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFckcsTUFBTSxhQUFhLEdBQ2pCLFlBQVksQ0FBQyxhQUFhLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxrQ0FBeUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGtDQUF5QixDQUFDLFVBQVUsQ0FBQztRQUVoSCxPQUFPO1lBQ0wsZUFBZSxFQUFFLFlBQVksQ0FBQyxlQUFnQjtZQUM5QyxpQ0FBaUMsRUFBRSxZQUFZLENBQUMscUJBQXNCO1lBQ3RFLG1CQUFtQixFQUFFLFlBQVksQ0FBQyxPQUFRO1lBQzFDLEtBQUssRUFBRSxZQUFZLENBQUMsS0FBTTtZQUMxQixnQkFBZ0IsRUFBRSxNQUFBLFlBQVksQ0FBQyxjQUFjLG1DQUFJLEVBQUU7WUFDbkQsYUFBYSxFQUFFLGFBQWE7U0FDN0IsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXZCRCw4RUF1QkM7QUFFRDs7R0FFRztBQUNILE1BQWEseUNBQXlDO0lB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QVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ2xGLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7Z0JBQy9DLFlBQVksRUFBRSxLQUFLO2FBQ3BCLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxlQUFlLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNsRCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU8sS0FBSyxDQUFDLDRCQUE0QixDQUFDLGFBQTZCO1FBQ3RFLE1BQU0sU0FBUyxHQUFlLEVBQUUsQ0FBQztRQUNqQyxLQUFLLE1BQU0sWUFBWSxJQUFJLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO1lBQ3pFLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RyxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9hZEJhbGFuY2VyQ29udGV4dFF1ZXJ5LCBMb2FkQmFsYW5jZXJMaXN0ZW5lckNvbnRleHRRdWVyeSB9IGZyb20gJ0Bhd3MtY2RrL2Nsb3VkLWFzc2VtYmx5LXNjaGVtYSc7XG5pbXBvcnQge1xuICBMb2FkQmFsYW5jZXJDb250ZXh0UmVzcG9uc2UsXG4gIExvYWRCYWxhbmNlcklwQWRkcmVzc1R5cGUsXG4gIExvYWRCYWxhbmNlckxpc3RlbmVyQ29udGV4dFJlc3BvbnNlLFxufSBmcm9tICdAYXdzLWNkay9jeC1hcGknO1xuaW1wb3J0IHsgdHlwZSBMaXN0ZW5lciwgTG9hZEJhbGFuY2VyLCB0eXBlIFRhZ0Rlc2NyaXB0aW9uIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWVsYXN0aWMtbG9hZC1iYWxhbmNpbmctdjInO1xuaW1wb3J0IHR5cGUgeyBJRWxhc3RpY0xvYWRCYWxhbmNpbmdWMkNsaWVudCB9IGZyb20gJy4uL2FwaSc7XG5pbXBvcnQgeyB0eXBlIFNka1Byb3ZpZGVyLCBpbml0Q29udGV4dFByb3ZpZGVyU2RrIH0gZnJvbSAnLi4vYXBpL2F3cy1hdXRoL3Nkay1wcm92aWRlcic7XG5pbXBvcnQgeyBDb250ZXh0UHJvdmlkZXJQbHVnaW4gfSBmcm9tICcuLi9hcGkvcGx1Z2luJztcbmltcG9ydCB7IENvbnRleHRQcm92aWRlckVycm9yIH0gZnJvbSAnLi4vdG9vbGtpdC9lcnJvcic7XG5cbi8qKlxuICogUHJvdmlkZXMgbG9hZCBiYWxhbmNlciBjb250ZXh0IGluZm9ybWF0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgTG9hZEJhbGFuY2VyQ29udGV4dFByb3ZpZGVyUGx1Z2luIGltcGxlbWVudHMgQ29udGV4dFByb3ZpZGVyUGx1Z2luIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhd3M6IFNka1Byb3ZpZGVyKSB7XG4gIH1cblxuICBhc3luYyBnZXRWYWx1ZShxdWVyeTogTG9hZEJhbGFuY2VyQ29udGV4dFF1ZXJ5KTogUHJvbWlzZTxMb2FkQmFsYW5jZXJDb250ZXh0UmVzcG9uc2U+IHtcbiAgICBpZiAoIXF1ZXJ5LmxvYWRCYWxhbmNlckFybiAmJiAhcXVlcnkubG9hZEJhbGFuY2VyVGFncykge1xuICAgICAgdGhyb3cgbmV3IENvbnRleHRQcm92aWRlckVycm9yKCdUaGUgbG9hZCBiYWxhbmNlciBsb29rdXAgcXVlcnkgbXVzdCBzcGVjaWZ5IGVpdGhlciBgbG9hZEJhbGFuY2VyQXJuYCBvciBgbG9hZEJhbGFuY2VyVGFnc2AnKTtcbiAgICB9XG5cbiAgICBjb25zdCBsb2FkQmFsYW5jZXIgPSBhd2FpdCAoYXdhaXQgTG9hZEJhbGFuY2VyUHJvdmlkZXIuZ2V0Q2xpZW50KHRoaXMuYXdzLCBxdWVyeSkpLmdldExvYWRCYWxhbmNlcigpO1xuXG4gICAgY29uc3QgaXBBZGRyZXNzVHlwZSA9XG4gICAgICBsb2FkQmFsYW5jZXIuSXBBZGRyZXNzVHlwZSA9PT0gJ2lwdjQnID8gTG9hZEJhbGFuY2VySXBBZGRyZXNzVHlwZS5JUFY0IDogTG9hZEJhbGFuY2VySXBBZGRyZXNzVHlwZS5EVUFMX1NUQUNLO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGxvYWRCYWxhbmNlckFybjogbG9hZEJhbGFuY2VyLkxvYWRCYWxhbmNlckFybiEsXG4gICAgICBsb2FkQmFsYW5jZXJDYW5vbmljYWxIb3N0ZWRab25lSWQ6IGxvYWRCYWxhbmNlci5DYW5vbmljYWxIb3N0ZWRab25lSWQhLFxuICAgICAgbG9hZEJhbGFuY2VyRG5zTmFtZTogbG9hZEJhbGFuY2VyLkROU05hbWUhLFxuICAgICAgdnBjSWQ6IGxvYWRCYWxhbmNlci5WcGNJZCEsXG4gICAgICBzZWN1cml0eUdyb3VwSWRzOiBsb2FkQmFsYW5jZXIuU2VjdXJpdHlHcm91cHMgPz8gW10sXG4gICAgICBpcEFkZHJlc3NUeXBlOiBpcEFkZHJlc3NUeXBlLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBQcm92aWRlcyBsb2FkIGJhbGFuY2VyIGxpc3RlbmVyIGNvbnRleHQgaW5mb3JtYXRpb25cbiAqL1xuZXhwb3J0IGNsYXNzIExvYWRCYWxhbmNlckxpc3RlbmVyQ29udGV4dFByb3ZpZGVyUGx1Z2luIGltcGxlbWVudHMgQ29udGV4dFByb3ZpZGVyUGx1Z2luIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhd3M6IFNka1Byb3ZpZGVyKSB7XG4gIH1cblxuICBhc3luYyBnZXRWYWx1ZShxdWVyeTogTG9hZEJhbGFuY2VyTGlzdGVuZXJDb250ZXh0UXVlcnkpOiBQcm9taXNlPExvYWRCYWxhbmNlckxpc3RlbmVyQ29udGV4dFJlc3BvbnNlPiB7XG4gICAgaWYgKCFxdWVyeS5saXN0ZW5lckFybiAmJiAhcXVlcnkubG9hZEJhbGFuY2VyQXJuICYmICFxdWVyeS5sb2FkQmFsYW5jZXJUYWdzKSB7XG4gICAgICB0aHJvdyBuZXcgQ29udGV4dFByb3ZpZGVyRXJyb3IoXG4gICAgICAgICdUaGUgbG9hZCBiYWxhbmNlciBsaXN0ZW5lciBxdWVyeSBtdXN0IHNwZWNpZnkgYXQgbGVhc3Qgb25lIG9mOiBgbGlzdGVuZXJBcm5gLCBgbG9hZEJhbGFuY2VyQXJuYCBvciBgbG9hZEJhbGFuY2VyVGFnc2AnLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKGF3YWl0IExvYWRCYWxhbmNlclByb3ZpZGVyLmdldENsaWVudCh0aGlzLmF3cywgcXVlcnkpKS5nZXRMaXN0ZW5lcigpO1xuICB9XG59XG5cbmNsYXNzIExvYWRCYWxhbmNlclByb3ZpZGVyIHtcbiAgcHVibGljIHN0YXRpYyBhc3luYyBnZXRDbGllbnQoXG4gICAgYXdzOiBTZGtQcm92aWRlcixcbiAgICBxdWVyeTogTG9hZEJhbGFuY2VyTGlzdGVuZXJDb250ZXh0UXVlcnksXG4gICk6IFByb21pc2U8TG9hZEJhbGFuY2VyUHJvdmlkZXI+IHtcbiAgICBjb25zdCBjbGllbnQgPSAoYXdhaXQgaW5pdENvbnRleHRQcm92aWRlclNkayhhd3MsIHF1ZXJ5KSkuZWxidjIoKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBsaXN0ZW5lciA9IHF1ZXJ5Lmxpc3RlbmVyQXJuXG4gICAgICAgID8gLy8gQXNzZXJ0IHdlJ3JlIHN1cmUgdGhlcmUncyBhdCBsZWFzdCBvbmUgc28gaXQgdGhyb3dzIGlmIG5vdFxuICAgICAgICAoYXdhaXQgY2xpZW50LmRlc2NyaWJlTGlzdGVuZXJzKHsgTGlzdGVuZXJBcm5zOiBbcXVlcnkubGlzdGVuZXJBcm5dIH0pKS5MaXN0ZW5lcnMhWzBdIVxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiBuZXcgTG9hZEJhbGFuY2VyUHJvdmlkZXIoXG4gICAgICAgIGNsaWVudCxcbiAgICAgICAgeyAuLi5xdWVyeSwgbG9hZEJhbGFuY2VyQXJuOiBsaXN0ZW5lcj8uTG9hZEJhbGFuY2VyQXJuIHx8IHF1ZXJ5LmxvYWRCYWxhbmNlckFybiB9LFxuICAgICAgICBsaXN0ZW5lcixcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aHJvdyBuZXcgQ29udGV4dFByb3ZpZGVyRXJyb3IoYE5vIGxvYWQgYmFsYW5jZXIgbGlzdGVuZXJzIGZvdW5kIG1hdGNoaW5nIGFybiAke3F1ZXJ5Lmxpc3RlbmVyQXJufWApO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2xpZW50OiBJRWxhc3RpY0xvYWRCYWxhbmNpbmdWMkNsaWVudCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpbHRlcjogTG9hZEJhbGFuY2VyTGlzdGVuZXJDb250ZXh0UXVlcnksXG4gICAgcHJpdmF0ZSByZWFkb25seSBsaXN0ZW5lcj86IExpc3RlbmVyLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRMb2FkQmFsYW5jZXIoKTogUHJvbWlzZTxMb2FkQmFsYW5jZXI+IHtcbiAgICBjb25zdCBsb2FkQmFsYW5jZXJzID0gYXdhaXQgdGhpcy5nZXRMb2FkQmFsYW5jZXJzKCk7XG5cbiAgICBpZiAobG9hZEJhbGFuY2Vycy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBDb250ZXh0UHJvdmlkZXJFcnJvcihgTm8gbG9hZCBiYWxhbmNlcnMgZm91bmQgbWF0Y2hpbmcgJHtKU09OLnN0cmluZ2lmeSh0aGlzLmZpbHRlcil9YCk7XG4gICAgfVxuXG4gICAgaWYgKGxvYWRCYWxhbmNlcnMubGVuZ3RoID4gMSkge1xuICAgICAgdGhyb3cgbmV3IENvbnRleHRQcm92aWRlckVycm9yKFxuICAgICAgICBgTXVsdGlwbGUgbG9hZCBiYWxhbmNlcnMgZm91bmQgbWF0Y2hpbmcgJHtKU09OLnN0cmluZ2lmeSh0aGlzLmZpbHRlcil9IC0gcGxlYXNlIHByb3ZpZGUgbW9yZSBzcGVjaWZpYyBjcml0ZXJpYWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBsb2FkQmFsYW5jZXJzWzBdO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldExpc3RlbmVyKCk6IFByb21pc2U8TG9hZEJhbGFuY2VyTGlzdGVuZXJDb250ZXh0UmVzcG9uc2U+IHtcbiAgICBpZiAodGhpcy5saXN0ZW5lcikge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgbG9hZEJhbGFuY2VyID0gYXdhaXQgdGhpcy5nZXRMb2FkQmFsYW5jZXIoKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBsaXN0ZW5lckFybjogdGhpcy5saXN0ZW5lci5MaXN0ZW5lckFybiEsXG4gICAgICAgICAgbGlzdGVuZXJQb3J0OiB0aGlzLmxpc3RlbmVyLlBvcnQhLFxuICAgICAgICAgIHNlY3VyaXR5R3JvdXBJZHM6IGxvYWRCYWxhbmNlci5TZWN1cml0eUdyb3VwcyB8fCBbXSxcbiAgICAgICAgfTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICB0aHJvdyBuZXcgQ29udGV4dFByb3ZpZGVyRXJyb3IoYE5vIGFzc29jaWF0ZWQgbG9hZCBiYWxhbmNlciBmb3VuZCBmb3IgbGlzdGVuZXIgYXJuICR7dGhpcy5maWx0ZXIubGlzdGVuZXJBcm59YCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgbG9hZEJhbGFuY2VycyA9IGF3YWl0IHRoaXMuZ2V0TG9hZEJhbGFuY2VycygpO1xuICAgIGlmIChsb2FkQmFsYW5jZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IENvbnRleHRQcm92aWRlckVycm9yKFxuICAgICAgICBgTm8gYXNzb2NpYXRlZCBsb2FkIGJhbGFuY2VycyBmb3VuZCBmb3IgbG9hZCBiYWxhbmNlciBsaXN0ZW5lciBxdWVyeSAke0pTT04uc3RyaW5naWZ5KHRoaXMuZmlsdGVyKX1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBsaXN0ZW5lcnMgPSAoYXdhaXQgdGhpcy5nZXRMaXN0ZW5lcnNGb3JMb2FkQmFsYW5jZXJzKGxvYWRCYWxhbmNlcnMpKS5maWx0ZXIoKGxpc3RlbmVyKSA9PiB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICAoIXRoaXMuZmlsdGVyLmxpc3RlbmVyUG9ydCB8fCBsaXN0ZW5lci5Qb3J0ID09PSB0aGlzLmZpbHRlci5saXN0ZW5lclBvcnQpICYmXG4gICAgICAgICghdGhpcy5maWx0ZXIubGlzdGVuZXJQcm90b2NvbCB8fCBsaXN0ZW5lci5Qcm90b2NvbCA9PT0gdGhpcy5maWx0ZXIubGlzdGVuZXJQcm90b2NvbClcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpZiAobGlzdGVuZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IENvbnRleHRQcm92aWRlckVycm9yKGBObyBsb2FkIGJhbGFuY2VyIGxpc3RlbmVycyBmb3VuZCBtYXRjaGluZyAke0pTT04uc3RyaW5naWZ5KHRoaXMuZmlsdGVyKX1gKTtcbiAgICB9XG5cbiAgICBpZiAobGlzdGVuZXJzLmxlbmd0aCA+IDEpIHtcbiAgICAgIHRocm93IG5ldyBDb250ZXh0UHJvdmlkZXJFcnJvcihcbiAgICAgICAgYE11bHRpcGxlIGxvYWQgYmFsYW5jZXIgbGlzdGVuZXJzIGZvdW5kIG1hdGNoaW5nICR7SlNPTi5zdHJpbmdpZnkodGhpcy5maWx0ZXIpfSAtIHBsZWFzZSBwcm92aWRlIG1vcmUgc3BlY2lmaWMgY3JpdGVyaWFgLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgbGlzdGVuZXJBcm46IGxpc3RlbmVyc1swXS5MaXN0ZW5lckFybiEsXG4gICAgICBsaXN0ZW5lclBvcnQ6IGxpc3RlbmVyc1swXS5Qb3J0ISxcbiAgICAgIHNlY3VyaXR5R3JvdXBJZHM6XG4gICAgICAgIGxvYWRCYWxhbmNlcnMuZmluZCgobGIpID0+IGxpc3RlbmVyc1swXS5Mb2FkQmFsYW5jZXJBcm4gPT09IGxiLkxvYWRCYWxhbmNlckFybik/LlNlY3VyaXR5R3JvdXBzIHx8IFtdLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldExvYWRCYWxhbmNlcnMoKSB7XG4gICAgY29uc3QgbG9hZEJhbGFuY2VyQXJucyA9IHRoaXMuZmlsdGVyLmxvYWRCYWxhbmNlckFybiA/IFt0aGlzLmZpbHRlci5sb2FkQmFsYW5jZXJBcm5dIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGxvYWRCYWxhbmNlcnMgPSAoXG4gICAgICBhd2FpdCB0aGlzLmNsaWVudC5wYWdpbmF0ZURlc2NyaWJlTG9hZEJhbGFuY2Vycyh7XG4gICAgICAgIExvYWRCYWxhbmNlckFybnM6IGxvYWRCYWxhbmNlckFybnMsXG4gICAgICB9KVxuICAgICkuZmlsdGVyKChsYikgPT4gbGIuVHlwZSA9PT0gdGhpcy5maWx0ZXIubG9hZEJhbGFuY2VyVHlwZSk7XG5cbiAgICByZXR1cm4gdGhpcy5maWx0ZXJCeVRhZ3MobG9hZEJhbGFuY2Vycyk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGZpbHRlckJ5VGFncyhsb2FkQmFsYW5jZXJzOiBMb2FkQmFsYW5jZXJbXSk6IFByb21pc2U8TG9hZEJhbGFuY2VyW10+IHtcbiAgICBpZiAoIXRoaXMuZmlsdGVyLmxvYWRCYWxhbmNlclRhZ3MpIHtcbiAgICAgIHJldHVybiBsb2FkQmFsYW5jZXJzO1xuICAgIH1cbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuZGVzY3JpYmVUYWdzKGxvYWRCYWxhbmNlcnMubWFwKChsYikgPT4gbGIuTG9hZEJhbGFuY2VyQXJuISkpKVxuICAgICAgLmZpbHRlcigodGFnRGVzY3JpcHRpb24pID0+IHtcbiAgICAgICAgLy8gRm9yIGV2ZXJ5IHRhZyBpbiB0aGUgZmlsdGVyLCB0aGVyZSBpcyBzb21lIHRhZyBpbiB0aGUgTEIgdGhhdCBtYXRjaGVzIGl0LlxuICAgICAgICAvLyBJbiBvdGhlciB3b3JkcywgdGhlIHNldCBvZiB0YWdzIGluIHRoZSBmaWx0ZXIgaXMgYSBzdWJzZXQgb2YgdGhlIHNldCBvZiB0YWdzIGluIHRoZSBMQi5cbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyLmxvYWRCYWxhbmNlclRhZ3MhLmV2ZXJ5KChmaWx0ZXIpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGFnRGVzY3JpcHRpb24uVGFncz8uc29tZSgodGFnKSA9PlxuICAgICAgICAgICAgZmlsdGVyLmtleSA9PT0gdGFnLktleSAmJiBmaWx0ZXIudmFsdWUgPT09IHRhZy5WYWx1ZSk7XG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICAgIC5mbGF0TWFwKCh0YWcpID0+IGxvYWRCYWxhbmNlcnMuZmlsdGVyKChsb2FkQmFsYW5jZXIpID0+IHRhZy5SZXNvdXJjZUFybiA9PT0gbG9hZEJhbGFuY2VyLkxvYWRCYWxhbmNlckFybikpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGFnIGRlc2NyaXB0aW9ucyBhc3NvY2lhdGVkIHdpdGggdGhlIHJlc291cmNlcy4gVGhlIEFQSSBkb2Vzbid0IHN1cHBvcnRcbiAgICogcGFnaW5hdGlvbiwgc28gdGhpcyBmdW5jdGlvbiBicmVha3MgdGhlIHJlc291cmNlIGxpc3QgaW50byBjaHVua3MgYW5kIGlzc3Vlc1xuICAgKiB0aGUgYXBwcm9wcmlhdGUgcmVxdWVzdHMuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGRlc2NyaWJlVGFncyhyZXNvdXJjZUFybnM6IHN0cmluZ1tdKTogUHJvbWlzZTxUYWdEZXNjcmlwdGlvbltdPiB7XG4gICAgLy8gTWF4IG9mIDIwIHJlc291cmNlIGFybnMgcGVyIHJlcXVlc3QuXG4gICAgY29uc3QgY2h1bmtTaXplID0gMjA7XG4gICAgY29uc3QgdGFncyA9IEFycmF5PFRhZ0Rlc2NyaXB0aW9uPigpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVzb3VyY2VBcm5zLmxlbmd0aDsgaSArPSBjaHVua1NpemUpIHtcbiAgICAgIGNvbnN0IGNodW5rID0gcmVzb3VyY2VBcm5zLnNsaWNlKGksIE1hdGgubWluKGkgKyBjaHVua1NpemUsIHJlc291cmNlQXJucy5sZW5ndGgpKTtcbiAgICAgIGNvbnN0IGNodW5rVGFncyA9IGF3YWl0IHRoaXMuY2xpZW50LmRlc2NyaWJlVGFncyh7XG4gICAgICAgIFJlc291cmNlQXJuczogY2h1bmssXG4gICAgICB9KTtcblxuICAgICAgdGFncy5wdXNoKC4uLihjaHVua1RhZ3MuVGFnRGVzY3JpcHRpb25zIHx8IFtdKSk7XG4gICAgfVxuICAgIHJldHVybiB0YWdzO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRMaXN0ZW5lcnNGb3JMb2FkQmFsYW5jZXJzKGxvYWRCYWxhbmNlcnM6IExvYWRCYWxhbmNlcltdKTogUHJvbWlzZTxMaXN0ZW5lcltdPiB7XG4gICAgY29uc3QgbGlzdGVuZXJzOiBMaXN0ZW5lcltdID0gW107XG4gICAgZm9yIChjb25zdCBsb2FkQmFsYW5jZXIgb2YgbG9hZEJhbGFuY2Vycy5tYXAoKGxiKSA9PiBsYi5Mb2FkQmFsYW5jZXJBcm4pKSB7XG4gICAgICBsaXN0ZW5lcnMucHVzaCguLi4oYXdhaXQgdGhpcy5jbGllbnQucGFnaW5hdGVEZXNjcmliZUxpc3RlbmVycyh7IExvYWRCYWxhbmNlckFybjogbG9hZEJhbGFuY2VyIH0pKSk7XG4gICAgfVxuICAgIHJldHVybiBsaXN0ZW5lcnM7XG4gIH1cbn1cbiJdfQ==
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1iYWxhbmNlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJsb2FkLWJhbGFuY2Vycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFLQSw0Q0FFeUI7QUFHekIsK0RBQXdGO0FBRXhGLDRDQUF3RDtBQUV4RDs7R0FFRztBQUNILE1BQWEsaUNBQWlDO0lBQzVDLFlBQTZCLEdBQWdCO1FBQWhCLFFBQUcsR0FBSCxHQUFHLENBQWE7SUFDN0MsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBK0I7O1FBQzVDLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDdEQsTUFBTSxJQUFJLDRCQUFvQixDQUFDLDRGQUE0RixDQUFDLENBQUM7UUFDL0gsQ0FBQztRQUVELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFckcsTUFBTSxhQUFhLEdBQ2pCLFlBQVksQ0FBQyxhQUFhLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxrQ0FBeUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGtDQUF5QixDQUFDLFVBQVUsQ0FBQztRQUVoSCxPQUFPO1lBQ0wsZUFBZSxFQUFFLFlBQVksQ0FBQyxlQUFnQjtZQUM5QyxpQ0FBaUMsRUFBRSxZQUFZLENBQUMscUJBQXNCO1lBQ3RFLG1CQUFtQixFQUFFLFlBQVksQ0FBQyxPQUFRO1lBQzFDLEtBQUssRUFBRSxZQUFZLENBQUMsS0FBTTtZQUMxQixnQkFBZ0IsRUFBRSxNQUFBLFlBQVksQ0FBQyxjQUFjLG1DQUFJLEVBQUU7WUFDbkQsYUFBYSxFQUFFLGFBQWE7U0FDN0IsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXZCRCw4RUF1QkM7QUFFRDs7R0FFRztBQUNILE1BQWEseUNBQXlDO0lB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QVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ2xGLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7Z0JBQy9DLFlBQVksRUFBRSxLQUFLO2FBQ3BCLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxlQUFlLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNsRCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU8sS0FBSyxDQUFDLDRCQUE0QixDQUFDLGFBQTZCO1FBQ3RFLE1BQU0sU0FBUyxHQUFlLEVBQUUsQ0FBQztRQUNqQyxLQUFLLE1BQU0sWUFBWSxJQUFJLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO1lBQ3pFLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RyxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMb2FkQmFsYW5jZXJDb250ZXh0UXVlcnksIExvYWRCYWxhbmNlckxpc3RlbmVyQ29udGV4dFF1ZXJ5IH0gZnJvbSAnQGF3cy1jZGsvY2xvdWQtYXNzZW1ibHktc2NoZW1hJztcbmltcG9ydCB0eXBlIHtcbiAgTG9hZEJhbGFuY2VyQ29udGV4dFJlc3BvbnNlLFxuICBMb2FkQmFsYW5jZXJMaXN0ZW5lckNvbnRleHRSZXNwb25zZSxcbn0gZnJvbSAnQGF3cy1jZGsvY3gtYXBpJztcbmltcG9ydCB7XG4gIExvYWRCYWxhbmNlcklwQWRkcmVzc1R5cGUsXG59IGZyb20gJ0Bhd3MtY2RrL2N4LWFwaSc7XG5pbXBvcnQgdHlwZSB7IExvYWRCYWxhbmNlciwgTGlzdGVuZXIsIFRhZ0Rlc2NyaXB0aW9uIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWVsYXN0aWMtbG9hZC1iYWxhbmNpbmctdjInO1xuaW1wb3J0IHR5cGUgeyBJRWxhc3RpY0xvYWRCYWxhbmNpbmdWMkNsaWVudCB9IGZyb20gJy4uL2FwaSc7XG5pbXBvcnQgeyB0eXBlIFNka1Byb3ZpZGVyLCBpbml0Q29udGV4dFByb3ZpZGVyU2RrIH0gZnJvbSAnLi4vYXBpL2F3cy1hdXRoL3Nkay1wcm92aWRlcic7XG5pbXBvcnQgdHlwZSB7IENvbnRleHRQcm92aWRlclBsdWdpbiB9IGZyb20gJy4uL2FwaS9wbHVnaW4nO1xuaW1wb3J0IHsgQ29udGV4dFByb3ZpZGVyRXJyb3IgfSBmcm9tICcuLi90b29sa2l0L2Vycm9yJztcblxuLyoqXG4gKiBQcm92aWRlcyBsb2FkIGJhbGFuY2VyIGNvbnRleHQgaW5mb3JtYXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBMb2FkQmFsYW5jZXJDb250ZXh0UHJvdmlkZXJQbHVnaW4gaW1wbGVtZW50cyBDb250ZXh0UHJvdmlkZXJQbHVnaW4ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGF3czogU2RrUHJvdmlkZXIpIHtcbiAgfVxuXG4gIGFzeW5jIGdldFZhbHVlKHF1ZXJ5OiBMb2FkQmFsYW5jZXJDb250ZXh0UXVlcnkpOiBQcm9taXNlPExvYWRCYWxhbmNlckNvbnRleHRSZXNwb25zZT4ge1xuICAgIGlmICghcXVlcnkubG9hZEJhbGFuY2VyQXJuICYmICFxdWVyeS5sb2FkQmFsYW5jZXJUYWdzKSB7XG4gICAgICB0aHJvdyBuZXcgQ29udGV4dFByb3ZpZGVyRXJyb3IoJ1RoZSBsb2FkIGJhbGFuY2VyIGxvb2t1cCBxdWVyeSBtdXN0IHNwZWNpZnkgZWl0aGVyIGBsb2FkQmFsYW5jZXJBcm5gIG9yIGBsb2FkQmFsYW5jZXJUYWdzYCcpO1xuICAgIH1cblxuICAgIGNvbnN0IGxvYWRCYWxhbmNlciA9IGF3YWl0IChhd2FpdCBMb2FkQmFsYW5jZXJQcm92aWRlci5nZXRDbGllbnQodGhpcy5hd3MsIHF1ZXJ5KSkuZ2V0TG9hZEJhbGFuY2VyKCk7XG5cbiAgICBjb25zdCBpcEFkZHJlc3NUeXBlID1cbiAgICAgIGxvYWRCYWxhbmNlci5JcEFkZHJlc3NUeXBlID09PSAnaXB2NCcgPyBMb2FkQmFsYW5jZXJJcEFkZHJlc3NUeXBlLklQVjQgOiBMb2FkQmFsYW5jZXJJcEFkZHJlc3NUeXBlLkRVQUxfU1RBQ0s7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbG9hZEJhbGFuY2VyQXJuOiBsb2FkQmFsYW5jZXIuTG9hZEJhbGFuY2VyQXJuISxcbiAgICAgIGxvYWRCYWxhbmNlckNhbm9uaWNhbEhvc3RlZFpvbmVJZDogbG9hZEJhbGFuY2VyLkNhbm9uaWNhbEhvc3RlZFpvbmVJZCEsXG4gICAgICBsb2FkQmFsYW5jZXJEbnNOYW1lOiBsb2FkQmFsYW5jZXIuRE5TTmFtZSEsXG4gICAgICB2cGNJZDogbG9hZEJhbGFuY2VyLlZwY0lkISxcbiAgICAgIHNlY3VyaXR5R3JvdXBJZHM6IGxvYWRCYWxhbmNlci5TZWN1cml0eUdyb3VwcyA/PyBbXSxcbiAgICAgIGlwQWRkcmVzc1R5cGU6IGlwQWRkcmVzc1R5cGUsXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIFByb3ZpZGVzIGxvYWQgYmFsYW5jZXIgbGlzdGVuZXIgY29udGV4dCBpbmZvcm1hdGlvblxuICovXG5leHBvcnQgY2xhc3MgTG9hZEJhbGFuY2VyTGlzdGVuZXJDb250ZXh0UHJvdmlkZXJQbHVnaW4gaW1wbGVtZW50cyBDb250ZXh0UHJvdmlkZXJQbHVnaW4ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGF3czogU2RrUHJvdmlkZXIpIHtcbiAgfVxuXG4gIGFzeW5jIGdldFZhbHVlKHF1ZXJ5OiBMb2FkQmFsYW5jZXJMaXN0ZW5lckNvbnRleHRRdWVyeSk6IFByb21pc2U8TG9hZEJhbGFuY2VyTGlzdGVuZXJDb250ZXh0UmVzcG9uc2U+IHtcbiAgICBpZiAoIXF1ZXJ5Lmxpc3RlbmVyQXJuICYmICFxdWVyeS5sb2FkQmFsYW5jZXJBcm4gJiYgIXF1ZXJ5LmxvYWRCYWxhbmNlclRhZ3MpIHtcbiAgICAgIHRocm93IG5ldyBDb250ZXh0UHJvdmlkZXJFcnJvcihcbiAgICAgICAgJ1RoZSBsb2FkIGJhbGFuY2VyIGxpc3RlbmVyIHF1ZXJ5IG11c3Qgc3BlY2lmeSBhdCBsZWFzdCBvbmUgb2Y6IGBsaXN0ZW5lckFybmAsIGBsb2FkQmFsYW5jZXJBcm5gIG9yIGBsb2FkQmFsYW5jZXJUYWdzYCcsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiAoYXdhaXQgTG9hZEJhbGFuY2VyUHJvdmlkZXIuZ2V0Q2xpZW50KHRoaXMuYXdzLCBxdWVyeSkpLmdldExpc3RlbmVyKCk7XG4gIH1cbn1cblxuY2xhc3MgTG9hZEJhbGFuY2VyUHJvdmlkZXIge1xuICBwdWJsaWMgc3RhdGljIGFzeW5jIGdldENsaWVudChcbiAgICBhd3M6IFNka1Byb3ZpZGVyLFxuICAgIHF1ZXJ5OiBMb2FkQmFsYW5jZXJMaXN0ZW5lckNvbnRleHRRdWVyeSxcbiAgKTogUHJvbWlzZTxMb2FkQmFsYW5jZXJQcm92aWRlcj4ge1xuICAgIGNvbnN0IGNsaWVudCA9IChhd2FpdCBpbml0Q29udGV4dFByb3ZpZGVyU2RrKGF3cywgcXVlcnkpKS5lbGJ2MigpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGxpc3RlbmVyID0gcXVlcnkubGlzdGVuZXJBcm5cbiAgICAgICAgPyAvLyBBc3NlcnQgd2UncmUgc3VyZSB0aGVyZSdzIGF0IGxlYXN0IG9uZSBzbyBpdCB0aHJvd3MgaWYgbm90XG4gICAgICAgIChhd2FpdCBjbGllbnQuZGVzY3JpYmVMaXN0ZW5lcnMoeyBMaXN0ZW5lckFybnM6IFtxdWVyeS5saXN0ZW5lckFybl0gfSkpLkxpc3RlbmVycyFbMF0hXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuIG5ldyBMb2FkQmFsYW5jZXJQcm92aWRlcihcbiAgICAgICAgY2xpZW50LFxuICAgICAgICB7IC4uLnF1ZXJ5LCBsb2FkQmFsYW5jZXJBcm46IGxpc3RlbmVyPy5Mb2FkQmFsYW5jZXJBcm4gfHwgcXVlcnkubG9hZEJhbGFuY2VyQXJuIH0sXG4gICAgICAgIGxpc3RlbmVyLFxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRocm93IG5ldyBDb250ZXh0UHJvdmlkZXJFcnJvcihgTm8gbG9hZCBiYWxhbmNlciBsaXN0ZW5lcnMgZm91bmQgbWF0Y2hpbmcgYXJuICR7cXVlcnkubGlzdGVuZXJBcm59YCk7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjbGllbnQ6IElFbGFzdGljTG9hZEJhbGFuY2luZ1YyQ2xpZW50LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmlsdGVyOiBMb2FkQmFsYW5jZXJMaXN0ZW5lckNvbnRleHRRdWVyeSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpc3RlbmVyPzogTGlzdGVuZXIsXG4gICkge1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldExvYWRCYWxhbmNlcigpOiBQcm9taXNlPExvYWRCYWxhbmNlcj4ge1xuICAgIGNvbnN0IGxvYWRCYWxhbmNlcnMgPSBhd2FpdCB0aGlzLmdldExvYWRCYWxhbmNlcnMoKTtcblxuICAgIGlmIChsb2FkQmFsYW5jZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IENvbnRleHRQcm92aWRlckVycm9yKGBObyBsb2FkIGJhbGFuY2VycyBmb3VuZCBtYXRjaGluZyAke0pTT04uc3RyaW5naWZ5KHRoaXMuZmlsdGVyKX1gKTtcbiAgICB9XG5cbiAgICBpZiAobG9hZEJhbGFuY2Vycy5sZW5ndGggPiAxKSB7XG4gICAgICB0aHJvdyBuZXcgQ29udGV4dFByb3ZpZGVyRXJyb3IoXG4gICAgICAgIGBNdWx0aXBsZSBsb2FkIGJhbGFuY2VycyBmb3VuZCBtYXRjaGluZyAke0pTT04uc3RyaW5naWZ5KHRoaXMuZmlsdGVyKX0gLSBwbGVhc2UgcHJvdmlkZSBtb3JlIHNwZWNpZmljIGNyaXRlcmlhYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGxvYWRCYWxhbmNlcnNbMF07XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0TGlzdGVuZXIoKTogUHJvbWlzZTxMb2FkQmFsYW5jZXJMaXN0ZW5lckNvbnRleHRSZXNwb25zZT4ge1xuICAgIGlmICh0aGlzLmxpc3RlbmVyKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBsb2FkQmFsYW5jZXIgPSBhd2FpdCB0aGlzLmdldExvYWRCYWxhbmNlcigpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGxpc3RlbmVyQXJuOiB0aGlzLmxpc3RlbmVyLkxpc3RlbmVyQXJuISxcbiAgICAgICAgICBsaXN0ZW5lclBvcnQ6IHRoaXMubGlzdGVuZXIuUG9ydCEsXG4gICAgICAgICAgc2VjdXJpdHlHcm91cElkczogbG9hZEJhbGFuY2VyLlNlY3VyaXR5R3JvdXBzIHx8IFtdLFxuICAgICAgICB9O1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHRocm93IG5ldyBDb250ZXh0UHJvdmlkZXJFcnJvcihgTm8gYXNzb2NpYXRlZCBsb2FkIGJhbGFuY2VyIGZvdW5kIGZvciBsaXN0ZW5lciBhcm4gJHt0aGlzLmZpbHRlci5saXN0ZW5lckFybn1gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBsb2FkQmFsYW5jZXJzID0gYXdhaXQgdGhpcy5nZXRMb2FkQmFsYW5jZXJzKCk7XG4gICAgaWYgKGxvYWRCYWxhbmNlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgQ29udGV4dFByb3ZpZGVyRXJyb3IoXG4gICAgICAgIGBObyBhc3NvY2lhdGVkIGxvYWQgYmFsYW5jZXJzIGZvdW5kIGZvciBsb2FkIGJhbGFuY2VyIGxpc3RlbmVyIHF1ZXJ5ICR7SlNPTi5zdHJpbmdpZnkodGhpcy5maWx0ZXIpfWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGxpc3RlbmVycyA9IChhd2FpdCB0aGlzLmdldExpc3RlbmVyc0ZvckxvYWRCYWxhbmNlcnMobG9hZEJhbGFuY2VycykpLmZpbHRlcigobGlzdGVuZXIpID0+IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgICghdGhpcy5maWx0ZXIubGlzdGVuZXJQb3J0IHx8IGxpc3RlbmVyLlBvcnQgPT09IHRoaXMuZmlsdGVyLmxpc3RlbmVyUG9ydCkgJiZcbiAgICAgICAgKCF0aGlzLmZpbHRlci5saXN0ZW5lclByb3RvY29sIHx8IGxpc3RlbmVyLlByb3RvY29sID09PSB0aGlzLmZpbHRlci5saXN0ZW5lclByb3RvY29sKVxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGlmIChsaXN0ZW5lcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgQ29udGV4dFByb3ZpZGVyRXJyb3IoYE5vIGxvYWQgYmFsYW5jZXIgbGlzdGVuZXJzIGZvdW5kIG1hdGNoaW5nICR7SlNPTi5zdHJpbmdpZnkodGhpcy5maWx0ZXIpfWApO1xuICAgIH1cblxuICAgIGlmIChsaXN0ZW5lcnMubGVuZ3RoID4gMSkge1xuICAgICAgdGhyb3cgbmV3IENvbnRleHRQcm92aWRlckVycm9yKFxuICAgICAgICBgTXVsdGlwbGUgbG9hZCBiYWxhbmNlciBsaXN0ZW5lcnMgZm91bmQgbWF0Y2hpbmcgJHtKU09OLnN0cmluZ2lmeSh0aGlzLmZpbHRlcil9IC0gcGxlYXNlIHByb3ZpZGUgbW9yZSBzcGVjaWZpYyBjcml0ZXJpYWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBsaXN0ZW5lckFybjogbGlzdGVuZXJzWzBdLkxpc3RlbmVyQXJuISxcbiAgICAgIGxpc3RlbmVyUG9ydDogbGlzdGVuZXJzWzBdLlBvcnQhLFxuICAgICAgc2VjdXJpdHlHcm91cElkczpcbiAgICAgICAgbG9hZEJhbGFuY2Vycy5maW5kKChsYikgPT4gbGlzdGVuZXJzWzBdLkxvYWRCYWxhbmNlckFybiA9PT0gbGIuTG9hZEJhbGFuY2VyQXJuKT8uU2VjdXJpdHlHcm91cHMgfHwgW10sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0TG9hZEJhbGFuY2VycygpIHtcbiAgICBjb25zdCBsb2FkQmFsYW5jZXJBcm5zID0gdGhpcy5maWx0ZXIubG9hZEJhbGFuY2VyQXJuID8gW3RoaXMuZmlsdGVyLmxvYWRCYWxhbmNlckFybl0gOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgbG9hZEJhbGFuY2VycyA9IChcbiAgICAgIGF3YWl0IHRoaXMuY2xpZW50LnBhZ2luYXRlRGVzY3JpYmVMb2FkQmFsYW5jZXJzKHtcbiAgICAgICAgTG9hZEJhbGFuY2VyQXJuczogbG9hZEJhbGFuY2VyQXJucyxcbiAgICAgIH0pXG4gICAgKS5maWx0ZXIoKGxiKSA9PiBsYi5UeXBlID09PSB0aGlzLmZpbHRlci5sb2FkQmFsYW5jZXJUeXBlKTtcblxuICAgIHJldHVybiB0aGlzLmZpbHRlckJ5VGFncyhsb2FkQmFsYW5jZXJzKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZmlsdGVyQnlUYWdzKGxvYWRCYWxhbmNlcnM6IExvYWRCYWxhbmNlcltdKTogUHJvbWlzZTxMb2FkQmFsYW5jZXJbXT4ge1xuICAgIGlmICghdGhpcy5maWx0ZXIubG9hZEJhbGFuY2VyVGFncykge1xuICAgICAgcmV0dXJuIGxvYWRCYWxhbmNlcnM7XG4gICAgfVxuICAgIHJldHVybiAoYXdhaXQgdGhpcy5kZXNjcmliZVRhZ3MobG9hZEJhbGFuY2Vycy5tYXAoKGxiKSA9PiBsYi5Mb2FkQmFsYW5jZXJBcm4hKSkpXG4gICAgICAuZmlsdGVyKCh0YWdEZXNjcmlwdGlvbikgPT4ge1xuICAgICAgICAvLyBGb3IgZXZlcnkgdGFnIGluIHRoZSBmaWx0ZXIsIHRoZXJlIGlzIHNvbWUgdGFnIGluIHRoZSBMQiB0aGF0IG1hdGNoZXMgaXQuXG4gICAgICAgIC8vIEluIG90aGVyIHdvcmRzLCB0aGUgc2V0IG9mIHRhZ3MgaW4gdGhlIGZpbHRlciBpcyBhIHN1YnNldCBvZiB0aGUgc2V0IG9mIHRhZ3MgaW4gdGhlIExCLlxuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXIubG9hZEJhbGFuY2VyVGFncyEuZXZlcnkoKGZpbHRlcikgPT4ge1xuICAgICAgICAgIHJldHVybiB0YWdEZXNjcmlwdGlvbi5UYWdzPy5zb21lKCh0YWcpID0+XG4gICAgICAgICAgICBmaWx0ZXIua2V5ID09PSB0YWcuS2V5ICYmIGZpbHRlci52YWx1ZSA9PT0gdGFnLlZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICAgLmZsYXRNYXAoKHRhZykgPT4gbG9hZEJhbGFuY2Vycy5maWx0ZXIoKGxvYWRCYWxhbmNlcikgPT4gdGFnLlJlc291cmNlQXJuID09PSBsb2FkQmFsYW5jZXIuTG9hZEJhbGFuY2VyQXJuKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0YWcgZGVzY3JpcHRpb25zIGFzc29jaWF0ZWQgd2l0aCB0aGUgcmVzb3VyY2VzLiBUaGUgQVBJIGRvZXNuJ3Qgc3VwcG9ydFxuICAgKiBwYWdpbmF0aW9uLCBzbyB0aGlzIGZ1bmN0aW9uIGJyZWFrcyB0aGUgcmVzb3VyY2UgbGlzdCBpbnRvIGNodW5rcyBhbmQgaXNzdWVzXG4gICAqIHRoZSBhcHByb3ByaWF0ZSByZXF1ZXN0cy5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgZGVzY3JpYmVUYWdzKHJlc291cmNlQXJuczogc3RyaW5nW10pOiBQcm9taXNlPFRhZ0Rlc2NyaXB0aW9uW10+IHtcbiAgICAvLyBNYXggb2YgMjAgcmVzb3VyY2UgYXJucyBwZXIgcmVxdWVzdC5cbiAgICBjb25zdCBjaHVua1NpemUgPSAyMDtcbiAgICBjb25zdCB0YWdzID0gQXJyYXk8VGFnRGVzY3JpcHRpb24+KCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCByZXNvdXJjZUFybnMubGVuZ3RoOyBpICs9IGNodW5rU2l6ZSkge1xuICAgICAgY29uc3QgY2h1bmsgPSByZXNvdXJjZUFybnMuc2xpY2UoaSwgTWF0aC5taW4oaSArIGNodW5rU2l6ZSwgcmVzb3VyY2VBcm5zLmxlbmd0aCkpO1xuICAgICAgY29uc3QgY2h1bmtUYWdzID0gYXdhaXQgdGhpcy5jbGllbnQuZGVzY3JpYmVUYWdzKHtcbiAgICAgICAgUmVzb3VyY2VBcm5zOiBjaHVuayxcbiAgICAgIH0pO1xuXG4gICAgICB0YWdzLnB1c2goLi4uKGNodW5rVGFncy5UYWdEZXNjcmlwdGlvbnMgfHwgW10pKTtcbiAgICB9XG4gICAgcmV0dXJuIHRhZ3M7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldExpc3RlbmVyc0ZvckxvYWRCYWxhbmNlcnMobG9hZEJhbGFuY2VyczogTG9hZEJhbGFuY2VyW10pOiBQcm9taXNlPExpc3RlbmVyW10+IHtcbiAgICBjb25zdCBsaXN0ZW5lcnM6IExpc3RlbmVyW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IGxvYWRCYWxhbmNlciBvZiBsb2FkQmFsYW5jZXJzLm1hcCgobGIpID0+IGxiLkxvYWRCYWxhbmNlckFybikpIHtcbiAgICAgIGxpc3RlbmVycy5wdXNoKC4uLihhd2FpdCB0aGlzLmNsaWVudC5wYWdpbmF0ZURlc2NyaWJlTGlzdGVuZXJzKHsgTG9hZEJhbGFuY2VyQXJuOiBsb2FkQmFsYW5jZXIgfSkpKTtcbiAgICB9XG4gICAgcmV0dXJuIGxpc3RlbmVycztcbiAgfVxufVxuIl19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { SSMParameterContextQuery } from '@aws-cdk/cloud-assembly-schema';
|
|
2
2
|
import { type SdkProvider } from '../api/aws-auth/sdk-provider';
|
|
3
|
-
import { ContextProviderPlugin } from '../api/plugin';
|
|
3
|
+
import type { ContextProviderPlugin } from '../api/plugin';
|
|
4
4
|
/**
|
|
5
5
|
* Plugin to read arbitrary SSM parameter names
|
|
6
6
|
*/
|
|
@@ -56,4 +56,4 @@ class SSMContextProviderPlugin {
|
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
exports.SSMContextProviderPlugin = SSMContextProviderPlugin;
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3NtLXBhcmFtZXRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzc20tcGFyYW1ldGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSwrREFBd0Y7QUFFeEYsd0NBQW1DO0FBQ25DLDRDQUF3RDtBQUV4RDs7R0FFRztBQUNILE1BQWEsd0JBQXdCO0lBQ25DLFlBQTZCLEdBQWdCO1FBQWhCLFFBQUcsR0FBSCxHQUFHLENBQWE7SUFDN0MsQ0FBQztJQUVNLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBOEI7UUFDbEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMzQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBRTdCLElBQUksQ0FBQyxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQy9CLE1BQU0sSUFBSSw0QkFBb0IsQ0FBQyxzRUFBc0UsQ0FBQyxDQUFDO1FBQ3pHLENBQUM7UUFDRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3pDLElBQUEsZUFBSyxFQUFDLHlCQUF5QixPQUFPLElBQUksTUFBTSxJQUFJLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFFckUsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkQsTUFBTSxpQkFBaUIsR0FBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLElBQUksUUFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDO1FBQ2pHLE1BQU0sYUFBYSxHQUFHLDZCQUE2QixJQUFJLElBQUksSUFBSyxJQUFJLENBQUMsMkJBQXVDLENBQUM7UUFDN0csSUFBSSxpQkFBaUIsSUFBSSxhQUFhLElBQUksWUFBWSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQy9ELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUN6QixDQUFDO1FBQ0QsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1lBQ3RCLE1BQU0sSUFBSSw0QkFBb0IsQ0FBQywwQ0FBMEMsT0FBTyxZQUFZLE1BQU0sS0FBSyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQzFILENBQUM7UUFDRCxvRUFBb0U7UUFDcEUsT0FBTyxRQUFRLENBQUMsU0FBVSxDQUFDLEtBQUssQ0FBQztJQUNuQyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNLLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxJQUE4QjtRQUMvRCxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sSUFBQSxxQ0FBc0IsRUFBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDakUsSUFBSSxDQUFDO1lBQ0gsT0FBTyxNQUFNLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLG1CQUFtQixFQUFFLENBQUM7Z0JBQ25DLE9BQU8sRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDM0IsQ0FBQztZQUNELE1BQU0sQ0FBQyxDQUFDO1FBQ1YsQ0FBQztJQUNILENBQUM7Q0FDRjtBQWpERCw0REFpREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNTTVBhcmFtZXRlckNvbnRleHRRdWVyeSB9IGZyb20gJ0Bhd3MtY2RrL2Nsb3VkLWFzc2VtYmx5LXNjaGVtYSc7XG5pbXBvcnQgdHlwZSB7IEdldFBhcmFtZXRlckNvbW1hbmRPdXRwdXQgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtc3NtJztcbmltcG9ydCB7IHR5cGUgU2RrUHJvdmlkZXIsIGluaXRDb250ZXh0UHJvdmlkZXJTZGsgfSBmcm9tICcuLi9hcGkvYXdzLWF1dGgvc2RrLXByb3ZpZGVyJztcbmltcG9ydCB0eXBlIHsgQ29udGV4dFByb3ZpZGVyUGx1Z2luIH0gZnJvbSAnLi4vYXBpL3BsdWdpbic7XG5pbXBvcnQgeyBkZWJ1ZyB9IGZyb20gJy4uL2xvZ2dpbmcnO1xuaW1wb3J0IHsgQ29udGV4dFByb3ZpZGVyRXJyb3IgfSBmcm9tICcuLi90b29sa2l0L2Vycm9yJztcblxuLyoqXG4gKiBQbHVnaW4gdG8gcmVhZCBhcmJpdHJhcnkgU1NNIHBhcmFtZXRlciBuYW1lc1xuICovXG5leHBvcnQgY2xhc3MgU1NNQ29udGV4dFByb3ZpZGVyUGx1Z2luIGltcGxlbWVudHMgQ29udGV4dFByb3ZpZGVyUGx1Z2luIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhd3M6IFNka1Byb3ZpZGVyKSB7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0VmFsdWUoYXJnczogU1NNUGFyYW1ldGVyQ29udGV4dFF1ZXJ5KSB7XG4gICAgY29uc3QgcmVnaW9uID0gYXJncy5yZWdpb247XG4gICAgY29uc3QgYWNjb3VudCA9IGFyZ3MuYWNjb3VudDtcblxuICAgIGlmICghKCdwYXJhbWV0ZXJOYW1lJyBpbiBhcmdzKSkge1xuICAgICAgdGhyb3cgbmV3IENvbnRleHRQcm92aWRlckVycm9yKCdwYXJhbWV0ZXJOYW1lIG11c3QgYmUgcHJvdmlkZWQgaW4gcHJvcHMgZm9yIFNTTUNvbnRleHRQcm92aWRlclBsdWdpbicpO1xuICAgIH1cbiAgICBjb25zdCBwYXJhbWV0ZXJOYW1lID0gYXJncy5wYXJhbWV0ZXJOYW1lO1xuICAgIGRlYnVnKGBSZWFkaW5nIFNTTSBwYXJhbWV0ZXIgJHthY2NvdW50fToke3JlZ2lvbn06JHtwYXJhbWV0ZXJOYW1lfWApO1xuXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmdldFNzbVBhcmFtZXRlclZhbHVlKGFyZ3MpO1xuICAgIGNvbnN0IHBhcmFtZXRlck5vdEZvdW5kOiBib29sZWFuID0gIXJlc3BvbnNlLlBhcmFtZXRlciB8fCByZXNwb25zZS5QYXJhbWV0ZXIuVmFsdWUgPT09IHVuZGVmaW5lZDtcbiAgICBjb25zdCBzdXBwcmVzc0Vycm9yID0gJ2lnbm9yZUVycm9yT25NaXNzaW5nQ29udGV4dCcgaW4gYXJncyAmJiAoYXJncy5pZ25vcmVFcnJvck9uTWlzc2luZ0NvbnRleHQgYXMgYm9vbGVhbik7XG4gICAgaWYgKHBhcmFtZXRlck5vdEZvdW5kICYmIHN1cHByZXNzRXJyb3IgJiYgJ2R1bW15VmFsdWUnIGluIGFyZ3MpIHtcbiAgICAgIHJldHVybiBhcmdzLmR1bW15VmFsdWU7XG4gICAgfVxuICAgIGlmIChwYXJhbWV0ZXJOb3RGb3VuZCkge1xuICAgICAgdGhyb3cgbmV3IENvbnRleHRQcm92aWRlckVycm9yKGBTU00gcGFyYW1ldGVyIG5vdCBhdmFpbGFibGUgaW4gYWNjb3VudCAke2FjY291bnR9LCByZWdpb24gJHtyZWdpb259OiAke3BhcmFtZXRlck5hbWV9YCk7XG4gICAgfVxuICAgIC8vIHdpbGwgbm90IGJlIHVuZGVmaW5lZCBiZWNhdXNlIHdlJ3ZlIGhhbmRsZWQgdW5kZWZpbmVkIGNhc2VzIGFib3ZlXG4gICAgcmV0dXJuIHJlc3BvbnNlLlBhcmFtZXRlciEuVmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgdmFsdWUgb2YgYW4gU1NNIFBhcmFtZXRlciwgd2hpbGUgbm90IHRocm93aW4gaWYgdGhlIHBhcmFtZXRlciBkb2VzIG5vdCBleGlzdC5cbiAgICogQHBhcmFtIGFjY291bnQgICAgICAgdGhlIGFjY291bnQgaW4gd2hpY2ggdGhlIFNTTSBQYXJhbWV0ZXIgaXMgZXhwZWN0ZWQgdG8gYmUuXG4gICAqIEBwYXJhbSByZWdpb24gICAgICAgIHRoZSByZWdpb24gaW4gd2hpY2ggdGhlIFNTTSBQYXJhbWV0ZXIgaXMgZXhwZWN0ZWQgdG8gYmUuXG4gICAqIEBwYXJhbSBwYXJhbWV0ZXJOYW1lIHRoZSBuYW1lIG9mIHRoZSBTU00gUGFyYW1ldGVyXG4gICAqIEBwYXJhbSBsb29rdXBSb2xlQXJuIHRoZSBBUk4gb2YgdGhlIGxvb2t1cCByb2xlLlxuICAgKlxuICAgKiBAcmV0dXJucyB0aGUgcmVzdWx0IG9mIHRoZSBgYEdldFBhcmFtZXRlcmBgIG9wZXJhdGlvbi5cbiAgICpcbiAgICogQHRocm93cyBFcnJvciBpZiBhIHNlcnZpY2UgZXJyb3IgKG90aGVyIHRoYW4gYGBQYXJhbWV0ZXJOb3RGb3VuZGBgKSBvY2N1cnMuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGdldFNzbVBhcmFtZXRlclZhbHVlKGFyZ3M6IFNTTVBhcmFtZXRlckNvbnRleHRRdWVyeSk6IFByb21pc2U8R2V0UGFyYW1ldGVyQ29tbWFuZE91dHB1dD4ge1xuICAgIGNvbnN0IHNzbSA9IChhd2FpdCBpbml0Q29udGV4dFByb3ZpZGVyU2RrKHRoaXMuYXdzLCBhcmdzKSkuc3NtKCk7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCBzc20uZ2V0UGFyYW1ldGVyKHsgTmFtZTogYXJncy5wYXJhbWV0ZXJOYW1lIH0pO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgaWYgKGUubmFtZSA9PT0gJ1BhcmFtZXRlck5vdEZvdW5kJykge1xuICAgICAgICByZXR1cm4geyAkbWV0YWRhdGE6IHt9IH07XG4gICAgICB9XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { VpcContextQuery } from '@aws-cdk/cloud-assembly-schema';
|
|
2
2
|
import { type VpcContextResponse } from '@aws-cdk/cx-api';
|
|
3
3
|
import { type SdkProvider } from '../api/aws-auth/sdk-provider';
|
|
4
|
-
import { ContextProviderPlugin } from '../api/plugin';
|
|
4
|
+
import type { ContextProviderPlugin } from '../api/plugin';
|
|
5
5
|
export declare class VpcNetworkContextProviderPlugin implements ContextProviderPlugin {
|
|
6
6
|
private readonly aws;
|
|
7
7
|
constructor(aws: SdkProvider);
|
|
@@ -285,4 +285,4 @@ function collapse(xs) {
|
|
|
285
285
|
}
|
|
286
286
|
return undefined;
|
|
287
287
|
}
|
|
288
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnBjcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInZwY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsNENBQW1HO0FBR25HLCtEQUF3RjtBQUV4Rix3Q0FBbUM7QUFDbkMsNENBQXdEO0FBQ3hELE1BQWEsK0JBQStCO0lBQzFDLFlBQTZCLEdBQWdCO1FBQWhCLFFBQUcsR0FBSCxHQUFHLENBQWE7SUFDN0MsQ0FBQztJQUVNLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBcUI7UUFDekMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLElBQUEscUNBQXNCLEVBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBRWpFLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFNUMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVPLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBZSxFQUFFLElBQXFCO1FBQzFELDZFQUE2RTtRQUM3RSxNQUFNLE9BQU8sR0FBYSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFOUcsSUFBQSxlQUFLLEVBQUMsbUJBQW1CLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDeEQsTUFBTSxRQUFRLEdBQUcsTUFBTSxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFFOUQsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDakMsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3RCLE1BQU0sSUFBSSw0QkFBb0IsQ0FBQyxvQ0FBb0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDN0YsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksNEJBQW9CLENBQUMsU0FBUyxJQUFJLENBQUMsTUFBTSxrQkFBa0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMscUNBQXFDLENBQUMsQ0FBQztRQUNsSSxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakIsQ0FBQztJQUVPLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBZSxFQUFFLEdBQVEsRUFBRSxJQUFxQjs7UUFDekUsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQU0sQ0FBQztRQUV6QixJQUFBLGVBQUssRUFBQyxrQkFBa0IsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUVqQyxNQUFNLE9BQU8sR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUVuRSxNQUFNLGVBQWUsR0FBRyxNQUFNLEdBQUcsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0QsTUFBTSxhQUFhLEdBQUcsZUFBZSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFFcEQsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuRSxNQUFNLFdBQVcsR0FBRyxJQUFJLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLENBQUM7UUFFM0UseUdBQXlHO1FBQ3pHLDZDQUE2QztRQUM3Qyx5RUFBeUU7UUFDekUsbURBQW1EO1FBQ25ELCtDQUErQztRQUMvQyw2Q0FBNkM7UUFDN0MsOEVBQThFO1FBQzlFLHdGQUF3RjtRQUN4RiwwQ0FBMEM7UUFDMUMsbUZBQW1GO1FBQ25GLGlDQUFpQztRQUVqQyxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFTLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxnQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RixHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFWCxNQUFNLE9BQU8sR0FBYSxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDckQsSUFBSSxJQUFJLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0RCxJQUFJLElBQUksS0FBSyxTQUFTLElBQUksTUFBTSxDQUFDLG1CQUFtQixFQUFFLENBQUM7Z0JBQ3JELElBQUksR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO1lBQzNCLENBQUM7WUFDRCxJQUFJLElBQUksS0FBSyxTQUFTLElBQUksV0FBVyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztnQkFDckUsSUFBSSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7WUFDM0IsQ0FBQztZQUNELElBQUksSUFBSSxLQUFLLFNBQVMsSUFBSSxXQUFXLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7Z0JBQzVFLElBQUksR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDO1lBQzVCLENBQUM7WUFDRCxJQUFJLElBQUksS0FBSyxTQUFTLElBQUksV0FBVyxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUNoRixJQUFJLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQztZQUM1QixDQUFDO1lBQ0QsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQzdCLENBQUM7WUFFRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDN0IsbUNBQW1DO2dCQUNuQyxNQUFNLElBQUksNEJBQW9CLENBQzVCLFVBQVUsTUFBTSxDQUFDLFNBQVMsNEJBQTRCLElBQUksYUFBYSxVQUFVLENBQUMsTUFBTSxLQUFLLFVBQVUsQ0FBQyxPQUFPLE9BQU8sVUFBVSxDQUFDLFFBQVEsR0FBRyxDQUM3SSxDQUFDO1lBQ0osQ0FBQztZQUVELElBQUksSUFBSSxDQUFDLGtCQUFrQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDN0UsTUFBTSxJQUFJLDRCQUFvQixDQUM1QixzQ0FBc0MsTUFBTSxDQUFDLFNBQVMsOENBQThDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxDQUMvSCxDQUFDO1lBQ0osQ0FBQztZQUVELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLElBQUkscUJBQXFCLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQztZQUMzRixNQUFNLFlBQVksR0FBRyxXQUFXLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRTFFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDbEIsTUFBTSxJQUFJLDRCQUFvQixDQUM1QixVQUFVLE1BQU0sQ0FBQyxTQUFTLHlFQUF5RSxDQUNwRyxDQUFDO1lBQ0osQ0FBQztZQUVELE9BQU87Z0JBQ0wsRUFBRSxFQUFFLE1BQU0sQ0FBQyxnQkFBaUI7Z0JBQzVCLElBQUksRUFBRSxNQUFNLENBQUMsU0FBVTtnQkFDdkIsSUFBSTtnQkFDSixJQUFJO2dCQUNKLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUztnQkFDMUIsWUFBWTthQUNiLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksT0FBcUIsQ0FBQztRQUMxQixJQUFJLHNCQUFvRCxDQUFDO1FBQ3pELElBQUksSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDakMsT0FBTyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDbEMsc0JBQXNCLEdBQUcsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0QsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2hDLHNCQUFzQixHQUFHLFNBQVMsQ0FBQztRQUNyQyxDQUFDO1FBRUQsbURBQW1EO1FBQ25ELE1BQU0sa0JBQWtCLEdBQ3RCLENBQUMsTUFBQSxJQUFJLENBQUMsaUJBQWlCLG1DQUFJLElBQUksQ0FBQztZQUM5QixDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsbUJBQW1CLENBQUM7Z0JBQzlCLE9BQU8sRUFBRTtvQkFDUDt3QkFDRSxJQUFJLEVBQUUsbUJBQW1CO3dCQUN6QixNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUM7cUJBQ2hCO29CQUNEO3dCQUNFLElBQUksRUFBRSxrQkFBa0I7d0JBQ3hCLE1BQU0sRUFBRSxDQUFDLFVBQVUsQ0FBQztxQkFDckI7b0JBQ0Q7d0JBQ0UsSUFBSSxFQUFFLE9BQU87d0JBQ2IsTUFBTSxFQUFFLENBQUMsV0FBVyxDQUFDO3FCQUN0QjtpQkFDRjthQUNGLENBQUM7WUFDRixDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ2hCLE1BQU0sWUFBWSxHQUNoQixDQUFBLE1BQUEsa0JBQWtCLGFBQWxCLGtCQUFrQix1QkFBbEIsa0JBQWtCLENBQUUsV0FBVywwQ0FBRSxNQUFNLE1BQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFN0csT0FBTztZQUNMLEtBQUs7WUFDTCxZQUFZLEVBQUUsR0FBRyxDQUFDLFNBQVU7WUFDNUIsY0FBYyxFQUFFLEdBQUcsQ0FBQyxPQUFPO1lBQzNCLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxHQUFHO1lBQzlCLGlCQUFpQixFQUFFLFFBQVEsQ0FDekIsT0FBTyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQ25HO1lBQ0QsbUJBQW1CLEVBQUUsUUFBUSxDQUMzQixPQUFPLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQy9GO1lBQ0QsMkJBQTJCLEVBQUUsUUFBUSxDQUNuQyxPQUFPLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FDdkc7WUFDRCxnQkFBZ0IsRUFBRSxRQUFRLENBQ3hCLE9BQU8sQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUNsRztZQUNELGtCQUFrQixFQUFFLFFBQVEsQ0FDMUIsT0FBTyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUM5RjtZQUNELDBCQUEwQixFQUFFLFFBQVEsQ0FDbEMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQ3RHO1lBQ0QsZUFBZSxFQUFFLFFBQVEsQ0FDdkIsT0FBTyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQ2pHO1lBQ0QsaUJBQWlCLEVBQUUsUUFBUSxDQUN6QixPQUFPLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQzdGO1lBQ0QseUJBQXlCLEVBQUUsUUFBUSxDQUNqQyxPQUFPLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FDckc7WUFDRCxZQUFZO1lBQ1osWUFBWSxFQUFFLHNCQUFzQjtTQUNyQyxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBakxELDBFQWlMQztBQUVELE1BQU0sV0FBVztJQUdmLFlBQTZCLE1BQW9CO1FBQXBCLFdBQU0sR0FBTixNQUFNLENBQWM7UUFDL0MsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDcEMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsWUFBWSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUNwRixDQUFDO0lBQ0osQ0FBQztJQUVNLHVCQUF1QixDQUFDLFFBQTRCO1FBQ3pELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUMsT0FBTyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDcEcsQ0FBQztJQUVEOztPQUVHO0lBQ0ksb0JBQW9CLENBQUMsUUFBNEI7UUFDdEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDO1FBRW5FLE9BQU8sQ0FDTCxDQUFDLENBQUMsS0FBSztZQUNQLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTTtZQUNkLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUMsb0JBQW9CLEtBQUssV0FBVyxDQUFDLENBQ2pHLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSSx3QkFBd0IsQ0FBQyxRQUE0QjtRQUMxRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUM7UUFFbkUsT0FBTyxDQUNMLENBQUMsQ0FBQyxLQUFLO1lBQ1AsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNO1lBQ2QsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLElBQUksS0FBSyxDQUFDLG9CQUFvQixLQUFLLFdBQVcsQ0FBQyxDQUNyRyxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ksYUFBYSxDQUFDLFFBQTRCO1FBQy9DLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUVuRSxPQUFPLENBQ0wsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FDbkgsQ0FBQztJQUNKLENBQUM7SUFFTSxjQUFjLENBQUMsUUFBNEI7UUFDaEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDckIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsWUFBWSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUNuRyxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFDSCxTQUFTLE1BQU0sQ0FBQyxJQUFZLEVBQUUsSUFBWTtJQUN4QyxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUM3QixJQUFJLEdBQUcsQ0FBQyxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDckIsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDO1FBQ25CLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBUyxZQUFZLENBQUMsT0FBaUI7SUFDckMsTUFBTSxRQUFRLEdBQWdDLEVBQUUsQ0FBQztJQUNqRCxLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzdCLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEQsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDdkIsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNyQixDQUFDO1FBQ0QsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUNqRCxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBUyxFQUFFLENBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDN0QsT0FBTztZQUNMLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtZQUNqQixJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDakIsT0FBTyxFQUFFLEdBQUc7U0FDYixDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7SUFFSCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRS9DLEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxFQUFFLENBQUM7UUFDM0IsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sSUFBSSw0QkFBb0IsQ0FBQyw2Q0FBNkMsUUFBUSxPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDcEcsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDO0FBQ3pCLENBQUM7QUFFRCxTQUFTLHNCQUFzQixDQUFDLE9BQWlCO0lBQy9DLE1BQU0sUUFBUSxHQUFnQyxFQUFFLENBQUM7SUFDakQsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUM3QixNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xELElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDckIsQ0FBQztRQUNELFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtRQUNqRCxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBZSxFQUFFLE9BQWUsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFN0YsT0FBTztZQUNMLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtZQUN6QixJQUFJLEVBQUUseUJBQXlCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNwRCxPQUFPLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDcEMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO2dCQUN6QixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7Z0JBQ2pCLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxFQUFFO2dCQUMzQixZQUFZLEVBQUUsTUFBTSxDQUFDLFlBQVk7YUFDbEMsQ0FBQyxDQUFDO1NBQ0osQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELFNBQVMseUJBQXlCLENBQUMsSUFBZ0I7SUFDakQsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUNiLEtBQUssVUFBVSxDQUFDLFFBQVE7WUFDdEIsT0FBTywyQkFBa0IsQ0FBQyxRQUFRLENBQUM7UUFDckMsS0FBSyxVQUFVLENBQUMsT0FBTztZQUNyQixPQUFPLDJCQUFrQixDQUFDLE9BQU8sQ0FBQztRQUNwQyxLQUFLLFVBQVUsQ0FBQyxNQUFNO1lBQ3BCLE9BQU8sMkJBQWtCLENBQUMsTUFBTSxDQUFDO0lBQ3JDLENBQUM7QUFDSCxDQUFDO0FBRUQsSUFBSyxVQUlKO0FBSkQsV0FBSyxVQUFVO0lBQ2IsK0JBQWlCLENBQUE7SUFDakIsaUNBQW1CLENBQUE7SUFDbkIsbUNBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQUpJLFVBQVUsS0FBVixVQUFVLFFBSWQ7QUFFRCxTQUFTLGlCQUFpQixDQUFDLEdBQVc7SUFDcEMsT0FBTyxHQUFHLEtBQUssVUFBVSxDQUFDLE1BQU0sSUFBSSxHQUFHLEtBQUssVUFBVSxDQUFDLE9BQU8sSUFBSSxHQUFHLEtBQUssVUFBVSxDQUFDLFFBQVEsQ0FBQztBQUNoRyxDQUFDO0FBc0JELFNBQVMsV0FBVyxDQUFDLEVBQVksRUFBRSxFQUFZO0lBQzdDLElBQUksRUFBRSxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDNUIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNuQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNwQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsSUFBZ0IsRUFBRSxNQUFvQjtJQUN4RCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDO0FBQ3RELENBQUM7QUFFRCxTQUFTLE9BQU8sQ0FBTyxFQUFPLEVBQUUsRUFBaUI7SUFDL0MsTUFBTSxHQUFHLEdBQUcsSUFBSSxLQUFLLEVBQUssQ0FBQztJQUMzQixLQUFLLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQ25CLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBRUQsU0FBUyxRQUFRLENBQUksRUFBTztJQUMxQixJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDbEIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBQ0QsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVnBjQ29udGV4dFF1ZXJ5IH0gZnJvbSAnQGF3cy1jZGsvY2xvdWQtYXNzZW1ibHktc2NoZW1hJztcbmltcG9ydCB7IHR5cGUgVnBjQ29udGV4dFJlc3BvbnNlLCB0eXBlIFZwY1N1Ym5ldEdyb3VwLCBWcGNTdWJuZXRHcm91cFR5cGUgfSBmcm9tICdAYXdzLWNkay9jeC1hcGknO1xuaW1wb3J0IHR5cGUgeyBGaWx0ZXIsIFJvdXRlVGFibGUsIFRhZywgVnBjIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWVjMic7XG5pbXBvcnQgdHlwZSB7IElFQzJDbGllbnQgfSBmcm9tICcuLi9hcGknO1xuaW1wb3J0IHsgdHlwZSBTZGtQcm92aWRlciwgaW5pdENvbnRleHRQcm92aWRlclNkayB9IGZyb20gJy4uL2FwaS9hd3MtYXV0aC9zZGstcHJvdmlkZXInO1xuaW1wb3J0IHsgQ29udGV4dFByb3ZpZGVyUGx1Z2luIH0gZnJvbSAnLi4vYXBpL3BsdWdpbic7XG5pbXBvcnQgeyBkZWJ1ZyB9IGZyb20gJy4uL2xvZ2dpbmcnO1xuaW1wb3J0IHsgQ29udGV4dFByb3ZpZGVyRXJyb3IgfSBmcm9tICcuLi90b29sa2l0L2Vycm9yJztcbmV4cG9ydCBjbGFzcyBWcGNOZXR3b3JrQ29udGV4dFByb3ZpZGVyUGx1Z2luIGltcGxlbWVudHMgQ29udGV4dFByb3ZpZGVyUGx1Z2luIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhd3M6IFNka1Byb3ZpZGVyKSB7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0VmFsdWUoYXJnczogVnBjQ29udGV4dFF1ZXJ5KSB7XG4gICAgY29uc3QgZWMyID0gKGF3YWl0IGluaXRDb250ZXh0UHJvdmlkZXJTZGsodGhpcy5hd3MsIGFyZ3MpKS5lYzIoKTtcblxuICAgIGNvbnN0IHZwY0lkID0gYXdhaXQgdGhpcy5maW5kVnBjKGVjMiwgYXJncyk7XG5cbiAgICByZXR1cm4gdGhpcy5yZWFkVnBjUHJvcHMoZWMyLCB2cGNJZCwgYXJncyk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGZpbmRWcGMoZWMyOiBJRUMyQ2xpZW50LCBhcmdzOiBWcGNDb250ZXh0UXVlcnkpOiBQcm9taXNlPFZwYz4ge1xuICAgIC8vIEJ1aWxkIHJlcXVlc3QgZmlsdGVyIChtYXAgeyBOYW1lIC0+IFZhbHVlIH0gdG8gbGlzdCBvZiBbeyBOYW1lLCBWYWx1ZXMgfV0pXG4gICAgY29uc3QgZmlsdGVyczogRmlsdGVyW10gPSBPYmplY3QuZW50cmllcyhhcmdzLmZpbHRlcikubWFwKChbdGFnLCB2YWx1ZV0pID0+ICh7IE5hbWU6IHRhZywgVmFsdWVzOiBbdmFsdWVdIH0pKTtcblxuICAgIGRlYnVnKGBMaXN0aW5nIFZQQ3MgaW4gJHthcmdzLmFjY291bnR9OiR7YXJncy5yZWdpb259YCk7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBlYzIuZGVzY3JpYmVWcGNzKHsgRmlsdGVyczogZmlsdGVycyB9KTtcblxuICAgIGNvbnN0IHZwY3MgPSByZXNwb25zZS5WcGNzIHx8IFtdO1xuICAgIGlmICh2cGNzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IENvbnRleHRQcm92aWRlckVycm9yKGBDb3VsZCBub3QgZmluZCBhbnkgVlBDcyBtYXRjaGluZyAke0pTT04uc3RyaW5naWZ5KGFyZ3MpfWApO1xuICAgIH1cbiAgICBpZiAodnBjcy5sZW5ndGggPiAxKSB7XG4gICAgICB0aHJvdyBuZXcgQ29udGV4dFByb3ZpZGVyRXJyb3IoYEZvdW5kICR7dnBjcy5sZW5ndGh9IFZQQ3MgbWF0Y2hpbmcgJHtKU09OLnN0cmluZ2lmeShhcmdzKX07IHBsZWFzZSBuYXJyb3cgdGhlIHNlYXJjaCBjcml0ZXJpYWApO1xuICAgIH1cblxuICAgIHJldHVybiB2cGNzWzBdO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZWFkVnBjUHJvcHMoZWMyOiBJRUMyQ2xpZW50LCB2cGM6IFZwYywgYXJnczogVnBjQ29udGV4dFF1ZXJ5KTogUHJvbWlzZTxWcGNDb250ZXh0UmVzcG9uc2U+IHtcbiAgICBjb25zdCB2cGNJZCA9IHZwYy5WcGNJZCE7XG5cbiAgICBkZWJ1ZyhgRGVzY3JpYmluZyBWUEMgJHt2cGNJZH1gKTtcblxuICAgIGNvbnN0IGZpbHRlcnMgPSB7IEZpbHRlcnM6IFt7IE5hbWU6ICd2cGMtaWQnLCBWYWx1ZXM6IFt2cGNJZF0gfV0gfTtcblxuICAgIGNvbnN0IHN1Ym5ldHNSZXNwb25zZSA9IGF3YWl0IGVjMi5kZXNjcmliZVN1Ym5ldHMoZmlsdGVycyk7XG4gICAgY29uc3QgbGlzdGVkU3VibmV0cyA9IHN1Ym5ldHNSZXNwb25zZS5TdWJuZXRzIHx8IFtdO1xuXG4gICAgY29uc3Qgcm91dGVUYWJsZXNSZXNwb25zZSA9IGF3YWl0IGVjMi5kZXNjcmliZVJvdXRlVGFibGVzKGZpbHRlcnMpO1xuICAgIGNvbnN0IHJvdXRlVGFibGVzID0gbmV3IFJvdXRlVGFibGVzKHJvdXRlVGFibGVzUmVzcG9uc2UuUm91dGVUYWJsZXMgfHwgW10pO1xuXG4gICAgLy8gTm93IGNvbWVzIG91ciBqb2IgdG8gc2VwYXJhdGUgdGhlc2Ugc3VibmV0cyBvdXQgaW50byBBWnMgYW5kIHN1Ym5ldCBncm91cHMgKFB1YmxpYywgUHJpdmF0ZSwgSXNvbGF0ZWQpXG4gICAgLy8gV2UgaGF2ZSB0aGUgZm9sbG93aW5nIGF0dHJpYnV0ZXMgdG8gZ28gb246XG4gICAgLy8gLSBUeXBlIHRhZywgd2UgdGFnIHN1Ym5ldHMgd2l0aCB0aGVpciB0eXBlLiBJbiBhYnNlbmNlIG9mIHRoaXMgdGFnLCB3ZVxuICAgIC8vICAgZGV0ZXJtaW5lIHRoZSBzdWJuZXQgbXVzdCBiZSBQdWJsaWMgaWYgZWl0aGVyOlxuICAgIC8vICAgYSkgaXQgaGFzIHRoZSBwcm9wZXJ0eSBNYXBQdWJsaWNJcE9uTGF1bmNoXG4gICAgLy8gICBiKSBpdCBoYXMgYSByb3V0ZSB0byBhbiBJbnRlcm5ldCBHYXRld2F5XG4gICAgLy8gICBJZiBib3RoIG9mIHRoZSBhYm92ZSBpcyBmYWxzZSBidXQgdGhlIHN1Ym5ldCBoYXMgYSByb3V0ZSB0byBhIE5BVCBHYXRld2F5XG4gICAgLy8gICBhbmQgdGhlIGRlc3RpbmF0aW9uIENJRFIgYmxvY2sgaXMgXCIwLjAuMC4wLzBcIiwgd2UgYXNzdW1lIGl0IHRvIGJlIGEgUHJpdmF0ZSBzdWJuZXQuXG4gICAgLy8gICBBbnl0aGluZyBlbHNlIGlzIGNvbnNpZGVyZWQgSXNvbGF0ZWQuXG4gICAgLy8gLSBOYW1lIHRhZywgd2UgdGFnIHN1Ym5ldHMgd2l0aCB0aGVpciBzdWJuZXQgZ3JvdXAgbmFtZS4gSW4gYWJzZW5jZSBvZiB0aGlzIHRhZyxcbiAgICAvLyAgIHdlIHVzZSB0aGUgdHlwZSBhcyB0aGUgbmFtZS5cblxuICAgIGNvbnN0IGF6cyA9IEFycmF5LmZyb20obmV3IFNldDxzdHJpbmc+KGxpc3RlZFN1Ym5ldHMubWFwKChzKSA9PiBzLkF2YWlsYWJpbGl0eVpvbmUhKSkpO1xuICAgIGF6cy5zb3J0KCk7XG5cbiAgICBjb25zdCBzdWJuZXRzOiBTdWJuZXRbXSA9IGxpc3RlZFN1Ym5ldHMubWFwKChzdWJuZXQpID0+IHtcbiAgICAgIGxldCB0eXBlID0gZ2V0VGFnKCdhd3MtY2RrOnN1Ym5ldC10eXBlJywgc3VibmV0LlRhZ3MpO1xuICAgICAgaWYgKHR5cGUgPT09IHVuZGVmaW5lZCAmJiBzdWJuZXQuTWFwUHVibGljSXBPbkxhdW5jaCkge1xuICAgICAgICB0eXBlID0gU3VibmV0VHlwZS5QdWJsaWM7XG4gICAgICB9XG4gICAgICBpZiAodHlwZSA9PT0gdW5kZWZpbmVkICYmIHJvdXRlVGFibGVzLmhhc1JvdXRlVG9JZ3coc3VibmV0LlN1Ym5ldElkKSkge1xuICAgICAgICB0eXBlID0gU3VibmV0VHlwZS5QdWJsaWM7XG4gICAgICB9XG4gICAgICBpZiAodHlwZSA9PT0gdW5kZWZpbmVkICYmIHJvdXRlVGFibGVzLmhhc1JvdXRlVG9OYXRHYXRld2F5KHN1Ym5ldC5TdWJuZXRJZCkpIHtcbiAgICAgICAgdHlwZSA9IFN1Ym5ldFR5cGUuUHJpdmF0ZTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlID09PSB1bmRlZmluZWQgJiYgcm91dGVUYWJsZXMuaGFzUm91dGVUb1RyYW5zaXRHYXRld2F5KHN1Ym5ldC5TdWJuZXRJZCkpIHtcbiAgICAgICAgdHlwZSA9IFN1Ym5ldFR5cGUuUHJpdmF0ZTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdHlwZSA9IFN1Ym5ldFR5cGUuSXNvbGF0ZWQ7XG4gICAgICB9XG5cbiAgICAgIGlmICghaXNWYWxpZFN1Ym5ldFR5cGUodHlwZSkpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbiAgICAgICAgdGhyb3cgbmV3IENvbnRleHRQcm92aWRlckVycm9yKFxuICAgICAgICAgIGBTdWJuZXQgJHtzdWJuZXQuU3VibmV0QXJufSBoYXMgaW52YWxpZCBzdWJuZXQgdHlwZSAke3R5cGV9IChtdXN0IGJlICR7U3VibmV0VHlwZS5QdWJsaWN9LCAke1N1Ym5ldFR5cGUuUHJpdmF0ZX0gb3IgJHtTdWJuZXRUeXBlLklzb2xhdGVkfSlgLFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBpZiAoYXJncy5zdWJuZXRHcm91cE5hbWVUYWcgJiYgIWdldFRhZyhhcmdzLnN1Ym5ldEdyb3VwTmFtZVRhZywgc3VibmV0LlRhZ3MpKSB7XG4gICAgICAgIHRocm93IG5ldyBDb250ZXh0UHJvdmlkZXJFcnJvcihcbiAgICAgICAgICBgSW52YWxpZCBzdWJuZXRHcm91cE5hbWVUYWc6IFN1Ym5ldCAke3N1Ym5ldC5TdWJuZXRBcm59IGRvZXMgbm90IGhhdmUgYW4gYXNzb2NpYXRlZCB0YWcgd2l0aCBLZXk9JyR7YXJncy5zdWJuZXRHcm91cE5hbWVUYWd9J2AsXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG5hbWUgPSBnZXRUYWcoYXJncy5zdWJuZXRHcm91cE5hbWVUYWcgfHwgJ2F3cy1jZGs6c3VibmV0LW5hbWUnLCBzdWJuZXQuVGFncykgfHwgdHlwZTtcbiAgICAgIGNvbnN0IHJvdXRlVGFibGVJZCA9IHJvdXRlVGFibGVzLnJvdXRlVGFibGVJZEZvclN1Ym5ldElkKHN1Ym5ldC5TdWJuZXRJZCk7XG5cbiAgICAgIGlmICghcm91dGVUYWJsZUlkKSB7XG4gICAgICAgIHRocm93IG5ldyBDb250ZXh0UHJvdmlkZXJFcnJvcihcbiAgICAgICAgICBgU3VibmV0ICR7c3VibmV0LlN1Ym5ldEFybn0gZG9lcyBub3QgaGF2ZSBhbiBhc3NvY2lhdGVkIHJvdXRlIHRhYmxlIChhbmQgdGhlcmUgaXMgbm8gXCJtYWluXCIgdGFibGUpYCxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYXo6IHN1Ym5ldC5BdmFpbGFiaWxpdHlab25lISxcbiAgICAgICAgY2lkcjogc3VibmV0LkNpZHJCbG9jayEsXG4gICAgICAgIHR5cGUsXG4gICAgICAgIG5hbWUsXG4gICAgICAgIHN1Ym5ldElkOiBzdWJuZXQuU3VibmV0SWQhLFxuICAgICAgICByb3V0ZVRhYmxlSWQsXG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgbGV0IGdyb3VwZWQ6IFN1Ym5ldEdyb3VwcztcbiAgICBsZXQgYXNzeW1ldHJpY1N1Ym5ldEdyb3VwczogVnBjU3VibmV0R3JvdXBbXSB8IHVuZGVmaW5lZDtcbiAgICBpZiAoYXJncy5yZXR1cm5Bc3ltbWV0cmljU3VibmV0cykge1xuICAgICAgZ3JvdXBlZCA9IHsgYXpzOiBbXSwgZ3JvdXBzOiBbXSB9O1xuICAgICAgYXNzeW1ldHJpY1N1Ym5ldEdyb3VwcyA9IGdyb3VwQXN5bW1ldHJpY1N1Ym5ldHMoc3VibmV0cyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGdyb3VwZWQgPSBncm91cFN1Ym5ldHMoc3VibmV0cyk7XG4gICAgICBhc3N5bWV0cmljU3VibmV0R3JvdXBzID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8vIEZpbmQgYXR0YWNoZWQrYXZhaWxhYmxlIFZQTiBnYXRld2F5IGZvciB0aGlzIFZQQ1xuICAgIGNvbnN0IHZwbkdhdGV3YXlSZXNwb25zZSA9XG4gICAgICAoYXJncy5yZXR1cm5WcG5HYXRld2F5cyA/PyB0cnVlKVxuICAgICAgICA/IGF3YWl0IGVjMi5kZXNjcmliZVZwbkdhdGV3YXlzKHtcbiAgICAgICAgICBGaWx0ZXJzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIE5hbWU6ICdhdHRhY2htZW50LnZwYy1pZCcsXG4gICAgICAgICAgICAgIFZhbHVlczogW3ZwY0lkXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIE5hbWU6ICdhdHRhY2htZW50LnN0YXRlJyxcbiAgICAgICAgICAgICAgVmFsdWVzOiBbJ2F0dGFjaGVkJ10sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBOYW1lOiAnc3RhdGUnLFxuICAgICAgICAgICAgICBWYWx1ZXM6IFsnYXZhaWxhYmxlJ10sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0pXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IHZwbkdhdGV3YXlJZCA9XG4gICAgICB2cG5HYXRld2F5UmVzcG9uc2U/LlZwbkdhdGV3YXlzPy5sZW5ndGggPT09IDEgPyB2cG5HYXRld2F5UmVzcG9uc2UuVnBuR2F0ZXdheXNbMF0uVnBuR2F0ZXdheUlkIDogdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHZwY0lkLFxuICAgICAgdnBjQ2lkckJsb2NrOiB2cGMuQ2lkckJsb2NrISxcbiAgICAgIG93bmVyQWNjb3VudElkOiB2cGMuT3duZXJJZCxcbiAgICAgIGF2YWlsYWJpbGl0eVpvbmVzOiBncm91cGVkLmF6cyxcbiAgICAgIGlzb2xhdGVkU3VibmV0SWRzOiBjb2xsYXBzZShcbiAgICAgICAgZmxhdE1hcChmaW5kR3JvdXBzKFN1Ym5ldFR5cGUuSXNvbGF0ZWQsIGdyb3VwZWQpLCAoZ3JvdXApID0+IGdyb3VwLnN1Ym5ldHMubWFwKChzKSA9PiBzLnN1Ym5ldElkKSksXG4gICAgICApLFxuICAgICAgaXNvbGF0ZWRTdWJuZXROYW1lczogY29sbGFwc2UoXG4gICAgICAgIGZsYXRNYXAoZmluZEdyb3VwcyhTdWJuZXRUeXBlLklzb2xhdGVkLCBncm91cGVkKSwgKGdyb3VwKSA9PiAoZ3JvdXAubmFtZSA/IFtncm91cC5uYW1lXSA6IFtdKSksXG4gICAgICApLFxuICAgICAgaXNvbGF0ZWRTdWJuZXRSb3V0ZVRhYmxlSWRzOiBjb2xsYXBzZShcbiAgICAgICAgZmxhdE1hcChmaW5kR3JvdXBzKFN1Ym5ldFR5cGUuSXNvbGF0ZWQsIGdyb3VwZWQpLCAoZ3JvdXApID0+IGdyb3VwLnN1Ym5ldHMubWFwKChzKSA9PiBzLnJvdXRlVGFibGVJZCkpLFxuICAgICAgKSxcbiAgICAgIHByaXZhdGVTdWJuZXRJZHM6IGNvbGxhcHNlKFxuICAgICAgICBmbGF0TWFwKGZpbmRHcm91cHMoU3VibmV0VHlwZS5Qcml2YXRlLCBncm91cGVkKSwgKGdyb3VwKSA9PiBncm91cC5zdWJuZXRzLm1hcCgocykgPT4gcy5zdWJuZXRJZCkpLFxuICAgICAgKSxcbiAgICAgIHByaXZhdGVTdWJuZXROYW1lczogY29sbGFwc2UoXG4gICAgICAgIGZsYXRNYXAoZmluZEdyb3VwcyhTdWJuZXRUeXBlLlByaXZhdGUsIGdyb3VwZWQpLCAoZ3JvdXApID0+IChncm91cC5uYW1lID8gW2dyb3VwLm5hbWVdIDogW10pKSxcbiAgICAgICksXG4gICAgICBwcml2YXRlU3VibmV0Um91dGVUYWJsZUlkczogY29sbGFwc2UoXG4gICAgICAgIGZsYXRNYXAoZmluZEdyb3VwcyhTdWJuZXRUeXBlLlByaXZhdGUsIGdyb3VwZWQpLCAoZ3JvdXApID0+IGdyb3VwLnN1Ym5ldHMubWFwKChzKSA9PiBzLnJvdXRlVGFibGVJZCkpLFxuICAgICAgKSxcbiAgICAgIHB1YmxpY1N1Ym5ldElkczogY29sbGFwc2UoXG4gICAgICAgIGZsYXRNYXAoZmluZEdyb3VwcyhTdWJuZXRUeXBlLlB1YmxpYywgZ3JvdXBlZCksIChncm91cCkgPT4gZ3JvdXAuc3VibmV0cy5tYXAoKHMpID0+IHMuc3VibmV0SWQpKSxcbiAgICAgICksXG4gICAgICBwdWJsaWNTdWJuZXROYW1lczogY29sbGFwc2UoXG4gICAgICAgIGZsYXRNYXAoZmluZEdyb3VwcyhTdWJuZXRUeXBlLlB1YmxpYywgZ3JvdXBlZCksIChncm91cCkgPT4gKGdyb3VwLm5hbWUgPyBbZ3JvdXAubmFtZV0gOiBbXSkpLFxuICAgICAgKSxcbiAgICAgIHB1YmxpY1N1Ym5ldFJvdXRlVGFibGVJZHM6IGNvbGxhcHNlKFxuICAgICAgICBmbGF0TWFwKGZpbmRHcm91cHMoU3VibmV0VHlwZS5QdWJsaWMsIGdyb3VwZWQpLCAoZ3JvdXApID0+IGdyb3VwLnN1Ym5ldHMubWFwKChzKSA9PiBzLnJvdXRlVGFibGVJZCkpLFxuICAgICAgKSxcbiAgICAgIHZwbkdhdGV3YXlJZCxcbiAgICAgIHN1Ym5ldEdyb3VwczogYXNzeW1ldHJpY1N1Ym5ldEdyb3VwcyxcbiAgICB9O1xuICB9XG59XG5cbmNsYXNzIFJvdXRlVGFibGVzIHtcbiAgcHVibGljIHJlYWRvbmx5IG1haW5Sb3V0ZVRhYmxlPzogUm91dGVUYWJsZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHRhYmxlczogUm91dGVUYWJsZVtdKSB7XG4gICAgdGhpcy5tYWluUm91dGVUYWJsZSA9IHRoaXMudGFibGVzLmZpbmQoXG4gICAgICAodGFibGUpID0+ICEhdGFibGUuQXNzb2NpYXRpb25zICYmIHRhYmxlLkFzc29jaWF0aW9ucy5zb21lKChhc3NvYykgPT4gISFhc3NvYy5NYWluKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHJvdXRlVGFibGVJZEZvclN1Ym5ldElkKHN1Ym5ldElkOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHRhYmxlID0gdGhpcy50YWJsZUZvclN1Ym5ldChzdWJuZXRJZCk7XG4gICAgcmV0dXJuICh0YWJsZSAmJiB0YWJsZS5Sb3V0ZVRhYmxlSWQpIHx8ICh0aGlzLm1haW5Sb3V0ZVRhYmxlICYmIHRoaXMubWFpblJvdXRlVGFibGUuUm91dGVUYWJsZUlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBnaXZlbiBzdWJuZXQgaGFzIGEgcm91dGUgdG8gYSBOQVQgR2F0ZXdheVxuICAgKi9cbiAgcHVibGljIGhhc1JvdXRlVG9OYXRHYXRld2F5KHN1Ym5ldElkOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICBjb25zdCB0YWJsZSA9IHRoaXMudGFibGVGb3JTdWJuZXQoc3VibmV0SWQpIHx8IHRoaXMubWFpblJvdXRlVGFibGU7XG5cbiAgICByZXR1cm4gKFxuICAgICAgISF0YWJsZSAmJlxuICAgICAgISF0YWJsZS5Sb3V0ZXMgJiZcbiAgICAgIHRhYmxlLlJvdXRlcy5zb21lKChyb3V0ZSkgPT4gISFyb3V0ZS5OYXRHYXRld2F5SWQgJiYgcm91dGUuRGVzdGluYXRpb25DaWRyQmxvY2sgPT09ICcwLjAuMC4wLzAnKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZ2l2ZW4gc3VibmV0IGhhcyBhIHJvdXRlIHRvIGEgVHJhbnNpdCBHYXRld2F5XG4gICAqL1xuICBwdWJsaWMgaGFzUm91dGVUb1RyYW5zaXRHYXRld2F5KHN1Ym5ldElkOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICBjb25zdCB0YWJsZSA9IHRoaXMudGFibGVGb3JTdWJuZXQoc3VibmV0SWQpIHx8IHRoaXMubWFpblJvdXRlVGFibGU7XG5cbiAgICByZXR1cm4gKFxuICAgICAgISF0YWJsZSAmJlxuICAgICAgISF0YWJsZS5Sb3V0ZXMgJiZcbiAgICAgIHRhYmxlLlJvdXRlcy5zb21lKChyb3V0ZSkgPT4gISFyb3V0ZS5UcmFuc2l0R2F0ZXdheUlkICYmIHJvdXRlLkRlc3RpbmF0aW9uQ2lkckJsb2NrID09PSAnMC4wLjAuMC8wJylcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGdpdmVuIHN1Ym5ldCBoYXMgYSByb3V0ZSB0byBhbiBJR1dcbiAgICovXG4gIHB1YmxpYyBoYXNSb3V0ZVRvSWd3KHN1Ym5ldElkOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICBjb25zdCB0YWJsZSA9IHRoaXMudGFibGVGb3JTdWJuZXQoc3VibmV0SWQpIHx8IHRoaXMubWFpblJvdXRlVGFibGU7XG5cbiAgICByZXR1cm4gKFxuICAgICAgISF0YWJsZSAmJiAhIXRhYmxlLlJvdXRlcyAmJiB0YWJsZS5Sb3V0ZXMuc29tZSgocm91dGUpID0+ICEhcm91dGUuR2F0ZXdheUlkICYmIHJvdXRlLkdhdGV3YXlJZC5zdGFydHNXaXRoKCdpZ3ctJykpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyB0YWJsZUZvclN1Ym5ldChzdWJuZXRJZDogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHRoaXMudGFibGVzLmZpbmQoXG4gICAgICAodGFibGUpID0+ICEhdGFibGUuQXNzb2NpYXRpb25zICYmIHRhYmxlLkFzc29jaWF0aW9ucy5zb21lKChhc3NvYykgPT4gYXNzb2MuU3VibmV0SWQgPT09IHN1Ym5ldElkKSxcbiAgICApO1xuICB9XG59XG5cbi8qKlxuICogUmV0dXJuIHRoZSB2YWx1ZSBvZiBhIHRhZyBmcm9tIGEgc2V0IG9mIHRhZ3NcbiAqL1xuZnVuY3Rpb24gZ2V0VGFnKG5hbWU6IHN0cmluZywgdGFncz86IFRhZ1tdKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgZm9yIChjb25zdCB0YWcgb2YgdGFncyB8fCBbXSkge1xuICAgIGlmICh0YWcuS2V5ID09PSBuYW1lKSB7XG4gICAgICByZXR1cm4gdGFnLlZhbHVlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEdyb3VwIHN1Ym5ldHMgb2YgdGhlIHNhbWUgdHlwZSB0b2dldGhlciwgYW5kIG9yZGVyIGJ5IEFaXG4gKi9cbmZ1bmN0aW9uIGdyb3VwU3VibmV0cyhzdWJuZXRzOiBTdWJuZXRbXSk6IFN1Ym5ldEdyb3VwcyB7XG4gIGNvbnN0IGdyb3VwaW5nOiB7IFtrZXk6IHN0cmluZ106IFN1Ym5ldFtdIH0gPSB7fTtcbiAgZm9yIChjb25zdCBzdWJuZXQgb2Ygc3VibmV0cykge1xuICAgIGNvbnN0IGtleSA9IFtzdWJuZXQudHlwZSwgc3VibmV0Lm5hbWVdLnRvU3RyaW5nKCk7XG4gICAgaWYgKCEoa2V5IGluIGdyb3VwaW5nKSkge1xuICAgICAgZ3JvdXBpbmdba2V5XSA9IFtdO1xuICAgIH1cbiAgICBncm91cGluZ1trZXldLnB1c2goc3VibmV0KTtcbiAgfVxuXG4gIGNvbnN0IGdyb3VwcyA9IE9iamVjdC52YWx1ZXMoZ3JvdXBpbmcpLm1hcCgoc25zKSA9PiB7XG4gICAgc25zLnNvcnQoKGE6IFN1Ym5ldCwgYjogU3VibmV0KSA9PiBhLmF6LmxvY2FsZUNvbXBhcmUoYi5heikpO1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiBzbnNbMF0udHlwZSxcbiAgICAgIG5hbWU6IHNuc1swXS5uYW1lLFxuICAgICAgc3VibmV0czogc25zLFxuICAgIH07XG4gIH0pO1xuXG4gIGNvbnN0IGF6cyA9IGdyb3Vwc1swXS5zdWJuZXRzLm1hcCgocykgPT4gcy5heik7XG5cbiAgZm9yIChjb25zdCBncm91cCBvZiBncm91cHMpIHtcbiAgICBjb25zdCBncm91cEFacyA9IGdyb3VwLnN1Ym5ldHMubWFwKChzKSA9PiBzLmF6KTtcbiAgICBpZiAoIWFycmF5c0VxdWFsKGdyb3VwQVpzLCBhenMpKSB7XG4gICAgICB0aHJvdyBuZXcgQ29udGV4dFByb3ZpZGVyRXJyb3IoYE5vdCBhbGwgc3VibmV0cyBpbiBWUEMgaGF2ZSB0aGUgc2FtZSBBWnM6ICR7Z3JvdXBBWnN9IHZzICR7YXpzfWApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7IGF6cywgZ3JvdXBzIH07XG59XG5cbmZ1bmN0aW9uIGdyb3VwQXN5bW1ldHJpY1N1Ym5ldHMoc3VibmV0czogU3VibmV0W10pOiBWcGNTdWJuZXRHcm91cFtdIHtcbiAgY29uc3QgZ3JvdXBpbmc6IHsgW2tleTogc3RyaW5nXTogU3VibmV0W10gfSA9IHt9O1xuICBmb3IgKGNvbnN0IHN1Ym5ldCBvZiBzdWJuZXRzKSB7XG4gICAgY29uc3Qga2V5ID0gW3N1Ym5ldC50eXBlLCBzdWJuZXQubmFtZV0udG9TdHJpbmcoKTtcbiAgICBpZiAoIShrZXkgaW4gZ3JvdXBpbmcpKSB7XG4gICAgICBncm91cGluZ1trZXldID0gW107XG4gICAgfVxuICAgIGdyb3VwaW5nW2tleV0ucHVzaChzdWJuZXQpO1xuICB9XG5cbiAgcmV0dXJuIE9iamVjdC52YWx1ZXMoZ3JvdXBpbmcpLm1hcCgoc3VibmV0QXJyYXkpID0+IHtcbiAgICBzdWJuZXRBcnJheS5zb3J0KChzdWJuZXQxOiBTdWJuZXQsIHN1Ym5ldDI6IFN1Ym5ldCkgPT4gc3VibmV0MS5hei5sb2NhbGVDb21wYXJlKHN1Ym5ldDIuYXopKTtcblxuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiBzdWJuZXRBcnJheVswXS5uYW1lLFxuICAgICAgdHlwZTogc3VibmV0VHlwZVRvVnBjU3VibmV0VHlwZShzdWJuZXRBcnJheVswXS50eXBlKSxcbiAgICAgIHN1Ym5ldHM6IHN1Ym5ldEFycmF5Lm1hcCgoc3VibmV0KSA9PiAoe1xuICAgICAgICBzdWJuZXRJZDogc3VibmV0LnN1Ym5ldElkLFxuICAgICAgICBjaWRyOiBzdWJuZXQuY2lkcixcbiAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZTogc3VibmV0LmF6LFxuICAgICAgICByb3V0ZVRhYmxlSWQ6IHN1Ym5ldC5yb3V0ZVRhYmxlSWQsXG4gICAgICB9KSksXG4gICAgfTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHN1Ym5ldFR5cGVUb1ZwY1N1Ym5ldFR5cGUodHlwZTogU3VibmV0VHlwZSk6IFZwY1N1Ym5ldEdyb3VwVHlwZSB7XG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgU3VibmV0VHlwZS5Jc29sYXRlZDpcbiAgICAgIHJldHVybiBWcGNTdWJuZXRHcm91cFR5cGUuSVNPTEFURUQ7XG4gICAgY2FzZSBTdWJuZXRUeXBlLlByaXZhdGU6XG4gICAgICByZXR1cm4gVnBjU3VibmV0R3JvdXBUeXBlLlBSSVZBVEU7XG4gICAgY2FzZSBTdWJuZXRUeXBlLlB1YmxpYzpcbiAgICAgIHJldHVybiBWcGNTdWJuZXRHcm91cFR5cGUuUFVCTElDO1xuICB9XG59XG5cbmVudW0gU3VibmV0VHlwZSB7XG4gIFB1YmxpYyA9ICdQdWJsaWMnLFxuICBQcml2YXRlID0gJ1ByaXZhdGUnLFxuICBJc29sYXRlZCA9ICdJc29sYXRlZCcsXG59XG5cbmZ1bmN0aW9uIGlzVmFsaWRTdWJuZXRUeXBlKHZhbDogc3RyaW5nKTogdmFsIGlzIFN1Ym5ldFR5cGUge1xuICByZXR1cm4gdmFsID09PSBTdWJuZXRUeXBlLlB1YmxpYyB8fCB2YWwgPT09IFN1Ym5ldFR5cGUuUHJpdmF0ZSB8fCB2YWwgPT09IFN1Ym5ldFR5cGUuSXNvbGF0ZWQ7XG59XG5cbmludGVyZmFjZSBTdWJuZXQge1xuICBhejogc3RyaW5nO1xuICBjaWRyOiBzdHJpbmc7XG4gIHR5cGU6IFN1Ym5ldFR5cGU7XG4gIG5hbWU6IHN0cmluZztcbiAgcm91dGVUYWJsZUlkOiBzdHJpbmc7XG4gIHN1Ym5ldElkOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBTdWJuZXRHcm91cCB7XG4gIHR5cGU6IFN1Ym5ldFR5cGU7XG4gIG5hbWU6IHN0cmluZztcbiAgc3VibmV0czogU3VibmV0W107XG59XG5cbmludGVyZmFjZSBTdWJuZXRHcm91cHMge1xuICBhenM6IHN0cmluZ1tdO1xuICBncm91cHM6IFN1Ym5ldEdyb3VwW107XG59XG5cbmZ1bmN0aW9uIGFycmF5c0VxdWFsKGFzOiBzdHJpbmdbXSwgYnM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gIGlmIChhcy5sZW5ndGggIT09IGJzLmxlbmd0aCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYXMubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoYXNbaV0gIT09IGJzW2ldKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIGZpbmRHcm91cHModHlwZTogU3VibmV0VHlwZSwgZ3JvdXBzOiBTdWJuZXRHcm91cHMpOiBTdWJuZXRHcm91cFtdIHtcbiAgcmV0dXJuIGdyb3Vwcy5ncm91cHMuZmlsdGVyKChnKSA9PiBnLnR5cGUgPT09IHR5cGUpO1xufVxuXG5mdW5jdGlvbiBmbGF0TWFwPFQsIFU+KHhzOiBUW10sIGZuOiAoeDogVCkgPT4gVVtdKTogVVtdIHtcbiAgY29uc3QgcmV0ID0gbmV3IEFycmF5PFU+KCk7XG4gIGZvciAoY29uc3QgeCBvZiB4cykge1xuICAgIHJldC5wdXNoKC4uLmZuKHgpKTtcbiAgfVxuICByZXR1cm4gcmV0O1xufVxuXG5mdW5jdGlvbiBjb2xsYXBzZTxUPih4czogVFtdKTogVFtdIHwgdW5kZWZpbmVkIHtcbiAgaWYgKHhzLmxlbmd0aCA+IDApIHtcbiAgICByZXR1cm4geHM7XG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cbiJdfQ==
|
|
288
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnBjcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInZwY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsNENBQW1HO0FBR25HLCtEQUF3RjtBQUV4Rix3Q0FBbUM7QUFDbkMsNENBQXdEO0FBQ3hELE1BQWEsK0JBQStCO0lBQzFDLFlBQTZCLEdBQWdCO1FBQWhCLFFBQUcsR0FBSCxHQUFHLENBQWE7SUFDN0MsQ0FBQztJQUVNLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBcUI7UUFDekMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLElBQUEscUNBQXNCLEVBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBRWpFLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFNUMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVPLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBZSxFQUFFLElBQXFCO1FBQzFELDZFQUE2RTtRQUM3RSxNQUFNLE9BQU8sR0FBYSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFOUcsSUFBQSxlQUFLLEVBQUMsbUJBQW1CLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDeEQsTUFBTSxRQUFRLEdBQUcsTUFBTSxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxD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RUQsU0FBUyxRQUFRLENBQUksRUFBTztJQUMxQixJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDbEIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBQ0QsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVnBjQ29udGV4dFF1ZXJ5IH0gZnJvbSAnQGF3cy1jZGsvY2xvdWQtYXNzZW1ibHktc2NoZW1hJztcbmltcG9ydCB7IHR5cGUgVnBjQ29udGV4dFJlc3BvbnNlLCB0eXBlIFZwY1N1Ym5ldEdyb3VwLCBWcGNTdWJuZXRHcm91cFR5cGUgfSBmcm9tICdAYXdzLWNkay9jeC1hcGknO1xuaW1wb3J0IHR5cGUgeyBGaWx0ZXIsIFJvdXRlVGFibGUsIFRhZywgVnBjIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWVjMic7XG5pbXBvcnQgdHlwZSB7IElFQzJDbGllbnQgfSBmcm9tICcuLi9hcGknO1xuaW1wb3J0IHsgdHlwZSBTZGtQcm92aWRlciwgaW5pdENvbnRleHRQcm92aWRlclNkayB9IGZyb20gJy4uL2FwaS9hd3MtYXV0aC9zZGstcHJvdmlkZXInO1xuaW1wb3J0IHR5cGUgeyBDb250ZXh0UHJvdmlkZXJQbHVnaW4gfSBmcm9tICcuLi9hcGkvcGx1Z2luJztcbmltcG9ydCB7IGRlYnVnIH0gZnJvbSAnLi4vbG9nZ2luZyc7XG5pbXBvcnQgeyBDb250ZXh0UHJvdmlkZXJFcnJvciB9IGZyb20gJy4uL3Rvb2xraXQvZXJyb3InO1xuZXhwb3J0IGNsYXNzIFZwY05ldHdvcmtDb250ZXh0UHJvdmlkZXJQbHVnaW4gaW1wbGVtZW50cyBDb250ZXh0UHJvdmlkZXJQbHVnaW4ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGF3czogU2RrUHJvdmlkZXIpIHtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRWYWx1ZShhcmdzOiBWcGNDb250ZXh0UXVlcnkpIHtcbiAgICBjb25zdCBlYzIgPSAoYXdhaXQgaW5pdENvbnRleHRQcm92aWRlclNkayh0aGlzLmF3cywgYXJncykpLmVjMigpO1xuXG4gICAgY29uc3QgdnBjSWQgPSBhd2FpdCB0aGlzLmZpbmRWcGMoZWMyLCBhcmdzKTtcblxuICAgIHJldHVybiB0aGlzLnJlYWRWcGNQcm9wcyhlYzIsIHZwY0lkLCBhcmdzKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZmluZFZwYyhlYzI6IElFQzJDbGllbnQsIGFyZ3M6IFZwY0NvbnRleHRRdWVyeSk6IFByb21pc2U8VnBjPiB7XG4gICAgLy8gQnVpbGQgcmVxdWVzdCBmaWx0ZXIgKG1hcCB7IE5hbWUgLT4gVmFsdWUgfSB0byBsaXN0IG9mIFt7IE5hbWUsIFZhbHVlcyB9XSlcbiAgICBjb25zdCBmaWx0ZXJzOiBGaWx0ZXJbXSA9IE9iamVjdC5lbnRyaWVzKGFyZ3MuZmlsdGVyKS5tYXAoKFt0YWcsIHZhbHVlXSkgPT4gKHsgTmFtZTogdGFnLCBWYWx1ZXM6IFt2YWx1ZV0gfSkpO1xuXG4gICAgZGVidWcoYExpc3RpbmcgVlBDcyBpbiAke2FyZ3MuYWNjb3VudH06JHthcmdzLnJlZ2lvbn1gKTtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGVjMi5kZXNjcmliZVZwY3MoeyBGaWx0ZXJzOiBmaWx0ZXJzIH0pO1xuXG4gICAgY29uc3QgdnBjcyA9IHJlc3BvbnNlLlZwY3MgfHwgW107XG4gICAgaWYgKHZwY3MubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgQ29udGV4dFByb3ZpZGVyRXJyb3IoYENvdWxkIG5vdCBmaW5kIGFueSBWUENzIG1hdGNoaW5nICR7SlNPTi5zdHJpbmdpZnkoYXJncyl9YCk7XG4gICAgfVxuICAgIGlmICh2cGNzLmxlbmd0aCA+IDEpIHtcbiAgICAgIHRocm93IG5ldyBDb250ZXh0UHJvdmlkZXJFcnJvcihgRm91bmQgJHt2cGNzLmxlbmd0aH0gVlBDcyBtYXRjaGluZyAke0pTT04uc3RyaW5naWZ5KGFyZ3MpfTsgcGxlYXNlIG5hcnJvdyB0aGUgc2VhcmNoIGNyaXRlcmlhYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZwY3NbMF07XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJlYWRWcGNQcm9wcyhlYzI6IElFQzJDbGllbnQsIHZwYzogVnBjLCBhcmdzOiBWcGNDb250ZXh0UXVlcnkpOiBQcm9taXNlPFZwY0NvbnRleHRSZXNwb25zZT4ge1xuICAgIGNvbnN0IHZwY0lkID0gdnBjLlZwY0lkITtcblxuICAgIGRlYnVnKGBEZXNjcmliaW5nIFZQQyAke3ZwY0lkfWApO1xuXG4gICAgY29uc3QgZmlsdGVycyA9IHsgRmlsdGVyczogW3sgTmFtZTogJ3ZwYy1pZCcsIFZhbHVlczogW3ZwY0lkXSB9XSB9O1xuXG4gICAgY29uc3Qgc3VibmV0c1Jlc3BvbnNlID0gYXdhaXQgZWMyLmRlc2NyaWJlU3VibmV0cyhmaWx0ZXJzKTtcbiAgICBjb25zdCBsaXN0ZWRTdWJuZXRzID0gc3VibmV0c1Jlc3BvbnNlLlN1Ym5ldHMgfHwgW107XG5cbiAgICBjb25zdCByb3V0ZVRhYmxlc1Jlc3BvbnNlID0gYXdhaXQgZWMyLmRlc2NyaWJlUm91dGVUYWJsZXMoZmlsdGVycyk7XG4gICAgY29uc3Qgcm91dGVUYWJsZXMgPSBuZXcgUm91dGVUYWJsZXMocm91dGVUYWJsZXNSZXNwb25zZS5Sb3V0ZVRhYmxlcyB8fCBbXSk7XG5cbiAgICAvLyBOb3cgY29tZXMgb3VyIGpvYiB0byBzZXBhcmF0ZSB0aGVzZSBzdWJuZXRzIG91dCBpbnRvIEFacyBhbmQgc3VibmV0IGdyb3VwcyAoUHVibGljLCBQcml2YXRlLCBJc29sYXRlZClcbiAgICAvLyBXZSBoYXZlIHRoZSBmb2xsb3dpbmcgYXR0cmlidXRlcyB0byBnbyBvbjpcbiAgICAvLyAtIFR5cGUgdGFnLCB3ZSB0YWcgc3VibmV0cyB3aXRoIHRoZWlyIHR5cGUuIEluIGFic2VuY2Ugb2YgdGhpcyB0YWcsIHdlXG4gICAgLy8gICBkZXRlcm1pbmUgdGhlIHN1Ym5ldCBtdXN0IGJlIFB1YmxpYyBpZiBlaXRoZXI6XG4gICAgLy8gICBhKSBpdCBoYXMgdGhlIHByb3BlcnR5IE1hcFB1YmxpY0lwT25MYXVuY2hcbiAgICAvLyAgIGIpIGl0IGhhcyBhIHJvdXRlIHRvIGFuIEludGVybmV0IEdhdGV3YXlcbiAgICAvLyAgIElmIGJvdGggb2YgdGhlIGFib3ZlIGlzIGZhbHNlIGJ1dCB0aGUgc3VibmV0IGhhcyBhIHJvdXRlIHRvIGEgTkFUIEdhdGV3YXlcbiAgICAvLyAgIGFuZCB0aGUgZGVzdGluYXRpb24gQ0lEUiBibG9jayBpcyBcIjAuMC4wLjAvMFwiLCB3ZSBhc3N1bWUgaXQgdG8gYmUgYSBQcml2YXRlIHN1Ym5ldC5cbiAgICAvLyAgIEFueXRoaW5nIGVsc2UgaXMgY29uc2lkZXJlZCBJc29sYXRlZC5cbiAgICAvLyAtIE5hbWUgdGFnLCB3ZSB0YWcgc3VibmV0cyB3aXRoIHRoZWlyIHN1Ym5ldCBncm91cCBuYW1lLiBJbiBhYnNlbmNlIG9mIHRoaXMgdGFnLFxuICAgIC8vICAgd2UgdXNlIHRoZSB0eXBlIGFzIHRoZSBuYW1lLlxuXG4gICAgY29uc3QgYXpzID0gQXJyYXkuZnJvbShuZXcgU2V0PHN0cmluZz4obGlzdGVkU3VibmV0cy5tYXAoKHMpID0+IHMuQXZhaWxhYmlsaXR5Wm9uZSEpKSk7XG4gICAgYXpzLnNvcnQoKTtcblxuICAgIGNvbnN0IHN1Ym5ldHM6IFN1Ym5ldFtdID0gbGlzdGVkU3VibmV0cy5tYXAoKHN1Ym5ldCkgPT4ge1xuICAgICAgbGV0IHR5cGUgPSBnZXRUYWcoJ2F3cy1jZGs6c3VibmV0LXR5cGUnLCBzdWJuZXQuVGFncyk7XG4gICAgICBpZiAodHlwZSA9PT0gdW5kZWZpbmVkICYmIHN1Ym5ldC5NYXBQdWJsaWNJcE9uTGF1bmNoKSB7XG4gICAgICAgIHR5cGUgPSBTdWJuZXRUeXBlLlB1YmxpYztcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlID09PSB1bmRlZmluZWQgJiYgcm91dGVUYWJsZXMuaGFzUm91dGVUb0lndyhzdWJuZXQuU3VibmV0SWQpKSB7XG4gICAgICAgIHR5cGUgPSBTdWJuZXRUeXBlLlB1YmxpYztcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlID09PSB1bmRlZmluZWQgJiYgcm91dGVUYWJsZXMuaGFzUm91dGVUb05hdEdhdGV3YXkoc3VibmV0LlN1Ym5ldElkKSkge1xuICAgICAgICB0eXBlID0gU3VibmV0VHlwZS5Qcml2YXRlO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGUgPT09IHVuZGVmaW5lZCAmJiByb3V0ZVRhYmxlcy5oYXNSb3V0ZVRvVHJhbnNpdEdhdGV3YXkoc3VibmV0LlN1Ym5ldElkKSkge1xuICAgICAgICB0eXBlID0gU3VibmV0VHlwZS5Qcml2YXRlO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0eXBlID0gU3VibmV0VHlwZS5Jc29sYXRlZDtcbiAgICAgIH1cblxuICAgICAgaWYgKCFpc1ZhbGlkU3VibmV0VHlwZSh0eXBlKSkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuICAgICAgICB0aHJvdyBuZXcgQ29udGV4dFByb3ZpZGVyRXJyb3IoXG4gICAgICAgICAgYFN1Ym5ldCAke3N1Ym5ldC5TdWJuZXRBcm59IGhhcyBpbnZhbGlkIHN1Ym5ldCB0eXBlICR7dHlwZX0gKG11c3QgYmUgJHtTdWJuZXRUeXBlLlB1YmxpY30sICR7U3VibmV0VHlwZS5Qcml2YXRlfSBvciAke1N1Ym5ldFR5cGUuSXNvbGF0ZWR9KWAsXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGlmIChhcmdzLnN1Ym5ldEdyb3VwTmFtZVRhZyAmJiAhZ2V0VGFnKGFyZ3Muc3VibmV0R3JvdXBOYW1lVGFnLCBzdWJuZXQuVGFncykpIHtcbiAgICAgICAgdGhyb3cgbmV3IENvbnRleHRQcm92aWRlckVycm9yKFxuICAgICAgICAgIGBJbnZhbGlkIHN1Ym5ldEdyb3VwTmFtZVRhZzogU3VibmV0ICR7c3VibmV0LlN1Ym5ldEFybn0gZG9lcyBub3QgaGF2ZSBhbiBhc3NvY2lhdGVkIHRhZyB3aXRoIEtleT0nJHthcmdzLnN1Ym5ldEdyb3VwTmFtZVRhZ30nYCxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbmFtZSA9IGdldFRhZyhhcmdzLnN1Ym5ldEdyb3VwTmFtZVRhZyB8fCAnYXdzLWNkazpzdWJuZXQtbmFtZScsIHN1Ym5ldC5UYWdzKSB8fCB0eXBlO1xuICAgICAgY29uc3Qgcm91dGVUYWJsZUlkID0gcm91dGVUYWJsZXMucm91dGVUYWJsZUlkRm9yU3VibmV0SWQoc3VibmV0LlN1Ym5ldElkKTtcblxuICAgICAgaWYgKCFyb3V0ZVRhYmxlSWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IENvbnRleHRQcm92aWRlckVycm9yKFxuICAgICAgICAgIGBTdWJuZXQgJHtzdWJuZXQuU3VibmV0QXJufSBkb2VzIG5vdCBoYXZlIGFuIGFzc29jaWF0ZWQgcm91dGUgdGFibGUgKGFuZCB0aGVyZSBpcyBubyBcIm1haW5cIiB0YWJsZSlgLFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBhejogc3VibmV0LkF2YWlsYWJpbGl0eVpvbmUhLFxuICAgICAgICBjaWRyOiBzdWJuZXQuQ2lkckJsb2NrISxcbiAgICAgICAgdHlwZSxcbiAgICAgICAgbmFtZSxcbiAgICAgICAgc3VibmV0SWQ6IHN1Ym5ldC5TdWJuZXRJZCEsXG4gICAgICAgIHJvdXRlVGFibGVJZCxcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICBsZXQgZ3JvdXBlZDogU3VibmV0R3JvdXBzO1xuICAgIGxldCBhc3N5bWV0cmljU3VibmV0R3JvdXBzOiBWcGNTdWJuZXRHcm91cFtdIHwgdW5kZWZpbmVkO1xuICAgIGlmIChhcmdzLnJldHVybkFzeW1tZXRyaWNTdWJuZXRzKSB7XG4gICAgICBncm91cGVkID0geyBhenM6IFtdLCBncm91cHM6IFtdIH07XG4gICAgICBhc3N5bWV0cmljU3VibmV0R3JvdXBzID0gZ3JvdXBBc3ltbWV0cmljU3VibmV0cyhzdWJuZXRzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZ3JvdXBlZCA9IGdyb3VwU3VibmV0cyhzdWJuZXRzKTtcbiAgICAgIGFzc3ltZXRyaWNTdWJuZXRHcm91cHMgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLy8gRmluZCBhdHRhY2hlZCthdmFpbGFibGUgVlBOIGdhdGV3YXkgZm9yIHRoaXMgVlBDXG4gICAgY29uc3QgdnBuR2F0ZXdheVJlc3BvbnNlID1cbiAgICAgIChhcmdzLnJldHVyblZwbkdhdGV3YXlzID8/IHRydWUpXG4gICAgICAgID8gYXdhaXQgZWMyLmRlc2NyaWJlVnBuR2F0ZXdheXMoe1xuICAgICAgICAgIEZpbHRlcnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgTmFtZTogJ2F0dGFjaG1lbnQudnBjLWlkJyxcbiAgICAgICAgICAgICAgVmFsdWVzOiBbdnBjSWRdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgTmFtZTogJ2F0dGFjaG1lbnQuc3RhdGUnLFxuICAgICAgICAgICAgICBWYWx1ZXM6IFsnYXR0YWNoZWQnXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIE5hbWU6ICdzdGF0ZScsXG4gICAgICAgICAgICAgIFZhbHVlczogWydhdmFpbGFibGUnXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSlcbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgdnBuR2F0ZXdheUlkID1cbiAgICAgIHZwbkdhdGV3YXlSZXNwb25zZT8uVnBuR2F0ZXdheXM/Lmxlbmd0aCA9PT0gMSA/IHZwbkdhdGV3YXlSZXNwb25zZS5WcG5HYXRld2F5c1swXS5WcG5HYXRld2F5SWQgOiB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4ge1xuICAgICAgdnBjSWQsXG4gICAgICB2cGNDaWRyQmxvY2s6IHZwYy5DaWRyQmxvY2shLFxuICAgICAgb3duZXJBY2NvdW50SWQ6IHZwYy5Pd25lcklkLFxuICAgICAgYXZhaWxhYmlsaXR5Wm9uZXM6IGdyb3VwZWQuYXpzLFxuICAgICAgaXNvbGF0ZWRTdWJuZXRJZHM6IGNvbGxhcHNlKFxuICAgICAgICBmbGF0TWFwKGZpbmRHcm91cHMoU3VibmV0VHlwZS5Jc29sYXRlZCwgZ3JvdXBlZCksIChncm91cCkgPT4gZ3JvdXAuc3VibmV0cy5tYXAoKHMpID0+IHMuc3VibmV0SWQpKSxcbiAgICAgICksXG4gICAgICBpc29sYXRlZFN1Ym5ldE5hbWVzOiBjb2xsYXBzZShcbiAgICAgICAgZmxhdE1hcChmaW5kR3JvdXBzKFN1Ym5ldFR5cGUuSXNvbGF0ZWQsIGdyb3VwZWQpLCAoZ3JvdXApID0+IChncm91cC5uYW1lID8gW2dyb3VwLm5hbWVdIDogW10pKSxcbiAgICAgICksXG4gICAgICBpc29sYXRlZFN1Ym5ldFJvdXRlVGFibGVJZHM6IGNvbGxhcHNlKFxuICAgICAgICBmbGF0TWFwKGZpbmRHcm91cHMoU3VibmV0VHlwZS5Jc29sYXRlZCwgZ3JvdXBlZCksIChncm91cCkgPT4gZ3JvdXAuc3VibmV0cy5tYXAoKHMpID0+IHMucm91dGVUYWJsZUlkKSksXG4gICAgICApLFxuICAgICAgcHJpdmF0ZVN1Ym5ldElkczogY29sbGFwc2UoXG4gICAgICAgIGZsYXRNYXAoZmluZEdyb3VwcyhTdWJuZXRUeXBlLlByaXZhdGUsIGdyb3VwZWQpLCAoZ3JvdXApID0+IGdyb3VwLnN1Ym5ldHMubWFwKChzKSA9PiBzLnN1Ym5ldElkKSksXG4gICAgICApLFxuICAgICAgcHJpdmF0ZVN1Ym5ldE5hbWVzOiBjb2xsYXBzZShcbiAgICAgICAgZmxhdE1hcChmaW5kR3JvdXBzKFN1Ym5ldFR5cGUuUHJpdmF0ZSwgZ3JvdXBlZCksIChncm91cCkgPT4gKGdyb3VwLm5hbWUgPyBbZ3JvdXAubmFtZV0gOiBbXSkpLFxuICAgICAgKSxcbiAgICAgIHByaXZhdGVTdWJuZXRSb3V0ZVRhYmxlSWRzOiBjb2xsYXBzZShcbiAgICAgICAgZmxhdE1hcChmaW5kR3JvdXBzKFN1Ym5ldFR5cGUuUHJpdmF0ZSwgZ3JvdXBlZCksIChncm91cCkgPT4gZ3JvdXAuc3VibmV0cy5tYXAoKHMpID0+IHMucm91dGVUYWJsZUlkKSksXG4gICAgICApLFxuICAgICAgcHVibGljU3VibmV0SWRzOiBjb2xsYXBzZShcbiAgICAgICAgZmxhdE1hcChmaW5kR3JvdXBzKFN1Ym5ldFR5cGUuUHVibGljLCBncm91cGVkKSwgKGdyb3VwKSA9PiBncm91cC5zdWJuZXRzLm1hcCgocykgPT4gcy5zdWJuZXRJZCkpLFxuICAgICAgKSxcbiAgICAgIHB1YmxpY1N1Ym5ldE5hbWVzOiBjb2xsYXBzZShcbiAgICAgICAgZmxhdE1hcChmaW5kR3JvdXBzKFN1Ym5ldFR5cGUuUHVibGljLCBncm91cGVkKSwgKGdyb3VwKSA9PiAoZ3JvdXAubmFtZSA/IFtncm91cC5uYW1lXSA6IFtdKSksXG4gICAgICApLFxuICAgICAgcHVibGljU3VibmV0Um91dGVUYWJsZUlkczogY29sbGFwc2UoXG4gICAgICAgIGZsYXRNYXAoZmluZEdyb3VwcyhTdWJuZXRUeXBlLlB1YmxpYywgZ3JvdXBlZCksIChncm91cCkgPT4gZ3JvdXAuc3VibmV0cy5tYXAoKHMpID0+IHMucm91dGVUYWJsZUlkKSksXG4gICAgICApLFxuICAgICAgdnBuR2F0ZXdheUlkLFxuICAgICAgc3VibmV0R3JvdXBzOiBhc3N5bWV0cmljU3VibmV0R3JvdXBzLFxuICAgIH07XG4gIH1cbn1cblxuY2xhc3MgUm91dGVUYWJsZXMge1xuICBwdWJsaWMgcmVhZG9ubHkgbWFpblJvdXRlVGFibGU/OiBSb3V0ZVRhYmxlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdGFibGVzOiBSb3V0ZVRhYmxlW10pIHtcbiAgICB0aGlzLm1haW5Sb3V0ZVRhYmxlID0gdGhpcy50YWJsZXMuZmluZChcbiAgICAgICh0YWJsZSkgPT4gISF0YWJsZS5Bc3NvY2lhdGlvbnMgJiYgdGFibGUuQXNzb2NpYXRpb25zLnNvbWUoKGFzc29jKSA9PiAhIWFzc29jLk1haW4pLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcm91dGVUYWJsZUlkRm9yU3VibmV0SWQoc3VibmV0SWQ6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgdGFibGUgPSB0aGlzLnRhYmxlRm9yU3VibmV0KHN1Ym5ldElkKTtcbiAgICByZXR1cm4gKHRhYmxlICYmIHRhYmxlLlJvdXRlVGFibGVJZCkgfHwgKHRoaXMubWFpblJvdXRlVGFibGUgJiYgdGhpcy5tYWluUm91dGVUYWJsZS5Sb3V0ZVRhYmxlSWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGdpdmVuIHN1Ym5ldCBoYXMgYSByb3V0ZSB0byBhIE5BVCBHYXRld2F5XG4gICAqL1xuICBwdWJsaWMgaGFzUm91dGVUb05hdEdhdGV3YXkoc3VibmV0SWQ6IHN0cmluZyB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHRhYmxlID0gdGhpcy50YWJsZUZvclN1Ym5ldChzdWJuZXRJZCkgfHwgdGhpcy5tYWluUm91dGVUYWJsZTtcblxuICAgIHJldHVybiAoXG4gICAgICAhIXRhYmxlICYmXG4gICAgICAhIXRhYmxlLlJvdXRlcyAmJlxuICAgICAgdGFibGUuUm91dGVzLnNvbWUoKHJvdXRlKSA9PiAhIXJvdXRlLk5hdEdhdGV3YXlJZCAmJiByb3V0ZS5EZXN0aW5hdGlvbkNpZHJCbG9jayA9PT0gJzAuMC4wLjAvMCcpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBnaXZlbiBzdWJuZXQgaGFzIGEgcm91dGUgdG8gYSBUcmFuc2l0IEdhdGV3YXlcbiAgICovXG4gIHB1YmxpYyBoYXNSb3V0ZVRvVHJhbnNpdEdhdGV3YXkoc3VibmV0SWQ6IHN0cmluZyB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHRhYmxlID0gdGhpcy50YWJsZUZvclN1Ym5ldChzdWJuZXRJZCkgfHwgdGhpcy5tYWluUm91dGVUYWJsZTtcblxuICAgIHJldHVybiAoXG4gICAgICAhIXRhYmxlICYmXG4gICAgICAhIXRhYmxlLlJvdXRlcyAmJlxuICAgICAgdGFibGUuUm91dGVzLnNvbWUoKHJvdXRlKSA9PiAhIXJvdXRlLlRyYW5zaXRHYXRld2F5SWQgJiYgcm91dGUuRGVzdGluYXRpb25DaWRyQmxvY2sgPT09ICcwLjAuMC4wLzAnKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZ2l2ZW4gc3VibmV0IGhhcyBhIHJvdXRlIHRvIGFuIElHV1xuICAgKi9cbiAgcHVibGljIGhhc1JvdXRlVG9JZ3coc3VibmV0SWQ6IHN0cmluZyB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHRhYmxlID0gdGhpcy50YWJsZUZvclN1Ym5ldChzdWJuZXRJZCkgfHwgdGhpcy5tYWluUm91dGVUYWJsZTtcblxuICAgIHJldHVybiAoXG4gICAgICAhIXRhYmxlICYmICEhdGFibGUuUm91dGVzICYmIHRhYmxlLlJvdXRlcy5zb21lKChyb3V0ZSkgPT4gISFyb3V0ZS5HYXRld2F5SWQgJiYgcm91dGUuR2F0ZXdheUlkLnN0YXJ0c1dpdGgoJ2lndy0nKSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHRhYmxlRm9yU3VibmV0KHN1Ym5ldElkOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gdGhpcy50YWJsZXMuZmluZChcbiAgICAgICh0YWJsZSkgPT4gISF0YWJsZS5Bc3NvY2lhdGlvbnMgJiYgdGFibGUuQXNzb2NpYXRpb25zLnNvbWUoKGFzc29jKSA9PiBhc3NvYy5TdWJuZXRJZCA9PT0gc3VibmV0SWQpLFxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm4gdGhlIHZhbHVlIG9mIGEgdGFnIGZyb20gYSBzZXQgb2YgdGFnc1xuICovXG5mdW5jdGlvbiBnZXRUYWcobmFtZTogc3RyaW5nLCB0YWdzPzogVGFnW10pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBmb3IgKGNvbnN0IHRhZyBvZiB0YWdzIHx8IFtdKSB7XG4gICAgaWYgKHRhZy5LZXkgPT09IG5hbWUpIHtcbiAgICAgIHJldHVybiB0YWcuVmFsdWU7XG4gICAgfVxuICB9XG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogR3JvdXAgc3VibmV0cyBvZiB0aGUgc2FtZSB0eXBlIHRvZ2V0aGVyLCBhbmQgb3JkZXIgYnkgQVpcbiAqL1xuZnVuY3Rpb24gZ3JvdXBTdWJuZXRzKHN1Ym5ldHM6IFN1Ym5ldFtdKTogU3VibmV0R3JvdXBzIHtcbiAgY29uc3QgZ3JvdXBpbmc6IHsgW2tleTogc3RyaW5nXTogU3VibmV0W10gfSA9IHt9O1xuICBmb3IgKGNvbnN0IHN1Ym5ldCBvZiBzdWJuZXRzKSB7XG4gICAgY29uc3Qga2V5ID0gW3N1Ym5ldC50eXBlLCBzdWJuZXQubmFtZV0udG9TdHJpbmcoKTtcbiAgICBpZiAoIShrZXkgaW4gZ3JvdXBpbmcpKSB7XG4gICAgICBncm91cGluZ1trZXldID0gW107XG4gICAgfVxuICAgIGdyb3VwaW5nW2tleV0ucHVzaChzdWJuZXQpO1xuICB9XG5cbiAgY29uc3QgZ3JvdXBzID0gT2JqZWN0LnZhbHVlcyhncm91cGluZykubWFwKChzbnMpID0+IHtcbiAgICBzbnMuc29ydCgoYTogU3VibmV0LCBiOiBTdWJuZXQpID0+IGEuYXoubG9jYWxlQ29tcGFyZShiLmF6KSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IHNuc1swXS50eXBlLFxuICAgICAgbmFtZTogc25zWzBdLm5hbWUsXG4gICAgICBzdWJuZXRzOiBzbnMsXG4gICAgfTtcbiAgfSk7XG5cbiAgY29uc3QgYXpzID0gZ3JvdXBzWzBdLnN1Ym5ldHMubWFwKChzKSA9PiBzLmF6KTtcblxuICBmb3IgKGNvbnN0IGdyb3VwIG9mIGdyb3Vwcykge1xuICAgIGNvbnN0IGdyb3VwQVpzID0gZ3JvdXAuc3VibmV0cy5tYXAoKHMpID0+IHMuYXopO1xuICAgIGlmICghYXJyYXlzRXF1YWwoZ3JvdXBBWnMsIGF6cykpIHtcbiAgICAgIHRocm93IG5ldyBDb250ZXh0UHJvdmlkZXJFcnJvcihgTm90IGFsbCBzdWJuZXRzIGluIFZQQyBoYXZlIHRoZSBzYW1lIEFaczogJHtncm91cEFac30gdnMgJHthenN9YCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHsgYXpzLCBncm91cHMgfTtcbn1cblxuZnVuY3Rpb24gZ3JvdXBBc3ltbWV0cmljU3VibmV0cyhzdWJuZXRzOiBTdWJuZXRbXSk6IFZwY1N1Ym5ldEdyb3VwW10ge1xuICBjb25zdCBncm91cGluZzogeyBba2V5OiBzdHJpbmddOiBTdWJuZXRbXSB9ID0ge307XG4gIGZvciAoY29uc3Qgc3VibmV0IG9mIHN1Ym5ldHMpIHtcbiAgICBjb25zdCBrZXkgPSBbc3VibmV0LnR5cGUsIHN1Ym5ldC5uYW1lXS50b1N0cmluZygpO1xuICAgIGlmICghKGtleSBpbiBncm91cGluZykpIHtcbiAgICAgIGdyb3VwaW5nW2tleV0gPSBbXTtcbiAgICB9XG4gICAgZ3JvdXBpbmdba2V5XS5wdXNoKHN1Ym5ldCk7XG4gIH1cblxuICByZXR1cm4gT2JqZWN0LnZhbHVlcyhncm91cGluZykubWFwKChzdWJuZXRBcnJheSkgPT4ge1xuICAgIHN1Ym5ldEFycmF5LnNvcnQoKHN1Ym5ldDE6IFN1Ym5ldCwgc3VibmV0MjogU3VibmV0KSA9PiBzdWJuZXQxLmF6LmxvY2FsZUNvbXBhcmUoc3VibmV0Mi5heikpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IHN1Ym5ldEFycmF5WzBdLm5hbWUsXG4gICAgICB0eXBlOiBzdWJuZXRUeXBlVG9WcGNTdWJuZXRUeXBlKHN1Ym5ldEFycmF5WzBdLnR5cGUpLFxuICAgICAgc3VibmV0czogc3VibmV0QXJyYXkubWFwKChzdWJuZXQpID0+ICh7XG4gICAgICAgIHN1Ym5ldElkOiBzdWJuZXQuc3VibmV0SWQsXG4gICAgICAgIGNpZHI6IHN1Ym5ldC5jaWRyLFxuICAgICAgICBhdmFpbGFiaWxpdHlab25lOiBzdWJuZXQuYXosXG4gICAgICAgIHJvdXRlVGFibGVJZDogc3VibmV0LnJvdXRlVGFibGVJZCxcbiAgICAgIH0pKSxcbiAgICB9O1xuICB9KTtcbn1cblxuZnVuY3Rpb24gc3VibmV0VHlwZVRvVnBjU3VibmV0VHlwZSh0eXBlOiBTdWJuZXRUeXBlKTogVnBjU3VibmV0R3JvdXBUeXBlIHtcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBTdWJuZXRUeXBlLklzb2xhdGVkOlxuICAgICAgcmV0dXJuIFZwY1N1Ym5ldEdyb3VwVHlwZS5JU09MQVRFRDtcbiAgICBjYXNlIFN1Ym5ldFR5cGUuUHJpdmF0ZTpcbiAgICAgIHJldHVybiBWcGNTdWJuZXRHcm91cFR5cGUuUFJJVkFURTtcbiAgICBjYXNlIFN1Ym5ldFR5cGUuUHVibGljOlxuICAgICAgcmV0dXJuIFZwY1N1Ym5ldEdyb3VwVHlwZS5QVUJMSUM7XG4gIH1cbn1cblxuZW51bSBTdWJuZXRUeXBlIHtcbiAgUHVibGljID0gJ1B1YmxpYycsXG4gIFByaXZhdGUgPSAnUHJpdmF0ZScsXG4gIElzb2xhdGVkID0gJ0lzb2xhdGVkJyxcbn1cblxuZnVuY3Rpb24gaXNWYWxpZFN1Ym5ldFR5cGUodmFsOiBzdHJpbmcpOiB2YWwgaXMgU3VibmV0VHlwZSB7XG4gIHJldHVybiB2YWwgPT09IFN1Ym5ldFR5cGUuUHVibGljIHx8IHZhbCA9PT0gU3VibmV0VHlwZS5Qcml2YXRlIHx8IHZhbCA9PT0gU3VibmV0VHlwZS5Jc29sYXRlZDtcbn1cblxuaW50ZXJmYWNlIFN1Ym5ldCB7XG4gIGF6OiBzdHJpbmc7XG4gIGNpZHI6IHN0cmluZztcbiAgdHlwZTogU3VibmV0VHlwZTtcbiAgbmFtZTogc3RyaW5nO1xuICByb3V0ZVRhYmxlSWQ6IHN0cmluZztcbiAgc3VibmV0SWQ6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFN1Ym5ldEdyb3VwIHtcbiAgdHlwZTogU3VibmV0VHlwZTtcbiAgbmFtZTogc3RyaW5nO1xuICBzdWJuZXRzOiBTdWJuZXRbXTtcbn1cblxuaW50ZXJmYWNlIFN1Ym5ldEdyb3VwcyB7XG4gIGF6czogc3RyaW5nW107XG4gIGdyb3VwczogU3VibmV0R3JvdXBbXTtcbn1cblxuZnVuY3Rpb24gYXJyYXlzRXF1YWwoYXM6IHN0cmluZ1tdLCBiczogc3RyaW5nW10pOiBib29sZWFuIHtcbiAgaWYgKGFzLmxlbmd0aCAhPT0gYnMubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcy5sZW5ndGg7IGkrKykge1xuICAgIGlmIChhc1tpXSAhPT0gYnNbaV0pIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gZmluZEdyb3Vwcyh0eXBlOiBTdWJuZXRUeXBlLCBncm91cHM6IFN1Ym5ldEdyb3Vwcyk6IFN1Ym5ldEdyb3VwW10ge1xuICByZXR1cm4gZ3JvdXBzLmdyb3Vwcy5maWx0ZXIoKGcpID0+IGcudHlwZSA9PT0gdHlwZSk7XG59XG5cbmZ1bmN0aW9uIGZsYXRNYXA8VCwgVT4oeHM6IFRbXSwgZm46ICh4OiBUKSA9PiBVW10pOiBVW10ge1xuICBjb25zdCByZXQgPSBuZXcgQXJyYXk8VT4oKTtcbiAgZm9yIChjb25zdCB4IG9mIHhzKSB7XG4gICAgcmV0LnB1c2goLi4uZm4oeCkpO1xuICB9XG4gIHJldHVybiByZXQ7XG59XG5cbmZ1bmN0aW9uIGNvbGxhcHNlPFQ+KHhzOiBUW10pOiBUW10gfCB1bmRlZmluZWQge1xuICBpZiAoeHMubGVuZ3RoID4gMCkge1xuICAgIHJldHVybiB4cztcbiAgfVxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuIl19
|
package/lib/diff.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type DescribeChangeSetOutput, type FormatStream } from '@aws-cdk/cloudformation-diff';
|
|
2
|
-
import * as cxapi from '@aws-cdk/cx-api';
|
|
2
|
+
import type * as cxapi from '@aws-cdk/cx-api';
|
|
3
3
|
import { type NestedStackTemplates } from './api/deployments';
|
|
4
4
|
/**
|
|
5
5
|
* Pretty-prints the differences between two template states to the console.
|
package/lib/diff.js
CHANGED
|
@@ -162,4 +162,4 @@ function obscureDiff(diff) {
|
|
|
162
162
|
});
|
|
163
163
|
}
|
|
164
164
|
}
|
|
165
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlmZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImRpZmYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBNEJBLHdDQTJFQztBQWVELDhDQXNCQztBQTVJRCwrQkFBOEI7QUFDOUIsMkRBQTJEO0FBQzNELHNFQVFzQztBQUV0QywrQkFBK0I7QUFFL0IsdUNBQTBDO0FBQzFDLDJDQUErQztBQUUvQzs7Ozs7Ozs7OztHQVVHO0FBQ0gsU0FBZ0IsY0FBYyxDQUM1QixXQUFnQixFQUNoQixXQUE4QyxFQUM5QyxNQUFlLEVBQ2YsT0FBZSxFQUNmLEtBQWMsRUFDZCxTQUFrQixFQUNsQixTQUFtQyxFQUNuQyxRQUFrQixFQUNsQixTQUF1QixPQUFPLENBQUMsTUFBTSxFQUNyQyxvQkFBK0U7O0lBQy9FLElBQUksSUFBSSxHQUFHLElBQUEsOEJBQVEsRUFBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFFNUUscUVBQXFFO0lBQ3JFLElBQUksU0FBUyxJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUMzQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUEsYUFBTSxFQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQUssSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUN2QixNQUFNLENBQUMsS0FBSyxDQUFDLHVGQUF1RixDQUFDLENBQUM7SUFDeEcsQ0FBQztJQUVELHlEQUF5RDtJQUN6RCxJQUFJLG9CQUFvQixHQUFHLENBQUMsQ0FBQztJQUM3QixJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNwQyxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBQSw4Q0FBd0IsRUFB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QUFFO1lBQzlDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDWixPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7WUFDRCxJQUFJLE1BQU0sQ0FBQyxlQUFlLEtBQUssb0JBQW9CLEVBQUUsQ0FBQztnQkFDcEQsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1lBQ0QsSUFBSSxNQUFNLENBQUMsZUFBZSxLQUFLLG9CQUFvQixFQUFFLENBQUM7Z0JBQ3BELE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZvcm1hdCB9IGZyb20gJ3V0aWwnO1xuaW1wb3J0ICogYXMgY3hzY2hlbWEgZnJvbSAnQGF3cy1jZGsvY2xvdWQtYXNzZW1ibHktc2NoZW1hJztcbmltcG9ydCB7XG4gIHR5cGUgRGVzY3JpYmVDaGFuZ2VTZXRPdXRwdXQsXG4gIHR5cGUgRm9ybWF0U3RyZWFtLFxuICB0eXBlIFRlbXBsYXRlRGlmZixcbiAgZm9ybWF0RGlmZmVyZW5jZXMsXG4gIGZvcm1hdFNlY3VyaXR5Q2hhbmdlcyxcbiAgZnVsbERpZmYsXG4gIG1hbmdsZUxpa2VDbG91ZEZvcm1hdGlvbixcbn0gZnJvbSAnQGF3cy1jZGsvY2xvdWRmb3JtYXRpb24tZGlmZic7XG5pbXBvcnQgKiBhcyBjeGFwaSBmcm9tICdAYXdzLWNkay9jeC1hcGknO1xuaW1wb3J0ICogYXMgY2hhbGsgZnJvbSAnY2hhbGsnO1xuaW1wb3J0IHsgdHlwZSBOZXN0ZWRTdGFja1RlbXBsYXRlcyB9IGZyb20gJy4vYXBpL2RlcGxveW1lbnRzJztcbmltcG9ydCB7IGluZm8sIHdhcm5pbmcgfSBmcm9tICcuL2xvZ2dpbmcnO1xuaW1wb3J0IHsgVG9vbGtpdEVycm9yIH0gZnJvbSAnLi90b29sa2l0L2Vycm9yJztcblxuLyoqXG4gKiBQcmV0dHktcHJpbnRzIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHR3byB0ZW1wbGF0ZSBzdGF0ZXMgdG8gdGhlIGNvbnNvbGUuXG4gKlxuICogQHBhcmFtIG9sZFRlbXBsYXRlIHRoZSBvbGQvY3VycmVudCBzdGF0ZSBvZiB0aGUgc3RhY2suXG4gKiBAcGFyYW0gbmV3VGVtcGxhdGUgdGhlIG5ldy90YXJnZXQgc3RhdGUgb2YgdGhlIHN0YWNrLlxuICogQHBhcmFtIHN0cmljdCAgICAgIGRvIG5vdCBmaWx0ZXIgb3V0IEFXUzo6Q0RLOjpNZXRhZGF0YSBvciBSdWxlc1xuICogQHBhcmFtIGNvbnRleHQgICAgIGxpbmVzIG9mIGNvbnRleHQgdG8gdXNlIGluIGFyYml0cmFyeSBKU09OIGRpZmZcbiAqIEBwYXJhbSBxdWlldCAgICAgICBzaWxlbmNlcyBcXCdUaGVyZSB3ZXJlIG5vIGRpZmZlcmVuY2VzXFwnIG1lc3NhZ2VzXG4gKlxuICogQHJldHVybnMgdGhlIG51bWJlciBvZiBzdGFja3MgaW4gdGhpcyBzdGFjayB0cmVlIHRoYXQgaGF2ZSBkaWZmZXJlbmNlcywgaW5jbHVkaW5nIHRoZSB0b3AtbGV2ZWwgcm9vdCBzdGFja1xuICovXG5leHBvcnQgZnVuY3Rpb24gcHJpbnRTdGFja0RpZmYoXG4gIG9sZFRlbXBsYXRlOiBhbnksXG4gIG5ld1RlbXBsYXRlOiBjeGFwaS5DbG91ZEZvcm1hdGlvblN0YWNrQXJ0aWZhY3QsXG4gIHN0cmljdDogYm9vbGVhbixcbiAgY29udGV4dDogbnVtYmVyLFxuICBxdWlldDogYm9vbGVhbixcbiAgc3RhY2tOYW1lPzogc3RyaW5nLFxuICBjaGFuZ2VTZXQ/OiBEZXNjcmliZUNoYW5nZVNldE91dHB1dCxcbiAgaXNJbXBvcnQ/OiBib29sZWFuLFxuICBzdHJlYW06IEZvcm1hdFN0cmVhbSA9IHByb2Nlc3Muc3RkZXJyLFxuICBuZXN0ZWRTdGFja1RlbXBsYXRlcz86IHsgW25lc3RlZFN0YWNrTG9naWNhbElkOiBzdHJpbmddOiBOZXN0ZWRTdGFja1RlbXBsYXRlcyB9KTogbnVtYmVyIHtcbiAgbGV0IGRpZmYgPSBmdWxsRGlmZihvbGRUZW1wbGF0ZSwgbmV3VGVtcGxhdGUudGVtcGxhdGUsIGNoYW5nZVNldCwgaXNJbXBvcnQpO1xuXG4gIC8vIG11c3Qgb3V0cHV0IHRoZSBzdGFjayBuYW1lIGlmIHRoZXJlIGFyZSBkaWZmZXJlbmNlcywgZXZlbiBpZiBxdWlldFxuICBpZiAoc3RhY2tOYW1lICYmICghcXVpZXQgfHwgIWRpZmYuaXNFbXB0eSkpIHtcbiAgICBzdHJlYW0ud3JpdGUoZm9ybWF0KCdTdGFjayAlc1xcbicsIGNoYWxrLmJvbGQoc3RhY2tOYW1lKSkpO1xuICB9XG5cbiAgaWYgKCFxdWlldCAmJiBpc0ltcG9ydCkge1xuICAgIHN0cmVhbS53cml0ZSgnUGFyYW1ldGVycyBhbmQgcnVsZXMgY3JlYXRlZCBkdXJpbmcgbWlncmF0aW9uIGRvIG5vdCBhZmZlY3QgcmVzb3VyY2UgY29uZmlndXJhdGlvbi5cXG4nKTtcbiAgfVxuXG4gIC8vIGRldGVjdCBhbmQgZmlsdGVyIG91dCBtYW5nbGVkIGNoYXJhY3RlcnMgZnJvbSB0aGUgZGlmZlxuICBsZXQgZmlsdGVyZWRDaGFuZ2VzQ291bnQgPSAwO1xuICBpZiAoZGlmZi5kaWZmZXJlbmNlQ291bnQgJiYgIXN0cmljdCkge1xuICAgIGNvbnN0IG1hbmdsZWROZXdUZW1wbGF0ZSA9IEpTT04ucGFyc2UobWFuZ2xlTGlrZUNsb3VkRm9ybWF0aW9uKEpTT04uc3RyaW5naWZ5KG5ld1RlbXBsYXRlLnRlbXBsYXRlKSkpO1xuICAgIGNvbnN0IG1hbmdsZWREaWZmID0gZnVsbERpZmYob2xkVGVtcGxhdGUsIG1hbmdsZWROZXdUZW1wbGF0ZSwgY2hhbmdlU2V0KTtcbiAgICBmaWx0ZXJlZENoYW5nZXNDb3VudCA9IE1hdGgubWF4KDAsIGRpZmYuZGlmZmVyZW5jZUNvdW50IC0gbWFuZ2xlZERpZmYuZGlmZmVyZW5jZUNvdW50KTtcbiAgICBpZiAoZmlsdGVyZWRDaGFuZ2VzQ291bnQgPiAwKSB7XG4gICAgICBkaWZmID0gbWFuZ2xlZERpZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gZmlsdGVyIG91dCAnQVdTOjpDREs6Ok1ldGFkYXRhJyByZXNvdXJjZXMgZnJvbSB0aGUgdGVtcGxhdGVcbiAgLy8gZmlsdGVyIG91dCAnQ2hlY2tCb290c3RyYXBWZXJzaW9uJyBydWxlcyBmcm9tIHRoZSB0ZW1wbGF0ZVxuICBpZiAoIXN0cmljdCkge1xuICAgIG9ic2N1cmVEaWZmKGRpZmYpO1xuICB9XG5cbiAgbGV0IHN0YWNrRGlmZkNvdW50ID0gMDtcbiAgaWYgKCFkaWZmLmlzRW1wdHkpIHtcbiAgICBzdGFja0RpZmZDb3VudCsrO1xuICAgIGZvcm1hdERpZmZlcmVuY2VzKHN0cmVhbSwgZGlmZiwge1xuICAgICAgLi4ubG9naWNhbElkTWFwRnJvbVRlbXBsYXRlKG9sZFRlbXBsYXRlKSxcbiAgICAgIC4uLmJ1aWxkTG9naWNhbFRvUGF0aE1hcChuZXdUZW1wbGF0ZSksXG4gICAgfSwgY29udGV4dCk7XG4gIH0gZWxzZSBpZiAoIXF1aWV0KSB7XG4gICAgaW5mbyhjaGFsay5ncmVlbignVGhlcmUgd2VyZSBubyBkaWZmZXJlbmNlcycpKTtcbiAgfVxuICBpZiAoZmlsdGVyZWRDaGFuZ2VzQ291bnQgPiAwKSB7XG4gICAgaW5mbyhjaGFsay55ZWxsb3coYE9taXR0ZWQgJHtmaWx0ZXJlZENoYW5nZXNDb3VudH0gY2hhbmdlcyBiZWNhdXNlIHRoZXkgYXJlIGxpa2VseSBtYW5nbGVkIG5vbi1BU0NJSSBjaGFyYWN0ZXJzLiBVc2UgLS1zdHJpY3QgdG8gcHJpbnQgdGhlbS5gKSk7XG4gIH1cblxuICBmb3IgKGNvbnN0IG5lc3RlZFN0YWNrTG9naWNhbElkIG9mIE9iamVjdC5rZXlzKG5lc3RlZFN0YWNrVGVtcGxhdGVzID8/IHt9KSkge1xuICAgIGlmICghbmVzdGVkU3RhY2tUZW1wbGF0ZXMpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBjb25zdCBuZXN0ZWRTdGFjayA9IG5lc3RlZFN0YWNrVGVtcGxhdGVzW25lc3RlZFN0YWNrTG9naWNhbElkXTtcblxuICAgIChuZXdUZW1wbGF0ZSBhcyBhbnkpLl90ZW1wbGF0ZSA9IG5lc3RlZFN0YWNrLmdlbmVyYXRlZFRlbXBsYXRlO1xuICAgIHN0YWNrRGlmZkNvdW50ICs9IHByaW50U3RhY2tEaWZmKFxuICAgICAgbmVzdGVkU3RhY2suZGVwbG95ZWRUZW1wbGF0ZSxcbiAgICAgIG5ld1RlbXBsYXRlLFxuICAgICAgc3RyaWN0LFxuICAgICAgY29udGV4dCxcbiAgICAgIHF1aWV0LFxuICAgICAgbmVzdGVkU3RhY2sucGh5c2ljYWxOYW1lID8/IG5lc3RlZFN0YWNrTG9naWNhbElkLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgaXNJbXBvcnQsXG4gICAgICBzdHJlYW0sXG4gICAgICBuZXN0ZWRTdGFjay5uZXN0ZWRTdGFja1RlbXBsYXRlcyxcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIHN0YWNrRGlmZkNvdW50O1xufVxuXG5leHBvcnQgZW51bSBSZXF1aXJlQXBwcm92YWwge1xuICBOZXZlciA9ICduZXZlcicsXG5cbiAgQW55Q2hhbmdlID0gJ2FueS1jaGFuZ2UnLFxuXG4gIEJyb2FkZW5pbmcgPSAnYnJvYWRlbmluZycsXG59XG5cbi8qKlxuICogUHJpbnQgdGhlIHNlY3VyaXR5IGNoYW5nZXMgb2YgdGhpcyBkaWZmLCBpZiB0aGUgY2hhbmdlIGlzIGltcGFjdGZ1bCBlbm91Z2ggYWNjb3JkaW5nIHRvIHRoZSBhcHByb3ZhbCBsZXZlbFxuICpcbiAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgY2hhbmdlcyBhcmUgcHJvbXB0LXdvcnRoeSwgZmFsc2Ugb3RoZXJ3aXNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJpbnRTZWN1cml0eURpZmYoXG4gIG9sZFRlbXBsYXRlOiBhbnksXG4gIG5ld1RlbXBsYXRlOiBjeGFwaS5DbG91ZEZvcm1hdGlvblN0YWNrQXJ0aWZhY3QsXG4gIHJlcXVpcmVBcHByb3ZhbDogUmVxdWlyZUFwcHJvdmFsLFxuICBfcXVpZXQ/OiBib29sZWFuLFxuICBzdGFja05hbWU/OiBzdHJpbmcsXG4gIGNoYW5nZVNldD86IERlc2NyaWJlQ2hhbmdlU2V0T3V0cHV0LFxuICBzdHJlYW06IEZvcm1hdFN0cmVhbSA9IHByb2Nlc3Muc3RkZXJyLFxuKTogYm9vbGVhbiB7XG4gIGNvbnN0IGRpZmYgPSBmdWxsRGlmZihvbGRUZW1wbGF0ZSwgbmV3VGVtcGxhdGUudGVtcGxhdGUsIGNoYW5nZVNldCk7XG5cbiAgaWYgKGRpZmZSZXF1aXJlc0FwcHJvdmFsKGRpZmYsIHJlcXVpcmVBcHByb3ZhbCkpIHtcbiAgICBzdHJlYW0ud3JpdGUoZm9ybWF0KCdTdGFjayAlc1xcbicsIGNoYWxrLmJvbGQoc3RhY2tOYW1lKSkpO1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbiAgICB3YXJuaW5nKGBUaGlzIGRlcGxveW1lbnQgd2lsbCBtYWtlIHBvdGVudGlhbGx5IHNlbnNpdGl2ZSBjaGFuZ2VzIGFjY29yZGluZyB0byB5b3VyIGN1cnJlbnQgc2VjdXJpdHkgYXBwcm92YWwgbGV2ZWwgKC0tcmVxdWlyZS1hcHByb3ZhbCAke3JlcXVpcmVBcHByb3ZhbH0pLmApO1xuICAgIHdhcm5pbmcoJ1BsZWFzZSBjb25maXJtIHlvdSBpbnRlbmQgdG8gbWFrZSB0aGUgZm9sbG93aW5nIG1vZGlmaWNhdGlvbnM6XFxuJyk7XG5cbiAgICBmb3JtYXRTZWN1cml0eUNoYW5nZXMocHJvY2Vzcy5zdGRvdXQsIGRpZmYsIGJ1aWxkTG9naWNhbFRvUGF0aE1hcChuZXdUZW1wbGF0ZSkpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cblxuLyoqXG4gKiBSZXR1cm4gd2hldGhlciB0aGUgZGlmZiBoYXMgc2VjdXJpdHktaW1wYWN0aW5nIGNoYW5nZXMgdGhhdCBuZWVkIGNvbmZpcm1hdGlvblxuICpcbiAqIFRPRE86IEZpbHRlciB0aGUgc2VjdXJpdHkgaW1wYWN0IGRldGVybWluYXRpb24gYmFzZWQgb2ZmIG9mIGFuIGVudW0gdGhhdCBhbGxvd3NcbiAqIHVzIHRvIHBpY2sgbWluaW11bSBcInNldmVyaXRpZXNcIiB0byBhbGVydCBvbi5cbiAqL1xuZnVuY3Rpb24gZGlmZlJlcXVpcmVzQXBwcm92YWwoZGlmZjogVGVtcGxhdGVEaWZmLCByZXF1aXJlQXBwcm92YWw6IFJlcXVpcmVBcHByb3ZhbCkge1xuICBzd2l0Y2ggKHJlcXVpcmVBcHByb3ZhbCkge1xuICAgIGNhc2UgUmVxdWlyZUFwcHJvdmFsLk5ldmVyOiByZXR1cm4gZmFsc2U7XG4gICAgY2FzZSBSZXF1aXJlQXBwcm92YWwuQW55Q2hhbmdlOiByZXR1cm4gZGlmZi5wZXJtaXNzaW9uc0FueUNoYW5nZXM7XG4gICAgY2FzZSBSZXF1aXJlQXBwcm92YWwuQnJvYWRlbmluZzogcmV0dXJuIGRpZmYucGVybWlzc2lvbnNCcm9hZGVuZWQ7XG4gICAgZGVmYXVsdDogdGhyb3cgbmV3IFRvb2xraXRFcnJvcihgVW5yZWNvZ25pemVkIGFwcHJvdmFsIGxldmVsOiAke3JlcXVpcmVBcHByb3ZhbH1gKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBidWlsZExvZ2ljYWxUb1BhdGhNYXAoc3RhY2s6IGN4YXBpLkNsb3VkRm9ybWF0aW9uU3RhY2tBcnRpZmFjdCkge1xuICBjb25zdCBtYXA6IHsgW2lkOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuICBmb3IgKGNvbnN0IG1kIG9mIHN0YWNrLmZpbmRNZXRhZGF0YUJ5VHlwZShjeHNjaGVtYS5BcnRpZmFjdE1ldGFkYXRhRW50cnlUeXBlLkxPR0lDQUxfSUQpKSB7XG4gICAgbWFwW21kLmRhdGEgYXMgc3RyaW5nXSA9IG1kLnBhdGg7XG4gIH1cbiAgcmV0dXJuIG1hcDtcbn1cblxuZnVuY3Rpb24gbG9naWNhbElkTWFwRnJvbVRlbXBsYXRlKHRlbXBsYXRlOiBhbnkpIHtcbiAgY29uc3QgcmV0OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG5cbiAgZm9yIChjb25zdCBbbG9naWNhbElkLCByZXNvdXJjZV0gb2YgT2JqZWN0LmVudHJpZXModGVtcGxhdGUuUmVzb3VyY2VzID8/IHt9KSkge1xuICAgIGNvbnN0IHBhdGggPSAocmVzb3VyY2UgYXMgYW55KT8uTWV0YWRhdGE/LlsnYXdzOmNkazpwYXRoJ107XG4gICAgaWYgKHBhdGgpIHtcbiAgICAgIHJldFtsb2dpY2FsSWRdID0gcGF0aDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJldDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgYW55IHRlbXBsYXRlIGVsZW1lbnRzIHRoYXQgd2UgZG9uJ3Qgd2FudCB0byBzaG93IHVzZXJzLlxuICogVGhpcyBpcyBjdXJyZW50bHk6XG4gKiAtIEFXUzo6Q0RLOjpNZXRhZGF0YSByZXNvdXJjZVxuICogLSBDaGVja0Jvb3RzdHJhcFZlcnNpb24gUnVsZVxuICovXG5mdW5jdGlvbiBvYnNjdXJlRGlmZihkaWZmOiBUZW1wbGF0ZURpZmYpIHtcbiAgaWYgKGRpZmYudW5rbm93bikge1xuICAgIC8vIHNlZSBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvaXNzdWVzLzE3OTQyXG4gICAgZGlmZi51bmtub3duID0gZGlmZi51bmtub3duLmZpbHRlcihjaGFuZ2UgPT4ge1xuICAgICAgaWYgKCFjaGFuZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBpZiAoY2hhbmdlLm5ld1ZhbHVlPy5DaGVja0Jvb3RzdHJhcFZlcnNpb24pIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgaWYgKGNoYW5nZS5vbGRWYWx1ZT8uQ2hlY2tCb290c3RyYXBWZXJzaW9uKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0pO1xuICB9XG5cbiAgaWYgKGRpZmYucmVzb3VyY2VzKSB7XG4gICAgZGlmZi5yZXNvdXJjZXMgPSBkaWZmLnJlc291cmNlcy5maWx0ZXIoY2hhbmdlID0+IHtcbiAgICAgIGlmICghY2hhbmdlKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKGNoYW5nZS5uZXdSZXNvdXJjZVR5cGUgPT09ICdBV1M6OkNESzo6TWV0YWRhdGEnKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGlmIChjaGFuZ2Uub2xkUmVzb3VyY2VUeXBlID09PSAnQVdTOjpDREs6Ok1ldGFkYXRhJykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
165
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlmZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImRpZmYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBNEJBLHdDQTJFQztBQWVELDhDQXNCQztBQTVJRCwrQkFBOEI7QUFDOUIsMkRBQTJEO0FBQzNELHNFQVFzQztBQUV0QywrQkFBK0I7QUFFL0IsdUNBQTBDO0FBQzFDLDJDQUErQztBQUUvQzs7Ozs7Ozs7OztHQVVHO0FBQ0gsU0FBZ0IsY0FBYyxDQUM1QixXQUFnQixFQUNoQixXQUE4QyxFQUM5QyxNQUFlLEVBQ2YsT0FBZSxFQUNmLEtBQWMsRUFDZCxTQUFrQixFQUNsQixTQUFtQyxFQUNuQyxRQUFrQixFQUNsQixTQUF1QixPQUFPLENBQUMsTUFBTSxFQUNyQyxvQkFBK0U7O0lBQy9FLElBQUksSUFBSSxHQUFHLElBQUEsOEJBQVEsRUFBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFFNUUscUVBQXFFO0lBQ3JFLElBQUksU0FBUyxJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUMzQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUEsYUFBTSxFQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQUssSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUN2QixNQUFNLENBQUMsS0FBSyxDQUFDLHVGQUF1RixDQUFDLENBQUM7SUFDeEcsQ0FBQztJQUVELHlEQUF5RDtJQUN6RCxJQUFJLG9CQUFvQixHQUFHLENBQUMsQ0FBQztJQUM3QixJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNwQyxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBQSw4Q0FBd0IsRUFB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QUFFO1lBQzlDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDWixPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7WUFDRCxJQUFJLE1BQU0sQ0FBQyxlQUFlLEtBQUssb0JBQW9CLEVBQUUsQ0FBQztnQkFDcEQsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1lBQ0QsSUFBSSxNQUFNLENBQUMsZUFBZSxLQUFLLG9CQUFvQixFQUFFLENBQUM7Z0JBQ3BELE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZvcm1hdCB9IGZyb20gJ3V0aWwnO1xuaW1wb3J0ICogYXMgY3hzY2hlbWEgZnJvbSAnQGF3cy1jZGsvY2xvdWQtYXNzZW1ibHktc2NoZW1hJztcbmltcG9ydCB7XG4gIHR5cGUgRGVzY3JpYmVDaGFuZ2VTZXRPdXRwdXQsXG4gIHR5cGUgRm9ybWF0U3RyZWFtLFxuICB0eXBlIFRlbXBsYXRlRGlmZixcbiAgZm9ybWF0RGlmZmVyZW5jZXMsXG4gIGZvcm1hdFNlY3VyaXR5Q2hhbmdlcyxcbiAgZnVsbERpZmYsXG4gIG1hbmdsZUxpa2VDbG91ZEZvcm1hdGlvbixcbn0gZnJvbSAnQGF3cy1jZGsvY2xvdWRmb3JtYXRpb24tZGlmZic7XG5pbXBvcnQgdHlwZSAqIGFzIGN4YXBpIGZyb20gJ0Bhd3MtY2RrL2N4LWFwaSc7XG5pbXBvcnQgKiBhcyBjaGFsayBmcm9tICdjaGFsayc7XG5pbXBvcnQgeyB0eXBlIE5lc3RlZFN0YWNrVGVtcGxhdGVzIH0gZnJvbSAnLi9hcGkvZGVwbG95bWVudHMnO1xuaW1wb3J0IHsgaW5mbywgd2FybmluZyB9IGZyb20gJy4vbG9nZ2luZyc7XG5pbXBvcnQgeyBUb29sa2l0RXJyb3IgfSBmcm9tICcuL3Rvb2xraXQvZXJyb3InO1xuXG4vKipcbiAqIFByZXR0eS1wcmludHMgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdHdvIHRlbXBsYXRlIHN0YXRlcyB0byB0aGUgY29uc29sZS5cbiAqXG4gKiBAcGFyYW0gb2xkVGVtcGxhdGUgdGhlIG9sZC9jdXJyZW50IHN0YXRlIG9mIHRoZSBzdGFjay5cbiAqIEBwYXJhbSBuZXdUZW1wbGF0ZSB0aGUgbmV3L3RhcmdldCBzdGF0ZSBvZiB0aGUgc3RhY2suXG4gKiBAcGFyYW0gc3RyaWN0ICAgICAgZG8gbm90IGZpbHRlciBvdXQgQVdTOjpDREs6Ok1ldGFkYXRhIG9yIFJ1bGVzXG4gKiBAcGFyYW0gY29udGV4dCAgICAgbGluZXMgb2YgY29udGV4dCB0byB1c2UgaW4gYXJiaXRyYXJ5IEpTT04gZGlmZlxuICogQHBhcmFtIHF1aWV0ICAgICAgIHNpbGVuY2VzIFxcJ1RoZXJlIHdlcmUgbm8gZGlmZmVyZW5jZXNcXCcgbWVzc2FnZXNcbiAqXG4gKiBAcmV0dXJucyB0aGUgbnVtYmVyIG9mIHN0YWNrcyBpbiB0aGlzIHN0YWNrIHRyZWUgdGhhdCBoYXZlIGRpZmZlcmVuY2VzLCBpbmNsdWRpbmcgdGhlIHRvcC1sZXZlbCByb290IHN0YWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmludFN0YWNrRGlmZihcbiAgb2xkVGVtcGxhdGU6IGFueSxcbiAgbmV3VGVtcGxhdGU6IGN4YXBpLkNsb3VkRm9ybWF0aW9uU3RhY2tBcnRpZmFjdCxcbiAgc3RyaWN0OiBib29sZWFuLFxuICBjb250ZXh0OiBudW1iZXIsXG4gIHF1aWV0OiBib29sZWFuLFxuICBzdGFja05hbWU/OiBzdHJpbmcsXG4gIGNoYW5nZVNldD86IERlc2NyaWJlQ2hhbmdlU2V0T3V0cHV0LFxuICBpc0ltcG9ydD86IGJvb2xlYW4sXG4gIHN0cmVhbTogRm9ybWF0U3RyZWFtID0gcHJvY2Vzcy5zdGRlcnIsXG4gIG5lc3RlZFN0YWNrVGVtcGxhdGVzPzogeyBbbmVzdGVkU3RhY2tMb2dpY2FsSWQ6IHN0cmluZ106IE5lc3RlZFN0YWNrVGVtcGxhdGVzIH0pOiBudW1iZXIge1xuICBsZXQgZGlmZiA9IGZ1bGxEaWZmKG9sZFRlbXBsYXRlLCBuZXdUZW1wbGF0ZS50ZW1wbGF0ZSwgY2hhbmdlU2V0LCBpc0ltcG9ydCk7XG5cbiAgLy8gbXVzdCBvdXRwdXQgdGhlIHN0YWNrIG5hbWUgaWYgdGhlcmUgYXJlIGRpZmZlcmVuY2VzLCBldmVuIGlmIHF1aWV0XG4gIGlmIChzdGFja05hbWUgJiYgKCFxdWlldCB8fCAhZGlmZi5pc0VtcHR5KSkge1xuICAgIHN0cmVhbS53cml0ZShmb3JtYXQoJ1N0YWNrICVzXFxuJywgY2hhbGsuYm9sZChzdGFja05hbWUpKSk7XG4gIH1cblxuICBpZiAoIXF1aWV0ICYmIGlzSW1wb3J0KSB7XG4gICAgc3RyZWFtLndyaXRlKCdQYXJhbWV0ZXJzIGFuZCBydWxlcyBjcmVhdGVkIGR1cmluZyBtaWdyYXRpb24gZG8gbm90IGFmZmVjdCByZXNvdXJjZSBjb25maWd1cmF0aW9uLlxcbicpO1xuICB9XG5cbiAgLy8gZGV0ZWN0IGFuZCBmaWx0ZXIgb3V0IG1hbmdsZWQgY2hhcmFjdGVycyBmcm9tIHRoZSBkaWZmXG4gIGxldCBmaWx0ZXJlZENoYW5nZXNDb3VudCA9IDA7XG4gIGlmIChkaWZmLmRpZmZlcmVuY2VDb3VudCAmJiAhc3RyaWN0KSB7XG4gICAgY29uc3QgbWFuZ2xlZE5ld1RlbXBsYXRlID0gSlNPTi5wYXJzZShtYW5nbGVMaWtlQ2xvdWRGb3JtYXRpb24oSlNPTi5zdHJpbmdpZnkobmV3VGVtcGxhdGUudGVtcGxhdGUpKSk7XG4gICAgY29uc3QgbWFuZ2xlZERpZmYgPSBmdWxsRGlmZihvbGRUZW1wbGF0ZSwgbWFuZ2xlZE5ld1RlbXBsYXRlLCBjaGFuZ2VTZXQpO1xuICAgIGZpbHRlcmVkQ2hhbmdlc0NvdW50ID0gTWF0aC5tYXgoMCwgZGlmZi5kaWZmZXJlbmNlQ291bnQgLSBtYW5nbGVkRGlmZi5kaWZmZXJlbmNlQ291bnQpO1xuICAgIGlmIChmaWx0ZXJlZENoYW5nZXNDb3VudCA+IDApIHtcbiAgICAgIGRpZmYgPSBtYW5nbGVkRGlmZjtcbiAgICB9XG4gIH1cblxuICAvLyBmaWx0ZXIgb3V0ICdBV1M6OkNESzo6TWV0YWRhdGEnIHJlc291cmNlcyBmcm9tIHRoZSB0ZW1wbGF0ZVxuICAvLyBmaWx0ZXIgb3V0ICdDaGVja0Jvb3RzdHJhcFZlcnNpb24nIHJ1bGVzIGZyb20gdGhlIHRlbXBsYXRlXG4gIGlmICghc3RyaWN0KSB7XG4gICAgb2JzY3VyZURpZmYoZGlmZik7XG4gIH1cblxuICBsZXQgc3RhY2tEaWZmQ291bnQgPSAwO1xuICBpZiAoIWRpZmYuaXNFbXB0eSkge1xuICAgIHN0YWNrRGlmZkNvdW50Kys7XG4gICAgZm9ybWF0RGlmZmVyZW5jZXMoc3RyZWFtLCBkaWZmLCB7XG4gICAgICAuLi5sb2dpY2FsSWRNYXBGcm9tVGVtcGxhdGUob2xkVGVtcGxhdGUpLFxuICAgICAgLi4uYnVpbGRMb2dpY2FsVG9QYXRoTWFwKG5ld1RlbXBsYXRlKSxcbiAgICB9LCBjb250ZXh0KTtcbiAgfSBlbHNlIGlmICghcXVpZXQpIHtcbiAgICBpbmZvKGNoYWxrLmdyZWVuKCdUaGVyZSB3ZXJlIG5vIGRpZmZlcmVuY2VzJykpO1xuICB9XG4gIGlmIChmaWx0ZXJlZENoYW5nZXNDb3VudCA+IDApIHtcbiAgICBpbmZvKGNoYWxrLnllbGxvdyhgT21pdHRlZCAke2ZpbHRlcmVkQ2hhbmdlc0NvdW50fSBjaGFuZ2VzIGJlY2F1c2UgdGhleSBhcmUgbGlrZWx5IG1hbmdsZWQgbm9uLUFTQ0lJIGNoYXJhY3RlcnMuIFVzZSAtLXN0cmljdCB0byBwcmludCB0aGVtLmApKTtcbiAgfVxuXG4gIGZvciAoY29uc3QgbmVzdGVkU3RhY2tMb2dpY2FsSWQgb2YgT2JqZWN0LmtleXMobmVzdGVkU3RhY2tUZW1wbGF0ZXMgPz8ge30pKSB7XG4gICAgaWYgKCFuZXN0ZWRTdGFja1RlbXBsYXRlcykge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGNvbnN0IG5lc3RlZFN0YWNrID0gbmVzdGVkU3RhY2tUZW1wbGF0ZXNbbmVzdGVkU3RhY2tMb2dpY2FsSWRdO1xuXG4gICAgKG5ld1RlbXBsYXRlIGFzIGFueSkuX3RlbXBsYXRlID0gbmVzdGVkU3RhY2suZ2VuZXJhdGVkVGVtcGxhdGU7XG4gICAgc3RhY2tEaWZmQ291bnQgKz0gcHJpbnRTdGFja0RpZmYoXG4gICAgICBuZXN0ZWRTdGFjay5kZXBsb3llZFRlbXBsYXRlLFxuICAgICAgbmV3VGVtcGxhdGUsXG4gICAgICBzdHJpY3QsXG4gICAgICBjb250ZXh0LFxuICAgICAgcXVpZXQsXG4gICAgICBuZXN0ZWRTdGFjay5waHlzaWNhbE5hbWUgPz8gbmVzdGVkU3RhY2tMb2dpY2FsSWQsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBpc0ltcG9ydCxcbiAgICAgIHN0cmVhbSxcbiAgICAgIG5lc3RlZFN0YWNrLm5lc3RlZFN0YWNrVGVtcGxhdGVzLFxuICAgICk7XG4gIH1cblxuICByZXR1cm4gc3RhY2tEaWZmQ291bnQ7XG59XG5cbmV4cG9ydCBlbnVtIFJlcXVpcmVBcHByb3ZhbCB7XG4gIE5ldmVyID0gJ25ldmVyJyxcblxuICBBbnlDaGFuZ2UgPSAnYW55LWNoYW5nZScsXG5cbiAgQnJvYWRlbmluZyA9ICdicm9hZGVuaW5nJyxcbn1cblxuLyoqXG4gKiBQcmludCB0aGUgc2VjdXJpdHkgY2hhbmdlcyBvZiB0aGlzIGRpZmYsIGlmIHRoZSBjaGFuZ2UgaXMgaW1wYWN0ZnVsIGVub3VnaCBhY2NvcmRpbmcgdG8gdGhlIGFwcHJvdmFsIGxldmVsXG4gKlxuICogUmV0dXJucyB0cnVlIGlmIHRoZSBjaGFuZ2VzIGFyZSBwcm9tcHQtd29ydGh5LCBmYWxzZSBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmludFNlY3VyaXR5RGlmZihcbiAgb2xkVGVtcGxhdGU6IGFueSxcbiAgbmV3VGVtcGxhdGU6IGN4YXBpLkNsb3VkRm9ybWF0aW9uU3RhY2tBcnRpZmFjdCxcbiAgcmVxdWlyZUFwcHJvdmFsOiBSZXF1aXJlQXBwcm92YWwsXG4gIF9xdWlldD86IGJvb2xlYW4sXG4gIHN0YWNrTmFtZT86IHN0cmluZyxcbiAgY2hhbmdlU2V0PzogRGVzY3JpYmVDaGFuZ2VTZXRPdXRwdXQsXG4gIHN0cmVhbTogRm9ybWF0U3RyZWFtID0gcHJvY2Vzcy5zdGRlcnIsXG4pOiBib29sZWFuIHtcbiAgY29uc3QgZGlmZiA9IGZ1bGxEaWZmKG9sZFRlbXBsYXRlLCBuZXdUZW1wbGF0ZS50ZW1wbGF0ZSwgY2hhbmdlU2V0KTtcblxuICBpZiAoZGlmZlJlcXVpcmVzQXBwcm92YWwoZGlmZiwgcmVxdWlyZUFwcHJvdmFsKSkge1xuICAgIHN0cmVhbS53cml0ZShmb3JtYXQoJ1N0YWNrICVzXFxuJywgY2hhbGsuYm9sZChzdGFja05hbWUpKSk7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuICAgIHdhcm5pbmcoYFRoaXMgZGVwbG95bWVudCB3aWxsIG1ha2UgcG90ZW50aWFsbHkgc2Vuc2l0aXZlIGNoYW5nZXMgYWNjb3JkaW5nIHRvIHlvdXIgY3VycmVudCBzZWN1cml0eSBhcHByb3ZhbCBsZXZlbCAoLS1yZXF1aXJlLWFwcHJvdmFsICR7cmVxdWlyZUFwcHJvdmFsfSkuYCk7XG4gICAgd2FybmluZygnUGxlYXNlIGNvbmZpcm0geW91IGludGVuZCB0byBtYWtlIHRoZSBmb2xsb3dpbmcgbW9kaWZpY2F0aW9uczpcXG4nKTtcblxuICAgIGZvcm1hdFNlY3VyaXR5Q2hhbmdlcyhwcm9jZXNzLnN0ZG91dCwgZGlmZiwgYnVpbGRMb2dpY2FsVG9QYXRoTWFwKG5ld1RlbXBsYXRlKSk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG4vKipcbiAqIFJldHVybiB3aGV0aGVyIHRoZSBkaWZmIGhhcyBzZWN1cml0eS1pbXBhY3RpbmcgY2hhbmdlcyB0aGF0IG5lZWQgY29uZmlybWF0aW9uXG4gKlxuICogVE9ETzogRmlsdGVyIHRoZSBzZWN1cml0eSBpbXBhY3QgZGV0ZXJtaW5hdGlvbiBiYXNlZCBvZmYgb2YgYW4gZW51bSB0aGF0IGFsbG93c1xuICogdXMgdG8gcGljayBtaW5pbXVtIFwic2V2ZXJpdGllc1wiIHRvIGFsZXJ0IG9uLlxuICovXG5mdW5jdGlvbiBkaWZmUmVxdWlyZXNBcHByb3ZhbChkaWZmOiBUZW1wbGF0ZURpZmYsIHJlcXVpcmVBcHByb3ZhbDogUmVxdWlyZUFwcHJvdmFsKSB7XG4gIHN3aXRjaCAocmVxdWlyZUFwcHJvdmFsKSB7XG4gICAgY2FzZSBSZXF1aXJlQXBwcm92YWwuTmV2ZXI6IHJldHVybiBmYWxzZTtcbiAgICBjYXNlIFJlcXVpcmVBcHByb3ZhbC5BbnlDaGFuZ2U6IHJldHVybiBkaWZmLnBlcm1pc3Npb25zQW55Q2hhbmdlcztcbiAgICBjYXNlIFJlcXVpcmVBcHByb3ZhbC5Ccm9hZGVuaW5nOiByZXR1cm4gZGlmZi5wZXJtaXNzaW9uc0Jyb2FkZW5lZDtcbiAgICBkZWZhdWx0OiB0aHJvdyBuZXcgVG9vbGtpdEVycm9yKGBVbnJlY29nbml6ZWQgYXBwcm92YWwgbGV2ZWw6ICR7cmVxdWlyZUFwcHJvdmFsfWApO1xuICB9XG59XG5cbmZ1bmN0aW9uIGJ1aWxkTG9naWNhbFRvUGF0aE1hcChzdGFjazogY3hhcGkuQ2xvdWRGb3JtYXRpb25TdGFja0FydGlmYWN0KSB7XG4gIGNvbnN0IG1hcDogeyBbaWQ6IHN0cmluZ106IHN0cmluZyB9ID0ge307XG4gIGZvciAoY29uc3QgbWQgb2Ygc3RhY2suZmluZE1ldGFkYXRhQnlUeXBlKGN4c2NoZW1hLkFydGlmYWN0TWV0YWRhdGFFbnRyeVR5cGUuTE9HSUNBTF9JRCkpIHtcbiAgICBtYXBbbWQuZGF0YSBhcyBzdHJpbmddID0gbWQucGF0aDtcbiAgfVxuICByZXR1cm4gbWFwO1xufVxuXG5mdW5jdGlvbiBsb2dpY2FsSWRNYXBGcm9tVGVtcGxhdGUodGVtcGxhdGU6IGFueSkge1xuICBjb25zdCByZXQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcblxuICBmb3IgKGNvbnN0IFtsb2dpY2FsSWQsIHJlc291cmNlXSBvZiBPYmplY3QuZW50cmllcyh0ZW1wbGF0ZS5SZXNvdXJjZXMgPz8ge30pKSB7XG4gICAgY29uc3QgcGF0aCA9IChyZXNvdXJjZSBhcyBhbnkpPy5NZXRhZGF0YT8uWydhd3M6Y2RrOnBhdGgnXTtcbiAgICBpZiAocGF0aCkge1xuICAgICAgcmV0W2xvZ2ljYWxJZF0gPSBwYXRoO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmV0O1xufVxuXG4vKipcbiAqIFJlbW92ZSBhbnkgdGVtcGxhdGUgZWxlbWVudHMgdGhhdCB3ZSBkb24ndCB3YW50IHRvIHNob3cgdXNlcnMuXG4gKiBUaGlzIGlzIGN1cnJlbnRseTpcbiAqIC0gQVdTOjpDREs6Ok1ldGFkYXRhIHJlc291cmNlXG4gKiAtIENoZWNrQm9vdHN0cmFwVmVyc2lvbiBSdWxlXG4gKi9cbmZ1bmN0aW9uIG9ic2N1cmVEaWZmKGRpZmY6IFRlbXBsYXRlRGlmZikge1xuICBpZiAoZGlmZi51bmtub3duKSB7XG4gICAgLy8gc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9pc3N1ZXMvMTc5NDJcbiAgICBkaWZmLnVua25vd24gPSBkaWZmLnVua25vd24uZmlsdGVyKGNoYW5nZSA9PiB7XG4gICAgICBpZiAoIWNoYW5nZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmIChjaGFuZ2UubmV3VmFsdWU/LkNoZWNrQm9vdHN0cmFwVmVyc2lvbikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBpZiAoY2hhbmdlLm9sZFZhbHVlPy5DaGVja0Jvb3RzdHJhcFZlcnNpb24pIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSk7XG4gIH1cblxuICBpZiAoZGlmZi5yZXNvdXJjZXMpIHtcbiAgICBkaWZmLnJlc291cmNlcyA9IGRpZmYucmVzb3VyY2VzLmZpbHRlcihjaGFuZ2UgPT4ge1xuICAgICAgaWYgKCFjaGFuZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBpZiAoY2hhbmdlLm5ld1Jlc291cmNlVHlwZSA9PT0gJ0FXUzo6Q0RLOjpNZXRhZGF0YScpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgaWYgKGNoYW5nZS5vbGRSZXNvdXJjZVR5cGUgPT09ICdBV1M6OkNESzo6TWV0YWRhdGEnKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|