@hmcts/ccd-case-ui-toolkit 6.14.5-duplicate-tabs → 6.14.5-testing

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.
Files changed (39) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +62 -48
  2. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
  3. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
  4. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
  5. package/esm2015/lib/app.config.js +1 -1
  6. package/esm2015/lib/shared/components/case-editor/services/cases.service.js +1 -1
  7. package/esm2015/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.js +4 -2
  8. package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +25 -23
  9. package/esm2015/lib/shared/components/case-viewer/case-viewer.component.js +15 -13
  10. package/esm2015/lib/shared/components/palette/base-field/payment-field.component.js +4 -1
  11. package/esm2015/lib/shared/components/palette/case-file-view/components/case-file-view-folder-selector/case-file-view-folder-selector.component.js +1 -1
  12. package/esm2015/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.js +4 -2
  13. package/esm2015/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.js +2 -2
  14. package/esm2015/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.js +4 -2
  15. package/esm2015/lib/shared/components/palette/linked-cases/read-linked-cases-field.component.js +4 -2
  16. package/esm2015/lib/shared/components/palette/palette.module.js +3 -3
  17. package/esm2015/lib/shared/components/palette/payment/case-payment-history-viewer-field.component.js +3 -3
  18. package/esm2015/lib/shared/components/palette/waystopay/waystopay-field.component.js +4 -4
  19. package/esm2015/lib/shared/directives/conditional-show/services/condition-parser.service.js +3 -3
  20. package/esm2015/lib/shared/pipes/index.js +2 -1
  21. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +61 -47
  22. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  23. package/lib/app.config.d.ts +2 -0
  24. package/lib/app.config.d.ts.map +1 -1
  25. package/lib/shared/components/case-editor/services/cases.service.d.ts.map +1 -1
  26. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts.map +1 -1
  27. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
  28. package/lib/shared/components/case-viewer/case-viewer.component.d.ts +2 -2
  29. package/lib/shared/components/case-viewer/case-viewer.component.d.ts.map +1 -1
  30. package/lib/shared/components/palette/base-field/payment-field.component.d.ts +1 -0
  31. package/lib/shared/components/palette/base-field/payment-field.component.d.ts.map +1 -1
  32. package/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.d.ts.map +1 -1
  33. package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.d.ts +4 -4
  34. package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.d.ts.map +1 -1
  35. package/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.d.ts.map +1 -1
  36. package/lib/shared/components/palette/linked-cases/read-linked-cases-field.component.d.ts.map +1 -1
  37. package/lib/shared/pipes/index.d.ts +1 -0
  38. package/lib/shared/pipes/index.d.ts.map +1 -1
  39. package/package.json +2 -2
@@ -37,4 +37,4 @@ export class AbstractAppConfig {
37
37
  }
