@pipeline-builder/pipeline-manager 4.4.16 → 4.4.17
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/dist/agent/ai.d.ts.map +1 -1
- package/dist/agent/ai.js +1 -1
- package/dist/agent/bootstrap.d.ts.map +1 -1
- package/dist/agent/bootstrap.js +1 -1
- package/dist/agent/env-file.d.ts.map +1 -1
- package/dist/agent/env-file.js +1 -1
- package/dist/agent/executor.d.ts.map +1 -1
- package/dist/agent/executor.js +1 -1
- package/dist/agent/health.d.ts.map +1 -1
- package/dist/agent/health.js +1 -1
- package/dist/agent/ports.d.ts.map +1 -1
- package/dist/agent/ports.js +1 -1
- package/dist/agent/post-steps.d.ts.map +1 -1
- package/dist/agent/post-steps.js +1 -1
- package/dist/agent/prereqs.d.ts.map +1 -1
- package/dist/agent/prereqs.js +1 -1
- package/dist/agent/targets.d.ts.map +1 -1
- package/dist/agent/targets.js +1 -1
- package/dist/agent/tools.d.ts.map +1 -1
- package/dist/agent/tools.js +1 -1
- package/dist/agent/troubleshoot.d.ts.map +1 -1
- package/dist/agent/troubleshoot.js +1 -1
- package/dist/boilerplate.d.ts.map +1 -1
- package/dist/boilerplate.js +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +1 -1
- package/dist/commands/audit-stacks.d.ts.map +1 -1
- package/dist/commands/audit-stacks.js +1 -1
- package/dist/commands/audit-tokens.d.ts.map +1 -1
- package/dist/commands/audit-tokens.js +1 -1
- package/dist/commands/bootstrap.d.ts.map +1 -1
- package/dist/commands/bootstrap.js +1 -1
- package/dist/commands/create-pat.d.ts.map +1 -1
- package/dist/commands/create-pat.js +1 -1
- package/dist/commands/create-pipeline.d.ts.map +1 -1
- package/dist/commands/create-pipeline.js +1 -1
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +1 -1
- package/dist/commands/entity-get.d.ts.map +1 -1
- package/dist/commands/entity-get.js +1 -1
- package/dist/commands/entity-list.d.ts.map +1 -1
- package/dist/commands/entity-list.js +1 -1
- package/dist/commands/get-pipeline.d.ts.map +1 -1
- package/dist/commands/get-pipeline.js +1 -1
- package/dist/commands/get-plugin.d.ts.map +1 -1
- package/dist/commands/get-plugin.js +1 -1
- package/dist/commands/instantiate-template.d.ts.map +1 -1
- package/dist/commands/instantiate-template.js +1 -1
- package/dist/commands/list-pipelines.d.ts.map +1 -1
- package/dist/commands/list-pipelines.js +1 -1
- package/dist/commands/list-plugins.d.ts.map +1 -1
- package/dist/commands/list-plugins.js +1 -1
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +1 -1
- package/dist/commands/new-plugin.d.ts.map +1 -1
- package/dist/commands/new-plugin.js +1 -1
- package/dist/commands/org-export.d.ts.map +1 -1
- package/dist/commands/org-export.js +1 -1
- package/dist/commands/plugin-lifecycle.d.ts.map +1 -1
- package/dist/commands/plugin-lifecycle.js +1 -1
- package/dist/commands/provision-steps.d.ts.map +1 -1
- package/dist/commands/provision-steps.js +1 -1
- package/dist/commands/provision.d.ts.map +1 -1
- package/dist/commands/provision.js +1 -1
- package/dist/commands/publish-plugin.d.ts.map +1 -1
- package/dist/commands/publish-plugin.js +1 -1
- package/dist/commands/redrive-events.d.ts.map +1 -1
- package/dist/commands/redrive-events.js +1 -1
- package/dist/commands/register.d.ts.map +1 -1
- package/dist/commands/register.js +1 -1
- package/dist/commands/report.d.ts.map +1 -1
- package/dist/commands/report.js +1 -1
- package/dist/commands/security-report.d.ts.map +1 -1
- package/dist/commands/security-report.js +1 -1
- package/dist/commands/setup-events.d.ts.map +1 -1
- package/dist/commands/setup-events.js +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +1 -1
- package/dist/commands/store-token.d.ts.map +1 -1
- package/dist/commands/store-token.js +1 -1
- package/dist/commands/synth.d.ts.map +1 -1
- package/dist/commands/synth.js +1 -1
- package/dist/commands/test-plugin.d.ts.map +1 -1
- package/dist/commands/test-plugin.js +1 -1
- package/dist/commands/upload-plugin.d.ts.map +1 -1
- package/dist/commands/upload-plugin.js +1 -1
- package/dist/commands/validate-plugin.d.ts.map +1 -1
- package/dist/commands/validate-plugin.js +1 -1
- package/dist/commands/validate-templates.d.ts.map +1 -1
- package/dist/commands/validate-templates.js +1 -1
- package/dist/commands/verify-plugins.d.ts.map +1 -1
- package/dist/commands/verify-plugins.js +1 -1
- package/dist/commands/version.d.ts.map +1 -1
- package/dist/commands/version.js +1 -1
- package/dist/config/cli.constants.d.ts.map +1 -1
- package/dist/config/cli.constants.js +1 -1
- package/dist/config/plugin-catalog-assets.d.ts.map +1 -1
- package/dist/config/plugin-catalog-assets.js +1 -1
- package/dist/lambda/token-renew-handler.d.ts.map +1 -1
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +1 -1
- package/dist/types/error.d.ts.map +1 -1
- package/dist/types/error.js +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/types/pipeline-template.d.ts.map +1 -1
- package/dist/types/pipeline-template.js +1 -1
- package/dist/types/pipeline.d.ts.map +1 -1
- package/dist/types/pipeline.js +1 -1
- package/dist/types/plugin.d.ts.map +1 -1
- package/dist/types/plugin.js +1 -1
- package/dist/utils/api-client.d.ts.map +1 -1
- package/dist/utils/api-client.js +1 -1
- package/dist/utils/audit-log.d.ts.map +1 -1
- package/dist/utils/audit-log.js +1 -1
- package/dist/utils/auth-guard.d.ts.map +1 -1
- package/dist/utils/auth-guard.js +1 -1
- package/dist/utils/auth-utils.d.ts.map +1 -1
- package/dist/utils/auth-utils.js +1 -1
- package/dist/utils/aws-env.d.ts.map +1 -1
- package/dist/utils/aws-env.js +1 -1
- package/dist/utils/aws-secrets.d.ts.map +1 -1
- package/dist/utils/aws-secrets.js +1 -1
- package/dist/utils/banner.d.ts.map +1 -1
- package/dist/utils/banner.js +1 -1
- package/dist/utils/catalog-prompt.d.ts.map +1 -1
- package/dist/utils/catalog-prompt.js +1 -1
- package/dist/utils/cdk-utils.d.ts.map +1 -1
- package/dist/utils/cdk-utils.js +1 -1
- package/dist/utils/command-utils.d.ts.map +1 -1
- package/dist/utils/command-utils.js +1 -1
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +1 -1
- package/dist/utils/credential-store.d.ts.map +1 -1
- package/dist/utils/credential-store.js +1 -1
- package/dist/utils/cron.d.ts.map +1 -1
- package/dist/utils/cron.js +1 -1
- package/dist/utils/deploy-runner.d.ts.map +1 -1
- package/dist/utils/deploy-runner.js +1 -1
- package/dist/utils/device-auth.d.ts.map +1 -1
- package/dist/utils/device-auth.js +1 -1
- package/dist/utils/error-handler.d.ts.map +1 -1
- package/dist/utils/error-handler.js +1 -1
- package/dist/utils/list-command-utils.d.ts.map +1 -1
- package/dist/utils/list-command-utils.js +1 -1
- package/dist/utils/output-utils.d.ts.map +1 -1
- package/dist/utils/output-utils.js +1 -1
- package/dist/utils/pipeline-config.d.ts.map +1 -1
- package/dist/utils/pipeline-config.js +1 -1
- package/dist/utils/platform-secret.d.ts.map +1 -1
- package/dist/utils/platform-secret.js +1 -1
- package/dist/utils/plugin-docker.d.ts.map +1 -1
- package/dist/utils/plugin-docker.js +1 -1
- package/dist/utils/plugin-package.d.ts.map +1 -1
- package/dist/utils/plugin-package.js +1 -1
- package/dist/utils/plugin-resolver.d.ts.map +1 -1
- package/dist/utils/plugin-resolver.js +1 -1
- package/dist/utils/plugin-scan.d.ts.map +1 -1
- package/dist/utils/plugin-scan.js +1 -1
- package/dist/utils/plugin-zip.d.ts.map +1 -1
- package/dist/utils/plugin-zip.js +1 -1
- package/dist/utils/preflight.d.ts.map +1 -1
- package/dist/utils/preflight.js +1 -1
- package/dist/utils/registration-client.d.ts.map +1 -1
- package/dist/utils/registration-client.js +1 -1
- package/dist/utils/registry.d.ts.map +1 -1
- package/dist/utils/registry.js +1 -1
- package/dist/utils/request-context.d.ts.map +1 -1
- package/dist/utils/request-context.js +1 -1
- package/dist/utils/response-utils.d.ts.map +1 -1
- package/dist/utils/response-utils.js +1 -1
- package/dist/utils/service-account.d.ts.map +1 -1
- package/dist/utils/service-account.js +1 -1
- package/dist/utils/tls.d.ts.map +1 -1
- package/dist/utils/tls.js +1 -1
- package/package.json +9 -9
|
@@ -221,4 +221,4 @@ export function publishPlugin(program) {
|
|
|
221
221
|
}
|
|
222
222
|
});
|
|
223
223
|
}
|
|
224
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGlzaC1wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvcHVibGlzaC1wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxRQUFRLE1BQU0sbUJBQW1CLENBQUM7QUFDekMsT0FBTyxFQUFFLHNCQUFzQixFQUEyQixNQUFNLDRCQUE0QixDQUFDO0FBQzdGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxRQUFRLE1BQU0sV0FBVyxDQUFDO0FBQ2pDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEksT0FBTyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlFLE9BQU8sRUFBa0IsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQVksTUFBTSw0QkFBNEIsQ0FBQztBQUMzRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNILE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQWEsTUFBTSwyQkFBMkIsQ0FBQztBQUN4SCxPQUFPLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBb0IsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFZdEUscURBQXFEO0FBQ3JELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxLQUFLO0lBQzlDLFlBQVksT0FBZTtRQUN6QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLHVCQUF1QixDQUFDO0lBQ3RDLENBQUM7Q0FDRjtBQUVELDBEQUEwRDtBQUMxRCxNQUFNLE1BQU0sR0FBRyxDQUFJLElBQWEsRUFBSyxFQUFFLENBQUMsQ0FBRSxJQUFxQixFQUFFLElBQUksSUFBSSxJQUFJLENBQU0sQ0FBQztBQVNwRiwrRUFBK0U7QUFDL0UsTUFBTSxDQUFDLEtBQUssVUFBVSxnQkFBZ0IsQ0FBQyxNQUFpQjtJQUN0RCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQWlCLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ3hHLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCO1FBQUUsTUFBTSxJQUFJLHFCQUFxQixDQUFDLHdFQUF3RSxDQUFDLENBQUM7SUFDeEksSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTO1FBQUUsTUFBTSxJQUFJLHFCQUFxQixDQUFDLDJGQUEyRixDQUFDLENBQUM7SUFDbkosSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTO1FBQUUsTUFBTSxJQUFJLHFCQUFxQixDQUFDLHlGQUF5RixDQUFDLENBQUM7SUFDakosSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsUUFBUTtRQUFFLE1BQU0sSUFBSSxxQkFBcUIsQ0FBQyxxRkFBcUYsQ0FBQyxDQUFDO0lBQ2xKLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7QUFDaEMsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLElBQVUsRUFBRSxJQUErSTtJQUN4TCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLGFBQWEsRUFBRSxDQUFDO1FBQ3BELE9BQU8sRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxLQUFLLElBQUksQ0FBQyxTQUFTLDRFQUE0RSxFQUFFLENBQUM7SUFDNUksQ0FBQztJQUNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQztRQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSw0Q0FBNEMsRUFBRSxDQUFDO0lBQ3JILElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNoRixPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsMkdBQTJHLEVBQUUsQ0FBQztJQUN4SixDQUFDO0lBQ0QsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN2QixJQUFJLEtBQUssR0FBa0IsSUFBSSxDQUFDO0lBQ2hDLElBQUksQ0FBQztRQUNILElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLEtBQUssR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDL0MsTUFBTSxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7WUFDNUgsSUFBSSxLQUFLO2dCQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUN0RCxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLENBQUM7UUFDRCxPQUFPLFdBQVcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztZQUFTLENBQUM7UUFDVCxJQUFJLEtBQUs7WUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7QUFDSCxDQUFDO0FBRUQsNEZBQTRGO0FBQzVGLFNBQVMsYUFBYSxDQUFDLFFBQW1EO0lBQ3hFLFlBQVksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQzNDLEtBQUssTUFBTSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQzdELE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBc0MsQ0FBQyxDQUFDO1FBQ3hFLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxhQUFhLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNuSCxDQUFDO0lBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNsQixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLFVBQVUsQ0FDOUIsT0FBNkIsRUFDN0IsSUFBSSxHQUF5RCxFQUFFO0lBRS9ELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksU0FBUyxDQUFDO0lBRXBDLFlBQVksQ0FBQyxZQUFZLEVBQUUsMkNBQTJDLENBQUMsQ0FBQztJQUN4RSxNQUFNLE1BQU0sR0FBRyxNQUFNLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNwRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqRCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssT0FBTyxDQUFDLENBQUM7SUFDaEUsS0FBSyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDO1FBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4RixLQUFLLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUM7UUFBRSxZQUFZLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekcsTUFBTSxRQUFRLEdBQUc7UUFDZixHQUFHLE1BQU0sQ0FBQyxRQUFRO1FBQ2xCLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDakMsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEtBQUssTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQztLQUM3RSxDQUFDO0lBQ0Ysa0JBQWtCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xDLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3BCLEtBQUssTUFBTSxDQUFDLElBQUksUUFBUTtZQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDakQsTUFBTSxJQUFJLHFCQUFxQixDQUFDLDBCQUEwQixRQUFRLENBQUMsTUFBTSxhQUFhLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBQ0QsWUFBWSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFFbEMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFLLENBQUM7SUFDOUIsWUFBWSxDQUFDLGNBQWMsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0lBQ2xELElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3JCLFlBQVksQ0FBQyxvSUFBb0ksQ0FBQyxDQUFDO0lBQ3JKLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLElBQUksRUFBRTtZQUNoQyxHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHO1lBQ25CLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDO1lBQ2hFLFNBQVMsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVM7WUFDL0IsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3ZCLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUM3QixLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7WUFDcEIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1NBQzFCLENBQUMsQ0FBQztRQUNILElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxhQUFhLEVBQUUsQ0FBQztZQUNsQyxZQUFZLENBQUMseUJBQXlCLElBQUksQ0FBQyxNQUFNLDRHQUE0RyxDQUFDLENBQUM7UUFDakssQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNwQyxNQUFNLElBQUkscUJBQXFCLENBQUMsd0JBQXdCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLENBQUM7YUFBTSxDQUFDO1lBQ04sYUFBYSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9GLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDekIsS0FBSyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUTtvQkFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUN0RCxNQUFNLElBQUkscUJBQXFCLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0seUJBQXlCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLDhDQUE4QyxDQUFDLENBQUM7WUFDMUssQ0FBQztZQUNELFlBQVksQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBQzlDLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbkIsWUFBWSxDQUFDLHdEQUF3RCxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsdUNBQXVDLENBQUMsQ0FBQztJQUNwSixDQUFDO0lBQ0QsWUFBWSxDQUFDLGlCQUFpQixFQUFFLG9DQUFvQyxDQUFDLENBQUM7SUFDdEUsTUFBTSxLQUFLLEdBQUcsTUFBTSxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUUsWUFBWSxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzVILE1BQU0sUUFBUSxHQUFHLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDOUQsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hCLE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBRyx1QkFBdUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUM7SUFDMUgsSUFBSSxPQUFPLENBQUMsTUFBTTtRQUFFLE1BQU0sSUFBSSxxQkFBcUIsQ0FBQyw0QkFBNEIsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsMkRBQTJELENBQUMsQ0FBQztJQUUvSixNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxlQUFlLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEtBQUssVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ25ILElBQUksR0FBRyxDQUFDLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNO1FBQUUsTUFBTSxJQUFJLGVBQWUsQ0FBQywwQkFBMEIsY0FBYyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6SSxTQUFTLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLGNBQWMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsYUFBYSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRTlGLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ25CLFlBQVksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQzFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDN0IsTUFBTSxNQUFNLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLDJDQUEyQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNySixJQUFJLE1BQU0sS0FBSyxHQUFHLElBQUksTUFBTSxLQUFLLEtBQUs7WUFBRSxNQUFNLElBQUkscUJBQXFCLENBQUMsOEJBQThCLENBQUMsQ0FBQztJQUMxRyxDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDN0UsTUFBTSxNQUFNLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QyxNQUFNLElBQUksR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO0lBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7SUFDN0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN0QyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTTtRQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM5RSxZQUFZLENBQUMsV0FBVyxFQUFFLE9BQU8sTUFBTSxFQUFFLENBQUMsQ0FBQztJQUMzQyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQTBCLE1BQU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RILE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUM7QUFDN0IsQ0FBQztBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUFDLE9BQWdCO0lBQzVDLGNBQWMsQ0FBQyxPQUFPO1NBQ25CLE9BQU8sQ0FBQyxTQUFTLENBQUM7U0FDbEIsV0FBVyxDQUFDLGdHQUFnRyxDQUFDO1NBQzdHLE1BQU0sQ0FBQyxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsR0FBRyxDQUFDO1NBQy9DLE1BQU0sQ0FBQyxXQUFXLEVBQUUsK0RBQStELEVBQUUsS0FBSyxDQUFDO1NBQzNGLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSw0RUFBNEUsQ0FBQztTQUN6RyxNQUFNLENBQUMsZUFBZSxFQUFFLDhEQUE4RCxDQUFDO1NBQ3ZGLE1BQU0sQ0FBQyxhQUFhLEVBQUUsd0RBQXdELEVBQUUsS0FBSyxDQUFDO1NBQ3RGLE1BQU0sQ0FBQyxXQUFXLEVBQUUsc0NBQXNDLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDbkUsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUE2QixFQUFFLEVBQUU7UUFDOUMsTUFBTSxXQUFXLEdBQUcsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6RCxlQUFlLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ25DLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sRUFBRSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzNHLElBQUksQ0FBQztZQUNILE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQVMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztZQUN4RyxJQUFJLENBQUMsUUFBUTtnQkFBRSxPQUFPO1lBQ3RCLE1BQU0sQ0FBQyxHQUFHLFFBQWtJLENBQUM7WUFDN0ksWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzFCLGFBQWEsQ0FBQztnQkFDWixNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsVUFBVSxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLEdBQUcsRUFBRTtnQkFDcEQsR0FBRyxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsU0FBUztvQkFDN0IsQ0FBQyxDQUFDLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxDQUFDLENBQUMsY0FBYyxDQUFDLFNBQVMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sSUFBSSxXQUFXLEdBQUcsRUFBRTtvQkFDcEcsQ0FBQyxDQUFDLEVBQUUsaUJBQWlCLEVBQUUsa0RBQWtELEVBQUUsQ0FBQzthQUMvRSxDQUFDLENBQUM7WUFDSCxZQUFZLENBQUMsMkZBQTJGLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzdILENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2IsTUFBTSxJQUFJLEdBQUcsR0FBRyxZQUFZLGVBQWUsSUFBSSxHQUFHLFlBQVkscUJBQXFCLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUM7WUFDdkksV0FBVyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDM0gsQ0FBQztnQkFBUyxDQUFDO1lBQ1QsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCByZWFkbGluZSBmcm9tICdyZWFkbGluZS9wcm9taXNlcyc7XG5pbXBvcnQgeyByZXNvbHZlQ2F0YWxvZ01ldGFkYXRhLCB0eXBlIFBsdWdpbkNhdGFsb2dFZGl0cyB9IGZyb20gJ0BwaXBlbGluZS1idWlsZGVyL2FwaS1jb3JlJztcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICdjb21tYW5kZXInO1xuaW1wb3J0IEZvcm1EYXRhIGZyb20gJ2Zvcm0tZGF0YSc7XG5pbXBvcnQgeyBQVUJMSVNIX1JFUVVJUkVEX0ZJRUxEUywgY2F0YWxvZ0lzc3VlcywgZm9ybWF0SGV1cmlzdGljLCBwcmludENhdGFsb2dSZXBvcnQsIHZhbGlkYXRlUGx1Z2luRGlyIH0gZnJvbSAnLi92YWxpZGF0ZS1wbHVnaW4uanMnO1xuaW1wb3J0IHsgRklMRV9TSVpFX0xJTUlUUywgZm9ybWF0RmlsZVNpemUgfSBmcm9tICcuLi9jb25maWcvY2xpLmNvbnN0YW50cy5qcyc7XG5pbXBvcnQgeyB0eXBlIEFwaUNsaWVudCB9IGZyb20gJy4uL3V0aWxzL2FwaS1jbGllbnQuanMnO1xuaW1wb3J0IHsgY29sbGVjdENhdGFsb2dFZGl0cywgdHlwZSBBc2sgfSBmcm9tICcuLi91dGlscy9jYXRhbG9nLXByb21wdC5qcyc7XG5pbXBvcnQgeyBjcmVhdGVBdXRoZW50aWNhdGVkQ2xpZW50LCBwcmludENvbW1hbmRIZWFkZXIsIHByaW50U3NsV2FybmluZywgd2l0aFNzbE9wdGlvbnMgfSBmcm9tICcuLi91dGlscy9jb21tYW5kLXV0aWxzLmpzJztcbmltcG9ydCB7IEVSUk9SX0NPREVTLCBoYW5kbGVFcnJvciwgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnLi4vdXRpbHMvZXJyb3ItaGFuZGxlci5qcyc7XG5pbXBvcnQgeyBwcmludEVycm9yLCBwcmludEluZm8sIHByaW50S2V5VmFsdWUsIHByaW50U2VjdGlvbiwgcHJpbnRTdWNjZXNzLCBwcmludFdhcm5pbmcgfSBmcm9tICcuLi91dGlscy9vdXRwdXQtdXRpbHMuanMnO1xuaW1wb3J0IHsgYnVpbGRQbHVnaW5JbWFnZSwgaGFzVG9vbCwgbG9jYWxJbWFnZVRhZywgcmVtb3ZlSW1hZ2UsIHNwYXduRXhlYywgdHlwZSBFeGVjIH0gZnJvbSAnLi4vdXRpbHMvcGx1Z2luLWRvY2tlci5qcyc7XG5pbXBvcnQgeyBTT1VSQ0VfTEFCRUxTLCBmb3JtYXRDYXRhbG9nVmFsdWUgfSBmcm9tICcuLi91dGlscy9wbHVnaW4tcGFja2FnZS5qcyc7XG5pbXBvcnQgeyBzY2FuUHJldmlldywgdHlwZSBTY2FuUHJldmlldyB9IGZyb20gJy4uL3V0aWxzL3BsdWdpbi1zY2FuLmpzJztcbmltcG9ydCB7IGNvbGxlY3RQbHVnaW5GaWxlcywgd3JpdGVaaXAgfSBmcm9tICcuLi91dGlscy9wbHVnaW4temlwLmpzJztcblxuZXhwb3J0IGludGVyZmFjZSBQdWJsaXNoUGx1Z2luT3B0aW9ucyB7XG4gIGRpcjogc3RyaW5nO1xuICB5ZXM/OiBib29sZWFuO1xuICBtZXRhZGF0YT86IHN0cmluZztcbiAgaW1hZ2U/OiBzdHJpbmc7XG4gIHNraXBTY2FuPzogYm9vbGVhbjtcbiAgZHJ5UnVuPzogYm9vbGVhbjtcbiAgdmVyaWZ5U3NsPzogYm9vbGVhbjtcbn1cblxuLyoqIEEgcHVibGlzaCByZWZ1c2VkIGJlZm9yZSBhbnl0aGluZyBpcyB1cGxvYWRlZC4gKi9cbmV4cG9ydCBjbGFzcyBQdWJsaXNoUHJlZmxpZ2h0RXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgIHRoaXMubmFtZSA9ICdQdWJsaXNoUHJlZmxpZ2h0RXJyb3InO1xuICB9XG59XG5cbi8qKiBVbndyYXAgdGhlIHBsYXRmb3JtJ3MgYHsgc3VjY2VzcywgZGF0YSB9YCBlbnZlbG9wZS4gKi9cbmNvbnN0IGRhdGFPZiA9IDxUPihib2R5OiB1bmtub3duKTogVCA9PiAoKGJvZHkgYXMgeyBkYXRhPzogVCB9KT8uZGF0YSA/PyBib2R5KSBhcyBUO1xuXG5pbnRlcmZhY2UgUHVibGlzaGVyU3RhdGUge1xuICBwdWJsaXNoZXI6IHsgaGFuZGxlOiBzdHJpbmcgfSB8IG51bGw7XG4gIGlzUm9vdE9yZzogYm9vbGVhbjtcbiAgdGVybXM6IHsgYWNjZXB0ZWQ6IGJvb2xlYW4gfTtcbiAgcHVibGlzaGluZ0VuYWJsZWQ6IGJvb2xlYW47XG59XG5cbi8qKiBUaGUgc2VydmVyLXNpZGUgcHJlcmVxdWlzaXRlcyBhIHB1Ymxpc2ggcmVxdWVzdCBuZWVkczogY2hlY2tlZCB1cCBmcm9udC4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhc3NlcnRDYW5QdWJsaXNoKGNsaWVudDogQXBpQ2xpZW50KTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3Qgc3RhdGUgPSBkYXRhT2Y8UHVibGlzaGVyU3RhdGU+KGF3YWl0IGNsaWVudC5nZXQoYCR7Y2xpZW50LmdldENvbmZpZygpLmFwaS5wbHVnaW5Vcmx9L3B1Ymxpc2hlcmApKTtcbiAgaWYgKCFzdGF0ZS5wdWJsaXNoaW5nRW5hYmxlZCkgdGhyb3cgbmV3IFB1Ymxpc2hQcmVmbGlnaHRFcnJvcignUHVibGlzaGluZyBpcyB0dXJuZWQgb2ZmIG9uIHRoaXMgaW5zdGFuY2UgKFBMVUdJTl9QVUJMSVNISU5HX0RJU0FCTEVEKScpO1xuICBpZiAoIXN0YXRlLmlzUm9vdE9yZykgdGhyb3cgbmV3IFB1Ymxpc2hQcmVmbGlnaHRFcnJvcignVGVhbXMgcHVibGlzaCB0aHJvdWdoIHRoZWlyIHJvb3Qgb3JnYW5pemF0aW9uOiBzd2l0Y2ggdG8gaXQgKFBVQkxJU0hFUl9ST09UX09SR19SRVFVSVJFRCknKTtcbiAgaWYgKCFzdGF0ZS5wdWJsaXNoZXIpIHRocm93IG5ldyBQdWJsaXNoUHJlZmxpZ2h0RXJyb3IoJ0NyZWF0ZSB5b3VyIHB1Ymxpc2hlciBwcm9maWxlIGZpcnN0OiBkYXNoYm9hcmQg4oaSIEJ1aWxkIOKGkiBQdWJsaXNoZXIgKFBVQkxJU0hFUl9SRVFVSVJFRCknKTtcbiAgaWYgKCFzdGF0ZS50ZXJtcy5hY2NlcHRlZCkgdGhyb3cgbmV3IFB1Ymxpc2hQcmVmbGlnaHRFcnJvcignQWNjZXB0IHRoZSBjdXJyZW50IHB1Ymxpc2hlciB0ZXJtcyBvbiB0aGUgUHVibGlzaGVyIHBhZ2UgKFBVQkxJU0hFUl9URVJNU19SRVFVSVJFRCknKTtcbiAgcmV0dXJuIHN0YXRlLnB1Ymxpc2hlci5oYW5kbGU7XG59XG5cbi8qKlxuICogVGhlIHNjYW4gcHJldmlldzogYnVpbGQgKG9yIHRha2UpIHRoZSBpbWFnZSwgU0JPTSBpdCB3aXRoIHN5ZnQgYW5kIHNjYW4gaXRcbiAqIHdpdGggZ3J5cGUuIE1pc3NpbmcgdG9vbHMgYXJlIGEgY2xlYXIgbm90aWNlLCBuZXZlciBhIHNpbGVudCBwYXNzOyBhXG4gKiBjcml0aWNhbCBmaW5kaW5nIHJlZnVzZXMgdGhlIHB1Ymxpc2ggKHRoZSBwbGF0Zm9ybSdzIGdhdGUgd291bGQpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcnVuU2NhblByZXZpZXcoZXhlYzogRXhlYywgb3B0czogeyBkaXI6IHN0cmluZzsgZG9ja2VyZmlsZTogc3RyaW5nOyBidWlsZFR5cGU6IHN0cmluZzsgbmFtZTogc3RyaW5nOyB2ZXJzaW9uOiBzdHJpbmc7IGltYWdlPzogc3RyaW5nOyBidWlsZEFyZ3M/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IH0pOiBTY2FuUHJldmlldyB7XG4gIGlmICghb3B0cy5pbWFnZSAmJiBvcHRzLmJ1aWxkVHlwZSAhPT0gJ2J1aWxkX2ltYWdlJykge1xuICAgIHJldHVybiB7IHN0YXR1czogJ3VuYXZhaWxhYmxlJywgcmVhc29uOiBgYSAke29wdHMuYnVpbGRUeXBlfSBwbHVnaW4gaGFzIG5vIERvY2tlcmZpbGUgdG8gYnVpbGQ7IHBhc3MgLS1pbWFnZSB0byBzY2FuIHRoZSBpbWFnZSBpdCBydW5zYCB9O1xuICB9XG4gIGlmICghaGFzVG9vbChleGVjLCAnZG9ja2VyJykpIHJldHVybiB7IHN0YXR1czogJ3VuYXZhaWxhYmxlJywgcmVhc29uOiAnZG9ja2VyIGlzIG5vdCBhdmFpbGFibGUgdG8gYnVpbGQgdGhlIGltYWdlJyB9O1xuICBpZiAoIWhhc1Rvb2woZXhlYywgJ3N5ZnQnLCBbJ3ZlcnNpb24nXSkgfHwgIWhhc1Rvb2woZXhlYywgJ2dyeXBlJywgWyd2ZXJzaW9uJ10pKSB7XG4gICAgcmV0dXJuIHsgc3RhdHVzOiAndW5hdmFpbGFibGUnLCByZWFzb246ICdzeWZ0IGFuZCBncnlwZSBhcmUgbm90IGJvdGggaW5zdGFsbGVkIChodHRwczovL2dpdGh1Yi5jb20vYW5jaG9yZS9zeWZ0LCBodHRwczovL2dpdGh1Yi5jb20vYW5jaG9yZS9ncnlwZSknIH07XG4gIH1cbiAgbGV0IGltYWdlID0gb3B0cy5pbWFnZTtcbiAgbGV0IGJ1aWx0OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgdHJ5IHtcbiAgICBpZiAoIWltYWdlKSB7XG4gICAgICBidWlsdCA9IGxvY2FsSW1hZ2VUYWcob3B0cy5uYW1lLCBvcHRzLnZlcnNpb24pO1xuICAgICAgY29uc3QgZXJyb3IgPSBidWlsZFBsdWdpbkltYWdlKGV4ZWMsIHsgZGlyOiBvcHRzLmRpciwgZG9ja2VyZmlsZTogb3B0cy5kb2NrZXJmaWxlLCB0YWc6IGJ1aWx0LCBidWlsZEFyZ3M6IG9wdHMuYnVpbGRBcmdzIH0pO1xuICAgICAgaWYgKGVycm9yKSByZXR1cm4geyBzdGF0dXM6ICdmYWlsZWQnLCByZWFzb246IGVycm9yIH07XG4gICAgICBpbWFnZSA9IGJ1aWx0O1xuICAgIH1cbiAgICByZXR1cm4gc2NhblByZXZpZXcoZXhlYywgaW1hZ2UpO1xuICB9IGZpbmFsbHkge1xuICAgIGlmIChidWlsdCkgcmVtb3ZlSW1hZ2UoZXhlYywgYnVpbHQpO1xuICB9XG59XG5cbi8qKiBQcmludCB0aGUgcmVzb2x2ZWQgbWV0YWRhdGEgd2l0aCBpdHMgcHJvdmVuYW5jZSAodGhlIGNhcmQgdGhlIGRpcmVjdG9yeSB3aWxsIHJlbmRlcikuICovXG5mdW5jdGlvbiBwcmludFJlc29sdmVkKHJlc29sdmVkOiBSZXR1cm5UeXBlPHR5cGVvZiByZXNvbHZlQ2F0YWxvZ01ldGFkYXRhPik6IHZvaWQge1xuICBwcmludFNlY3Rpb24oJ0NhdGFsb2cgbWV0YWRhdGEgdG8gc3VibWl0Jyk7XG4gIGZvciAoY29uc3QgW2ZpZWxkLCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMocmVzb2x2ZWQudmFsdWVzKSkge1xuICAgIGNvbnN0IHNvdXJjZSA9IHJlc29sdmVkLnNvdXJjZXNbZmllbGQgYXMga2V5b2YgdHlwZW9mIHJlc29sdmVkLnNvdXJjZXNdO1xuICAgIGNvbnNvbGUubG9nKGAgICR7ZmllbGQucGFkRW5kKDE2KX0gJHtmb3JtYXRDYXRhbG9nVmFsdWUodmFsdWUpfSR7c291cmNlID8gYCAgWyR7U09VUkNFX0xBQkVMU1tzb3VyY2VdfV1gIDogJyd9YCk7XG4gIH1cbiAgY29uc29sZS5sb2coJycpO1xufVxuXG4vKipcbiAqIFRoZSB3aG9sZSBwdWJsaXNoIGZsb3csIG1pbnVzIHRoZSB0ZXJtaW5hbDogcHJlLWZsaWdodCAoc2VydmVyIGNoZWNrcywgbGludCxcbiAqIGNhdGFsb2cpLCBzY2FuIHByZXZpZXcsIHRoZSBhY2NlcHQtb3ItZWRpdCBzdGVwLCB0aGVuIG9uZSB1cGxvYWQgd2l0aFxuICogYHZpc2liaWxpdHk9cHVibGljYCArIGBwdWJsaXNoUmVxdWVzdD10cnVlYCAoKyB0aGUgZWRpdHMgYXMgYG1ldGFkYXRhYCkuXG4gKiBSZXR1cm5zIHRoZSBzZXJ2ZXIncyByZXNwb25zZSwgb3IgbnVsbCBmb3IgYSBkcnkgcnVuLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcnVuUHVibGlzaChcbiAgb3B0aW9uczogUHVibGlzaFBsdWdpbk9wdGlvbnMsXG4gIGRlcHM6IHsgZXhlYz86IEV4ZWM7IGFzaz86IEFzazsgY2xpZW50PzogKCkgPT4gQXBpQ2xpZW50IH0gPSB7fSxcbik6IFByb21pc2U8eyBlZGl0czogUGx1Z2luQ2F0YWxvZ0VkaXRzOyByZXNwb25zZTogdW5rbm93biB9PiB7XG4gIGNvbnN0IGV4ZWMgPSBkZXBzLmV4ZWMgPz8gc3Bhd25FeGVjO1xuXG4gIHByaW50U2VjdGlvbignUHJlLWZsaWdodCcsICdzZXJ2ZXIgY2hlY2tzICsgY2F0YWxvZyBsaW50ICsgaGV1cmlzdGljcycpO1xuICBjb25zdCByZXBvcnQgPSBhd2FpdCB2YWxpZGF0ZVBsdWdpbkRpcihvcHRpb25zLmRpciwgeyBsaW50OiB0cnVlIH0pO1xuICBjb25zdCB7IGludmFsaWQgfSA9IGNhdGFsb2dJc3N1ZXMocmVwb3J0LmZpZWxkcyk7XG4gIGNvbnN0IGxpbnRFcnJvcnMgPSByZXBvcnQubGludC5maWx0ZXIobCA9PiBsLmxldmVsID09PSAnZXJyb3InKTtcbiAgZm9yIChjb25zdCB3IG9mIHJlcG9ydC5saW50LmZpbHRlcihsID0+IGwubGV2ZWwgPT09ICd3YXJuaW5nJykpIHByaW50V2FybmluZyh3Lm1lc3NhZ2UpO1xuICBmb3IgKGNvbnN0IGggb2YgcmVwb3J0LmhldXJpc3RpY3MuZmlsdGVyKHggPT4geC5zZXZlcml0eSA9PT0gJ21lZGl1bScpKSBwcmludFdhcm5pbmcoZm9ybWF0SGV1cmlzdGljKGgpKTtcbiAgY29uc3QgYmxvY2tpbmcgPSBbXG4gICAgLi4ucmVwb3J0LnByb2JsZW1zLFxuICAgIC4uLmxpbnRFcnJvcnMubWFwKGwgPT4gbC5tZXNzYWdlKSxcbiAgICAuLi5yZXBvcnQuaGV1cmlzdGljcy5maWx0ZXIoeCA9PiB4LnNldmVyaXR5ID09PSAnaGlnaCcpLm1hcChmb3JtYXRIZXVyaXN0aWMpLFxuICBdO1xuICBwcmludENhdGFsb2dSZXBvcnQocmVwb3J0LmZpZWxkcyk7XG4gIGlmIChibG9ja2luZy5sZW5ndGgpIHtcbiAgICBmb3IgKGNvbnN0IHAgb2YgYmxvY2tpbmcpIHByaW50RXJyb3IoYCAg4oCiICR7cH1gKTtcbiAgICB0aHJvdyBuZXcgUHVibGlzaFByZWZsaWdodEVycm9yKGBQcmUtZmxpZ2h0IGZhaWxlZCB3aXRoICR7YmxvY2tpbmcubGVuZ3RofSBwcm9ibGVtKHMpYCk7XG4gIH1cbiAgcHJpbnRTdWNjZXNzKCdQcmUtZmxpZ2h0IHBhc3NlZCcpO1xuXG4gIGNvbnN0IHNwZWMgPSByZXBvcnQucGtnLnNwZWMhO1xuICBwcmludFNlY3Rpb24oJ1NjYW4gcHJldmlldycsICdzeWZ0IFNCT00gKyBncnlwZScpO1xuICBpZiAob3B0aW9ucy5za2lwU2Nhbikge1xuICAgIHByaW50V2FybmluZygnU2NhbiBwcmV2aWV3IHNraXBwZWQgKC0tc2tpcC1zY2FuKS4gVGhlIHBsYXRmb3JtIHNjYW5zIHRoZSBpbWFnZSBhZnRlciB0aGUgYnVpbGQ7IGEgY3JpdGljYWwgdnVsbmVyYWJpbGl0eSBmYWlscyB0aGUgcHVibGlzaCBnYXRlLicpO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHNjYW4gPSBydW5TY2FuUHJldmlldyhleGVjLCB7XG4gICAgICBkaXI6IHJlcG9ydC5wa2cuZGlyLFxuICAgICAgZG9ja2VyZmlsZTogcGF0aC5qb2luKHJlcG9ydC5wa2cuZGlyLCByZXBvcnQucGtnLmRvY2tlcmZpbGVOYW1lKSxcbiAgICAgIGJ1aWxkVHlwZTogcmVwb3J0LnBrZy5idWlsZFR5cGUsXG4gICAgICBuYW1lOiBTdHJpbmcoc3BlYy5uYW1lKSxcbiAgICAgIHZlcnNpb246IFN0cmluZyhzcGVjLnZlcnNpb24pLFxuICAgICAgaW1hZ2U6IG9wdGlvbnMuaW1hZ2UsXG4gICAgICBidWlsZEFyZ3M6IHNwZWMuYnVpbGRBcmdzLFxuICAgIH0pO1xuICAgIGlmIChzY2FuLnN0YXR1cyA9PT0gJ3VuYXZhaWxhYmxlJykge1xuICAgICAgcHJpbnRXYXJuaW5nKGBTY2FuIHByZXZpZXcgTk9UIHJ1bjogJHtzY2FuLnJlYXNvbn0uIFRoZSBwbGF0Zm9ybSBzdGlsbCBzY2FucyB0aGUgaW1hZ2UgYWZ0ZXIgdGhlIGJ1aWxkLCBhbmQgYSBjcml0aWNhbCB2dWxuZXJhYmlsaXR5IGZhaWxzIHRoZSBwdWJsaXNoIGdhdGUuYCk7XG4gICAgfSBlbHNlIGlmIChzY2FuLnN0YXR1cyA9PT0gJ2ZhaWxlZCcpIHtcbiAgICAgIHRocm93IG5ldyBQdWJsaXNoUHJlZmxpZ2h0RXJyb3IoYFNjYW4gcHJldmlldyBmYWlsZWQ6ICR7c2Nhbi5yZWFzb259YCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHByaW50S2V5VmFsdWUoT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKHNjYW4uY291bnRzKS5tYXAoKFtrLCB2XSkgPT4gW2ssIFN0cmluZyh2KV0pKSk7XG4gICAgICBpZiAoc2Nhbi5jcml0aWNhbC5sZW5ndGgpIHtcbiAgICAgICAgZm9yIChjb25zdCBjIG9mIHNjYW4uY3JpdGljYWwpIHByaW50RXJyb3IoYCAg4oCiICR7Y31gKTtcbiAgICAgICAgdGhyb3cgbmV3IFB1Ymxpc2hQcmVmbGlnaHRFcnJvcihgJHtzY2FuLmNyaXRpY2FsLmxlbmd0aH0gY3JpdGljYWwgdnVsbmVyYWJpbGl0JHtzY2FuLmNyaXRpY2FsLmxlbmd0aCA9PT0gMSA/ICd5JyA6ICdpZXMnfTogdGhlIHB1Ymxpc2ggZ2F0ZSB3b3VsZCByZWZ1c2UgdGhpcyB2ZXJzaW9uYCk7XG4gICAgICB9XG4gICAgICBwcmludFN1Y2Nlc3MoJ05vIGNyaXRpY2FsIHZ1bG5lcmFiaWxpdGllcycpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChpbnZhbGlkLmxlbmd0aCkge1xuICAgIHByaW50V2FybmluZyhgRGV0ZWN0ZWQgdmFsdWVzIHRoYXQgYXJlIGludmFsaWQgYW5kIHdvdWxkIGJlIGJsYW5rOiAke2ludmFsaWQubWFwKGYgPT4gZi5maWVsZCkuam9pbignLCAnKX0g4oCUIGVkaXQgdGhlbSBiZWxvdyBvciBmaXggdGhlIHBhY2thZ2VgKTtcbiAgfVxuICBwcmludFNlY3Rpb24oJ0NhdGFsb2cgZGV0YWlscycsICdhY2NlcHQgb3IgZWRpdCBlYWNoIGRldGVjdGVkIHZhbHVlJyk7XG4gIGNvbnN0IGVkaXRzID0gYXdhaXQgY29sbGVjdENhdGFsb2dFZGl0cyhyZXBvcnQuZmllbGRzLCB7IHllczogb3B0aW9ucy55ZXMsIG1ldGFkYXRhRmlsZTogb3B0aW9ucy5tZXRhZGF0YSwgYXNrOiBkZXBzLmFzayB9KTtcbiAgY29uc3QgcmVzb2x2ZWQgPSByZXNvbHZlQ2F0YWxvZ01ldGFkYXRhKHJlcG9ydC5maWVsZHMsIGVkaXRzKTtcbiAgcHJpbnRSZXNvbHZlZChyZXNvbHZlZCk7XG4gIGNvbnN0IG1pc3NpbmcgPSBbLi4uUFVCTElTSF9SRVFVSVJFRF9GSUVMRFNdLmZpbHRlcihmID0+IHJlc29sdmVkLnZhbHVlc1tmXSA9PT0gbnVsbCB8fCByZXNvbHZlZC52YWx1ZXNbZl0gPT09IHVuZGVmaW5lZCk7XG4gIGlmIChtaXNzaW5nLmxlbmd0aCkgdGhyb3cgbmV3IFB1Ymxpc2hQcmVmbGlnaHRFcnJvcihgQSBwdWJsaXNoIHJlcXVlc3QgbmVlZHM6ICR7bWlzc2luZy5qb2luKCcsICcpfSAoYWRkIHRoZW0gdG8gdGhlIHBhY2thZ2Ugb3Igc3VwcGx5IHRoZW0gd2l0aCAtLW1ldGFkYXRhKWApO1xuXG4gIGNvbnN0IHppcCA9IHdyaXRlWmlwKGNvbGxlY3RQbHVnaW5GaWxlcyhyZXBvcnQucGtnLmRpciwgeyBpbmNsdWRlSW1hZ2VUYXI6IHJlcG9ydC5wa2cuYnVpbGRUeXBlID09PSAncHJlYnVpbHQnIH0pKTtcbiAgaWYgKHppcC5sZW5ndGggPiBGSUxFX1NJWkVfTElNSVRTLlBMVUdJTikgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihgUGx1Z2luIHBhY2thZ2UgZXhjZWVkcyAke2Zvcm1hdEZpbGVTaXplKEZJTEVfU0laRV9MSU1JVFMuUExVR0lOKX1gKTtcbiAgcHJpbnRJbmZvKCdQYWNrYWdlJywgeyBzaXplOiBmb3JtYXRGaWxlU2l6ZSh6aXAubGVuZ3RoKSwgbWV0YWRhdGFFZGl0czogT2JqZWN0LmtleXMoZWRpdHMpIH0pO1xuXG4gIGlmIChvcHRpb25zLmRyeVJ1bikge1xuICAgIHByaW50U3VjY2VzcygnRHJ5IHJ1bjogbm90aGluZyB1cGxvYWRlZCcpO1xuICAgIHJldHVybiB7IGVkaXRzLCByZXNwb25zZTogbnVsbCB9O1xuICB9XG4gIGlmICghb3B0aW9ucy55ZXMgJiYgZGVwcy5hc2spIHtcbiAgICBjb25zdCBhbnN3ZXIgPSAoYXdhaXQgZGVwcy5hc2soYFVwbG9hZCAke1N0cmluZyhzcGVjLm5hbWUpfUAke1N0cmluZyhzcGVjLnZlcnNpb24pfSBhcyBwdWJsaWMgYW5kIHJlcXVlc3QgcHVibGlzaGluZz8gW3kvTl0gYCkpLnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xuICAgIGlmIChhbnN3ZXIgIT09ICd5JyAmJiBhbnN3ZXIgIT09ICd5ZXMnKSB0aHJvdyBuZXcgUHVibGlzaFByZWZsaWdodEVycm9yKCdDYW5jZWxsZWQg4oCUIG5vdGhpbmcgdXBsb2FkZWQnKTtcbiAgfVxuXG4gIGNvbnN0IGNsaWVudCA9IChkZXBzLmNsaWVudCA/PyAoKCkgPT4gY3JlYXRlQXV0aGVudGljYXRlZENsaWVudChvcHRpb25zKSkpKCk7XG4gIGNvbnN0IGhhbmRsZSA9IGF3YWl0IGFzc2VydENhblB1Ymxpc2goY2xpZW50KTtcbiAgY29uc3QgZm9ybSA9IG5ldyBGb3JtRGF0YSgpO1xuICBmb3JtLmFwcGVuZCgncGx1Z2luJywgemlwLCB7IGZpbGVuYW1lOiBgJHtTdHJpbmcoc3BlYy5uYW1lKX0tJHtTdHJpbmcoc3BlYy52ZXJzaW9uKX0uemlwYCwgY29udGVudFR5cGU6ICdhcHBsaWNhdGlvbi96aXAnIH0pO1xuICBmb3JtLmFwcGVuZCgndmlzaWJpbGl0eScsICdwdWJsaWMnKTtcbiAgZm9ybS5hcHBlbmQoJ3B1Ymxpc2hSZXF1ZXN0JywgJ3RydWUnKTtcbiAgaWYgKE9iamVjdC5rZXlzKGVkaXRzKS5sZW5ndGgpIGZvcm0uYXBwZW5kKCdtZXRhZGF0YScsIEpTT04uc3RyaW5naWZ5KGVkaXRzKSk7XG4gIHByaW50U2VjdGlvbignVXBsb2FkaW5nJywgYGFzIEAke2hhbmRsZX1gKTtcbiAgY29uc3QgcmVzcG9uc2UgPSBkYXRhT2Y8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+KGF3YWl0IGNsaWVudC5wb3N0Rm9ybShjbGllbnQuZ2V0Q29uZmlnKCkuYXBpLnBsdWdpblVwbG9hZFVybCwgZm9ybSkpO1xuICByZXR1cm4geyBlZGl0cywgcmVzcG9uc2UgfTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlciBgcGx1Z2luIHB1Ymxpc2hgIOKAlCBwcmUtZmxpZ2h0ICh0aGUgc2VydmVyJ3Mgc2NoZW1hcywgdGhlIGNhdGFsb2cnc1xuICogRG9ja2VyZmlsZSBydWxlcywgcHVibGlzaC1yZXF1aXJlZCBtZXRhZGF0YSksIGEgbG9jYWwgc2NhbiBwcmV2aWV3LCB0aGVcbiAqIGNhdGFsb2cgYWNjZXB0LW9yLWVkaXQgc3RlcCwgdGhlbiB0aGUgdXBsb2FkIHRoYXQgc3VibWl0cyBhIHB1Ymxpc2ggcmVxdWVzdFxuICogb25jZSB0aGUgdmVyc2lvbiBpcyBidWlsdC5cbiAqXG4gKiBVc2FnZTpcbiAqICAgcGlwZWxpbmUtbWFuYWdlciBwbHVnaW4gcHVibGlzaCAtLWRpciAuL215LWxpbnRlclxuICogICBwaXBlbGluZS1tYW5hZ2VyIHBsdWdpbiBwdWJsaXNoIC0tZGlyIC4vbXktbGludGVyIC0teWVzXG4gKiAgIHBpcGVsaW5lLW1hbmFnZXIgcGx1Z2luIHB1Ymxpc2ggLS1kaXIgLi9teS1saW50ZXIgLS1tZXRhZGF0YSBjYXRhbG9nLnlhbWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHB1Ymxpc2hQbHVnaW4ocHJvZ3JhbTogQ29tbWFuZCk6IHZvaWQge1xuICB3aXRoU3NsT3B0aW9ucyhwcm9ncmFtXG4gICAgLmNvbW1hbmQoJ3B1Ymxpc2gnKVxuICAgIC5kZXNjcmlwdGlvbignUHJlLWZsaWdodCwgc2Nhbi1wcmV2aWV3IGFuZCB1cGxvYWQgYSBwbHVnaW4sIHRoZW4gcmVxdWVzdCBpdHMgbGlzdGluZyBpbiB0aGUgcGx1Z2luIGVjb3N5c3RlbScpXG4gICAgLm9wdGlvbignLS1kaXIgPHBhdGg+JywgJ1BsdWdpbiBkaXJlY3RvcnknLCAnLicpXG4gICAgLm9wdGlvbignLXksIC0teWVzJywgJ0FjY2VwdCBldmVyeSBkZXRlY3RlZCBjYXRhbG9nIHZhbHVlIGFuZCBza2lwIHRoZSBjb25maXJtYXRpb24nLCBmYWxzZSlcbiAgICAub3B0aW9uKCctLW1ldGFkYXRhIDxmaWxlPicsICdDYXRhbG9nIGVkaXRzIChZQU1ML0pTT046IHN1bW1hcnksIGRlc2NyaXB0aW9uLCBsaW5rcywgaWNvbiwg4oCmKTsgbm8gcHJvbXB0JylcbiAgICAub3B0aW9uKCctLWltYWdlIDxyZWY+JywgJ1NjYW4gdGhpcyBpbWFnZSBpbnN0ZWFkIG9mIGJ1aWxkaW5nIHRoZSBwbHVnaW5cXCdzIERvY2tlcmZpbGUnKVxuICAgIC5vcHRpb24oJy0tc2tpcC1zY2FuJywgJ1NraXAgdGhlIGxvY2FsIHNjYW4gcHJldmlldyAodGhlIHBsYXRmb3JtIHN0aWxsIHNjYW5zKScsIGZhbHNlKVxuICAgIC5vcHRpb24oJy0tZHJ5LXJ1bicsICdSdW4gZXZlcnkgbG9jYWwgc3RlcCwgdXBsb2FkIG5vdGhpbmcnLCBmYWxzZSkpXG4gICAgLmFjdGlvbihhc3luYyAob3B0aW9uczogUHVibGlzaFBsdWdpbk9wdGlvbnMpID0+IHtcbiAgICAgIGNvbnN0IGV4ZWN1dGlvbklkID0gcHJpbnRDb21tYW5kSGVhZGVyKCdQdWJsaXNoIFBsdWdpbicpO1xuICAgICAgcHJpbnRTc2xXYXJuaW5nKG9wdGlvbnMudmVyaWZ5U3NsKTtcbiAgICAgIGNvbnN0IGludGVyYWN0aXZlID0gQm9vbGVhbihwcm9jZXNzLnN0ZGluLmlzVFRZICYmIHByb2Nlc3Muc3Rkb3V0LmlzVFRZKTtcbiAgICAgIGNvbnN0IHJsID0gaW50ZXJhY3RpdmUgPyByZWFkbGluZS5jcmVhdGVJbnRlcmZhY2UoeyBpbnB1dDogcHJvY2Vzcy5zdGRpbiwgb3V0cHV0OiBwcm9jZXNzLnN0ZG91dCB9KSA6IG51bGw7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHJlc3BvbnNlIH0gPSBhd2FpdCBydW5QdWJsaXNoKG9wdGlvbnMsIHsgYXNrOiBybCA/IChxOiBzdHJpbmcpID0+IHJsLnF1ZXN0aW9uKHEpIDogdW5kZWZpbmVkIH0pO1xuICAgICAgICBpZiAoIXJlc3BvbnNlKSByZXR1cm47XG4gICAgICAgIGNvbnN0IHIgPSByZXNwb25zZSBhcyB7IHBsdWdpbk5hbWU/OiBzdHJpbmc7IHZlcnNpb24/OiBzdHJpbmc7IHBsdWdpbklkPzogc3RyaW5nOyBwdWJsaXNoUmVxdWVzdD86IHsgcmVxdWVzdElkPzogc3RyaW5nOyBzdGF0dXM/OiBzdHJpbmcgfSB9O1xuICAgICAgICBwcmludFNlY3Rpb24oJ1N1Ym1pdHRlZCcpO1xuICAgICAgICBwcmludEtleVZhbHVlKHtcbiAgICAgICAgICBQbHVnaW46IGAke3IucGx1Z2luTmFtZSA/PyAnPyd9QCR7ci52ZXJzaW9uID8/ICc/J31gLFxuICAgICAgICAgIC4uLihyLnB1Ymxpc2hSZXF1ZXN0Py5yZXF1ZXN0SWRcbiAgICAgICAgICAgID8geyAnUHVibGlzaCByZXF1ZXN0JzogYCR7ci5wdWJsaXNoUmVxdWVzdC5yZXF1ZXN0SWR9ICgke3IucHVibGlzaFJlcXVlc3Quc3RhdHVzID8/ICdzdWJtaXR0ZWQnfSlgIH1cbiAgICAgICAgICAgIDogeyAnUHVibGlzaCByZXF1ZXN0JzogJ3N1Ym1pdHRlZCBhdXRvbWF0aWNhbGx5IHdoZW4gdGhlIGJ1aWxkIGNvbXBsZXRlcycgfSksXG4gICAgICAgIH0pO1xuICAgICAgICBwcmludFN1Y2Nlc3MoJ1RyYWNrIHRoZSByZXF1ZXN0IG9uIHRoZSBQdWJsaXNoZXIgcGFnZSDihpIgUmVxdWVzdHMgKG9yIEdFVCAvYXBpL3BsdWdpbnMvcHVibGlzaC1yZXF1ZXN0cyknLCB7IGV4ZWN1dGlvbklkIH0pO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGNvbnN0IGNvZGUgPSBlcnIgaW5zdGFuY2VvZiBWYWxpZGF0aW9uRXJyb3IgfHwgZXJyIGluc3RhbmNlb2YgUHVibGlzaFByZWZsaWdodEVycm9yID8gRVJST1JfQ09ERVMuVkFMSURBVElPTiA6IEVSUk9SX0NPREVTLkFQSV9SRVFVRVNUO1xuICAgICAgICBoYW5kbGVFcnJvcihlcnIsIGNvZGUsIHsgZGVidWc6IHByb2dyYW0ub3B0cygpLmRlYnVnLCBleGl0OiB0cnVlLCBjb250ZXh0OiB7IGNvbW1hbmQ6ICdwbHVnaW4gcHVibGlzaCcsIGV4ZWN1dGlvbklkIH0gfSk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBybD8uY2xvc2UoKTtcbiAgICAgIH1cbiAgICB9KTtcbn1cbiJdfQ==
|
|
224
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGlzaC1wbHVnaW4uanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9wdWJsaXNoLXBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUN4QixPQUFPLFFBQVEsTUFBTSxtQkFBbUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsc0JBQXNCLEVBQTJCLE1BQU0sNEJBQTRCLENBQUM7QUFDN0YsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwQyxPQUFPLFFBQVEsTUFBTSxXQUFXLENBQUM7QUFDakMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0SSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUUsT0FBTyxFQUFrQixNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxtQkFBbUIsRUFBWSxNQUFNLDRCQUE0QixDQUFDO0FBQzNFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0gsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBYSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hILE9BQU8sRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUs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RSxDQUFDLENBQUM7UUFDN0gsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDYixNQUFNLElBQUksR0FBRyxHQUFHLFlBQVksZUFBZSxJQUFJLEdBQUcsWUFBWSxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQztZQUN2SSxXQUFXLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMzSCxDQUFDO2dCQUFTLENBQUM7WUFDVCxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHJlYWRsaW5lIGZyb20gJ3JlYWRsaW5lL3Byb21pc2VzJztcbmltcG9ydCB7IHJlc29sdmVDYXRhbG9nTWV0YWRhdGEsIHR5cGUgUGx1Z2luQ2F0YWxvZ0VkaXRzIH0gZnJvbSAnQHBpcGVsaW5lLWJ1aWxkZXIvYXBpLWNvcmUnO1xuaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gJ2NvbW1hbmRlcic7XG5pbXBvcnQgRm9ybURhdGEgZnJvbSAnZm9ybS1kYXRhJztcbmltcG9ydCB7IFBVQkxJU0hfUkVRVUlSRURfRklFTERTLCBjYXRhbG9nSXNzdWVzLCBmb3JtYXRIZXVyaXN0aWMsIHByaW50Q2F0YWxvZ1JlcG9ydCwgdmFsaWRhdGVQbHVnaW5EaXIgfSBmcm9tICcuL3ZhbGlkYXRlLXBsdWdpbi5qcyc7XG5pbXBvcnQgeyBGSUxFX1NJWkVfTElNSVRTLCBmb3JtYXRGaWxlU2l6ZSB9IGZyb20gJy4uL2NvbmZpZy9jbGkuY29uc3RhbnRzLmpzJztcbmltcG9ydCB7IHR5cGUgQXBpQ2xpZW50IH0gZnJvbSAnLi4vdXRpbHMvYXBpLWNsaWVudC5qcyc7XG5pbXBvcnQgeyBjb2xsZWN0Q2F0YWxvZ0VkaXRzLCB0eXBlIEFzayB9IGZyb20gJy4uL3V0aWxzL2NhdGFsb2ctcHJvbXB0LmpzJztcbmltcG9ydCB7IGNyZWF0ZUF1dGhlbnRpY2F0ZWRDbGllbnQsIHByaW50Q29tbWFuZEhlYWRlciwgcHJpbnRTc2xXYXJuaW5nLCB3aXRoU3NsT3B0aW9ucyB9IGZyb20gJy4uL3V0aWxzL2NvbW1hbmQtdXRpbHMuanMnO1xuaW1wb3J0IHsgRVJST1JfQ09ERVMsIGhhbmRsZUVycm9yLCBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICcuLi91dGlscy9lcnJvci1oYW5kbGVyLmpzJztcbmltcG9ydCB7IHByaW50RXJyb3IsIHByaW50SW5mbywgcHJpbnRLZXlWYWx1ZSwgcHJpbnRTZWN0aW9uLCBwcmludFN1Y2Nlc3MsIHByaW50V2FybmluZyB9IGZyb20gJy4uL3V0aWxzL291dHB1dC11dGlscy5qcyc7XG5pbXBvcnQgeyBidWlsZFBsdWdpbkltYWdlLCBoYXNUb29sLCBsb2NhbEltYWdlVGFnLCByZW1vdmVJbWFnZSwgc3Bhd25FeGVjLCB0eXBlIEV4ZWMgfSBmcm9tICcuLi91dGlscy9wbHVnaW4tZG9ja2VyLmpzJztcbmltcG9ydCB7IFNPVVJDRV9MQUJFTFMsIGZvcm1hdENhdGFsb2dWYWx1ZSB9IGZyb20gJy4uL3V0aWxzL3BsdWdpbi1wYWNrYWdlLmpzJztcbmltcG9ydCB7IHNjYW5QcmV2aWV3LCB0eXBlIFNjYW5QcmV2aWV3IH0gZnJvbSAnLi4vdXRpbHMvcGx1Z2luLXNjYW4uanMnO1xuaW1wb3J0IHsgY29sbGVjdFBsdWdpbkZpbGVzLCB3cml0ZVppcCB9IGZyb20gJy4uL3V0aWxzL3BsdWdpbi16aXAuanMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFB1Ymxpc2hQbHVnaW5PcHRpb25zIHtcbiAgZGlyOiBzdHJpbmc7XG4gIHllcz86IGJvb2xlYW47XG4gIG1ldGFkYXRhPzogc3RyaW5nO1xuICBpbWFnZT86IHN0cmluZztcbiAgc2tpcFNjYW4/OiBib29sZWFuO1xuICBkcnlSdW4/OiBib29sZWFuO1xuICB2ZXJpZnlTc2w/OiBib29sZWFuO1xufVxuXG4vKiogQSBwdWJsaXNoIHJlZnVzZWQgYmVmb3JlIGFueXRoaW5nIGlzIHVwbG9hZGVkLiAqL1xuZXhwb3J0IGNsYXNzIFB1Ymxpc2hQcmVmbGlnaHRFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ1B1Ymxpc2hQcmVmbGlnaHRFcnJvcic7XG4gIH1cbn1cblxuLyoqIFVud3JhcCB0aGUgcGxhdGZvcm0ncyBgeyBzdWNjZXNzLCBkYXRhIH1gIGVudmVsb3BlLiAqL1xuY29uc3QgZGF0YU9mID0gPFQ+KGJvZHk6IHVua25vd24pOiBUID0+ICgoYm9keSBhcyB7IGRhdGE/OiBUIH0pPy5kYXRhID8/IGJvZHkpIGFzIFQ7XG5cbmludGVyZmFjZSBQdWJsaXNoZXJTdGF0ZSB7XG4gIHB1Ymxpc2hlcjogeyBoYW5kbGU6IHN0cmluZyB9IHwgbnVsbDtcbiAgaXNSb290T3JnOiBib29sZWFuO1xuICB0ZXJtczogeyBhY2NlcHRlZDogYm9vbGVhbiB9O1xuICBwdWJsaXNoaW5nRW5hYmxlZDogYm9vbGVhbjtcbn1cblxuLyoqIFRoZSBzZXJ2ZXItc2lkZSBwcmVyZXF1aXNpdGVzIGEgcHVibGlzaCByZXF1ZXN0IG5lZWRzOiBjaGVja2VkIHVwIGZyb250LiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFzc2VydENhblB1Ymxpc2goY2xpZW50OiBBcGlDbGllbnQpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBzdGF0ZSA9IGRhdGFPZjxQdWJsaXNoZXJTdGF0ZT4oYXdhaXQgY2xpZW50LmdldChgJHtjbGllbnQuZ2V0Q29uZmlnKCkuYXBpLnBsdWdpblVybH0vcHVibGlzaGVyYCkpO1xuICBpZiAoIXN0YXRlLnB1Ymxpc2hpbmdFbmFibGVkKSB0aHJvdyBuZXcgUHVibGlzaFByZWZsaWdodEVycm9yKCdQdWJsaXNoaW5nIGlzIHR1cm5lZCBvZmYgb24gdGhpcyBpbnN0YW5jZSAoUExVR0lOX1BVQkxJU0hJTkdfRElTQUJMRUQpJyk7XG4gIGlmICghc3RhdGUuaXNSb290T3JnKSB0aHJvdyBuZXcgUHVibGlzaFByZWZsaWdodEVycm9yKCdUZWFtcyBwdWJsaXNoIHRocm91Z2ggdGhlaXIgcm9vdCBvcmdhbml6YXRpb246IHN3aXRjaCB0byBpdCAoUFVCTElTSEVSX1JPT1RfT1JHX1JFUVVJUkVEKScpO1xuICBpZiAoIXN0YXRlLnB1Ymxpc2hlcikgdGhyb3cgbmV3IFB1Ymxpc2hQcmVmbGlnaHRFcnJvcignQ3JlYXRlIHlvdXIgcHVibGlzaGVyIHByb2ZpbGUgZmlyc3Q6IGRhc2hib2FyZCDihpIgQnVpbGQg4oaSIFB1Ymxpc2hlciAoUFVCTElTSEVSX1JFUVVJUkVEKScpO1xuICBpZiAoIXN0YXRlLnRlcm1zLmFjY2VwdGVkKSB0aHJvdyBuZXcgUHVibGlzaFByZWZsaWdodEVycm9yKCdBY2NlcHQgdGhlIGN1cnJlbnQgcHVibGlzaGVyIHRlcm1zIG9uIHRoZSBQdWJsaXNoZXIgcGFnZSAoUFVCTElTSEVSX1RFUk1TX1JFUVVJUkVEKScpO1xuICByZXR1cm4gc3RhdGUucHVibGlzaGVyLmhhbmRsZTtcbn1cblxuLyoqXG4gKiBUaGUgc2NhbiBwcmV2aWV3OiBidWlsZCAob3IgdGFrZSkgdGhlIGltYWdlLCBTQk9NIGl0IHdpdGggc3lmdCBhbmQgc2NhbiBpdFxuICogd2l0aCBncnlwZS4gTWlzc2luZyB0b29scyBhcmUgYSBjbGVhciBub3RpY2UsIG5ldmVyIGEgc2lsZW50IHBhc3M7IGFcbiAqIGNyaXRpY2FsIGZpbmRpbmcgcmVmdXNlcyB0aGUgcHVibGlzaCAodGhlIHBsYXRmb3JtJ3MgZ2F0ZSB3b3VsZCkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBydW5TY2FuUHJldmlldyhleGVjOiBFeGVjLCBvcHRzOiB7IGRpcjogc3RyaW5nOyBkb2NrZXJmaWxlOiBzdHJpbmc7IGJ1aWxkVHlwZTogc3RyaW5nOyBuYW1lOiBzdHJpbmc7IHZlcnNpb246IHN0cmluZzsgaW1hZ2U/OiBzdHJpbmc7IGJ1aWxkQXJncz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfSk6IFNjYW5QcmV2aWV3IHtcbiAgaWYgKCFvcHRzLmltYWdlICYmIG9wdHMuYnVpbGRUeXBlICE9PSAnYnVpbGRfaW1hZ2UnKSB7XG4gICAgcmV0dXJuIHsgc3RhdHVzOiAndW5hdmFpbGFibGUnLCByZWFzb246IGBhICR7b3B0cy5idWlsZFR5cGV9IHBsdWdpbiBoYXMgbm8gRG9ja2VyZmlsZSB0byBidWlsZDsgcGFzcyAtLWltYWdlIHRvIHNjYW4gdGhlIGltYWdlIGl0IHJ1bnNgIH07XG4gIH1cbiAgaWYgKCFoYXNUb29sKGV4ZWMsICdkb2NrZXInKSkgcmV0dXJuIHsgc3RhdHVzOiAndW5hdmFpbGFibGUnLCByZWFzb246ICdkb2NrZXIgaXMgbm90IGF2YWlsYWJsZSB0byBidWlsZCB0aGUgaW1hZ2UnIH07XG4gIGlmICghaGFzVG9vbChleGVjLCAnc3lmdCcsIFsndmVyc2lvbiddKSB8fCAhaGFzVG9vbChleGVjLCAnZ3J5cGUnLCBbJ3ZlcnNpb24nXSkpIHtcbiAgICByZXR1cm4geyBzdGF0dXM6ICd1bmF2YWlsYWJsZScsIHJlYXNvbjogJ3N5ZnQgYW5kIGdyeXBlIGFyZSBub3QgYm90aCBpbnN0YWxsZWQgKGh0dHBzOi8vZ2l0aHViLmNvbS9hbmNob3JlL3N5ZnQsIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmNob3JlL2dyeXBlKScgfTtcbiAgfVxuICBsZXQgaW1hZ2UgPSBvcHRzLmltYWdlO1xuICBsZXQgYnVpbHQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICB0cnkge1xuICAgIGlmICghaW1hZ2UpIHtcbiAgICAgIGJ1aWx0ID0gbG9jYWxJbWFnZVRhZyhvcHRzLm5hbWUsIG9wdHMudmVyc2lvbik7XG4gICAgICBjb25zdCBlcnJvciA9IGJ1aWxkUGx1Z2luSW1hZ2UoZXhlYywgeyBkaXI6IG9wdHMuZGlyLCBkb2NrZXJmaWxlOiBvcHRzLmRvY2tlcmZpbGUsIHRhZzogYnVpbHQsIGJ1aWxkQXJnczogb3B0cy5idWlsZEFyZ3MgfSk7XG4gICAgICBpZiAoZXJyb3IpIHJldHVybiB7IHN0YXR1czogJ2ZhaWxlZCcsIHJlYXNvbjogZXJyb3IgfTtcbiAgICAgIGltYWdlID0gYnVpbHQ7XG4gICAgfVxuICAgIHJldHVybiBzY2FuUHJldmlldyhleGVjLCBpbWFnZSk7XG4gIH0gZmluYWxseSB7XG4gICAgaWYgKGJ1aWx0KSByZW1vdmVJbWFnZShleGVjLCBidWlsdCk7XG4gIH1cbn1cblxuLyoqIFByaW50IHRoZSByZXNvbHZlZCBtZXRhZGF0YSB3aXRoIGl0cyBwcm92ZW5hbmNlICh0aGUgY2FyZCB0aGUgZGlyZWN0b3J5IHdpbGwgcmVuZGVyKS4gKi9cbmZ1bmN0aW9uIHByaW50UmVzb2x2ZWQocmVzb2x2ZWQ6IFJldHVyblR5cGU8dHlwZW9mIHJlc29sdmVDYXRhbG9nTWV0YWRhdGE+KTogdm9pZCB7XG4gIHByaW50U2VjdGlvbignQ2F0YWxvZyBtZXRhZGF0YSB0byBzdWJtaXQnKTtcbiAgZm9yIChjb25zdCBbZmllbGQsIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhyZXNvbHZlZC52YWx1ZXMpKSB7XG4gICAgY29uc3Qgc291cmNlID0gcmVzb2x2ZWQuc291cmNlc1tmaWVsZCBhcyBrZXlvZiB0eXBlb2YgcmVzb2x2ZWQuc291cmNlc107XG4gICAgY29uc29sZS5sb2coYCAgJHtmaWVsZC5wYWRFbmQoMTYpfSAke2Zvcm1hdENhdGFsb2dWYWx1ZSh2YWx1ZSl9JHtzb3VyY2UgPyBgICBbJHtTT1VSQ0VfTEFCRUxTW3NvdXJjZV19XWAgOiAnJ31gKTtcbiAgfVxuICBjb25zb2xlLmxvZygnJyk7XG59XG5cbi8qKlxuICogVGhlIHdob2xlIHB1Ymxpc2ggZmxvdywgbWludXMgdGhlIHRlcm1pbmFsOiBwcmUtZmxpZ2h0IChzZXJ2ZXIgY2hlY2tzLCBsaW50LFxuICogY2F0YWxvZyksIHNjYW4gcHJldmlldywgdGhlIGFjY2VwdC1vci1lZGl0IHN0ZXAsIHRoZW4gb25lIHVwbG9hZCB3aXRoXG4gKiBgdmlzaWJpbGl0eT1wdWJsaWNgICsgYHB1Ymxpc2hSZXF1ZXN0PXRydWVgICgrIHRoZSBlZGl0cyBhcyBgbWV0YWRhdGFgKS5cbiAqIFJldHVybnMgdGhlIHNlcnZlcidzIHJlc3BvbnNlLCBvciBudWxsIGZvciBhIGRyeSBydW4uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW5QdWJsaXNoKFxuICBvcHRpb25zOiBQdWJsaXNoUGx1Z2luT3B0aW9ucyxcbiAgZGVwczogeyBleGVjPzogRXhlYzsgYXNrPzogQXNrOyBjbGllbnQ/OiAoKSA9PiBBcGlDbGllbnQgfSA9IHt9LFxuKTogUHJvbWlzZTx7IGVkaXRzOiBQbHVnaW5DYXRhbG9nRWRpdHM7IHJlc3BvbnNlOiB1bmtub3duIH0+IHtcbiAgY29uc3QgZXhlYyA9IGRlcHMuZXhlYyA/PyBzcGF3bkV4ZWM7XG5cbiAgcHJpbnRTZWN0aW9uKCdQcmUtZmxpZ2h0JywgJ3NlcnZlciBjaGVja3MgKyBjYXRhbG9nIGxpbnQgKyBoZXVyaXN0aWNzJyk7XG4gIGNvbnN0IHJlcG9ydCA9IGF3YWl0IHZhbGlkYXRlUGx1Z2luRGlyKG9wdGlvbnMuZGlyLCB7IGxpbnQ6IHRydWUgfSk7XG4gIGNvbnN0IHsgaW52YWxpZCB9ID0gY2F0YWxvZ0lzc3VlcyhyZXBvcnQuZmllbGRzKTtcbiAgY29uc3QgbGludEVycm9ycyA9IHJlcG9ydC5saW50LmZpbHRlcihsID0+IGwubGV2ZWwgPT09ICdlcnJvcicpO1xuICBmb3IgKGNvbnN0IHcgb2YgcmVwb3J0LmxpbnQuZmlsdGVyKGwgPT4gbC5sZXZlbCA9PT0gJ3dhcm5pbmcnKSkgcHJpbnRXYXJuaW5nKHcubWVzc2FnZSk7XG4gIGZvciAoY29uc3QgaCBvZiByZXBvcnQuaGV1cmlzdGljcy5maWx0ZXIoeCA9PiB4LnNldmVyaXR5ID09PSAnbWVkaXVtJykpIHByaW50V2FybmluZyhmb3JtYXRIZXVyaXN0aWMoaCkpO1xuICBjb25zdCBibG9ja2luZyA9IFtcbiAgICAuLi5yZXBvcnQucHJvYmxlbXMsXG4gICAgLi4ubGludEVycm9ycy5tYXAobCA9PiBsLm1lc3NhZ2UpLFxuICAgIC4uLnJlcG9ydC5oZXVyaXN0aWNzLmZpbHRlcih4ID0+IHguc2V2ZXJpdHkgPT09ICdoaWdoJykubWFwKGZvcm1hdEhldXJpc3RpYyksXG4gIF07XG4gIHByaW50Q2F0YWxvZ1JlcG9ydChyZXBvcnQuZmllbGRzKTtcbiAgaWYgKGJsb2NraW5nLmxlbmd0aCkge1xuICAgIGZvciAoY29uc3QgcCBvZiBibG9ja2luZykgcHJpbnRFcnJvcihgICDigKIgJHtwfWApO1xuICAgIHRocm93IG5ldyBQdWJsaXNoUHJlZmxpZ2h0RXJyb3IoYFByZS1mbGlnaHQgZmFpbGVkIHdpdGggJHtibG9ja2luZy5sZW5ndGh9IHByb2JsZW0ocylgKTtcbiAgfVxuICBwcmludFN1Y2Nlc3MoJ1ByZS1mbGlnaHQgcGFzc2VkJyk7XG5cbiAgY29uc3Qgc3BlYyA9IHJlcG9ydC5wa2cuc3BlYyE7XG4gIHByaW50U2VjdGlvbignU2NhbiBwcmV2aWV3JywgJ3N5ZnQgU0JPTSArIGdyeXBlJyk7XG4gIGlmIChvcHRpb25zLnNraXBTY2FuKSB7XG4gICAgcHJpbnRXYXJuaW5nKCdTY2FuIHByZXZpZXcgc2tpcHBlZCAoLS1za2lwLXNjYW4pLiBUaGUgcGxhdGZvcm0gc2NhbnMgdGhlIGltYWdlIGFmdGVyIHRoZSBidWlsZDsgYSBjcml0aWNhbCB2dWxuZXJhYmlsaXR5IGZhaWxzIHRoZSBwdWJsaXNoIGdhdGUuJyk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3Qgc2NhbiA9IHJ1blNjYW5QcmV2aWV3KGV4ZWMsIHtcbiAgICAgIGRpcjogcmVwb3J0LnBrZy5kaXIsXG4gICAgICBkb2NrZXJmaWxlOiBwYXRoLmpvaW4ocmVwb3J0LnBrZy5kaXIsIHJlcG9ydC5wa2cuZG9ja2VyZmlsZU5hbWUpLFxuICAgICAgYnVpbGRUeXBlOiByZXBvcnQucGtnLmJ1aWxkVHlwZSxcbiAgICAgIG5hbWU6IFN0cmluZyhzcGVjLm5hbWUpLFxuICAgICAgdmVyc2lvbjogU3RyaW5nKHNwZWMudmVyc2lvbiksXG4gICAgICBpbWFnZTogb3B0aW9ucy5pbWFnZSxcbiAgICAgIGJ1aWxkQXJnczogc3BlYy5idWlsZEFyZ3MsXG4gICAgfSk7XG4gICAgaWYgKHNjYW4uc3RhdHVzID09PSAndW5hdmFpbGFibGUnKSB7XG4gICAgICBwcmludFdhcm5pbmcoYFNjYW4gcHJldmlldyBOT1QgcnVuOiAke3NjYW4ucmVhc29ufS4gVGhlIHBsYXRmb3JtIHN0aWxsIHNjYW5zIHRoZSBpbWFnZSBhZnRlciB0aGUgYnVpbGQsIGFuZCBhIGNyaXRpY2FsIHZ1bG5lcmFiaWxpdHkgZmFpbHMgdGhlIHB1Ymxpc2ggZ2F0ZS5gKTtcbiAgICB9IGVsc2UgaWYgKHNjYW4uc3RhdHVzID09PSAnZmFpbGVkJykge1xuICAgICAgdGhyb3cgbmV3IFB1Ymxpc2hQcmVmbGlnaHRFcnJvcihgU2NhbiBwcmV2aWV3IGZhaWxlZDogJHtzY2FuLnJlYXNvbn1gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcHJpbnRLZXlWYWx1ZShPYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmVudHJpZXMoc2Nhbi5jb3VudHMpLm1hcCgoW2ssIHZdKSA9PiBbaywgU3RyaW5nKHYpXSkpKTtcbiAgICAgIGlmIChzY2FuLmNyaXRpY2FsLmxlbmd0aCkge1xuICAgICAgICBmb3IgKGNvbnN0IGMgb2Ygc2Nhbi5jcml0aWNhbCkgcHJpbnRFcnJvcihgICDigKIgJHtjfWApO1xuICAgICAgICB0aHJvdyBuZXcgUHVibGlzaFByZWZsaWdodEVycm9yKGAke3NjYW4uY3JpdGljYWwubGVuZ3RofSBjcml0aWNhbCB2dWxuZXJhYmlsaXQke3NjYW4uY3JpdGljYWwubGVuZ3RoID09PSAxID8gJ3knIDogJ2llcyd9OiB0aGUgcHVibGlzaCBnYXRlIHdvdWxkIHJlZnVzZSB0aGlzIHZlcnNpb25gKTtcbiAgICAgIH1cbiAgICAgIHByaW50U3VjY2VzcygnTm8gY3JpdGljYWwgdnVsbmVyYWJpbGl0aWVzJyk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGludmFsaWQubGVuZ3RoKSB7XG4gICAgcHJpbnRXYXJuaW5nKGBEZXRlY3RlZCB2YWx1ZXMgdGhhdCBhcmUgaW52YWxpZCBhbmQgd291bGQgYmUgYmxhbms6ICR7aW52YWxpZC5tYXAoZiA9PiBmLmZpZWxkKS5qb2luKCcsICcpfSDigJQgZWRpdCB0aGVtIGJlbG93IG9yIGZpeCB0aGUgcGFja2FnZWApO1xuICB9XG4gIHByaW50U2VjdGlvbignQ2F0YWxvZyBkZXRhaWxzJywgJ2FjY2VwdCBvciBlZGl0IGVhY2ggZGV0ZWN0ZWQgdmFsdWUnKTtcbiAgY29uc3QgZWRpdHMgPSBhd2FpdCBjb2xsZWN0Q2F0YWxvZ0VkaXRzKHJlcG9ydC5maWVsZHMsIHsgeWVzOiBvcHRpb25zLnllcywgbWV0YWRhdGFGaWxlOiBvcHRpb25zLm1ldGFkYXRhLCBhc2s6IGRlcHMuYXNrIH0pO1xuICBjb25zdCByZXNvbHZlZCA9IHJlc29sdmVDYXRhbG9nTWV0YWRhdGEocmVwb3J0LmZpZWxkcywgZWRpdHMpO1xuICBwcmludFJlc29sdmVkKHJlc29sdmVkKTtcbiAgY29uc3QgbWlzc2luZyA9IFsuLi5QVUJMSVNIX1JFUVVJUkVEX0ZJRUxEU10uZmlsdGVyKGYgPT4gcmVzb2x2ZWQudmFsdWVzW2ZdID09PSBudWxsIHx8IHJlc29sdmVkLnZhbHVlc1tmXSA9PT0gdW5kZWZpbmVkKTtcbiAgaWYgKG1pc3NpbmcubGVuZ3RoKSB0aHJvdyBuZXcgUHVibGlzaFByZWZsaWdodEVycm9yKGBBIHB1Ymxpc2ggcmVxdWVzdCBuZWVkczogJHttaXNzaW5nLmpvaW4oJywgJyl9IChhZGQgdGhlbSB0byB0aGUgcGFja2FnZSBvciBzdXBwbHkgdGhlbSB3aXRoIC0tbWV0YWRhdGEpYCk7XG5cbiAgY29uc3QgemlwID0gd3JpdGVaaXAoY29sbGVjdFBsdWdpbkZpbGVzKHJlcG9ydC5wa2cuZGlyLCB7IGluY2x1ZGVJbWFnZVRhcjogcmVwb3J0LnBrZy5idWlsZFR5cGUgPT09ICdwcmVidWlsdCcgfSkpO1xuICBpZiAoemlwLmxlbmd0aCA+IEZJTEVfU0laRV9MSU1JVFMuUExVR0lOKSB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGBQbHVnaW4gcGFja2FnZSBleGNlZWRzICR7Zm9ybWF0RmlsZVNpemUoRklMRV9TSVpFX0xJTUlUUy5QTFVHSU4pfWApO1xuICBwcmludEluZm8oJ1BhY2thZ2UnLCB7IHNpemU6IGZvcm1hdEZpbGVTaXplKHppcC5sZW5ndGgpLCBtZXRhZGF0YUVkaXRzOiBPYmplY3Qua2V5cyhlZGl0cykgfSk7XG5cbiAgaWYgKG9wdGlvbnMuZHJ5UnVuKSB7XG4gICAgcHJpbnRTdWNjZXNzKCdEcnkgcnVuOiBub3RoaW5nIHVwbG9hZGVkJyk7XG4gICAgcmV0dXJuIHsgZWRpdHMsIHJlc3BvbnNlOiBudWxsIH07XG4gIH1cbiAgaWYgKCFvcHRpb25zLnllcyAmJiBkZXBzLmFzaykge1xuICAgIGNvbnN0IGFuc3dlciA9IChhd2FpdCBkZXBzLmFzayhgVXBsb2FkICR7U3RyaW5nKHNwZWMubmFtZSl9QCR7U3RyaW5nKHNwZWMudmVyc2lvbil9IGFzIHB1YmxpYyBhbmQgcmVxdWVzdCBwdWJsaXNoaW5nPyBbeS9OXSBgKSkudHJpbSgpLnRvTG93ZXJDYXNlKCk7XG4gICAgaWYgKGFuc3dlciAhPT0gJ3knICYmIGFuc3dlciAhPT0gJ3llcycpIHRocm93IG5ldyBQdWJsaXNoUHJlZmxpZ2h0RXJyb3IoJ0NhbmNlbGxlZCDigJQgbm90aGluZyB1cGxvYWRlZCcpO1xuICB9XG5cbiAgY29uc3QgY2xpZW50ID0gKGRlcHMuY2xpZW50ID8/ICgoKSA9PiBjcmVhdGVBdXRoZW50aWNhdGVkQ2xpZW50KG9wdGlvbnMpKSkoKTtcbiAgY29uc3QgaGFuZGxlID0gYXdhaXQgYXNzZXJ0Q2FuUHVibGlzaChjbGllbnQpO1xuICBjb25zdCBmb3JtID0gbmV3IEZvcm1EYXRhKCk7XG4gIGZvcm0uYXBwZW5kKCdwbHVnaW4nLCB6aXAsIHsgZmlsZW5hbWU6IGAke1N0cmluZyhzcGVjLm5hbWUpfS0ke1N0cmluZyhzcGVjLnZlcnNpb24pfS56aXBgLCBjb250ZW50VHlwZTogJ2FwcGxpY2F0aW9uL3ppcCcgfSk7XG4gIGZvcm0uYXBwZW5kKCd2aXNpYmlsaXR5JywgJ3B1YmxpYycpO1xuICBmb3JtLmFwcGVuZCgncHVibGlzaFJlcXVlc3QnLCAndHJ1ZScpO1xuICBpZiAoT2JqZWN0LmtleXMoZWRpdHMpLmxlbmd0aCkgZm9ybS5hcHBlbmQoJ21ldGFkYXRhJywgSlNPTi5zdHJpbmdpZnkoZWRpdHMpKTtcbiAgcHJpbnRTZWN0aW9uKCdVcGxvYWRpbmcnLCBgYXMgQCR7aGFuZGxlfWApO1xuICBjb25zdCByZXNwb25zZSA9IGRhdGFPZjxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oYXdhaXQgY2xpZW50LnBvc3RGb3JtKGNsaWVudC5nZXRDb25maWcoKS5hcGkucGx1Z2luVXBsb2FkVXJsLCBmb3JtKSk7XG4gIHJldHVybiB7IGVkaXRzLCByZXNwb25zZSB9O1xufVxuXG4vKipcbiAqIFJlZ2lzdGVyIGBwbHVnaW4gcHVibGlzaGAg4oCUIHByZS1mbGlnaHQgKHRoZSBzZXJ2ZXIncyBzY2hlbWFzLCB0aGUgY2F0YWxvZydzXG4gKiBEb2NrZXJmaWxlIHJ1bGVzLCBwdWJsaXNoLXJlcXVpcmVkIG1ldGFkYXRhKSwgYSBsb2NhbCBzY2FuIHByZXZpZXcsIHRoZVxuICogY2F0YWxvZyBhY2NlcHQtb3ItZWRpdCBzdGVwLCB0aGVuIHRoZSB1cGxvYWQgdGhhdCBzdWJtaXRzIGEgcHVibGlzaCByZXF1ZXN0XG4gKiBvbmNlIHRoZSB2ZXJzaW9uIGlzIGJ1aWx0LlxuICpcbiAqIFVzYWdlOlxuICogICBwaXBlbGluZS1tYW5hZ2VyIHBsdWdpbiBwdWJsaXNoIC0tZGlyIC4vbXktbGludGVyXG4gKiAgIHBpcGVsaW5lLW1hbmFnZXIgcGx1Z2luIHB1Ymxpc2ggLS1kaXIgLi9teS1saW50ZXIgLS15ZXNcbiAqICAgcGlwZWxpbmUtbWFuYWdlciBwbHVnaW4gcHVibGlzaCAtLWRpciAuL215LWxpbnRlciAtLW1ldGFkYXRhIGNhdGFsb2cueWFtbFxuICovXG5leHBvcnQgZnVuY3Rpb24gcHVibGlzaFBsdWdpbihwcm9ncmFtOiBDb21tYW5kKTogdm9pZCB7XG4gIHdpdGhTc2xPcHRpb25zKHByb2dyYW1cbiAgICAuY29tbWFuZCgncHVibGlzaCcpXG4gICAgLmRlc2NyaXB0aW9uKCdQcmUtZmxpZ2h0LCBzY2FuLXByZXZpZXcgYW5kIHVwbG9hZCBhIHBsdWdpbiwgdGhlbiByZXF1ZXN0IGl0cyBsaXN0aW5nIGluIHRoZSBwbHVnaW4gZWNvc3lzdGVtJylcbiAgICAub3B0aW9uKCctLWRpciA8cGF0aD4nLCAnUGx1Z2luIGRpcmVjdG9yeScsICcuJylcbiAgICAub3B0aW9uKCcteSwgLS15ZXMnLCAnQWNjZXB0IGV2ZXJ5IGRldGVjdGVkIGNhdGFsb2cgdmFsdWUgYW5kIHNraXAgdGhlIGNvbmZpcm1hdGlvbicsIGZhbHNlKVxuICAgIC5vcHRpb24oJy0tbWV0YWRhdGEgPGZpbGU+JywgJ0NhdGFsb2cgZWRpdHMgKFlBTUwvSlNPTjogc3VtbWFyeSwgZGVzY3JpcHRpb24sIGxpbmtzLCBpY29uLCDigKYpOyBubyBwcm9tcHQnKVxuICAgIC5vcHRpb24oJy0taW1hZ2UgPHJlZj4nLCAnU2NhbiB0aGlzIGltYWdlIGluc3RlYWQgb2YgYnVpbGRpbmcgdGhlIHBsdWdpblxcJ3MgRG9ja2VyZmlsZScpXG4gICAgLm9wdGlvbignLS1za2lwLXNjYW4nLCAnU2tpcCB0aGUgbG9jYWwgc2NhbiBwcmV2aWV3ICh0aGUgcGxhdGZvcm0gc3RpbGwgc2NhbnMpJywgZmFsc2UpXG4gICAgLm9wdGlvbignLS1kcnktcnVuJywgJ1J1biBldmVyeSBsb2NhbCBzdGVwLCB1cGxvYWQgbm90aGluZycsIGZhbHNlKSlcbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zOiBQdWJsaXNoUGx1Z2luT3B0aW9ucykgPT4ge1xuICAgICAgY29uc3QgZXhlY3V0aW9uSWQgPSBwcmludENvbW1hbmRIZWFkZXIoJ1B1Ymxpc2ggUGx1Z2luJyk7XG4gICAgICBwcmludFNzbFdhcm5pbmcob3B0aW9ucy52ZXJpZnlTc2wpO1xuICAgICAgY29uc3QgaW50ZXJhY3RpdmUgPSBCb29sZWFuKHByb2Nlc3Muc3RkaW4uaXNUVFkgJiYgcHJvY2Vzcy5zdGRvdXQuaXNUVFkpO1xuICAgICAgY29uc3QgcmwgPSBpbnRlcmFjdGl2ZSA/IHJlYWRsaW5lLmNyZWF0ZUludGVyZmFjZSh7IGlucHV0OiBwcm9jZXNzLnN0ZGluLCBvdXRwdXQ6IHByb2Nlc3Muc3Rkb3V0IH0pIDogbnVsbDtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgcmVzcG9uc2UgfSA9IGF3YWl0IHJ1blB1Ymxpc2gob3B0aW9ucywgeyBhc2s6IHJsID8gKHE6IHN0cmluZykgPT4gcmwucXVlc3Rpb24ocSkgOiB1bmRlZmluZWQgfSk7XG4gICAgICAgIGlmICghcmVzcG9uc2UpIHJldHVybjtcbiAgICAgICAgY29uc3QgciA9IHJlc3BvbnNlIGFzIHsgcGx1Z2luTmFtZT86IHN0cmluZzsgdmVyc2lvbj86IHN0cmluZzsgcGx1Z2luSWQ/OiBzdHJpbmc7IHB1Ymxpc2hSZXF1ZXN0PzogeyByZXF1ZXN0SWQ/OiBzdHJpbmc7IHN0YXR1cz86IHN0cmluZyB9IH07XG4gICAgICAgIHByaW50U2VjdGlvbignU3VibWl0dGVkJyk7XG4gICAgICAgIHByaW50S2V5VmFsdWUoe1xuICAgICAgICAgIFBsdWdpbjogYCR7ci5wbHVnaW5OYW1lID8/ICc/J31AJHtyLnZlcnNpb24gPz8gJz8nfWAsXG4gICAgICAgICAgLi4uKHIucHVibGlzaFJlcXVlc3Q/LnJlcXVlc3RJZFxuICAgICAgICAgICAgPyB7ICdQdWJsaXNoIHJlcXVlc3QnOiBgJHtyLnB1Ymxpc2hSZXF1ZXN0LnJlcXVlc3RJZH0gKCR7ci5wdWJsaXNoUmVxdWVzdC5zdGF0dXMgPz8gJ3N1Ym1pdHRlZCd9KWAgfVxuICAgICAgICAgICAgOiB7ICdQdWJsaXNoIHJlcXVlc3QnOiAnc3VibWl0dGVkIGF1dG9tYXRpY2FsbHkgd2hlbiB0aGUgYnVpbGQgY29tcGxldGVzJyB9KSxcbiAgICAgICAgfSk7XG4gICAgICAgIHByaW50U3VjY2VzcygnVHJhY2sgdGhlIHJlcXVlc3Qgb24gdGhlIFB1Ymxpc2hlciBwYWdlIOKGkiBSZXF1ZXN0cyAob3IgR0VUIC9hcGkvcGx1Z2lucy9wdWJsaXNoLXJlcXVlc3RzKScsIHsgZXhlY3V0aW9uSWQgfSk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgY29uc3QgY29kZSA9IGVyciBpbnN0YW5jZW9mIFZhbGlkYXRpb25FcnJvciB8fCBlcnIgaW5zdGFuY2VvZiBQdWJsaXNoUHJlZmxpZ2h0RXJyb3IgPyBFUlJPUl9DT0RFUy5WQUxJREFUSU9OIDogRVJST1JfQ09ERVMuQVBJX1JFUVVFU1Q7XG4gICAgICAgIGhhbmRsZUVycm9yKGVyciwgY29kZSwgeyBkZWJ1ZzogcHJvZ3JhbS5vcHRzKCkuZGVidWcsIGV4aXQ6IHRydWUsIGNvbnRleHQ6IHsgY29tbWFuZDogJ3BsdWdpbiBwdWJsaXNoJywgZXhlY3V0aW9uSWQgfSB9KTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIHJsPy5jbG9zZSgpO1xuICAgICAgfVxuICAgIH0pO1xufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redrive-events.d.ts","
|
|
1
|
+
{"version":3,"file":"redrive-events.d.ts","sources":["../../src/commands/redrive-events.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8GpD"}
|
|
@@ -124,4 +124,4 @@ export function redriveEvents(program) {
|
|
|
124
124
|
}
|
|
125
125
|
});
|
|
126
126
|
}
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkcml2ZS1ldmVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvcmVkcml2ZS1ldmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RixPQUFPLEVBQ0wsU0FBUyxFQUNULHlCQUF5QixFQUN6QiwyQkFBMkIsRUFDM0IsMkJBQTJCLEdBQzVCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUxSCw4REFBOEQ7QUFDOUQsTUFBTSxVQUFVLEdBQUcsaUJBQWlCLENBQUM7QUFFckM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxPQUFnQjtJQUM1QyxpQkFBaUIsQ0FDZixnQkFBZ0IsQ0FBQyxPQUFPO1NBQ3JCLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztTQUN6QixXQUFXLENBQUMsK0hBQStILENBQUMsQ0FBQyxDQUNqSjtTQUNFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDeEIsTUFBTSxXQUFXLEdBQUcsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUV6RCxJQUFJLENBQUM7WUFDSCxNQUFNLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDaEQsNkVBQTZFO1lBQzdFLHdFQUF3RTtZQUN4RSwwQ0FBMEM7WUFDMUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUVqQyxTQUFTLENBQUMsWUFBWSxFQUFFLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBRXZELDJFQUEyRTtZQUMzRSwrREFBK0Q7WUFDL0QsWUFBWSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFFL0IsTUFBTSxTQUFTLEdBQUcsSUFBSSxvQkFBb0IsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDdkQsTUFBTSxjQUFjLEdBQUcsTUFBTSxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUkscUJBQXFCLENBQUMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ2xHLE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLElBQUksRUFBRSxDQUFDO1lBQzFELE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFakcsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDLGFBQWEsQ0FBQztZQUM5QyxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsYUFBYSxDQUFDO1lBQzlDLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQztZQUU1QyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQzlCLFVBQVUsQ0FBQyxTQUFTLFVBQVUsOEJBQThCLEVBQUU7b0JBQzVELElBQUksRUFBRSxrREFBa0Q7aUJBQ3pELENBQUMsQ0FBQztnQkFDSCxNQUFNLElBQUksS0FBSyxDQUFDLDREQUE0RCxDQUFDLENBQUM7WUFDaEYsQ0FBQztZQUVELE1BQU0sR0FBRyxHQUFHLElBQUksU0FBUyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUV0Qyw2RUFBNkU7WUFDN0UsNkRBQTZEO1lBQzdELE1BQU0sUUFBUSxHQUFHLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLHlCQUF5QixDQUFDO2dCQUM1RCxRQUFRLEVBQUUsTUFBTTtnQkFDaEIsY0FBYyxFQUFFLENBQUMsVUFBVSxFQUFFLDZCQUE2QixDQUFDO2FBQzVELENBQUMsQ0FBQyxDQUFDO1lBQ0osTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUM7WUFDN0MsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsMkJBQTJCLElBQUksR0FBRyxDQUFDLENBQUM7WUFFakYsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsc0NBQXNDLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDbEUsQ0FBQztZQUVELGFBQWEsQ0FBQztnQkFDWixjQUFjLEVBQUUsTUFBTTtnQkFDdEIscUJBQXFCLEVBQUUsYUFBYTtnQkFDcEMsb0JBQW9CLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQzthQUN2QyxDQUFDLENBQUM7WUFFSCwyRUFBMkU7WUFDM0UsbUJBQW1CO1lBQ25CLElBQUksUUFBUSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNuQixZQUFZLENBQUMsa0RBQWtELENBQUMsQ0FBQztnQkFDakUsT0FBTztZQUNULENBQUM7WUFFRCwwRUFBMEU7WUFDMUUseUVBQXlFO1lBQ3pFLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUV4QixNQUFNLE1BQU0sR0FBRyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSwyQkFBMkIsQ0FBQyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDdEYsTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUM7WUFDekUsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDWixZQUFZLENBQUMsNkVBQTZFLEVBQUU7b0JBQzFGLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVTtvQkFDOUIsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLGdDQUFnQztpQkFDM0QsQ0FBQyxDQUFDO2dCQUNILE9BQU87WUFDVCxDQUFDO1lBRUQsOEVBQThFO1lBQzlFLHdFQUF3RTtZQUN4RSwwQ0FBMEM7WUFDMUMsTUFBTSxLQUFLLEdBQUcsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksMkJBQTJCLENBQUM7Z0JBQzNELFNBQVMsRUFBRSxNQUFNO2dCQUNqQixjQUFjLEVBQUUsYUFBYTthQUM5QixDQUFDLENBQUMsQ0FBQztZQUVKLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDaEIsWUFBWSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDaEMsYUFBYSxDQUFDO2dCQUNaLGFBQWEsRUFBRSxLQUFLLENBQUMsVUFBVSxJQUFJLGlCQUFpQjtnQkFDcEQsY0FBYyxFQUFFLE1BQU07Z0JBQ3RCLHFCQUFxQixFQUFFLGFBQWEsSUFBSSxhQUFhO2dCQUNyRCxpQkFBaUIsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDO2dCQUNuQyxRQUFRLEVBQUUsV0FBVzthQUN0QixDQUFDLENBQUM7WUFFSCxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2hCLFlBQVksQ0FBQywyRUFBMkUsQ0FBQyxDQUFDO1lBQzFGLFNBQVMsQ0FBQywwRkFBMEYsQ0FBQyxDQUFDO1FBRXhHLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsV0FBVyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsV0FBVyxFQUFFO2dCQUMxQyxLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUs7Z0JBQzNCLElBQUksRUFBRSxJQUFJO2dCQUNWLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRTthQUN2RSxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IENsb3VkRm9ybWF0aW9uQ2xpZW50LCBEZXNjcmliZVN0YWNrc0NvbW1hbmQgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtY2xvdWRmb3JtYXRpb24nO1xuaW1wb3J0IHtcbiAgU1FTQ2xpZW50LFxuICBHZXRRdWV1ZUF0dHJpYnV0ZXNDb21tYW5kLFxuICBMaXN0TWVzc2FnZU1vdmVUYXNrc0NvbW1hbmQsXG4gIFN0YXJ0TWVzc2FnZU1vdmVUYXNrQ29tbWFuZCxcbn0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LXNxcyc7XG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnY29tbWFuZGVyJztcbmltcG9ydCB7IEVWRU5UU19TVEFDS19OQU1FIH0gZnJvbSAnLi4vY29uZmlnL2NsaS5jb25zdGFudHMuanMnO1xuaW1wb3J0IHsgYXBwbHlBd3NQcm9maWxlLCByZXNvbHZlQXdzUmVnaW9uIH0gZnJvbSAnLi4vdXRpbHMvYXdzLWVudi5qcyc7XG5pbXBvcnQgeyBwcmludENvbW1hbmRIZWFkZXIsIHdpdGhQcm9maWxlT3B0aW9uLCB3aXRoUmVnaW9uT3B0aW9uIH0gZnJvbSAnLi4vdXRpbHMvY29tbWFuZC11dGlscy5qcyc7XG5pbXBvcnQgeyBFUlJPUl9DT0RFUywgaGFuZGxlRXJyb3IgfSBmcm9tICcuLi91dGlscy9lcnJvci1oYW5kbGVyLmpzJztcbmltcG9ydCB7IHByaW50RXJyb3IsIHByaW50SW5mbywgcHJpbnRLZXlWYWx1ZSwgcHJpbnRTZWN0aW9uLCBwcmludFN1Y2Nlc3MsIHByaW50V2FybmluZyB9IGZyb20gJy4uL3V0aWxzL291dHB1dC11dGlscy5qcyc7XG5cbi8vIENGTiBzdGFjayB0aGF0IHNldHVwLWV2ZW50cyBkZXBsb3lzIOKAlCB0aGUgcXVldWVzIGxpdmUgaGVyZS5cbmNvbnN0IFNUQUNLX05BTUUgPSBFVkVOVFNfU1RBQ0tfTkFNRTtcblxuLyoqXG4gKiBSZWdpc3RlcnMgdGhlIGByZWRyaXZlLWV2ZW50c2AgY29tbWFuZCB3aXRoIHRoZSBDTEkgcHJvZ3JhbS5cbiAqXG4gKiBNYW51YWwgZmFsbGJhY2sgZm9yIHRoZSBldmVudHMgTGFtYmRhJ3Mgc2VsZi1oZWFsaW5nIHJlZHJpdmU6IGNhbGxzXG4gKiBTUVMgYFN0YXJ0TWVzc2FnZU1vdmVUYXNrKERMUSDihpIgbWFpbiBxdWV1ZSlgIGZvciB0aGUgYHBpcGVsaW5lLWJ1aWxkZXItZXZlbnRzYFxuICogc3RhY2ssIG1vdmluZyBtZXNzYWdlcyB0aGF0IGV4aGF1c3RlZCB0aGVpciByZWNlaXZlIGNvdW50IGluIHRoZSBkZWFkLWxldHRlclxuICogcXVldWUgYmFjayBvbnRvIGBwaXBlbGluZS1idWlsZGVyLWV2ZW50c2Agc28gdGhlIGluZ2VzdGlvbiBMYW1iZGEgcmUtcHJvY2Vzc2VzXG4gKiB0aGVtLiBJZGVtcG90ZW50IGluZ2VzdCAoZGVkdXBlIG9uIGBpZGVtcG90ZW5jeUtleWApIHByZXZlbnRzIGRvdWJsZS1jb3VudGluZy5cbiAqXG4gKiBUaGUgTGFtYmRhIGFscmVhZHkgZG9lcyB0aGlzIGF1dG9tYXRpY2FsbHkgYWZ0ZXIgYSBzdWNjZXNzZnVsIGJhdGNoOyB0aGlzXG4gKiBjb21tYW5kIGlzIHRoZSBvcGVyYXRvciBlc2NhcGUgaGF0Y2ggd2hlbiB0aGUgTGFtYmRhIGlzIGRvd24gb3IgdGhlIERMUSBuZWVkc1xuICogdG8gYmUgZHJhaW5lZCBvbiBkZW1hbmQuIExpa2UgdGhlIExhbWJkYSwgaXQgcmVmdXNlcyB0byBzdGFydCBhIHNlY29uZCBtb3ZlXG4gKiB0YXNrIHdoaWxlIG9uZSBpcyBhbHJlYWR5IGFjdGl2ZSAoU1FTIGFsbG93cyBvbmx5IG9uZSBpbi1mbGlnaHQgdGFzayBwZXJcbiAqIHNvdXJjZSBxdWV1ZSBhbnl3YXkpLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBiYXNoXG4gKiBwaXBlbGluZS1tYW5hZ2VyIGluZnJhIHJlZHJpdmUtZXZlbnRzIC0tcmVnaW9uIHVzLWVhc3QtMVxuICogcGlwZWxpbmUtbWFuYWdlciBpbmZyYSByZWRyaXZlLWV2ZW50cyAtLXJlZ2lvbiB1cy1lYXN0LTEgLS1wcm9maWxlIHByb2RcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVkcml2ZUV2ZW50cyhwcm9ncmFtOiBDb21tYW5kKTogdm9pZCB7XG4gIHdpdGhQcm9maWxlT3B0aW9uKFxuICAgIHdpdGhSZWdpb25PcHRpb24ocHJvZ3JhbVxuICAgICAgLmNvbW1hbmQoJ3JlZHJpdmUtZXZlbnRzJylcbiAgICAgIC5kZXNjcmlwdGlvbignUmVkcml2ZSBkZWFkLWxldHRlcmVkIENvZGVQaXBlbGluZSBldmVudHMgYmFjayBvbnRvIHRoZSBpbmdlc3Rpb24gcXVldWUgKG1hbnVhbCBmYWxsYmFjayBmb3IgdGhlIExhbWJkYSBzZWxmLWhlYWxpbmcgcmVkcml2ZSknKSksXG4gIClcbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICBjb25zdCBleGVjdXRpb25JZCA9IHByaW50Q29tbWFuZEhlYWRlcignUmVkcml2ZSBFdmVudHMnKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVnaW9uID0gcmVzb2x2ZUF3c1JlZ2lvbihvcHRpb25zLnJlZ2lvbik7XG4gICAgICAgIC8vIEhvbm9yIC0tcHJvZmlsZSBmb3IgdGhlIFNESyBjbGllbnRzIGJlbG93IChtaXJyb3JzIHNldHVwLWV2ZW50cykg4oCUIHdpdGhvdXRcbiAgICAgICAgLy8gdGhpcyB0aGUgU0RLIGhpdHMgdGhlIERFRkFVTFQgYWNjb3VudCB3aGlsZSBhbnkgYWNjb21wYW55aW5nIENMSSBjYWxsXG4gICAgICAgIC8vIGhvbm9yZWQgLS1wcm9maWxlIChzaWxlbnQgc3BsaXQtYnJhaW4pLlxuICAgICAgICBhcHBseUF3c1Byb2ZpbGUob3B0aW9ucy5wcm9maWxlKTtcblxuICAgICAgICBwcmludEluZm8oJ1BhcmFtZXRlcnMnLCB7IHN0YWNrOiBTVEFDS19OQU1FLCByZWdpb24gfSk7XG5cbiAgICAgICAgLy8gU3RlcCAxOiByZXNvbHZlIHRoZSBxdWV1ZSBVUkxzIGZyb20gdGhlIHN0YWNrIG91dHB1dHMgKHNvdXJjZSBvZiB0cnV0aCDigJRcbiAgICAgICAgLy8gbm8gaGFyZGNvZGVkIHF1ZXVlIG5hbWVzKS4gc2V0dXAtZXZlbnRzIG11c3QgaGF2ZSBydW4gZmlyc3QuXG4gICAgICAgIHByaW50U2VjdGlvbignUmVzb2x2ZSBRdWV1ZXMnKTtcblxuICAgICAgICBjb25zdCBjZm5DbGllbnQgPSBuZXcgQ2xvdWRGb3JtYXRpb25DbGllbnQoeyByZWdpb24gfSk7XG4gICAgICAgIGNvbnN0IGRlc2NyaWJlUmVzdWx0ID0gYXdhaXQgY2ZuQ2xpZW50LnNlbmQobmV3IERlc2NyaWJlU3RhY2tzQ29tbWFuZCh7IFN0YWNrTmFtZTogU1RBQ0tfTkFNRSB9KSk7XG4gICAgICAgIGNvbnN0IG91dHB1dHMgPSBkZXNjcmliZVJlc3VsdC5TdGFja3M/LlswXT8uT3V0cHV0cyA/PyBbXTtcbiAgICAgICAgY29uc3Qgb3V0cHV0TWFwID0gT2JqZWN0LmZyb21FbnRyaWVzKG91dHB1dHMubWFwKG8gPT4gW28uT3V0cHV0S2V5ID8/ICcnLCBvLk91dHB1dFZhbHVlID8/ICcnXSkpO1xuXG4gICAgICAgIGNvbnN0IGV2ZW50UXVldWVBcm4gPSBvdXRwdXRNYXAuRXZlbnRRdWV1ZUFybjtcbiAgICAgICAgY29uc3QgZXZlbnRRdWV1ZVVybCA9IG91dHB1dE1hcC5FdmVudFF1ZXVlVXJsO1xuICAgICAgICBjb25zdCBkbHFVcmwgPSBvdXRwdXRNYXAuRGVhZExldHRlclF1ZXVlVXJsO1xuXG4gICAgICAgIGlmICghZXZlbnRRdWV1ZUFybiB8fCAhZGxxVXJsKSB7XG4gICAgICAgICAgcHJpbnRFcnJvcihgU3RhY2sgJHtTVEFDS19OQU1FfSBpcyBtaXNzaW5nIGV4cGVjdGVkIG91dHB1dHNgLCB7XG4gICAgICAgICAgICBoaW50OiAnUnVuIGBwaXBlbGluZS1tYW5hZ2VyIGluZnJhIHNldHVwLWV2ZW50c2AgZmlyc3QuJyxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1N0YWNrIG91dHB1dHMgRXZlbnRRdWV1ZUFybiAvIERlYWRMZXR0ZXJRdWV1ZVVybCBub3QgZm91bmQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNxcyA9IG5ldyBTUVNDbGllbnQoeyByZWdpb24gfSk7XG5cbiAgICAgICAgLy8gVGhlIHN0YWNrIGV4cG9zZXMgdGhlIERMUSBVUkwgYnV0IG5vdCBpdHMgQVJOIOKAlCBTdGFydE1lc3NhZ2VNb3ZlVGFzayBuZWVkc1xuICAgICAgICAvLyB0aGUgc291cmNlIEFSTiwgc28gcmVzb2x2ZSBpdCBmcm9tIHRoZSBxdWV1ZSdzIGF0dHJpYnV0ZXMuXG4gICAgICAgIGNvbnN0IGRscUF0dHJzID0gYXdhaXQgc3FzLnNlbmQobmV3IEdldFF1ZXVlQXR0cmlidXRlc0NvbW1hbmQoe1xuICAgICAgICAgIFF1ZXVlVXJsOiBkbHFVcmwsXG4gICAgICAgICAgQXR0cmlidXRlTmFtZXM6IFsnUXVldWVBcm4nLCAnQXBwcm94aW1hdGVOdW1iZXJPZk1lc3NhZ2VzJ10sXG4gICAgICAgIH0pKTtcbiAgICAgICAgY29uc3QgZGxxQXJuID0gZGxxQXR0cnMuQXR0cmlidXRlcz8uUXVldWVBcm47XG4gICAgICAgIGNvbnN0IGRscURlcHRoID0gTnVtYmVyKGRscUF0dHJzLkF0dHJpYnV0ZXM/LkFwcHJveGltYXRlTnVtYmVyT2ZNZXNzYWdlcyA/PyAnMCcpO1xuXG4gICAgICAgIGlmICghZGxxQXJuKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZCBub3QgcmVzb2x2ZSB0aGUgRExRIEFSTiBmcm9tICR7ZGxxVXJsfWApO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpbnRLZXlWYWx1ZSh7XG4gICAgICAgICAgJ1NvdXJjZSAoRExRKSc6IGRscUFybixcbiAgICAgICAgICAnRGVzdGluYXRpb24gKHF1ZXVlKSc6IGV2ZW50UXVldWVBcm4sXG4gICAgICAgICAgJ0RMUSBkZXB0aCAoYXBwcm94KSc6IFN0cmluZyhkbHFEZXB0aCksXG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIE5vdGhpbmcgdG8gbW92ZSDigJQgYmFpbCBlYXJseSBzbyB0aGUgb3BlcmF0b3IgZ2V0cyBhIGNsZWFyIHNpZ25hbCBpbnN0ZWFkXG4gICAgICAgIC8vIG9mIGEgbm8tb3AgdGFzay5cbiAgICAgICAgaWYgKGRscURlcHRoID09PSAwKSB7XG4gICAgICAgICAgcHJpbnRTdWNjZXNzKCdEZWFkLWxldHRlciBxdWV1ZSBpcyBlbXB0eSDigJQgbm90aGluZyB0byByZWRyaXZlLicpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFN0ZXAgMjogcmVmdXNlIHRvIHN0YWNrIG1vdmUgdGFza3MuIFNRUyBwZXJtaXRzIG9ubHkgb25lIGluLWZsaWdodCBtb3ZlXG4gICAgICAgIC8vIHRhc2sgcGVyIHNvdXJjZSBxdWV1ZTsgc3VyZmFjZSBhbnkgYWN0aXZlIG9uZSBpbnN0ZWFkIG9mIGVycm9yaW5nIG91dC5cbiAgICAgICAgcHJpbnRTZWN0aW9uKCdSZWRyaXZlJyk7XG5cbiAgICAgICAgY29uc3QgYWN0aXZlID0gYXdhaXQgc3FzLnNlbmQobmV3IExpc3RNZXNzYWdlTW92ZVRhc2tzQ29tbWFuZCh7IFNvdXJjZUFybjogZGxxQXJuIH0pKTtcbiAgICAgICAgY29uc3QgcnVubmluZyA9IChhY3RpdmUuUmVzdWx0cyA/PyBbXSkuZmluZCh0ID0+IHQuU3RhdHVzID09PSAnUlVOTklORycpO1xuICAgICAgICBpZiAocnVubmluZykge1xuICAgICAgICAgIHByaW50V2FybmluZygnQSBtZXNzYWdlIG1vdmUgdGFzayBpcyBhbHJlYWR5IHJ1bm5pbmcgZm9yIHRoaXMgRExRIOKAlCBub3Qgc3RhcnRpbmcgYW5vdGhlci4nLCB7XG4gICAgICAgICAgICB0YXNrSGFuZGxlOiBydW5uaW5nLlRhc2tIYW5kbGUsXG4gICAgICAgICAgICBhcHByb3hNb3ZlZFNvRmFyOiBydW5uaW5nLkFwcHJveGltYXRlTnVtYmVyT2ZNZXNzYWdlc01vdmVkLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFN0ZXAgMzogc3RhcnQgdGhlIG1vdmUgKERMUSDihpIgbWFpbiBxdWV1ZSkuIERlc3RpbmF0aW9uQXJuIGlzIHNldCBleHBsaWNpdGx5XG4gICAgICAgIC8vIGV2ZW4gdGhvdWdoIFNRUyB3b3VsZCBkZWZhdWx0IHRvIHRoZSBvcmlnaW5hbCBzb3VyY2UgcXVldWUg4oCUIHRoZSBtYWluXG4gICAgICAgIC8vIGluZ2VzdGlvbiBxdWV1ZSBpcyBleGFjdGx5IHRoYXQgdGFyZ2V0LlxuICAgICAgICBjb25zdCBzdGFydCA9IGF3YWl0IHNxcy5zZW5kKG5ldyBTdGFydE1lc3NhZ2VNb3ZlVGFza0NvbW1hbmQoe1xuICAgICAgICAgIFNvdXJjZUFybjogZGxxQXJuLFxuICAgICAgICAgIERlc3RpbmF0aW9uQXJuOiBldmVudFF1ZXVlQXJuLFxuICAgICAgICB9KSk7XG5cbiAgICAgICAgY29uc29sZS5sb2coJycpO1xuICAgICAgICBwcmludFNlY3Rpb24oJ1JlZHJpdmUgU3RhcnRlZCcpO1xuICAgICAgICBwcmludEtleVZhbHVlKHtcbiAgICAgICAgICAnVGFzayBIYW5kbGUnOiBzdGFydC5UYXNrSGFuZGxlID8/ICcobm9uZSByZXR1cm5lZCknLFxuICAgICAgICAgICdTb3VyY2UgKERMUSknOiBkbHFBcm4sXG4gICAgICAgICAgJ0Rlc3RpbmF0aW9uIChxdWV1ZSknOiBldmVudFF1ZXVlVXJsIHx8IGV2ZW50UXVldWVBcm4sXG4gICAgICAgICAgJ01lc3NhZ2VzIHF1ZXVlZCc6IFN0cmluZyhkbHFEZXB0aCksXG4gICAgICAgICAgJ1N0YXR1cyc6ICfinJMgU3RhcnRlZCcsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnNvbGUubG9nKCcnKTtcbiAgICAgICAgcHJpbnRTdWNjZXNzKCdSZWRyaXZlIHRhc2sgc3RhcnRlZC4gTWVzc2FnZXMgd2lsbCByZS1mbG93IHRocm91Z2ggdGhlIGluZ2VzdGlvbiBMYW1iZGEuJyk7XG4gICAgICAgIHByaW50SW5mbygnSWRlbXBvdGVudCBpbmdlc3QgZGVkdXBlcyBvbiBpZGVtcG90ZW5jeUtleSwgc28gcmUtZHJpdmVuIGV2ZW50cyBhcmUgbm90IGRvdWJsZS1jb3VudGVkLicpO1xuXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBoYW5kbGVFcnJvcihlcnJvciwgRVJST1JfQ09ERVMuQVBJX1JFUVVFU1QsIHtcbiAgICAgICAgICBkZWJ1ZzogcHJvZ3JhbS5vcHRzKCkuZGVidWcsXG4gICAgICAgICAgZXhpdDogdHJ1ZSxcbiAgICAgICAgICBjb250ZXh0OiB7IGNvbW1hbmQ6ICdyZWRyaXZlLWV2ZW50cycsIGV4ZWN1dGlvbklkLCBzdGFjazogU1RBQ0tfTkFNRSB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbn1cbiJdfQ==
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkcml2ZS1ldmVudHMuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9yZWRyaXZlLWV2ZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzdGLE9BQU8sRUFDTCxTQUFTLEVBQ1QseUJBQXlCLEVBQ3pCLDJCQUEyQixFQUMzQiwyQkFBMkIsR0FDNUIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRyxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTFILDhEQUE4RDtBQUM5RCxNQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQztBQUVyQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUFDLE9BQWdCO0lBQzVDLGlCQUFpQixDQUNmLGdCQUFnQixDQUFDLE9BQU87U0FDckIsT0FBTyxDQUFDLGdCQUFnQixDQUFDO1NBQ3pCLFdBQVcsQ0FBQywrSEFBK0gsQ0FBQyxDQUFDLENBQ2pKO1NBQ0UsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUN4QixNQUFNLFdBQVcs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QUM7UUFFeEcsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixXQUFXLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxXQUFXLEVBQUU7Z0JBQzFDLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSztnQkFDM0IsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFO2FBQ3ZFLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHsgQ2xvdWRGb3JtYXRpb25DbGllbnQsIERlc2NyaWJlU3RhY2tzQ29tbWFuZCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1jbG91ZGZvcm1hdGlvbic7XG5pbXBvcnQge1xuICBTUVNDbGllbnQsXG4gIEdldFF1ZXVlQXR0cmlidXRlc0NvbW1hbmQsXG4gIExpc3RNZXNzYWdlTW92ZVRhc2tzQ29tbWFuZCxcbiAgU3RhcnRNZXNzYWdlTW92ZVRhc2tDb21tYW5kLFxufSBmcm9tICdAYXdzLXNkay9jbGllbnQtc3FzJztcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICdjb21tYW5kZXInO1xuaW1wb3J0IHsgRVZFTlRTX1NUQUNLX05BTUUgfSBmcm9tICcuLi9jb25maWcvY2xpLmNvbnN0YW50cy5qcyc7XG5pbXBvcnQgeyBhcHBseUF3c1Byb2ZpbGUsIHJlc29sdmVBd3NSZWdpb24gfSBmcm9tICcuLi91dGlscy9hd3MtZW52LmpzJztcbmltcG9ydCB7IHByaW50Q29tbWFuZEhlYWRlciwgd2l0aFByb2ZpbGVPcHRpb24sIHdpdGhSZWdpb25PcHRpb24gfSBmcm9tICcuLi91dGlscy9jb21tYW5kLXV0aWxzLmpzJztcbmltcG9ydCB7IEVSUk9SX0NPREVTLCBoYW5kbGVFcnJvciB9IGZyb20gJy4uL3V0aWxzL2Vycm9yLWhhbmRsZXIuanMnO1xuaW1wb3J0IHsgcHJpbnRFcnJvciwgcHJpbnRJbmZvLCBwcmludEtleVZhbHVlLCBwcmludFNlY3Rpb24sIHByaW50U3VjY2VzcywgcHJpbnRXYXJuaW5nIH0gZnJvbSAnLi4vdXRpbHMvb3V0cHV0LXV0aWxzLmpzJztcblxuLy8gQ0ZOIHN0YWNrIHRoYXQgc2V0dXAtZXZlbnRzIGRlcGxveXMg4oCUIHRoZSBxdWV1ZXMgbGl2ZSBoZXJlLlxuY29uc3QgU1RBQ0tfTkFNRSA9IEVWRU5UU19TVEFDS19OQU1FO1xuXG4vKipcbiAqIFJlZ2lzdGVycyB0aGUgYHJlZHJpdmUtZXZlbnRzYCBjb21tYW5kIHdpdGggdGhlIENMSSBwcm9ncmFtLlxuICpcbiAqIE1hbnVhbCBmYWxsYmFjayBmb3IgdGhlIGV2ZW50cyBMYW1iZGEncyBzZWxmLWhlYWxpbmcgcmVkcml2ZTogY2FsbHNcbiAqIFNRUyBgU3RhcnRNZXNzYWdlTW92ZVRhc2soRExRIOKGkiBtYWluIHF1ZXVlKWAgZm9yIHRoZSBgcGlwZWxpbmUtYnVpbGRlci1ldmVudHNgXG4gKiBzdGFjaywgbW92aW5nIG1lc3NhZ2VzIHRoYXQgZXhoYXVzdGVkIHRoZWlyIHJlY2VpdmUgY291bnQgaW4gdGhlIGRlYWQtbGV0dGVyXG4gKiBxdWV1ZSBiYWNrIG9udG8gYHBpcGVsaW5lLWJ1aWxkZXItZXZlbnRzYCBzbyB0aGUgaW5nZXN0aW9uIExhbWJkYSByZS1wcm9jZXNzZXNcbiAqIHRoZW0uIElkZW1wb3RlbnQgaW5nZXN0IChkZWR1cGUgb24gYGlkZW1wb3RlbmN5S2V5YCkgcHJldmVudHMgZG91YmxlLWNvdW50aW5nLlxuICpcbiAqIFRoZSBMYW1iZGEgYWxyZWFkeSBkb2VzIHRoaXMgYXV0b21hdGljYWxseSBhZnRlciBhIHN1Y2Nlc3NmdWwgYmF0Y2g7IHRoaXNcbiAqIGNvbW1hbmQgaXMgdGhlIG9wZXJhdG9yIGVzY2FwZSBoYXRjaCB3aGVuIHRoZSBMYW1iZGEgaXMgZG93biBvciB0aGUgRExRIG5lZWRzXG4gKiB0byBiZSBkcmFpbmVkIG9uIGRlbWFuZC4gTGlrZSB0aGUgTGFtYmRhLCBpdCByZWZ1c2VzIHRvIHN0YXJ0IGEgc2Vjb25kIG1vdmVcbiAqIHRhc2sgd2hpbGUgb25lIGlzIGFscmVhZHkgYWN0aXZlIChTUVMgYWxsb3dzIG9ubHkgb25lIGluLWZsaWdodCB0YXNrIHBlclxuICogc291cmNlIHF1ZXVlIGFueXdheSkuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGJhc2hcbiAqIHBpcGVsaW5lLW1hbmFnZXIgaW5mcmEgcmVkcml2ZS1ldmVudHMgLS1yZWdpb24gdXMtZWFzdC0xXG4gKiBwaXBlbGluZS1tYW5hZ2VyIGluZnJhIHJlZHJpdmUtZXZlbnRzIC0tcmVnaW9uIHVzLWVhc3QtMSAtLXByb2ZpbGUgcHJvZFxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWRyaXZlRXZlbnRzKHByb2dyYW06IENvbW1hbmQpOiB2b2lkIHtcbiAgd2l0aFByb2ZpbGVPcHRpb24oXG4gICAgd2l0aFJlZ2lvbk9wdGlvbihwcm9ncmFtXG4gICAgICAuY29tbWFuZCgncmVkcml2ZS1ldmVudHMnKVxuICAgICAgLmRlc2NyaXB0aW9uKCdSZWRyaXZlIGRlYWQtbGV0dGVyZWQgQ29kZVBpcGVsaW5lIGV2ZW50cyBiYWNrIG9udG8gdGhlIGluZ2VzdGlvbiBxdWV1ZSAobWFudWFsIGZhbGxiYWNrIGZvciB0aGUgTGFtYmRhIHNlbGYtaGVhbGluZyByZWRyaXZlKScpKSxcbiAgKVxuICAgIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICAgIGNvbnN0IGV4ZWN1dGlvbklkID0gcHJpbnRDb21tYW5kSGVhZGVyKCdSZWRyaXZlIEV2ZW50cycpO1xuXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZWdpb24gPSByZXNvbHZlQXdzUmVnaW9uKG9wdGlvbnMucmVnaW9uKTtcbiAgICAgICAgLy8gSG9ub3IgLS1wcm9maWxlIGZvciB0aGUgU0RLIGNsaWVudHMgYmVsb3cgKG1pcnJvcnMgc2V0dXAtZXZlbnRzKSDigJQgd2l0aG91dFxuICAgICAgICAvLyB0aGlzIHRoZSBTREsgaGl0cyB0aGUgREVGQVVMVCBhY2NvdW50IHdoaWxlIGFueSBhY2NvbXBhbnlpbmcgQ0xJIGNhbGxcbiAgICAgICAgLy8gaG9ub3JlZCAtLXByb2ZpbGUgKHNpbGVudCBzcGxpdC1icmFpbikuXG4gICAgICAgIGFwcGx5QXdzUHJvZmlsZShvcHRpb25zLnByb2ZpbGUpO1xuXG4gICAgICAgIHByaW50SW5mbygnUGFyYW1ldGVycycsIHsgc3RhY2s6IFNUQUNLX05BTUUsIHJlZ2lvbiB9KTtcblxuICAgICAgICAvLyBTdGVwIDE6IHJlc29sdmUgdGhlIHF1ZXVlIFVSTHMgZnJvbSB0aGUgc3RhY2sgb3V0cHV0cyAoc291cmNlIG9mIHRydXRoIOKAlFxuICAgICAgICAvLyBubyBoYXJkY29kZWQgcXVldWUgbmFtZXMpLiBzZXR1cC1ldmVudHMgbXVzdCBoYXZlIHJ1biBmaXJzdC5cbiAgICAgICAgcHJpbnRTZWN0aW9uKCdSZXNvbHZlIFF1ZXVlcycpO1xuXG4gICAgICAgIGNvbnN0IGNmbkNsaWVudCA9IG5ldyBDbG91ZEZvcm1hdGlvbkNsaWVudCh7IHJlZ2lvbiB9KTtcbiAgICAgICAgY29uc3QgZGVzY3JpYmVSZXN1bHQgPSBhd2FpdCBjZm5DbGllbnQuc2VuZChuZXcgRGVzY3JpYmVTdGFja3NDb21tYW5kKHsgU3RhY2tOYW1lOiBTVEFDS19OQU1FIH0pKTtcbiAgICAgICAgY29uc3Qgb3V0cHV0cyA9IGRlc2NyaWJlUmVzdWx0LlN0YWNrcz8uWzBdPy5PdXRwdXRzID8/IFtdO1xuICAgICAgICBjb25zdCBvdXRwdXRNYXAgPSBPYmplY3QuZnJvbUVudHJpZXMob3V0cHV0cy5tYXAobyA9PiBbby5PdXRwdXRLZXkgPz8gJycsIG8uT3V0cHV0VmFsdWUgPz8gJyddKSk7XG5cbiAgICAgICAgY29uc3QgZXZlbnRRdWV1ZUFybiA9IG91dHB1dE1hcC5FdmVudFF1ZXVlQXJuO1xuICAgICAgICBjb25zdCBldmVudFF1ZXVlVXJsID0gb3V0cHV0TWFwLkV2ZW50UXVldWVVcmw7XG4gICAgICAgIGNvbnN0IGRscVVybCA9IG91dHB1dE1hcC5EZWFkTGV0dGVyUXVldWVVcmw7XG5cbiAgICAgICAgaWYgKCFldmVudFF1ZXVlQXJuIHx8ICFkbHFVcmwpIHtcbiAgICAgICAgICBwcmludEVycm9yKGBTdGFjayAke1NUQUNLX05BTUV9IGlzIG1pc3NpbmcgZXhwZWN0ZWQgb3V0cHV0c2AsIHtcbiAgICAgICAgICAgIGhpbnQ6ICdSdW4gYHBpcGVsaW5lLW1hbmFnZXIgaW5mcmEgc2V0dXAtZXZlbnRzYCBmaXJzdC4nLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignU3RhY2sgb3V0cHV0cyBFdmVudFF1ZXVlQXJuIC8gRGVhZExldHRlclF1ZXVlVXJsIG5vdCBmb3VuZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc3FzID0gbmV3IFNRU0NsaWVudCh7IHJlZ2lvbiB9KTtcblxuICAgICAgICAvLyBUaGUgc3RhY2sgZXhwb3NlcyB0aGUgRExRIFVSTCBidXQgbm90IGl0cyBBUk4g4oCUIFN0YXJ0TWVzc2FnZU1vdmVUYXNrIG5lZWRzXG4gICAgICAgIC8vIHRoZSBzb3VyY2UgQVJOLCBzbyByZXNvbHZlIGl0IGZyb20gdGhlIHF1ZXVlJ3MgYXR0cmlidXRlcy5cbiAgICAgICAgY29uc3QgZGxxQXR0cnMgPSBhd2FpdCBzcXMuc2VuZChuZXcgR2V0UXVldWVBdHRyaWJ1dGVzQ29tbWFuZCh7XG4gICAgICAgICAgUXVldWVVcmw6IGRscVVybCxcbiAgICAgICAgICBBdHRyaWJ1dGVOYW1lczogWydRdWV1ZUFybicsICdBcHByb3hpbWF0ZU51bWJlck9mTWVzc2FnZXMnXSxcbiAgICAgICAgfSkpO1xuICAgICAgICBjb25zdCBkbHFBcm4gPSBkbHFBdHRycy5BdHRyaWJ1dGVzPy5RdWV1ZUFybjtcbiAgICAgICAgY29uc3QgZGxxRGVwdGggPSBOdW1iZXIoZGxxQXR0cnMuQXR0cmlidXRlcz8uQXBwcm94aW1hdGVOdW1iZXJPZk1lc3NhZ2VzID8/ICcwJyk7XG5cbiAgICAgICAgaWYgKCFkbHFBcm4pIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCByZXNvbHZlIHRoZSBETFEgQVJOIGZyb20gJHtkbHFVcmx9YCk7XG4gICAgICAgIH1cblxuICAgICAgICBwcmludEtleVZhbHVlKHtcbiAgICAgICAgICAnU291cmNlIChETFEpJzogZGxxQXJuLFxuICAgICAgICAgICdEZXN0aW5hdGlvbiAocXVldWUpJzogZXZlbnRRdWV1ZUFybixcbiAgICAgICAgICAnRExRIGRlcHRoIChhcHByb3gpJzogU3RyaW5nKGRscURlcHRoKSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gTm90aGluZyB0byBtb3ZlIOKAlCBiYWlsIGVhcmx5IHNvIHRoZSBvcGVyYXRvciBnZXRzIGEgY2xlYXIgc2lnbmFsIGluc3RlYWRcbiAgICAgICAgLy8gb2YgYSBuby1vcCB0YXNrLlxuICAgICAgICBpZiAoZGxxRGVwdGggPT09IDApIHtcbiAgICAgICAgICBwcmludFN1Y2Nlc3MoJ0RlYWQtbGV0dGVyIHF1ZXVlIGlzIGVtcHR5IOKAlCBub3RoaW5nIHRvIHJlZHJpdmUuJyk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3RlcCAyOiByZWZ1c2UgdG8gc3RhY2sgbW92ZSB0YXNrcy4gU1FTIHBlcm1pdHMgb25seSBvbmUgaW4tZmxpZ2h0IG1vdmVcbiAgICAgICAgLy8gdGFzayBwZXIgc291cmNlIHF1ZXVlOyBzdXJmYWNlIGFueSBhY3RpdmUgb25lIGluc3RlYWQgb2YgZXJyb3Jpbmcgb3V0LlxuICAgICAgICBwcmludFNlY3Rpb24oJ1JlZHJpdmUnKTtcblxuICAgICAgICBjb25zdCBhY3RpdmUgPSBhd2FpdCBzcXMuc2VuZChuZXcgTGlzdE1lc3NhZ2VNb3ZlVGFza3NDb21tYW5kKHsgU291cmNlQXJuOiBkbHFBcm4gfSkpO1xuICAgICAgICBjb25zdCBydW5uaW5nID0gKGFjdGl2ZS5SZXN1bHRzID8/IFtdKS5maW5kKHQgPT4gdC5TdGF0dXMgPT09ICdSVU5OSU5HJyk7XG4gICAgICAgIGlmIChydW5uaW5nKSB7XG4gICAgICAgICAgcHJpbnRXYXJuaW5nKCdBIG1lc3NhZ2UgbW92ZSB0YXNrIGlzIGFscmVhZHkgcnVubmluZyBmb3IgdGhpcyBETFEg4oCUIG5vdCBzdGFydGluZyBhbm90aGVyLicsIHtcbiAgICAgICAgICAgIHRhc2tIYW5kbGU6IHJ1bm5pbmcuVGFza0hhbmRsZSxcbiAgICAgICAgICAgIGFwcHJveE1vdmVkU29GYXI6IHJ1bm5pbmcuQXBwcm94aW1hdGVOdW1iZXJPZk1lc3NhZ2VzTW92ZWQsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3RlcCAzOiBzdGFydCB0aGUgbW92ZSAoRExRIOKGkiBtYWluIHF1ZXVlKS4gRGVzdGluYXRpb25Bcm4gaXMgc2V0IGV4cGxpY2l0bHlcbiAgICAgICAgLy8gZXZlbiB0aG91Z2ggU1FTIHdvdWxkIGRlZmF1bHQgdG8gdGhlIG9yaWdpbmFsIHNvdXJjZSBxdWV1ZSDigJQgdGhlIG1haW5cbiAgICAgICAgLy8gaW5nZXN0aW9uIHF1ZXVlIGlzIGV4YWN0bHkgdGhhdCB0YXJnZXQuXG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gYXdhaXQgc3FzLnNlbmQobmV3IFN0YXJ0TWVzc2FnZU1vdmVUYXNrQ29tbWFuZCh7XG4gICAgICAgICAgU291cmNlQXJuOiBkbHFBcm4sXG4gICAgICAgICAgRGVzdGluYXRpb25Bcm46IGV2ZW50UXVldWVBcm4sXG4gICAgICAgIH0pKTtcblxuICAgICAgICBjb25zb2xlLmxvZygnJyk7XG4gICAgICAgIHByaW50U2VjdGlvbignUmVkcml2ZSBTdGFydGVkJyk7XG4gICAgICAgIHByaW50S2V5VmFsdWUoe1xuICAgICAgICAgICdUYXNrIEhhbmRsZSc6IHN0YXJ0LlRhc2tIYW5kbGUgPz8gJyhub25lIHJldHVybmVkKScsXG4gICAgICAgICAgJ1NvdXJjZSAoRExRKSc6IGRscUFybixcbiAgICAgICAgICAnRGVzdGluYXRpb24gKHF1ZXVlKSc6IGV2ZW50UXVldWVVcmwgfHwgZXZlbnRRdWV1ZUFybixcbiAgICAgICAgICAnTWVzc2FnZXMgcXVldWVkJzogU3RyaW5nKGRscURlcHRoKSxcbiAgICAgICAgICAnU3RhdHVzJzogJ+KckyBTdGFydGVkJyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc29sZS5sb2coJycpO1xuICAgICAgICBwcmludFN1Y2Nlc3MoJ1JlZHJpdmUgdGFzayBzdGFydGVkLiBNZXNzYWdlcyB3aWxsIHJlLWZsb3cgdGhyb3VnaCB0aGUgaW5nZXN0aW9uIExhbWJkYS4nKTtcbiAgICAgICAgcHJpbnRJbmZvKCdJZGVtcG90ZW50IGluZ2VzdCBkZWR1cGVzIG9uIGlkZW1wb3RlbmN5S2V5LCBzbyByZS1kcml2ZW4gZXZlbnRzIGFyZSBub3QgZG91YmxlLWNvdW50ZWQuJyk7XG5cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGhhbmRsZUVycm9yKGVycm9yLCBFUlJPUl9DT0RFUy5BUElfUkVRVUVTVCwge1xuICAgICAgICAgIGRlYnVnOiBwcm9ncmFtLm9wdHMoKS5kZWJ1ZyxcbiAgICAgICAgICBleGl0OiB0cnVlLFxuICAgICAgICAgIGNvbnRleHQ6IHsgY29tbWFuZDogJ3JlZHJpdmUtZXZlbnRzJywgZXhlY3V0aW9uSWQsIHN0YWNrOiBTVEFDS19OQU1FIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.d.ts","
|
|
1
|
+
{"version":3,"file":"register.d.ts","sources":["../../src/commands/register.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwG/C"}
|
|
@@ -158,4 +158,4 @@ async function postRegistration(client, pipelineUrl, payload, pipelineId) {
|
|
|
158
158
|
return false;
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvcmVnaXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwQyxPQUFPLEVBQXdDLE1BQU0sbUJBQW1CLENBQUM7QUFDekUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3SSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFILE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUNsQixrQkFBa0IsR0FFbkIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVuRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtDRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQUMsT0FBZ0I7SUFDdkMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLE9BQU87U0FDcEMsT0FBTyxDQUFDLFVBQVUsQ0FBQztTQUNuQixXQUFXLENBQUMsMEZBQTBGLENBQUM7U0FDdkcsTUFBTSxDQUFDLGVBQWUsRUFBRSxtREFBbUQsQ0FBQyxDQUFDO1NBQzdFLE1BQU0sQ0FBQyxZQUFZLEVBQUUseURBQXlELENBQUMsQ0FBQztTQUNoRixNQUFNLENBQUMsS0FBSyxFQUFF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O1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLFdBQVcsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLFdBQVcsRUFBRTtnQkFDMUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLO2dCQUMzQixJQUFJLEVBQUUsS0FBSztnQkFDWCxPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRTthQUN0RSxDQUFDLENBQUM7WUFDSCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xCLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxLQUFLLFVBQVUsZ0JBQWdCLENBQzdCLE1BQW9ELEVBQ3BELFdBQW1CLEVBQ25CLE9BQXdCLEVBQ3hCLFVBQWtCO0lBRWxCLElBQUksQ0FBQztRQUNILE1BQU0sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLFdBQVcsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3RELFNBQVMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDYixZQUFZLENBQUMscUJBQXFCLEVBQUU7WUFDbEMsVUFBVTtZQUNWLEtBQUssRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDO1NBQ3pCLENBQUMsQ0FBQztRQUNILE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHsgZXJyb3JNZXNzYWdlIH0gZnJvbSAnQHBpcGVsaW5lLWJ1aWxkZXIvYXBpLWNvcmUnO1xuaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gJ2NvbW1hbmRlcic7XG5pbXBvcnQgeyB0eXBlIFBpcGVsaW5lLCB0eXBlIFBpcGVsaW5lUmVzcG9uc2UgfSBmcm9tICcuLi90eXBlcy9pbmRleC5qcyc7XG5pbXBvcnQgeyBjcmVhdGVBdXRoZW50aWNhdGVkQ2xpZW50LCBwcmludENvbW1hbmRIZWFkZXIsIHByaW50U3NsV2FybmluZywgd2l0aFJlZ2lvbk9wdGlvbiwgd2l0aFNzbE9wdGlvbnMgfSBmcm9tICcuLi91dGlscy9jb21tYW5kLXV0aWxzLmpzJztcbmltcG9ydCB7IEVSUk9SX0NPREVTLCBoYW5kbGVFcnJvciB9IGZyb20gJy4uL3V0aWxzL2Vycm9yLWhhbmRsZXIuanMnO1xuaW1wb3J0IHsgcHJpbnRFcnJvciwgcHJpbnRJbmZvLCBwcmludEtleVZhbHVlLCBwcmludFNlY3Rpb24sIHByaW50U3VjY2VzcywgcHJpbnRXYXJuaW5nIH0gZnJvbSAnLi4vdXRpbHMvb3V0cHV0LXV0aWxzLmpzJztcbmltcG9ydCB7XG4gIGJ1aWxkUmVnaXN0cnlQYXlsb2FkLFxuICBjbGVhclBlbmRpbmdJbnRlbnQsXG4gIHJlYWRQZW5kaW5nSW50ZW50cyxcbiAgd3JpdGVQZW5kaW5nSW50ZW50LFxuICB0eXBlIFJlZ2lzdHJ5UGF5bG9hZCxcbn0gZnJvbSAnLi4vdXRpbHMvcmVnaXN0cnkuanMnO1xuaW1wb3J0IHsgZXh0cmFjdFNpbmdsZVJlc3BvbnNlIH0gZnJvbSAnLi4vdXRpbHMvcmVzcG9uc2UtdXRpbHMuanMnO1xuXG4vKipcbiAqIFJlZ2lzdGVycyB0aGUgYHJlZ2lzdGVyYCBjb21tYW5kIHdpdGggdGhlIENMSSBwcm9ncmFtLlxuICpcbiAqIFR3byBwdXJwb3NlcyDigJQgYm90aCB0YXJnZXRlZCBhdCByZWNvdmVyaW5nIGZyb20gYSBkZXBsb3kgd2hvc2UgcmVnaXN0cmF0aW9uXG4gKiBzdGVwIGRpZG4ndCBsYW5kOlxuICpcbiAqICAgMS4gRXhwbGljaXQgcmUtcmVnaXN0ZXIgKGAtLWlkIDxwaXBlbGluZUlkPmApIOKAlCByZWNvbXB1dGVzIHRoZSBBUk4gZnJvbVxuICogICAgICBTVFMgKyByZWdpb24gYW5kIFBPU1RzIGl0IHRvIHRoZSBwbGF0Zm9ybS4gVXNlZnVsIHdoZW4gdGhlIHBsYXRmb3JtXG4gKiAgICAgIHdhcyB1bnJlYWNoYWJsZSBkdXJpbmcgYGRlcGxveWAsIHdoZW4gdGhlIHJlZ2lzdHJ5IHJvdyB3YXMgZGVsZXRlZCBieVxuICogICAgICBtaXN0YWtlLCBvciBmb3IgYW55IG90aGVyIHJlYXNvbiBhIGRlcGxveWVkIHN0YWNrIGhhcyBubyByZWdpc3RyeSByb3cuXG4gKlxuICogICAyLiBEcmFpbiBwZW5kaW5nIGludGVudHMgKGV2ZXJ5IGludm9jYXRpb24pIOKAlCBgZGVwbG95YCB3cml0ZXMgYSBsb2NhbFxuICogICAgICBmaWxlIHVuZGVyIGB+Ly5waXBlbGluZS1tYW5hZ2VyL3BlbmRpbmctcmVnaXN0cmF0aW9ucy9gIHdoZW5ldmVyIGl0c1xuICogICAgICByZWdpc3RyYXRpb24gUE9TVCBmYWlscy4gRWFjaCBgcmVnaXN0ZXJgIGludm9jYXRpb24gdHJpZXMgdG8gZHJhaW5cbiAqICAgICAgZXZlcnkgc3VjaCBmaWxlLiBPbiBzdWNjZXNzIHRoZSBmaWxlIGlzIGRlbGV0ZWQ7IG9uIGZhaWx1cmUgaXQgc3RheXNcbiAqICAgICAgYW5kIHN1cmZhY2VzIGFzIGEgd2FybmluZy5cbiAqXG4gKiBGbGFnczpcbiAqICAgLSBgLS1pZCA8cGlwZWxpbmVJZD5gIOKAlCByZS1yZWdpc3RlciBhIHNwZWNpZmljIHBpcGVsaW5lIGJ5IElEXG4gKiAgIC0gYC0tcmVnaW9uIDxyZWdpb24+YCDigJQgQVdTIHJlZ2lvbiAoZGVmYXVsdDogQVdTX1JFR0lPTiBlbnYgLyB1cy1lYXN0LTEpXG4gKiAgIC0gYC0tbm8tZHJhaW5gIOKAlCBza2lwIGRyYWluaW5nIHBlbmRpbmcgaW50ZW50c1xuICpcbiAqIEV4aXQgY29kZXM6XG4gKiAgIC0gMDogcmVxdWVzdGVkIHJlZ2lzdHJhdGlvbiBzdWNjZWVkZWQgQU5EIG5vIHBlbmRpbmcgaW50ZW50cyByZW1haW5cbiAqICAgLSAxOiBhdCBsZWFzdCBvbmUgcmVnaXN0cmF0aW9uIChleHBsaWNpdCBvciBwZW5kaW5nKSBzdGlsbCBmYWlsZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgYmFzaFxuICogIyBSZXRyeSBhIHJlZ2lzdHJhdGlvbiB0aGF0IGZhaWxlZCBkdXJpbmcgZGVwbG95XG4gKiBwaXBlbGluZS1tYW5hZ2VyIHBpcGVsaW5lIHJlZ2lzdGVyIC0taWQgcGlwZS0xMjNcbiAqXG4gKiAjIEp1c3QgZHJhaW4gcGVuZGluZyBpbnRlbnRzIGZyb20gZGlzaywgbm8gc3BlY2lmaWMgcmVnaXN0cmF0aW9uXG4gKiBwaXBlbGluZS1tYW5hZ2VyIHBpcGVsaW5lIHJlZ2lzdGVyXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyKHByb2dyYW06IENvbW1hbmQpOiB2b2lkIHtcbiAgd2l0aFNzbE9wdGlvbnMod2l0aFJlZ2lvbk9wdGlvbihwcm9ncmFtXG4gICAgLmNvbW1hbmQoJ3JlZ2lzdGVyJylcbiAgICAuZGVzY3JpcHRpb24oJ1JlZ2lzdGVyIGEgZGVwbG95ZWQgcGlwZWxpbmUgQVJOIHdpdGggdGhlIHBsYXRmb3JtIChyZXRyeSBwYXRoIGZvciBmYWlsZWQgcmVnaXN0cmF0aW9ucyknKVxuICAgIC5vcHRpb24oJy1pLCAtLWlkIDxpZD4nLCAnUGlwZWxpbmUgSUQgdG8gcmVnaXN0ZXIgKHJlLWRlcml2ZXMgQVJOIGZyb20gU1RTKScpKVxuICAgIC5vcHRpb24oJy0tbm8tZHJhaW4nLCAnU2tpcCBkcmFpbmluZyBwZW5kaW5nIGludGVudHMgZnJvbSBwcmlvciBmYWlsZWQgZGVwbG95cycpKVxuICAgIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICAgIGNvbnN0IGV4ZWN1dGlvbklkID0gcHJpbnRDb21tYW5kSGVhZGVyKCdSZWdpc3RlciBQaXBlbGluZScpO1xuICAgICAgcHJpbnRTc2xXYXJuaW5nKG9wdGlvbnMudmVyaWZ5U3NsKTtcblxuICAgICAgbGV0IGFueUZhaWxlZCA9IGZhbHNlO1xuICAgICAgbGV0IHJlZ2lzdGVyZWRDb3VudCA9IDA7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGNsaWVudCA9IGNyZWF0ZUF1dGhlbnRpY2F0ZWRDbGllbnQob3B0aW9ucyk7XG4gICAgICAgIGNvbnN0IHBpcGVsaW5lVXJsID0gY2xpZW50LmdldENvbmZpZygpLmFwaS5waXBlbGluZVVybDtcblxuICAgICAgICAvLyDilIDilIAgRHJhaW4gcGVuZGluZyBpbnRlbnRzIGZpcnN0IOKUgOKUgFxuICAgICAgICAvLyBXZSBkcmFpbiBiZWZvcmUgdGhlIGV4cGxpY2l0IHJlZ2lzdHJhdGlvbiBzbyBhIHF1ZXVlZCBmYWlsdXJlIGZvclxuICAgICAgICAvLyB0aGUgc2FtZSBwaXBlbGluZUlkIGlzIHJlcGxhY2VkIChub3QgZG91YmxlLWFwcGxpZWQpIGJ5IHRoZSBmcmVzaFxuICAgICAgICAvLyBwYXlsb2FkIGJlbG93LlxuICAgICAgICBjb25zdCBkcmFpbmVkID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgICAgIGlmIChvcHRpb25zLmRyYWluICE9PSBmYWxzZSkge1xuICAgICAgICAgIGNvbnN0IGludGVudHMgPSBhd2FpdCByZWFkUGVuZGluZ0ludGVudHMoKTtcbiAgICAgICAgICBpZiAoaW50ZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBwcmludFNlY3Rpb24oJ0RyYWluaW5nIHBlbmRpbmcgaW50ZW50cycpO1xuICAgICAgICAgICAgcHJpbnRJbmZvKCdGb3VuZCBwZW5kaW5nIHJlZ2lzdHJhdGlvbnMgZnJvbSBwcmlvciBmYWlsZWQgZGVwbG95cycsIHtcbiAgICAgICAgICAgICAgY291bnQ6IFN0cmluZyhpbnRlbnRzLmxlbmd0aCksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgaW50ZW50IG9mIGludGVudHMpIHtcbiAgICAgICAgICAgICAgLy8gU2tpcCB0aGUgZXhwbGljaXQgcGlwZWxpbmUg4oCUIHdlJ2xsIHJlLWJ1aWxkIGEgZnJlc2ggcGF5bG9hZCBiZWxvdy5cbiAgICAgICAgICAgICAgaWYgKG9wdGlvbnMuaWQgJiYgaW50ZW50LnBpcGVsaW5lSWQgPT09IG9wdGlvbnMuaWQpIGNvbnRpbnVlO1xuICAgICAgICAgICAgICBjb25zdCBvayA9IGF3YWl0IHBvc3RSZWdpc3RyYXRpb24oY2xpZW50LCBwaXBlbGluZVVybCwgaW50ZW50LCBpbnRlbnQucGlwZWxpbmVJZCk7XG4gICAgICAgICAgICAgIGlmIChvaykge1xuICAgICAgICAgICAgICAgIGF3YWl0IGNsZWFyUGVuZGluZ0ludGVudChpbnRlbnQucGlwZWxpbmVJZCk7XG4gICAgICAgICAgICAgICAgZHJhaW5lZC5hZGQoaW50ZW50LnBpcGVsaW5lSWQpO1xuICAgICAgICAgICAgICAgIHJlZ2lzdGVyZWRDb3VudCsrO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGFueUZhaWxlZCA9IHRydWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyDilIDilIAgRXhwbGljaXQgcmVnaXN0cmF0aW9uIOKUgOKUgFxuICAgICAgICBpZiAob3B0aW9ucy5pZCkge1xuICAgICAgICAgIHByaW50U2VjdGlvbignUmUtcmVnaXN0ZXJpbmcgcGlwZWxpbmUnKTtcbiAgICAgICAgICBjb25zdCBwaXBlbGluZVJlcyA9IGF3YWl0IGNsaWVudC5nZXQ8UGlwZWxpbmVSZXNwb25zZT4oYCR7cGlwZWxpbmVVcmx9LyR7b3B0aW9ucy5pZH1gKTtcbiAgICAgICAgICBjb25zdCBwaXBlbGluZSA9IGV4dHJhY3RTaW5nbGVSZXNwb25zZTxQaXBlbGluZT4ocGlwZWxpbmVSZXMsICdwaXBlbGluZScsICdpZCcpO1xuICAgICAgICAgIGlmICghcGlwZWxpbmUpIHtcbiAgICAgICAgICAgIHByaW50RXJyb3IoJ1BpcGVsaW5lIG5vdCBmb3VuZCBpbiBwbGF0Zm9ybScpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBwaXBlbGluZSByZXR1cm5lZCBmb3IgaWQgJHtvcHRpb25zLmlkfWApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICghcGlwZWxpbmUub3JnSWQpIHtcbiAgICAgICAgICAgIHByaW50RXJyb3IoJ1BpcGVsaW5lIGhhcyBubyBvcmdJZCDigJQgY2Fubm90IHJlZ2lzdGVyJyk7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFBpcGVsaW5lICR7cGlwZWxpbmUuaWR9IGlzIG1pc3Npbmcgb3JnSWRgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgcGF5bG9hZCA9IGF3YWl0IGJ1aWxkUmVnaXN0cnlQYXlsb2FkKFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZDogcGlwZWxpbmUuaWQsXG4gICAgICAgICAgICAgIG9yZ0lkOiBwaXBlbGluZS5vcmdJZCxcbiAgICAgICAgICAgICAgcGlwZWxpbmVOYW1lOiBwaXBlbGluZS5waXBlbGluZU5hbWUsXG4gICAgICAgICAgICAgIHByb2plY3Q6IHBpcGVsaW5lLnByb2plY3QsXG4gICAgICAgICAgICAgIG9yZ2FuaXphdGlvbjogcGlwZWxpbmUub3JnYW5pemF0aW9uLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9wdGlvbnMucmVnaW9uLFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICAvLyBDbGVhciBhbnkgc3RhbGUgaW50ZW50IGZvciB0aGlzIHBpcGVsaW5lSWQgYmVmb3JlIHJldHJ5aW5nIHNvIHdlXG4gICAgICAgICAgLy8gZG9uJ3QgbGVhdmUgYSBkdXBsaWNhdGUgZmlsZSBiZWhpbmQgb24gc3VjY2Vzcy5cbiAgICAgICAgICBhd2FpdCBjbGVhclBlbmRpbmdJbnRlbnQocGF5bG9hZC5waXBlbGluZUlkKTtcblxuICAgICAgICAgIGNvbnN0IG9rID0gYXdhaXQgcG9zdFJlZ2lzdHJhdGlvbihjbGllbnQsIHBpcGVsaW5lVXJsLCBwYXlsb2FkLCBwYXlsb2FkLnBpcGVsaW5lSWQpO1xuICAgICAgICAgIGlmIChvaykge1xuICAgICAgICAgICAgcmVnaXN0ZXJlZENvdW50Kys7XG4gICAgICAgICAgICBwcmludFN1Y2Nlc3MoJ1BpcGVsaW5lIHJlZ2lzdGVyZWQgZm9yIGV2ZW50IHJlcG9ydGluZycsIHtcbiAgICAgICAgICAgICAgcGlwZWxpbmVJZDogcGF5bG9hZC5waXBlbGluZUlkLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGFueUZhaWxlZCA9IHRydWU7XG4gICAgICAgICAgICBjb25zdCBwYXRoID0gYXdhaXQgd3JpdGVQZW5kaW5nSW50ZW50KHBheWxvYWQpO1xuICAgICAgICAgICAgcHJpbnRXYXJuaW5nKCdSZWdpc3RyYXRpb24gZmFpbGVkOyBpbnRlbnQgc2F2ZWQgZm9yIHJldHJ5JywgeyBpbnRlbnQ6IHBhdGggfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcHJpbnRTZWN0aW9uKCdTdW1tYXJ5Jyk7XG4gICAgICAgIHByaW50S2V5VmFsdWUoe1xuICAgICAgICAgICdSZWdpc3RlcmVkJzogU3RyaW5nKHJlZ2lzdGVyZWRDb3VudCksXG4gICAgICAgICAgJ0RyYWluZWQgZnJvbSBxdWV1ZSc6IFN0cmluZyhkcmFpbmVkLnNpemUpLFxuICAgICAgICAgICdTdGF0dXMnOiBhbnlGYWlsZWQgPyAnU29tZSByZWdpc3RyYXRpb25zIHN0aWxsIHBlbmRpbmcnIDogJ0FsbCBjbGVhcicsXG4gICAgICAgICAgJ0V4ZWN1dGlvbiBJRCc6IGV4ZWN1dGlvbklkLFxuICAgICAgICB9KTtcblxuICAgICAgICBwcm9jZXNzLmV4aXQoYW55RmFpbGVkID8gMSA6IDApO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaGFuZGxlRXJyb3IoZXJyb3IsIEVSUk9SX0NPREVTLkFQSV9SRVFVRVNULCB7XG4gICAgICAgICAgZGVidWc6IHByb2dyYW0ub3B0cygpLmRlYnVnLFxuICAgICAgICAgIGV4aXQ6IGZhbHNlLFxuICAgICAgICAgIGNvbnRleHQ6IHsgY29tbWFuZDogJ3JlZ2lzdGVyJywgZXhlY3V0aW9uSWQsIHBpcGVsaW5lSWQ6IG9wdGlvbnMuaWQgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgICAgIH1cbiAgICB9KTtcbn1cblxuLyoqXG4gKiBQT1NUIGEgcmVnaXN0cmF0aW9uIHBheWxvYWQgdG8gdGhlIHBsYXRmb3JtLiBPbiBmYWlsdXJlLCB0aGUgY2FsbGVyIGRlY2lkZXNcbiAqIHdoZXRoZXIgdG8gd3JpdGUvcHJlc2VydmUgYSBwZW5kaW5nIGludGVudCDigJQgdGhpcyBoZWxwZXIganVzdCByZXBvcnRzLlxuICovXG5hc3luYyBmdW5jdGlvbiBwb3N0UmVnaXN0cmF0aW9uKFxuICBjbGllbnQ6IFJldHVyblR5cGU8dHlwZW9mIGNyZWF0ZUF1dGhlbnRpY2F0ZWRDbGllbnQ+LFxuICBwaXBlbGluZVVybDogc3RyaW5nLFxuICBwYXlsb2FkOiBSZWdpc3RyeVBheWxvYWQsXG4gIHBpcGVsaW5lSWQ6IHN0cmluZyxcbik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICB0cnkge1xuICAgIGF3YWl0IGNsaWVudC5wb3N0KGAke3BpcGVsaW5lVXJsfS9yZWdpc3RyeWAsIHBheWxvYWQpO1xuICAgIHByaW50SW5mbygnUmVnaXN0ZXJlZCcsIHsgcGlwZWxpbmVJZCB9KTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgcHJpbnRXYXJuaW5nKCdSZWdpc3RyYXRpb24gZmFpbGVkJywge1xuICAgICAgcGlwZWxpbmVJZCxcbiAgICAgIGVycm9yOiBlcnJvck1lc3NhZ2UoZXJyKSxcbiAgICB9KTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9yZWdpc3Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBd0MsTUFBTSxtQkFBbUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdJLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUgsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLGtCQUFrQixHQUVuQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRW5FOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0NHO0FBQ0gsTUFBTSxVQUFVLFFBQVEsQ0FBQyxPQUFnQjtJQUN2QyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsT0FBTztTQUNwQyxPQUFPLENBQUMsVUFBVSxDQUFDO1NBQ25CLFdBQVcsQ0FBQywwRkFBMEYsQ0FBQztTQUN2RyxNQUFNLENBQUMsZUFBZSxFQUFFLG1EQUFtRCxDQUFDLENBQUM7U0FDN0UsTUFBTSxDQUFDLFlBQVksRUFBRSx5REFBeUQsQ0FBQyxDQUFDO1NBQ2hGLE1BQU0sQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7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RUFBRSxDQUFDO1lBQ2YsV0FBVyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsV0FBVyxFQUFFO2dCQUMxQyxLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUs7Z0JBQzNCLElBQUksRUFBRSxLQUFLO2dCQUNYLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFO2FBQ3RFLENBQUMsQ0FBQztZQUNILE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEIsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVEOzs7R0FHRztBQUNILEtBQUssVUFBVSxnQkFBZ0IsQ0FDN0IsTUFBb0QsRUFDcEQsV0FBbUIsRUFDbkIsT0FBd0IsRUFDeEIsVUFBa0I7SUFFbEIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsV0FBVyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDdEQsU0FBUyxDQUFDLFlBQVksRUFBRSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDeEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLFlBQVksQ0FBQyxxQkFBcUIsRUFBRTtZQUNsQyxVQUFVO1lBQ1YsS0FBSyxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUM7U0FDekIsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgeyBlcnJvck1lc3NhZ2UgfSBmcm9tICdAcGlwZWxpbmUtYnVpbGRlci9hcGktY29yZSc7XG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnY29tbWFuZGVyJztcbmltcG9ydCB7IHR5cGUgUGlwZWxpbmUsIHR5cGUgUGlwZWxpbmVSZXNwb25zZSB9IGZyb20gJy4uL3R5cGVzL2luZGV4LmpzJztcbmltcG9ydCB7IGNyZWF0ZUF1dGhlbnRpY2F0ZWRDbGllbnQsIHByaW50Q29tbWFuZEhlYWRlciwgcHJpbnRTc2xXYXJuaW5nLCB3aXRoUmVnaW9uT3B0aW9uLCB3aXRoU3NsT3B0aW9ucyB9IGZyb20gJy4uL3V0aWxzL2NvbW1hbmQtdXRpbHMuanMnO1xuaW1wb3J0IHsgRVJST1JfQ09ERVMsIGhhbmRsZUVycm9yIH0gZnJvbSAnLi4vdXRpbHMvZXJyb3ItaGFuZGxlci5qcyc7XG5pbXBvcnQgeyBwcmludEVycm9yLCBwcmludEluZm8sIHByaW50S2V5VmFsdWUsIHByaW50U2VjdGlvbiwgcHJpbnRTdWNjZXNzLCBwcmludFdhcm5pbmcgfSBmcm9tICcuLi91dGlscy9vdXRwdXQtdXRpbHMuanMnO1xuaW1wb3J0IHtcbiAgYnVpbGRSZWdpc3RyeVBheWxvYWQsXG4gIGNsZWFyUGVuZGluZ0ludGVudCxcbiAgcmVhZFBlbmRpbmdJbnRlbnRzLFxuICB3cml0ZVBlbmRpbmdJbnRlbnQsXG4gIHR5cGUgUmVnaXN0cnlQYXlsb2FkLFxufSBmcm9tICcuLi91dGlscy9yZWdpc3RyeS5qcyc7XG5pbXBvcnQgeyBleHRyYWN0U2luZ2xlUmVzcG9uc2UgfSBmcm9tICcuLi91dGlscy9yZXNwb25zZS11dGlscy5qcyc7XG5cbi8qKlxuICogUmVnaXN0ZXJzIHRoZSBgcmVnaXN0ZXJgIGNvbW1hbmQgd2l0aCB0aGUgQ0xJIHByb2dyYW0uXG4gKlxuICogVHdvIHB1cnBvc2VzIOKAlCBib3RoIHRhcmdldGVkIGF0IHJlY292ZXJpbmcgZnJvbSBhIGRlcGxveSB3aG9zZSByZWdpc3RyYXRpb25cbiAqIHN0ZXAgZGlkbid0IGxhbmQ6XG4gKlxuICogICAxLiBFeHBsaWNpdCByZS1yZWdpc3RlciAoYC0taWQgPHBpcGVsaW5lSWQ+YCkg4oCUIHJlY29tcHV0ZXMgdGhlIEFSTiBmcm9tXG4gKiAgICAgIFNUUyArIHJlZ2lvbiBhbmQgUE9TVHMgaXQgdG8gdGhlIHBsYXRmb3JtLiBVc2VmdWwgd2hlbiB0aGUgcGxhdGZvcm1cbiAqICAgICAgd2FzIHVucmVhY2hhYmxlIGR1cmluZyBgZGVwbG95YCwgd2hlbiB0aGUgcmVnaXN0cnkgcm93IHdhcyBkZWxldGVkIGJ5XG4gKiAgICAgIG1pc3Rha2UsIG9yIGZvciBhbnkgb3RoZXIgcmVhc29uIGEgZGVwbG95ZWQgc3RhY2sgaGFzIG5vIHJlZ2lzdHJ5IHJvdy5cbiAqXG4gKiAgIDIuIERyYWluIHBlbmRpbmcgaW50ZW50cyAoZXZlcnkgaW52b2NhdGlvbikg4oCUIGBkZXBsb3lgIHdyaXRlcyBhIGxvY2FsXG4gKiAgICAgIGZpbGUgdW5kZXIgYH4vLnBpcGVsaW5lLW1hbmFnZXIvcGVuZGluZy1yZWdpc3RyYXRpb25zL2Agd2hlbmV2ZXIgaXRzXG4gKiAgICAgIHJlZ2lzdHJhdGlvbiBQT1NUIGZhaWxzLiBFYWNoIGByZWdpc3RlcmAgaW52b2NhdGlvbiB0cmllcyB0byBkcmFpblxuICogICAgICBldmVyeSBzdWNoIGZpbGUuIE9uIHN1Y2Nlc3MgdGhlIGZpbGUgaXMgZGVsZXRlZDsgb24gZmFpbHVyZSBpdCBzdGF5c1xuICogICAgICBhbmQgc3VyZmFjZXMgYXMgYSB3YXJuaW5nLlxuICpcbiAqIEZsYWdzOlxuICogICAtIGAtLWlkIDxwaXBlbGluZUlkPmAg4oCUIHJlLXJlZ2lzdGVyIGEgc3BlY2lmaWMgcGlwZWxpbmUgYnkgSURcbiAqICAgLSBgLS1yZWdpb24gPHJlZ2lvbj5gIOKAlCBBV1MgcmVnaW9uIChkZWZhdWx0OiBBV1NfUkVHSU9OIGVudiAvIHVzLWVhc3QtMSlcbiAqICAgLSBgLS1uby1kcmFpbmAg4oCUIHNraXAgZHJhaW5pbmcgcGVuZGluZyBpbnRlbnRzXG4gKlxuICogRXhpdCBjb2RlczpcbiAqICAgLSAwOiByZXF1ZXN0ZWQgcmVnaXN0cmF0aW9uIHN1Y2NlZWRlZCBBTkQgbm8gcGVuZGluZyBpbnRlbnRzIHJlbWFpblxuICogICAtIDE6IGF0IGxlYXN0IG9uZSByZWdpc3RyYXRpb24gKGV4cGxpY2l0IG9yIHBlbmRpbmcpIHN0aWxsIGZhaWxlZFxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBiYXNoXG4gKiAjIFJldHJ5IGEgcmVnaXN0cmF0aW9uIHRoYXQgZmFpbGVkIGR1cmluZyBkZXBsb3lcbiAqIHBpcGVsaW5lLW1hbmFnZXIgcGlwZWxpbmUgcmVnaXN0ZXIgLS1pZCBwaXBlLTEyM1xuICpcbiAqICMgSnVzdCBkcmFpbiBwZW5kaW5nIGludGVudHMgZnJvbSBkaXNrLCBubyBzcGVjaWZpYyByZWdpc3RyYXRpb25cbiAqIHBpcGVsaW5lLW1hbmFnZXIgcGlwZWxpbmUgcmVnaXN0ZXJcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXIocHJvZ3JhbTogQ29tbWFuZCk6IHZvaWQge1xuICB3aXRoU3NsT3B0aW9ucyh3aXRoUmVnaW9uT3B0aW9uKHByb2dyYW1cbiAgICAuY29tbWFuZCgncmVnaXN0ZXInKVxuICAgIC5kZXNjcmlwdGlvbignUmVnaXN0ZXIgYSBkZXBsb3llZCBwaXBlbGluZSBBUk4gd2l0aCB0aGUgcGxhdGZvcm0gKHJldHJ5IHBhdGggZm9yIGZhaWxlZCByZWdpc3RyYXRpb25zKScpXG4gICAgLm9wdGlvbignLWksIC0taWQgPGlkPicsICdQaXBlbGluZSBJRCB0byByZWdpc3RlciAocmUtZGVyaXZlcyBBUk4gZnJvbSBTVFMpJykpXG4gICAgLm9wdGlvbignLS1uby1kcmFpbicsICdTa2lwIGRyYWluaW5nIHBlbmRpbmcgaW50ZW50cyBmcm9tIHByaW9yIGZhaWxlZCBkZXBsb3lzJykpXG4gICAgLmFjdGlvbihhc3luYyAob3B0aW9ucykgPT4ge1xuICAgICAgY29uc3QgZXhlY3V0aW9uSWQgPSBwcmludENvbW1hbmRIZWFkZXIoJ1JlZ2lzdGVyIFBpcGVsaW5lJyk7XG4gICAgICBwcmludFNzbFdhcm5pbmcob3B0aW9ucy52ZXJpZnlTc2wpO1xuXG4gICAgICBsZXQgYW55RmFpbGVkID0gZmFsc2U7XG4gICAgICBsZXQgcmVnaXN0ZXJlZENvdW50ID0gMDtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgY2xpZW50ID0gY3JlYXRlQXV0aGVudGljYXRlZENsaWVudChvcHRpb25zKTtcbiAgICAgICAgY29uc3QgcGlwZWxpbmVVcmwgPSBjbGllbnQuZ2V0Q29uZmlnKCkuYXBpLnBpcGVsaW5lVXJsO1xuXG4gICAgICAgIC8vIOKUgOKUgCBEcmFpbiBwZW5kaW5nIGludGVudHMgZmlyc3Qg4pSA4pSAXG4gICAgICAgIC8vIFdlIGRyYWluIGJlZm9yZSB0aGUgZXhwbGljaXQgcmVnaXN0cmF0aW9uIHNvIGEgcXVldWVkIGZhaWx1cmUgZm9yXG4gICAgICAgIC8vIHRoZSBzYW1lIHBpcGVsaW5lSWQgaXMgcmVwbGFjZWQgKG5vdCBkb3VibGUtYXBwbGllZCkgYnkgdGhlIGZyZXNoXG4gICAgICAgIC8vIHBheWxvYWQgYmVsb3cuXG4gICAgICAgIGNvbnN0IGRyYWluZWQgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICAgICAgaWYgKG9wdGlvbnMuZHJhaW4gIT09IGZhbHNlKSB7XG4gICAgICAgICAgY29uc3QgaW50ZW50cyA9IGF3YWl0IHJlYWRQZW5kaW5nSW50ZW50cygpO1xuICAgICAgICAgIGlmIChpbnRlbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHByaW50U2VjdGlvbignRHJhaW5pbmcgcGVuZGluZyBpbnRlbnRzJyk7XG4gICAgICAgICAgICBwcmludEluZm8oJ0ZvdW5kIHBlbmRpbmcgcmVnaXN0cmF0aW9ucyBmcm9tIHByaW9yIGZhaWxlZCBkZXBsb3lzJywge1xuICAgICAgICAgICAgICBjb3VudDogU3RyaW5nKGludGVudHMubGVuZ3RoKSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgZm9yIChjb25zdCBpbnRlbnQgb2YgaW50ZW50cykge1xuICAgICAgICAgICAgICAvLyBTa2lwIHRoZSBleHBsaWNpdCBwaXBlbGluZSDigJQgd2UnbGwgcmUtYnVpbGQgYSBmcmVzaCBwYXlsb2FkIGJlbG93LlxuICAgICAgICAgICAgICBpZiAob3B0aW9ucy5pZCAmJiBpbnRlbnQucGlwZWxpbmVJZCA9PT0gb3B0aW9ucy5pZCkgY29udGludWU7XG4gICAgICAgICAgICAgIGNvbnN0IG9rID0gYXdhaXQgcG9zdFJlZ2lzdHJhdGlvbihjbGllbnQsIHBpcGVsaW5lVXJsLCBpbnRlbnQsIGludGVudC5waXBlbGluZUlkKTtcbiAgICAgICAgICAgICAgaWYgKG9rKSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgY2xlYXJQZW5kaW5nSW50ZW50KGludGVudC5waXBlbGluZUlkKTtcbiAgICAgICAgICAgICAgICBkcmFpbmVkLmFkZChpbnRlbnQucGlwZWxpbmVJZCk7XG4gICAgICAgICAgICAgICAgcmVnaXN0ZXJlZENvdW50Kys7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgYW55RmFpbGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIOKUgOKUgCBFeHBsaWNpdCByZWdpc3RyYXRpb24g4pSA4pSAXG4gICAgICAgIGlmIChvcHRpb25zLmlkKSB7XG4gICAgICAgICAgcHJpbnRTZWN0aW9uKCdSZS1yZWdpc3RlcmluZyBwaXBlbGluZScpO1xuICAgICAgICAgIGNvbnN0IHBpcGVsaW5lUmVzID0gYXdhaXQgY2xpZW50LmdldDxQaXBlbGluZVJlc3BvbnNlPihgJHtwaXBlbGluZVVybH0vJHtvcHRpb25zLmlkfWApO1xuICAgICAgICAgIGNvbnN0IHBpcGVsaW5lID0gZXh0cmFjdFNpbmdsZVJlc3BvbnNlPFBpcGVsaW5lPihwaXBlbGluZVJlcywgJ3BpcGVsaW5lJywgJ2lkJyk7XG4gICAgICAgICAgaWYgKCFwaXBlbGluZSkge1xuICAgICAgICAgICAgcHJpbnRFcnJvcignUGlwZWxpbmUgbm90IGZvdW5kIGluIHBsYXRmb3JtJyk7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIHBpcGVsaW5lIHJldHVybmVkIGZvciBpZCAke29wdGlvbnMuaWR9YCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKCFwaXBlbGluZS5vcmdJZCkge1xuICAgICAgICAgICAgcHJpbnRFcnJvcignUGlwZWxpbmUgaGFzIG5vIG9yZ0lkIOKAlCBjYW5ub3QgcmVnaXN0ZXInKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgUGlwZWxpbmUgJHtwaXBlbGluZS5pZH0gaXMgbWlzc2luZyBvcmdJZGApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBwYXlsb2FkID0gYXdhaXQgYnVpbGRSZWdpc3RyeVBheWxvYWQoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiBwaXBlbGluZS5pZCxcbiAgICAgICAgICAgICAgb3JnSWQ6IHBpcGVsaW5lLm9yZ0lkLFxuICAgICAgICAgICAgICBwaXBlbGluZU5hbWU6IHBpcGVsaW5lLnBpcGVsaW5lTmFtZSxcbiAgICAgICAgICAgICAgcHJvamVjdDogcGlwZWxpbmUucHJvamVjdCxcbiAgICAgICAgICAgICAgb3JnYW5pemF0aW9uOiBwaXBlbGluZS5vcmdhbml6YXRpb24sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgb3B0aW9ucy5yZWdpb24sXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIC8vIENsZWFyIGFueSBzdGFsZSBpbnRlbnQgZm9yIHRoaXMgcGlwZWxpbmVJZCBiZWZvcmUgcmV0cnlpbmcgc28gd2VcbiAgICAgICAgICAvLyBkb24ndCBsZWF2ZSBhIGR1cGxpY2F0ZSBmaWxlIGJlaGluZCBvbiBzdWNjZXNzLlxuICAgICAgICAgIGF3YWl0IGNsZWFyUGVuZGluZ0ludGVudChwYXlsb2FkLnBpcGVsaW5lSWQpO1xuXG4gICAgICAgICAgY29uc3Qgb2sgPSBhd2FpdCBwb3N0UmVnaXN0cmF0aW9uKGNsaWVudCwgcGlwZWxpbmVVcmwsIHBheWxvYWQsIHBheWxvYWQucGlwZWxpbmVJZCk7XG4gICAgICAgICAgaWYgKG9rKSB7XG4gICAgICAgICAgICByZWdpc3RlcmVkQ291bnQrKztcbiAgICAgICAgICAgIHByaW50U3VjY2VzcygnUGlwZWxpbmUgcmVnaXN0ZXJlZCBmb3IgZXZlbnQgcmVwb3J0aW5nJywge1xuICAgICAgICAgICAgICBwaXBlbGluZUlkOiBwYXlsb2FkLnBpcGVsaW5lSWQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYW55RmFpbGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIGNvbnN0IHBhdGggPSBhd2FpdCB3cml0ZVBlbmRpbmdJbnRlbnQocGF5bG9hZCk7XG4gICAgICAgICAgICBwcmludFdhcm5pbmcoJ1JlZ2lzdHJhdGlvbiBmYWlsZWQ7IGludGVudCBzYXZlZCBmb3IgcmV0cnknLCB7IGludGVudDogcGF0aCB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwcmludFNlY3Rpb24oJ1N1bW1hcnknKTtcbiAgICAgICAgcHJpbnRLZXlWYWx1ZSh7XG4gICAgICAgICAgJ1JlZ2lzdGVyZWQnOiBTdHJpbmcocmVnaXN0ZXJlZENvdW50KSxcbiAgICAgICAgICAnRHJhaW5lZCBmcm9tIHF1ZXVlJzogU3RyaW5nKGRyYWluZWQuc2l6ZSksXG4gICAgICAgICAgJ1N0YXR1cyc6IGFueUZhaWxlZCA/ICdTb21lIHJlZ2lzdHJhdGlvbnMgc3RpbGwgcGVuZGluZycgOiAnQWxsIGNsZWFyJyxcbiAgICAgICAgICAnRXhlY3V0aW9uIElEJzogZXhlY3V0aW9uSWQsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHByb2Nlc3MuZXhpdChhbnlGYWlsZWQgPyAxIDogMCk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBoYW5kbGVFcnJvcihlcnJvciwgRVJST1JfQ09ERVMuQVBJX1JFUVVFU1QsIHtcbiAgICAgICAgICBkZWJ1ZzogcHJvZ3JhbS5vcHRzKCkuZGVidWcsXG4gICAgICAgICAgZXhpdDogZmFsc2UsXG4gICAgICAgICAgY29udGV4dDogeyBjb21tYW5kOiAncmVnaXN0ZXInLCBleGVjdXRpb25JZCwgcGlwZWxpbmVJZDogb3B0aW9ucy5pZCB9LFxuICAgICAgICB9KTtcbiAgICAgICAgcHJvY2Vzcy5leGl0KDEpO1xuICAgICAgfVxuICAgIH0pO1xufVxuXG4vKipcbiAqIFBPU1QgYSByZWdpc3RyYXRpb24gcGF5bG9hZCB0byB0aGUgcGxhdGZvcm0uIE9uIGZhaWx1cmUsIHRoZSBjYWxsZXIgZGVjaWRlc1xuICogd2hldGhlciB0byB3cml0ZS9wcmVzZXJ2ZSBhIHBlbmRpbmcgaW50ZW50IOKAlCB0aGlzIGhlbHBlciBqdXN0IHJlcG9ydHMuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHBvc3RSZWdpc3RyYXRpb24oXG4gIGNsaWVudDogUmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlQXV0aGVudGljYXRlZENsaWVudD4sXG4gIHBpcGVsaW5lVXJsOiBzdHJpbmcsXG4gIHBheWxvYWQ6IFJlZ2lzdHJ5UGF5bG9hZCxcbiAgcGlwZWxpbmVJZDogc3RyaW5nLFxuKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIHRyeSB7XG4gICAgYXdhaXQgY2xpZW50LnBvc3QoYCR7cGlwZWxpbmVVcmx9L3JlZ2lzdHJ5YCwgcGF5bG9hZCk7XG4gICAgcHJpbnRJbmZvKCdSZWdpc3RlcmVkJywgeyBwaXBlbGluZUlkIH0pO1xuICAgIHJldHVybiB0cnVlO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBwcmludFdhcm5pbmcoJ1JlZ2lzdHJhdGlvbiBmYWlsZWQnLCB7XG4gICAgICBwaXBlbGluZUlkLFxuICAgICAgZXJyb3I6IGVycm9yTWVzc2FnZShlcnIpLFxuICAgIH0pO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.d.ts","
|
|
1
|
+
{"version":3,"file":"report.d.ts","sources":["../../src/commands/report.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8CpC,wBAAgB,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsS7C"}
|
package/dist/commands/report.js
CHANGED
|
@@ -312,4 +312,4 @@ function splitList(value) {
|
|
|
312
312
|
return [];
|
|
313
313
|
return value.split(',').map((s) => s.trim()).filter((s) => s.length > 0);
|
|
314
314
|
}
|
|
315
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL3JlcG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFFSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxJQUFJLE1BQU0sWUFBWSxDQUFDO0FBQzlCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEosT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTlHLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUM7QUEwQjFDLE1BQU0sSUFBSSxHQUFHLDBCQUEwQixDQUFDO0FBS3hDLCtEQUErRDtBQUMvRCxTQUFTLE1BQU0sQ0FBSSxRQUFpQixFQUFFLElBQVk7SUFDaEQsTUFBTSxHQUFHLEdBQUcsUUFBbUMsQ0FBQztJQUNoRCxJQUFJLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxPQUFPLEtBQUssS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQy9DLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxFQUFFLE9BQU8sSUFBSSwwQkFBMEIsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDO0FBQ2xCLENB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cUJBQXFCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLFdBQVcsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLFdBQVcsRUFBRTtnQkFDMUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLO2dCQUMzQixJQUFJLEVBQUUsSUFBSTtnQkFDVixPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFO2FBQ3JELENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFFRCw2REFBNkQ7QUFDN0QsU0FBUyxTQUFTLENBQUMsS0FBYztJQUMvQixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVE7UUFBRSxPQUFPLEVBQUUsQ0FBQztJQUN6QyxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDM0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG4vKipcbiAqIGBwaXBlbGluZS1tYW5hZ2VyIHJlcG9ydCDigKZgIOKAlCB0aGUgc3Rha2Vob2xkZXItcmVwb3J0IGFkZC1vbiBmcm9tIGEgdGVybWluYWwuXG4gKlxuICogU2V2ZW4gdmVyYnMsIG1hdGNoaW5nIHRoZSBBUEkgc3VyZmFjZSBhIGxlYWQgYWN0dWFsbHkgZHJpdmVzOiBgY3JlYXRlYCwgYGxpc3RgLFxuICogYHJ1biAtLXBlcmlvZGAsIGBwdWJsaXNoYCwgYGxpbmtgLCBgcGRmYCBhbmQgYHRyYW5zZmVyYC5cbiAqXG4gKiBXSFkgQSBDTEkgRk9SIFRISVMgQVQgQUxMLiBUd28gam9icyB0aGUgZGFzaGJvYXJkIGlzIHRoZSB3cm9uZyBzaGFwZSBmb3IuIFRoZSBmaXJzdCBpc1xuICogQkFDS0ZJTEw6IGByZXBvcnQgcnVuIC0tcGVyaW9kIDIwMjYtVzM0YCBmb3IgZWFjaCBvZiBmaXZlIHdlZWtzIGlzIGEgbG9vcCBpbiBhIHNoZWxsIGFuZFxuICogZml2ZSBjYXJlZnVsIGNsaWNrcyBpbiBhIGJyb3dzZXIuIFRoZSBzZWNvbmQgaXMgVU5BVFRFTkRFRCBPUEVSQVRJT04g4oCUIGEgdGVhbSB0aGF0IHdhbnRzXG4gKiBpdHMgcmVwb3J0IHByb2R1Y2VkIGJ5IGl0cyBvd24gc2NoZWR1bGVyIHJhdGhlciB0aGFuIG91cnMsIG9yIHdhbnRzIHB1Ymxpc2hpbmcgZ2F0ZWQgb24gYVxuICogcmVsZWFzZSBmaW5pc2hpbmcsIG5lZWRzIGEgY29tbWFuZCB3aXRoIGFuIGV4aXQgY29kZS5cbiAqXG4gKiBFVkVSWSBHQVRFIElTIFRIRSBTRVJWRVInUy4gVGhlIENMSSBjaGVja3Mgbm90aGluZzogYHJlcG9ydHM6d3JpdGVgIGZvciBjcmVhdGUgYW5kIHJ1bixcbiAqIGByZXBvcnRzOnB1Ymxpc2hgIGZvciBwdWJsaXNoIGFuZCBsaW5rLCBgcmVwb3J0czpyZWFkYCBmb3IgcGRmLCB0aGUgYHN0YWtlaG9sZGVyX3JlcG9ydHNgXG4gKiBmZWF0dXJlIGZvciBhbGwgb2YgdGhlbSxcbiAqIGFuZCB0aGUgb3JnJ3MgYWRtaW4tb3duZWQgcG9saWN5IGZvciB3aGV0aGVyIGEgbGluayBtYXkgYmUgbWludGVkIGF0IGFsbC4gVGhlIGNhbGxlcidzXG4gKiB0b2tlbiBkZWNpZGVzLCBhbmQgYSA0MDMgaXMgcHJpbnRlZCBhcyB0aGUgc2VydmVyIHdvcmRlZCBpdCDigJQgYSBDTEkgdGhhdCBwcmUtanVkZ2VkXG4gKiB3b3VsZCBiZSBhIHNlY29uZCBjb3B5IG9mIHRoZSBydWxlcywgd3JvbmcgdGhlIGZpcnN0IHRpbWUgZWl0aGVyIGNoYW5nZWQuXG4gKi9cblxuaW1wb3J0IHsgd3JpdGVGaWxlU3luYyB9IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gJ2NvbW1hbmRlcic7XG5pbXBvcnQgcGljbyBmcm9tICdwaWNvY29sb3JzJztcbmltcG9ydCB7IGNyZWF0ZUF1dGhlbnRpY2F0ZWRDbGllbnQsIHByaW50Q29tbWFuZEhlYWRlciwgcHJpbnRFeGVjdXRpb25TdW1tYXJ5LCBwcmludFNzbFdhcm5pbmcsIHdpdGhTc2xPcHRpb25zIH0gZnJvbSAnLi4vdXRpbHMvY29tbWFuZC11dGlscy5qcyc7XG5pbXBvcnQgeyBFUlJPUl9DT0RFUywgaGFuZGxlRXJyb3IgfSBmcm9tICcuLi91dGlscy9lcnJvci1oYW5kbGVyLmpzJztcbmltcG9ydCB7IHByaW50SW5mbywgcHJpbnRLZXlWYWx1ZSwgcHJpbnRTZWN0aW9uLCBwcmludFN1Y2Nlc3MsIHByaW50V2FybmluZyB9IGZyb20gJy4uL3V0aWxzL291dHB1dC11dGlscy5qcyc7XG5cbmNvbnN0IHsgYm9sZCwgZGltLCBncmVlbiwgeWVsbG93IH0gPSBwaWNvO1xuXG4vKiogVGhlIEFQSSBzaGFwZSB0aGUgQ0xJIHJlYWRzLiBOYXJyb3dlZCB0byB3aGF0IGl0IHByaW50cy4gKi9cbmludGVyZmFjZSBSZXBvcnREZWZpbml0aW9uIHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICB0ZW1wbGF0ZTogc3RyaW5nO1xuICBjYWRlbmNlOiBzdHJpbmc7XG4gIHRpbWV6b25lOiBzdHJpbmc7XG4gIHdlZWtTdGFydDogc3RyaW5nO1xuICBpc0FjdGl2ZTogYm9vbGVhbjtcbiAgcGF1c2VkUmVhc29uPzogc3RyaW5nIHwgbnVsbDtcbiAgbmV4dFJ1bkF0Pzogc3RyaW5nIHwgbnVsbDtcbiAgbGFzdFJ1bkF0Pzogc3RyaW5nIHwgbnVsbDtcbiAgcmVjaXBpZW50czogc3RyaW5nW107XG4gIGF1dG9TZW5kOiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgUmVwb3J0UnVuIHtcbiAgaWQ6IHN0cmluZztcbiAgcGVyaW9kTGFiZWw6IHN0cmluZztcbiAgdmVyc2lvbjogbnVtYmVyO1xuICBzdGF0dXM6IHN0cmluZztcbiAgcHVibGlzaGVkQXQ/OiBzdHJpbmcgfCBudWxsO1xufVxuXG5jb25zdCBCQVNFID0gJy9hcGkvcmVwb3J0cy9zdGFrZWhvbGRlcic7XG5cbi8qKiBUaGUgcmVzcG9uc2UgZW52ZWxvcGUgZXZlcnkgcm91dGUgaGVyZSByZXR1cm5zLiAqL1xuaW50ZXJmYWNlIEVudmVsb3BlPFQ+IHsgc3VjY2Vzcz86IGJvb2xlYW47IGRhdGE/OiBUOyBtZXNzYWdlPzogc3RyaW5nIH1cblxuLyoqIFVud3JhcCBhbiBlbnZlbG9wZSwgb3IgZmFpbCB3aXRoIHRoZSBzZXJ2ZXIncyBvd24gd29yZHMuICovXG5mdW5jdGlvbiB1bndyYXA8VD4ocmVzcG9uc2U6IHVua25vd24sIHdoYXQ6IHN0cmluZyk6IFQge1xuICBjb25zdCBlbnYgPSByZXNwb25zZSBhcyBFbnZlbG9wZTxUPiB8IHVuZGVmaW5lZDtcbiAgaWYgKCFlbnYgfHwgZW52LnN1Y2Nlc3MgPT09IGZhbHNlIHx8ICFlbnYuZGF0YSkge1xuICAgIHRocm93IG5ldyBFcnJvcihlbnY/Lm1lc3NhZ2UgPz8gYFRoZSBzZXJ2ZXIgcmV0dXJuZWQgbm8gJHt3aGF0fWApO1xuICB9XG4gIHJldHVybiBlbnYuZGF0YTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlcG9ydChwcm9ncmFtOiBDb21tYW5kKTogdm9pZCB7XG4gIGNvbnN0IGdyb3VwID0gcHJvZ3JhbS5jb21tYW5kKCdyZXBvcnQnKS5kZXNjcmlwdGlvbignQ3JlYXRlLCBydW4sIHB1Ymxpc2ggYW5kIHNoYXJlIHN0YWtlaG9sZGVyIHJlcG9ydHMnKTtcblxuICAvLyDilIDilIAgbGlzdCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgd2l0aFNzbE9wdGlvbnMoZ3JvdXBcbiAgICAuY29tbWFuZCgnbGlzdCcpXG4gICAgLmRlc2NyaXB0aW9uKCdMaXN0IHRoaXMgb3JnYW5pemF0aW9uXFwncyBzYXZlZCByZXBvcnRzLCB0aGVpciBzY2hlZHVsZSBhbmQgcGF1c2Ugc3RhdGUuJykpXG4gICAgLmFjdGlvbihhc3luYyAob3B0aW9ucykgPT4ge1xuICAgICAgY29uc3QgZXhlY3V0aW9uSWQgPSBwcmludENvbW1hbmRIZWFkZXIoJ1JlcG9ydCBMaXN0Jyk7XG4gICAgICB0cnkge1xuICAgICAgICBwcmludFNzbFdhcm5pbmcob3B0aW9ucy52ZXJpZnlTc2wpO1xuICAgICAgICBjb25zdCBjbGllbnQgPSBjcmVhdGVBdXRoZW50aWNhdGVkQ2xpZW50KG9wdGlvbnMpO1xuICAgICAgICBjb25zdCBzdGFydCA9IERhdGUubm93KCk7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB1bndyYXA8eyBkZWZpbml0aW9uczogUmVwb3J0RGVmaW5pdGlvbltdIH0+KFxuICAgICAgICAgIGF3YWl0IGNsaWVudC5nZXQoYCR7Y2xpZW50LmdldENvbmZpZygpLmFwaS5iYXNlVXJsfSR7QkFTRX0vZGVmaW5pdGlvbnNgKSwgJ3JlcG9ydHMnLFxuICAgICAgICApO1xuICAgICAgICBwcmludFNlY3Rpb24oJ1NhdmVkIFJlcG9ydHMnKTtcbiAgICAgICAgaWYgKGRhdGEuZGVmaW5pdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgcHJpbnRJbmZvKCdObyBzYXZlZCByZXBvcnRzIHlldC4gQ3JlYXRlIG9uZSB3aXRoIGBwaXBlbGluZS1tYW5hZ2VyIHJlcG9ydCBjcmVhdGVgLicpO1xuICAgICAgICB9XG4gICAgICAgIGZvciAoY29uc3QgZCBvZiBkYXRhLmRlZmluaXRpb25zKSB7XG4gICAgICAgICAgLy8gVGhlIHBhdXNlIFJFQVNPTiwgbm90IGp1c3QgdGhlIHN0YXRlOiBcInBhdXNlZFwiIG9uIGl0cyBvd24gaXMgYSBzdXBwb3J0IHRpY2tldC5cbiAgICAgICAgICBjb25zdCBzdGF0ZSA9IGQuaXNBY3RpdmVcbiAgICAgICAgICAgID8gZ3JlZW4oJ2FjdGl2ZScpXG4gICAgICAgICAgICA6IHllbGxvdyhgcGF1c2VkJHtkLnBhdXNlZFJlYXNvbiA/IGAgKCR7ZC5wYXVzZWRSZWFzb259KWAgOiAnJ31gKTtcbiAgICAgICAgICBwcmludEtleVZhbHVlKHtcbiAgICAgICAgICAgIFtib2xkKGQubmFtZSldOiBgJHtzdGF0ZX0gJHtkaW0oYMK3ICR7ZC5jYWRlbmNlfSDCtyAke2QudGltZXpvbmV9IMK3ICR7ZC5yZWNpcGllbnRzLmxlbmd0aH0gcmVjaXBpZW50KHMpJHtkLmF1dG9TZW5kID8gJyDCtyBhdXRvLXNlbmQnIDogJyd9YCl9YCxcbiAgICAgICAgICAgICcgIGlkJzogZC5pZCxcbiAgICAgICAgICAgICcgIG5leHQgcnVuJzogZC5uZXh0UnVuQXQgPz8gJyhub3Qgc2NoZWR1bGVkKScsXG4gICAgICAgICAgICAnICBsYXN0IHJ1bic6IGQubGFzdFJ1bkF0ID8/ICcobmV2ZXIpJyxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBwcmludEV4ZWN1dGlvblN1bW1hcnkoZXhlY3V0aW9uSWQsIERhdGUubm93KCkgLSBzdGFydCk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBoYW5kbGVFcnJvcihlcnJvciwgRVJST1JfQ09ERVMuQVBJX1JFUVVFU1QsIHtcbiAgICAgICAgICBkZWJ1ZzogcHJvZ3JhbS5vcHRzKCkuZGVidWcsXG4gICAgICAgICAgZXhpdDogdHJ1ZSxcbiAgICAgICAgICBjb250ZXh0OiB7IGNvbW1hbmQ6ICdyZXBvcnQtbGlzdCcsIGV4ZWN1dGlvbklkIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gIC8vIOKUgOKUgCBjcmVhdGUg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIHdpdGhTc2xPcHRpb25zKGdyb3VwXG4gICAgLmNvbW1hbmQoJ2NyZWF0ZScpXG4gICAgLmRlc2NyaXB0aW9uKCdTYXZlIGEgbmV3IHNjaGVkdWxlZCByZXBvcnQuIFRoZSBjcmVhdG9yIG93bnMgaXQ7IGEgc2NoZWR1bGVkIHJ1biBpcyBhdXRob3JpemVkIGFzIHRoZSBvd25lci4nKVxuICAgIC5yZXF1aXJlZE9wdGlvbignLW4sIC0tbmFtZSA8bmFtZT4nLCAnUmVwb3J0IG5hbWUsIGFzIGl0cyByZWNpcGllbnRzIHdpbGwgc2VlIGl0JylcbiAgICAub3B0aW9uKCctdCwgLS10ZW1wbGF0ZSA8dGVtcGxhdGU+JywgJ3dlZWtseV9kZWxpdmVyeSB8IG1vbnRobHlfaGVhbHRoIHwgcXVhcnRlcmx5X3JldmlldycsICd3ZWVrbHlfZGVsaXZlcnknKVxuICAgIC5vcHRpb24oJy16LCAtLXRpbWV6b25lIDx0ej4nLCAnSUFOQSB0aW1lem9uZSB0aGUgcGVyaW9kIGlzIGN1dCBpbiAoZGVmYXVsdHMgdG8gdGhlIHNlcnZlclxcJ3MgcmVwb3J0IGRlZmF1bHQpJylcbiAgICAub3B0aW9uKCctLXdlZWstc3RhcnQgPGRheT4nLCAnbW9uZGF5IHwgc3VuZGF5JylcbiAgICAub3B0aW9uKCctLXNjb3BlIDxraW5kPicsICdvcmcgfCBwcm9qZWN0cyB8IHJvbGx1cCcsICdvcmcnKVxuICAgIC5vcHRpb24oJy0tcHJvamVjdHMgPG5hbWVzPicsICdDb21tYS1zZXBhcmF0ZWQgcHJvamVjdCBuYW1lcyAod2l0aCAtLXNjb3BlIHByb2plY3RzKScpXG4gICAgLm9wdGlvbignLS1yZWNpcGllbnRzIDxpZHM+JywgJ0NvbW1hLXNlcGFyYXRlZCByZWNpcGllbnQgSURzIGZyb20gdGhlIG9yZ1xcJ3MgZGlzdHJpYnV0aW9uIGxpc3QnKVxuICAgIC5vcHRpb24oJy0tYXV0by1zZW5kJywgJ1B1Ymxpc2ggd2l0aG91dCByZXZpZXcuIE9mZiBieSBkZWZhdWx0IOKAlCB0aGUgcmV2aWV3IHN0ZXAgaXMgd2hlcmUgdGhlIGNvbnRleHQgZ29lcy4nKSlcbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICBjb25zdCBleGVjdXRpb25JZCA9IHByaW50Q29tbWFuZEhlYWRlcignUmVwb3J0IENyZWF0ZScpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgcHJpbnRTc2xXYXJuaW5nKG9wdGlvbnMudmVyaWZ5U3NsKTtcbiAgICAgICAgY29uc3QgY2xpZW50ID0gY3JlYXRlQXV0aGVudGljYXRlZENsaWVudChvcHRpb25zKTtcbiAgICAgICAgY29uc3QgcHJvamVjdHMgPSBzcGxpdExpc3Qob3B0aW9ucy5wcm9qZWN0cyk7XG4gICAgICAgIGlmIChvcHRpb25zLnNjb3BlID09PSAncHJvamVjdHMnICYmIHByb2plY3RzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignLS1zY29wZSBwcm9qZWN0cyBuZWVkcyAtLXByb2plY3RzIHdpdGggYXQgbGVhc3Qgb25lIHByb2plY3QgbmFtZScpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGJvZHk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge1xuICAgICAgICAgIG5hbWU6IG9wdGlvbnMubmFtZSxcbiAgICAgICAgICB0ZW1wbGF0ZTogb3B0aW9ucy50ZW1wbGF0ZSxcbiAgICAgICAgICBzY29wZTogb3B0aW9ucy5zY29wZSA9PT0gJ3Byb2plY3RzJyA/IHsga2luZDogJ3Byb2plY3RzJywgcHJvamVjdHMgfSA6IHsga2luZDogb3B0aW9ucy5zY29wZSB9LFxuICAgICAgICAgIHJlY2lwaWVudHM6IHNwbGl0TGlzdChvcHRpb25zLnJlY2lwaWVudHMpLFxuICAgICAgICAgIGF1dG9TZW5kOiBvcHRpb25zLmF1dG9TZW5kID09PSB0cnVlLFxuICAgICAgICAgIC4uLihvcHRpb25zLnRpbWV6b25lID8geyB0aW1lem9uZTogb3B0aW9ucy50aW1lem9uZSB9IDoge30pLFxuICAgICAgICAgIC4uLihvcHRpb25zLndlZWtTdGFydCA/IHsgd2Vla1N0YXJ0OiBvcHRpb25zLndlZWtTdGFydCB9IDoge30pLFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBzdGFydCA9IERhdGUubm93KCk7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB1bndyYXA8eyBkZWZpbml0aW9uOiBSZXBvcnREZWZpbml0aW9uIH0+KFxuICAgICAgICAgIGF3YWl0IGNsaWVudC5wb3N0KGAke2NsaWVudC5nZXRDb25maWcoKS5hcGkuYmFzZVVybH0ke0JBU0V9L2RlZmluaXRpb25zYCwgYm9keSksICdyZXBvcnQnLFxuICAgICAgICApO1xuICAgICAgICBwcmludFNlY3Rpb24oJ1JlcG9ydCBTYXZlZCcpO1xuICAgICAgICBwcmludEtleVZhbHVlKHtcbiAgICAgICAgICAnTmFtZSc6IGdyZWVuKGJvbGQoZGF0YS5kZWZpbml0aW9uLm5hbWUpKSxcbiAgICAgICAgICAnSUQnOiBkYXRhLmRlZmluaXRpb24uaWQsXG4gICAgICAgICAgJ0NhZGVuY2UnOiBgJHtkYXRhLmRlZmluaXRpb24uY2FkZW5jZX0gwrcgJHtkYXRhLmRlZmluaXRpb24udGltZXpvbmV9YCxcbiAgICAgICAgICAnTmV4dCBydW4nOiBkYXRhLmRlZmluaXRpb24ubmV4dFJ1bkF0ID8/ICcobm90IHNjaGVkdWxlZCknLFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGRhdGEuZGVmaW5pdGlvbi5yZWNpcGllbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIC8vIFNhaWQgaGVyZSBiZWNhdXNlIGl0IGlzIHRoZSBtb3N0IGNvbW1vbiB3YXkgYSBuZXcgcmVwb3J0IHJlYWNoZXMgbm9ib2R5OiB0aGVcbiAgICAgICAgICAvLyBkaXN0cmlidXRpb24gbGlzdCBpcyBwZXIgT1JHIGFuZCBhbiBhZGRyZXNzIGNvbmZpcm1zIGJ5IGVtYWlsIGJlZm9yZSBkZWxpdmVyeS5cbiAgICAgICAgICBwcmludFdhcm5pbmcoJ05vIHJlY2lwaWVudHMgeWV0IOKAlCBhZGQgdGhlbSBpbiB0aGUgZGFzaGJvYXJkOyBhbiBleHRlcm5hbCBhZGRyZXNzIGNvbmZpcm1zIGJ5IGVtYWlsIGJlZm9yZSBhbnl0aGluZyBpcyBkZWxpdmVyZWQuJyk7XG4gICAgICAgIH1cbiAgICAgICAgcHJpbnRTdWNjZXNzKCdSZXBvcnQgY3JlYXRlZCcpO1xuICAgICAgICBwcmludEV4ZWN1dGlvblN1bW1hcnkoZXhlY3V0aW9uSWQsIERhdGUubm93KCkgLSBzdGFydCk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBoYW5kbGVFcnJvcihlcnJvciwgRVJST1JfQ09ERVMuQVBJX1JFUVVFU1QsIHtcbiAgICAgICAgICBkZWJ1ZzogcHJvZ3JhbS5vcHRzKCkuZGVidWcsXG4gICAgICAgICAgZXhpdDogdHJ1ZSxcbiAgICAgICAgICBjb250ZXh0OiB7IGNvbW1hbmQ6ICdyZXBvcnQtY3JlYXRlJywgZXhlY3V0aW9uSWQgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgLy8g4pSA4pSAIHJ1biDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgd2l0aFNzbE9wdGlvbnMoZ3JvdXBcbiAgICAuY29tbWFuZCgncnVuJylcbiAgICAuZGVzY3JpcHRpb24oJ0NvbXBvc2Ugb25lIHBlcmlvZCBpbnRvIGEgZnJvemVuIHNuYXBzaG90LiBXaXRob3V0IC0tcGVyaW9kLCB0aGUgbGFzdCBjb21wbGV0ZSBwZXJpb2QuJylcbiAgICAucmVxdWlyZWRPcHRpb24oJy1pLCAtLWlkIDxpZD4nLCAnUmVwb3J0IGRlZmluaXRpb24gSUQnKVxuICAgIC5vcHRpb24oJy1wLCAtLXBlcmlvZCA8bGFiZWw+JywgJ1BlcmlvZCBsYWJlbDogMjAyNi1XMzggKHdlZWtseSksIDIwMjYtMDggKG1vbnRobHkpLCAyMDI2LVEzIChxdWFydGVybHkpJylcbiAgICAub3B0aW9uKCctLXJlZ2VuZXJhdGUnLCAnUHJvZHVjZSB2ZXJzaW9uIE4rMSBpbnN0ZWFkIG9mIHJldXNpbmcgYW4gZXhpc3Rpbmcgc25hcHNob3QnKSlcbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICBjb25zdCBleGVjdXRpb25JZCA9IHByaW50Q29tbWFuZEhlYWRlcignUmVwb3J0IFJ1bicpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgcHJpbnRTc2xXYXJuaW5nKG9wdGlvbnMudmVyaWZ5U3NsKTtcbiAgICAgICAgY29uc3QgY2xpZW50ID0gY3JlYXRlQXV0aGVudGljYXRlZENsaWVudChvcHRpb25zKTtcbiAgICAgICAgY29uc3Qgc3RhcnQgPSBEYXRlLm5vdygpO1xuICAgICAgICBjb25zdCBkYXRhID0gdW53cmFwPHsgcnVuOiBSZXBvcnRSdW47IHJldXNlZD86IGJvb2xlYW4gfT4oXG4gICAgICAgICAgYXdhaXQgY2xpZW50LnBvc3QoXG4gICAgICAgICAgICBgJHtjbGllbnQuZ2V0Q29uZmlnKCkuYXBpLmJhc2VVcmx9JHtCQVNFfS9kZWZpbml0aW9ucy8ke2VuY29kZVVSSUNvbXBvbmVudChvcHRpb25zLmlkKX0vcnVuc2AsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIC4uLihvcHRpb25zLnBlcmlvZCA/IHsgcGVyaW9kOiBvcHRpb25zLnBlcmlvZCB9IDoge30pLFxuICAgICAgICAgICAgICAuLi4ob3B0aW9ucy5yZWdlbmVyYXRlID8geyByZWdlbmVyYXRlOiB0cnVlIH0gOiB7fSksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICksICdydW4nLFxuICAgICAgICApO1xuICAgICAgICBwcmludFNlY3Rpb24oZGF0YS5yZXVzZWQgPyAnRXhpc3RpbmcgU25hcHNob3QnIDogJ1NuYXBzaG90IENvbXBvc2VkJyk7XG4gICAgICAgIHByaW50S2V5VmFsdWUoe1xuICAgICAgICAgICdQZXJpb2QnOiBncmVlbihib2xkKGRhdGEucnVuLnBlcmlvZExhYmVsKSksXG4gICAgICAgICAgJ1J1biBJRCc6IGRhdGEucnVuLmlkLFxuICAgICAgICAgICdWZXJzaW9uJzogU3RyaW5nKGRhdGEucnVuLnZlcnNpb24pLFxuICAgICAgICAgICdTdGF0dXMnOiBkYXRhLnJ1bi5zdGF0dXMsXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoZGF0YS5yZXVzZWQpIHtcbiAgICAgICAgICAvLyBOb3QgYSBuby1vcCB0byBoaWRlOiBhIGZyb3plbiBzbmFwc2hvdCdzIG51bWJlcnMgZG8gbm90IGNoYW5nZSwgc28gcmUtcnVubmluZ1xuICAgICAgICAgIC8vIHJldHVybnMgd2hhdCBleGlzdHMuIGAtLXJlZ2VuZXJhdGVgIGlzIGhvdyB5b3UgYXNrIGZvciBhIG5ldyB2ZXJzaW9uLlxuICAgICAgICAgIHByaW50SW5mbygnVGhpcyBwZXJpb2QgYWxyZWFkeSBoYWQgYSBzbmFwc2hvdCwgc28gaXQgd2FzIHJldHVybmVkIHVuY2hhbmdlZC4gVXNlIC0tcmVnZW5lcmF0ZSBmb3IgYSBuZXcgdmVyc2lvbi4nKTtcbiAgICAgICAgfVxuICAgICAgICBwcmludEV4ZWN1dGlvblN1bW1hcnkoZXhlY3V0aW9uSWQsIERhdGUubm93KCkgLSBzdGFydCk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBoYW5kbGVFcnJvcihlcnJvciwgRVJST1JfQ09ERVMuQVBJX1JFUVVFU1QsIHtcbiAgICAgICAgICBkZWJ1ZzogcHJvZ3JhbS5vcHRzKCkuZGVidWcsXG4gICAgICAgICAgZXhpdDogdHJ1ZSxcbiAgICAgICAgICBjb250ZXh0OiB7IGNvbW1hbmQ6ICdyZXBvcnQtcnVuJywgZXhlY3V0aW9uSWQgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgLy8g4pSA4pSAIHB1Ymxpc2gg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIHdpdGhTc2xPcHRpb25zKGdyb3VwXG4gICAgLmNvbW1hbmQoJ3B1Ymxpc2gnKVxuICAgIC5kZXNjcmlwdGlvbignUHVibGlzaCBhIGNvbXBvc2VkIHJ1bi4gTmVlZHMgcmVwb3J0czpwdWJsaXNoIOKAlCBwdWJsaXNoaW5nIGlzIHdoZW4gbnVtYmVycyBsZWF2ZSB0aGUgcGxhdGZvcm0uJylcbiAgICAucmVxdWlyZWRPcHRpb24oJy1yLCAtLXJ1biA8aWQ+JywgJ1J1biBJRCB0byBwdWJsaXNoJykpXG4gICAgLmFjdGlvbihhc3luYyAob3B0aW9ucykgPT4ge1xuICAgICAgY29uc3QgZXhlY3V0aW9uSWQgPSBwcmludENvbW1hbmRIZWFkZXIoJ1JlcG9ydCBQdWJsaXNoJyk7XG4gICAgICB0cnkge1xuICAgICAgICBwcmludFNzbFdhcm5pbmcob3B0aW9ucy52ZXJpZnlTc2wpO1xuICAgICAgICBjb25zdCBjbGllbnQgPSBjcmVhdGVBdXRoZW50aWNhdGVkQ2xpZW50KG9wdGlvbnMpO1xuICAgICAgICBjb25zdCBzdGFydCA9IERhdGUubm93KCk7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB1bndyYXA8eyBydW46IFJlcG9ydFJ1bjsgYWxyZWFkeVB1Ymxpc2hlZD86IGJvb2xlYW4gfT4oXG4gICAgICAgICAgYXdhaXQgY2xpZW50LnBvc3QoXG4gICAgICAgICAgICBgJHtjbGllbnQuZ2V0Q29uZmlnKCkuYXBpLmJhc2VVcmx9JHtCQVNFfS9ydW5zLyR7ZW5jb2RlVVJJQ29tcG9uZW50KG9wdGlvbnMucnVuKX0vcHVibGlzaGAsIHt9LFxuICAgICAgICAgICksICdydW4nLFxuICAgICAgICApO1xuICAgICAgICBwcmludFNlY3Rpb24oJ1B1Ymxpc2hlZCcpO1xuICAgICAgICBwcmludEtleVZhbHVlKHtcbiAgICAgICAgICAnUGVyaW9kJzogZ3JlZW4oYm9sZChkYXRhLnJ1bi5wZXJpb2RMYWJlbCkpLFxuICAgICAgICAgICdQdWJsaXNoZWQgYXQnOiBkYXRhLnJ1bi5wdWJsaXNoZWRBdCA/PyAnKHVua25vd24pJyxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChkYXRhLmFscmVhZHlQdWJsaXNoZWQpIHtcbiAgICAgICAgICAvLyBJZGVtcG90ZW50IGJ5IGRlc2lnbjogdHdvIHB1Ymxpc2hlcyBzZW5kIG9uZSByZXBvcnQsIHNvIGEgcmV0cmllZCBzY3JpcHQgaXNcbiAgICAgICAgICAvLyBzYWZlLiBSZXBvcnRlZCByYXRoZXIgdGhhbiBzaWxlbnQsIHNvIGEgd3JhcHBlciBjYW4gdGVsbCB0aGUgZGlmZmVyZW5jZS5cbiAgICAgICAgICBwcmludEluZm8oJ1RoaXMgcnVuIHdhcyBhbHJlYWR5IHB1Ymxpc2hlZDsgbm90aGluZyB3YXMgc2VudCBhZ2Fpbi4nKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwcmludFN1Y2Nlc3MoJ1B1Ymxpc2hlZCDigJQgZGVsaXZlcnkgaXMgdW5kZXIgd2F5Jyk7XG4gICAgICAgIH1cbiAgICAgICAgcHJpbnRFeGVjdXRpb25TdW1tYXJ5KGV4ZWN1dGlvbklkLCBEYXRlLm5vdygpIC0gc3RhcnQpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaGFuZGxlRXJyb3IoZXJyb3IsIEVSUk9SX0NPREVTLkFQSV9SRVFVRVNULCB7XG4gICAgICAgICAgZGVidWc6IHByb2dyYW0ub3B0cygpLmRlYnVnLFxuICAgICAgICAgIGV4aXQ6IHRydWUsXG4gICAgICAgICAgY29udGV4dDogeyBjb21tYW5kOiAncmVwb3J0LXB1Ymxpc2gnLCBleGVjdXRpb25JZCB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAvLyDilIDilIAgbGluayDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgd2l0aFNzbE9wdGlvbnMoZ3JvdXBcbiAgICAuY29tbWFuZCgnbGluaycpXG4gICAgLmRlc2NyaXB0aW9uKCdNaW50IGFuIGV4cGlyaW5nIHJlYWQtb25seSBsaW5rIHRvIGEgcHVibGlzaGVkIHJ1bi4gVGhlIHRva2VuIGlzIHNob3duIE9OQ0UuJylcbiAgICAucmVxdWlyZWRPcHRpb24oJy1yLCAtLXJ1biA8aWQ+JywgJ1B1Ymxpc2hlZCBydW4gSUQnKVxuICAgIC5vcHRpb24oJy0tZGF5cyA8bj4nLCAnRGF5cyB1bnRpbCBpdCBleHBpcmVzIChzZXJ2ZXIgZGVmYXVsdCAzMCwgbWF4aW11bSAxODApJylcbiAgICAub3B0aW9uKCctLXJlZGFjdC1uYW1lcycsICdSZXBsYWNlIHByb2plY3QgYW5kIHBpcGVsaW5lIG5hbWVzIGluIHRoZSBzaGFyZWQgdmlldycpKVxuICAgIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICAgIGNvbnN0IGV4ZWN1dGlvbklkID0gcHJpbnRDb21tYW5kSGVhZGVyKCdSZXBvcnQgTGluaycpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgcHJpbnRTc2xXYXJuaW5nKG9wdGlvbnMudmVyaWZ5U3NsKTtcbiAgICAgICAgY29uc3QgY2xpZW50ID0gY3JlYXRlQXV0aGVudGljYXRlZENsaWVudChvcHRpb25zKTtcbiAgICAgICAgY29uc3QgZGF5cyA9IG9wdGlvbnMuZGF5cyA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogTnVtYmVyKG9wdGlvbnMuZGF5cyk7XG4gICAgICAgIGlmIChkYXlzICE9PSB1bmRlZmluZWQgJiYgKCFOdW1iZXIuaXNJbnRlZ2VyKGRheXMpIHx8IGRheXMgPCAxKSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignLS1kYXlzIG11c3QgYmUgYSBwb3NpdGl2ZSB3aG9sZSBudW1iZXIgb2YgZGF5cycpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gRGF0ZS5ub3coKTtcbiAgICAgICAgY29uc3QgZGF0YSA9IHVud3JhcDx7IHVybD86IHN0cmluZzsgdG9rZW4/OiBzdHJpbmc7IGV4cGlyZXNBdDogc3RyaW5nIH0+KFxuICAgICAgICAgIGF3YWl0IGNsaWVudC5wb3N0KFxuICAgICAgICAgICAgYCR7Y2xpZW50LmdldENvbmZpZygpLmFwaS5iYXNlVXJsfSR7QkFTRX0vcnVucy8ke2VuY29kZVVSSUNvbXBvbmVudChvcHRpb25zLnJ1bil9L2xpbmtzYCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgLi4uKGRheXMgIT09IHVuZGVmaW5lZCA/IHsgZXhwaXJlc0luRGF5czogZGF5cyB9IDoge30pLFxuICAgICAgICAgICAgICAuLi4ob3B0aW9ucy5yZWRhY3ROYW1lcyA/IHsgcmVkYWN0TmFtZXM6IHRydWUgfSA6IHt9KSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgKSwgJ2xpbmsnLFxuICAgICAgICApO1xuICAgICAgICBwcmludFNlY3Rpb24oJ1NoYXJlIExpbmsnKTtcbiAgICAgICAgcHJpbnRLZXlWYWx1ZSh7XG4gICAgICAgICAgTGluazogZ3JlZW4oYm9sZChkYXRhLnVybCA/PyBkYXRhLnRva2VuID8/ICcobm90IHJldHVybmVkKScpKSxcbiAgICAgICAgICBFeHBpcmVzOiBkYXRhLmV4cGlyZXNBdCxcbiAgICAgICAgfSk7XG4gICAgICAgIC8vIFNhaWQgZXZlcnkgdGltZSwgYmVjYXVzZSBpdCBpcyB0cnVlIGV2ZXJ5IHRpbWUgYW5kIHRoZSBjb25zZXF1ZW5jZSBpcyBwZXJtYW5lbnQ6XG4gICAgICAgIC8vIHRoZSBzZXJ2ZXIgc3RvcmVzIG9ubHkgYSBoYXNoLCBzbyBhIGxvc3QgdG9rZW4gY2Fubm90IGJlIHJlY292ZXJlZCwgb25seSByZXBsYWNlZC5cbiAgICAgICAgcHJpbnRXYXJuaW5nKCdDb3B5IHRoaXMgbm93IOKAlCBvbmx5IGEgaGFzaCBpcyBzdG9yZWQsIHNvIGl0IGNhbm5vdCBiZSBzaG93biBhZ2Fpbi4gUmV2b2tlIGl0IGluIHRoZSBkYXNoYm9hcmQgaWYgaXQgbGVha3MuJyk7XG4gICAgICAgIHByaW50RXhlY3V0aW9uU3VtbWFyeShleGVjdXRpb25JZCwgRGF0ZS5ub3coKSAtIHN0YXJ0KTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGhhbmRsZUVycm9yKGVycm9yLCBFUlJPUl9DT0RFUy5BUElfUkVRVUVTVCwge1xuICAgICAgICAgIGRlYnVnOiBwcm9ncmFtLm9wdHMoKS5kZWJ1ZyxcbiAgICAgICAgICBleGl0OiB0cnVlLFxuICAgICAgICAgIGNvbnRleHQ6IHsgY29tbWFuZDogJ3JlcG9ydC1saW5rJywgZXhlY3V0aW9uSWQgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgLy8g4pSA4pSAIHBkZiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgd2l0aFNzbE9wdGlvbnMoZ3JvdXBcbiAgICAuY29tbWFuZCgncGRmJylcbiAgICAuZGVzY3JpcHRpb24oJ0Rvd25sb2FkIGEgcnVuIGFzIGEgUERGLiBOZWVkcyByZXBvcnRzOnJlYWQg4oCUIHRoZSBzYW1lIHBlcm1pc3Npb24gYXMgcmVhZGluZyB0aGUgcnVuLicpXG4gICAgLnJlcXVpcmVkT3B0aW9uKCctciwgLS1ydW4gPGlkPicsICdSdW4gSUQgdG8gZG93bmxvYWQnKVxuICAgIC5vcHRpb24oJy1vLCAtLW91dCA8ZmlsZT4nLCAnV2hlcmUgdG8gd3JpdGUgaXQgKGRlZmF1bHQ6IHRoZSBmaWxlIG5hbWUgdGhlIHNlcnZlciBjaG9zZSwgaW4gdGhlIHdvcmtpbmcgZGlyZWN0b3J5KScpKVxuICAgIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICAgIGNvbnN0IGV4ZWN1dGlvbklkID0gcHJpbnRDb21tYW5kSGVhZGVyKCdSZXBvcnQgUERGJyk7XG4gICAgICB0cnkge1xuICAgICAgICBwcmludFNzbFdhcm5pbmcob3B0aW9ucy52ZXJpZnlTc2wpO1xuICAgICAgICBjb25zdCBjbGllbnQgPSBjcmVhdGVBdXRoZW50aWNhdGVkQ2xpZW50KG9wdGlvbnMpO1xuICAgICAgICBjb25zdCBzdGFydCA9IERhdGUubm93KCk7XG4gICAgICAgIGNvbnN0IHsgZGF0YSwgZmlsZW5hbWUgfSA9IGF3YWl0IGNsaWVudC5nZXRCaW5hcnkoXG4gICAgICAgICAgYCR7Y2xpZW50LmdldENvbmZpZygpLmFwaS5iYXNlVXJsfSR7QkFTRX0vcnVucy8ke2VuY29kZVVSSUNvbXBvbmVudChvcHRpb25zLnJ1bil9L3BkZmAsXG4gICAgICAgICk7XG4gICAgICAgIC8vIFRoZSBzZXJ2ZXIncyBuYW1lIHVubGVzcyB0aGUgY2FsbGVyIGFza2VkIGZvciBvbmU6IGl0IGtub3dzIHRoZSByZXBvcnQncyB0aXRsZSBhbmRcbiAgICAgICAgLy8gd2hldGhlciB0aGlzIHJ1biBpcyBhIHJldmlzaW9uLCBhbmQgYSBzY3JpcHRlZCBib2FyZCBwYWNrIHdhbnRzIHRoYXQgbmFtZS5cbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gdHlwZW9mIG9wdGlvbnMub3V0ID09PSAnc3RyaW5nJyAmJiBvcHRpb25zLm91dC5sZW5ndGggPiAwXG4gICAgICAgICAgPyBvcHRpb25zLm91dFxuICAgICAgICAgIDogKGZpbGVuYW1lID8/IGByZXBvcnQtJHtvcHRpb25zLnJ1bn0ucGRmYCk7XG4gICAgICAgIHdyaXRlRmlsZVN5bmModGFyZ2V0LCBkYXRhKTtcbiAgICAgICAgcHJpbnRTZWN0aW9uKCdEb3dubG9hZGVkJyk7XG4gICAgICAgIHByaW50S2V5VmFsdWUoeyBGaWxlOiBncmVlbihib2xkKHRhcmdldCkpLCBTaXplOiBgJHsoZGF0YS5sZW5ndGggLyAxMDI0KS50b0ZpeGVkKDEpfSBLaUJgIH0pO1xuICAgICAgICBwcmludFN1Y2Nlc3MoJ1NhdmVkJyk7XG4gICAgICAgIHByaW50RXhlY3V0aW9uU3VtbWFyeShleGVjdXRpb25JZCwgRGF0ZS5ub3coKSAtIHN0YXJ0KTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIC8vIEEgNTAzIGhlcmUgaXMgbm90IGEgZmFpbHVyZSBvZiB0aGUgcmVwb3J0OiB0aGlzIGluc3RhbmNlIGhhcyBubyBDaHJvbWl1bSwgYW5kIHRoZVxuICAgICAgICAvLyBzZXJ2ZXIgc2F5cyBzbyBpbiB3b3Jkcy4gSXQgc3RpbGwgZXhpdHMgbm9uLXplcm8sIGJlY2F1c2UgYSBzY3JpcHQgdGhhdCBhc2tlZCBmb3IgYVxuICAgICAgICAvLyBmaWxlIGFuZCBnb3Qgbm9uZSBtdXN0IG5vdCBjYXJyeSBvbiBhcyB0aG91Z2ggaXQgaGFzIG9uZS5cbiAgICAgICAgaGFuZGxlRXJyb3IoZXJyb3IsIEVSUk9SX0NPREVTLkFQSV9SRVFVRVNULCB7XG4gICAgICAgICAgZGVidWc6IHByb2dyYW0ub3B0cygpLmRlYnVnLFxuICAgICAgICAgIGV4aXQ6IHRydWUsXG4gICAgICAgICAgY29udGV4dDogeyBjb21tYW5kOiAncmVwb3J0LXBkZicsIGV4ZWN1dGlvbklkIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gIC8vIOKUgOKUgCB0cmFuc2ZlciDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgd2l0aFNzbE9wdGlvbnMoZ3JvdXBcbiAgICAuY29tbWFuZCgndHJhbnNmZXInKVxuICAgIC5kZXNjcmlwdGlvbignSGFuZCBhIHJlcG9ydCB0byBhIG5ldyBvd25lci4gQSBzY2hlZHVsZWQgcnVuIGlzIGF1dGhvcml6ZWQgQVMgdGhlIG93bmVyLCBzbyB0aGlzIGlzIGEgcHJpdmlsZWdlIG1vdmUuJylcbiAgICAucmVxdWlyZWRPcHRpb24oJy1pLCAtLWlkIDxpZD4nLCAnUmVwb3J0IGRlZmluaXRpb24gSUQnKVxuICAgIC5yZXF1aXJlZE9wdGlvbignLW8sIC0tb3duZXIgPHVzZXJJZD4nLCAnTmV3IG93bmVyXFwncyB1c2VyIElEIOKAlCBtdXN0IGJlIGEgbGl2ZSBtZW1iZXIgb2YgdGhpcyBvcmcnKSlcbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICBjb25zdCBleGVjdXRpb25JZCA9IHByaW50Q29tbWFuZEhlYWRlcignUmVwb3J0IFRyYW5zZmVyJyk7XG4gICAgICB0cnkge1xuICAgICAgICBwcmludFNzbFdhcm5pbmcob3B0aW9ucy52ZXJpZnlTc2wpO1xuICAgICAgICBjb25zdCBjbGllbnQgPSBjcmVhdGVBdXRoZW50aWNhdGVkQ2xpZW50KG9wdGlvbnMpO1xuICAgICAgICBjb25zdCBzdGFydCA9IERhdGUubm93KCk7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB1bndyYXA8eyBkZWZpbml0aW9uOiBSZXBvcnREZWZpbml0aW9uIH0+KFxuICAgICAgICAgIGF3YWl0IGNsaWVudC5wb3N0KFxuICAgICAgICAgICAgYCR7Y2xpZW50LmdldENvbmZpZygpLmFwaS5iYXNlVXJsfSR7QkFTRX0vZGVmaW5pdGlvbnMvJHtlbmNvZGVVUklDb21wb25lbnQob3B0aW9ucy5pZCl9L3RyYW5zZmVyYCxcbiAgICAgICAgICAgIHsgb3duZXJJZDogb3B0aW9ucy5vd25lciB9LFxuICAgICAgICAgICksICdyZXBvcnQnLFxuICAgICAgICApO1xuICAgICAgICBwcmludFNlY3Rpb24oJ093bmVyc2hpcCBUcmFuc2ZlcnJlZCcpO1xuICAgICAgICBwcmludEtleVZhbHVlKHsgJ1JlcG9ydCc6IGdyZWVuKGJvbGQoZGF0YS5kZWZpbml0aW9uLm5hbWUpKSwgJ05ldyBvd25lcic6IG9wdGlvbnMub3duZXIgfSk7XG4gICAgICAgIC8vIFRoZSBjb25zZXF1ZW5jZSwgaW4gb25lIGxpbmU6IGZyb20gbm93IG9uIHRoZSByZXBvcnQgY29tcHV0ZXMgd2l0aCBhIGRpZmZlcmVudFxuICAgICAgICAvLyBwZXJzb24ncyBhY2Nlc3MsIHdoaWNoIGNhbiBjaGFuZ2Ugd2hhdCBpdCBjb250YWlucy5cbiAgICAgICAgcHJpbnRJbmZvKCdGdXR1cmUgcnVucyBhcmUgYXV0aG9yaXplZCBhcyB0aGUgbmV3IG93bmVyLCBzbyB0aGUgcmVwb3J0IG5vdyBjb21wdXRlcyB3aXRoIHRoZWlyIGFjY2Vzcy4nKTtcbiAgICAgICAgcHJpbnRFeGVjdXRpb25TdW1tYXJ5KGV4ZWN1dGlvbklkLCBEYXRlLm5vdygpIC0gc3RhcnQpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaGFuZGxlRXJyb3IoZXJyb3IsIEVSUk9SX0NPREVTLkFQSV9SRVFVRVNULCB7XG4gICAgICAgICAgZGVidWc6IHByb2dyYW0ub3B0cygpLmRlYnVnLFxuICAgICAgICAgIGV4aXQ6IHRydWUsXG4gICAgICAgICAgY29udGV4dDogeyBjb21tYW5kOiAncmVwb3J0LXRyYW5zZmVyJywgZXhlY3V0aW9uSWQgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG59XG5cbi8qKiBgXCJhLCBiICxjXCJgIOKGkiBgWydhJywnYicsJ2MnXWA7IGVtcHR5IG9yIGFic2VudCDihpIgYFtdYC4gKi9cbmZ1bmN0aW9uIHNwbGl0TGlzdCh2YWx1ZTogdW5rbm93bik6IHN0cmluZ1tdIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHJldHVybiBbXTtcbiAgcmV0dXJuIHZhbHVlLnNwbGl0KCcsJykubWFwKChzKSA9PiBzLnRyaW0oKSkuZmlsdGVyKChzKSA9PiBzLmxlbmd0aCA+IDApO1xufVxuIl19
|
|
315
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvcmVwb3J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEM7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUVILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDeEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwQyxPQUFPLElBQUksTUFBTSxZQUFZLENBQUM7QUFDOUIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLGtCQUFrQixFQUFFLHFCQUFxQixFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsSixPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFOUcsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQztBQTBCMUMsTUFBTSxJQUFJLEdBQUcsMEJBQTBCLENBQUM7QUFLeEMsK0RBQStEO0FBQy9ELFNBQVMsTUFBTSxDQUFJLFFBQWlCLEVBQUUsSUFBWTtJQUNoRCxNQUFNLEdBQUcsR0FBRyxRQUFtQyxDQUFDO0lBQ2hELElBQUksQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLE9BQU8sS0FBSyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDL0MsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLEVBQUUsT0FBTyxJQUFJLDBCQUEwQixJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUM7QUFDbEIsQ0FBQztBQUVELE1BQU0sVUFB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LEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQ3pELENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsV0FBVyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsV0FBVyxFQUFFO2dCQUMxQyxLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUs7Z0JBQzNCLElBQUksRUFBRSxJQUFJO2dCQUNWLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUU7YUFDckQsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVELDZEQUE2RDtBQUM3RCxTQUFTLFNBQVMsQ0FBQyxLQUFjO0lBQy9CLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUTtRQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ3pDLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUMzRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbi8qKlxuICogYHBpcGVsaW5lLW1hbmFnZXIgcmVwb3J0IOKApmAg4oCUIHRoZSBzdGFrZWhvbGRlci1yZXBvcnQgYWRkLW9uIGZyb20gYSB0ZXJtaW5hbC5cbiAqXG4gKiBTZXZlbiB2ZXJicywgbWF0Y2hpbmcgdGhlIEFQSSBzdXJmYWNlIGEgbGVhZCBhY3R1YWxseSBkcml2ZXM6IGBjcmVhdGVgLCBgbGlzdGAsXG4gKiBgcnVuIC0tcGVyaW9kYCwgYHB1Ymxpc2hgLCBgbGlua2AsIGBwZGZgIGFuZCBgdHJhbnNmZXJgLlxuICpcbiAqIFdIWSBBIENMSSBGT1IgVEhJUyBBVCBBTEwuIFR3byBqb2JzIHRoZSBkYXNoYm9hcmQgaXMgdGhlIHdyb25nIHNoYXBlIGZvci4gVGhlIGZpcnN0IGlzXG4gKiBCQUNLRklMTDogYHJlcG9ydCBydW4gLS1wZXJpb2QgMjAyNi1XMzRgIGZvciBlYWNoIG9mIGZpdmUgd2Vla3MgaXMgYSBsb29wIGluIGEgc2hlbGwgYW5kXG4gKiBmaXZlIGNhcmVmdWwgY2xpY2tzIGluIGEgYnJvd3Nlci4gVGhlIHNlY29uZCBpcyBVTkFUVEVOREVEIE9QRVJBVElPTiDigJQgYSB0ZWFtIHRoYXQgd2FudHNcbiAqIGl0cyByZXBvcnQgcHJvZHVjZWQgYnkgaXRzIG93biBzY2hlZHVsZXIgcmF0aGVyIHRoYW4gb3Vycywgb3Igd2FudHMgcHVibGlzaGluZyBnYXRlZCBvbiBhXG4gKiByZWxlYXNlIGZpbmlzaGluZywgbmVlZHMgYSBjb21tYW5kIHdpdGggYW4gZXhpdCBjb2RlLlxuICpcbiAqIEVWRVJZIEdBVEUgSVMgVEhFIFNFUlZFUidTLiBUaGUgQ0xJIGNoZWNrcyBub3RoaW5nOiBgcmVwb3J0czp3cml0ZWAgZm9yIGNyZWF0ZSBhbmQgcnVuLFxuICogYHJlcG9ydHM6cHVibGlzaGAgZm9yIHB1Ymxpc2ggYW5kIGxpbmssIGByZXBvcnRzOnJlYWRgIGZvciBwZGYsIHRoZSBgc3Rha2Vob2xkZXJfcmVwb3J0c2BcbiAqIGZlYXR1cmUgZm9yIGFsbCBvZiB0aGVtLFxuICogYW5kIHRoZSBvcmcncyBhZG1pbi1vd25lZCBwb2xpY3kgZm9yIHdoZXRoZXIgYSBsaW5rIG1heSBiZSBtaW50ZWQgYXQgYWxsLiBUaGUgY2FsbGVyJ3NcbiAqIHRva2VuIGRlY2lkZXMsIGFuZCBhIDQwMyBpcyBwcmludGVkIGFzIHRoZSBzZXJ2ZXIgd29yZGVkIGl0IOKAlCBhIENMSSB0aGF0IHByZS1qdWRnZWRcbiAqIHdvdWxkIGJlIGEgc2Vjb25kIGNvcHkgb2YgdGhlIHJ1bGVzLCB3cm9uZyB0aGUgZmlyc3QgdGltZSBlaXRoZXIgY2hhbmdlZC5cbiAqL1xuXG5pbXBvcnQgeyB3cml0ZUZpbGVTeW5jIH0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnY29tbWFuZGVyJztcbmltcG9ydCBwaWNvIGZyb20gJ3BpY29jb2xvcnMnO1xuaW1wb3J0IHsgY3JlYXRlQXV0aGVudGljYXRlZENsaWVudCwgcHJpbnRDb21tYW5kSGVhZGVyLCBwcmludEV4ZWN1dGlvblN1bW1hcnksIHByaW50U3NsV2FybmluZywgd2l0aFNzbE9wdGlvbnMgfSBmcm9tICcuLi91dGlscy9jb21tYW5kLXV0aWxzLmpzJztcbmltcG9ydCB7IEVSUk9SX0NPREVTLCBoYW5kbGVFcnJvciB9IGZyb20gJy4uL3V0aWxzL2Vycm9yLWhhbmRsZXIuanMnO1xuaW1wb3J0IHsgcHJpbnRJbmZvLCBwcmludEtleVZhbHVlLCBwcmludFNlY3Rpb24sIHByaW50U3VjY2VzcywgcHJpbnRXYXJuaW5nIH0gZnJvbSAnLi4vdXRpbHMvb3V0cHV0LXV0aWxzLmpzJztcblxuY29uc3QgeyBib2xkLCBkaW0sIGdyZWVuLCB5ZWxsb3cgfSA9IHBpY287XG5cbi8qKiBUaGUgQVBJIHNoYXBlIHRoZSBDTEkgcmVhZHMuIE5hcnJvd2VkIHRvIHdoYXQgaXQgcHJpbnRzLiAqL1xuaW50ZXJmYWNlIFJlcG9ydERlZmluaXRpb24ge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHRlbXBsYXRlOiBzdHJpbmc7XG4gIGNhZGVuY2U6IHN0cmluZztcbiAgdGltZXpvbmU6IHN0cmluZztcbiAgd2Vla1N0YXJ0OiBzdHJpbmc7XG4gIGlzQWN0aXZlOiBib29sZWFuO1xuICBwYXVzZWRSZWFzb24/OiBzdHJpbmcgfCBudWxsO1xuICBuZXh0UnVuQXQ/OiBzdHJpbmcgfCBudWxsO1xuICBsYXN0UnVuQXQ/OiBzdHJpbmcgfCBudWxsO1xuICByZWNpcGllbnRzOiBzdHJpbmdbXTtcbiAgYXV0b1NlbmQ6IGJvb2xlYW47XG59XG5cbmludGVyZmFjZSBSZXBvcnRSdW4ge1xuICBpZDogc3RyaW5nO1xuICBwZXJpb2RMYWJlbDogc3RyaW5nO1xuICB2ZXJzaW9uOiBudW1iZXI7XG4gIHN0YXR1czogc3RyaW5nO1xuICBwdWJsaXNoZWRBdD86IHN0cmluZyB8IG51bGw7XG59XG5cbmNvbnN0IEJBU0UgPSAnL2FwaS9yZXBvcnRzL3N0YWtlaG9sZGVyJztcblxuLyoqIFRoZSByZXNwb25zZSBlbnZlbG9wZSBldmVyeSByb3V0ZSBoZXJlIHJldHVybnMuICovXG5pbnRlcmZhY2UgRW52ZWxvcGU8VD4geyBzdWNjZXNzPzogYm9vbGVhbjsgZGF0YT86IFQ7IG1lc3NhZ2U/OiBzdHJpbmcgfVxuXG4vKiogVW53cmFwIGFuIGVudmVsb3BlLCBvciBmYWlsIHdpdGggdGhlIHNlcnZlcidzIG93biB3b3Jkcy4gKi9cbmZ1bmN0aW9uIHVud3JhcDxUPihyZXNwb25zZTogdW5rbm93biwgd2hhdDogc3RyaW5nKTogVCB7XG4gIGNvbnN0IGVudiA9IHJlc3BvbnNlIGFzIEVudmVsb3BlPFQ+IHwgdW5kZWZpbmVkO1xuICBpZiAoIWVudiB8fCBlbnYuc3VjY2VzcyA9PT0gZmFsc2UgfHwgIWVudi5kYXRhKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGVudj8ubWVzc2FnZSA/PyBgVGhlIHNlcnZlciByZXR1cm5lZCBubyAke3doYXR9YCk7XG4gIH1cbiAgcmV0dXJuIGVudi5kYXRhO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVwb3J0KHByb2dyYW06IENvbW1hbmQpOiB2b2lkIHtcbiAgY29uc3QgZ3JvdXAgPSBwcm9ncmFtLmNvbW1hbmQoJ3JlcG9ydCcpLmRlc2NyaXB0aW9uKCdDcmVhdGUsIHJ1biwgcHVibGlzaCBhbmQgc2hhcmUgc3Rha2Vob2xkZXIgcmVwb3J0cycpO1xuXG4gIC8vIOKUgOKUgCBsaXN0IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICB3aXRoU3NsT3B0aW9ucyhncm91cFxuICAgIC5jb21tYW5kKCdsaXN0JylcbiAgICAuZGVzY3JpcHRpb24oJ0xpc3QgdGhpcyBvcmdhbml6YXRpb25cXCdzIHNhdmVkIHJlcG9ydHMsIHRoZWlyIHNjaGVkdWxlIGFuZCBwYXVzZSBzdGF0ZS4nKSlcbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICBjb25zdCBleGVjdXRpb25JZCA9IHByaW50Q29tbWFuZEhlYWRlcignUmVwb3J0IExpc3QnKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIHByaW50U3NsV2FybmluZyhvcHRpb25zLnZlcmlmeVNzbCk7XG4gICAgICAgIGNvbnN0IGNsaWVudCA9IGNyZWF0ZUF1dGhlbnRpY2F0ZWRDbGllbnQob3B0aW9ucyk7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gRGF0ZS5ub3coKTtcbiAgICAgICAgY29uc3QgZGF0YSA9IHVud3JhcDx7IGRlZmluaXRpb25zOiBSZXBvcnREZWZpbml0aW9uW10gfT4oXG4gICAgICAgICAgYXdhaXQgY2xpZW50LmdldChgJHtjbGllbnQuZ2V0Q29uZmlnKCkuYXBpLmJhc2VVcmx9JHtCQVNFfS9kZWZpbml0aW9uc2ApLCAncmVwb3J0cycsXG4gICAgICAgICk7XG4gICAgICAgIHByaW50U2VjdGlvbignU2F2ZWQgUmVwb3J0cycpO1xuICAgICAgICBpZiAoZGF0YS5kZWZpbml0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICBwcmludEluZm8oJ05vIHNhdmVkIHJlcG9ydHMgeWV0LiBDcmVhdGUgb25lIHdpdGggYHBpcGVsaW5lLW1hbmFnZXIgcmVwb3J0IGNyZWF0ZWAuJyk7XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChjb25zdCBkIG9mIGRhdGEuZGVmaW5pdGlvbnMpIHtcbiAgICAgICAgICAvLyBUaGUgcGF1c2UgUkVBU09OLCBub3QganVzdCB0aGUgc3RhdGU6IFwicGF1c2VkXCIgb24gaXRzIG93biBpcyBhIHN1cHBvcnQgdGlja2V0LlxuICAgICAgICAgIGNvbnN0IHN0YXRlID0gZC5pc0FjdGl2ZVxuICAgICAgICAgICAgPyBncmVlbignYWN0aXZlJylcbiAgICAgICAgICAgIDogeWVsbG93KGBwYXVzZWQke2QucGF1c2VkUmVhc29uID8gYCAoJHtkLnBhdXNlZFJlYXNvbn0pYCA6ICcnfWApO1xuICAgICAgICAgIHByaW50S2V5VmFsdWUoe1xuICAgICAgICAgICAgW2JvbGQoZC5uYW1lKV06IGAke3N0YXRlfSAke2RpbShgwrcgJHtkLmNhZGVuY2V9IMK3ICR7ZC50aW1lem9uZX0gwrcgJHtkLnJlY2lwaWVudHMubGVuZ3RofSByZWNpcGllbnQocykke2QuYXV0b1NlbmQgPyAnIMK3IGF1dG8tc2VuZCcgOiAnJ31gKX1gLFxuICAgICAgICAgICAgJyAgaWQnOiBkLmlkLFxuICAgICAgICAgICAgJyAgbmV4dCBydW4nOiBkLm5leHRSdW5BdCA/PyAnKG5vdCBzY2hlZHVsZWQpJyxcbiAgICAgICAgICAgICcgIGxhc3QgcnVuJzogZC5sYXN0UnVuQXQgPz8gJyhuZXZlciknLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHByaW50RXhlY3V0aW9uU3VtbWFyeShleGVjdXRpb25JZCwgRGF0ZS5ub3coKSAtIHN0YXJ0KTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGhhbmRsZUVycm9yKGVycm9yLCBFUlJPUl9DT0RFUy5BUElfUkVRVUVTVCwge1xuICAgICAgICAgIGRlYnVnOiBwcm9ncmFtLm9wdHMoKS5kZWJ1ZyxcbiAgICAgICAgICBleGl0OiB0cnVlLFxuICAgICAgICAgIGNvbnRleHQ6IHsgY29tbWFuZDogJ3JlcG9ydC1saXN0JywgZXhlY3V0aW9uSWQgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgLy8g4pSA4pSAIGNyZWF0ZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgd2l0aFNzbE9wdGlvbnMoZ3JvdXBcbiAgICAuY29tbWFuZCgnY3JlYXRlJylcbiAgICAuZGVzY3JpcHRpb24oJ1NhdmUgYSBuZXcgc2NoZWR1bGVkIHJlcG9ydC4gVGhlIGNyZWF0b3Igb3ducyBpdDsgYSBzY2hlZHVsZWQgcnVuIGlzIGF1dGhvcml6ZWQgYXMgdGhlIG93bmVyLicpXG4gICAgLnJlcXVpcmVkT3B0aW9uKCctbiwgLS1uYW1lIDxuYW1lPicsICdSZXBvcnQgbmFtZSwgYXMgaXRzIHJlY2lwaWVudHMgd2lsbCBzZWUgaXQnKVxuICAgIC5vcHRpb24oJy10LCAtLXRlbXBsYXRlIDx0ZW1wbGF0ZT4nLCAnd2Vla2x5X2RlbGl2ZXJ5IHwgbW9udGhseV9oZWFsdGggfCBxdWFydGVybHlfcmV2aWV3JywgJ3dlZWtseV9kZWxpdmVyeScpXG4gICAgLm9wdGlvbignLXosIC0tdGltZXpvbmUgPHR6PicsICdJQU5BIHRpbWV6b25lIHRoZSBwZXJpb2QgaXMgY3V0IGluIChkZWZhdWx0cyB0byB0aGUgc2VydmVyXFwncyByZXBvcnQgZGVmYXVsdCknKVxuICAgIC5vcHRpb24oJy0td2Vlay1zdGFydCA8ZGF5PicsICdtb25kYXkgfCBzdW5kYXknKVxuICAgIC5vcHRpb24oJy0tc2NvcGUgPGtpbmQ+JywgJ29yZyB8IHByb2plY3RzIHwgcm9sbHVwJywgJ29yZycpXG4gICAgLm9wdGlvbignLS1wcm9qZWN0cyA8bmFtZXM+JywgJ0NvbW1hLXNlcGFyYXRlZCBwcm9qZWN0IG5hbWVzICh3aXRoIC0tc2NvcGUgcHJvamVjdHMpJylcbiAgICAub3B0aW9uKCctLXJlY2lwaWVudHMgPGlkcz4nLCAnQ29tbWEtc2VwYXJhdGVkIHJlY2lwaWVudCBJRHMgZnJvbSB0aGUgb3JnXFwncyBkaXN0cmlidXRpb24gbGlzdCcpXG4gICAgLm9wdGlvbignLS1hdXRvLXNlbmQnLCAnUHVibGlzaCB3aXRob3V0IHJldmlldy4gT2ZmIGJ5IGRlZmF1bHQg4oCUIHRoZSByZXZpZXcgc3RlcCBpcyB3aGVyZSB0aGUgY29udGV4dCBnb2VzLicpKVxuICAgIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICAgIGNvbnN0IGV4ZWN1dGlvbklkID0gcHJpbnRDb21tYW5kSGVhZGVyKCdSZXBvcnQgQ3JlYXRlJyk7XG4gICAgICB0cnkge1xuICAgICAgICBwcmludFNzbFdhcm5pbmcob3B0aW9ucy52ZXJpZnlTc2wpO1xuICAgICAgICBjb25zdCBjbGllbnQgPSBjcmVhdGVBdXRoZW50aWNhdGVkQ2xpZW50KG9wdGlvbnMpO1xuICAgICAgICBjb25zdCBwcm9qZWN0cyA9IHNwbGl0TGlzdChvcHRpb25zLnByb2plY3RzKTtcbiAgICAgICAgaWYgKG9wdGlvbnMuc2NvcGUgPT09ICdwcm9qZWN0cycgJiYgcHJvamVjdHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCctLXNjb3BlIHByb2plY3RzIG5lZWRzIC0tcHJvamVjdHMgd2l0aCBhdCBsZWFzdCBvbmUgcHJvamVjdCBuYW1lJyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYm9keTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7XG4gICAgICAgICAgbmFtZTogb3B0aW9ucy5uYW1lLFxuICAgICAgICAgIHRlbXBsYXRlOiBvcHRpb25zLnRlbXBsYXRlLFxuICAgICAgICAgIHNjb3BlOiBvcHRpb25zLnNjb3BlID09PSAncHJvamVjdHMnID8geyBraW5kOiAncHJvamVjdHMnLCBwcm9qZWN0cyB9IDogeyBraW5kOiBvcHRpb25zLnNjb3BlIH0sXG4gICAgICAgICAgcmVjaXBpZW50czogc3BsaXRMaXN0KG9wdGlvbnMucmVjaXBpZW50cyksXG4gICAgICAgICAgYXV0b1NlbmQ6IG9wdGlvbnMuYXV0b1NlbmQgPT09IHRydWUsXG4gICAgICAgICAgLi4uKG9wdGlvbnMudGltZXpvbmUgPyB7IHRpbWV6b25lOiBvcHRpb25zLnRpbWV6b25lIH0gOiB7fSksXG4gICAgICAgICAgLi4uKG9wdGlvbnMud2Vla1N0YXJ0ID8geyB3ZWVrU3RhcnQ6IG9wdGlvbnMud2Vla1N0YXJ0IH0gOiB7fSksXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gRGF0ZS5ub3coKTtcbiAgICAgICAgY29uc3QgZGF0YSA9IHVud3JhcDx7IGRlZmluaXRpb246IFJlcG9ydERlZmluaXRpb24gfT4oXG4gICAgICAgICAgYXdhaXQgY2xpZW50LnBvc3QoYCR7Y2xpZW50LmdldENvbmZpZygpLmFwaS5iYXNlVXJsfSR7QkFTRX0vZGVmaW5pdGlvbnNgLCBib2R5KSwgJ3JlcG9ydCcsXG4gICAgICAgICk7XG4gICAgICAgIHByaW50U2VjdGlvbignUmVwb3J0IFNhdmVkJyk7XG4gICAgICAgIHByaW50S2V5VmFsdWUoe1xuICAgICAgICAgICdOYW1lJzogZ3JlZW4oYm9sZChkYXRhLmRlZmluaXRpb24ubmFtZSkpLFxuICAgICAgICAgICdJRCc6IGRhdGEuZGVmaW5pdGlvbi5pZCxcbiAgICAgICAgICAnQ2FkZW5jZSc6IGAke2RhdGEuZGVmaW5pdGlvbi5jYWRlbmNlfSDCtyAke2RhdGEuZGVmaW5pdGlvbi50aW1lem9uZX1gLFxuICAgICAgICAgICdOZXh0IHJ1bic6IGRhdGEuZGVmaW5pdGlvbi5uZXh0UnVuQXQgPz8gJyhub3Qgc2NoZWR1bGVkKScsXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoZGF0YS5kZWZpbml0aW9uLnJlY2lwaWVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgLy8gU2FpZCBoZXJlIGJlY2F1c2UgaXQgaXMgdGhlIG1vc3QgY29tbW9uIHdheSBhIG5ldyByZXBvcnQgcmVhY2hlcyBub2JvZHk6IHRoZVxuICAgICAgICAgIC8vIGRpc3RyaWJ1dGlvbiBsaXN0IGlzIHBlciBPUkcgYW5kIGFuIGFkZHJlc3MgY29uZmlybXMgYnkgZW1haWwgYmVmb3JlIGRlbGl2ZXJ5LlxuICAgICAgICAgIHByaW50V2FybmluZygnTm8gcmVjaXBpZW50cyB5ZXQg4oCUIGFkZCB0aGVtIGluIHRoZSBkYXNoYm9hcmQ7IGFuIGV4dGVybmFsIGFkZHJlc3MgY29uZmlybXMgYnkgZW1haWwgYmVmb3JlIGFueXRoaW5nIGlzIGRlbGl2ZXJlZC4nKTtcbiAgICAgICAgfVxuICAgICAgICBwcmludFN1Y2Nlc3MoJ1JlcG9ydCBjcmVhdGVkJyk7XG4gICAgICAgIHByaW50RXhlY3V0aW9uU3VtbWFyeShleGVjdXRpb25JZCwgRGF0ZS5ub3coKSAtIHN0YXJ0KTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGhhbmRsZUVycm9yKGVycm9yLCBFUlJPUl9DT0RFUy5BUElfUkVRVUVTVCwge1xuICAgICAgICAgIGRlYnVnOiBwcm9ncmFtLm9wdHMoKS5kZWJ1ZyxcbiAgICAgICAgICBleGl0OiB0cnVlLFxuICAgICAgICAgIGNvbnRleHQ6IHsgY29tbWFuZDogJ3JlcG9ydC1jcmVhdGUnLCBleGVjdXRpb25JZCB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAvLyDilIDilIAgcnVuIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICB3aXRoU3NsT3B0aW9ucyhncm91cFxuICAgIC5jb21tYW5kKCdydW4nKVxuICAgIC5kZXNjcmlwdGlvbignQ29tcG9zZSBvbmUgcGVyaW9kIGludG8gYSBmcm96ZW4gc25hcHNob3QuIFdpdGhvdXQgLS1wZXJpb2QsIHRoZSBsYXN0IGNvbXBsZXRlIHBlcmlvZC4nKVxuICAgIC5yZXF1aXJlZE9wdGlvbignLWksIC0taWQgPGlkPicsICdSZXBvcnQgZGVmaW5pdGlvbiBJRCcpXG4gICAgLm9wdGlvbignLXAsIC0tcGVyaW9kIDxsYWJlbD4nLCAnUGVyaW9kIGxhYmVsOiAyMDI2LVczOCAod2Vla2x5KSwgMjAyNi0wOCAobW9udGhseSksIDIwMjYtUTMgKHF1YXJ0ZXJseSknKVxuICAgIC5vcHRpb24oJy0tcmVnZW5lcmF0ZScsICdQcm9kdWNlIHZlcnNpb24gTisxIGluc3RlYWQgb2YgcmV1c2luZyBhbiBleGlzdGluZyBzbmFwc2hvdCcpKVxuICAgIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICAgIGNvbnN0IGV4ZWN1dGlvbklkID0gcHJpbnRDb21tYW5kSGVhZGVyKCdSZXBvcnQgUnVuJyk7XG4gICAgICB0cnkge1xuICAgICAgICBwcmludFNzbFdhcm5pbmcob3B0aW9ucy52ZXJpZnlTc2wpO1xuICAgICAgICBjb25zdCBjbGllbnQgPSBjcmVhdGVBdXRoZW50aWNhdGVkQ2xpZW50KG9wdGlvbnMpO1xuICAgICAgICBjb25zdCBzdGFydCA9IERhdGUubm93KCk7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB1bndyYXA8eyBydW46IFJlcG9ydFJ1bjsgcmV1c2VkPzogYm9vbGVhbiB9PihcbiAgICAgICAgICBhd2FpdCBjbGllbnQucG9zdChcbiAgICAgICAgICAgIGAke2NsaWVudC5nZXRDb25maWcoKS5hcGkuYmFzZVVybH0ke0JBU0V9L2RlZmluaXRpb25zLyR7ZW5jb2RlVVJJQ29tcG9uZW50KG9wdGlvbnMuaWQpfS9ydW5zYCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgLi4uKG9wdGlvbnMucGVyaW9kID8geyBwZXJpb2Q6IG9wdGlvbnMucGVyaW9kIH0gOiB7fSksXG4gICAgICAgICAgICAgIC4uLihvcHRpb25zLnJlZ2VuZXJhdGUgPyB7IHJlZ2VuZXJhdGU6IHRydWUgfSA6IHt9KSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgKSwgJ3J1bicsXG4gICAgICAgICk7XG4gICAgICAgIHByaW50U2VjdGlvbihkYXRhLnJldXNlZCA/ICdFeGlzdGluZyBTbmFwc2hvdCcgOiAnU25hcHNob3QgQ29tcG9zZWQnKTtcbiAgICAgICAgcHJpbnRLZXlWYWx1ZSh7XG4gICAgICAgICAgJ1BlcmlvZCc6IGdyZWVuKGJvbGQoZGF0YS5ydW4ucGVyaW9kTGFiZWwpKSxcbiAgICAgICAgICAnUnVuIElEJzogZGF0YS5ydW4uaWQsXG4gICAgICAgICAgJ1ZlcnNpb24nOiBTdHJpbmcoZGF0YS5ydW4udmVyc2lvbiksXG4gICAgICAgICAgJ1N0YXR1cyc6IGRhdGEucnVuLnN0YXR1cyxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChkYXRhLnJldXNlZCkge1xuICAgICAgICAgIC8vIE5vdCBhIG5vLW9wIHRvIGhpZGU6IGEgZnJvemVuIHNuYXBzaG90J3MgbnVtYmVycyBkbyBub3QgY2hhbmdlLCBzbyByZS1ydW5uaW5nXG4gICAgICAgICAgLy8gcmV0dXJucyB3aGF0IGV4aXN0cy4gYC0tcmVnZW5lcmF0ZWAgaXMgaG93IHlvdSBhc2sgZm9yIGEgbmV3IHZlcnNpb24uXG4gICAgICAgICAgcHJpbnRJbmZvKCdUaGlzIHBlcmlvZCBhbHJlYWR5IGhhZCBhIHNuYXBzaG90LCBzbyBpdCB3YXMgcmV0dXJuZWQgdW5jaGFuZ2VkLiBVc2UgLS1yZWdlbmVyYXRlIGZvciBhIG5ldyB2ZXJzaW9uLicpO1xuICAgICAgICB9XG4gICAgICAgIHByaW50RXhlY3V0aW9uU3VtbWFyeShleGVjdXRpb25JZCwgRGF0ZS5ub3coKSAtIHN0YXJ0KTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGhhbmRsZUVycm9yKGVycm9yLCBFUlJPUl9DT0RFUy5BUElfUkVRVUVTVCwge1xuICAgICAgICAgIGRlYnVnOiBwcm9ncmFtLm9wdHMoKS5kZWJ1ZyxcbiAgICAgICAgICBleGl0OiB0cnVlLFxuICAgICAgICAgIGNvbnRleHQ6IHsgY29tbWFuZDogJ3JlcG9ydC1ydW4nLCBleGVjdXRpb25JZCB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAvLyDilIDilIAgcHVibGlzaCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgd2l0aFNzbE9wdGlvbnMoZ3JvdXBcbiAgICAuY29tbWFuZCgncHVibGlzaCcpXG4gICAgLmRlc2NyaXB0aW9uKCdQdWJsaXNoIGEgY29tcG9zZWQgcnVuLiBOZWVkcyByZXBvcnRzOnB1Ymxpc2gg4oCUIHB1Ymxpc2hpbmcgaXMgd2hlbiBudW1iZXJzIGxlYXZlIHRoZSBwbGF0Zm9ybS4nKVxuICAgIC5yZXF1aXJlZE9wdGlvbignLXIsIC0tcnVuIDxpZD4nLCAnUnVuIElEIHRvIHB1Ymxpc2gnKSlcbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICBjb25zdCBleGVjdXRpb25JZCA9IHByaW50Q29tbWFuZEhlYWRlcignUmVwb3J0IFB1Ymxpc2gnKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIHByaW50U3NsV2FybmluZyhvcHRpb25zLnZlcmlmeVNzbCk7XG4gICAgICAgIGNvbnN0IGNsaWVudCA9IGNyZWF0ZUF1dGhlbnRpY2F0ZWRDbGllbnQob3B0aW9ucyk7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gRGF0ZS5ub3coKTtcbiAgICAgICAgY29uc3QgZGF0YSA9IHVud3JhcDx7IHJ1bjogUmVwb3J0UnVuOyBhbHJlYWR5UHVibGlzaGVkPzogYm9vbGVhbiB9PihcbiAgICAgICAgICBhd2FpdCBjbGllbnQucG9zdChcbiAgICAgICAgICAgIGAke2NsaWVudC5nZXRDb25maWcoKS5hcGkuYmFzZVVybH0ke0JBU0V9L3J1bnMvJHtlbmNvZGVVUklDb21wb25lbnQob3B0aW9ucy5ydW4pfS9wdWJsaXNoYCwge30sXG4gICAgICAgICAgKSwgJ3J1bicsXG4gICAgICAgICk7XG4gICAgICAgIHByaW50U2VjdGlvbignUHVibGlzaGVkJyk7XG4gICAgICAgIHByaW50S2V5VmFsdWUoe1xuICAgICAgICAgICdQZXJpb2QnOiBncmVlbihib2xkKGRhdGEucnVuLnBlcmlvZExhYmVsKSksXG4gICAgICAgICAgJ1B1Ymxpc2hlZCBhdCc6IGRhdGEucnVuLnB1Ymxpc2hlZEF0ID8/ICcodW5rbm93biknLFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGRhdGEuYWxyZWFkeVB1Ymxpc2hlZCkge1xuICAgICAgICAgIC8vIElkZW1wb3RlbnQgYnkgZGVzaWduOiB0d28gcHVibGlzaGVzIHNlbmQgb25lIHJlcG9ydCwgc28gYSByZXRyaWVkIHNjcmlwdCBpc1xuICAgICAgICAgIC8vIHNhZmUuIFJlcG9ydGVkIHJhdGhlciB0aGFuIHNpbGVudCwgc28gYSB3cmFwcGVyIGNhbiB0ZWxsIHRoZSBkaWZmZXJlbmNlLlxuICAgICAgICAgIHByaW50SW5mbygnVGhpcyBydW4gd2FzIGFscmVhZHkgcHVibGlzaGVkOyBub3RoaW5nIHdhcyBzZW50IGFnYWluLicpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHByaW50U3VjY2VzcygnUHVibGlzaGVkIOKAlCBkZWxpdmVyeSBpcyB1bmRlciB3YXknKTtcbiAgICAgICAgfVxuICAgICAgICBwcmludEV4ZWN1dGlvblN1bW1hcnkoZXhlY3V0aW9uSWQsIERhdGUubm93KCkgLSBzdGFydCk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBoYW5kbGVFcnJvcihlcnJvciwgRVJST1JfQ09ERVMuQVBJX1JFUVVFU1QsIHtcbiAgICAgICAgICBkZWJ1ZzogcHJvZ3JhbS5vcHRzKCkuZGVidWcsXG4gICAgICAgICAgZXhpdDogdHJ1ZSxcbiAgICAgICAgICBjb250ZXh0OiB7IGNvbW1hbmQ6ICdyZXBvcnQtcHVibGlzaCcsIGV4ZWN1dGlvbklkIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gIC8vIOKUgOKUgCBsaW5rIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICB3aXRoU3NsT3B0aW9ucyhncm91cFxuICAgIC5jb21tYW5kKCdsaW5rJylcbiAgICAuZGVzY3JpcHRpb24oJ01pbnQgYW4gZXhwaXJpbmcgcmVhZC1vbmx5IGxpbmsgdG8gYSBwdWJsaXNoZWQgcnVuLiBUaGUgdG9rZW4gaXMgc2hvd24gT05DRS4nKVxuICAgIC5yZXF1aXJlZE9wdGlvbignLXIsIC0tcnVuIDxpZD4nLCAnUHVibGlzaGVkIHJ1biBJRCcpXG4gICAgLm9wdGlvbignLS1kYXlzIDxuPicsICdEYXlzIHVudGlsIGl0IGV4cGlyZXMgKHNlcnZlciBkZWZhdWx0IDMwLCBtYXhpbXVtIDE4MCknKVxuICAgIC5vcHRpb24oJy0tcmVkYWN0LW5hbWVzJywgJ1JlcGxhY2UgcHJvamVjdCBhbmQgcGlwZWxpbmUgbmFtZXMgaW4gdGhlIHNoYXJlZCB2aWV3JykpXG4gICAgLmFjdGlvbihhc3luYyAob3B0aW9ucykgPT4ge1xuICAgICAgY29uc3QgZXhlY3V0aW9uSWQgPSBwcmludENvbW1hbmRIZWFkZXIoJ1JlcG9ydCBMaW5rJyk7XG4gICAgICB0cnkge1xuICAgICAgICBwcmludFNzbFdhcm5pbmcob3B0aW9ucy52ZXJpZnlTc2wpO1xuICAgICAgICBjb25zdCBjbGllbnQgPSBjcmVhdGVBdXRoZW50aWNhdGVkQ2xpZW50KG9wdGlvbnMpO1xuICAgICAgICBjb25zdCBkYXlzID0gb3B0aW9ucy5kYXlzID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiBOdW1iZXIob3B0aW9ucy5kYXlzKTtcbiAgICAgICAgaWYgKGRheXMgIT09IHVuZGVmaW5lZCAmJiAoIU51bWJlci5pc0ludGVnZXIoZGF5cykgfHwgZGF5cyA8IDEpKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCctLWRheXMgbXVzdCBiZSBhIHBvc2l0aXZlIHdob2xlIG51bWJlciBvZiBkYXlzJyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3RhcnQgPSBEYXRlLm5vdygpO1xuICAgICAgICBjb25zdCBkYXRhID0gdW53cmFwPHsgdXJsPzogc3RyaW5nOyB0b2tlbj86IHN0cmluZzsgZXhwaXJlc0F0OiBzdHJpbmcgfT4oXG4gICAgICAgICAgYXdhaXQgY2xpZW50LnBvc3QoXG4gICAgICAgICAgICBgJHtjbGllbnQuZ2V0Q29uZmlnKCkuYXBpLmJhc2VVcmx9JHtCQVNFfS9ydW5zLyR7ZW5jb2RlVVJJQ29tcG9uZW50KG9wdGlvbnMucnVuKX0vbGlua3NgLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAuLi4oZGF5cyAhPT0gdW5kZWZpbmVkID8geyBleHBpcmVzSW5EYXlzOiBkYXlzIH0gOiB7fSksXG4gICAgICAgICAgICAgIC4uLihvcHRpb25zLnJlZGFjdE5hbWVzID8geyByZWRhY3ROYW1lczogdHJ1ZSB9IDoge30pLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICApLCAnbGluaycsXG4gICAgICAgICk7XG4gICAgICAgIHByaW50U2VjdGlvbignU2hhcmUgTGluaycpO1xuICAgICAgICBwcmludEtleVZhbHVlKHtcbiAgICAgICAgICBMaW5rOiBncmVlbihib2xkKGRhdGEudXJsID8/IGRhdGEudG9rZW4gPz8gJyhub3QgcmV0dXJuZWQpJykpLFxuICAgICAgICAgIEV4cGlyZXM6IGRhdGEuZXhwaXJlc0F0LFxuICAgICAgICB9KTtcbiAgICAgICAgLy8gU2FpZCBldmVyeSB0aW1lLCBiZWNhdXNlIGl0IGlzIHRydWUgZXZlcnkgdGltZSBhbmQgdGhlIGNvbnNlcXVlbmNlIGlzIHBlcm1hbmVudDpcbiAgICAgICAgLy8gdGhlIHNlcnZlciBzdG9yZXMgb25seSBhIGhhc2gsIHNvIGEgbG9zdCB0b2tlbiBjYW5ub3QgYmUgcmVjb3ZlcmVkLCBvbmx5IHJlcGxhY2VkLlxuICAgICAgICBwcmludFdhcm5pbmcoJ0NvcHkgdGhpcyBub3cg4oCUIG9ubHkgYSBoYXNoIGlzIHN0b3JlZCwgc28gaXQgY2Fubm90IGJlIHNob3duIGFnYWluLiBSZXZva2UgaXQgaW4gdGhlIGRhc2hib2FyZCBpZiBpdCBsZWFrcy4nKTtcbiAgICAgICAgcHJpbnRFeGVjdXRpb25TdW1tYXJ5KGV4ZWN1dGlvbklkLCBEYXRlLm5vdygpIC0gc3RhcnQpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaGFuZGxlRXJyb3IoZXJyb3IsIEVSUk9SX0NPREVTLkFQSV9SRVFVRVNULCB7XG4gICAgICAgICAgZGVidWc6IHByb2dyYW0ub3B0cygpLmRlYnVnLFxuICAgICAgICAgIGV4aXQ6IHRydWUsXG4gICAgICAgICAgY29udGV4dDogeyBjb21tYW5kOiAncmVwb3J0LWxpbmsnLCBleGVjdXRpb25JZCB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAvLyDilIDilIAgcGRmIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICB3aXRoU3NsT3B0aW9ucyhncm91cFxuICAgIC5jb21tYW5kKCdwZGYnKVxuICAgIC5kZXNjcmlwdGlvbignRG93bmxvYWQgYSBydW4gYXMgYSBQREYuIE5lZWRzIHJlcG9ydHM6cmVhZCDigJQgdGhlIHNhbWUgcGVybWlzc2lvbiBhcyByZWFkaW5nIHRoZSBydW4uJylcbiAgICAucmVxdWlyZWRPcHRpb24oJy1yLCAtLXJ1biA8aWQ+JywgJ1J1biBJRCB0byBkb3dubG9hZCcpXG4gICAgLm9wdGlvbignLW8sIC0tb3V0IDxmaWxlPicsICdXaGVyZSB0byB3cml0ZSBpdCAoZGVmYXVsdDogdGhlIGZpbGUgbmFtZSB0aGUgc2VydmVyIGNob3NlLCBpbiB0aGUgd29ya2luZyBkaXJlY3RvcnkpJykpXG4gICAgLmFjdGlvbihhc3luYyAob3B0aW9ucykgPT4ge1xuICAgICAgY29uc3QgZXhlY3V0aW9uSWQgPSBwcmludENvbW1hbmRIZWFkZXIoJ1JlcG9ydCBQREYnKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIHByaW50U3NsV2FybmluZyhvcHRpb25zLnZlcmlmeVNzbCk7XG4gICAgICAgIGNvbnN0IGNsaWVudCA9IGNyZWF0ZUF1dGhlbnRpY2F0ZWRDbGllbnQob3B0aW9ucyk7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gRGF0ZS5ub3coKTtcbiAgICAgICAgY29uc3QgeyBkYXRhLCBmaWxlbmFtZSB9ID0gYXdhaXQgY2xpZW50LmdldEJpbmFyeShcbiAgICAgICAgICBgJHtjbGllbnQuZ2V0Q29uZmlnKCkuYXBpLmJhc2VVcmx9JHtCQVNFfS9ydW5zLyR7ZW5jb2RlVVJJQ29tcG9uZW50KG9wdGlvbnMucnVuKX0vcGRmYCxcbiAgICAgICAgKTtcbiAgICAgICAgLy8gVGhlIHNlcnZlcidzIG5hbWUgdW5sZXNzIHRoZSBjYWxsZXIgYXNrZWQgZm9yIG9uZTogaXQga25vd3MgdGhlIHJlcG9ydCdzIHRpdGxlIGFuZFxuICAgICAgICAvLyB3aGV0aGVyIHRoaXMgcnVuIGlzIGEgcmV2aXNpb24sIGFuZCBhIHNjcmlwdGVkIGJvYXJkIHBhY2sgd2FudHMgdGhhdCBuYW1lLlxuICAgICAgICBjb25zdCB0YXJnZXQgPSB0eXBlb2Ygb3B0aW9ucy5vdXQgPT09ICdzdHJpbmcnICYmIG9wdGlvbnMub3V0Lmxlbmd0aCA+IDBcbiAgICAgICAgICA/IG9wdGlvbnMub3V0XG4gICAgICAgICAgOiAoZmlsZW5hbWUgPz8gYHJlcG9ydC0ke29wdGlvbnMucnVufS5wZGZgKTtcbiAgICAgICAgd3JpdGVGaWxlU3luYyh0YXJnZXQsIGRhdGEpO1xuICAgICAgICBwcmludFNlY3Rpb24oJ0Rvd25sb2FkZWQnKTtcbiAgICAgICAgcHJpbnRLZXlWYWx1ZSh7IEZpbGU6IGdyZWVuKGJvbGQodGFyZ2V0KSksIFNpemU6IGAkeyhkYXRhLmxlbmd0aCAvIDEwMjQpLnRvRml4ZWQoMSl9IEtpQmAgfSk7XG4gICAgICAgIHByaW50U3VjY2VzcygnU2F2ZWQnKTtcbiAgICAgICAgcHJpbnRFeGVjdXRpb25TdW1tYXJ5KGV4ZWN1dGlvbklkLCBEYXRlLm5vdygpIC0gc3RhcnQpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgLy8gQSA1MDMgaGVyZSBpcyBub3QgYSBmYWlsdXJlIG9mIHRoZSByZXBvcnQ6IHRoaXMgaW5zdGFuY2UgaGFzIG5vIENocm9taXVtLCBhbmQgdGhlXG4gICAgICAgIC8vIHNlcnZlciBzYXlzIHNvIGluIHdvcmRzLiBJdCBzdGlsbCBleGl0cyBub24temVybywgYmVjYXVzZSBhIHNjcmlwdCB0aGF0IGFza2VkIGZvciBhXG4gICAgICAgIC8vIGZpbGUgYW5kIGdvdCBub25lIG11c3Qgbm90IGNhcnJ5IG9uIGFzIHRob3VnaCBpdCBoYXMgb25lLlxuICAgICAgICBoYW5kbGVFcnJvcihlcnJvciwgRVJST1JfQ09ERVMuQVBJX1JFUVVFU1QsIHtcbiAgICAgICAgICBkZWJ1ZzogcHJvZ3JhbS5vcHRzKCkuZGVidWcsXG4gICAgICAgICAgZXhpdDogdHJ1ZSxcbiAgICAgICAgICBjb250ZXh0OiB7IGNvbW1hbmQ6ICdyZXBvcnQtcGRmJywgZXhlY3V0aW9uSWQgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgLy8g4pSA4pSAIHRyYW5zZmVyIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICB3aXRoU3NsT3B0aW9ucyhncm91cFxuICAgIC5jb21tYW5kKCd0cmFuc2ZlcicpXG4gICAgLmRlc2NyaXB0aW9uKCdIYW5kIGEgcmVwb3J0IHRvIGEgbmV3IG93bmVyLiBBIHNjaGVkdWxlZCBydW4gaXMgYXV0aG9yaXplZCBBUyB0aGUgb3duZXIsIHNvIHRoaXMgaXMgYSBwcml2aWxlZ2UgbW92ZS4nKVxuICAgIC5yZXF1aXJlZE9wdGlvbignLWksIC0taWQgPGlkPicsICdSZXBvcnQgZGVmaW5pdGlvbiBJRCcpXG4gICAgLnJlcXVpcmVkT3B0aW9uKCctbywgLS1vd25lciA8dXNlcklkPicsICdOZXcgb3duZXJcXCdzIHVzZXIgSUQg4oCUIG11c3QgYmUgYSBsaXZlIG1lbWJlciBvZiB0aGlzIG9yZycpKVxuICAgIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICAgIGNvbnN0IGV4ZWN1dGlvbklkID0gcHJpbnRDb21tYW5kSGVhZGVyKCdSZXBvcnQgVHJhbnNmZXInKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIHByaW50U3NsV2FybmluZyhvcHRpb25zLnZlcmlmeVNzbCk7XG4gICAgICAgIGNvbnN0IGNsaWVudCA9IGNyZWF0ZUF1dGhlbnRpY2F0ZWRDbGllbnQob3B0aW9ucyk7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gRGF0ZS5ub3coKTtcbiAgICAgICAgY29uc3QgZGF0YSA9IHVud3JhcDx7IGRlZmluaXRpb246IFJlcG9ydERlZmluaXRpb24gfT4oXG4gICAgICAgICAgYXdhaXQgY2xpZW50LnBvc3QoXG4gICAgICAgICAgICBgJHtjbGllbnQuZ2V0Q29uZmlnKCkuYXBpLmJhc2VVcmx9JHtCQVNFfS9kZWZpbml0aW9ucy8ke2VuY29kZVVSSUNvbXBvbmVudChvcHRpb25zLmlkKX0vdHJhbnNmZXJgLFxuICAgICAgICAgICAgeyBvd25lcklkOiBvcHRpb25zLm93bmVyIH0sXG4gICAgICAgICAgKSwgJ3JlcG9ydCcsXG4gICAgICAgICk7XG4gICAgICAgIHByaW50U2VjdGlvbignT3duZXJzaGlwIFRyYW5zZmVycmVkJyk7XG4gICAgICAgIHByaW50S2V5VmFsdWUoeyAnUmVwb3J0JzogZ3JlZW4oYm9sZChkYXRhLmRlZmluaXRpb24ubmFtZSkpLCAnTmV3IG93bmVyJzogb3B0aW9ucy5vd25lciB9KTtcbiAgICAgICAgLy8gVGhlIGNvbnNlcXVlbmNlLCBpbiBvbmUgbGluZTogZnJvbSBub3cgb24gdGhlIHJlcG9ydCBjb21wdXRlcyB3aXRoIGEgZGlmZmVyZW50XG4gICAgICAgIC8vIHBlcnNvbidzIGFjY2Vzcywgd2hpY2ggY2FuIGNoYW5nZSB3aGF0IGl0IGNvbnRhaW5zLlxuICAgICAgICBwcmludEluZm8oJ0Z1dHVyZSBydW5zIGFyZSBhdXRob3JpemVkIGFzIHRoZSBuZXcgb3duZXIsIHNvIHRoZSByZXBvcnQgbm93IGNvbXB1dGVzIHdpdGggdGhlaXIgYWNjZXNzLicpO1xuICAgICAgICBwcmludEV4ZWN1dGlvblN1bW1hcnkoZXhlY3V0aW9uSWQsIERhdGUubm93KCkgLSBzdGFydCk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBoYW5kbGVFcnJvcihlcnJvciwgRVJST1JfQ09ERVMuQVBJX1JFUVVFU1QsIHtcbiAgICAgICAgICBkZWJ1ZzogcHJvZ3JhbS5vcHRzKCkuZGVidWcsXG4gICAgICAgICAgZXhpdDogdHJ1ZSxcbiAgICAgICAgICBjb250ZXh0OiB7IGNvbW1hbmQ6ICdyZXBvcnQtdHJhbnNmZXInLCBleGVjdXRpb25JZCB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbn1cblxuLyoqIGBcImEsIGIgLGNcImAg4oaSIGBbJ2EnLCdiJywnYyddYDsgZW1wdHkgb3IgYWJzZW50IOKGkiBgW11gLiAqL1xuZnVuY3Rpb24gc3BsaXRMaXN0KHZhbHVlOiB1bmtub3duKTogc3RyaW5nW10ge1xuICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJykgcmV0dXJuIFtdO1xuICByZXR1cm4gdmFsdWUuc3BsaXQoJywnKS5tYXAoKHMpID0+IHMudHJpbSgpKS5maWx0ZXIoKHMpID0+IHMubGVuZ3RoID4gMCk7XG59XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security-report.d.ts","
|
|
1
|
+
{"version":3,"file":"security-report.d.ts","sources":["../../src/commands/security-report.ts"],"names":[],"mappings":"AAIA,OAAO,EAA2B,KAAK,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACrG,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,UAAU,aAAa;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,sEAAsE;AACtE,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,oBAAoB,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,4DAA4D;AAC5D,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,aAAa,GAAG,OAAO,CAAC,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,kBAAkB,CAyBpL;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmCrD"}
|
|
@@ -86,4 +86,4 @@ export function securityReport(program) {
|
|
|
86
86
|
}
|
|
87
87
|
});
|
|
88
88
|
}
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHktcmVwb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL3NlY3VyaXR5LXJlcG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBNkIsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFDTCw4QkFBOEIsRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxHQUMzSSxNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTVELGlGQUFpRjtBQUNqRixNQUFNLGdCQUFnQixHQUFHLEVBQUUsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDO0FBd0IxQyw0REFBNEQ7QUFDNUQsTUFBTSxVQUFVLHVCQUF1QixDQUFDLE9BQWtGLEVBQUUsR0FBRyxHQUFzQixPQUFPLENBQUMsR0FBRztJQUM5SixJQUFJLENBQUUsdUJBQTZDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQzdFLE1BQU0sSUFBSSxlQUFlLENBQUMsMkJBQTJCLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkgsQ0FBQztJQUNELE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDakMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFBRSxNQUFNLElBQUksZUFBZSxDQUFDLHNEQUFzRCxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEosTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDekMsSUFBSSxJQUFJLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztRQUM1QixNQUFNLElBQUksZUFBZSxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksT0FBTyxJQUFJLHFCQUFxQixnQkFBZ0Isb0JBQW9CLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekgsQ0FBQztJQUNELElBQUksTUFBZSxDQUFDO0lBQ3BCLElBQUksQ0FBQztRQUNILE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE1BQU0sSUFBSSxlQUFlLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxvRUFBb0UsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN6SCxDQUFDO0lBQ0QsK0RBQStEO0lBQy9ELE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLElBQUksR0FBRyxDQUFDLHFCQUFxQixDQUFDO0lBQ3JFLE9BQU87UUFDTCxJQUFJO1FBQ0osTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUE4QjtRQUM5QyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDdkMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2xELE1BQU07S0FDUCxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FBQyxPQUFnQjtJQUM3QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsV0FBVyxDQUFDLDREQUE0RCxDQUFDLENBQUM7SUFDM0gsY0FBYyxDQUNaLGdCQUFnQixDQUNkLGlCQUFpQixDQUFDLEtBQUs7U0FDcEIsT0FBTyxDQUFDLFFBQVEsQ0FBQztTQUNqQixXQUFXLENBQUMsMENBQTBDLENBQUM7U0FDdkQsY0FBYyxDQUFDLHdCQUF3QixFQUFFLGFBQWEsQ0FBQztTQUN2RCxjQUFjLENBQUMsbUJBQW1CLEVBQUUsb0JBQW9CLENBQUM7U0FDekQsY0FBYyxDQUFDLG1CQUFtQixFQUFFLHlDQUF5QyxDQUFDO1NBQzlFLGNBQWMsQ0FBQyxtQkFBbUIsRUFBRSxrQkFBa0IsdUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7U0FDNUYsTUFBTSxDQUFDLHFCQUFxQixFQUFFLHdEQUF3RCxDQUFDO1NBQ3ZGLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSw0QkFBNEIsQ0FBQztTQUN0RCxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsMEVBQTBFLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FDaEgsQ0FDRjtTQUNFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsT0FBc0IsRUFBRSxFQUFFO1FBQ3ZDLE1BQU0sV0FBVyxHQUFHLGtCQUFrQixDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDO1lBQ0gsZUFBZSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNuQyxNQUFNLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ3BFLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMxQixNQUFNLElBQUksR0FBRyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM5QyxTQUFTLENBQUMsV0FBVyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUNqRyxNQUFNLE1BQU0sR0FBRyxNQUFNLDhCQUE4QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzdELE1BQU0sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxJQUFJLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNwSCxZQUFZLENBQUMsMEJBQTBCLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzVFLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsV0FBVyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsV0FBVyxFQUFFO2dCQUMxQyxLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUs7Z0JBQzNCLElBQUksRUFBRSxJQUFJO2dCQUNWLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUU7YUFDNUYsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgeyByZWFkRmlsZVN5bmMsIHN0YXRTeW5jIH0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQgeyBTRUNVUklUWV9SRVBPUlRfRk9STUFUUywgdHlwZSBTZWN1cml0eVJlcG9ydEZvcm1hdCB9IGZyb20gJ0BwaXBlbGluZS1idWlsZGVyL3BpcGVsaW5lLWNvcmUnO1xuaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gJ2NvbW1hbmRlcic7XG5pbXBvcnQge1xuICBjcmVhdGVBdXRoZW50aWNhdGVkQ2xpZW50QXN5bmMsIHByaW50Q29tbWFuZEhlYWRlciwgcHJpbnRTc2xXYXJuaW5nLCB2YWxpZGF0ZUVudGl0eUlkLCB3aXRoUHJvZmlsZU9wdGlvbiwgd2l0aFJlZ2lvbk9wdGlvbiwgd2l0aFNzbE9wdGlvbnMsXG59IGZyb20gJy4uL3V0aWxzL2NvbW1hbmQtdXRpbHMuanMnO1xuaW1wb3J0IHsgRVJST1JfQ09ERVMsIGhhbmRsZUVycm9yLCBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICcuLi91dGlscy9lcnJvci1oYW5kbGVyLmpzJztcbmltcG9ydCB7IHByaW50SW5mbywgcHJpbnRTdWNjZXNzIH0gZnJvbSAnLi4vdXRpbHMvb3V0cHV0LXV0aWxzLmpzJztcbmltcG9ydCB7IHNldFBpcGVsaW5lSWQgfSBmcm9tICcuLi91dGlscy9yZXF1ZXN0LWNvbnRleHQuanMnO1xuXG4vKiogUmVmdXNlIGEgcmVwb3J0IHRoaXMgbGFyZ2UgY2xpZW50LXNpZGUgcmF0aGVyIHRoYW4gc2hpcCBpdCBhbmQgYmUgcmVmdXNlZC4gKi9cbmNvbnN0IE1BWF9SRVBPUlRfQllURVMgPSAxMCAqIDEwMjQgKiAxMDI0O1xuXG5pbnRlcmZhY2UgVXBsb2FkT3B0aW9ucyB7XG4gIHBpcGVsaW5lSWQ6IHN0cmluZztcbiAgZmlsZTogc3RyaW5nO1xuICB0b29sOiBzdHJpbmc7XG4gIGZvcm1hdDogc3RyaW5nO1xuICBleGVjdXRpb25JZD86IHN0cmluZztcbiAgc3RhZ2U/OiBzdHJpbmc7XG4gIHN0b3JlVG9rZW5zPzogYm9vbGVhbjtcbiAgdmVyaWZ5U3NsPzogYm9vbGVhbjtcbiAgcmVnaW9uPzogc3RyaW5nO1xuICBwcm9maWxlPzogc3RyaW5nO1xufVxuXG4vKiogVGhlIEpTT04gYm9keSBgUE9TVCAvYXBpL3BpcGVsaW5lcy86aWQvc2VjdXJpdHktcmVwb3J0c2AgdGFrZXMuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlY3VyaXR5UmVwb3J0Qm9keSB7XG4gIHRvb2w6IHN0cmluZztcbiAgZm9ybWF0OiBTZWN1cml0eVJlcG9ydEZvcm1hdDtcbiAgZXhlY3V0aW9uSWQ/OiBzdHJpbmc7XG4gIHN0YWdlPzogc3RyaW5nO1xuICByZXBvcnQ6IHVua25vd247XG59XG5cbi8qKiBSZWFkICsgdmFsaWRhdGUgdGhlIHJlcG9ydCBhbmQgYnVpbGQgdGhlIHVwbG9hZCBib2R5LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkU2VjdXJpdHlSZXBvcnRCb2R5KG9wdGlvbnM6IFBpY2s8VXBsb2FkT3B0aW9ucywgJ2ZpbGUnIHwgJ3Rvb2wnIHwgJ2Zvcm1hdCcgfCAnZXhlY3V0aW9uSWQnIHwgJ3N0YWdlJz4sIGVudjogTm9kZUpTLlByb2Nlc3NFbnYgPSBwcm9jZXNzLmVudik6IFNlY3VyaXR5UmVwb3J0Qm9keSB7XG4gIGlmICghKFNFQ1VSSVRZX1JFUE9SVF9GT1JNQVRTIGFzIHJlYWRvbmx5IHN0cmluZ1tdKS5pbmNsdWRlcyhvcHRpb25zLmZvcm1hdCkpIHtcbiAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGAtLWZvcm1hdCBtdXN0IGJlIG9uZSBvZiAke1NFQ1VSSVRZX1JFUE9SVF9GT1JNQVRTLmpvaW4oJywgJyl9YCwgJ2Zvcm1hdCcsIG9wdGlvbnMuZm9ybWF0KTtcbiAgfVxuICBjb25zdCB0b29sID0gb3B0aW9ucy50b29sLnRyaW0oKTtcbiAgaWYgKCEvXlthLXowLTldW2EtejAtOS5fLV17MCw2M30kL2kudGVzdCh0b29sKSkgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcignLS10b29sIG11c3QgYmUgYSBzaG9ydCB0b29sIG5hbWUgKGUuZy4gdHJpdnksIGdyeXBlKScsICd0b29sJywgb3B0aW9ucy50b29sKTtcbiAgY29uc3Qgc2l6ZSA9IHN0YXRTeW5jKG9wdGlvbnMuZmlsZSkuc2l6ZTtcbiAgaWYgKHNpemUgPiBNQVhfUkVQT1JUX0JZVEVTKSB7XG4gICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihgJHtvcHRpb25zLmZpbGV9IGlzICR7c2l6ZX0gYnl0ZXMg4oCUIG92ZXIgdGhlICR7TUFYX1JFUE9SVF9CWVRFU30tYnl0ZSB1cGxvYWQgbGltaXRgLCAnZmlsZScpO1xuICB9XG4gIGxldCByZXBvcnQ6IHVua25vd247XG4gIHRyeSB7XG4gICAgcmVwb3J0ID0gSlNPTi5wYXJzZShyZWFkRmlsZVN5bmMob3B0aW9ucy5maWxlLCAndXRmOCcpKTtcbiAgfSBjYXRjaCB7XG4gICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihgJHtvcHRpb25zLmZpbGV9IGlzIG5vdCB2YWxpZCBKU09OIChTQVJJRiwgdHJpdnkgSlNPTiBhbmQgZ3J5cGUgSlNPTiBhcmUgYWxsIEpTT04pYCwgJ2ZpbGUnKTtcbiAgfVxuICAvLyBJbiBhIENvZGVCdWlsZCBzdGVwIHRoZSBhY3Rpb24gZW52IGNhcnJpZXMgdGhlIGV4ZWN1dGlvbiBpZC5cbiAgY29uc3QgZXhlY3V0aW9uSWQgPSBvcHRpb25zLmV4ZWN1dGlvbklkID8/IGVudi5QSVBFTElORV9FWEVDVVRJT05fSUQ7XG4gIHJldHVybiB7XG4gICAgdG9vbCxcbiAgICBmb3JtYXQ6IG9wdGlvbnMuZm9ybWF0IGFzIFNlY3VyaXR5UmVwb3J0Rm9ybWF0LFxuICAgIC4uLihleGVjdXRpb25JZCA/IHsgZXhlY3V0aW9uSWQgfSA6IHt9KSxcbiAgICAuLi4ob3B0aW9ucy5zdGFnZSA/IHsgc3RhZ2U6IG9wdGlvbnMuc3RhZ2UgfSA6IHt9KSxcbiAgICByZXBvcnQsXG4gIH07XG59XG5cbi8qKlxuICogUmVnaXN0ZXJzIGBzZWN1cml0eS1yZXBvcnQgdXBsb2FkYDogc2VuZCBvbmUgU0FSSUYgLyB0cml2eS1KU09OIC8gZ3J5cGUtSlNPTlxuICogcmVwb3J0IHRvIHRoZSBwaXBlbGluZSdzIHNlY3VyaXR5LXJlcG9ydCBpbmdlc3QsIHNvIGZpbmRpbmdzIGZyb20gc2NhbnMgdGhhdFxuICogcnVuIElOU0lERSBhIHBpcGVsaW5lIChhcHBsaWNhdGlvbiBpbWFnZXMsIGRlcGVuZGVuY3kgdHJlZXMpIGxhbmQgb24gdGhlXG4gKiBwbGF0Zm9ybSBiZXNpZGUgdGhlIHBsdWdpbi1pbWFnZSBmaW5kaW5ncyBpbnN0ZWFkIG9mIG9ubHkgaW4gYSBidWlsZCBsb2cuXG4gKlxuICogUGx1Z2luIHN0ZXBzIHVwbG9hZCB3aXRoIGN1cmwgYW5kIHRoZWlyIGluamVjdGVkIHNjb3BlZCBrZXkgKHNlZVxuICogcGlwZWxpbmUtY29yZSBgY29yZS9zZWN1cml0eS1yZXBvcnRzLnRzYCk7IHRoaXMgY29tbWFuZCBpcyBmb3IgYW55d2hlcmVcbiAqIGBwaXBlbGluZS1tYW5hZ2VyYCBydW5zIOKAlCB0aGUgc3ludGgvYm9vdHN0cmFwIGltYWdlLCBhIGxhcHRvcCwgb3RoZXIgQ0kuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGJhc2hcbiAqIHBpcGVsaW5lLW1hbmFnZXIgc2VjdXJpdHktcmVwb3J0IHVwbG9hZCAtLXBpcGVsaW5lLWlkIDxpZD4gLS1maWxlIHRyaXZ5LXJlcG9ydHMvaW1hZ2Uuc2FyaWYgLS10b29sIHRyaXZ5IC0tZm9ybWF0IHNhcmlmXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNlY3VyaXR5UmVwb3J0KHByb2dyYW06IENvbW1hbmQpOiB2b2lkIHtcbiAgY29uc3QgZ3JvdXAgPSBwcm9ncmFtLmNvbW1hbmQoJ3NlY3VyaXR5LXJlcG9ydCcpLmRlc2NyaXB0aW9uKCdVcGxvYWQgcGlwZWxpbmUgc2VjdXJpdHkgcmVwb3J0cyAoU0FSSUYsIHRyaXZ5L2dyeXBlIEpTT04pJyk7XG4gIHdpdGhTc2xPcHRpb25zKFxuICAgIHdpdGhSZWdpb25PcHRpb24oXG4gICAgICB3aXRoUHJvZmlsZU9wdGlvbihncm91cFxuICAgICAgICAuY29tbWFuZCgndXBsb2FkJylcbiAgICAgICAgLmRlc2NyaXB0aW9uKCdVcGxvYWQgb25lIHNlY3VyaXR5IHJlcG9ydCB0byBhIHBpcGVsaW5lJylcbiAgICAgICAgLnJlcXVpcmVkT3B0aW9uKCctcCwgLS1waXBlbGluZS1pZCA8aWQ+JywgJ1BpcGVsaW5lIElEJylcbiAgICAgICAgLnJlcXVpcmVkT3B0aW9uKCctZiwgLS1maWxlIDxmaWxlPicsICdSZXBvcnQgZmlsZSAoSlNPTiknKVxuICAgICAgICAucmVxdWlyZWRPcHRpb24oJy10LCAtLXRvb2wgPHRvb2w+JywgJ1Rvb2wgdGhhdCBwcm9kdWNlZCBpdCAodHJpdnksIGdyeXBlLCDigKYpJylcbiAgICAgICAgLnJlcXVpcmVkT3B0aW9uKCctLWZvcm1hdCA8Zm9ybWF0PicsIGBSZXBvcnQgZm9ybWF0ICgke1NFQ1VSSVRZX1JFUE9SVF9GT1JNQVRTLmpvaW4oJywgJyl9KWApXG4gICAgICAgIC5vcHRpb24oJy0tZXhlY3V0aW9uLWlkIDxpZD4nLCAnUGlwZWxpbmUgZXhlY3V0aW9uIGlkIChkZWZhdWx0OiBQSVBFTElORV9FWEVDVVRJT05fSUQpJylcbiAgICAgICAgLm9wdGlvbignLS1zdGFnZSA8bmFtZT4nLCAnU3RhZ2UgdGhlIHJlcG9ydCBjYW1lIGZyb20nKVxuICAgICAgICAub3B0aW9uKCctLXN0b3JlLXRva2VucycsICdBdXRoZW50aWNhdGUgdXNpbmcgdGhlIGtleSBpbiBBV1MgU2VjcmV0cyBNYW5hZ2VyIChQTEFURk9STV9TRUNSRVRfTkFNRSknLCBmYWxzZSkpLFxuICAgICksXG4gIClcbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zOiBVcGxvYWRPcHRpb25zKSA9PiB7XG4gICAgICBjb25zdCBleGVjdXRpb25JZCA9IHByaW50Q29tbWFuZEhlYWRlcignVXBsb2FkIFNlY3VyaXR5IFJlcG9ydCcpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgcHJpbnRTc2xXYXJuaW5nKG9wdGlvbnMudmVyaWZ5U3NsKTtcbiAgICAgICAgY29uc3QgcGlwZWxpbmVJZCA9IHZhbGlkYXRlRW50aXR5SWQob3B0aW9ucy5waXBlbGluZUlkLCAnUGlwZWxpbmUnKTtcbiAgICAgICAgc2V0UGlwZWxpbmVJZChwaXBlbGluZUlkKTtcbiAgICAgICAgY29uc3QgYm9keSA9IGJ1aWxkU2VjdXJpdHlSZXBvcnRCb2R5KG9wdGlvbnMpO1xuICAgICAgICBwcmludEluZm8oJ1VwbG9hZGluZycsIHsgcGlwZWxpbmVJZCwgdG9vbDogYm9keS50b29sLCBmb3JtYXQ6IGJvZHkuZm9ybWF0LCBmaWxlOiBvcHRpb25zLmZpbGUgfSk7XG4gICAgICAgIGNvbnN0IGNsaWVudCA9IGF3YWl0IGNyZWF0ZUF1dGhlbnRpY2F0ZWRDbGllbnRBc3luYyhvcHRpb25zKTtcbiAgICAgICAgYXdhaXQgY2xpZW50LnBvc3QoYCR7Y2xpZW50LmdldENvbmZpZygpLmFwaS5waXBlbGluZVVybH0vJHtlbmNvZGVVUklDb21wb25lbnQocGlwZWxpbmVJZCl9L3NlY3VyaXR5LXJlcG9ydHNgLCBib2R5KTtcbiAgICAgICAgcHJpbnRTdWNjZXNzKCdTZWN1cml0eSByZXBvcnQgdXBsb2FkZWQnLCB7IHBpcGVsaW5lSWQsIHRvb2w6IGJvZHkudG9vbCB9KTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGhhbmRsZUVycm9yKGVycm9yLCBFUlJPUl9DT0RFUy5BUElfUkVRVUVTVCwge1xuICAgICAgICAgIGRlYnVnOiBwcm9ncmFtLm9wdHMoKS5kZWJ1ZyxcbiAgICAgICAgICBleGl0OiB0cnVlLFxuICAgICAgICAgIGNvbnRleHQ6IHsgY29tbWFuZDogJ3NlY3VyaXR5LXJlcG9ydC11cGxvYWQnLCBleGVjdXRpb25JZCwgcGlwZWxpbmVJZDogb3B0aW9ucy5waXBlbGluZUlkIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xufVxuIl19
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHktcmVwb3J0LmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvc2VjdXJpdHktcmVwb3J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEMsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDakQsT0FBTyxFQUFFLHVCQUF1QixFQUE2QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUNMLDhCQUE4QixFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEdBQzNJLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFNUQsaUZBQWlGO0FBQ2pGLE1BQU0sZ0JBQWdCLEdBQUcsRUFBRSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7QUF3QjFDLDREQUE0RDtBQUM1RCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsT0FBa0YsRUFBRSxHQUFHLEdBQXNCLE9BQU8sQ0FBQyxHQUFHO0lBQzlKLElBQUksQ0FBRSx1QkFBNkMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDN0UsTUFBTSxJQUFJLGVBQWUsQ0FBQywyQkFBMkIsdUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2SCxDQUFDO0lBQ0QsTUFBTSxJQUFJ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LE9BQU8sQ0FBQyxDQUFDO1lBQzlDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ2pHLE1BQU0sTUFBTSxHQUFHLE1BQU0sOEJBQThCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDN0QsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLElBQUksa0JBQWtCLENBQUMsVUFBVSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3BILFlBQVksQ0FBQywwQkFBMEIsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDNUUsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixXQUFXLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxXQUFXLEVBQUU7Z0JBQzFDLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSztnQkFDM0IsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVUsRUFBRTthQUM1RixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IHJlYWRGaWxlU3luYywgc3RhdFN5bmMgfSBmcm9tICdub2RlOmZzJztcbmltcG9ydCB7IFNFQ1VSSVRZX1JFUE9SVF9GT1JNQVRTLCB0eXBlIFNlY3VyaXR5UmVwb3J0Rm9ybWF0IH0gZnJvbSAnQHBpcGVsaW5lLWJ1aWxkZXIvcGlwZWxpbmUtY29yZSc7XG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnY29tbWFuZGVyJztcbmltcG9ydCB7XG4gIGNyZWF0ZUF1dGhlbnRpY2F0ZWRDbGllbnRBc3luYywgcHJpbnRDb21tYW5kSGVhZGVyLCBwcmludFNzbFdhcm5pbmcsIHZhbGlkYXRlRW50aXR5SWQsIHdpdGhQcm9maWxlT3B0aW9uLCB3aXRoUmVnaW9uT3B0aW9uLCB3aXRoU3NsT3B0aW9ucyxcbn0gZnJvbSAnLi4vdXRpbHMvY29tbWFuZC11dGlscy5qcyc7XG5pbXBvcnQgeyBFUlJPUl9DT0RFUywgaGFuZGxlRXJyb3IsIFZhbGlkYXRpb25FcnJvciB9IGZyb20gJy4uL3V0aWxzL2Vycm9yLWhhbmRsZXIuanMnO1xuaW1wb3J0IHsgcHJpbnRJbmZvLCBwcmludFN1Y2Nlc3MgfSBmcm9tICcuLi91dGlscy9vdXRwdXQtdXRpbHMuanMnO1xuaW1wb3J0IHsgc2V0UGlwZWxpbmVJZCB9IGZyb20gJy4uL3V0aWxzL3JlcXVlc3QtY29udGV4dC5qcyc7XG5cbi8qKiBSZWZ1c2UgYSByZXBvcnQgdGhpcyBsYXJnZSBjbGllbnQtc2lkZSByYXRoZXIgdGhhbiBzaGlwIGl0IGFuZCBiZSByZWZ1c2VkLiAqL1xuY29uc3QgTUFYX1JFUE9SVF9CWVRFUyA9IDEwICogMTAyNCAqIDEwMjQ7XG5cbmludGVyZmFjZSBVcGxvYWRPcHRpb25zIHtcbiAgcGlwZWxpbmVJZDogc3RyaW5nO1xuICBmaWxlOiBzdHJpbmc7XG4gIHRvb2w6IHN0cmluZztcbiAgZm9ybWF0OiBzdHJpbmc7XG4gIGV4ZWN1dGlvbklkPzogc3RyaW5nO1xuICBzdGFnZT86IHN0cmluZztcbiAgc3RvcmVUb2tlbnM/OiBib29sZWFuO1xuICB2ZXJpZnlTc2w/OiBib29sZWFuO1xuICByZWdpb24/OiBzdHJpbmc7XG4gIHByb2ZpbGU/OiBzdHJpbmc7XG59XG5cbi8qKiBUaGUgSlNPTiBib2R5IGBQT1NUIC9hcGkvcGlwZWxpbmVzLzppZC9zZWN1cml0eS1yZXBvcnRzYCB0YWtlcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlSZXBvcnRCb2R5IHtcbiAgdG9vbDogc3RyaW5nO1xuICBmb3JtYXQ6IFNlY3VyaXR5UmVwb3J0Rm9ybWF0O1xuICBleGVjdXRpb25JZD86IHN0cmluZztcbiAgc3RhZ2U/OiBzdHJpbmc7XG4gIHJlcG9ydDogdW5rbm93bjtcbn1cblxuLyoqIFJlYWQgKyB2YWxpZGF0ZSB0aGUgcmVwb3J0IGFuZCBidWlsZCB0aGUgdXBsb2FkIGJvZHkuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRTZWN1cml0eVJlcG9ydEJvZHkob3B0aW9uczogUGljazxVcGxvYWRPcHRpb25zLCAnZmlsZScgfCAndG9vbCcgfCAnZm9ybWF0JyB8ICdleGVjdXRpb25JZCcgfCAnc3RhZ2UnPiwgZW52OiBOb2RlSlMuUHJvY2Vzc0VudiA9IHByb2Nlc3MuZW52KTogU2VjdXJpdHlSZXBvcnRCb2R5IHtcbiAgaWYgKCEoU0VDVVJJVFlfUkVQT1JUX0ZPUk1BVFMgYXMgcmVhZG9ubHkgc3RyaW5nW10pLmluY2x1ZGVzKG9wdGlvbnMuZm9ybWF0KSkge1xuICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoYC0tZm9ybWF0IG11c3QgYmUgb25lIG9mICR7U0VDVVJJVFlfUkVQT1JUX0ZPUk1BVFMuam9pbignLCAnKX1gLCAnZm9ybWF0Jywgb3B0aW9ucy5mb3JtYXQpO1xuICB9XG4gIGNvbnN0IHRvb2wgPSBvcHRpb25zLnRvb2wudHJpbSgpO1xuICBpZiAoIS9eW2EtejAtOV1bYS16MC05Ll8tXXswLDYzfSQvaS50ZXN0KHRvb2wpKSB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKCctLXRvb2wgbXVzdCBiZSBhIHNob3J0IHRvb2wgbmFtZSAoZS5nLiB0cml2eSwgZ3J5cGUpJywgJ3Rvb2wnLCBvcHRpb25zLnRvb2wpO1xuICBjb25zdCBzaXplID0gc3RhdFN5bmMob3B0aW9ucy5maWxlKS5zaXplO1xuICBpZiAoc2l6ZSA+IE1BWF9SRVBPUlRfQllURVMpIHtcbiAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGAke29wdGlvbnMuZmlsZX0gaXMgJHtzaXplfSBieXRlcyDigJQgb3ZlciB0aGUgJHtNQVhfUkVQT1JUX0JZVEVTfS1ieXRlIHVwbG9hZCBsaW1pdGAsICdmaWxlJyk7XG4gIH1cbiAgbGV0IHJlcG9ydDogdW5rbm93bjtcbiAgdHJ5IHtcbiAgICByZXBvcnQgPSBKU09OLnBhcnNlKHJlYWRGaWxlU3luYyhvcHRpb25zLmZpbGUsICd1dGY4JykpO1xuICB9IGNhdGNoIHtcbiAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGAke29wdGlvbnMuZmlsZX0gaXMgbm90IHZhbGlkIEpTT04gKFNBUklGLCB0cml2eSBKU09OIGFuZCBncnlwZSBKU09OIGFyZSBhbGwgSlNPTilgLCAnZmlsZScpO1xuICB9XG4gIC8vIEluIGEgQ29kZUJ1aWxkIHN0ZXAgdGhlIGFjdGlvbiBlbnYgY2FycmllcyB0aGUgZXhlY3V0aW9uIGlkLlxuICBjb25zdCBleGVjdXRpb25JZCA9IG9wdGlvbnMuZXhlY3V0aW9uSWQgPz8gZW52LlBJUEVMSU5FX0VYRUNVVElPTl9JRDtcbiAgcmV0dXJuIHtcbiAgICB0b29sLFxuICAgIGZvcm1hdDogb3B0aW9ucy5mb3JtYXQgYXMgU2VjdXJpdHlSZXBvcnRGb3JtYXQsXG4gICAgLi4uKGV4ZWN1dGlvbklkID8geyBleGVjdXRpb25JZCB9IDoge30pLFxuICAgIC4uLihvcHRpb25zLnN0YWdlID8geyBzdGFnZTogb3B0aW9ucy5zdGFnZSB9IDoge30pLFxuICAgIHJlcG9ydCxcbiAgfTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgYHNlY3VyaXR5LXJlcG9ydCB1cGxvYWRgOiBzZW5kIG9uZSBTQVJJRiAvIHRyaXZ5LUpTT04gLyBncnlwZS1KU09OXG4gKiByZXBvcnQgdG8gdGhlIHBpcGVsaW5lJ3Mgc2VjdXJpdHktcmVwb3J0IGluZ2VzdCwgc28gZmluZGluZ3MgZnJvbSBzY2FucyB0aGF0XG4gKiBydW4gSU5TSURFIGEgcGlwZWxpbmUgKGFwcGxpY2F0aW9uIGltYWdlcywgZGVwZW5kZW5jeSB0cmVlcykgbGFuZCBvbiB0aGVcbiAqIHBsYXRmb3JtIGJlc2lkZSB0aGUgcGx1Z2luLWltYWdlIGZpbmRpbmdzIGluc3RlYWQgb2Ygb25seSBpbiBhIGJ1aWxkIGxvZy5cbiAqXG4gKiBQbHVnaW4gc3RlcHMgdXBsb2FkIHdpdGggY3VybCBhbmQgdGhlaXIgaW5qZWN0ZWQgc2NvcGVkIGtleSAoc2VlXG4gKiBwaXBlbGluZS1jb3JlIGBjb3JlL3NlY3VyaXR5LXJlcG9ydHMudHNgKTsgdGhpcyBjb21tYW5kIGlzIGZvciBhbnl3aGVyZVxuICogYHBpcGVsaW5lLW1hbmFnZXJgIHJ1bnMg4oCUIHRoZSBzeW50aC9ib290c3RyYXAgaW1hZ2UsIGEgbGFwdG9wLCBvdGhlciBDSS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgYmFzaFxuICogcGlwZWxpbmUtbWFuYWdlciBzZWN1cml0eS1yZXBvcnQgdXBsb2FkIC0tcGlwZWxpbmUtaWQgPGlkPiAtLWZpbGUgdHJpdnktcmVwb3J0cy9pbWFnZS5zYXJpZiAtLXRvb2wgdHJpdnkgLS1mb3JtYXQgc2FyaWZcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gc2VjdXJpdHlSZXBvcnQocHJvZ3JhbTogQ29tbWFuZCk6IHZvaWQge1xuICBjb25zdCBncm91cCA9IHByb2dyYW0uY29tbWFuZCgnc2VjdXJpdHktcmVwb3J0JykuZGVzY3JpcHRpb24oJ1VwbG9hZCBwaXBlbGluZSBzZWN1cml0eSByZXBvcnRzIChTQVJJRiwgdHJpdnkvZ3J5cGUgSlNPTiknKTtcbiAgd2l0aFNzbE9wdGlvbnMoXG4gICAgd2l0aFJlZ2lvbk9wdGlvbihcbiAgICAgIHdpdGhQcm9maWxlT3B0aW9uKGdyb3VwXG4gICAgICAgIC5jb21tYW5kKCd1cGxvYWQnKVxuICAgICAgICAuZGVzY3JpcHRpb24oJ1VwbG9hZCBvbmUgc2VjdXJpdHkgcmVwb3J0IHRvIGEgcGlwZWxpbmUnKVxuICAgICAgICAucmVxdWlyZWRPcHRpb24oJy1wLCAtLXBpcGVsaW5lLWlkIDxpZD4nLCAnUGlwZWxpbmUgSUQnKVxuICAgICAgICAucmVxdWlyZWRPcHRpb24oJy1mLCAtLWZpbGUgPGZpbGU+JywgJ1JlcG9ydCBmaWxlIChKU09OKScpXG4gICAgICAgIC5yZXF1aXJlZE9wdGlvbignLXQsIC0tdG9vbCA8dG9vbD4nLCAnVG9vbCB0aGF0IHByb2R1Y2VkIGl0ICh0cml2eSwgZ3J5cGUsIOKApiknKVxuICAgICAgICAucmVxdWlyZWRPcHRpb24oJy0tZm9ybWF0IDxmb3JtYXQ+JywgYFJlcG9ydCBmb3JtYXQgKCR7U0VDVVJJVFlfUkVQT1JUX0ZPUk1BVFMuam9pbignLCAnKX0pYClcbiAgICAgICAgLm9wdGlvbignLS1leGVjdXRpb24taWQgPGlkPicsICdQaXBlbGluZSBleGVjdXRpb24gaWQgKGRlZmF1bHQ6IFBJUEVMSU5FX0VYRUNVVElPTl9JRCknKVxuICAgICAgICAub3B0aW9uKCctLXN0YWdlIDxuYW1lPicsICdTdGFnZSB0aGUgcmVwb3J0IGNhbWUgZnJvbScpXG4gICAgICAgIC5vcHRpb24oJy0tc3RvcmUtdG9rZW5zJywgJ0F1dGhlbnRpY2F0ZSB1c2luZyB0aGUga2V5IGluIEFXUyBTZWNyZXRzIE1hbmFnZXIgKFBMQVRGT1JNX1NFQ1JFVF9OQU1FKScsIGZhbHNlKSksXG4gICAgKSxcbiAgKVxuICAgIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnM6IFVwbG9hZE9wdGlvbnMpID0+IHtcbiAgICAgIGNvbnN0IGV4ZWN1dGlvbklkID0gcHJpbnRDb21tYW5kSGVhZGVyKCdVcGxvYWQgU2VjdXJpdHkgUmVwb3J0Jyk7XG4gICAgICB0cnkge1xuICAgICAgICBwcmludFNzbFdhcm5pbmcob3B0aW9ucy52ZXJpZnlTc2wpO1xuICAgICAgICBjb25zdCBwaXBlbGluZUlkID0gdmFsaWRhdGVFbnRpdHlJZChvcHRpb25zLnBpcGVsaW5lSWQsICdQaXBlbGluZScpO1xuICAgICAgICBzZXRQaXBlbGluZUlkKHBpcGVsaW5lSWQpO1xuICAgICAgICBjb25zdCBib2R5ID0gYnVpbGRTZWN1cml0eVJlcG9ydEJvZHkob3B0aW9ucyk7XG4gICAgICAgIHByaW50SW5mbygnVXBsb2FkaW5nJywgeyBwaXBlbGluZUlkLCB0b29sOiBib2R5LnRvb2wsIGZvcm1hdDogYm9keS5mb3JtYXQsIGZpbGU6IG9wdGlvbnMuZmlsZSB9KTtcbiAgICAgICAgY29uc3QgY2xpZW50ID0gYXdhaXQgY3JlYXRlQXV0aGVudGljYXRlZENsaWVudEFzeW5jKG9wdGlvbnMpO1xuICAgICAgICBhd2FpdCBjbGllbnQucG9zdChgJHtjbGllbnQuZ2V0Q29uZmlnKCkuYXBpLnBpcGVsaW5lVXJsfS8ke2VuY29kZVVSSUNvbXBvbmVudChwaXBlbGluZUlkKX0vc2VjdXJpdHktcmVwb3J0c2AsIGJvZHkpO1xuICAgICAgICBwcmludFN1Y2Nlc3MoJ1NlY3VyaXR5IHJlcG9ydCB1cGxvYWRlZCcsIHsgcGlwZWxpbmVJZCwgdG9vbDogYm9keS50b29sIH0pO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaGFuZGxlRXJyb3IoZXJyb3IsIEVSUk9SX0NPREVTLkFQSV9SRVFVRVNULCB7XG4gICAgICAgICAgZGVidWc6IHByb2dyYW0ub3B0cygpLmRlYnVnLFxuICAgICAgICAgIGV4aXQ6IHRydWUsXG4gICAgICAgICAgY29udGV4dDogeyBjb21tYW5kOiAnc2VjdXJpdHktcmVwb3J0LXVwbG9hZCcsIGV4ZWN1dGlvbklkLCBwaXBlbGluZUlkOiBvcHRpb25zLnBpcGVsaW5lSWQgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG59XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-events.d.ts","
|
|
1
|
+
{"version":3,"file":"setup-events.d.ts","sources":["../../src/commands/setup-events.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBpC;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0KlD"}
|