38
38
  export class CaseEditorConfig {
39
39
  }
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9hcHAuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVCQSxNQUFNLE9BQWdCLGlCQUFpQjtJQU1uQywwQkFBMEI7UUFDdEIsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUNELHFCQUFxQjtRQUNqQixPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBa0JEOzs7O09BSUc7SUFDSCx3QkFBd0I7UUFDcEIsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQU1ELGlCQUFpQjtRQUNiLE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFDRCxrQkFBa0I7UUFDZCxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBQ0QsdUJBQXVCO1FBQ25CLE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFDRCxnQ0FBZ0M7UUFDNUIsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUNELHlDQUF5QztRQUNyQyxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBQ0Qsb0JBQW9CO1FBQ2hCLE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFLRCwyQkFBMkI7UUFDdkIsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztDQUlKO0FBRUQsTUFBTSxPQUFPLGdCQUFnQjtDQStENUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEFjY2Vzc01hbmFnZW1lbnRCYXNpY1ZpZXdNb2NrTW9kZWwge1xuICAgIGFjdGl2ZT86IGJvb2xlYW47XG4gICAgYmFzaWNGaWVsZHM/OiB7XG4gICAgICAgIGNhc2VOYW1lSG1jdHNJbnRlcm5hbD86IHN0cmluZyxcbiAgICAgICAgY2FzZU1hbmFnZW1lbnRMb2NhdGlvbj86IHtcbiAgICAgICAgICAgIGJhc2VMb2NhdGlvbj86IG51bWJlclxuICAgICAgICB9XG4gICAgfTtcbiAgICBhY2Nlc3NQcm9jZXNzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjY2Vzc01hbmFnZW1lbnRSZXF1ZXN0UmV2aWV3TW9ja01vZGVsIHtcbiAgICBhY3RpdmU/OiBib29sZWFuO1xuICAgIGRldGFpbHM/OiB7XG4gICAgICAgIGNhc2VOYW1lOiBzdHJpbmc7XG4gICAgICAgIGNhc2VSZWZlcmVuY2U6IHN0cmluZztcbiAgICAgICAgZGF0ZVN1Ym1pdHRlZDogc3RyaW5nO1xuICAgICAgICByZXF1ZXN0RnJvbTogc3RyaW5nO1xuICAgICAgICByZWFzb25Gb3JDYXNlQWNjZXNzOiBzdHJpbmc7XG4gICAgfTtcbiAgICBhY2Nlc3NQcm9jZXNzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RBcHBDb25maWcge1xuICAgIGFic3RyYWN0IGxvYWQoKTogUHJvbWlzZTx2b2lkPjtcbiAgICBhYnN0cmFjdCBnZXRMb2dpblVybCgpOiBzdHJpbmc7XG4gICAgYWJzdHJhY3QgZ2V0QXBpVXJsKCk6IHN0cmluZztcbiAgICBhYnN0cmFjdCBnZXRDYXNlRGF0YVVybCgpOiBzdHJpbmc7XG4gICAgYWJzdHJhY3QgZ2V0RG9jdW1lbnRNYW5hZ2VtZW50VXJsKCk6IHN0cmluZztcbiAgICBnZXREb2N1bWVudE1hbmFnZW1lbnRVcmxWMigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBnZXREb2N1bWVudFNlY3VyZU1vZGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGFic3RyYWN0IGdldFJlbW90ZURvY3VtZW50TWFuYWdlbWVudFVybCgpOiBzdHJpbmc7XG4gICAgYWJzdHJhY3QgZ2V0SHJzVXJsKCk6IHN0cmluZztcbiAgICBhYnN0cmFjdCBnZXRSZW1vdGVIcnNVcmwoKTogc3RyaW5nO1xuICAgIGFic3RyYWN0IGdldEFubm90YXRpb25BcGlVcmwoKTogc3RyaW5nO1xuICAgIGFic3RyYWN0IGdldFBvc3Rjb2RlTG9va3VwVXJsKCk6IHN0cmluZztcbiAgICBhYnN0cmFjdCBnZXRPQXV0aDJDbGllbnRJZCgpOiBzdHJpbmc7XG4gICAgYWJzdHJhY3QgZ2V0UGF5bWVudHNVcmwoKTogc3RyaW5nO1xuICAgIGFic3RyYWN0IGdldFBheUJ1bGtTY2FuQmFzZVVybCgpOiBzdHJpbmc7XG4gICAgYWJzdHJhY3QgZ2V0Q3JlYXRlT3JVcGRhdGVEcmFmdHNVcmwoY3RpZDogc3RyaW5nKTogc3RyaW5nXG4gICAgYWJzdHJhY3QgZ2V0Vmlld09yRGVsZXRlRHJhZnRzVXJsKGRpZDogc3RyaW5nKTogc3RyaW5nXG4gICAgYWJzdHJhY3QgZ2V0QWN0aXZpdHlVcmwoKTogc3RyaW5nO1xuICAgIGFic3RyYWN0IGdldEFjdGl2aXR5TmV4UG9sbFJlcXVlc3RNcygpOiBudW1iZXI7XG4gICAgYWJzdHJhY3QgZ2V0QWN0aXZpdHlSZXRyeSgpOiBudW1iZXI7XG4gICAgYWJzdHJhY3QgZ2V0QWN0aXZpdHlCYXRjaENvbGxlY3Rpb25EZWxheU1zKCk6IG51bWJlcjtcbiAgICBhYnN0cmFjdCBnZXRBY3Rpdml0eU1heFJlcXVlc3RQZXJCYXRjaCgpOiBudW1iZXI7XG4gICAgYWJzdHJhY3QgZ2V0Q2FzZUhpc3RvcnlVcmwoY2FzZUlkOiBzdHJpbmcsIGV2ZW50SWQ6IHN0cmluZyk6IHN0cmluZztcbiAgICBhYnN0cmFjdCBnZXRQcmludFNlcnZpY2VVcmwoKTogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIER1bW15IHZlcnNpb24gcmVwbGFjaW5nIGRlcHJlY2F0ZWQgYGdldFJlbW90ZVByaW50U2VydmljZVVybCgpYCwgdG8gYmUgcmVtb3ZlZCBpbiBuZXh0IG1ham9yIHJlbGVhc2VcbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqIEByZXR1cm5zIGB1bmRlZmluZWRgXG4gICAgICovXG4gICAgZ2V0UmVtb3RlUHJpbnRTZXJ2aWNlVXJsKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGFic3RyYWN0IGdldFBhZ2luYXRpb25QYWdlU2l6ZSgpOiBudW1iZXI7XG4gICAgYWJzdHJhY3QgZ2V0QmFubmVyc1VybCgpOiBzdHJpbmc7XG4gICAgYWJzdHJhY3QgZ2V0UHJkVXJsKCk6IHN0cmluZztcbiAgICBhYnN0cmFjdCBnZXRDYWNoZVRpbWVPdXQoKTogbnVtYmVyO1xuICAgIGFic3RyYWN0IGdldFdvcmtBbGxvY2F0aW9uQXBpVXJsKCk6IHN0cmluZztcbiAgICBnZXRVc2VySW5mb0FwaVVybCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBnZXRXQVNlcnZpY2VDb25maWcoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgZ2V0QWNjZXNzTWFuYWdlbWVudE1vZGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGdldEFjY2Vzc01hbmFnZW1lbnRCYXNpY1ZpZXdNb2NrKCk6IEFjY2Vzc01hbmFnZW1lbnRCYXNpY1ZpZXdNb2NrTW9kZWwge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBnZXRBY2Nlc3NNYW5hZ2VtZW50UmVxdWVzdFJldmlld01vY2tNb2RlbCgpOiBBY2Nlc3NNYW5hZ2VtZW50UmVxdWVzdFJldmlld01vY2tNb2RlbCB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGdldExvY2F0aW9uUmVmQXBpVXJsKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXRSZWZ1bmRzVXJsKCk6IHN0cmluZztcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0UGF5bWVudFJldHVyblVybCgpOiBzdHJpbmc7XG4gICAgcHVibGljIGFic3RyYWN0IGdldENhdGVnb3JpZXNBbmREb2N1bWVudHNVcmwoKTogc3RyaW5nO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXREb2N1bWVudERhdGFVcmwoKTogc3RyaW5nO1xuICAgIGdldENhbVJvbGVBc3NpZ25tZW50c0FwaVVybCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBhYnN0cmFjdCBnZXRDYXNlRmxhZ3NSZWZkYXRhQXBpVXJsKCk6IHN0cmluZztcbiAgICBhYnN0cmFjdCBnZXRSRENvbW1vbkRhdGFBcGlVcmwoKTogc3RyaW5nO1xuICAgIGFic3RyYWN0IGdldENhc2VEYXRhU3RvcmVBcGlVcmwoKTogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgQ2FzZUVkaXRvckNvbmZpZyB7XG4gICAgYXBpX3VybDogc3RyaW5nO1xuICAgIGNhc2VfZGF0YV91cmw6IHN0cmluZztcbiAgICBkb2N1bWVudF9tYW5hZ2VtZW50X3VybDogc3RyaW5nO1xuICAgIGRvY3VtZW50X21hbmFnZW1lbnRfdXJsX3YyOiBzdHJpbmc7XG4gICAgaHJzX3VybDogc3RyaW5nO1xuICAgIGRvY3VtZW50X21hbmFnZW1lbnRfc2VjdXJlX2VuYWJsZWQ6IGJvb2xlYW47XG4gICAgbG9naW5fdXJsOiBzdHJpbmc7XG4gICAgb2F1dGgyX2NsaWVudF9pZDogc3RyaW5nO1xuICAgIHBvc3Rjb2RlX2xvb2t1cF91cmw6IHN0cmluZztcbiAgICByZW1vdGVfZG9jdW1lbnRfbWFuYWdlbWVudF91cmw6IHN0cmluZztcbiAgICByZW1vdGVfaHJzX3VybDogc3RyaW5nO1xuICAgIGFubm90YXRpb25fYXBpX3VybDogc3RyaW5nO1xuICAgIHBheW1lbnRzX3VybDogc3RyaW5nO1xuICAgIHBheV9idWxrX3NjYW5fdXJsOiBzdHJpbmc7XG4gICAgYWN0aXZpdHlfYmF0Y2hfY29sbGVjdGlvbl9kZWxheV9tczogbnVtYmVyO1xuICAgIGFjdGl2aXR5X25leHRfcG9sbF9yZXF1ZXN0X21zOiBudW1iZXI7XG4gICAgYWN0aXZpdHlfcmV0cnk6IG51bWJlcjtcbiAgICBhY3Rpdml0eV91cmw6IHN0cmluZztcbiAgICBhY3Rpdml0eV9tYXhfcmVxdWVzdF9wZXJfYmF0Y2g6IG51bWJlcjtcbiAgICBwcmludF9zZXJ2aWNlX3VybDogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIHJlbW90ZV9wcmludF9zZXJ2aWNlX3VybCBtYXJrZWQgYXMgb3B0aW9uYWwgc2luY2UgZGVwcmVjYXRpb24sIGFoZWFkIG9mIHJlbW92YWwgaW4gbmV4dCBtYWpvciByZWxlYXNlXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKi9cbiAgICByZW1vdGVfcHJpbnRfc2VydmljZV91cmw/OiBzdHJpbmc7XG4gICAgcGFnaW5hdGlvbl9wYWdlX3NpemU6IG51bWJlcjtcbiAgICBwcmRfdXJsOiBzdHJpbmc7XG4gICAgY2FjaGVfdGltZV9vdXQ6IG51bWJlcjtcbiAgICB3b3JrX2FsbG9jYXRpb25fYXBpX3VybDogc3RyaW5nO1xuICAgIHVzZXJfaW5mb19hcGlfdXJsOiBzdHJpbmc7XG4gICAgd2Ffc2VydmljZV9jb25maWc/OiBhbnk7XG4gICAgYWNjZXNzX21hbmFnZW1lbnRfbW9kZT86IGJvb2xlYW47XG4gICAgYWNjZXNzX21hbmFnZW1lbnRfYmFzaWNfdmlld19tb2NrPzoge1xuICAgICAgICBhY3RpdmU/OiBib29sZWFuLFxuICAgICAgICBiYXNpY0ZpZWxkcz86IHtcbiAgICAgICAgICAgIGNhc2VOYW1lSG1jdHNJbnRlcm5hbD86IHN0cmluZyxcbiAgICAgICAgICAgIGNhc2VNYW5hZ2VtZW50TG9jYXRpb24/OiB7XG4gICAgICAgICAgICAgICAgYmFzZUxvY2F0aW9uPzogbnVtYmVyXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGFjY2Vzc1Byb2Nlc3M/OiBzdHJpbmdcbiAgICB9O1xuICAgIGFjY2Vzc19tYW5hZ2VtZW50X3JlcXVlc3RfcmV2aWV3X21vY2s/OiB7XG4gICAgICAgIGFjdGl2ZT86IGJvb2xlYW47XG4gICAgICAgIGRldGFpbHM/OiB7XG4gICAgICAgICAgICBjYXNlTmFtZTogc3RyaW5nO1xuICAgICAgICAgICAgY2FzZVJlZmVyZW5jZTogc3RyaW5nO1xuICAgICAgICAgICAgZGF0ZVN1Ym1pdHRlZDogc3RyaW5nO1xuICAgICAgICAgICAgcmVxdWVzdEZyb206IHN0cmluZztcbiAgICAgICAgICAgIHJlYXNvbkZvckNhc2VBY2Nlc3M6IHN0cmluZztcbiAgICAgICAgfTtcbiAgICAgICAgYWNjZXNzUHJvY2Vzcz86IHN0cmluZztcbiAgICB9O1xuICAgIHB1YmxpYyBsb2NhdGlvbl9yZWZfYXBpX3VybD86IHN0cmluZztcbiAgICBwdWJsaWMgY2FtX3JvbGVfYXNzaWdubWVudHNfYXBpX3VybD86IHN0cmluZztcbiAgICBwdWJsaWMgcmVmdW5kc191cmw6IHN0cmluZztcbiAgICBwdWJsaWMgcGF5bWVudF9yZXR1cm5fdXJsOiBzdHJpbmc7XG4gICAgcHVibGljIGNhdGVnb3JpZXNfYW5kX2RvY3VtZW50c191cmw6IHN0cmluZztcbiAgICBwdWJsaWMgZG9jdW1lbnRfZGF0YV91cmw6IHN0cmluZztcbiAgICBwdWJsaWMgY2FzZV9mbGFnc19yZWZkYXRhX2FwaV91cmw6IHN0cmluZztcbiAgICBwdWJsaWMgcmRfY29tbW9uX2RhdGFfYXBpX3VybDogc3RyaW5nO1xuICAgIHB1YmxpYyBjYXNlX2RhdGFfc3RvcmVfYXBpX3VybDogc3RyaW5nO1xufVxuIl19
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9hcHAuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVCQSxNQUFNLE9BQWdCLGlCQUFpQjtJQU1uQywwQkFBMEI7UUFDdEIsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUNELHFCQUFxQjtRQUNqQixPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBa0JEOzs7O09BSUc7SUFDSCx3QkFBd0I7UUFDcEIsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQU1ELGlCQUFpQjtRQUNiLE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFDRCxrQkFBa0I7UUFDZCxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBQ0QsdUJBQXVCO1FBQ25CLE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFDRCxnQ0FBZ0M7UUFDNUIsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUNELHlDQUF5QztRQUNyQyxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBQ0Qsb0JBQW9CO1FBQ2hCLE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFNRCwyQkFBMkI7UUFDdkIsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztDQUlKO0FBRUQsTUFBTSxPQUFPLGdCQUFnQjtDQWdFNUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEFjY2Vzc01hbmFnZW1lbnRCYXNpY1ZpZXdNb2NrTW9kZWwge1xuICAgIGFjdGl2ZT86IGJvb2xlYW47XG4gICAgYmFzaWNGaWVsZHM/OiB7XG4gICAgICAgIGNhc2VOYW1lSG1jdHNJbnRlcm5hbD86IHN0cmluZyxcbiAgICAgICAgY2FzZU1hbmFnZW1lbnRMb2NhdGlvbj86IHtcbiAgICAgICAgICAgIGJhc2VMb2NhdGlvbj86IG51bWJlclxuICAgICAgICB9XG4gICAgfTtcbiAgICBhY2Nlc3NQcm9jZXNzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjY2Vzc01hbmFnZW1lbnRSZXF1ZXN0UmV2aWV3TW9ja01vZGVsIHtcbiAgICBhY3RpdmU/OiBib29sZWFuO1xuICAgIGRldGFpbHM/OiB7XG4gICAgICAgIGNhc2VOYW1lOiBzdHJpbmc7XG4gICAgICAgIGNhc2VSZWZlcmVuY2U6IHN0cmluZztcbiAgICAgICAgZGF0ZVN1Ym1pdHRlZDogc3RyaW5nO1xuICAgICAgICByZXF1ZXN0RnJvbTogc3RyaW5nO1xuICAgICAgICByZWFzb25Gb3JDYXNlQWNjZXNzOiBzdHJpbmc7XG4gICAgfTtcbiAgICBhY2Nlc3NQcm9jZXNzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RBcHBDb25maWcge1xuICAgIGFic3RyYWN0IGxvYWQoKTogUHJvbWlzZTx2b2lkPjtcbiAgICBhYnN0cmFjdCBnZXRMb2dpblVybCgpOiBzdHJpbmc7XG4gICAgYWJzdHJhY3QgZ2V0QXBpVXJsKCk6IHN0cmluZztcbiAgICBhYnN0cmFjdCBnZXRDYXNlRGF0YVVybCgpOiBzdHJpbmc7XG4gICAgYWJzdHJhY3QgZ2V0RG9jdW1lbnRNYW5hZ2VtZW50VXJsKCk6IHN0cmluZztcbiAgICBnZXREb2N1bWVudE1hbmFnZW1lbnRVcmxWMigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBnZXREb2N1bWVudFNlY3VyZU1vZGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGFic3RyYWN0IGdldFJlbW90ZURvY3VtZW50TWFuYWdlbWVudFVybCgpOiBzdHJpbmc7XG4gICAgYWJzdHJhY3QgZ2V0SHJzVXJsKCk6IHN0cmluZztcbiAgICBhYnN0cmFjdCBnZXRSZW1vdGVIcnNVcmwoKTogc3RyaW5nO1xuICAgIGFic3RyYWN0IGdldEFubm90YXRpb25BcGlVcmwoKTogc3RyaW5nO1xuICAgIGFic3RyYWN0IGdldFBvc3Rjb2RlTG9va3VwVXJsKCk6IHN0cmluZztcbiAgICBhYnN0cmFjdCBnZXRPQXV0aDJDbGllbnRJZCgpOiBzdHJpbmc7XG4gICAgYWJzdHJhY3QgZ2V0UGF5bWVudHNVcmwoKTogc3RyaW5nO1xuICAgIGFic3RyYWN0IGdldFBheUJ1bGtTY2FuQmFzZVVybCgpOiBzdHJpbmc7XG4gICAgYWJzdHJhY3QgZ2V0Q3JlYXRlT3JVcGRhdGVEcmFmdHNVcmwoY3RpZDogc3RyaW5nKTogc3RyaW5nXG4gICAgYWJzdHJhY3QgZ2V0Vmlld09yRGVsZXRlRHJhZnRzVXJsKGRpZDogc3RyaW5nKTogc3RyaW5nXG4gICAgYWJzdHJhY3QgZ2V0QWN0aXZpdHlVcmwoKTogc3RyaW5nO1xuICAgIGFic3RyYWN0IGdldEFjdGl2aXR5TmV4UG9sbFJlcXVlc3RNcygpOiBudW1iZXI7XG4gICAgYWJzdHJhY3QgZ2V0QWN0aXZpdHlSZXRyeSgpOiBudW1iZXI7XG4gICAgYWJzdHJhY3QgZ2V0QWN0aXZpdHlCYXRjaENvbGxlY3Rpb25EZWxheU1zKCk6IG51bWJlcjtcbiAgICBhYnN0cmFjdCBnZXRBY3Rpdml0eU1heFJlcXVlc3RQZXJCYXRjaCgpOiBudW1iZXI7XG4gICAgYWJzdHJhY3QgZ2V0Q2FzZUhpc3RvcnlVcmwoY2FzZUlkOiBzdHJpbmcsIGV2ZW50SWQ6IHN0cmluZyk6IHN0cmluZztcbiAgICBhYnN0cmFjdCBnZXRQcmludFNlcnZpY2VVcmwoKTogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIER1bW15IHZlcnNpb24gcmVwbGFjaW5nIGRlcHJlY2F0ZWQgYGdldFJlbW90ZVByaW50U2VydmljZVVybCgpYCwgdG8gYmUgcmVtb3ZlZCBpbiBuZXh0IG1ham9yIHJlbGVhc2VcbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqIEByZXR1cm5zIGB1bmRlZmluZWRgXG4gICAgICovXG4gICAgZ2V0UmVtb3RlUHJpbnRTZXJ2aWNlVXJsKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGFic3RyYWN0IGdldFBhZ2luYXRpb25QYWdlU2l6ZSgpOiBudW1iZXI7XG4gICAgYWJzdHJhY3QgZ2V0QmFubmVyc1VybCgpOiBzdHJpbmc7XG4gICAgYWJzdHJhY3QgZ2V0UHJkVXJsKCk6IHN0cmluZztcbiAgICBhYnN0cmFjdCBnZXRDYWNoZVRpbWVPdXQoKTogbnVtYmVyO1xuICAgIGFic3RyYWN0IGdldFdvcmtBbGxvY2F0aW9uQXBpVXJsKCk6IHN0cmluZztcbiAgICBnZXRVc2VySW5mb0FwaVVybCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBnZXRXQVNlcnZpY2VDb25maWcoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgZ2V0QWNjZXNzTWFuYWdlbWVudE1vZGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGdldEFjY2Vzc01hbmFnZW1lbnRCYXNpY1ZpZXdNb2NrKCk6IEFjY2Vzc01hbmFnZW1lbnRCYXNpY1ZpZXdNb2NrTW9kZWwge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBnZXRBY2Nlc3NNYW5hZ2VtZW50UmVxdWVzdFJldmlld01vY2tNb2RlbCgpOiBBY2Nlc3NNYW5hZ2VtZW50UmVxdWVzdFJldmlld01vY2tNb2RlbCB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGdldExvY2F0aW9uUmVmQXBpVXJsKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXRSZWZ1bmRzVXJsKCk6IHN0cmluZztcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0Tm90aWZpY2F0aW9uVXJsKCk6IHN0cmluZztcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0UGF5bWVudFJldHVyblVybCgpOiBzdHJpbmc7XG4gICAgcHVibGljIGFic3RyYWN0IGdldENhdGVnb3JpZXNBbmREb2N1bWVudHNVcmwoKTogc3RyaW5nO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXREb2N1bWVudERhdGFVcmwoKTogc3RyaW5nO1xuICAgIGdldENhbVJvbGVBc3NpZ25tZW50c0FwaVVybCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBhYnN0cmFjdCBnZXRDYXNlRmxhZ3NSZWZkYXRhQXBpVXJsKCk6IHN0cmluZztcbiAgICBhYnN0cmFjdCBnZXRSRENvbW1vbkRhdGFBcGlVcmwoKTogc3RyaW5nO1xuICAgIGFic3RyYWN0IGdldENhc2VEYXRhU3RvcmVBcGlVcmwoKTogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgQ2FzZUVkaXRvckNvbmZpZyB7XG4gICAgYXBpX3VybDogc3RyaW5nO1xuICAgIGNhc2VfZGF0YV91cmw6IHN0cmluZztcbiAgICBkb2N1bWVudF9tYW5hZ2VtZW50X3VybDogc3RyaW5nO1xuICAgIGRvY3VtZW50X21hbmFnZW1lbnRfdXJsX3YyOiBzdHJpbmc7XG4gICAgaHJzX3VybDogc3RyaW5nO1xuICAgIGRvY3VtZW50X21hbmFnZW1lbnRfc2VjdXJlX2VuYWJsZWQ6IGJvb2xlYW47XG4gICAgbG9naW5fdXJsOiBzdHJpbmc7XG4gICAgb2F1dGgyX2NsaWVudF9pZDogc3RyaW5nO1xuICAgIHBvc3Rjb2RlX2xvb2t1cF91cmw6IHN0cmluZztcbiAgICByZW1vdGVfZG9jdW1lbnRfbWFuYWdlbWVudF91cmw6IHN0cmluZztcbiAgICByZW1vdGVfaHJzX3VybDogc3RyaW5nO1xuICAgIGFubm90YXRpb25fYXBpX3VybDogc3RyaW5nO1xuICAgIHBheW1lbnRzX3VybDogc3RyaW5nO1xuICAgIHBheV9idWxrX3NjYW5fdXJsOiBzdHJpbmc7XG4gICAgYWN0aXZpdHlfYmF0Y2hfY29sbGVjdGlvbl9kZWxheV9tczogbnVtYmVyO1xuICAgIGFjdGl2aXR5X25leHRfcG9sbF9yZXF1ZXN0X21zOiBudW1iZXI7XG4gICAgYWN0aXZpdHlfcmV0cnk6IG51bWJlcjtcbiAgICBhY3Rpdml0eV91cmw6IHN0cmluZztcbiAgICBhY3Rpdml0eV9tYXhfcmVxdWVzdF9wZXJfYmF0Y2g6IG51bWJlcjtcbiAgICBwcmludF9zZXJ2aWNlX3VybDogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIHJlbW90ZV9wcmludF9zZXJ2aWNlX3VybCBtYXJrZWQgYXMgb3B0aW9uYWwgc2luY2UgZGVwcmVjYXRpb24sIGFoZWFkIG9mIHJlbW92YWwgaW4gbmV4dCBtYWpvciByZWxlYXNlXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKi9cbiAgICByZW1vdGVfcHJpbnRfc2VydmljZV91cmw/OiBzdHJpbmc7XG4gICAgcGFnaW5hdGlvbl9wYWdlX3NpemU6IG51bWJlcjtcbiAgICBwcmRfdXJsOiBzdHJpbmc7XG4gICAgY2FjaGVfdGltZV9vdXQ6IG51bWJlcjtcbiAgICB3b3JrX2FsbG9jYXRpb25fYXBpX3VybDogc3RyaW5nO1xuICAgIHVzZXJfaW5mb19hcGlfdXJsOiBzdHJpbmc7XG4gICAgd2Ffc2VydmljZV9jb25maWc/OiBhbnk7XG4gICAgYWNjZXNzX21hbmFnZW1lbnRfbW9kZT86IGJvb2xlYW47XG4gICAgYWNjZXNzX21hbmFnZW1lbnRfYmFzaWNfdmlld19tb2NrPzoge1xuICAgICAgICBhY3RpdmU/OiBib29sZWFuLFxuICAgICAgICBiYXNpY0ZpZWxkcz86IHtcbiAgICAgICAgICAgIGNhc2VOYW1lSG1jdHNJbnRlcm5hbD86IHN0cmluZyxcbiAgICAgICAgICAgIGNhc2VNYW5hZ2VtZW50TG9jYXRpb24/OiB7XG4gICAgICAgICAgICAgICAgYmFzZUxvY2F0aW9uPzogbnVtYmVyXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGFjY2Vzc1Byb2Nlc3M/OiBzdHJpbmdcbiAgICB9O1xuICAgIGFjY2Vzc19tYW5hZ2VtZW50X3JlcXVlc3RfcmV2aWV3X21vY2s/OiB7XG4gICAgICAgIGFjdGl2ZT86IGJvb2xlYW47XG4gICAgICAgIGRldGFpbHM/OiB7XG4gICAgICAgICAgICBjYXNlTmFtZTogc3RyaW5nO1xuICAgICAgICAgICAgY2FzZVJlZmVyZW5jZTogc3RyaW5nO1xuICAgICAgICAgICAgZGF0ZVN1Ym1pdHRlZDogc3RyaW5nO1xuICAgICAgICAgICAgcmVxdWVzdEZyb206IHN0cmluZztcbiAgICAgICAgICAgIHJlYXNvbkZvckNhc2VBY2Nlc3M6IHN0cmluZztcbiAgICAgICAgfTtcbiAgICAgICAgYWNjZXNzUHJvY2Vzcz86IHN0cmluZztcbiAgICB9O1xuICAgIHB1YmxpYyBsb2NhdGlvbl9yZWZfYXBpX3VybD86IHN0cmluZztcbiAgICBwdWJsaWMgY2FtX3JvbGVfYXNzaWdubWVudHNfYXBpX3VybD86IHN0cmluZztcbiAgICBwdWJsaWMgcmVmdW5kc191cmw6IHN0cmluZztcbiAgICBwdWJsaWMgbm90aWZpY2F0aW9uX3VybDogc3RyaW5nO1xuICAgIHB1YmxpYyBwYXltZW50X3JldHVybl91cmw6IHN0cmluZztcbiAgICBwdWJsaWMgY2F0ZWdvcmllc19hbmRfZG9jdW1lbnRzX3VybDogc3RyaW5nO1xuICAgIHB1YmxpYyBkb2N1bWVudF9kYXRhX3VybDogc3RyaW5nO1xuICAgIHB1YmxpYyBjYXNlX2ZsYWdzX3JlZmRhdGFfYXBpX3VybDogc3RyaW5nO1xuICAgIHB1YmxpYyByZF9jb21tb25fZGF0YV9hcGlfdXJsOiBzdHJpbmc7XG4gICAgcHVibGljIGNhc2VfZGF0YV9zdG9yZV9hcGlfdXJsOiBzdHJpbmc7XG59XG4iXX0=
@@ -253,4 +253,4 @@ CasesService.ɵprov = i0.ɵɵdefineInjectable({ token: CasesService, factory: Ca
253
253
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CasesService, [{
254
254
  type: Injectable
255
255
  }], function () { return [{ type: i1.HttpService }, { type: i2.AbstractAppConfig }, { type: i1.OrderService }, { type: i1.HttpErrorService }, { type: i3.WizardPageFieldToCaseFieldMapper }, { type: i4.WorkAllocationService }, { type: i1.LoadingService }, { type: i1.SessionStorageService }]; }, null); })();
256
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLWVkaXRvci9zZXJ2aWNlcy9jYXNlcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUVMLGdCQUFnQixFQUdTLEtBQUssRUFJL0IsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFcEksT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXZELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzVGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7QUFHbEUsTUFBTSxPQUFPLFlBQVk7SUEwQ3ZCLFlBQ1UsSUFBaUIsRUFDakIsU0FBNEIsRUFDNUIsWUFBMEIsRUFDMUIsWUFB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QixHQUM5QyxvRkFBb0YsQ0FBQztBQUNoRSxxQ0FBd0IsR0FDN0MsbUZBQW1GLENBQUM7QUFFL0QsNkJBQWdCLEdBQUcsa0JBQWtCLENBQUM7d0VBdEJsRCxZQUFZO29EQUFaLFlBQVksV0FBWixZQUFZO3VGQUFaLFlBQVk7Y0FEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUsIG1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWJzdHJhY3RBcHBDb25maWcgfSBmcm9tICcuLi8uLi8uLi8uLi9hcHAuY29uZmlnJztcbmltcG9ydCB7IFNob3dDb25kaXRpb24gfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7XG4gIENhc2VFdmVudERhdGEsXG4gIENhc2VFdmVudFRyaWdnZXIsXG4gIENhc2VQcmludERvY3VtZW50LFxuICBDYXNlVmlldyxcbiAgQ2hhbGxlbmdlZEFjY2Vzc1JlcXVlc3QsIERyYWZ0LFxuICBSb2xlQXNzaWdubWVudFJlc3BvbnNlLFxuICBSb2xlQ2F0ZWdvcnksXG4gIFJvbGVSZXF1ZXN0UGF5bG9hZCwgU3BlY2lmaWNBY2Nlc3NSZXF1ZXN0XG59IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBVc2VySW5mbyB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbi91c2VyL3VzZXItaW5mby5tb2RlbCc7XG5pbXBvcnQgeyBGaWVsZHNVdGlscywgSHR0cEVycm9yU2VydmljZSwgSHR0cFNlcnZpY2UsIExvYWRpbmdTZXJ2aWNlLCBPcmRlclNlcnZpY2UsIFNlc3Npb25TdG9yYWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IExpbmtDYXNlUmVhc29uLCBMaW5rZWRDYXNlc1Jlc3BvbnNlIH0gZnJvbSAnLi4vLi4vcGFsZXR0ZS9saW5rZWQtY2FzZXMvZG9tYWluL2xpbmtlZC1jYXNlcy5tb2RlbCc7XG5pbXBvcnQgeyBDYXNlQWNjZXNzVXRpbHMgfSBmcm9tICcuLi9jYXNlLWFjY2Vzcy11dGlscyc7XG5pbXBvcnQgeyBXaXphcmRQYWdlIH0gZnJvbSAnLi4vZG9tYWluJztcbmltcG9ydCB7IFdpemFyZFBhZ2VGaWVsZFRvQ2FzZUZpZWxkTWFwcGVyIH0gZnJvbSAnLi93aXphcmQtcGFnZS1maWVsZC10by1jYXNlLWZpZWxkLm1hcHBlcic7XG5pbXBvcnQgeyBXb3JrQWxsb2NhdGlvblNlcnZpY2UgfSBmcm9tICcuL3dvcmstYWxsb2NhdGlvbi5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhc2VzU2VydmljZSB7XG4gIC8vIEludGVybmFsIChVSSkgQVBJXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVjJfTUVESUFUWVBFX0NBU0VfVklFVyA9ICdhcHBsaWNhdGlvbi92bmQudWsuZ292LmhtY3RzLmNjZC1kYXRhLXN0b3JlLWFwaS51aS1jYXNlLXZpZXcudjIranNvbic7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVjJfTUVESUFUWVBFX1NUQVJUX0NBU0VfVFJJR0dFUiA9XG4gICAgJ2FwcGxpY2F0aW9uL3ZuZC51ay5nb3YuaG1jdHMuY2NkLWRhdGEtc3RvcmUtYXBpLnVpLXN0YXJ0LWNhc2UtdHJpZ2dlci52Mitqc29uO2NoYXJzZXQ9VVRGLTgnO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFYyX01FRElBVFlQRV9TVEFSVF9FVkVOVF9UUklHR0VSID1cbiAgICAnYXBwbGljYXRpb24vdm5kLnVrLmdvdi5obWN0cy5jY2QtZGF0YS1zdG9yZS1hcGkudWktc3RhcnQtZXZlbnQtdHJpZ2dlci52Mitqc29uO2NoYXJzZXQ9VVRGLTgnO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFYyX01FRElBVFlQRV9TVEFSVF9EUkFGVF9UUklHR0VSID1cbiAgICAnYXBwbGljYXRpb24vdm5kLnVrLmdvdi5obWN0cy5jY2QtZGF0YS1zdG9yZS1hcGkudWktc3RhcnQtZHJhZnQtdHJpZ2dlci52Mitqc29uO2NoYXJzZXQ9VVRGLTgnO1xuXG4gIC8vIEV4dGVybmFsIChEYXRhIFN0b3JlKSBBUElcblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFYyX01FRElBVFlQRV9DQVNFX0RPQ1VNRU5UUyA9XG4gICAgJ2FwcGxpY2F0aW9uL3ZuZC51ay5nb3YuaG1jdHMuY2NkLWRhdGEtc3RvcmUtYXBpLmNhc2UtZG9jdW1lbnRzLnYyK2pzb247Y2hhcnNldD1VVEYtOCc7XG5cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBWMl9NRURJQVRZUEVfQ0FTRV9EQVRBX1ZBTElEQVRFID1cbiAgICAnYXBwbGljYXRpb24vdm5kLnVrLmdvdi5obWN0cy5jY2QtZGF0YS1zdG9yZS1hcGkuY2FzZS1kYXRhLXZhbGlkYXRlLnYyK2pzb247Y2hhcnNldD1VVEYtOCc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVjJfTUVESUFUWVBFX0NSRUFURV9FVkVOVCA9XG4gICAgJ2FwcGxpY2F0aW9uL3ZuZC51ay5nb3YuaG1jdHMuY2NkLWRhdGEtc3RvcmUtYXBpLmNyZWF0ZS1ldmVudC52Mitqc29uO2NoYXJzZXQ9VVRGLTgnO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFYyX01FRElBVFlQRV9DUkVBVEVfQ0FTRSA9XG4gICAgJ2FwcGxpY2F0aW9uL3ZuZC51ay5nb3YuaG1jdHMuY2NkLWRhdGEtc3RvcmUtYXBpLmNyZWF0ZS1jYXNlLnYyK2pzb247Y2hhcnNldD1VVEYtOCc7XG5cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQVUlfQ0FTRV9NQU5BR0VSID0gJ3B1aS1jYXNlLW1hbmFnZXInO1xuXG4gIGdldCA9IHRoaXMuZ2V0Q2FzZVZpZXc7XG5cbiAgcHVibGljIHN0YXRpYyB1cGRhdGVDaGFsbGVuZ2VkQWNjZXNzUmVxdWVzdEF0dHJpYnV0ZXMoaHR0cENsaWVudDogSHR0cENsaWVudCwgY2FzZUlkOiBzdHJpbmcsIGF0dHJpYnV0ZXNUb1VwZGF0ZTogeyBbeDogc3RyaW5nXTogYW55IH0pXG4gICAgOiBPYnNlcnZhYmxlPFJvbGVBc3NpZ25tZW50UmVzcG9uc2U+IHtcbiAgICByZXR1cm4gaHR0cENsaWVudC5wb3N0PFJvbGVBc3NpZ25tZW50UmVzcG9uc2U+KGAvYXBpL2NoYWxsZW5nZWQtYWNjZXNzLXJlcXVlc3QvdXBkYXRlLWF0dHJpYnV0ZXNgLCB7XG4gICAgICBjYXNlSWQsXG4gICAgICBhdHRyaWJ1dGVzVG9VcGRhdGVcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgdXBkYXRlU3BlY2lmaWNBY2Nlc3NSZXF1ZXN0QXR0cmlidXRlcyhodHRwQ2xpZW50OiBIdHRwQ2xpZW50LCBjYXNlSWQ6IHN0cmluZywgYXR0cmlidXRlc1RvVXBkYXRlOiB7IFt4OiBzdHJpbmddOiBhbnkgfSlcbiAgICA6IE9ic2VydmFibGU8Um9sZUFzc2lnbm1lbnRSZXNwb25zZT4ge1xuICAgIHJldHVybiBodHRwQ2xpZW50LnBvc3Q8Um9sZUFzc2lnbm1lbnRSZXNwb25zZT4oYC9hcGkvc3BlY2lmaWMtYWNjZXNzLXJlcXVlc3QvdXBkYXRlLWF0dHJpYnV0ZXNgLCB7XG4gICAgICBjYXNlSWQsXG4gICAgICBhdHRyaWJ1dGVzVG9VcGRhdGVcbiAgICB9KTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhcHBDb25maWc6IEFic3RyYWN0QXBwQ29uZmlnLFxuICAgIHByaXZhdGUgb3JkZXJTZXJ2aWNlOiBPcmRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlcnJvclNlcnZpY2U6IEh0dHBFcnJvclNlcnZpY2UsXG4gICAgcHJpdmF0ZSB3aXphcmRQYWdlRmllbGRUb0Nhc2VGaWVsZE1hcHBlcjogV2l6YXJkUGFnZUZpZWxkVG9DYXNlRmllbGRNYXBwZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSB3b3JrQWxsb2NhdGlvblNlcnZpY2U6IFdvcmtBbGxvY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGxvYWRpbmdTZXJ2aWNlOiBMb2FkaW5nU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlc3Npb25TdG9yYWdlU2VydmljZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlXG4gICkge1xuICB9XG5cbiAgZ2V0Q2FzZVZpZXcoanVyaXNkaWN0aW9uSWQ6IHN0cmluZyxcbiAgICBjYXNlVHlwZUlkOiBzdHJpbmcsXG4gICAgY2FzZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPENhc2VWaWV3PiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5hcHBDb25maWcuZ2V0QXBpVXJsKClcbiAgICAgICsgYC9jYXNld29ya2Vycy86dWlkYFxuICAgICAgKyBgL2p1cmlzZGljdGlvbnMvJHtqdXJpc2RpY3Rpb25JZH1gXG4gICAgICArIGAvY2FzZS10eXBlcy8ke2Nhc2VUeXBlSWR9YFxuICAgICAgKyBgL2Nhc2VzLyR7Y2FzZUlkfWA7XG5cbiAgICBjb25zdCBsb2FkaW5nVG9rZW4gPSB0aGlzLmxvYWRpbmdTZXJ2aWNlLnJlZ2lzdGVyKCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldCh1cmwpXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgdGhpcy5lcnJvclNlcnZpY2Uuc2V0RXJyb3IoZXJyb3IpO1xuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSksXG4gICAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMubG9hZGluZ1NlcnZpY2UudW5yZWdpc3Rlcihsb2FkaW5nVG9rZW4pKVxuICAgICAgKTtcbiAgfVxuXG4gIGdldENhc2VWaWV3VjIoY2FzZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPENhc2VWaWV3PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5hcHBDb25maWcuZ2V0Q2FzZURhdGFVcmwoKX0vaW50ZXJuYWwvY2FzZXMvJHtjYXNlSWR9YDtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKClcbiAgICAgIC5zZXQoJ2V4cGVyaW1lbnRhbCcsICd0cnVlJylcbiAgICAgIC5zZXQoJ0FjY2VwdCcsIENhc2VzU2VydmljZS5WMl9NRURJQVRZUEVfQ0FTRV9WSUVXKVxuICAgICAgLnNldCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb24nKTtcblxuICAgIGNvbnN0IGxvYWRpbmdUb2tlbiA9IHRoaXMubG9hZGluZ1NlcnZpY2UucmVnaXN0ZXIoKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQodXJsLCB7IGhlYWRlcnMsIG9ic2VydmU6ICdib2R5JyB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHRoaXMuZXJyb3JTZXJ2aWNlLnNldEVycm9yKGVycm9yKTtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH0pLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmxvYWRpbmdTZXJ2aWNlLnVucmVnaXN0ZXIobG9hZGluZ1Rva2VuKSlcbiAgICAgICk7XG4gIH1cblxuICBnZXRFdmVudFRyaWdnZXIoY2FzZVR5cGVJZDogc3RyaW5nLFxuICAgIGV2ZW50VHJpZ2dlcklkOiBzdHJpbmcsXG4gICAgY2FzZUlkPzogc3RyaW5nLFxuICAgIGlnbm9yZVdhcm5pbmc/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPENhc2VFdmVudFRyaWdnZXI+IHtcbiAgICBpZ25vcmVXYXJuaW5nID0gdW5kZWZpbmVkICE9PSBpZ25vcmVXYXJuaW5nID8gaWdub3JlV2FybmluZyA6ICdmYWxzZSc7XG5cbiAgICBjb25zdCB1cmwgPSB0aGlzLmJ1aWxkRXZlbnRUcmlnZ2VyVXJsKGNhc2VUeXBlSWQsIGV2ZW50VHJpZ2dlcklkLCBjYXNlSWQsIGlnbm9yZVdhcm5pbmcpO1xuXG4gICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKVxuICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnZXhwZXJpbWVudGFsJywgJ3RydWUnKVxuICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb24nKTtcblxuICAgIGlmIChEcmFmdC5pc0RyYWZ0KGNhc2VJZCkpIHtcbiAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQWNjZXB0JywgQ2FzZXNTZXJ2aWNlLlYyX01FRElBVFlQRV9TVEFSVF9EUkFGVF9UUklHR0VSKTtcbiAgICB9IGVsc2UgaWYgKGNhc2VJZCAhPT0gdW5kZWZpbmVkICYmIGNhc2VJZCAhPT0gbnVsbCkge1xuICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCBDYXNlc1NlcnZpY2UuVjJfTUVESUFUWVBFX1NUQVJUX0VWRU5UX1RSSUdHRVIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIENhc2VzU2VydmljZS5WMl9NRURJQVRZUEVfU1RBUlRfQ0FTRV9UUklHR0VSKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0KHVybCwgeyBoZWFkZXJzLCBvYnNlcnZlOiAnYm9keScgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoYm9keSA9PiB7XG4gICAgICAgICAgcmV0dXJuIEZpZWxkc1V0aWxzLmhhbmRsZU5lc3RlZER5bmFtaWNMaXN0cyhib2R5KTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHRoaXMuZXJyb3JTZXJ2aWNlLnNldEVycm9yKGVycm9yKTtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH0pLFxuICAgICAgICBtYXAoKHApID0+IHBsYWluVG9DbGFzcyhDYXNlRXZlbnRUcmlnZ2VyLCBwKSksXG4gICAgICAgIHRhcChldmVudFRyaWdnZXIgPT4gdGhpcy5pbml0aWFsaXNlRXZlbnRUcmlnZ2VyKGV2ZW50VHJpZ2dlcikpXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZUV2ZW50KGNhc2VEZXRhaWxzOiBDYXNlVmlldywgZXZlbnREYXRhOiBDYXNlRXZlbnREYXRhKTogT2JzZXJ2YWJsZTx7fT4ge1xuICAgIGNvbnN0IGNhc2VJZCA9IGNhc2VEZXRhaWxzLmNhc2VfaWQ7XG4gICAgY29uc3QgdXJsID0gdGhpcy5hcHBDb25maWcuZ2V0Q2FzZURhdGFVcmwoKSArIGAvY2FzZXMvJHtjYXNlSWR9L2V2ZW50c2A7XG5cbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKClcbiAgICAgIC5zZXQoJ2V4cGVyaW1lbnRhbCcsICd0cnVlJylcbiAgICAgIC5zZXQoJ0FjY2VwdCcsIENhc2VzU2VydmljZS5WMl9NRURJQVRZUEVfQ1JFQVRFX0VWRU5UKVxuICAgICAgLnNldCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb24nKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5wb3N0KHVybCwgZXZlbnREYXRhLCB7IGhlYWRlcnMsIG9ic2VydmU6ICdib2R5JyB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHRoaXMuZXJyb3JTZXJ2aWNlLnNldEVycm9yKGVycm9yKTtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgdmFsaWRhdGVDYXNlKGN0aWQ6IHN0cmluZywgZXZlbnREYXRhOiBDYXNlRXZlbnREYXRhLCBwYWdlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgY29uc3QgcGFnZUlkU3RyaW5nID0gcGFnZUlkID8gJz9wYWdlSWQ9JyArIHBhZ2VJZCA6ICcnO1xuICAgIGNvbnN0IHVybCA9IHRoaXMuYXBwQ29uZmlnLmdldENhc2VEYXRhVXJsKClcbiAgICAgICsgYC9jYXNlLXR5cGVzLyR7Y3RpZH0vdmFsaWRhdGUke3BhZ2VJZFN0cmluZ31gO1xuXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpXG4gICAgICAuc2V0KCdleHBlcmltZW50YWwnLCAndHJ1ZScpXG4gICAgICAuc2V0KCdBY2NlcHQnLCBDYXNlc1NlcnZpY2UuVjJfTUVESUFUWVBFX0NBU0VfREFUQV9WQUxJREFURSlcbiAgICAgIC5zZXQoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qc29uJyk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdCh1cmwsIGV2ZW50RGF0YSwgeyBoZWFkZXJzLCBvYnNlcnZlOiAnYm9keScgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICB0aGlzLmVycm9yU2VydmljZS5zZXRFcnJvcihlcnJvcik7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIGNyZWF0ZUNhc2UoY3RpZDogc3RyaW5nLCBldmVudERhdGE6IENhc2VFdmVudERhdGEpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xuICAgIGxldCBpZ25vcmVXYXJuaW5nID0gJ2ZhbHNlJztcblxuICAgIGlmIChldmVudERhdGEuaWdub3JlX3dhcm5pbmcpIHtcbiAgICAgIGlnbm9yZVdhcm5pbmcgPSAndHJ1ZSc7XG4gICAgfVxuICAgIGNvbnN0IHVybCA9IHRoaXMuYXBwQ29uZmlnLmdldENhc2VEYXRhVXJsKClcbiAgICAgICsgYC9jYXNlLXR5cGVzLyR7Y3RpZH0vY2FzZXM/aWdub3JlLXdhcm5pbmc9JHtpZ25vcmVXYXJuaW5nfWA7XG5cbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKClcbiAgICAgIC5zZXQoJ2V4cGVyaW1lbnRhbCcsICd0cnVlJylcbiAgICAgIC5zZXQoJ0FjY2VwdCcsIENhc2VzU2VydmljZS5WMl9NRURJQVRZUEVfQ1JFQVRFX0NBU0UpXG4gICAgICAuc2V0KCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnBvc3QodXJsLCBldmVudERhdGEsIHsgaGVhZGVycywgb2JzZXJ2ZTogJ2JvZHknIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgdGhpcy5lcnJvclNlcnZpY2Uuc2V0RXJyb3IoZXJyb3IpO1xuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBnZXRQcmludERvY3VtZW50cyhjYXNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8Q2FzZVByaW50RG9jdW1lbnRbXT4ge1xuICAgIGNvbnN0IHVybCA9IHRoaXMuYXBwQ29uZmlnLmdldENhc2VEYXRhVXJsKClcbiAgICAgICsgYC9jYXNlcy8ke2Nhc2VJZH1gXG4gICAgICArIGAvZG9jdW1lbnRzYDtcblxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKVxuICAgICAgLnNldCgnZXhwZXJpbWVudGFsJywgJ3RydWUnKVxuICAgICAgLnNldCgnQWNjZXB0JywgQ2FzZXNTZXJ2aWNlLlYyX01FRElBVFlQRV9DQVNFX0RPQ1VNRU5UUylcbiAgICAgIC5zZXQoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qc29uJyk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0KHVybCwgeyBoZWFkZXJzLCBvYnNlcnZlOiAnYm9keScgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoYm9keSA9PiBib2R5LmRvY3VtZW50UmVzb3VyY2VzKSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgdGhpcy5lcnJvclNlcnZpY2Uuc2V0RXJyb3IoZXJyb3IpO1xuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkRXZlbnRUcmlnZ2VyVXJsKGNhc2VUeXBlSWQ6IHN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudFRyaWdnZXJJZDogc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2VJZD86IHN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZ25vcmVXYXJuaW5nPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBsZXQgdXJsID0gdGhpcy5hcHBDb25maWcuZ2V0Q2FzZURhdGFVcmwoKSArIGAvaW50ZXJuYWxgO1xuXG4gICAgaWYgKERyYWZ0LmlzRHJhZnQoY2FzZUlkKSkge1xuICAgICAgdXJsICs9IGAvZHJhZnRzLyR7Y2FzZUlkfWBcbiAgICAgICAgKyBgL2V2ZW50LXRyaWdnZXJgXG4gICAgICAgICsgYD9pZ25vcmUtd2FybmluZz0ke2lnbm9yZVdhcm5pbmd9YDtcbiAgICB9IGVsc2UgaWYgKGNhc2VUeXBlSWQgPT09IHVuZGVmaW5lZCB8fCBjYXNlVHlwZUlkID09PSBudWxsKSB7XG4gICAgICB1cmwgKz0gYC9jYXNlcy8ke2Nhc2VJZH1gXG4gICAgICAgICsgYC9ldmVudC10cmlnZ2Vycy8ke2V2ZW50VHJpZ2dlcklkfWBcbiAgICAgICAgKyBgP2lnbm9yZS13YXJuaW5nPSR7aWdub3JlV2FybmluZ31gO1xuICAgIH0gZWxzZSB7XG4gICAgICB1cmwgKz0gYC9jYXNlLXR5cGVzLyR7Y2FzZVR5cGVJZH1gXG4gICAgICAgICsgYC9ldmVudC10cmlnZ2Vycy8ke2V2ZW50VHJpZ2dlcklkfWBcbiAgICAgICAgKyBgP2lnbm9yZS13YXJuaW5nPSR7aWdub3JlV2FybmluZ31gO1xuICAgIH1cblxuICAgIHJldHVybiB1cmw7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpc2VFdmVudFRyaWdnZXIoZXZlbnRUcmlnZ2VyOiBDYXNlRXZlbnRUcmlnZ2VyKSB7XG4gICAgaWYgKCFldmVudFRyaWdnZXIud2l6YXJkX3BhZ2VzKSB7XG4gICAgICBldmVudFRyaWdnZXIud2l6YXJkX3BhZ2VzID0gW107XG4gICAgfVxuXG4gICAgZXZlbnRUcmlnZ2VyLndpemFyZF9wYWdlcy5mb3JFYWNoKCh3aXphcmRQYWdlOiBXaXphcmRQYWdlKSA9PiB7XG4gICAgICB3aXphcmRQYWdlLnBhcnNlZFNob3dDb25kaXRpb24gPSBTaG93Q29uZGl0aW9uLmdldEluc3RhbmNlKHdpemFyZFBhZ2Uuc2hvd19jb25kaXRpb24pO1xuICAgICAgd2l6YXJkUGFnZS5jYXNlX2ZpZWxkcyA9IHRoaXMub3JkZXJTZXJ2aWNlLnNvcnQoXG4gICAgICAgIHRoaXMud2l6YXJkUGFnZUZpZWxkVG9DYXNlRmllbGRNYXBwZXIubWFwQWxsKHdpemFyZFBhZ2Uud2l6YXJkX3BhZ2VfZmllbGRzLCBldmVudFRyaWdnZXIuY2FzZV9maWVsZHMpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qXG4gIENoZWNrcyBpZiB0aGUgdXNlciBoYXMgcm9sZSBvZiBwdWktY2FzZS1tYW5hZ2VyIGFuZCByZXR1cm5zIHRydWUgb3IgZmFsc2VcbiAgKi9cbiAgcHJpdmF0ZSBpc1B1aUNhc2VNYW5hZ2VyKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHVzZXJJbmZvU3RyID0gdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgndXNlckRldGFpbHMnKTtcbiAgICBpZiAodXNlckluZm9TdHIpIHtcbiAgICAgIGNvbnN0IHVzZXJJbmZvOiBVc2VySW5mbyA9IEpTT04ucGFyc2UodXNlckluZm9TdHIpO1xuICAgICAgcmV0dXJuIHVzZXJJbmZvICYmIHVzZXJJbmZvLnJvbGVzICYmICh1c2VySW5mby5yb2xlcy5pbmRleE9mKENhc2VzU2VydmljZS5QVUlfQ0FTRV9NQU5BR0VSKSAhPT0gLTEpO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q291cnRPckhlYXJpbmdDZW50cmVOYW1lKGxvY2F0aW9uSWQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAvYXBpL2xvY2F0aW9ucy9nZXRMb2NhdGlvbnNCeUlkYCwgeyBsb2NhdGlvbnMgOiBbeyBsb2NhdGlvbklkIH1dfSk7XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlQ2hhbGxlbmdlZEFjY2Vzc1JlcXVlc3QoY2FzZUlkOiBzdHJpbmcsIHJlcXVlc3Q6IENoYWxsZW5nZWRBY2Nlc3NSZXF1ZXN0KTogT2JzZXJ2YWJsZTxSb2xlQXNzaWdubWVudFJlc3BvbnNlPiB7XG4gICAgLy8gQXNzaWdubWVudCBBUEkgZW5kcG9pbnRcbiAgICBjb25zdCB1c2VySW5mb1N0ciA9IHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ3VzZXJEZXRhaWxzJyk7XG5cbiAgICBjb25zdCBjYW1VdGlscyA9IG5ldyBDYXNlQWNjZXNzVXRpbHMoKTtcbiAgICBsZXQgdXNlckluZm86IFVzZXJJbmZvO1xuICAgIGlmICh1c2VySW5mb1N0cikge1xuICAgICAgdXNlckluZm8gPSBKU09OLnBhcnNlKHVzZXJJbmZvU3RyKTtcbiAgICB9XG5cbiAgICBjb25zdCByb2xlQ2F0ZWdvcnk6IFJvbGVDYXRlZ29yeSA9IHVzZXJJbmZvLnJvbGVDYXRlZ29yeSB8fCBjYW1VdGlscy5nZXRNYXBwZWRSb2xlQ2F0ZWdvcnkodXNlckluZm8ucm9sZXMsIHVzZXJJbmZvLnJvbGVDYXRlZ29yaWVzKTtcbiAgICBjb25zdCByb2xlTmFtZSA9IGNhbVV0aWxzLmdldEFNUm9sZU5hbWUoJ2NoYWxsZW5nZWQnLCByb2xlQ2F0ZWdvcnkpO1xuICAgIGNvbnN0IGJlZ2luVGltZSA9IG5ldyBEYXRlKCk7XG4gICAgY29uc3QgZW5kVGltZSA9IG5ldyBEYXRlKG5ldyBEYXRlKCkuc2V0VVRDSG91cnMoMjMsIDU5LCA1OSwgOTk5KSk7XG4gICAgY29uc3QgaWQgPSB1c2VySW5mby5pZCA/IHVzZXJJbmZvLmlkIDogdXNlckluZm8udWlkO1xuICAgIGNvbnN0IGlzTmV3ID0gdHJ1ZTtcblxuICAgIGNvbnN0IHBheWxvYWQ6IFJvbGVSZXF1ZXN0UGF5bG9hZCA9IGNhbVV0aWxzLmdldEFNUGF5bG9hZChpZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGVOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlQ2F0ZWdvcnksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDSEFMTEVOR0VEJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZUlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWdpblRpbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZFRpbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmV3XG4gICAgICApO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAvYXBpL2NoYWxsZW5nZWQtYWNjZXNzLXJlcXVlc3RgLCBwYXlsb2FkKTtcbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVTcGVjaWZpY0FjY2Vzc1JlcXVlc3QoY2FzZUlkOiBzdHJpbmcsIHNhcjogU3BlY2lmaWNBY2Nlc3NSZXF1ZXN0KTogT2JzZXJ2YWJsZTxSb2xlQXNzaWdubWVudFJlc3BvbnNlPiB7XG4gICAgLy8gQXNzaWdubWVudCBBUEkgZW5kcG9pbnRcbiAgICBjb25zdCB1c2VySW5mb1N0ciA9IHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ3VzZXJEZXRhaWxzJyk7XG5cbiAgICBjb25zdCBjYW1VdGlscyA9IG5ldyBDYXNlQWNjZXNzVXRpbHMoKTtcbiAgICBsZXQgdXNlckluZm86IFVzZXJJbmZvO1xuICAgIGlmICh1c2VySW5mb1N0cikge1xuICAgICAgdXNlckluZm8gPSBKU09OLnBhcnNlKHVzZXJJbmZvU3RyKTtcbiAgICB9XG5cbiAgICBjb25zdCByb2xlQ2F0ZWdvcnk6IFJvbGVDYXRlZ29yeSA9IHVzZXJJbmZvLnJvbGVDYXRlZ29yeSB8fCBjYW1VdGlscy5nZXRNYXBwZWRSb2xlQ2F0ZWdvcnkodXNlckluZm8ucm9sZXMsIHVzZXJJbmZvLnJvbGVDYXRlZ29yaWVzKTtcbiAgICBjb25zdCByb2xlTmFtZSA9IGNhbVV0aWxzLmdldEFNUm9sZU5hbWUoJ3NwZWNpZmljJywgcm9sZUNhdGVnb3J5KTtcbiAgICBjb25zdCBpZCA9IHVzZXJJbmZvLmlkID8gdXNlckluZm8uaWQgOiB1c2VySW5mby51aWQ7XG4gICAgY29uc3QgcGF5bG9hZDogUm9sZVJlcXVlc3RQYXlsb2FkID0gY2FtVXRpbHMuZ2V0QU1QYXlsb2FkKG51bGwsIGlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlTmFtZSwgcm9sZUNhdGVnb3J5LCAnU1BFQ0lGSUMnLCBjYXNlSWQsIHNhciwgbnVsbCwgbnVsbCwgdHJ1ZSk7XG5cbiAgICBwYXlsb2FkLnJvbGVSZXF1ZXN0ID0ge1xuICAgICAgLi4ucGF5bG9hZC5yb2xlUmVxdWVzdCxcbiAgICAgIHByb2Nlc3M6ICdzcGVjaWZpYy1hY2Nlc3MnLFxuICAgICAgcmVwbGFjZUV4aXN0aW5nOiB0cnVlLFxuICAgICAgYXNzaWduZXJJZDogcGF5bG9hZC5yZXF1ZXN0ZWRSb2xlc1swXS5hY3RvcklkLFxuICAgICAgcmVmZXJlbmNlOiBgJHtjYXNlSWR9LyR7cm9sZU5hbWV9LyR7cGF5bG9hZC5yZXF1ZXN0ZWRSb2xlc1swXS5hY3RvcklkfWBcbiAgICB9O1xuXG4gICAgcGF5bG9hZC5yZXF1ZXN0ZWRSb2xlc1swXSA9IHtcbiAgICAgIC4uLnBheWxvYWQucmVxdWVzdGVkUm9sZXNbMF0sXG4gICAgICByb2xlTmFtZTogJ3NwZWNpZmljLWFjY2Vzcy1yZXF1ZXN0ZWQnLFxuICAgICAgcm9sZUNhdGVnb3J5LFxuICAgICAgY2xhc3NpZmljYXRpb246ICdQUklWQVRFJyxcbiAgICAgIGVuZFRpbWU6IG5ldyBEYXRlKG5ldyBEYXRlKCkuc2V0RGF0ZShuZXcgRGF0ZSgpLmdldERhdGUoKSArIDMwKSksXG4gICAgICBiZWdpblRpbWU6IG51bGwsXG4gICAgICBncmFudFR5cGU6ICdCQVNJQycsXG4gICAgICByZWFkT25seTogdHJ1ZVxuICAgIH07XG5cbiAgICBwYXlsb2FkLnJlcXVlc3RlZFJvbGVzWzBdLmF0dHJpYnV0ZXMgPSB7XG4gICAgICAuLi5wYXlsb2FkLnJlcXVlc3RlZFJvbGVzWzBdLmF0dHJpYnV0ZXMsXG4gICAgICByZXF1ZXN0ZWRSb2xlOiByb2xlTmFtZSxcbiAgICAgIHNwZWNpZmljQWNjZXNzUmVhc29uOiBzYXIuc3BlY2lmaWNSZWFzb25cbiAgICB9XG5cbiAgICBwYXlsb2FkLnJlcXVlc3RlZFJvbGVzWzBdLm5vdGVzWzBdID0ge1xuICAgICAgLi4ucGF5bG9hZC5yZXF1ZXN0ZWRSb2xlc1swXS5ub3Rlc1swXSxcbiAgICAgIHVzZXJJZDogcGF5bG9hZC5yZXF1ZXN0ZWRSb2xlc1swXS5hY3RvcklkXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxuICAgICAgYC9hcGkvc3BlY2lmaWMtYWNjZXNzLXJlcXVlc3RgLFxuICAgICAgcGF5bG9hZFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGlua2VkQ2FzZXMoY2FzZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPExpbmtlZENhc2VzUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmFwcENvbmZpZy5nZXRDYXNlRGF0YVN0b3JlQXBpVXJsKCl9LyR7Y2FzZUlkfWBcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgLmdldCh1cmwpXG4gICAgLnBpcGUoY2F0Y2hFcnJvcihlcnJvciA9PiB0aHJvd0Vycm9yKGVycm9yKSkpO1xuICB9XG59XG4iXX0=
256
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLWVkaXRvci9zZXJ2aWNlcy9jYXNlcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUVMLGdCQUFnQixFQUdTLEtBQUssRUFJL0IsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFcEksT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXZELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzVGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7QUFHbEUsTUFBTSxPQUFPLFlBQVk7SUEwQ3ZCLFlBQ1UsSUFBaUIsRUFDakIsU0FBNEIsRUFDNUIsWUFBMEIsRUFDMUIsWUFB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QixHQUM5QyxvRkFBb0YsQ0FBQztBQUNoRSxxQ0FBd0IsR0FDN0MsbUZBQW1GLENBQUM7QUFFL0QsNkJBQWdCLEdBQUcsa0JBQWtCLENBQUM7d0VBdEJsRCxZQUFZO29EQUFaLFlBQVksV0FBWixZQUFZO3VGQUFaLFlBQVk7Y0FEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUsIG1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWJzdHJhY3RBcHBDb25maWcgfSBmcm9tICcuLi8uLi8uLi8uLi9hcHAuY29uZmlnJztcbmltcG9ydCB7IFNob3dDb25kaXRpb24gfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7XG4gIENhc2VFdmVudERhdGEsXG4gIENhc2VFdmVudFRyaWdnZXIsXG4gIENhc2VQcmludERvY3VtZW50LFxuICBDYXNlVmlldyxcbiAgQ2hhbGxlbmdlZEFjY2Vzc1JlcXVlc3QsIERyYWZ0LFxuICBSb2xlQXNzaWdubWVudFJlc3BvbnNlLFxuICBSb2xlQ2F0ZWdvcnksXG4gIFJvbGVSZXF1ZXN0UGF5bG9hZCwgU3BlY2lmaWNBY2Nlc3NSZXF1ZXN0XG59IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBVc2VySW5mbyB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbi91c2VyL3VzZXItaW5mby5tb2RlbCc7XG5pbXBvcnQgeyBGaWVsZHNVdGlscywgSHR0cEVycm9yU2VydmljZSwgSHR0cFNlcnZpY2UsIExvYWRpbmdTZXJ2aWNlLCBPcmRlclNlcnZpY2UsIFNlc3Npb25TdG9yYWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IExpbmtlZENhc2VzUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9wYWxldHRlL2xpbmtlZC1jYXNlcy9kb21haW4vbGlua2VkLWNhc2VzLm1vZGVsJztcbmltcG9ydCB7IENhc2VBY2Nlc3NVdGlscyB9IGZyb20gJy4uL2Nhc2UtYWNjZXNzLXV0aWxzJztcbmltcG9ydCB7IFdpemFyZFBhZ2UgfSBmcm9tICcuLi9kb21haW4nO1xuaW1wb3J0IHsgV2l6YXJkUGFnZUZpZWxkVG9DYXNlRmllbGRNYXBwZXIgfSBmcm9tICcuL3dpemFyZC1wYWdlLWZpZWxkLXRvLWNhc2UtZmllbGQubWFwcGVyJztcbmltcG9ydCB7IFdvcmtBbGxvY2F0aW9uU2VydmljZSB9IGZyb20gJy4vd29yay1hbGxvY2F0aW9uLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2FzZXNTZXJ2aWNlIHtcbiAgLy8gSW50ZXJuYWwgKFVJKSBBUElcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBWMl9NRURJQVRZUEVfQ0FTRV9WSUVXID0gJ2FwcGxpY2F0aW9uL3ZuZC51ay5nb3YuaG1jdHMuY2NkLWRhdGEtc3RvcmUtYXBpLnVpLWNhc2Utdmlldy52Mitqc29uJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBWMl9NRURJQVRZUEVfU1RBUlRfQ0FTRV9UUklHR0VSID1cbiAgICAnYXBwbGljYXRpb24vdm5kLnVrLmdvdi5obWN0cy5jY2QtZGF0YS1zdG9yZS1hcGkudWktc3RhcnQtY2FzZS10cmlnZ2VyLnYyK2pzb247Y2hhcnNldD1VVEYtOCc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVjJfTUVESUFUWVBFX1NUQVJUX0VWRU5UX1RSSUdHRVIgPVxuICAgICdhcHBsaWNhdGlvbi92bmQudWsuZ292LmhtY3RzLmNjZC1kYXRhLXN0b3JlLWFwaS51aS1zdGFydC1ldmVudC10cmlnZ2VyLnYyK2pzb247Y2hhcnNldD1VVEYtOCc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVjJfTUVESUFUWVBFX1NUQVJUX0RSQUZUX1RSSUdHRVIgPVxuICAgICdhcHBsaWNhdGlvbi92bmQudWsuZ292LmhtY3RzLmNjZC1kYXRhLXN0b3JlLWFwaS51aS1zdGFydC1kcmFmdC10cmlnZ2VyLnYyK2pzb247Y2hhcnNldD1VVEYtOCc7XG5cbiAgLy8gRXh0ZXJuYWwgKERhdGEgU3RvcmUpIEFQSVxuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVjJfTUVESUFUWVBFX0NBU0VfRE9DVU1FTlRTID1cbiAgICAnYXBwbGljYXRpb24vdm5kLnVrLmdvdi5obWN0cy5jY2QtZGF0YS1zdG9yZS1hcGkuY2FzZS1kb2N1bWVudHMudjIranNvbjtjaGFyc2V0PVVURi04JztcblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFYyX01FRElBVFlQRV9DQVNFX0RBVEFfVkFMSURBVEUgPVxuICAgICdhcHBsaWNhdGlvbi92bmQudWsuZ292LmhtY3RzLmNjZC1kYXRhLXN0b3JlLWFwaS5jYXNlLWRhdGEtdmFsaWRhdGUudjIranNvbjtjaGFyc2V0PVVURi04JztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBWMl9NRURJQVRZUEVfQ1JFQVRFX0VWRU5UID1cbiAgICAnYXBwbGljYXRpb24vdm5kLnVrLmdvdi5obWN0cy5jY2QtZGF0YS1zdG9yZS1hcGkuY3JlYXRlLWV2ZW50LnYyK2pzb247Y2hhcnNldD1VVEYtOCc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVjJfTUVESUFUWVBFX0NSRUFURV9DQVNFID1cbiAgICAnYXBwbGljYXRpb24vdm5kLnVrLmdvdi5obWN0cy5jY2QtZGF0YS1zdG9yZS1hcGkuY3JlYXRlLWNhc2UudjIranNvbjtjaGFyc2V0PVVURi04JztcblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBVSV9DQVNFX01BTkFHRVIgPSAncHVpLWNhc2UtbWFuYWdlcic7XG5cbiAgZ2V0ID0gdGhpcy5nZXRDYXNlVmlldztcblxuICBwdWJsaWMgc3RhdGljIHVwZGF0ZUNoYWxsZW5nZWRBY2Nlc3NSZXF1ZXN0QXR0cmlidXRlcyhodHRwQ2xpZW50OiBIdHRwQ2xpZW50LCBjYXNlSWQ6IHN0cmluZywgYXR0cmlidXRlc1RvVXBkYXRlOiB7IFt4OiBzdHJpbmddOiBhbnkgfSlcbiAgICA6IE9ic2VydmFibGU8Um9sZUFzc2lnbm1lbnRSZXNwb25zZT4ge1xuICAgIHJldHVybiBodHRwQ2xpZW50LnBvc3Q8Um9sZUFzc2lnbm1lbnRSZXNwb25zZT4oYC9hcGkvY2hhbGxlbmdlZC1hY2Nlc3MtcmVxdWVzdC91cGRhdGUtYXR0cmlidXRlc2AsIHtcbiAgICAgIGNhc2VJZCxcbiAgICAgIGF0dHJpYnV0ZXNUb1VwZGF0ZVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyB1cGRhdGVTcGVjaWZpY0FjY2Vzc1JlcXVlc3RBdHRyaWJ1dGVzKGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsIGNhc2VJZDogc3RyaW5nLCBhdHRyaWJ1dGVzVG9VcGRhdGU6IHsgW3g6IHN0cmluZ106IGFueSB9KVxuICAgIDogT2JzZXJ2YWJsZTxSb2xlQXNzaWdubWVudFJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIGh0dHBDbGllbnQucG9zdDxSb2xlQXNzaWdubWVudFJlc3BvbnNlPihgL2FwaS9zcGVjaWZpYy1hY2Nlc3MtcmVxdWVzdC91cGRhdGUtYXR0cmlidXRlc2AsIHtcbiAgICAgIGNhc2VJZCxcbiAgICAgIGF0dHJpYnV0ZXNUb1VwZGF0ZVxuICAgIH0pO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwU2VydmljZSxcbiAgICBwcml2YXRlIGFwcENvbmZpZzogQWJzdHJhY3RBcHBDb25maWcsXG4gICAgcHJpdmF0ZSBvcmRlclNlcnZpY2U6IE9yZGVyU2VydmljZSxcbiAgICBwcml2YXRlIGVycm9yU2VydmljZTogSHR0cEVycm9yU2VydmljZSxcbiAgICBwcml2YXRlIHdpemFyZFBhZ2VGaWVsZFRvQ2FzZUZpZWxkTWFwcGVyOiBXaXphcmRQYWdlRmllbGRUb0Nhc2VGaWVsZE1hcHBlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdvcmtBbGxvY2F0aW9uU2VydmljZTogV29ya0FsbG9jYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgbG9hZGluZ1NlcnZpY2U6IExvYWRpbmdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2VcbiAgKSB7XG4gIH1cblxuICBnZXRDYXNlVmlldyhqdXJpc2RpY3Rpb25JZDogc3RyaW5nLFxuICAgIGNhc2VUeXBlSWQ6IHN0cmluZyxcbiAgICBjYXNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8Q2FzZVZpZXc+IHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLmFwcENvbmZpZy5nZXRBcGlVcmwoKVxuICAgICAgKyBgL2Nhc2V3b3JrZXJzLzp1aWRgXG4gICAgICArIGAvanVyaXNkaWN0aW9ucy8ke2p1cmlzZGljdGlvbklkfWBcbiAgICAgICsgYC9jYXNlLXR5cGVzLyR7Y2FzZVR5cGVJZH1gXG4gICAgICArIGAvY2FzZXMvJHtjYXNlSWR9YDtcblxuICAgIGNvbnN0IGxvYWRpbmdUb2tlbiA9IHRoaXMubG9hZGluZ1NlcnZpY2UucmVnaXN0ZXIoKTtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0KHVybClcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICB0aGlzLmVycm9yU2VydmljZS5zZXRFcnJvcihlcnJvcik7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9KSxcbiAgICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5sb2FkaW5nU2VydmljZS51bnJlZ2lzdGVyKGxvYWRpbmdUb2tlbikpXG4gICAgICApO1xuICB9XG5cbiAgZ2V0Q2FzZVZpZXdWMihjYXNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8Q2FzZVZpZXc+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmFwcENvbmZpZy5nZXRDYXNlRGF0YVVybCgpfS9pbnRlcm5hbC9jYXNlcy8ke2Nhc2VJZH1gO1xuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKVxuICAgICAgLnNldCgnZXhwZXJpbWVudGFsJywgJ3RydWUnKVxuICAgICAgLnNldCgnQWNjZXB0JywgQ2FzZXNTZXJ2aWNlLlYyX01FRElBVFlQRV9DQVNFX1ZJRVcpXG4gICAgICAuc2V0KCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpO1xuXG4gICAgY29uc3QgbG9hZGluZ1Rva2VuID0gdGhpcy5sb2FkaW5nU2VydmljZS5yZWdpc3RlcigpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldCh1cmwsIHsgaGVhZGVycywgb2JzZXJ2ZTogJ2JvZHknIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgdGhpcy5lcnJvclNlcnZpY2Uuc2V0RXJyb3IoZXJyb3IpO1xuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSksXG4gICAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMubG9hZGluZ1NlcnZpY2UudW5yZWdpc3Rlcihsb2FkaW5nVG9rZW4pKVxuICAgICAgKTtcbiAgfVxuXG4gIGdldEV2ZW50VHJpZ2dlcihjYXNlVHlwZUlkOiBzdHJpbmcsXG4gICAgZXZlbnRUcmlnZ2VySWQ6IHN0cmluZyxcbiAgICBjYXNlSWQ/OiBzdHJpbmcsXG4gICAgaWdub3JlV2FybmluZz86IHN0cmluZyk6IE9ic2VydmFibGU8Q2FzZUV2ZW50VHJpZ2dlcj4ge1xuICAgIGlnbm9yZVdhcm5pbmcgPSB1bmRlZmluZWQgIT09IGlnbm9yZVdhcm5pbmcgPyBpZ25vcmVXYXJuaW5nIDogJ2ZhbHNlJztcblxuICAgIGNvbnN0IHVybCA9IHRoaXMuYnVpbGRFdmVudFRyaWdnZXJVcmwoY2FzZVR5cGVJZCwgZXZlbnRUcmlnZ2VySWQsIGNhc2VJZCwgaWdub3JlV2FybmluZyk7XG5cbiAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpXG4gICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdleHBlcmltZW50YWwnLCAndHJ1ZScpXG4gICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpO1xuXG4gICAgaWYgKERyYWZ0LmlzRHJhZnQoY2FzZUlkKSkge1xuICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCBDYXNlc1NlcnZpY2UuVjJfTUVESUFUWVBFX1NUQVJUX0RSQUZUX1RSSUdHRVIpO1xuICAgIH0gZWxzZSBpZiAoY2FzZUlkICE9PSB1bmRlZmluZWQgJiYgY2FzZUlkICE9PSBudWxsKSB7XG4gICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIENhc2VzU2VydmljZS5WMl9NRURJQVRZUEVfU1RBUlRfRVZFTlRfVFJJR0dFUik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQWNjZXB0JywgQ2FzZXNTZXJ2aWNlLlYyX01FRElBVFlQRV9TVEFSVF9DQVNFX1RSSUdHRVIpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQodXJsLCB7IGhlYWRlcnMsIG9ic2VydmU6ICdib2R5JyB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChib2R5ID0+IHtcbiAgICAgICAgICByZXR1cm4gRmllbGRzVXRpbHMuaGFuZGxlTmVzdGVkRHluYW1pY0xpc3RzKGJvZHkpO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgdGhpcy5lcnJvclNlcnZpY2Uuc2V0RXJyb3IoZXJyb3IpO1xuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSksXG4gICAgICAgIG1hcCgocCkgPT4gcGxhaW5Ub0NsYXNzKENhc2VFdmVudFRyaWdnZXIsIHApKSxcbiAgICAgICAgdGFwKGV2ZW50VHJpZ2dlciA9PiB0aGlzLmluaXRpYWxpc2VFdmVudFRyaWdnZXIoZXZlbnRUcmlnZ2VyKSlcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlRXZlbnQoY2FzZURldGFpbHM6IENhc2VWaWV3LCBldmVudERhdGE6IENhc2VFdmVudERhdGEpOiBPYnNlcnZhYmxlPHt9PiB7XG4gICAgY29uc3QgY2FzZUlkID0gY2FzZURldGFpbHMuY2FzZV9pZDtcbiAgICBjb25zdCB1cmwgPSB0aGlzLmFwcENvbmZpZy5nZXRDYXNlRGF0YVVybCgpICsgYC9jYXNlcy8ke2Nhc2VJZH0vZXZlbnRzYDtcblxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKVxuICAgICAgLnNldCgnZXhwZXJpbWVudGFsJywgJ3RydWUnKVxuICAgICAgLnNldCgnQWNjZXB0JywgQ2FzZXNTZXJ2aWNlLlYyX01FRElBVFlQRV9DUkVBVEVfRVZFTlQpXG4gICAgICAuc2V0KCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnBvc3QodXJsLCBldmVudERhdGEsIHsgaGVhZGVycywgb2JzZXJ2ZTogJ2JvZHknIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgdGhpcy5lcnJvclNlcnZpY2Uuc2V0RXJyb3IoZXJyb3IpO1xuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICB2YWxpZGF0ZUNhc2UoY3RpZDogc3RyaW5nLCBldmVudERhdGE6IENhc2VFdmVudERhdGEsIHBhZ2VJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICBjb25zdCBwYWdlSWRTdHJpbmcgPSBwYWdlSWQgPyAnP3BhZ2VJZD0nICsgcGFnZUlkIDogJyc7XG4gICAgY29uc3QgdXJsID0gdGhpcy5hcHBDb25maWcuZ2V0Q2FzZURhdGFVcmwoKVxuICAgICAgKyBgL2Nhc2UtdHlwZXMvJHtjdGlkfS92YWxpZGF0ZSR7cGFnZUlkU3RyaW5nfWA7XG5cbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKClcbiAgICAgIC5zZXQoJ2V4cGVyaW1lbnRhbCcsICd0cnVlJylcbiAgICAgIC5zZXQoJ0FjY2VwdCcsIENhc2VzU2VydmljZS5WMl9NRURJQVRZUEVfQ0FTRV9EQVRBX1ZBTElEQVRFKVxuICAgICAgLnNldCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb24nKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5wb3N0KHVybCwgZXZlbnREYXRhLCB7IGhlYWRlcnMsIG9ic2VydmU6ICdib2R5JyB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHRoaXMuZXJyb3JTZXJ2aWNlLnNldEVycm9yKGVycm9yKTtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgY3JlYXRlQ2FzZShjdGlkOiBzdHJpbmcsIGV2ZW50RGF0YTogQ2FzZUV2ZW50RGF0YSk6IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgbGV0IGlnbm9yZVdhcm5pbmcgPSAnZmFsc2UnO1xuXG4gICAgaWYgKGV2ZW50RGF0YS5pZ25vcmVfd2FybmluZykge1xuICAgICAgaWdub3JlV2FybmluZyA9ICd0cnVlJztcbiAgICB9XG4gICAgY29uc3QgdXJsID0gdGhpcy5hcHBDb25maWcuZ2V0Q2FzZURhdGFVcmwoKVxuICAgICAgKyBgL2Nhc2UtdHlwZXMvJHtjdGlkfS9jYXNlcz9pZ25vcmUtd2FybmluZz0ke2lnbm9yZVdhcm5pbmd9YDtcblxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKVxuICAgICAgLnNldCgnZXhwZXJpbWVudGFsJywgJ3RydWUnKVxuICAgICAgLnNldCgnQWNjZXB0JywgQ2FzZXNTZXJ2aWNlLlYyX01FRElBVFlQRV9DUkVBVEVfQ0FTRSlcbiAgICAgIC5zZXQoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qc29uJyk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdCh1cmwsIGV2ZW50RGF0YSwgeyBoZWFkZXJzLCBvYnNlcnZlOiAnYm9keScgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICB0aGlzLmVycm9yU2VydmljZS5zZXRFcnJvcihlcnJvcik7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIGdldFByaW50RG9jdW1lbnRzKGNhc2VJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxDYXNlUHJpbnREb2N1bWVudFtdPiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5hcHBDb25maWcuZ2V0Q2FzZURhdGFVcmwoKVxuICAgICAgKyBgL2Nhc2VzLyR7Y2FzZUlkfWBcbiAgICAgICsgYC9kb2N1bWVudHNgO1xuXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpXG4gICAgICAuc2V0KCdleHBlcmltZW50YWwnLCAndHJ1ZScpXG4gICAgICAuc2V0KCdBY2NlcHQnLCBDYXNlc1NlcnZpY2UuVjJfTUVESUFUWVBFX0NBU0VfRE9DVU1FTlRTKVxuICAgICAgLnNldCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb24nKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQodXJsLCB7IGhlYWRlcnMsIG9ic2VydmU6ICdib2R5JyB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChib2R5ID0+IGJvZHkuZG9jdW1lbnRSZXNvdXJjZXMpLFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICB0aGlzLmVycm9yU2VydmljZS5zZXRFcnJvcihlcnJvcik7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRFdmVudFRyaWdnZXJVcmwoY2FzZVR5cGVJZDogc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50VHJpZ2dlcklkOiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZUlkPzogc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlnbm9yZVdhcm5pbmc/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGxldCB1cmwgPSB0aGlzLmFwcENvbmZpZy5nZXRDYXNlRGF0YVVybCgpICsgYC9pbnRlcm5hbGA7XG5cbiAgICBpZiAoRHJhZnQuaXNEcmFmdChjYXNlSWQpKSB7XG4gICAgICB1cmwgKz0gYC9kcmFmdHMvJHtjYXNlSWR9YFxuICAgICAgICArIGAvZXZlbnQtdHJpZ2dlcmBcbiAgICAgICAgKyBgP2lnbm9yZS13YXJuaW5nPSR7aWdub3JlV2FybmluZ31gO1xuICAgIH0gZWxzZSBpZiAoY2FzZVR5cGVJZCA9PT0gdW5kZWZpbmVkIHx8IGNhc2VUeXBlSWQgPT09IG51bGwpIHtcbiAgICAgIHVybCArPSBgL2Nhc2VzLyR7Y2FzZUlkfWBcbiAgICAgICAgKyBgL2V2ZW50LXRyaWdnZXJzLyR7ZXZlbnRUcmlnZ2VySWR9YFxuICAgICAgICArIGA/aWdub3JlLXdhcm5pbmc9JHtpZ25vcmVXYXJuaW5nfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHVybCArPSBgL2Nhc2UtdHlwZXMvJHtjYXNlVHlwZUlkfWBcbiAgICAgICAgKyBgL2V2ZW50LXRyaWdnZXJzLyR7ZXZlbnRUcmlnZ2VySWR9YFxuICAgICAgICArIGA/aWdub3JlLXdhcm5pbmc9JHtpZ25vcmVXYXJuaW5nfWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVybDtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGlzZUV2ZW50VHJpZ2dlcihldmVudFRyaWdnZXI6IENhc2VFdmVudFRyaWdnZXIpIHtcbiAgICBpZiAoIWV2ZW50VHJpZ2dlci53aXphcmRfcGFnZXMpIHtcbiAgICAgIGV2ZW50VHJpZ2dlci53aXphcmRfcGFnZXMgPSBbXTtcbiAgICB9XG5cbiAgICBldmVudFRyaWdnZXIud2l6YXJkX3BhZ2VzLmZvckVhY2goKHdpemFyZFBhZ2U6IFdpemFyZFBhZ2UpID0+IHtcbiAgICAgIHdpemFyZFBhZ2UucGFyc2VkU2hvd0NvbmRpdGlvbiA9IFNob3dDb25kaXRpb24uZ2V0SW5zdGFuY2Uod2l6YXJkUGFnZS5zaG93X2NvbmRpdGlvbik7XG4gICAgICB3aXphcmRQYWdlLmNhc2VfZmllbGRzID0gdGhpcy5vcmRlclNlcnZpY2Uuc29ydChcbiAgICAgICAgdGhpcy53aXphcmRQYWdlRmllbGRUb0Nhc2VGaWVsZE1hcHBlci5tYXBBbGwod2l6YXJkUGFnZS53aXphcmRfcGFnZV9maWVsZHMsIGV2ZW50VHJpZ2dlci5jYXNlX2ZpZWxkcykpO1xuICAgIH0pO1xuICB9XG5cbiAgLypcbiAgQ2hlY2tzIGlmIHRoZSB1c2VyIGhhcyByb2xlIG9mIHB1aS1jYXNlLW1hbmFnZXIgYW5kIHJldHVybnMgdHJ1ZSBvciBmYWxzZVxuICAqL1xuICBwcml2YXRlIGlzUHVpQ2FzZU1hbmFnZXIoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgdXNlckluZm9TdHIgPSB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRJdGVtKCd1c2VyRGV0YWlscycpO1xuICAgIGlmICh1c2VySW5mb1N0cikge1xuICAgICAgY29uc3QgdXNlckluZm86IFVzZXJJbmZvID0gSlNPTi5wYXJzZSh1c2VySW5mb1N0cik7XG4gICAgICByZXR1cm4gdXNlckluZm8gJiYgdXNlckluZm8ucm9sZXMgJiYgKHVzZXJJbmZvLnJvbGVzLmluZGV4T2YoQ2FzZXNTZXJ2aWNlLlBVSV9DQVNFX01BTkFHRVIpICE9PSAtMSk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb3VydE9ySGVhcmluZ0NlbnRyZU5hbWUobG9jYXRpb25JZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYC9hcGkvbG9jYXRpb25zL2dldExvY2F0aW9uc0J5SWRgLCB7IGxvY2F0aW9ucyA6IFt7IGxvY2F0aW9uSWQgfV19KTtcbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVDaGFsbGVuZ2VkQWNjZXNzUmVxdWVzdChjYXNlSWQ6IHN0cmluZywgcmVxdWVzdDogQ2hhbGxlbmdlZEFjY2Vzc1JlcXVlc3QpOiBPYnNlcnZhYmxlPFJvbGVBc3NpZ25tZW50UmVzcG9uc2U+IHtcbiAgICAvLyBBc3NpZ25tZW50IEFQSSBlbmRwb2ludFxuICAgIGNvbnN0IHVzZXJJbmZvU3RyID0gdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgndXNlckRldGFpbHMnKTtcblxuICAgIGNvbnN0IGNhbVV0aWxzID0gbmV3IENhc2VBY2Nlc3NVdGlscygpO1xuICAgIGxldCB1c2VySW5mbzogVXNlckluZm87XG4gICAgaWYgKHVzZXJJbmZvU3RyKSB7XG4gICAgICB1c2VySW5mbyA9IEpTT04ucGFyc2UodXNlckluZm9TdHIpO1xuICAgIH1cblxuICAgIGNvbnN0IHJvbGVDYXRlZ29yeTogUm9sZUNhdGVnb3J5ID0gdXNlckluZm8ucm9sZUNhdGVnb3J5IHx8IGNhbVV0aWxzLmdldE1hcHBlZFJvbGVDYXRlZ29yeSh1c2VySW5mby5yb2xlcywgdXNlckluZm8ucm9sZUNhdGVnb3JpZXMpO1xuICAgIGNvbnN0IHJvbGVOYW1lID0gY2FtVXRpbHMuZ2V0QU1Sb2xlTmFtZSgnY2hhbGxlbmdlZCcsIHJvbGVDYXRlZ29yeSk7XG4gICAgY29uc3QgYmVnaW5UaW1lID0gbmV3IERhdGUoKTtcbiAgICBjb25zdCBlbmRUaW1lID0gbmV3IERhdGUobmV3IERhdGUoKS5zZXRVVENIb3VycygyMywgNTksIDU5LCA5OTkpKTtcbiAgICBjb25zdCBpZCA9IHVzZXJJbmZvLmlkID8gdXNlckluZm8uaWQgOiB1c2VySW5mby51aWQ7XG4gICAgY29uc3QgaXNOZXcgPSB0cnVlO1xuXG4gICAgY29uc3QgcGF5bG9hZDogUm9sZVJlcXVlc3RQYXlsb2FkID0gY2FtVXRpbHMuZ2V0QU1QYXlsb2FkKGlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZU5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGVDYXRlZ29yeSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NIQUxMRU5HRUQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlSWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZ2luVGltZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kVGltZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNOZXdcbiAgICAgICk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYC9hcGkvY2hhbGxlbmdlZC1hY2Nlc3MtcmVxdWVzdGAsIHBheWxvYWQpO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZVNwZWNpZmljQWNjZXNzUmVxdWVzdChjYXNlSWQ6IHN0cmluZywgc2FyOiBTcGVjaWZpY0FjY2Vzc1JlcXVlc3QpOiBPYnNlcnZhYmxlPFJvbGVBc3NpZ25tZW50UmVzcG9uc2U+IHtcbiAgICAvLyBBc3NpZ25tZW50IEFQSSBlbmRwb2ludFxuICAgIGNvbnN0IHVzZXJJbmZvU3RyID0gdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgndXNlckRldGFpbHMnKTtcblxuICAgIGNvbnN0IGNhbVV0aWxzID0gbmV3IENhc2VBY2Nlc3NVdGlscygpO1xuICAgIGxldCB1c2VySW5mbzogVXNlckluZm87XG4gICAgaWYgKHVzZXJJbmZvU3RyKSB7XG4gICAgICB1c2VySW5mbyA9IEpTT04ucGFyc2UodXNlckluZm9TdHIpO1xuICAgIH1cblxuICAgIGNvbnN0IHJvbGVDYXRlZ29yeTogUm9sZUNhdGVnb3J5ID0gdXNlckluZm8ucm9sZUNhdGVnb3J5IHx8IGNhbVV0aWxzLmdldE1hcHBlZFJvbGVDYXRlZ29yeSh1c2VySW5mby5yb2xlcywgdXNlckluZm8ucm9sZUNhdGVnb3JpZXMpO1xuICAgIGNvbnN0IHJvbGVOYW1lID0gY2FtVXRpbHMuZ2V0QU1Sb2xlTmFtZSgnc3BlY2lmaWMnLCByb2xlQ2F0ZWdvcnkpO1xuICAgIGNvbnN0IGlkID0gdXNlckluZm8uaWQgPyB1c2VySW5mby5pZCA6IHVzZXJJbmZvLnVpZDtcbiAgICBjb25zdCBwYXlsb2FkOiBSb2xlUmVxdWVzdFBheWxvYWQgPSBjYW1VdGlscy5nZXRBTVBheWxvYWQobnVsbCwgaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGVOYW1lLCByb2xlQ2F0ZWdvcnksICdTUEVDSUZJQycsIGNhc2VJZCwgc2FyLCBudWxsLCBudWxsLCB0cnVlKTtcblxuICAgIHBheWxvYWQucm9sZVJlcXVlc3QgPSB7XG4gICAgICAuLi5wYXlsb2FkLnJvbGVSZXF1ZXN0LFxuICAgICAgcHJvY2VzczogJ3NwZWNpZmljLWFjY2VzcycsXG4gICAgICByZXBsYWNlRXhpc3Rpbmc6IHRydWUsXG4gICAgICBhc3NpZ25lcklkOiBwYXlsb2FkLnJlcXVlc3RlZFJvbGVzWzBdLmFjdG9ySWQsXG4gICAgICByZWZlcmVuY2U6IGAke2Nhc2VJZH0vJHtyb2xlTmFtZX0vJHtwYXlsb2FkLnJlcXVlc3RlZFJvbGVzWzBdLmFjdG9ySWR9YFxuICAgIH07XG5cbiAgICBwYXlsb2FkLnJlcXVlc3RlZFJvbGVzWzBdID0ge1xuICAgICAgLi4ucGF5bG9hZC5yZXF1ZXN0ZWRSb2xlc1swXSxcbiAgICAgIHJvbGVOYW1lOiAnc3BlY2lmaWMtYWNjZXNzLXJlcXVlc3RlZCcsXG4gICAgICByb2xlQ2F0ZWdvcnksXG4gICAgICBjbGFzc2lmaWNhdGlvbjogJ1BSSVZBVEUnLFxuICAgICAgZW5kVGltZTogbmV3IERhdGUobmV3IERhdGUoKS5zZXREYXRlKG5ldyBEYXRlKCkuZ2V0RGF0ZSgpICsgMzApKSxcbiAgICAgIGJlZ2luVGltZTogbnVsbCxcbiAgICAgIGdyYW50VHlwZTogJ0JBU0lDJyxcbiAgICAgIHJlYWRPbmx5OiB0cnVlXG4gICAgfTtcblxuICAgIHBheWxvYWQucmVxdWVzdGVkUm9sZXNbMF0uYXR0cmlidXRlcyA9IHtcbiAgICAgIC4uLnBheWxvYWQucmVxdWVzdGVkUm9sZXNbMF0uYXR0cmlidXRlcyxcbiAgICAgIHJlcXVlc3RlZFJvbGU6IHJvbGVOYW1lLFxuICAgICAgc3BlY2lmaWNBY2Nlc3NSZWFzb246IHNhci5zcGVjaWZpY1JlYXNvblxuICAgIH1cblxuICAgIHBheWxvYWQucmVxdWVzdGVkUm9sZXNbMF0ubm90ZXNbMF0gPSB7XG4gICAgICAuLi5wYXlsb2FkLnJlcXVlc3RlZFJvbGVzWzBdLm5vdGVzWzBdLFxuICAgICAgdXNlcklkOiBwYXlsb2FkLnJlcXVlc3RlZFJvbGVzWzBdLmFjdG9ySWRcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoXG4gICAgICBgL2FwaS9zcGVjaWZpYy1hY2Nlc3MtcmVxdWVzdGAsXG4gICAgICBwYXlsb2FkXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMaW5rZWRDYXNlcyhjYXNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8TGlua2VkQ2FzZXNSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuYXBwQ29uZmlnLmdldENhc2VEYXRhU3RvcmVBcGlVcmwoKX0vJHtjYXNlSWR9YFxuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAuZ2V0KHVybClcbiAgICAucGlwZShjYXRjaEVycm9yKGVycm9yID0+IHRocm93RXJyb3IoZXJyb3IpKSk7XG4gIH1cbn1cbiJdfQ==
@@ -111,7 +111,9 @@ export class CaseEventTriggerComponent {
111
111
  }
112
112
  cancel() {
113
113
  if (this.router.url && this.router.url.includes('linkCases')) {
114
- this.router.navigate(['cases', 'case-details', this.caseDetails.case_id], { fragment: 'Linked cases' });
114
+ this.router.navigate(['cases', 'case-details', this.caseDetails.case_id]).then(() => {
115
+ window.location.hash = 'Linked cases';
116
+ });
115
117
  }
116
118
  else {
117
119
  return this.router.navigate([this.parentUrl]);
@@ -134,4 +136,4 @@ CaseEventTriggerComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CaseEventTrigge
134
136
  templateUrl: './case-event-trigger.html'
135
137
  }]
136
138
  }], function () { return [{ type: i0.NgZone }, { type: i1.CasesService }, { type: i1.CaseNotifier }, { type: i2.Router }, { type: i3.AlertService }, { type: i2.ActivatedRoute }, { type: i4.CaseReferencePipe }, { type: i3.ActivityPollingService }]; }, null); })();
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1ldmVudC10cmlnZ2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLXZpZXdlci9jYXNlLWV2ZW50LXRyaWdnZXIvY2FzZS1ldmVudC10cmlnZ2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLXZpZXdlci9jYXNlLWV2ZW50LXRyaWdnZXIvY2FzZS1ldmVudC10cmlnZ2VyLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0QyxPQUFPLEVBQWtFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUcsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7SUNQL0QsOEJBQStDO0lBQzdDLGtDQUFtRjtJQUNuRix3Q0FLK0M7SUFEaEMsd01BQXNCLDBNQUFBO0lBQ1UsaUJBQWdCO0lBQ2pFLGlCQUFNOzs7SUFQVSxlQUE4QjtJQUE5QixtREFBOEIsOEJBQUE7SUFDN0IsZUFBMkI7SUFBM0IsZ0RBQTJCLDJCQUFB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WSxDQUFDLE9BQU8sQ0FBQyxTQUFTLGFBQWEsaUNBQWlDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxHQUFHO3NCQUN0Ryw4Q0FBOEMsQ0FBQyxDQUFDO2FBQ3JEO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsYUFBYSxpQ0FBaUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQzthQUNsSDtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUM1RCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO1NBQ3pHO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7U0FDL0M7SUFDSCxDQUFDO0lBRU0sWUFBWTtRQUNqQixPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ25ELENBQUM7O2tHQTVHVSx5QkFBeUI7OERBQXpCLHlCQUF5QjtRQ2J0QywwRUFRTTs7UUFSQSx5Q0FBb0I7O3VGRGFiLHlCQUF5QjtjQUpyQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsV0FBVyxFQUFFLDJCQUEyQjthQUN6QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgTmdab25lLCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcy9TdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgQWN0aXZpdHksIENhc2VFdmVudERhdGEsIENhc2VFdmVudFRyaWdnZXIsIENhc2VGaWVsZCwgQ2FzZVZpZXcsIERpc3BsYXlNb2RlIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VSZWZlcmVuY2VQaXBlIH0gZnJvbSAnLi4vLi4vLi4vcGlwZXMnO1xuaW1wb3J0IHsgQWN0aXZpdHlQb2xsaW5nU2VydmljZSwgQWxlcnRTZXJ2aWNlLCBFdmVudFN0YXR1c1NlcnZpY2UsIEZpZWxkc1V0aWxzIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgQ2FzZU5vdGlmaWVyLCBDYXNlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jYXNlLWVkaXRvcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1jYXNlLWV2ZW50LXRyaWdnZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FzZS1ldmVudC10cmlnZ2VyLmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIENhc2VFdmVudFRyaWdnZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBCQU5ORVIgPSBEaXNwbGF5TW9kZS5CQU5ORVI7XG4gIHB1YmxpYyBldmVudFRyaWdnZXI6IENhc2VFdmVudFRyaWdnZXI7XG4gIHB1YmxpYyBjYXNlRGV0YWlsczogQ2FzZVZpZXc7XG4gIHB1YmxpYyBhY3Rpdml0eVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwdWJsaWMgY2FzZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwdWJsaWMgcGFyZW50VXJsOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhc2VzU2VydmljZTogQ2FzZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZU5vdGlmaWVyOiBDYXNlTm90aWZpZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZVJlZmVyZW5jZVBpcGU6IENhc2VSZWZlcmVuY2VQaXBlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZpdHlQb2xsaW5nU2VydmljZTogQWN0aXZpdHlQb2xsaW5nU2VydmljZVxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmNhc2UpIHtcbiAgICAgIHRoaXMuY2FzZURldGFpbHMgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNhc2VTdWJzY3JpcHRpb24gPSB0aGlzLmNhc2VOb3RpZmllci5jYXNlVmlldy5zdWJzY3JpYmUoY2FzZURldGFpbHMgPT4ge1xuICAgICAgICAgIHRoaXMuY2FzZURldGFpbHMgPSBjYXNlRGV0YWlscztcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuZXZlbnRUcmlnZ2VyID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmV2ZW50VHJpZ2dlcjtcbiAgICBpZiAodGhpcy5hY3Rpdml0eVBvbGxpbmdTZXJ2aWNlLmlzRW5hYmxlZCkge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoICgpID0+IHtcbiAgICAgICAgdGhpcy5hY3Rpdml0eVN1YnNjcmlwdGlvbiA9IHRoaXMucG9zdEVkaXRBY3Rpdml0eSgpLnN1YnNjcmliZSgoX3Jlc29sdmVkKSA9PiB7XG4gICAgICAgICAgLy8gY29uc29sZS5sb2coJ1Bvc3RlZCBFRElUIGFjdGl2aXR5IGFuZCByZXN1bHQgaXM6ICcgKyBKU09OLnN0cmluZ2lmeShfcmVzb2x2ZWQpKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5yb3V0ZS5wYXJlbnQudXJsLnN1YnNjcmliZShwYXRoID0+IHtcbiAgICAgIHRoaXMucGFyZW50VXJsID0gYC8ke3BhdGguam9pbignLycpfWA7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWN0aXZpdHlTdWJzY3JpcHRpb24gJiYgdGhpcy5hY3Rpdml0eVBvbGxpbmdTZXJ2aWNlLmlzRW5hYmxlZCkge1xuICAgICAgdGhpcy5hY3Rpdml0eVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMucm91dGUuc25hcHNob3QuZGF0YS5jYXNlICYmIHRoaXMuY2FzZVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5jYXNlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHBvc3RFZGl0QWN0aXZpdHkoKTogT2JzZXJ2YWJsZTxBY3Rpdml0eVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZpdHlQb2xsaW5nU2VydmljZS5wb3N0RWRpdEFjdGl2aXR5KHRoaXMuY2FzZURldGFpbHMuY2FzZV9pZCk7XG4gIH1cblxuICBwdWJsaWMgc3VibWl0KCk6IChzYW5pdGl6ZWRFZGl0Rm9ybTogQ2FzZUV2ZW50RGF0YSkgPT4gT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICByZXR1cm4gKHNhbml0aXplZEVkaXRGb3JtOiBDYXNlRXZlbnREYXRhKSA9PlxuICAgICAgdGhpcy5jYXNlc1NlcnZpY2UuY3JlYXRlRXZlbnQodGhpcy5jYXNlRGV0YWlscywgc2FuaXRpemVkRWRpdEZvcm0pO1xuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlKCk6IChzYW5pdGl6ZWRFZGl0Rm9ybTogQ2FzZUV2ZW50RGF0YSwgcGFnZUlkOiBzdHJpbmcpID0+IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgcmV0dXJuIChzYW5pdGl6ZWRFZGl0Rm9ybTogQ2FzZUV2ZW50RGF0YSwgcGFnZUlkOiBzdHJpbmcpID0+IHtcbiAgICAgIC8vIEJ5cGFzcyB2YWxpZGF0aW9uIGlmIHRoZSBDYXNlRXZlbnREYXRhIGRhdGEgb2JqZWN0IGNvbnRhaW5zIGEgRmxhZ0xhdW5jaGVyIGZpZWxkOyB0aGlzIGZpZWxkIHR5cGUgY2Fubm90IGJlXG4gICAgICAvLyB2YWxpZGF0ZWQgbGlrZSByZWd1bGFyIGZpZWxkcy4gTmVlZCB0byBtYXRjaCB0aGlzIGZpZWxkIGlkIGFnYWluc3QgdGhhdCBvZiB0aGUgZGVmaW5lZCBGbGFnTGF1bmNoZXIgQ2FzZUZpZWxkXG4gICAgICAvLyAoaWYgaXQgZXhpc3RzIG9uIGFueSBDYXNlVGFiKVxuICAgICAgbGV0IGZsYWdMYXVuY2hlckNhc2VGaWVsZDogQ2FzZUZpZWxkO1xuICAgICAgaWYgKHRoaXMuY2FzZURldGFpbHMudGFicykge1xuICAgICAgICBmb3IgKGNvbnN0IHRhYiBvZiB0aGlzLmNhc2VEZXRhaWxzLnRhYnMpIHtcbiAgICAgICAgICBpZiAodGFiLmZpZWxkcykge1xuICAgICAgICAgICAgZmxhZ0xhdW5jaGVyQ2FzZUZpZWxkID0gdGFiLmZpZWxkcy5maW5kKGNhc2VGaWVsZCA9PiBGaWVsZHNVdGlscy5pc0ZsYWdMYXVuY2hlckNhc2VGaWVsZChjYXNlRmllbGQpKTtcbiAgICAgICAgICAgIC8vIFN0b3Agc2VhcmNoaW5nIGZvciBhIEZsYWdMYXVuY2hlciBmaWVsZCBhcyBzb29uIGFzIGl0IGlzIGZvdW5kXG4gICAgICAgICAgICBpZiAoZmxhZ0xhdW5jaGVyQ2FzZUZpZWxkKSB7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmxhZ0xhdW5jaGVyQ2FzZUZpZWxkICYmIHNhbml0aXplZEVkaXRGb3JtLmRhdGEuaGFzT3duUHJvcGVydHkoZmxhZ0xhdW5jaGVyQ2FzZUZpZWxkLmlkKVxuICAgICAgICA/IG9mKG51bGwpXG4gICAgICAgIDogdGhpcy5jYXNlc1NlcnZpY2UudmFsaWRhdGVDYXNlKHRoaXMuY2FzZURldGFpbHMuY2FzZV90eXBlLmlkLCBzYW5pdGl6ZWRFZGl0Rm9ybSwgcGFnZUlkKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3VibWl0dGVkKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBldmVudFN0YXR1czogc3RyaW5nID0gZXZlbnRbJ3N0YXR1cyddO1xuICAgIHRoaXMucm91dGVyXG4gICAgICAubmF2aWdhdGUoW3RoaXMucGFyZW50VXJsXSlcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgY29uc3QgY2FzZVJlZmVyZW5jZSA9IHRoaXMuY2FzZVJlZmVyZW5jZVBpcGUudHJhbnNmb3JtKHRoaXMuY2FzZURldGFpbHMuY2FzZV9pZC50b1N0cmluZygpKTtcbiAgICAgICAgaWYgKEV2ZW50U3RhdHVzU2VydmljZS5pc0luY29tcGxldGUoZXZlbnRTdGF0dXMpKSB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uud2FybmluZyhgQ2FzZSAjJHtjYXNlUmVmZXJlbmNlfSBoYXMgYmVlbiB1cGRhdGVkIHdpdGggZXZlbnQ6ICR7dGhpcy5ldmVudFRyaWdnZXIubmFtZX0gYFxuICAgICAgICAgICAgKyBgYnV0IHRoZSBjYWxsYmFjayBzZXJ2aWNlIGNhbm5vdCBiZSBjb21wbGV0ZWRgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zdWNjZXNzKGBDYXNlICMke2Nhc2VSZWZlcmVuY2V9IGhhcyBiZWVuIHVwZGF0ZWQgd2l0aCBldmVudDogJHt0aGlzLmV2ZW50VHJpZ2dlci5uYW1lfWAsIHRydWUpO1xuICAgICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2FuY2VsKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmICh0aGlzLnJvdXRlci51cmwgJiYgdGhpcy5yb3V0ZXIudXJsLmluY2x1ZGVzKCdsaW5rQ2FzZXMnKSkge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydjYXNlcycsICdjYXNlLWRldGFpbHMnLCB0aGlzLmNhc2VEZXRhaWxzLmNhc2VfaWRdLCB7IGZyYWdtZW50OiAnTGlua2VkIGNhc2VzJyB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLnBhcmVudFVybF0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc0RhdGFMb2FkZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhKHRoaXMuZXZlbnRUcmlnZ2VyICYmIHRoaXMuY2FzZURldGFpbHMpO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiaXNEYXRhTG9hZGVkKClcIiBjbGFzcz1cInNjcmVlbi05OTBcIj5cbiAgPGNjZC1hY3Rpdml0eSBbY2FzZUlkXT1cImNhc2VEZXRhaWxzLmNhc2VfaWRcIiBbZGlzcGxheU1vZGVdPVwiQkFOTkVSXCI+PC9jY2QtYWN0aXZpdHk+XG4gIDxjY2QtY2FzZS1lZGl0IFtjYXNlRGV0YWlsc109XCJjYXNlRGV0YWlsc1wiXG4gICAgICAgICAgICAgICAgIFtzdWJtaXRdPVwic3VibWl0KClcIlxuICAgICAgICAgICAgICAgICBbdmFsaWRhdGVdPVwidmFsaWRhdGUoKVwiXG4gICAgICAgICAgICAgICAgIFtldmVudFRyaWdnZXJdPVwiZXZlbnRUcmlnZ2VyXCJcbiAgICAgICAgICAgICAgICAgKGNhbmNlbGxlZCk9XCJjYW5jZWwoKVwiXG4gICAgICAgICAgICAgICAgIChzdWJtaXR0ZWQpPVwic3VibWl0dGVkKCRldmVudClcIj48L2NjZC1jYXNlLWVkaXQ+XG48L2Rpdj5cbiJdfQ==
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1ldmVudC10cmlnZ2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLXZpZXdlci9jYXNlLWV2ZW50LXRyaWdnZXIvY2FzZS1ldmVudC10cmlnZ2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLXZpZXdlci9jYXNlLWV2ZW50LXRyaWdnZXIvY2FzZS1ldmVudC10cmlnZ2VyLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0QyxPQUFPLEVBQWtFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUcsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7SUNQL0QsOEJBQStDO0lBQzdDLGtDQUFtRjtJQUNuRix3Q0FLK0M7SUFEaEMsd01BQXNCLDBNQUFBO0lBQ1UsaUJBQWdCO0lBQ2pFLGlCQUFNOzs7SUFQVSxlQUE4QjtJQUE5QixtREFBOEIsOEJBQUE7SUFDN0IsZUFBMkI7SUFBM0IsZ0RBQTJCLDJCQUFB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dCwgTmdab25lLCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcy9TdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgQWN0aXZpdHksIENhc2VFdmVudERhdGEsIENhc2VFdmVudFRyaWdnZXIsIENhc2VGaWVsZCwgQ2FzZVZpZXcsIERpc3BsYXlNb2RlIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VSZWZlcmVuY2VQaXBlIH0gZnJvbSAnLi4vLi4vLi4vcGlwZXMnO1xuaW1wb3J0IHsgQWN0aXZpdHlQb2xsaW5nU2VydmljZSwgQWxlcnRTZXJ2aWNlLCBFdmVudFN0YXR1c1NlcnZpY2UsIEZpZWxkc1V0aWxzIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgQ2FzZU5vdGlmaWVyLCBDYXNlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jYXNlLWVkaXRvcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1jYXNlLWV2ZW50LXRyaWdnZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FzZS1ldmVudC10cmlnZ2VyLmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIENhc2VFdmVudFRyaWdnZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBCQU5ORVIgPSBEaXNwbGF5TW9kZS5CQU5ORVI7XG4gIHB1YmxpYyBldmVudFRyaWdnZXI6IENhc2VFdmVudFRyaWdnZXI7XG4gIHB1YmxpYyBjYXNlRGV0YWlsczogQ2FzZVZpZXc7XG4gIHB1YmxpYyBhY3Rpdml0eVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwdWJsaWMgY2FzZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwdWJsaWMgcGFyZW50VXJsOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhc2VzU2VydmljZTogQ2FzZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZU5vdGlmaWVyOiBDYXNlTm90aWZpZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZVJlZmVyZW5jZVBpcGU6IENhc2VSZWZlcmVuY2VQaXBlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZpdHlQb2xsaW5nU2VydmljZTogQWN0aXZpdHlQb2xsaW5nU2VydmljZVxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmNhc2UpIHtcbiAgICAgIHRoaXMuY2FzZURldGFpbHMgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNhc2VTdWJzY3JpcHRpb24gPSB0aGlzLmNhc2VOb3RpZmllci5jYXNlVmlldy5zdWJzY3JpYmUoY2FzZURldGFpbHMgPT4ge1xuICAgICAgICAgIHRoaXMuY2FzZURldGFpbHMgPSBjYXNlRGV0YWlscztcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuZXZlbnRUcmlnZ2VyID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmV2ZW50VHJpZ2dlcjtcbiAgICBpZiAodGhpcy5hY3Rpdml0eVBvbGxpbmdTZXJ2aWNlLmlzRW5hYmxlZCkge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoICgpID0+IHtcbiAgICAgICAgdGhpcy5hY3Rpdml0eVN1YnNjcmlwdGlvbiA9IHRoaXMucG9zdEVkaXRBY3Rpdml0eSgpLnN1YnNjcmliZSgoX3Jlc29sdmVkKSA9PiB7XG4gICAgICAgICAgLy8gY29uc29sZS5sb2coJ1Bvc3RlZCBFRElUIGFjdGl2aXR5IGFuZCByZXN1bHQgaXM6ICcgKyBKU09OLnN0cmluZ2lmeShfcmVzb2x2ZWQpKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5yb3V0ZS5wYXJlbnQudXJsLnN1YnNjcmliZShwYXRoID0+IHtcbiAgICAgIHRoaXMucGFyZW50VXJsID0gYC8ke3BhdGguam9pbignLycpfWA7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWN0aXZpdHlTdWJzY3JpcHRpb24gJiYgdGhpcy5hY3Rpdml0eVBvbGxpbmdTZXJ2aWNlLmlzRW5hYmxlZCkge1xuICAgICAgdGhpcy5hY3Rpdml0eVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMucm91dGUuc25hcHNob3QuZGF0YS5jYXNlICYmIHRoaXMuY2FzZVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5jYXNlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHBvc3RFZGl0QWN0aXZpdHkoKTogT2JzZXJ2YWJsZTxBY3Rpdml0eVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZpdHlQb2xsaW5nU2VydmljZS5wb3N0RWRpdEFjdGl2aXR5KHRoaXMuY2FzZURldGFpbHMuY2FzZV9pZCk7XG4gIH1cblxuICBwdWJsaWMgc3VibWl0KCk6IChzYW5pdGl6ZWRFZGl0Rm9ybTogQ2FzZUV2ZW50RGF0YSkgPT4gT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICByZXR1cm4gKHNhbml0aXplZEVkaXRGb3JtOiBDYXNlRXZlbnREYXRhKSA9PlxuICAgICAgdGhpcy5jYXNlc1NlcnZpY2UuY3JlYXRlRXZlbnQodGhpcy5jYXNlRGV0YWlscywgc2FuaXRpemVkRWRpdEZvcm0pO1xuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlKCk6IChzYW5pdGl6ZWRFZGl0Rm9ybTogQ2FzZUV2ZW50RGF0YSwgcGFnZUlkOiBzdHJpbmcpID0+IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgcmV0dXJuIChzYW5pdGl6ZWRFZGl0Rm9ybTogQ2FzZUV2ZW50RGF0YSwgcGFnZUlkOiBzdHJpbmcpID0+IHtcbiAgICAgIC8vIEJ5cGFzcyB2YWxpZGF0aW9uIGlmIHRoZSBDYXNlRXZlbnREYXRhIGRhdGEgb2JqZWN0IGNvbnRhaW5zIGEgRmxhZ0xhdW5jaGVyIGZpZWxkOyB0aGlzIGZpZWxkIHR5cGUgY2Fubm90IGJlXG4gICAgICAvLyB2YWxpZGF0ZWQgbGlrZSByZWd1bGFyIGZpZWxkcy4gTmVlZCB0byBtYXRjaCB0aGlzIGZpZWxkIGlkIGFnYWluc3QgdGhhdCBvZiB0aGUgZGVmaW5lZCBGbGFnTGF1bmNoZXIgQ2FzZUZpZWxkXG4gICAgICAvLyAoaWYgaXQgZXhpc3RzIG9uIGFueSBDYXNlVGFiKVxuICAgICAgbGV0IGZsYWdMYXVuY2hlckNhc2VGaWVsZDogQ2FzZUZpZWxkO1xuICAgICAgaWYgKHRoaXMuY2FzZURldGFpbHMudGFicykge1xuICAgICAgICBmb3IgKGNvbnN0IHRhYiBvZiB0aGlzLmNhc2VEZXRhaWxzLnRhYnMpIHtcbiAgICAgICAgICBpZiAodGFiLmZpZWxkcykge1xuICAgICAgICAgICAgZmxhZ0xhdW5jaGVyQ2FzZUZpZWxkID0gdGFiLmZpZWxkcy5maW5kKGNhc2VGaWVsZCA9PiBGaWVsZHNVdGlscy5pc0ZsYWdMYXVuY2hlckNhc2VGaWVsZChjYXNlRmllbGQpKTtcbiAgICAgICAgICAgIC8vIFN0b3Agc2VhcmNoaW5nIGZvciBhIEZsYWdMYXVuY2hlciBmaWVsZCBhcyBzb29uIGFzIGl0IGlzIGZvdW5kXG4gICAgICAgICAgICBpZiAoZmxhZ0xhdW5jaGVyQ2FzZUZpZWxkKSB7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmxhZ0xhdW5jaGVyQ2FzZUZpZWxkICYmIHNhbml0aXplZEVkaXRGb3JtLmRhdGEuaGFzT3duUHJvcGVydHkoZmxhZ0xhdW5jaGVyQ2FzZUZpZWxkLmlkKVxuICAgICAgICA/IG9mKG51bGwpXG4gICAgICAgIDogdGhpcy5jYXNlc1NlcnZpY2UudmFsaWRhdGVDYXNlKHRoaXMuY2FzZURldGFpbHMuY2FzZV90eXBlLmlkLCBzYW5pdGl6ZWRFZGl0Rm9ybSwgcGFnZUlkKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3VibWl0dGVkKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBldmVudFN0YXR1czogc3RyaW5nID0gZXZlbnRbJ3N0YXR1cyddO1xuICAgIHRoaXMucm91dGVyXG4gICAgICAubmF2aWdhdGUoW3RoaXMucGFyZW50VXJsXSlcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgY29uc3QgY2FzZVJlZmVyZW5jZSA9IHRoaXMuY2FzZVJlZmVyZW5jZVBpcGUudHJhbnNmb3JtKHRoaXMuY2FzZURldGFpbHMuY2FzZV9pZC50b1N0cmluZygpKTtcbiAgICAgICAgaWYgKEV2ZW50U3RhdHVzU2VydmljZS5pc0luY29tcGxldGUoZXZlbnRTdGF0dXMpKSB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uud2FybmluZyhgQ2FzZSAjJHtjYXNlUmVmZXJlbmNlfSBoYXMgYmVlbiB1cGRhdGVkIHdpdGggZXZlbnQ6ICR7dGhpcy5ldmVudFRyaWdnZXIubmFtZX0gYFxuICAgICAgICAgICAgKyBgYnV0IHRoZSBjYWxsYmFjayBzZXJ2aWNlIGNhbm5vdCBiZSBjb21wbGV0ZWRgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zdWNjZXNzKGBDYXNlICMke2Nhc2VSZWZlcmVuY2V9IGhhcyBiZWVuIHVwZGF0ZWQgd2l0aCBldmVudDogJHt0aGlzLmV2ZW50VHJpZ2dlci5uYW1lfWAsIHRydWUpO1xuICAgICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2FuY2VsKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmICh0aGlzLnJvdXRlci51cmwgJiYgdGhpcy5yb3V0ZXIudXJsLmluY2x1ZGVzKCdsaW5rQ2FzZXMnKSkge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydjYXNlcycsICdjYXNlLWRldGFpbHMnLCB0aGlzLmNhc2VEZXRhaWxzLmNhc2VfaWRdKS50aGVuKCgpID0+IHtcbiAgICAgICAgd2luZG93LmxvY2F0aW9uLmhhc2ggPSAnTGlua2VkIGNhc2VzJztcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMucGFyZW50VXJsXSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzRGF0YUxvYWRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEodGhpcy5ldmVudFRyaWdnZXIgJiYgdGhpcy5jYXNlRGV0YWlscyk7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJpc0RhdGFMb2FkZWQoKVwiIGNsYXNzPVwic2NyZWVuLTk5MFwiPlxuICA8Y2NkLWFjdGl2aXR5IFtjYXNlSWRdPVwiY2FzZURldGFpbHMuY2FzZV9pZFwiIFtkaXNwbGF5TW9kZV09XCJCQU5ORVJcIj48L2NjZC1hY3Rpdml0eT5cbiAgPGNjZC1jYXNlLWVkaXQgW2Nhc2VEZXRhaWxzXT1cImNhc2VEZXRhaWxzXCJcbiAgICAgICAgICAgICAgICAgW3N1Ym1pdF09XCJzdWJtaXQoKVwiXG4gICAgICAgICAgICAgICAgIFt2YWxpZGF0ZV09XCJ2YWxpZGF0ZSgpXCJcbiAgICAgICAgICAgICAgICAgW2V2ZW50VHJpZ2dlcl09XCJldmVudFRyaWdnZXJcIlxuICAgICAgICAgICAgICAgICAoY2FuY2VsbGVkKT1cImNhbmNlbCgpXCJcbiAgICAgICAgICAgICAgICAgKHN1Ym1pdHRlZCk9XCJzdWJtaXR0ZWQoJGV2ZW50KVwiPjwvY2NkLWNhc2UtZWRpdD5cbjwvZGl2PlxuIl19