@lowcodeunit/applications-flow-common 1.36.196-social-ui-performance-issues → 1.36.197-merge

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 (59) hide show
  1. package/esm2020/lib/controls/build-pipeline-form/build-pipeline-form.component.mjs +4 -4
  2. package/esm2020/lib/controls/connected-source/connected-source.component.mjs +4 -4
  3. package/esm2020/lib/controls/devops-source-control-form/devops-source-control-form.component.mjs +4 -4
  4. package/esm2020/lib/controls/dfs-modifiers-form/dfs-modifiers-form.component.mjs +4 -7
  5. package/esm2020/lib/controls/edit-application-form/edit-application-form.component.mjs +4 -4
  6. package/esm2020/lib/controls/edit-project-form/edit-project-form.component.mjs +4 -4
  7. package/esm2020/lib/controls/emulated-devices-toggle/emulated-devices-toggle.component.mjs +4 -4
  8. package/esm2020/lib/controls/processor-details-form/processor-details-form.component.mjs +4 -7
  9. package/esm2020/lib/controls/security-toggle/security-toggle.component.mjs +4 -4
  10. package/esm2020/lib/controls/state-config-form/state-config-form.component.mjs +4 -7
  11. package/esm2020/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.mjs +4 -5
  12. package/esm2020/lib/dialogs/dfs-modifiers-dialog/dfs-modifiers-dialog.component.mjs +4 -7
  13. package/esm2020/lib/dialogs/edit-application-dialog/edit-application-dialog.component.mjs +4 -1
  14. package/esm2020/lib/dialogs/edit-project-dialog/edit-project-dialog.component.mjs +4 -5
  15. package/esm2020/lib/dialogs/feed-header-dialog/feed-header-dialog.component.mjs +4 -7
  16. package/esm2020/lib/dialogs/new-application-dialog/new-application-dialog.component.mjs +4 -4
  17. package/esm2020/lib/dialogs/processor-details-dialog/processor-details-dialog.component.mjs +5 -9
  18. package/esm2020/lib/dialogs/source-control-dialog/source-control-dialog.component.mjs +4 -5
  19. package/esm2020/lib/dialogs/state-config-dialog/state-config-dialog.component.mjs +5 -9
  20. package/esm2020/lib/elements/breadcrumb/breadcrumb.component.mjs +4 -4
  21. package/esm2020/lib/elements/feed-header/feed-header.component.mjs +4 -5
  22. package/esm2020/lib/elements/main-feed-card/main-feed-card.component.mjs +4 -7
  23. package/esm2020/lib/elements/project-info-card/project-info-card.component.mjs +4 -4
  24. package/esm2020/lib/elements/projects/controls/git-auth/git-auth.component.mjs +3 -3
  25. package/esm2020/lib/elements/projects/projects.component.mjs +4 -7
  26. package/esm2020/lib/elements/slotted-card/slotted-card.component.mjs +4 -5
  27. package/esm2020/lib/services/eac.service.mjs +45 -46
  28. package/esm2020/lib/services/project.service.mjs +2 -3
  29. package/fesm2015/lowcodeunit-applications-flow-common.mjs +125 -159
  30. package/fesm2015/lowcodeunit-applications-flow-common.mjs.map +1 -1
  31. package/fesm2020/lowcodeunit-applications-flow-common.mjs +125 -157
  32. package/fesm2020/lowcodeunit-applications-flow-common.mjs.map +1 -1
  33. package/lib/controls/build-pipeline-form/build-pipeline-form.component.d.ts +1 -1
  34. package/lib/controls/connected-source/connected-source.component.d.ts +1 -1
  35. package/lib/controls/devops-source-control-form/devops-source-control-form.component.d.ts +1 -1
  36. package/lib/controls/dfs-modifiers-form/dfs-modifiers-form.component.d.ts +1 -1
  37. package/lib/controls/edit-application-form/edit-application-form.component.d.ts +1 -1
  38. package/lib/controls/edit-project-form/edit-project-form.component.d.ts +1 -1
  39. package/lib/controls/emulated-devices-toggle/emulated-devices-toggle.component.d.ts +1 -1
  40. package/lib/controls/processor-details-form/processor-details-form.component.d.ts +1 -1
  41. package/lib/controls/security-toggle/security-toggle.component.d.ts +1 -1
  42. package/lib/controls/state-config-form/state-config-form.component.d.ts +1 -1
  43. package/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.d.ts +1 -1
  44. package/lib/dialogs/dfs-modifiers-dialog/dfs-modifiers-dialog.component.d.ts +1 -1
  45. package/lib/dialogs/edit-application-dialog/edit-application-dialog.component.d.ts +1 -1
  46. package/lib/dialogs/edit-project-dialog/edit-project-dialog.component.d.ts +1 -1
  47. package/lib/dialogs/feed-header-dialog/feed-header-dialog.component.d.ts +1 -1
  48. package/lib/dialogs/new-application-dialog/new-application-dialog.component.d.ts +1 -1
  49. package/lib/dialogs/processor-details-dialog/processor-details-dialog.component.d.ts +1 -1
  50. package/lib/dialogs/source-control-dialog/source-control-dialog.component.d.ts +1 -1
  51. package/lib/dialogs/state-config-dialog/state-config-dialog.component.d.ts +1 -1
  52. package/lib/elements/breadcrumb/breadcrumb.component.d.ts +1 -1
  53. package/lib/elements/feed-header/feed-header.component.d.ts +1 -1
  54. package/lib/elements/main-feed-card/main-feed-card.component.d.ts +1 -1
  55. package/lib/elements/project-info-card/project-info-card.component.d.ts +1 -1
  56. package/lib/elements/projects/projects.component.d.ts +1 -1
  57. package/lib/elements/slotted-card/slotted-card.component.d.ts +1 -1
  58. package/lib/services/eac.service.d.ts +2 -2
  59. package/package.json +1 -1
@@ -89,17 +89,14 @@ export class DFSModifiersFormComponent {
89
89
  get StateDataTokenFormControl() {
90
90
  return this.ModifierFormGroup?.controls.stateDataToken;
91
91
  }
92
- // public get State(): ApplicationsFlowState {
93
- // return this.eacSvc.State;
94
- // }
92
+ get State() {
93
+ return this.eacSvc.State;
94
+ }
95
95
  get TypeFormControl() {
96
96
  return this.ModifierFormGroup?.controls.type;
97
97
  }
98
98
  // Life Cycle
99
99
  ngOnInit() {
100
- this.eacSvc.State.subscribe((state) => {
101
- this.State = state;
102
- });
103
100
  if (this.Level === 'enterprise' && !this.EditingModifierLookup) {
104
101
  this.CreateNewModifier();
105
102
  }
@@ -298,4 +295,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
298
295
  type: Input,
299
296
  args: ['level']
300
297
  }] } });
301
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGZzLW1vZGlmaWVycy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi9zcmMvbGliL2NvbnRyb2xzL2Rmcy1tb2RpZmllcnMtZm9ybS9kZnMtbW9kaWZpZXJzLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvZGZzLW1vZGlmaWVycy1mb3JtL2Rmcy1tb2RpZmllcnMtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBSUgsVUFBVSxHQUNiLE1BQU0sZ0JBQWdCLENBQUM7QUFJeEIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7Ozs7OztBQWNuQyxNQUFNLE9BQU8seUJBQXlCO0lBc0lsQyxnQkFBZ0I7SUFDaEIsWUFDYyxRQUFxQixFQUNyQixXQUFvQyxFQUNwQyxNQUFrQjtRQUZsQixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3JCLGdCQUFXLEdBQVgsV0FBVyxDQUF5QjtRQUNwQyxXQUFNLEdBQU4sTUFBTSxDQUFZO1FBRTVCLHFDQUFxQztJQUN6QyxDQUFDO0lBM0dELDhCQUE4QjtJQUM5QiwwREFBMEQ7SUFDMUQsSUFBSTtJQUVKLElBQVcsa0JBQWtCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN0QixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUztZQUNyQixDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUM7WUFDNUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUVY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dEIsQ0FBQyxDQUNMLENBQUM7Z0JBRUYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FDN0IsWUFBWSxFQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxVQUFVLElBQUksU0FBUyxDQUFDLENBQzFELENBQUM7Z0JBQ0YsTUFBTTtTQUNiO0lBQ0wsQ0FBQzs7c0hBN1hRLHlCQUF5QjswR0FBekIseUJBQXlCLHNVQ3hCdEMsdzVYQWtVQTsyRkQxU2EseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNJLHVCQUF1QjtpS0FrQjFCLHFCQUFxQjtzQkFEM0IsS0FBSzt1QkFBQyx5QkFBeUI7Z0JBU3pCLGlCQUFpQjtzQkFEdkIsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBSXBCLE9BQU87c0JBRGIsS0FBSzt1QkFBQyxTQUFTO2dCQUlULGFBQWE7c0JBRG5CLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUtoQixLQUFLO3NCQURYLEtBQUs7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdENvbnRyb2wsXG4gICAgRm9ybUJ1aWxkZXIsXG4gICAgRm9ybUdyb3VwLFxuICAgIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlQ2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcblxuaW1wb3J0IHsgRWFDREZTTW9kaWZpZXIsIEVhQ1Byb2plY3RBc0NvZGUgfSBmcm9tICdAc2VtYW50aWNqcy9jb21tb24nO1xuaW1wb3J0IHsgR3VpZCB9IGZyb20gJ0BsY3UvY29tbW9uJztcbmltcG9ydCB7IE1hdFNlbGVjdENoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQge1xuICAgIEVhQ1NlcnZpY2UsXG4gICAgU2F2ZURGU01vZGlmaWVyRXZlbnRSZXF1ZXN0LFxufSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lYWMuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbnNGbG93U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FwcGxpY2F0aW9ucy1mbG93LnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25zRmxvd1N0YXRlIH0gZnJvbSAnLi4vLi4vc3RhdGUvYXBwbGljYXRpb25zLWZsb3cuc3RhdGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xjdS1kZnMtbW9kaWZpZXItZm9ybScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Rmcy1tb2RpZmllcnMtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGZzLW1vZGlmaWVycy1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERGU01vZGlmaWVyc0Zvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIC8vICBGaWVsZHNcblxuICAgIC8vICBQcm9wZXJ0aWVzXG4gICAgcHVibGljIEN1cnJlbnRUeXBlOiBzdHJpbmc7XG5cbiAgICAvLyBASW5wdXQoJ2RhdGEnKVxuICAgIC8vIHB1YmxpYyBEYXRhOiB7XG4gICAgLy8gICBNb2RpZmllcnM6IHsgW2xvb2t1cDogc3RyaW5nXTogRWFDREZTTW9kaWZpZXIgfTtcbiAgICAvLyAgIFByb2plY3Q6IEVhQ1Byb2plY3RBc0NvZGU7XG4gICAgLy8gICBQcm9qZWN0TG9va3VwOiBzdHJpbmc7XG4gICAgLy8gfTtcblxuICAgIEBJbnB1dCgnZWRpdGluZy1tb2RpZmllci1sb29rdXAnKVxuICAgIHB1YmxpYyBFZGl0aW5nTW9kaWZpZXJMb29rdXA6IHN0cmluZztcblxuICAgIC8qKlNwZWNpZmljIE1vZGlmaWVycyBmb3IgZWl0aGVyIHRoZSBwcm9qZWN0IG9yIGFwcGxpYWN0aW9uICovXG5cbiAgICAvLyBASW5wdXQoJ21vZGlmaWVycycpXG4gICAgLy8gcHVibGljIE1vZGlmaWVyczogIHsgW2xvb2t1cDogc3RyaW5nXTogRWFDREZTTW9kaWZpZXIgfTtcblxuICAgIEBJbnB1dCgnYXBwbGljYXRpb24tbG9va3VwJylcbiAgICBwdWJsaWMgQXBwbGljYXRpb25Mb29rdXA6IHN0cmluZztcblxuICAgIEBJbnB1dCgncHJvamVjdCcpXG4gICAgcHVibGljIFByb2plY3Q6IEVhQ1Byb2plY3RBc0NvZGU7XG5cbiAgICBASW5wdXQoJ3Byb2plY3QtbG9va3VwJylcbiAgICBwdWJsaWMgUHJvamVjdExvb2t1cDogc3RyaW5nO1xuXG4gICAgLyoqd2hpY2ggbGV2ZWwgaXMgdGhlIGRmcyBtb2RpZmllciBiZWluZyBlZGl0ZWQgZW50IHByb2plY3Qgb3IgYXBwICovXG4gICAgQElucHV0KCdsZXZlbCcpXG4gICAgcHVibGljIExldmVsOiBzdHJpbmc7XG5cbiAgICAvLyBwdWJsaWMgZ2V0IERldGFpbHMoKTogYW55IHtcbiAgICAvLyAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh0aGlzLkVkaXRpbmdNb2RpZmllcj8uRGV0YWlscyk7XG4gICAgLy8gfVxuXG4gICAgcHVibGljIGdldCBEZXRhaWxzRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXA/LmNvbnRyb2xzLmRldGFpbHM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBFZGl0aW5nTW9kaWZpZXIoKTogRWFDREZTTW9kaWZpZXIge1xuICAgICAgICBsZXQgbWRmciA9IHRoaXMuTW9kaWZpZXJzXG4gICAgICAgICAgICA/IHRoaXMuTW9kaWZpZXJzW3RoaXMuRWRpdGluZ01vZGlmaWVyTG9va3VwXVxuICAgICAgICAgICAgOiBudWxsO1xuXG4gICAgICAgIGlmIChtZGZyID09IG51bGwgJiYgdGhpcy5FZGl0aW5nTW9kaWZpZXJMb29rdXApIHtcbiAgICAgICAgICAgIG1kZnIgPSB7fTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBtZGZyO1xuICAgIH1cblxuICAgIC8vIHB1YmxpYyBFZGl0aW5nTW9kaWZpZXJMb29rdXA6IHN0cmluZztcblxuICAgIHB1YmxpYyBnZXQgRW5hYmxlZEZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgICAgIHJldHVybiB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwPy5jb250cm9scy5lbmFibGVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgRW50ZXJwcmlzZXNNb2RpZmllckxvb2t1cHMoKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLk1vZGlmaWVycyB8fCB7fSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBMb2NhdGlvbkZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgICAgIHJldHVybiB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwPy5jb250cm9scy5sb2NhdGlvbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IE1vZGlmaWVycygpOiB7IFtsb29rdXA6IHN0cmluZ106IEVhQ0RGU01vZGlmaWVyIH0ge1xuICAgICAgICByZXR1cm4gdGhpcy5TdGF0ZT8uRWFDPy5Nb2RpZmllcnM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBNb2RpZmllckxvb2t1cHMoKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgICAgIGlmICh0aGlzLlByb2plY3RMb29rdXApIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLlN0YXRlPy5FYUM/LlByb2plY3RzW3RoaXMuUHJvamVjdExvb2t1cF1cbiAgICAgICAgICAgICAgICA/Lk1vZGlmaWVyTG9va3VwcztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLkFwcGxpY2F0aW9uTG9va3VwKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5TdGF0ZS5FYUM/LkFwcGxpY2F0aW9uc1t0aGlzLkFwcGxpY2F0aW9uTG9va3VwXVxuICAgICAgICAgICAgICAgID8uTW9kaWZpZXJMb29rdXBzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuTW9kaWZpZXJzIHx8IHt9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgTXVsdGlTZWxlY3RGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgICAgICByZXR1cm4gdGhpcy5Nb2RpZmllclNlbGVjdEZvcm1Hcm91cD8uY29udHJvbHMubXVsdGlTZWxlY3Q7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBOYW1lRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXA/LmNvbnRyb2xzLm5hbWU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBQYXRoRmlsdGVyRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXA/LmNvbnRyb2xzLnBhdGhGaWx0ZXI7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBQcmlvcml0eUZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgICAgIHJldHVybiB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwPy5jb250cm9scy5wcmlvcml0eTtcbiAgICB9XG5cbiAgICAvLyBwdWJsaWMgZ2V0IFByb2plY3QoKTogRWFDUHJvamVjdEFzQ29kZSB7XG4gICAgLy8gICByZXR1cm4gdGhpcy5EYXRhLlByb2plY3QgfHwge307XG4gICAgLy8gfVxuXG4gICAgcHVibGljIGdldCBTY3JpcHRGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgICAgICByZXR1cm4gdGhpcy5Nb2RpZmllckZvcm1Hcm91cD8uY29udHJvbHMuc2NyaXB0O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgU2NyaXB0SURGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgICAgICByZXR1cm4gdGhpcy5Nb2RpZmllckZvcm1Hcm91cD8uY29udHJvbHMuc2NyaXB0SWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBTY3JpcHRUeXBlRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXA/LmNvbnRyb2xzLnNjcmlwdFR5cGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBTdGF0ZURhdGFUb2tlbkZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgICAgIHJldHVybiB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwPy5jb250cm9scy5zdGF0ZURhdGFUb2tlbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgU3RhdGU6IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZTtcblxuICAgIC8vIHB1YmxpYyBnZXQgU3RhdGUoKTogQXBwbGljYXRpb25zRmxvd1N0YXRlIHtcbiAgICAvLyAgICAgcmV0dXJuIHRoaXMuZWFjU3ZjLlN0YXRlO1xuICAgIC8vIH1cblxuICAgIHB1YmxpYyBnZXQgVHlwZUZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgICAgIHJldHVybiB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwPy5jb250cm9scy50eXBlO1xuICAgIH1cblxuICAgIHB1YmxpYyBNb2RpZmllckZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gICAgcHVibGljIE1vZGlmaWVyU2VsZWN0Rm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgICAvLyAgQ29uc3RydWN0b3JzXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBmb3JtQmxkcjogRm9ybUJ1aWxkZXIsXG4gICAgICAgIHByb3RlY3RlZCBhcHBzRmxvd1N2YzogQXBwbGljYXRpb25zRmxvd1NlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBlYWNTdmM6IEVhQ1NlcnZpY2VcbiAgICApIHtcbiAgICAgICAgLy8gdGhpcy5FZGl0aW5nTW9kaWZpZXJMb29rdXAgPSBudWxsO1xuICAgIH1cblxuICAgIC8vICBMaWZlIEN5Y2xlXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVhY1N2Yy5TdGF0ZS5zdWJzY3JpYmUoKHN0YXRlOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuU3RhdGUgPSBzdGF0ZTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICh0aGlzLkxldmVsID09PSAnZW50ZXJwcmlzZScgJiYgIXRoaXMuRWRpdGluZ01vZGlmaWVyTG9va3VwKSB7XG4gICAgICAgICAgICB0aGlzLkNyZWF0ZU5ld01vZGlmaWVyKCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5FZGl0aW5nTW9kaWZpZXJMb29rdXApIHtcbiAgICAgICAgICAgIHRoaXMuc2V0dXBNb2RpZmllckZvcm0oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2V0dXBNb2RpZmllclNlbGVjdEZvcm0oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vICBBUEkgTWV0aG9kc1xuICAgIHB1YmxpYyBDcmVhdGVOZXdNb2RpZmllcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5TZXRFZGl0aW5nTW9kaWZpZXIoR3VpZC5DcmVhdGVSYXcoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIERlbGV0ZU1vZGlmaWVyKG1vZGlmaWVyTG9va3VwOiBzdHJpbmcsIG1vZGlmaWVyTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWFjU3ZjLkRlbGV0ZU1vZGlmaWVyKG1vZGlmaWVyTG9va3VwLCBtb2RpZmllck5hbWUpLnRoZW4oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgU2F2ZU1vZGlmaWVyRm9yQWxsUHJvamVjdHMocHJvamVjdExvb2t1cHM6IEFycmF5PHN0cmluZz4pIHtcbiAgICAgICAgY29uc3Qgc2F2ZU1kZnJSZXE6IFNhdmVERlNNb2RpZmllckV2ZW50UmVxdWVzdCA9IHtcbiAgICAgICAgICAgIE1vZGlmaWVyOiB7XG4gICAgICAgICAgICAgICAgLi4udGhpcy5FZGl0aW5nTW9kaWZpZXIsXG4gICAgICAgICAgICAgICAgTmFtZTogdGhpcy5OYW1lRm9ybUNvbnRyb2wudmFsdWUsXG4gICAgICAgICAgICAgICAgRW5hYmxlZDogdGhpcy5FbmFibGVkRm9ybUNvbnRyb2wudmFsdWUsXG4gICAgICAgICAgICAgICAgUGF0aEZpbHRlclJlZ2V4OiB0aGlzLlBhdGhGaWx0ZXJGb3JtQ29udHJvbC52YWx1ZSxcbiAgICAgICAgICAgICAgICBQcmlvcml0eTogdGhpcy5Qcmlvcml0eUZvcm1Db250cm9sLnZhbHVlLFxuICAgICAgICAgICAgICAgIFR5cGU6IHRoaXMuQ3VycmVudFR5cGUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgTW9kaWZpZXJMb29rdXBzOiBbdGhpcy5FZGl0aW5nTW9kaWZpZXJMb29rdXBdLFxuICAgICAgICAgICAgUHJvamVjdExvb2t1cHM6IHByb2plY3RMb29rdXBzLFxuICAgICAgICB9O1xuXG4gICAgICAgIGxldCBkZXRhaWxzID0gdGhpcy5nZXREZXRhaWxzKCk7XG5cbiAgICAgICAgc2F2ZU1kZnJSZXEuTW9kaWZpZXIuRGV0YWlscyA9IEpTT04uc3RyaW5naWZ5KGRldGFpbHMpO1xuXG4gICAgICAgIHRoaXMuZWFjU3ZjLlNhdmVERlNNb2RpZmllcihzYXZlTWRmclJlcSk7XG4gICAgfVxuXG4gICAgcHVibGljIFNhdmVNb2RpZmllckZvckFwcGxpY2F0aW9uKGFwcGxpY2F0aW9uTG9va3VwOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuTW9kaWZpZXJGb3JtR3JvdXApIHtcbiAgICAgICAgICAgIGNvbnN0IHNhdmVNZGZyUmVxOiBTYXZlREZTTW9kaWZpZXJFdmVudFJlcXVlc3QgPSB7XG4gICAgICAgICAgICAgICAgTW9kaWZpZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5FZGl0aW5nTW9kaWZpZXIsXG4gICAgICAgICAgICAgICAgICAgIE5hbWU6IHRoaXMuTmFtZUZvcm1Db250cm9sLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICBFbmFibGVkOiB0aGlzLkVuYWJsZWRGb3JtQ29udHJvbC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgUGF0aEZpbHRlclJlZ2V4OiB0aGlzLlBhdGhGaWx0ZXJGb3JtQ29udHJvbC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgUHJpb3JpdHk6IHRoaXMuUHJpb3JpdHlGb3JtQ29udHJvbC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgVHlwZTogdGhpcy5DdXJyZW50VHlwZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIE1vZGlmaWVyTG9va3VwczogW3RoaXMuRWRpdGluZ01vZGlmaWVyTG9va3VwXSxcbiAgICAgICAgICAgICAgICBBcHBsaWNhdGlvbkxvb2t1cDogYXBwbGljYXRpb25Mb29rdXAsXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBsZXQgZGV0YWlscyA9IHRoaXMuZ2V0RGV0YWlscygpO1xuXG4gICAgICAgICAgICBzYXZlTWRmclJlcS5Nb2RpZmllci5EZXRhaWxzID0gSlNPTi5zdHJpbmdpZnkoZGV0YWlscyk7XG5cbiAgICAgICAgICAgIHRoaXMuZWFjU3ZjLlNhdmVERlNNb2RpZmllcihzYXZlTWRmclJlcSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5Nb2RpZmllclNlbGVjdEZvcm1Hcm91cCkge1xuICAgICAgICAgICAgY29uc3Qgc2F2ZU1kZnJSZXE6IFNhdmVERlNNb2RpZmllckV2ZW50UmVxdWVzdCA9IHtcbiAgICAgICAgICAgICAgICBNb2RpZmllckxvb2t1cHM6IHRoaXMuTXVsdGlTZWxlY3RGb3JtQ29udHJvbC52YWx1ZSxcbiAgICAgICAgICAgICAgICBBcHBsaWNhdGlvbkxvb2t1cDogYXBwbGljYXRpb25Mb29rdXAsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGhpcy5lYWNTdmMuU2F2ZURGU01vZGlmaWVyKHNhdmVNZGZyUmVxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICogU2F2ZXMgYSBtb2RpZmllciwgc2F2ZXMgYSBtb2RpZmllciB0byBhIHByb2plY3RcbiAgICAgKi9cbiAgICBwdWJsaWMgU2F2ZU1vZGlmaWVyKHByb2plY3RMb29rdXA6IHN0cmluZyA9IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuTW9kaWZpZXJGb3JtR3JvdXApIHtcbiAgICAgICAgICAgIGNvbnN0IHNhdmVNZGZyUmVxOiBTYXZlREZTTW9kaWZpZXJFdmVudFJlcXVlc3QgPSB7XG4gICAgICAgICAgICAgICAgTW9kaWZpZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5FZGl0aW5nTW9kaWZpZXIsXG4gICAgICAgICAgICAgICAgICAgIE5hbWU6IHRoaXMuTmFtZUZvcm1Db250cm9sLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICBFbmFibGVkOiB0aGlzLkVuYWJsZWRGb3JtQ29udHJvbC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgUGF0aEZpbHRlclJlZ2V4OiB0aGlzLlBhdGhGaWx0ZXJGb3JtQ29udHJvbC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgUHJpb3JpdHk6IHRoaXMuUHJpb3JpdHlGb3JtQ29udHJvbC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgVHlwZTogdGhpcy5DdXJyZW50VHlwZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIE1vZGlmaWVyTG9va3VwczogW3RoaXMuRWRpdGluZ01vZGlmaWVyTG9va3VwXSxcbiAgICAgICAgICAgICAgICBQcm9qZWN0TG9va3VwczogW3Byb2plY3RMb29rdXBdLFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgbGV0IGRldGFpbHMgPSB0aGlzLmdldERldGFpbHMoKTtcblxuICAgICAgICAgICAgc2F2ZU1kZnJSZXEuTW9kaWZpZXIuRGV0YWlscyA9IEpTT04uc3RyaW5naWZ5KGRldGFpbHMpO1xuXG4gICAgICAgICAgICB0aGlzLmVhY1N2Yy5TYXZlREZTTW9kaWZpZXIoc2F2ZU1kZnJSZXEpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuTW9kaWZpZXJTZWxlY3RGb3JtR3JvdXApIHtcbiAgICAgICAgICAgIGNvbnN0IHNhdmVNZGZyUmVxOiBTYXZlREZTTW9kaWZpZXJFdmVudFJlcXVlc3QgPSB7XG4gICAgICAgICAgICAgICAgTW9kaWZpZXJMb29rdXBzOiB0aGlzLk11bHRpU2VsZWN0Rm9ybUNvbnRyb2wudmFsdWUsXG4gICAgICAgICAgICAgICAgUHJvamVjdExvb2t1cHM6IFtwcm9qZWN0TG9va3VwXSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB0aGlzLmVhY1N2Yy5TYXZlREZTTW9kaWZpZXIoc2F2ZU1kZnJSZXEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIFNldEVkaXRpbmdNb2RpZmllcihtb2RpZmllckxvb2t1cDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuRWRpdGluZ01vZGlmaWVyTG9va3VwID0gbW9kaWZpZXJMb29rdXA7XG5cbiAgICAgICAgdGhpcy5zZXR1cE1vZGlmaWVyRm9ybSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBTZXRVc2VGb3JQcm9qZWN0KFxuICAgICAgICBtb2RpZmllckxvb2t1cDogc3RyaW5nLFxuICAgICAgICBjaGFuZ2U6IE1hdFNsaWRlVG9nZ2xlQ2hhbmdlXG4gICAgKTogdm9pZCB7XG4gICAgICAgIHRoaXMuU2V0RWRpdGluZ01vZGlmaWVyKG1vZGlmaWVyTG9va3VwKTtcblxuICAgICAgICB0aGlzLlNhdmVNb2RpZmllcih0aGlzLlByb2plY3RMb29rdXApO1xuICAgIH1cblxuICAgIHB1YmxpYyBUeXBlQ2hhbmdlZChldmVudDogTWF0U2VsZWN0Q2hhbmdlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuQ3VycmVudFR5cGUgPSBldmVudC52YWx1ZTtcblxuICAgICAgICB0aGlzLnNldHVwVHlwZUZvcm0oKTtcbiAgICB9XG5cbiAgICAvLyAgSGVscGVyc1xuXG4gICAgcHJvdGVjdGVkIGdldERldGFpbHMoKTogYW55IHtcbiAgICAgICAgY29uc3QgZGV0YWlscyA9IHt9O1xuXG4gICAgICAgIHN3aXRjaCAodGhpcy5DdXJyZW50VHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnTENVLlJ1bnRpbWUuQXBwbGljYXRpb25zLk1vZGlmaWVycy5IVE1MQmFzZURGU01vZGlmaWVyTWFuYWdlciwgTENVLlJ1bnRpbWUsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsJzpcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAnTENVLlJ1bnRpbWUuQXBwbGljYXRpb25zLk1vZGlmaWVycy5MQ1VSZWdERlNNb2RpZmllck1hbmFnZXIsIExDVS5SdW50aW1lLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbCc6XG4gICAgICAgICAgICAgICAgZGV0YWlsc1snU3RhdGVEYXRhVG9rZW4nXSA9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuU3RhdGVEYXRhVG9rZW5Gb3JtQ29udHJvbC52YWx1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAnTENVLlJ1bnRpbWUuQXBwbGljYXRpb25zLk1vZGlmaWVycy5UaGlyZFBhcnR5TGlicmFyeURGU01vZGlmaWVyTWFuYWdlciwgTENVLlJ1bnRpbWUsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsJzpcbiAgICAgICAgICAgICAgICBkZXRhaWxzWydMb2NhdGlvbiddID0gdGhpcy5Mb2NhdGlvbkZvcm1Db250cm9sLnZhbHVlO1xuXG4gICAgICAgICAgICAgICAgZGV0YWlsc1snU2NyaXB0J10gPSB0aGlzLlNjcmlwdEZvcm1Db250cm9sLnZhbHVlO1xuXG4gICAgICAgICAgICAgICAgZGV0YWlsc1snU2NyaXB0VHlwZSddID0gdGhpcy5TY3JpcHRUeXBlRm9ybUNvbnRyb2wudmFsdWU7XG5cbiAgICAgICAgICAgICAgICBkZXRhaWxzWydTY3JpcHRJRCddID0gdGhpcy5TY3JpcHRJREZvcm1Db250cm9sLnZhbHVlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkZXRhaWxzO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzZXR1cE1vZGlmaWVyU2VsZWN0Rm9ybSgpIHtcbiAgICAgICAgdGhpcy5Nb2RpZmllclNlbGVjdEZvcm1Hcm91cCA9IHRoaXMuZm9ybUJsZHIuZ3JvdXAoe1xuICAgICAgICAgICAgbXVsdGlTZWxlY3Q6IFt0aGlzLk1vZGlmaWVyTG9va3VwcyA/IHRoaXMuTW9kaWZpZXJMb29rdXBzIDogW11dLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2V0dXBNb2RpZmllckZvcm0oKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLkVkaXRpbmdNb2RpZmllciAhPSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLkN1cnJlbnRUeXBlID0gdGhpcy5FZGl0aW5nTW9kaWZpZXI/LlR5cGU7XG5cbiAgICAgICAgICAgIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXAgPSB0aGlzLmZvcm1CbGRyLmdyb3VwKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBbdGhpcy5FZGl0aW5nTW9kaWZpZXI/Lk5hbWUsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgICAgICAgICAgIHR5cGU6IFt0aGlzLkN1cnJlbnRUeXBlLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICAgICAgICAgICBwcmlvcml0eTogW1xuICAgICAgICAgICAgICAgICAgICB0aGlzLkVkaXRpbmdNb2RpZmllcj8uUHJpb3JpdHlcbiAgICAgICAgICAgICAgICAgICAgICAgID8gdGhpcy5FZGl0aW5nTW9kaWZpZXI/LlByaW9yaXR5XG4gICAgICAgICAgICAgICAgICAgICAgICA6IDkwMDAsXG4gICAgICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICBlbmFibGVkOiBbdGhpcy5FZGl0aW5nTW9kaWZpZXI/LkVuYWJsZWQsIFtdXSxcbiAgICAgICAgICAgICAgICBwYXRoRmlsdGVyOiBbXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuRWRpdGluZ01vZGlmaWVyPy5QYXRoRmlsdGVyUmVnZXhcbiAgICAgICAgICAgICAgICAgICAgICAgID8gdGhpcy5FZGl0aW5nTW9kaWZpZXI/LlBhdGhGaWx0ZXJSZWdleFxuICAgICAgICAgICAgICAgICAgICAgICAgOiAnKmluZGV4Lmh0bWwnLFxuICAgICAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy5zZXR1cFR5cGVGb3JtKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2V0dXBUeXBlRm9ybSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5Nb2RpZmllckZvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdzdGF0ZURhdGFUb2tlbicpO1xuXG4gICAgICAgIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgnbG9jYXRpb24nKTtcbiAgICAgICAgdGhpcy5Nb2RpZmllckZvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdzY3JpcHQnKTtcbiAgICAgICAgdGhpcy5Nb2RpZmllckZvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdzY3JpcHRJZCcpO1xuICAgICAgICB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woJ3NjcmlwdFR5cGUnKTtcblxuICAgICAgICBjb25zdCBkZXRhaWxzID0gSlNPTi5wYXJzZSh0aGlzLkVkaXRpbmdNb2RpZmllcj8uRGV0YWlscyB8fCAne30nKTtcblxuICAgICAgICBzd2l0Y2ggKHRoaXMuQ3VycmVudFR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ0xDVS5SdW50aW1lLkFwcGxpY2F0aW9ucy5Nb2RpZmllcnMuSFRNTEJhc2VERlNNb2RpZmllck1hbmFnZXIsIExDVS5SdW50aW1lLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbCc6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgJ0xDVS5SdW50aW1lLkFwcGxpY2F0aW9ucy5Nb2RpZmllcnMuTENVUmVnREZTTW9kaWZpZXJNYW5hZ2VyLCBMQ1UuUnVudGltZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwnOlxuICAgICAgICAgICAgICAgIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICAgICAgICAgICAgICAgJ3N0YXRlRGF0YVRva2VuJyxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKFxuICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlscz8uU3RhdGVEYXRhVG9rZW4gfHwgJ2xjdS1zdGF0ZS1jb25maWcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlICdMQ1UuUnVudGltZS5BcHBsaWNhdGlvbnMuTW9kaWZpZXJzLlRoaXJkUGFydHlMaWJyYXJ5REZTTW9kaWZpZXJNYW5hZ2VyLCBMQ1UuUnVudGltZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwnOlxuICAgICAgICAgICAgICAgIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKGRldGFpbHM/LkxvY2F0aW9uIHx8ICdIZWFkJywgW1xuICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5Nb2RpZmllckZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgICAgICAgICAgICAgICAnc2NyaXB0JyxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKGRldGFpbHM/LlNjcmlwdCB8fCAnJywgW1xuICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5Nb2RpZmllckZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgICAgICAgICAgICAgICAnc2NyaXB0SWQnLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woZGV0YWlscz8uU2NyaXB0SUQgfHwgJycsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICAgICAgICAgICAgICAgJ3NjcmlwdFR5cGUnLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woZGV0YWlscz8uU2NyaXB0VHlwZSB8fCAnQ29udHJvbCcpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXY+XG4gICAgPGRpdiAqbmdJZj1cIiFFZGl0aW5nTW9kaWZpZXJMb29rdXBcIj5cbiAgICAgICAgU2VsZWN0IHRoZSBtb2RpZmllcnMgeW91IHdvdWxkIGxpa2UgdG8gYXBwbHkgZnJvbSB0aGUgbGlzdCBiZWxvdywgb3JcbiAgICAgICAgY3JlYXRlIGEgbmV3IG1vZGlmaWVyLlxuICAgIDwvZGl2PlxuXG4gICAgPGZvcm1cbiAgICAgICAgW2Zvcm1Hcm91cF09XCJNb2RpZmllckZvcm1Hcm91cFwiXG4gICAgICAgIChuZ1N1Ym1pdCk9XCJTYXZlTW9kaWZpZXIoKVwiXG4gICAgICAgICpuZ0lmPVwiRWRpdGluZ01vZGlmaWVyXCJcbiAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNhcmRcIj5cbiAgICAgICAgICAgIDwhLS0gPG1hdC1jYXJkIGNsYXNzPVwic3ByZWFkXCI+IC0tPlxuICAgICAgICAgICAgPCEtLSA8bWF0LWNhcmQtaGVhZGVyPlxuICAgICAgICAgIDxtYXQtY2FyZC10aXRsZT4gREZTIE1vZGlmaWVyIDwvbWF0LWNhcmQtdGl0bGU+XG5cbiAgICAgICAgICA8ZGl2IGZ4RmxleD48L2Rpdj5cblxuICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICBtYXRUb29sdGlwPVwiQ29uZmlndXJlIG1vZGlmaWVycyBmb3IgeW91ciBERlMgZmlsZXMuXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBpbmZvX291dGxpbmVcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1jYXJkLWhlYWRlcj4gLS0+XG5cbiAgICAgICAgICAgIDwhLS0gPG1hdC1jYXJkLWNvbnRlbnQ+IC0tPlxuXG4gICAgICAgICAgICA8IS0tIGVuZCAtLT5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidHlwZVwiXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiREZTIE1vZGlmaWVyIFR5cGVcIlxuICAgICAgICAgICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIlR5cGVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPVwiTENVLlJ1bnRpbWUuQXBwbGljYXRpb25zLk1vZGlmaWVycy5IVE1MQmFzZURGU01vZGlmaWVyTWFuYWdlciwgTENVLlJ1bnRpbWUsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgSFRNTCBCYXNlIE1vZGlmaWVyXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cblxuICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9XCJMQ1UuUnVudGltZS5BcHBsaWNhdGlvbnMuTW9kaWZpZXJzLkxDVVJlZ0RGU01vZGlmaWVyTWFuYWdlciwgTENVLlJ1bnRpbWUsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgTENVIFJlZyBNb2RpZmllclxuICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPVwiTENVLlJ1bnRpbWUuQXBwbGljYXRpb25zLk1vZGlmaWVycy5UaGlyZFBhcnR5TGlicmFyeURGU01vZGlmaWVyTWFuYWdlciwgTENVLlJ1bnRpbWUsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgVGhpcmQgUGFydHkgTGlicmFyeSBNb2RpZmllclxuICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk5hbWVcIlxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXQtZnVsbC13aWR0aFwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwcmlvcml0eVwiXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiUHJpb3JpdHlcIlxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXQtZnVsbC13aWR0aFwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwYXRoRmlsdGVyXCJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJQYXRoIEZpbHRlciAocmVnZXgpXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgIEN1cnJlbnRUeXBlID09XG4gICAgICAgICAgICAgICAgICAgICdMQ1UuUnVudGltZS5BcHBsaWNhdGlvbnMuTW9kaWZpZXJzLkxDVVJlZ0RGU01vZGlmaWVyTWFuYWdlciwgTENVLlJ1bnRpbWUsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsJ1xuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGhcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic3RhdGVEYXRhVG9rZW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTdGF0ZSBEYXRhIFRva2VuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgQ3VycmVudFR5cGUgPT1cbiAgICAgICAgICAgICAgICAgICAgJ0xDVS5SdW50aW1lLkFwcGxpY2F0aW9ucy5Nb2RpZmllcnMuVGhpcmRQYXJ0eUxpYnJhcnlERlNNb2RpZmllck1hbmFnZXIsIExDVS5SdW50aW1lLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbCdcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJsb2NhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkxvY2F0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwiTG9jYXRpb25DaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJIZWFkXCI+IEhlYWQgPC9tYXQtb3B0aW9uPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIkJvZHlcIj4gQm9keSA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGhcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic2NyaXB0SWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTY3JpcHQgSURcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGhcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInNjcmlwdFR5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTY3JpcHQgVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIkNvbnRlbnRcIj4gQ29udGVudCA8L21hdC1vcHRpb24+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiU291cmNlXCI+IFNvdXJjZSA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGhcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIlNjcmlwdFR5cGVGb3JtQ29udHJvbD8udmFsdWUgPT09ICdDb250ZW50J1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzY3JpcHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTY3JpcHQgQ29udGVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAgICAgICA+PC90ZXh0YXJlYT5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZFxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJTY3JpcHRUeXBlRm9ybUNvbnRyb2w/LnZhbHVlID09PSAnU291cmNlJ1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzY3JpcHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTY3JpcHQgVVJMXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZVxuICAgICAgICAgICAgICAgICpuZ0lmPVwiUHJvamVjdExvb2t1cFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzcHJlYWRcIlxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImVuYWJsZWRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIElzIEVuYWJsZWQ/XG4gICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICA8IS0tIDwvbWF0LWNhcmQtY29udGVudD4gLS0+XG4gICAgICAgICAgICA8IS0tIDwvbWF0LWNhcmQ+IC0tPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJzcHJlYWRcIj5cbiAgICAgIDxkaXYgZnhGbGV4PjwvZGl2PlxuXG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJTZXRFZGl0aW5nTW9kaWZpZXIobnVsbClcIj5cbiAgICAgICAgPG1hdC1pY29uPmNhbmNlbDwvbWF0LWljb24+IENhbmNlbFxuICAgICAgPC9idXR0b24+XG5cbiAgICAgIDxkaXYgZnhGbGV4PjwvZGl2PlxuXG4gICAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiIU1vZGlmaWVyRm9ybUdyb3VwLnZhbGlkIHx8ICFNb2RpZmllckZvcm1Hcm91cC5kaXJ0eVwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtaWNvbj5zYXZlPC9tYXQtaWNvbj4gU2F2ZSBERlMgTW9kaWZpZXJcbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8ZGl2IGZ4RmxleD48L2Rpdj5cbiAgICA8L2Rpdj4gLS0+XG4gICAgPC9mb3JtPlxuXG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJNb2RpZmllclNlbGVjdEZvcm1Hcm91cFwiICpuZ0lmPVwiIUVkaXRpbmdNb2RpZmllclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3ByZWFkXCIgKm5nSWY9XCIhRWRpdGluZ01vZGlmaWVyXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFwcHMtYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJhY2NlbnRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiQ3JlYXRlTmV3TW9kaWZpZXIoKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY29sb3I9XCJwcmltYXJ5XCI+YWRkPC9tYXQtaWNvbj4gQ3JlYXRlIE5ld1xuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ByZWFkXCI+XG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIkVudGVycHJpc2VzTW9kaWZpZXJMb29rdXBzPy5sZW5ndGggPD0gMFwiPlxuICAgICAgICAgICAgICAgICAgICA8aDI+XG4gICAgICAgICAgICAgICAgICAgICAgICBObyBERlMgbW9kaWZpZXJzIGNyZWF0ZWQsIGNyZWF0ZSB5b3VyIGZpcnN0IERGU1xuICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZpZXIuXG4gICAgICAgICAgICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiRW50ZXJwcmlzZXNNb2RpZmllckxvb2t1cHM/Lmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8aDI+REZTIE1vZGlmaWVyczwvaDI+IC0tPlxuXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5Nb2RpZmllcnM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cIm11bHRpU2VsZWN0XCIgbXVsdGlwbGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QtdHJpZ2dlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE11bHRpU2VsZWN0Rm9ybUNvbnRyb2w/LnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBNdWx0aVNlbGVjdEZvcm1Db250cm9sPy52YWx1ZVswXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNdWx0aVNlbGVjdEZvcm1Db250cm9sPy52YWx1ZT8ubGVuZ3RoID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtb2RpZmllci1zZWxlY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoK3t7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTXVsdGlTZWxlY3RGb3JtQ29udHJvbD8udmFsdWU/Lmxlbmd0aCAtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE11bHRpU2VsZWN0Rm9ybUNvbnRyb2w/LnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8ubGVuZ3RoID09PSAyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gXCJvdGhlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJvdGhlcnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3QtdHJpZ2dlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG1vZGlmaWVyTG9va3VwIG9mIEVudGVycHJpc2VzTW9kaWZpZXJMb29rdXBzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNb2RpZmllcnNbbW9kaWZpZXJMb29rdXBdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBtb2RpZmllclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJtb2RpZmllckxvb2t1cFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3sgbW9kaWZpZXI/Lk5hbWUgfX08L21hdC1vcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBmeExheW91dD1cInJvdyB3cmFwXCIgZnhMYXlvdXQubHQtbWQ9XCJjb2x1bW5cIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgZnhGbGV4Lmx0LW1kPVwiMTAwJVwiXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBtb2RpZmllckxvb2t1cCBvZiBNb2RpZmllckxvb2t1cHNcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJNb2RpZmllcnNbbW9kaWZpZXJMb29rdXBdOyBsZXQgbW9kaWZpZXJcIj5cblxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1hdC1zdWJoZWFkaW5nLTJcIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJtb2RpZmllci5OYW1lXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgbW9kaWZpZXIuTmFtZSB8fCBtb2RpZmllci5Mb29rdXAgfX1cblxuXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzcHJlYWRcIlxuICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgUHJvamVjdD8uTW9kaWZpZXJMb29rdXBzLmluZGV4T2YobW9kaWZpZXJMb29rdXApID49IDBcbiAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiU2V0VXNlRm9yUHJvamVjdChtb2RpZmllckxvb2t1cCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiJ1VzZSBmb3IgJyArIExldmVsXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICBcblxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0YS1hcHAtYWN0aW9uc1wiPlxuXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cImFjY2VudFwiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlNldEVkaXRpbmdNb2RpZmllcihtb2RpZmllckxvb2t1cClcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFRvb2x0aXA9XCJFZGl0IERGUyBNb2RpZmllclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3NcbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJ3YXJuXCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiRGVsZXRlTW9kaWZpZXIobW9kaWZpZXJMb29rdXAsIG1vZGlmaWVyLk5hbWUpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRUb29sdGlwPVwiRGVsZXRlIHt7IG1vZGlmaWVyLk5hbWUgfX1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZV9mb3JldmVyXG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+IC0tPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZm9ybT5cbjwvZGl2PlxuIl19
298
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGZzLW1vZGlmaWVycy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi9zcmMvbGliL2NvbnRyb2xzL2Rmcy1tb2RpZmllcnMtZm9ybS9kZnMtbW9kaWZpZXJzLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvZGZzLW1vZGlmaWVycy1mb3JtL2Rmcy1tb2RpZmllcnMtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBSUgsVUFBVSxHQUNiLE1BQU0sZ0JBQWdCLENBQUM7QUFJeEIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7Ozs7OztBQWNuQyxNQUFNLE9BQU8seUJBQXlCO0lBb0lsQyxnQkFBZ0I7SUFDaEIsWUFDYyxRQUFxQixFQUNyQixXQUFvQyxFQUNwQyxNQUFrQjtRQUZsQixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3JCLGdCQUFXLEdBQVgsV0FBVyxDQUF5QjtRQUNwQyxXQUFNLEdBQU4sTUFBTSxDQUFZO1FBRTVCLHFDQUFxQztJQUN6QyxDQUFDO0lBekdELDhCQUE4QjtJQUM5QiwwREFBMEQ7SUFDMUQsSUFBSTtJQUVKLElBQVcsa0JBQWtCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN0QixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUztZQUNyQixDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUM7WUFDNUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUVY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Q0FBQyxPQUFPLEVBQUUsVUFBVSxJQUFJLFNBQVMsQ0FBQyxDQUMxRCxDQUFDO2dCQUNGLE1BQU07U0FDYjtJQUNMLENBQUM7O3NIQXhYUSx5QkFBeUI7MEdBQXpCLHlCQUF5QixzVUN4QnRDLHc1WEFrVUE7MkZEMVNhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDSSx1QkFBdUI7aUtBa0IxQixxQkFBcUI7c0JBRDNCLEtBQUs7dUJBQUMseUJBQXlCO2dCQVN6QixpQkFBaUI7c0JBRHZCLEtBQUs7dUJBQUMsb0JBQW9CO2dCQUlwQixPQUFPO3NCQURiLEtBQUs7dUJBQUMsU0FBUztnQkFJVCxhQUFhO3NCQURuQixLQUFLO3VCQUFDLGdCQUFnQjtnQkFLaEIsS0FBSztzQkFEWCxLQUFLO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RDb250cm9sLFxuICAgIEZvcm1CdWlsZGVyLFxuICAgIEZvcm1Hcm91cCxcbiAgICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZUNoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XG5cbmltcG9ydCB7IEVhQ0RGU01vZGlmaWVyLCBFYUNQcm9qZWN0QXNDb2RlIH0gZnJvbSAnQHNlbWFudGljanMvY29tbW9uJztcbmltcG9ydCB7IEd1aWQgfSBmcm9tICdAbGN1L2NvbW1vbic7XG5pbXBvcnQgeyBNYXRTZWxlY3RDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHtcbiAgICBFYUNTZXJ2aWNlLFxuICAgIFNhdmVERlNNb2RpZmllckV2ZW50UmVxdWVzdCxcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMvZWFjLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25zRmxvd1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hcHBsaWNhdGlvbnMtZmxvdy5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlL2FwcGxpY2F0aW9ucy1mbG93LnN0YXRlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsY3UtZGZzLW1vZGlmaWVyLWZvcm0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kZnMtbW9kaWZpZXJzLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2Rmcy1tb2RpZmllcnMtZm9ybS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBERlNNb2RpZmllcnNGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvLyAgRmllbGRzXG5cbiAgICAvLyAgUHJvcGVydGllc1xuICAgIHB1YmxpYyBDdXJyZW50VHlwZTogc3RyaW5nO1xuXG4gICAgLy8gQElucHV0KCdkYXRhJylcbiAgICAvLyBwdWJsaWMgRGF0YToge1xuICAgIC8vICAgTW9kaWZpZXJzOiB7IFtsb29rdXA6IHN0cmluZ106IEVhQ0RGU01vZGlmaWVyIH07XG4gICAgLy8gICBQcm9qZWN0OiBFYUNQcm9qZWN0QXNDb2RlO1xuICAgIC8vICAgUHJvamVjdExvb2t1cDogc3RyaW5nO1xuICAgIC8vIH07XG5cbiAgICBASW5wdXQoJ2VkaXRpbmctbW9kaWZpZXItbG9va3VwJylcbiAgICBwdWJsaWMgRWRpdGluZ01vZGlmaWVyTG9va3VwOiBzdHJpbmc7XG5cbiAgICAvKipTcGVjaWZpYyBNb2RpZmllcnMgZm9yIGVpdGhlciB0aGUgcHJvamVjdCBvciBhcHBsaWFjdGlvbiAqL1xuXG4gICAgLy8gQElucHV0KCdtb2RpZmllcnMnKVxuICAgIC8vIHB1YmxpYyBNb2RpZmllcnM6ICB7IFtsb29rdXA6IHN0cmluZ106IEVhQ0RGU01vZGlmaWVyIH07XG5cbiAgICBASW5wdXQoJ2FwcGxpY2F0aW9uLWxvb2t1cCcpXG4gICAgcHVibGljIEFwcGxpY2F0aW9uTG9va3VwOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoJ3Byb2plY3QnKVxuICAgIHB1YmxpYyBQcm9qZWN0OiBFYUNQcm9qZWN0QXNDb2RlO1xuXG4gICAgQElucHV0KCdwcm9qZWN0LWxvb2t1cCcpXG4gICAgcHVibGljIFByb2plY3RMb29rdXA6IHN0cmluZztcblxuICAgIC8qKndoaWNoIGxldmVsIGlzIHRoZSBkZnMgbW9kaWZpZXIgYmVpbmcgZWRpdGVkIGVudCBwcm9qZWN0IG9yIGFwcCAqL1xuICAgIEBJbnB1dCgnbGV2ZWwnKVxuICAgIHB1YmxpYyBMZXZlbDogc3RyaW5nO1xuXG4gICAgLy8gcHVibGljIGdldCBEZXRhaWxzKCk6IGFueSB7XG4gICAgLy8gICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodGhpcy5FZGl0aW5nTW9kaWZpZXI/LkRldGFpbHMpO1xuICAgIC8vIH1cblxuICAgIHB1YmxpYyBnZXQgRGV0YWlsc0Zvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgICAgIHJldHVybiB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwPy5jb250cm9scy5kZXRhaWxzO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgRWRpdGluZ01vZGlmaWVyKCk6IEVhQ0RGU01vZGlmaWVyIHtcbiAgICAgICAgbGV0IG1kZnIgPSB0aGlzLk1vZGlmaWVyc1xuICAgICAgICAgICAgPyB0aGlzLk1vZGlmaWVyc1t0aGlzLkVkaXRpbmdNb2RpZmllckxvb2t1cF1cbiAgICAgICAgICAgIDogbnVsbDtcblxuICAgICAgICBpZiAobWRmciA9PSBudWxsICYmIHRoaXMuRWRpdGluZ01vZGlmaWVyTG9va3VwKSB7XG4gICAgICAgICAgICBtZGZyID0ge307XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbWRmcjtcbiAgICB9XG5cbiAgICAvLyBwdWJsaWMgRWRpdGluZ01vZGlmaWVyTG9va3VwOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgZ2V0IEVuYWJsZWRGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgICAgICByZXR1cm4gdGhpcy5Nb2RpZmllckZvcm1Hcm91cD8uY29udHJvbHMuZW5hYmxlZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IEVudGVycHJpc2VzTW9kaWZpZXJMb29rdXBzKCk6IEFycmF5PHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5Nb2RpZmllcnMgfHwge30pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgTG9jYXRpb25Gb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgICAgICByZXR1cm4gdGhpcy5Nb2RpZmllckZvcm1Hcm91cD8uY29udHJvbHMubG9jYXRpb247XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBNb2RpZmllcnMoKTogeyBbbG9va3VwOiBzdHJpbmddOiBFYUNERlNNb2RpZmllciB9IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuU3RhdGU/LkVhQz8uTW9kaWZpZXJzO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgTW9kaWZpZXJMb29rdXBzKCk6IEFycmF5PHN0cmluZz4ge1xuICAgICAgICBpZiAodGhpcy5Qcm9qZWN0TG9va3VwKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5TdGF0ZT8uRWFDPy5Qcm9qZWN0c1t0aGlzLlByb2plY3RMb29rdXBdXG4gICAgICAgICAgICAgICAgPy5Nb2RpZmllckxvb2t1cHM7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5BcHBsaWNhdGlvbkxvb2t1cCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuU3RhdGUuRWFDPy5BcHBsaWNhdGlvbnNbdGhpcy5BcHBsaWNhdGlvbkxvb2t1cF1cbiAgICAgICAgICAgICAgICA/Lk1vZGlmaWVyTG9va3VwcztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLk1vZGlmaWVycyB8fCB7fSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IE11bHRpU2VsZWN0Rm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuTW9kaWZpZXJTZWxlY3RGb3JtR3JvdXA/LmNvbnRyb2xzLm11bHRpU2VsZWN0O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgTmFtZUZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgICAgIHJldHVybiB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwPy5jb250cm9scy5uYW1lO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgUGF0aEZpbHRlckZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgICAgIHJldHVybiB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwPy5jb250cm9scy5wYXRoRmlsdGVyO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgUHJpb3JpdHlGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgICAgICByZXR1cm4gdGhpcy5Nb2RpZmllckZvcm1Hcm91cD8uY29udHJvbHMucHJpb3JpdHk7XG4gICAgfVxuXG4gICAgLy8gcHVibGljIGdldCBQcm9qZWN0KCk6IEVhQ1Byb2plY3RBc0NvZGUge1xuICAgIC8vICAgcmV0dXJuIHRoaXMuRGF0YS5Qcm9qZWN0IHx8IHt9O1xuICAgIC8vIH1cblxuICAgIHB1YmxpYyBnZXQgU2NyaXB0Rm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXA/LmNvbnRyb2xzLnNjcmlwdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IFNjcmlwdElERm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXA/LmNvbnRyb2xzLnNjcmlwdElkO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgU2NyaXB0VHlwZUZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgICAgIHJldHVybiB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwPy5jb250cm9scy5zY3JpcHRUeXBlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgU3RhdGVEYXRhVG9rZW5Gb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgICAgICByZXR1cm4gdGhpcy5Nb2RpZmllckZvcm1Hcm91cD8uY29udHJvbHMuc3RhdGVEYXRhVG9rZW47XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBTdGF0ZSgpOiBBcHBsaWNhdGlvbnNGbG93U3RhdGUge1xuICAgICAgICByZXR1cm4gdGhpcy5lYWNTdmMuU3RhdGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBUeXBlRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXA/LmNvbnRyb2xzLnR5cGU7XG4gICAgfVxuXG4gICAgcHVibGljIE1vZGlmaWVyRm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgICBwdWJsaWMgTW9kaWZpZXJTZWxlY3RGb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICAgIC8vICBDb25zdHJ1Y3RvcnNcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIGZvcm1CbGRyOiBGb3JtQnVpbGRlcixcbiAgICAgICAgcHJvdGVjdGVkIGFwcHNGbG93U3ZjOiBBcHBsaWNhdGlvbnNGbG93U2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIGVhY1N2YzogRWFDU2VydmljZVxuICAgICkge1xuICAgICAgICAvLyB0aGlzLkVkaXRpbmdNb2RpZmllckxvb2t1cCA9IG51bGw7XG4gICAgfVxuXG4gICAgLy8gIExpZmUgQ3ljbGVcbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLkxldmVsID09PSAnZW50ZXJwcmlzZScgJiYgIXRoaXMuRWRpdGluZ01vZGlmaWVyTG9va3VwKSB7XG4gICAgICAgICAgICB0aGlzLkNyZWF0ZU5ld01vZGlmaWVyKCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5FZGl0aW5nTW9kaWZpZXJMb29rdXApIHtcbiAgICAgICAgICAgIHRoaXMuc2V0dXBNb2RpZmllckZvcm0oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2V0dXBNb2RpZmllclNlbGVjdEZvcm0oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vICBBUEkgTWV0aG9kc1xuICAgIHB1YmxpYyBDcmVhdGVOZXdNb2RpZmllcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5TZXRFZGl0aW5nTW9kaWZpZXIoR3VpZC5DcmVhdGVSYXcoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIERlbGV0ZU1vZGlmaWVyKG1vZGlmaWVyTG9va3VwOiBzdHJpbmcsIG1vZGlmaWVyTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWFjU3ZjLkRlbGV0ZU1vZGlmaWVyKG1vZGlmaWVyTG9va3VwLCBtb2RpZmllck5hbWUpLnRoZW4oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgU2F2ZU1vZGlmaWVyRm9yQWxsUHJvamVjdHMocHJvamVjdExvb2t1cHM6IEFycmF5PHN0cmluZz4pIHtcbiAgICAgICAgY29uc3Qgc2F2ZU1kZnJSZXE6IFNhdmVERlNNb2RpZmllckV2ZW50UmVxdWVzdCA9IHtcbiAgICAgICAgICAgIE1vZGlmaWVyOiB7XG4gICAgICAgICAgICAgICAgLi4udGhpcy5FZGl0aW5nTW9kaWZpZXIsXG4gICAgICAgICAgICAgICAgTmFtZTogdGhpcy5OYW1lRm9ybUNvbnRyb2wudmFsdWUsXG4gICAgICAgICAgICAgICAgRW5hYmxlZDogdGhpcy5FbmFibGVkRm9ybUNvbnRyb2wudmFsdWUsXG4gICAgICAgICAgICAgICAgUGF0aEZpbHRlclJlZ2V4OiB0aGlzLlBhdGhGaWx0ZXJGb3JtQ29udHJvbC52YWx1ZSxcbiAgICAgICAgICAgICAgICBQcmlvcml0eTogdGhpcy5Qcmlvcml0eUZvcm1Db250cm9sLnZhbHVlLFxuICAgICAgICAgICAgICAgIFR5cGU6IHRoaXMuQ3VycmVudFR5cGUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgTW9kaWZpZXJMb29rdXBzOiBbdGhpcy5FZGl0aW5nTW9kaWZpZXJMb29rdXBdLFxuICAgICAgICAgICAgUHJvamVjdExvb2t1cHM6IHByb2plY3RMb29rdXBzLFxuICAgICAgICB9O1xuXG4gICAgICAgIGxldCBkZXRhaWxzID0gdGhpcy5nZXREZXRhaWxzKCk7XG5cbiAgICAgICAgc2F2ZU1kZnJSZXEuTW9kaWZpZXIuRGV0YWlscyA9IEpTT04uc3RyaW5naWZ5KGRldGFpbHMpO1xuXG4gICAgICAgIHRoaXMuZWFjU3ZjLlNhdmVERlNNb2RpZmllcihzYXZlTWRmclJlcSk7XG4gICAgfVxuXG4gICAgcHVibGljIFNhdmVNb2RpZmllckZvckFwcGxpY2F0aW9uKGFwcGxpY2F0aW9uTG9va3VwOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuTW9kaWZpZXJGb3JtR3JvdXApIHtcbiAgICAgICAgICAgIGNvbnN0IHNhdmVNZGZyUmVxOiBTYXZlREZTTW9kaWZpZXJFdmVudFJlcXVlc3QgPSB7XG4gICAgICAgICAgICAgICAgTW9kaWZpZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5FZGl0aW5nTW9kaWZpZXIsXG4gICAgICAgICAgICAgICAgICAgIE5hbWU6IHRoaXMuTmFtZUZvcm1Db250cm9sLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICBFbmFibGVkOiB0aGlzLkVuYWJsZWRGb3JtQ29udHJvbC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgUGF0aEZpbHRlclJlZ2V4OiB0aGlzLlBhdGhGaWx0ZXJGb3JtQ29udHJvbC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgUHJpb3JpdHk6IHRoaXMuUHJpb3JpdHlGb3JtQ29udHJvbC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgVHlwZTogdGhpcy5DdXJyZW50VHlwZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIE1vZGlmaWVyTG9va3VwczogW3RoaXMuRWRpdGluZ01vZGlmaWVyTG9va3VwXSxcbiAgICAgICAgICAgICAgICBBcHBsaWNhdGlvbkxvb2t1cDogYXBwbGljYXRpb25Mb29rdXAsXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBsZXQgZGV0YWlscyA9IHRoaXMuZ2V0RGV0YWlscygpO1xuXG4gICAgICAgICAgICBzYXZlTWRmclJlcS5Nb2RpZmllci5EZXRhaWxzID0gSlNPTi5zdHJpbmdpZnkoZGV0YWlscyk7XG5cbiAgICAgICAgICAgIHRoaXMuZWFjU3ZjLlNhdmVERlNNb2RpZmllcihzYXZlTWRmclJlcSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5Nb2RpZmllclNlbGVjdEZvcm1Hcm91cCkge1xuICAgICAgICAgICAgY29uc3Qgc2F2ZU1kZnJSZXE6IFNhdmVERlNNb2RpZmllckV2ZW50UmVxdWVzdCA9IHtcbiAgICAgICAgICAgICAgICBNb2RpZmllckxvb2t1cHM6IHRoaXMuTXVsdGlTZWxlY3RGb3JtQ29udHJvbC52YWx1ZSxcbiAgICAgICAgICAgICAgICBBcHBsaWNhdGlvbkxvb2t1cDogYXBwbGljYXRpb25Mb29rdXAsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGhpcy5lYWNTdmMuU2F2ZURGU01vZGlmaWVyKHNhdmVNZGZyUmVxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICogU2F2ZXMgYSBtb2RpZmllciwgc2F2ZXMgYSBtb2RpZmllciB0byBhIHByb2plY3RcbiAgICAgKi9cbiAgICBwdWJsaWMgU2F2ZU1vZGlmaWVyKHByb2plY3RMb29rdXA6IHN0cmluZyA9IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuTW9kaWZpZXJGb3JtR3JvdXApIHtcbiAgICAgICAgICAgIGNvbnN0IHNhdmVNZGZyUmVxOiBTYXZlREZTTW9kaWZpZXJFdmVudFJlcXVlc3QgPSB7XG4gICAgICAgICAgICAgICAgTW9kaWZpZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5FZGl0aW5nTW9kaWZpZXIsXG4gICAgICAgICAgICAgICAgICAgIE5hbWU6IHRoaXMuTmFtZUZvcm1Db250cm9sLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICBFbmFibGVkOiB0aGlzLkVuYWJsZWRGb3JtQ29udHJvbC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgUGF0aEZpbHRlclJlZ2V4OiB0aGlzLlBhdGhGaWx0ZXJGb3JtQ29udHJvbC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgUHJpb3JpdHk6IHRoaXMuUHJpb3JpdHlGb3JtQ29udHJvbC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgVHlwZTogdGhpcy5DdXJyZW50VHlwZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIE1vZGlmaWVyTG9va3VwczogW3RoaXMuRWRpdGluZ01vZGlmaWVyTG9va3VwXSxcbiAgICAgICAgICAgICAgICBQcm9qZWN0TG9va3VwczogW3Byb2plY3RMb29rdXBdLFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgbGV0IGRldGFpbHMgPSB0aGlzLmdldERldGFpbHMoKTtcblxuICAgICAgICAgICAgc2F2ZU1kZnJSZXEuTW9kaWZpZXIuRGV0YWlscyA9IEpTT04uc3RyaW5naWZ5KGRldGFpbHMpO1xuXG4gICAgICAgICAgICB0aGlzLmVhY1N2Yy5TYXZlREZTTW9kaWZpZXIoc2F2ZU1kZnJSZXEpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuTW9kaWZpZXJTZWxlY3RGb3JtR3JvdXApIHtcbiAgICAgICAgICAgIGNvbnN0IHNhdmVNZGZyUmVxOiBTYXZlREZTTW9kaWZpZXJFdmVudFJlcXVlc3QgPSB7XG4gICAgICAgICAgICAgICAgTW9kaWZpZXJMb29rdXBzOiB0aGlzLk11bHRpU2VsZWN0Rm9ybUNvbnRyb2wudmFsdWUsXG4gICAgICAgICAgICAgICAgUHJvamVjdExvb2t1cHM6IFtwcm9qZWN0TG9va3VwXSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB0aGlzLmVhY1N2Yy5TYXZlREZTTW9kaWZpZXIoc2F2ZU1kZnJSZXEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIFNldEVkaXRpbmdNb2RpZmllcihtb2RpZmllckxvb2t1cDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuRWRpdGluZ01vZGlmaWVyTG9va3VwID0gbW9kaWZpZXJMb29rdXA7XG5cbiAgICAgICAgdGhpcy5zZXR1cE1vZGlmaWVyRm9ybSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBTZXRVc2VGb3JQcm9qZWN0KFxuICAgICAgICBtb2RpZmllckxvb2t1cDogc3RyaW5nLFxuICAgICAgICBjaGFuZ2U6IE1hdFNsaWRlVG9nZ2xlQ2hhbmdlXG4gICAgKTogdm9pZCB7XG4gICAgICAgIHRoaXMuU2V0RWRpdGluZ01vZGlmaWVyKG1vZGlmaWVyTG9va3VwKTtcblxuICAgICAgICB0aGlzLlNhdmVNb2RpZmllcih0aGlzLlByb2plY3RMb29rdXApO1xuICAgIH1cblxuICAgIHB1YmxpYyBUeXBlQ2hhbmdlZChldmVudDogTWF0U2VsZWN0Q2hhbmdlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuQ3VycmVudFR5cGUgPSBldmVudC52YWx1ZTtcblxuICAgICAgICB0aGlzLnNldHVwVHlwZUZvcm0oKTtcbiAgICB9XG5cbiAgICAvLyAgSGVscGVyc1xuXG4gICAgcHJvdGVjdGVkIGdldERldGFpbHMoKTogYW55IHtcbiAgICAgICAgY29uc3QgZGV0YWlscyA9IHt9O1xuXG4gICAgICAgIHN3aXRjaCAodGhpcy5DdXJyZW50VHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnTENVLlJ1bnRpbWUuQXBwbGljYXRpb25zLk1vZGlmaWVycy5IVE1MQmFzZURGU01vZGlmaWVyTWFuYWdlciwgTENVLlJ1bnRpbWUsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsJzpcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAnTENVLlJ1bnRpbWUuQXBwbGljYXRpb25zLk1vZGlmaWVycy5MQ1VSZWdERlNNb2RpZmllck1hbmFnZXIsIExDVS5SdW50aW1lLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbCc6XG4gICAgICAgICAgICAgICAgZGV0YWlsc1snU3RhdGVEYXRhVG9rZW4nXSA9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuU3RhdGVEYXRhVG9rZW5Gb3JtQ29udHJvbC52YWx1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAnTENVLlJ1bnRpbWUuQXBwbGljYXRpb25zLk1vZGlmaWVycy5UaGlyZFBhcnR5TGlicmFyeURGU01vZGlmaWVyTWFuYWdlciwgTENVLlJ1bnRpbWUsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsJzpcbiAgICAgICAgICAgICAgICBkZXRhaWxzWydMb2NhdGlvbiddID0gdGhpcy5Mb2NhdGlvbkZvcm1Db250cm9sLnZhbHVlO1xuXG4gICAgICAgICAgICAgICAgZGV0YWlsc1snU2NyaXB0J10gPSB0aGlzLlNjcmlwdEZvcm1Db250cm9sLnZhbHVlO1xuXG4gICAgICAgICAgICAgICAgZGV0YWlsc1snU2NyaXB0VHlwZSddID0gdGhpcy5TY3JpcHRUeXBlRm9ybUNvbnRyb2wudmFsdWU7XG5cbiAgICAgICAgICAgICAgICBkZXRhaWxzWydTY3JpcHRJRCddID0gdGhpcy5TY3JpcHRJREZvcm1Db250cm9sLnZhbHVlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkZXRhaWxzO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzZXR1cE1vZGlmaWVyU2VsZWN0Rm9ybSgpIHtcbiAgICAgICAgdGhpcy5Nb2RpZmllclNlbGVjdEZvcm1Hcm91cCA9IHRoaXMuZm9ybUJsZHIuZ3JvdXAoe1xuICAgICAgICAgICAgbXVsdGlTZWxlY3Q6IFt0aGlzLk1vZGlmaWVyTG9va3VwcyA/IHRoaXMuTW9kaWZpZXJMb29rdXBzIDogW11dLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2V0dXBNb2RpZmllckZvcm0oKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLkVkaXRpbmdNb2RpZmllciAhPSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLkN1cnJlbnRUeXBlID0gdGhpcy5FZGl0aW5nTW9kaWZpZXI/LlR5cGU7XG5cbiAgICAgICAgICAgIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXAgPSB0aGlzLmZvcm1CbGRyLmdyb3VwKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBbdGhpcy5FZGl0aW5nTW9kaWZpZXI/Lk5hbWUsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgICAgICAgICAgIHR5cGU6IFt0aGlzLkN1cnJlbnRUeXBlLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICAgICAgICAgICBwcmlvcml0eTogW1xuICAgICAgICAgICAgICAgICAgICB0aGlzLkVkaXRpbmdNb2RpZmllcj8uUHJpb3JpdHlcbiAgICAgICAgICAgICAgICAgICAgICAgID8gdGhpcy5FZGl0aW5nTW9kaWZpZXI/LlByaW9yaXR5XG4gICAgICAgICAgICAgICAgICAgICAgICA6IDkwMDAsXG4gICAgICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICBlbmFibGVkOiBbdGhpcy5FZGl0aW5nTW9kaWZpZXI/LkVuYWJsZWQsIFtdXSxcbiAgICAgICAgICAgICAgICBwYXRoRmlsdGVyOiBbXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuRWRpdGluZ01vZGlmaWVyPy5QYXRoRmlsdGVyUmVnZXhcbiAgICAgICAgICAgICAgICAgICAgICAgID8gdGhpcy5FZGl0aW5nTW9kaWZpZXI/LlBhdGhGaWx0ZXJSZWdleFxuICAgICAgICAgICAgICAgICAgICAgICAgOiAnKmluZGV4Lmh0bWwnLFxuICAgICAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy5zZXR1cFR5cGVGb3JtKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2V0dXBUeXBlRm9ybSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5Nb2RpZmllckZvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdzdGF0ZURhdGFUb2tlbicpO1xuXG4gICAgICAgIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgnbG9jYXRpb24nKTtcbiAgICAgICAgdGhpcy5Nb2RpZmllckZvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdzY3JpcHQnKTtcbiAgICAgICAgdGhpcy5Nb2RpZmllckZvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdzY3JpcHRJZCcpO1xuICAgICAgICB0aGlzLk1vZGlmaWVyRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woJ3NjcmlwdFR5cGUnKTtcblxuICAgICAgICBjb25zdCBkZXRhaWxzID0gSlNPTi5wYXJzZSh0aGlzLkVkaXRpbmdNb2RpZmllcj8uRGV0YWlscyB8fCAne30nKTtcblxuICAgICAgICBzd2l0Y2ggKHRoaXMuQ3VycmVudFR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ0xDVS5SdW50aW1lLkFwcGxpY2F0aW9ucy5Nb2RpZmllcnMuSFRNTEJhc2VERlNNb2RpZmllck1hbmFnZXIsIExDVS5SdW50aW1lLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbCc6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgJ0xDVS5SdW50aW1lLkFwcGxpY2F0aW9ucy5Nb2RpZmllcnMuTENVUmVnREZTTW9kaWZpZXJNYW5hZ2VyLCBMQ1UuUnVudGltZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwnOlxuICAgICAgICAgICAgICAgIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICAgICAgICAgICAgICAgJ3N0YXRlRGF0YVRva2VuJyxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKFxuICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlscz8uU3RhdGVEYXRhVG9rZW4gfHwgJ2xjdS1zdGF0ZS1jb25maWcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlICdMQ1UuUnVudGltZS5BcHBsaWNhdGlvbnMuTW9kaWZpZXJzLlRoaXJkUGFydHlMaWJyYXJ5REZTTW9kaWZpZXJNYW5hZ2VyLCBMQ1UuUnVudGltZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwnOlxuICAgICAgICAgICAgICAgIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICAgICAgICAgICAgICAgJ2xvY2F0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKGRldGFpbHM/LkxvY2F0aW9uIHx8ICdIZWFkJywgW1xuICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5Nb2RpZmllckZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgICAgICAgICAgICAgICAnc2NyaXB0JyxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKGRldGFpbHM/LlNjcmlwdCB8fCAnJywgW1xuICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5Nb2RpZmllckZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgICAgICAgICAgICAgICAnc2NyaXB0SWQnLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woZGV0YWlscz8uU2NyaXB0SUQgfHwgJycsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIHRoaXMuTW9kaWZpZXJGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICAgICAgICAgICAgICAgJ3NjcmlwdFR5cGUnLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woZGV0YWlscz8uU2NyaXB0VHlwZSB8fCAnQ29udHJvbCcpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXY+XG4gICAgPGRpdiAqbmdJZj1cIiFFZGl0aW5nTW9kaWZpZXJMb29rdXBcIj5cbiAgICAgICAgU2VsZWN0IHRoZSBtb2RpZmllcnMgeW91IHdvdWxkIGxpa2UgdG8gYXBwbHkgZnJvbSB0aGUgbGlzdCBiZWxvdywgb3JcbiAgICAgICAgY3JlYXRlIGEgbmV3IG1vZGlmaWVyLlxuICAgIDwvZGl2PlxuXG4gICAgPGZvcm1cbiAgICAgICAgW2Zvcm1Hcm91cF09XCJNb2RpZmllckZvcm1Hcm91cFwiXG4gICAgICAgIChuZ1N1Ym1pdCk9XCJTYXZlTW9kaWZpZXIoKVwiXG4gICAgICAgICpuZ0lmPVwiRWRpdGluZ01vZGlmaWVyXCJcbiAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNhcmRcIj5cbiAgICAgICAgICAgIDwhLS0gPG1hdC1jYXJkIGNsYXNzPVwic3ByZWFkXCI+IC0tPlxuICAgICAgICAgICAgPCEtLSA8bWF0LWNhcmQtaGVhZGVyPlxuICAgICAgICAgIDxtYXQtY2FyZC10aXRsZT4gREZTIE1vZGlmaWVyIDwvbWF0LWNhcmQtdGl0bGU+XG5cbiAgICAgICAgICA8ZGl2IGZ4RmxleD48L2Rpdj5cblxuICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICBtYXRUb29sdGlwPVwiQ29uZmlndXJlIG1vZGlmaWVycyBmb3IgeW91ciBERlMgZmlsZXMuXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBpbmZvX291dGxpbmVcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L21hdC1jYXJkLWhlYWRlcj4gLS0+XG5cbiAgICAgICAgICAgIDwhLS0gPG1hdC1jYXJkLWNvbnRlbnQ+IC0tPlxuXG4gICAgICAgICAgICA8IS0tIGVuZCAtLT5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidHlwZVwiXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiREZTIE1vZGlmaWVyIFR5cGVcIlxuICAgICAgICAgICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIlR5cGVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPVwiTENVLlJ1bnRpbWUuQXBwbGljYXRpb25zLk1vZGlmaWVycy5IVE1MQmFzZURGU01vZGlmaWVyTWFuYWdlciwgTENVLlJ1bnRpbWUsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgSFRNTCBCYXNlIE1vZGlmaWVyXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cblxuICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9XCJMQ1UuUnVudGltZS5BcHBsaWNhdGlvbnMuTW9kaWZpZXJzLkxDVVJlZ0RGU01vZGlmaWVyTWFuYWdlciwgTENVLlJ1bnRpbWUsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgTENVIFJlZyBNb2RpZmllclxuICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPVwiTENVLlJ1bnRpbWUuQXBwbGljYXRpb25zLk1vZGlmaWVycy5UaGlyZFBhcnR5TGlicmFyeURGU01vZGlmaWVyTWFuYWdlciwgTENVLlJ1bnRpbWUsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgVGhpcmQgUGFydHkgTGlicmFyeSBNb2RpZmllclxuICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk5hbWVcIlxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXQtZnVsbC13aWR0aFwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwcmlvcml0eVwiXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiUHJpb3JpdHlcIlxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXQtZnVsbC13aWR0aFwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwYXRoRmlsdGVyXCJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJQYXRoIEZpbHRlciAocmVnZXgpXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgIEN1cnJlbnRUeXBlID09XG4gICAgICAgICAgICAgICAgICAgICdMQ1UuUnVudGltZS5BcHBsaWNhdGlvbnMuTW9kaWZpZXJzLkxDVVJlZ0RGU01vZGlmaWVyTWFuYWdlciwgTENVLlJ1bnRpbWUsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsJ1xuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGhcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic3RhdGVEYXRhVG9rZW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTdGF0ZSBEYXRhIFRva2VuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgQ3VycmVudFR5cGUgPT1cbiAgICAgICAgICAgICAgICAgICAgJ0xDVS5SdW50aW1lLkFwcGxpY2F0aW9ucy5Nb2RpZmllcnMuVGhpcmRQYXJ0eUxpYnJhcnlERlNNb2RpZmllck1hbmFnZXIsIExDVS5SdW50aW1lLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbCdcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJsb2NhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkxvY2F0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwiTG9jYXRpb25DaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJIZWFkXCI+IEhlYWQgPC9tYXQtb3B0aW9uPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIkJvZHlcIj4gQm9keSA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGhcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic2NyaXB0SWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTY3JpcHQgSURcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGhcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInNjcmlwdFR5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTY3JpcHQgVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIkNvbnRlbnRcIj4gQ29udGVudCA8L21hdC1vcHRpb24+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiU291cmNlXCI+IFNvdXJjZSA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGhcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIlNjcmlwdFR5cGVGb3JtQ29udHJvbD8udmFsdWUgPT09ICdDb250ZW50J1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzY3JpcHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTY3JpcHQgQ29udGVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAgICAgICA+PC90ZXh0YXJlYT5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZFxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJTY3JpcHRUeXBlRm9ybUNvbnRyb2w/LnZhbHVlID09PSAnU291cmNlJ1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzY3JpcHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTY3JpcHQgVVJMXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZVxuICAgICAgICAgICAgICAgICpuZ0lmPVwiUHJvamVjdExvb2t1cFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzcHJlYWRcIlxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImVuYWJsZWRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIElzIEVuYWJsZWQ/XG4gICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICA8IS0tIDwvbWF0LWNhcmQtY29udGVudD4gLS0+XG4gICAgICAgICAgICA8IS0tIDwvbWF0LWNhcmQ+IC0tPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJzcHJlYWRcIj5cbiAgICAgIDxkaXYgZnhGbGV4PjwvZGl2PlxuXG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJTZXRFZGl0aW5nTW9kaWZpZXIobnVsbClcIj5cbiAgICAgICAgPG1hdC1pY29uPmNhbmNlbDwvbWF0LWljb24+IENhbmNlbFxuICAgICAgPC9idXR0b24+XG5cbiAgICAgIDxkaXYgZnhGbGV4PjwvZGl2PlxuXG4gICAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiIU1vZGlmaWVyRm9ybUdyb3VwLnZhbGlkIHx8ICFNb2RpZmllckZvcm1Hcm91cC5kaXJ0eVwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtaWNvbj5zYXZlPC9tYXQtaWNvbj4gU2F2ZSBERlMgTW9kaWZpZXJcbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8ZGl2IGZ4RmxleD48L2Rpdj5cbiAgICA8L2Rpdj4gLS0+XG4gICAgPC9mb3JtPlxuXG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJNb2RpZmllclNlbGVjdEZvcm1Hcm91cFwiICpuZ0lmPVwiIUVkaXRpbmdNb2RpZmllclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3ByZWFkXCIgKm5nSWY9XCIhRWRpdGluZ01vZGlmaWVyXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFwcHMtYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJhY2NlbnRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiQ3JlYXRlTmV3TW9kaWZpZXIoKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY29sb3I9XCJwcmltYXJ5XCI+YWRkPC9tYXQtaWNvbj4gQ3JlYXRlIE5ld1xuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ByZWFkXCI+XG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIkVudGVycHJpc2VzTW9kaWZpZXJMb29rdXBzPy5sZW5ndGggPD0gMFwiPlxuICAgICAgICAgICAgICAgICAgICA8aDI+XG4gICAgICAgICAgICAgICAgICAgICAgICBObyBERlMgbW9kaWZpZXJzIGNyZWF0ZWQsIGNyZWF0ZSB5b3VyIGZpcnN0IERGU1xuICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZpZXIuXG4gICAgICAgICAgICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiRW50ZXJwcmlzZXNNb2RpZmllckxvb2t1cHM/Lmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8aDI+REZTIE1vZGlmaWVyczwvaDI+IC0tPlxuXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5Nb2RpZmllcnM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cIm11bHRpU2VsZWN0XCIgbXVsdGlwbGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QtdHJpZ2dlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE11bHRpU2VsZWN0Rm9ybUNvbnRyb2w/LnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBNdWx0aVNlbGVjdEZvcm1Db250cm9sPy52YWx1ZVswXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNdWx0aVNlbGVjdEZvcm1Db250cm9sPy52YWx1ZT8ubGVuZ3RoID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtb2RpZmllci1zZWxlY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoK3t7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTXVsdGlTZWxlY3RGb3JtQ29udHJvbD8udmFsdWU/Lmxlbmd0aCAtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE11bHRpU2VsZWN0Rm9ybUNvbnRyb2w/LnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8ubGVuZ3RoID09PSAyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gXCJvdGhlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJvdGhlcnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3QtdHJpZ2dlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG1vZGlmaWVyTG9va3VwIG9mIEVudGVycHJpc2VzTW9kaWZpZXJMb29rdXBzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNb2RpZmllcnNbbW9kaWZpZXJMb29rdXBdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBtb2RpZmllclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJtb2RpZmllckxvb2t1cFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3sgbW9kaWZpZXI/Lk5hbWUgfX08L21hdC1vcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBmeExheW91dD1cInJvdyB3cmFwXCIgZnhMYXlvdXQubHQtbWQ9XCJjb2x1bW5cIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgZnhGbGV4Lmx0LW1kPVwiMTAwJVwiXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBtb2RpZmllckxvb2t1cCBvZiBNb2RpZmllckxvb2t1cHNcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJNb2RpZmllcnNbbW9kaWZpZXJMb29rdXBdOyBsZXQgbW9kaWZpZXJcIj5cblxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1hdC1zdWJoZWFkaW5nLTJcIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJtb2RpZmllci5OYW1lXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgbW9kaWZpZXIuTmFtZSB8fCBtb2RpZmllci5Mb29rdXAgfX1cblxuXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzcHJlYWRcIlxuICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgUHJvamVjdD8uTW9kaWZpZXJMb29rdXBzLmluZGV4T2YobW9kaWZpZXJMb29rdXApID49IDBcbiAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiU2V0VXNlRm9yUHJvamVjdChtb2RpZmllckxvb2t1cCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiJ1VzZSBmb3IgJyArIExldmVsXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICBcblxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0YS1hcHAtYWN0aW9uc1wiPlxuXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cImFjY2VudFwiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlNldEVkaXRpbmdNb2RpZmllcihtb2RpZmllckxvb2t1cClcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFRvb2x0aXA9XCJFZGl0IERGUyBNb2RpZmllclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3NcbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJ3YXJuXCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiRGVsZXRlTW9kaWZpZXIobW9kaWZpZXJMb29rdXAsIG1vZGlmaWVyLk5hbWUpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRUb29sdGlwPVwiRGVsZXRlIHt7IG1vZGlmaWVyLk5hbWUgfX1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZV9mb3JldmVyXG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+IC0tPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZm9ybT5cbjwvZGl2PlxuIl19
@@ -23,10 +23,10 @@ export class EditApplicationFormComponent {
23
23
  get RouteFormControl() {
24
24
  return this.ApplicationFormGroup?.controls.route;
25
25
  }
26
+ get State() {
27
+ return this.eacSvc.State;
28
+ }
26
29
  ngOnInit() {
27
- this.eacSvc.State.subscribe((state) => {
28
- this.State = state;
29
- });
30
30
  this.setupApplicationForm();
31
31
  }
32
32
  SubmitApplicationControl() {
@@ -111,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
111
111
  type: Output,
112
112
  args: ['save-form-event']
113
113
  }] } });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1hcHBsaWNhdGlvbi1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi9zcmMvbGliL2NvbnRyb2xzL2VkaXQtYXBwbGljYXRpb24tZm9ybS9lZGl0LWFwcGxpY2F0aW9uLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvZWRpdC1hcHBsaWNhdGlvbi1mb3JtL2VkaXQtYXBwbGljYXRpb24tZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFJSCxVQUFVLEdBQ2IsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFheEIsTUFBTSxPQUFPLDRCQUE0QjtJQXVDckMsWUFBc0IsUUFBcUIsRUFBWSxNQUFrQjtRQUFuRCxhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQVksV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQUNyRSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDOUIsQ0FBQztJQXZCRCxJQUFXLHNCQUFzQjtRQUM3QixPQUFPLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxRQUFRLENBQUMsV0FBVyxDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFXLGVBQWU7UUFDdEIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQztJQUNwRCxDQUFDO0lBRUQsSUFBVyxnQkFBZ0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQztJQUNyRCxDQUFDO0lBZU0sUUFBUTtR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dEI7Z0JBQ0QsY0FBYztnQkFDZCw0REFBNEQ7Z0JBQzVELHlCQUF5QjtnQkFDekIsS0FBSzthQUNSLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQzs7eUhBeEhRLDRCQUE0Qjs2R0FBNUIsNEJBQTRCLHlaQ25CekMsNjJFQTRFQTsyRkR6RGEsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNJLDJCQUEyQjsySEFNOUIsaUJBQWlCO3NCQUR2QixLQUFLO3VCQUFDLG9CQUFvQjtnQkFJcEIsWUFBWTtzQkFEbEIsS0FBSzt1QkFBQyxlQUFlO2dCQUlmLGtCQUFrQjtzQkFEeEIsS0FBSzt1QkFBQyxxQkFBcUI7Z0JBSXJCLGFBQWE7c0JBRG5CLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUlqQixhQUFhO3NCQURuQixLQUFLO3VCQUFDLGdCQUFnQjtnQkFJaEIsYUFBYTtzQkFEbkIsTUFBTTt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0Q29udHJvbCxcbiAgICBGb3JtQnVpbGRlcixcbiAgICBGb3JtR3JvdXAsXG4gICAgVmFsaWRhdG9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRWFDQXBwbGljYXRpb25Bc0NvZGUgfSBmcm9tICdAc2VtYW50aWNqcy9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBFYUNTZXJ2aWNlLFxuICAgIFNhdmVBcHBsaWNhdGlvbkFzQ29kZUV2ZW50UmVxdWVzdCxcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMvZWFjLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25zRmxvd1N0YXRlIH0gZnJvbSAnLi4vLi4vc3RhdGUvYXBwbGljYXRpb25zLWZsb3cuc3RhdGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xjdS1lZGl0LWFwcGxpY2F0aW9uLWZvcm0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lZGl0LWFwcGxpY2F0aW9uLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2VkaXQtYXBwbGljYXRpb24tZm9ybS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBFZGl0QXBwbGljYXRpb25Gb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoJ2FwcGxpY2F0aW9uLWxvb2t1cCcpXG4gICAgcHVibGljIEFwcGxpY2F0aW9uTG9va3VwOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoJ2N1cnJlbnQtcm91dGUnKVxuICAgIHB1YmxpYyBDdXJyZW50Um91dGU6IHN0cmluZztcblxuICAgIEBJbnB1dCgnZWRpdGluZy1hcHBsaWNhdGlvbicpXG4gICAgcHVibGljIEVkaXRpbmdBcHBsaWNhdGlvbjogRWFDQXBwbGljYXRpb25Bc0NvZGU7XG5cbiAgICBASW5wdXQoJ2hhcy1zYXZlLWJ1dHRvbicpXG4gICAgcHVibGljIEhhc1NhdmVCdXR0b246IGJvb2xlYW47XG5cbiAgICBASW5wdXQoJ3Byb2plY3QtbG9va3VwJylcbiAgICBwdWJsaWMgUHJvamVjdExvb2t1cDogc3RyaW5nO1xuXG4gICAgQE91dHB1dCgnc2F2ZS1mb3JtLWV2ZW50JylcbiAgICBwdWJsaWMgU2F2ZUZvcm1FdmVudDogRXZlbnRFbWl0dGVyPHt9PjtcblxuICAgIHB1YmxpYyBnZXQgRGVzY3JpcHRpb25Gb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgICAgICByZXR1cm4gdGhpcy5BcHBsaWNhdGlvbkZvcm1Hcm91cD8uY29udHJvbHMuZGVzY3JpcHRpb247XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBOYW1lRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuQXBwbGljYXRpb25Gb3JtR3JvdXA/LmNvbnRyb2xzLm5hbWU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBSb3V0ZUZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgICAgIHJldHVybiB0aGlzLkFwcGxpY2F0aW9uRm9ybUdyb3VwPy5jb250cm9scy5yb3V0ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgU3RhdGU6IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZTtcblxuICAgIC8vIHB1YmxpYyBnZXQgU3RhdGUoKTogQXBwbGljYXRpb25zRmxvd1N0YXRlIHtcbiAgICAvLyAgICAgcmV0dXJuIHRoaXMuZWFjU3ZjLlN0YXRlO1xuICAgIC8vIH1cblxuICAgIHB1YmxpYyBBcHBsaWNhdGlvbkZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGZvcm1CbGRyOiBGb3JtQnVpbGRlciwgcHJvdGVjdGVkIGVhY1N2YzogRWFDU2VydmljZSkge1xuICAgICAgICB0aGlzLlNhdmVGb3JtRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgICAgIHRoaXMuSGFzU2F2ZUJ1dHRvbiA9IHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVhY1N2Yy5TdGF0ZS5zdWJzY3JpYmUoKHN0YXRlOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuU3RhdGUgPSBzdGF0ZTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc2V0dXBBcHBsaWNhdGlvbkZvcm0oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgU3VibWl0QXBwbGljYXRpb25Db250cm9sKCkge1xuICAgICAgICBjb25zb2xlLmxvZygnYXBwbGljYXRpb24gZm9ybTogJywgdGhpcy5BcHBsaWNhdGlvbkZvcm1Hcm91cC52YWx1ZSk7XG4gICAgICAgIHRoaXMuU2F2ZUFwcGxpY2F0aW9uKCk7XG4gICAgfVxuXG4gICAgcHVibGljIFNhdmVBcHBsaWNhdGlvbigpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYXBwOiBFYUNBcHBsaWNhdGlvbkFzQ29kZSA9IHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uO1xuICAgICAgICAvLyBjb25zb2xlLmxvZyhcIkFQUD1cIiwgYXBwKTtcbiAgICAgICAgYXBwLkFwcGxpY2F0aW9uID0ge1xuICAgICAgICAgICAgTmFtZTogdGhpcy5OYW1lRm9ybUNvbnRyb2wudmFsdWUsXG4gICAgICAgICAgICBEZXNjcmlwdGlvbjogdGhpcy5EZXNjcmlwdGlvbkZvcm1Db250cm9sLnZhbHVlLFxuICAgICAgICAgICAgUHJpb3JpdHlTaGlmdDpcbiAgICAgICAgICAgICAgICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbj8uQXBwbGljYXRpb24/LlByaW9yaXR5U2hpZnQgfHwgMCxcbiAgICAgICAgfTtcblxuICAgICAgICBhcHAuTG9va3VwQ29uZmlnLlBhdGhSZWdleCA9IGAke3RoaXMuUm91dGVGb3JtQ29udHJvbC52YWx1ZX0uKmA7XG5cbiAgICAgICAgc3dpdGNoIChhcHAuUHJvY2Vzc29yLlR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ0RGUyc6XG4gICAgICAgICAgICAgICAgYXBwLlByb2Nlc3Nvci5CYXNlSHJlZiA9XG4gICAgICAgICAgICAgICAgICAgIGAke3RoaXMuUm91dGVGb3JtQ29udHJvbC52YWx1ZX0vYC5yZXBsYWNlKCcvLycsICcvJyk7XG5cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghYXBwLkxvb2t1cENvbmZpZy5QYXRoUmVnZXguc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgICAgICAgICBhcHAuTG9va3VwQ29uZmlnLlBhdGhSZWdleCA9IGAvJHthcHAuTG9va3VwQ29uZmlnLlBhdGhSZWdleH1gO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2F2ZUFwcFJlcTogU2F2ZUFwcGxpY2F0aW9uQXNDb2RlRXZlbnRSZXF1ZXN0ID0ge1xuICAgICAgICAgICAgUHJvamVjdExvb2t1cDogdGhpcy5Qcm9qZWN0TG9va3VwLFxuICAgICAgICAgICAgQXBwbGljYXRpb246IGFwcCxcbiAgICAgICAgICAgIEFwcGxpY2F0aW9uTG9va3VwOiB0aGlzLkFwcGxpY2F0aW9uTG9va3VwLFxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnNvbGUubG9nKCdwcm9jZXNzb3IgZGV0YWlscyBiZWluZyBzdWJtaXR0ZWQ6ICcsIGFwcC5Qcm9jZXNzb3IpO1xuXG4gICAgICAgIHRoaXMuZWFjU3ZjLlNhdmVBcHBsaWNhdGlvbkFzQ29kZShzYXZlQXBwUmVxKS50aGVuKChyZXMpID0+IHtcbiAgICAgICAgICAgIHRoaXMuU2F2ZUZvcm1FdmVudC5lbWl0KHJlcyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vSEVMUEVSU1xuICAgIHByb3RlY3RlZCBzZXR1cEFwcGxpY2F0aW9uRm9ybSgpIHtcbiAgICAgICAgaWYgKHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uICE9IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuQXBwbGljYXRpb25Gb3JtR3JvdXAgPSB0aGlzLmZvcm1CbGRyLmdyb3VwKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBbXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkFwcGxpY2F0aW9uPy5OYW1lLFxuICAgICAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uQXBwbGljYXRpb24/LkRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgcm91dGU6IFtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5DdXJyZW50Um91dGVcbiAgICAgICAgICAgICAgICAgICAgICAgID8gdGhpcy5DdXJyZW50Um91dGVcbiAgICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uTG9va3VwQ29uZmlnPy5QYXRoUmVnZXgucmVwbGFjZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcuKicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICApIHx8ICcvJyxcbiAgICAgICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIC8vIHByaW9yaXR5OiBbXG4gICAgICAgICAgICAgICAgLy8gICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5BcHBsaWNhdGlvbj8uUHJpb3JpdHkgfHwgMTAwMDAsXG4gICAgICAgICAgICAgICAgLy8gICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICAgICAgICAgIC8vIF0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxmb3JtXG4gICAgY2xhc3M9XCJmb3JtLWNhcmRcIlxuICAgIFtmb3JtR3JvdXBdPVwiQXBwbGljYXRpb25Gb3JtR3JvdXBcIlxuICAgIChuZ1N1Ym1pdCk9XCJTdWJtaXRBcHBsaWNhdGlvbkNvbnRyb2woKVwiXG4+XG4gICAgPCEtLSA8bWF0LWNhcmQgY2xhc3M9XCJzcHJlYWQgZmxvdy1jYXJkXCI+IC0tPlxuICAgIDwhLS0gPG1hdC1jYXJkLWhlYWRlcj5cbiAgICAgICAgPG1hdC1jYXJkLXRpdGxlPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJFZGl0aW5nQXBwbGljYXRpb24/LkFwcGxpY2F0aW9uXCI+XG4gICAgICAgICAgICBFZGl0IEFwcGxpY2F0aW9uOlxuICAgICAgICAgICAge3sgRWRpdGluZ0FwcGxpY2F0aW9uLkFwcGxpY2F0aW9uPy5OYW1lIH19XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIUVkaXRpbmdBcHBsaWNhdGlvbj8uQXBwbGljYXRpb25cIj5cbiAgICAgICAgICAgIENyZWF0ZSBhbiBBcHBsaWNhdGlvblxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L21hdC1jYXJkLXRpdGxlPlxuICAgICAgPC9tYXQtY2FyZC1oZWFkZXI+IC0tPlxuXG4gICAgPCEtLSA8bWF0LWNhcmQtY29udGVudD4gLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIlN0YXRlPy5Mb2FkaW5nXCI+XG4gICAgICAgIDxza2VsZXRvbi1ibG9jayBjbGFzcz1cInMtYmxvY2tcIiBlZmZlY3Q9XCJ3YXZlXCI+PC9za2VsZXRvbi1ibG9jaz5cblxuICAgICAgICA8c2tlbGV0b24tYmxvY2sgY2xhc3M9XCJzLWJsb2NrXCIgZWZmZWN0PVwid2F2ZVwiPjwvc2tlbGV0b24tYmxvY2s+XG5cbiAgICAgICAgPHNrZWxldG9uLWJsb2NrIGNsYXNzPVwicy1ibG9ja1wiIGVmZmVjdD1cIndhdmVcIj48L3NrZWxldG9uLWJsb2NrPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFTdGF0ZT8uTG9hZGluZ1wiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXQtZnVsbC13aWR0aFwiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk5hbWVcIlxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIlxuICAgICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICByb3dzPVwiM1wiXG4gICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgID48L3RleHRhcmVhPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiUm91dGVcIlxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInJvdXRlXCJcbiAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwhLS0gPC9tYXQtY2FyZC1jb250ZW50PiAtLT5cbiAgICA8IS0tIDxtYXQtY2FyZC1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XG5cbiAgICAgICAgPGJ1dHRvbiBcbiAgICAgICAgKm5nSWY9XCJIYXNTYXZlQnV0dG9uICYmICFTdGF0ZT8uTG9hZGluZ1wiXG4gICAgICAgICAgbWF0LXJhaXNlZC1idXR0b24gXG4gICAgICAgICAgdHlwZT1cInN1Ym1pdFwiIFxuICAgICAgICAgIGZ4RmxleD1cIjEwMCVcIiBcbiAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIiBcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIUFwcGxpY2F0aW9uRm9ybUdyb3VwLnZhbGlkIHx8ICFBcHBsaWNhdGlvbkZvcm1Hcm91cC5kaXJ0eVwiPlxuICAgICAgICAgIDxtYXQtaWNvbj5zYXZlPC9tYXQtaWNvbj5cbiAgICAgICAgICBTYXZlXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8bGN1LWxvYWRlciAqbmdJZj1cIkhhc1NhdmVCdXR0b25cIiBbbG9hZGluZ109XCJTdGF0ZT8uTG9hZGluZ1wiPjwvbGN1LWxvYWRlcj5cbiAgICAgICAgXG4gICAgPC9tYXQtY2FyZC1hY3Rpb25zPiAtLT5cbiAgICA8IS0tIDwvbWF0LWNhcmQ+IC0tPlxuPC9mb3JtPlxuIl19
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1hcHBsaWNhdGlvbi1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi9zcmMvbGliL2NvbnRyb2xzL2VkaXQtYXBwbGljYXRpb24tZm9ybS9lZGl0LWFwcGxpY2F0aW9uLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvZWRpdC1hcHBsaWNhdGlvbi1mb3JtL2VkaXQtYXBwbGljYXRpb24tZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFJSCxVQUFVLEdBQ2IsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFheEIsTUFBTSxPQUFPLDRCQUE0QjtJQXFDckMsWUFBc0IsUUFBcUIsRUFBWSxNQUFrQjtRQUFuRCxhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQVksV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQUNyRSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDOUIsQ0FBQztJQXJCRCxJQUFXLHNCQUFzQjtRQUM3QixPQUFPLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxRQUFRLENBQUMsV0FBVyxDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFXLGVBQWU7UUFDdEIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQztJQUNwRCxDQUFDO0lBRUQsSUFBVyxnQkFBZ0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQztJQUNyRCxDQUFDO0lBRUQsSUFBVyxL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UixDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7O3lIQW5IUSw0QkFBNEI7NkdBQTVCLDRCQUE0Qix5WkNuQnpDLDYyRUE0RUE7MkZEekRhLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDSSwyQkFBMkI7MkhBTTlCLGlCQUFpQjtzQkFEdkIsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBSXBCLFlBQVk7c0JBRGxCLEtBQUs7dUJBQUMsZUFBZTtnQkFJZixrQkFBa0I7c0JBRHhCLEtBQUs7dUJBQUMscUJBQXFCO2dCQUlyQixhQUFhO3NCQURuQixLQUFLO3VCQUFDLGlCQUFpQjtnQkFJakIsYUFBYTtzQkFEbkIsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBSWhCLGFBQWE7c0JBRG5CLE1BQU07dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdENvbnRyb2wsXG4gICAgRm9ybUJ1aWxkZXIsXG4gICAgRm9ybUdyb3VwLFxuICAgIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEVhQ0FwcGxpY2F0aW9uQXNDb2RlIH0gZnJvbSAnQHNlbWFudGljanMvY29tbW9uJztcbmltcG9ydCB7XG4gICAgRWFDU2VydmljZSxcbiAgICBTYXZlQXBwbGljYXRpb25Bc0NvZGVFdmVudFJlcXVlc3QsXG59IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VhYy5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlL2FwcGxpY2F0aW9ucy1mbG93LnN0YXRlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsY3UtZWRpdC1hcHBsaWNhdGlvbi1mb3JtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWRpdC1hcHBsaWNhdGlvbi1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9lZGl0LWFwcGxpY2F0aW9uLWZvcm0uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRWRpdEFwcGxpY2F0aW9uRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCdhcHBsaWNhdGlvbi1sb29rdXAnKVxuICAgIHB1YmxpYyBBcHBsaWNhdGlvbkxvb2t1cDogc3RyaW5nO1xuXG4gICAgQElucHV0KCdjdXJyZW50LXJvdXRlJylcbiAgICBwdWJsaWMgQ3VycmVudFJvdXRlOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoJ2VkaXRpbmctYXBwbGljYXRpb24nKVxuICAgIHB1YmxpYyBFZGl0aW5nQXBwbGljYXRpb246IEVhQ0FwcGxpY2F0aW9uQXNDb2RlO1xuXG4gICAgQElucHV0KCdoYXMtc2F2ZS1idXR0b24nKVxuICAgIHB1YmxpYyBIYXNTYXZlQnV0dG9uOiBib29sZWFuO1xuXG4gICAgQElucHV0KCdwcm9qZWN0LWxvb2t1cCcpXG4gICAgcHVibGljIFByb2plY3RMb29rdXA6IHN0cmluZztcblxuICAgIEBPdXRwdXQoJ3NhdmUtZm9ybS1ldmVudCcpXG4gICAgcHVibGljIFNhdmVGb3JtRXZlbnQ6IEV2ZW50RW1pdHRlcjx7fT47XG5cbiAgICBwdWJsaWMgZ2V0IERlc2NyaXB0aW9uRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuQXBwbGljYXRpb25Gb3JtR3JvdXA/LmNvbnRyb2xzLmRlc2NyaXB0aW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgTmFtZUZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgICAgIHJldHVybiB0aGlzLkFwcGxpY2F0aW9uRm9ybUdyb3VwPy5jb250cm9scy5uYW1lO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgUm91dGVGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgICAgICByZXR1cm4gdGhpcy5BcHBsaWNhdGlvbkZvcm1Hcm91cD8uY29udHJvbHMucm91dGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBTdGF0ZSgpOiBBcHBsaWNhdGlvbnNGbG93U3RhdGUge1xuICAgICAgICByZXR1cm4gdGhpcy5lYWNTdmMuU3RhdGU7XG4gICAgfVxuXG4gICAgcHVibGljIEFwcGxpY2F0aW9uRm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZm9ybUJsZHI6IEZvcm1CdWlsZGVyLCBwcm90ZWN0ZWQgZWFjU3ZjOiBFYUNTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMuU2F2ZUZvcm1FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICAgICAgdGhpcy5IYXNTYXZlQnV0dG9uID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0dXBBcHBsaWNhdGlvbkZvcm0oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgU3VibWl0QXBwbGljYXRpb25Db250cm9sKCkge1xuICAgICAgICBjb25zb2xlLmxvZygnYXBwbGljYXRpb24gZm9ybTogJywgdGhpcy5BcHBsaWNhdGlvbkZvcm1Hcm91cC52YWx1ZSk7XG4gICAgICAgIHRoaXMuU2F2ZUFwcGxpY2F0aW9uKCk7XG4gICAgfVxuXG4gICAgcHVibGljIFNhdmVBcHBsaWNhdGlvbigpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYXBwOiBFYUNBcHBsaWNhdGlvbkFzQ29kZSA9IHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uO1xuICAgICAgICAvLyBjb25zb2xlLmxvZyhcIkFQUD1cIiwgYXBwKTtcbiAgICAgICAgYXBwLkFwcGxpY2F0aW9uID0ge1xuICAgICAgICAgICAgTmFtZTogdGhpcy5OYW1lRm9ybUNvbnRyb2wudmFsdWUsXG4gICAgICAgICAgICBEZXNjcmlwdGlvbjogdGhpcy5EZXNjcmlwdGlvbkZvcm1Db250cm9sLnZhbHVlLFxuICAgICAgICAgICAgUHJpb3JpdHlTaGlmdDpcbiAgICAgICAgICAgICAgICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbj8uQXBwbGljYXRpb24/LlByaW9yaXR5U2hpZnQgfHwgMCxcbiAgICAgICAgfTtcblxuICAgICAgICBhcHAuTG9va3VwQ29uZmlnLlBhdGhSZWdleCA9IGAke3RoaXMuUm91dGVGb3JtQ29udHJvbC52YWx1ZX0uKmA7XG5cbiAgICAgICAgc3dpdGNoIChhcHAuUHJvY2Vzc29yLlR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ0RGUyc6XG4gICAgICAgICAgICAgICAgYXBwLlByb2Nlc3Nvci5CYXNlSHJlZiA9XG4gICAgICAgICAgICAgICAgICAgIGAke3RoaXMuUm91dGVGb3JtQ29udHJvbC52YWx1ZX0vYC5yZXBsYWNlKCcvLycsICcvJyk7XG5cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghYXBwLkxvb2t1cENvbmZpZy5QYXRoUmVnZXguc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgICAgICAgICBhcHAuTG9va3VwQ29uZmlnLlBhdGhSZWdleCA9IGAvJHthcHAuTG9va3VwQ29uZmlnLlBhdGhSZWdleH1gO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2F2ZUFwcFJlcTogU2F2ZUFwcGxpY2F0aW9uQXNDb2RlRXZlbnRSZXF1ZXN0ID0ge1xuICAgICAgICAgICAgUHJvamVjdExvb2t1cDogdGhpcy5Qcm9qZWN0TG9va3VwLFxuICAgICAgICAgICAgQXBwbGljYXRpb246IGFwcCxcbiAgICAgICAgICAgIEFwcGxpY2F0aW9uTG9va3VwOiB0aGlzLkFwcGxpY2F0aW9uTG9va3VwLFxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnNvbGUubG9nKCdwcm9jZXNzb3IgZGV0YWlscyBiZWluZyBzdWJtaXR0ZWQ6ICcsIGFwcC5Qcm9jZXNzb3IpO1xuXG4gICAgICAgIHRoaXMuZWFjU3ZjLlNhdmVBcHBsaWNhdGlvbkFzQ29kZShzYXZlQXBwUmVxKS50aGVuKChyZXMpID0+IHtcbiAgICAgICAgICAgIHRoaXMuU2F2ZUZvcm1FdmVudC5lbWl0KHJlcyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vSEVMUEVSU1xuICAgIHByb3RlY3RlZCBzZXR1cEFwcGxpY2F0aW9uRm9ybSgpIHtcbiAgICAgICAgaWYgKHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uICE9IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuQXBwbGljYXRpb25Gb3JtR3JvdXAgPSB0aGlzLmZvcm1CbGRyLmdyb3VwKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBbXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkFwcGxpY2F0aW9uPy5OYW1lLFxuICAgICAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uQXBwbGljYXRpb24/LkRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgcm91dGU6IFtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5DdXJyZW50Um91dGVcbiAgICAgICAgICAgICAgICAgICAgICAgID8gdGhpcy5DdXJyZW50Um91dGVcbiAgICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uTG9va3VwQ29uZmlnPy5QYXRoUmVnZXgucmVwbGFjZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcuKicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICApIHx8ICcvJyxcbiAgICAgICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIC8vIHByaW9yaXR5OiBbXG4gICAgICAgICAgICAgICAgLy8gICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5BcHBsaWNhdGlvbj8uUHJpb3JpdHkgfHwgMTAwMDAsXG4gICAgICAgICAgICAgICAgLy8gICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICAgICAgICAgIC8vIF0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxmb3JtXG4gICAgY2xhc3M9XCJmb3JtLWNhcmRcIlxuICAgIFtmb3JtR3JvdXBdPVwiQXBwbGljYXRpb25Gb3JtR3JvdXBcIlxuICAgIChuZ1N1Ym1pdCk9XCJTdWJtaXRBcHBsaWNhdGlvbkNvbnRyb2woKVwiXG4+XG4gICAgPCEtLSA8bWF0LWNhcmQgY2xhc3M9XCJzcHJlYWQgZmxvdy1jYXJkXCI+IC0tPlxuICAgIDwhLS0gPG1hdC1jYXJkLWhlYWRlcj5cbiAgICAgICAgPG1hdC1jYXJkLXRpdGxlPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJFZGl0aW5nQXBwbGljYXRpb24/LkFwcGxpY2F0aW9uXCI+XG4gICAgICAgICAgICBFZGl0IEFwcGxpY2F0aW9uOlxuICAgICAgICAgICAge3sgRWRpdGluZ0FwcGxpY2F0aW9uLkFwcGxpY2F0aW9uPy5OYW1lIH19XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIUVkaXRpbmdBcHBsaWNhdGlvbj8uQXBwbGljYXRpb25cIj5cbiAgICAgICAgICAgIENyZWF0ZSBhbiBBcHBsaWNhdGlvblxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L21hdC1jYXJkLXRpdGxlPlxuICAgICAgPC9tYXQtY2FyZC1oZWFkZXI+IC0tPlxuXG4gICAgPCEtLSA8bWF0LWNhcmQtY29udGVudD4gLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIlN0YXRlPy5Mb2FkaW5nXCI+XG4gICAgICAgIDxza2VsZXRvbi1ibG9jayBjbGFzcz1cInMtYmxvY2tcIiBlZmZlY3Q9XCJ3YXZlXCI+PC9za2VsZXRvbi1ibG9jaz5cblxuICAgICAgICA8c2tlbGV0b24tYmxvY2sgY2xhc3M9XCJzLWJsb2NrXCIgZWZmZWN0PVwid2F2ZVwiPjwvc2tlbGV0b24tYmxvY2s+XG5cbiAgICAgICAgPHNrZWxldG9uLWJsb2NrIGNsYXNzPVwicy1ibG9ja1wiIGVmZmVjdD1cIndhdmVcIj48L3NrZWxldG9uLWJsb2NrPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFTdGF0ZT8uTG9hZGluZ1wiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXQtZnVsbC13aWR0aFwiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk5hbWVcIlxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIlxuICAgICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICByb3dzPVwiM1wiXG4gICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgID48L3RleHRhcmVhPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiUm91dGVcIlxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInJvdXRlXCJcbiAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwhLS0gPC9tYXQtY2FyZC1jb250ZW50PiAtLT5cbiAgICA8IS0tIDxtYXQtY2FyZC1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XG5cbiAgICAgICAgPGJ1dHRvbiBcbiAgICAgICAgKm5nSWY9XCJIYXNTYXZlQnV0dG9uICYmICFTdGF0ZT8uTG9hZGluZ1wiXG4gICAgICAgICAgbWF0LXJhaXNlZC1idXR0b24gXG4gICAgICAgICAgdHlwZT1cInN1Ym1pdFwiIFxuICAgICAgICAgIGZ4RmxleD1cIjEwMCVcIiBcbiAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIiBcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIUFwcGxpY2F0aW9uRm9ybUdyb3VwLnZhbGlkIHx8ICFBcHBsaWNhdGlvbkZvcm1Hcm91cC5kaXJ0eVwiPlxuICAgICAgICAgIDxtYXQtaWNvbj5zYXZlPC9tYXQtaWNvbj5cbiAgICAgICAgICBTYXZlXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8bGN1LWxvYWRlciAqbmdJZj1cIkhhc1NhdmVCdXR0b25cIiBbbG9hZGluZ109XCJTdGF0ZT8uTG9hZGluZ1wiPjwvbGN1LWxvYWRlcj5cbiAgICAgICAgXG4gICAgPC9tYXQtY2FyZC1hY3Rpb25zPiAtLT5cbiAgICA8IS0tIDwvbWF0LWNhcmQ+IC0tPlxuPC9mb3JtPlxuIl19
@@ -22,10 +22,10 @@ export class EditProjectFormComponent {
22
22
  get NameFormControl() {
23
23
  return this.ProjectFormGroup.controls.name;
24
24
  }
25
+ get State() {
26
+ return this.eacSvc.State;
27
+ }
25
28
  ngOnInit() {
26
- this.eacSvc.State.subscribe((state) => {
27
- this.State = state;
28
- });
29
29
  this.setupProjectForm();
30
30
  }
31
31
  SaveProject() {
@@ -71,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
71
71
  type: Output,
72
72
  args: ['save-form-event']
73
73
  }] } });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1wcm9qZWN0LWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvZWRpdC1wcm9qZWN0LWZvcm0vZWRpdC1wcm9qZWN0LWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvZWRpdC1wcm9qZWN0LWZvcm0vZWRpdC1wcm9qZWN0LWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBSUgsVUFBVSxHQUNiLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBY3hCLE1BQU0sT0FBTyx3QkFBd0I7SUEyQmpDLFlBQXNCLE1BQWtCLEVBQVksUUFBcUI7UUFBbkQsV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQUFZLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckUsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQzVDLENBQUM7SUF0QkQsSUFBVyxzQkFBc0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQztJQUN0RCxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxJQUFXLGVBQWU7UUFDdEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztJQUMvQyxDQUFDO0lBY0QsUUFBUTtRQUNKLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVNLFdBQVc7UUFDZCxNQUFNLElBQUksR0FBcUIsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM1Qyw0QkFBNEI7UUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRztZQUNYLElBQUksRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUs7WUFDaEMsV0FBVyxFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLO1NBQ2pELENBQUM7UUFFRixNQUFNLFdBQVcsR0FBa0M7WUFDL0MsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2pDLE9BQU8sRUFBRSxJQUFJO1NBQ2hCLENBQUM7UUFFRixJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3BELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLG9CQUFvQjtRQUN2QixPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVTLGdCQUFnQjtRQUN0QixJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztnQkFDeEMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7Z0JBQ3hELFdBQVcsRUFBRTtvQkFDVCxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXO29CQUNsQyxVQUFVLENBQUMsUUFBUTtpQkFDdEI7YUFDSixDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7O3FIQXZFUSx3QkFBd0I7eUdBQXhCLHdCQUF3Qiw0S0NwQnJDLHU4QkFnQ0E7MkZEWmEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNJLHVCQUF1QjsySEFNMUIsYUFBYTtzQkFEbkIsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBSWhCLGFBQWE7c0JBRG5CLE1BQU07dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdENvbnRyb2wsXG4gICAgRm9ybUJ1aWxkZXIsXG4gICAgRm9ybUdyb3VwLFxuICAgIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uIH0gZnJvbSAnQGxjdS9jb21tb24nO1xuaW1wb3J0IHsgRWFDUHJvamVjdEFzQ29kZSB9IGZyb20gJ0BzZW1hbnRpY2pzL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEVhQ1NlcnZpY2UsXG4gICAgU2F2ZVByb2plY3RBc0NvZGVFdmVudFJlcXVlc3QsXG59IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VhYy5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlL2FwcGxpY2F0aW9ucy1mbG93LnN0YXRlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsY3UtZWRpdC1wcm9qZWN0LWZvcm0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lZGl0LXByb2plY3QtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZWRpdC1wcm9qZWN0LWZvcm0uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRWRpdFByb2plY3RGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoJ3Byb2plY3QtbG9va3VwJylcbiAgICBwdWJsaWMgUHJvamVjdExvb2t1cDogc3RyaW5nO1xuXG4gICAgQE91dHB1dCgnc2F2ZS1mb3JtLWV2ZW50JylcbiAgICBwdWJsaWMgU2F2ZUZvcm1FdmVudDogRXZlbnRFbWl0dGVyPHt9PjtcblxuICAgIHB1YmxpYyBnZXQgRGVzY3JpcHRpb25Gb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgICAgICByZXR1cm4gdGhpcy5Qcm9qZWN0Rm9ybUdyb3VwLmNvbnRyb2xzLmRlc2NyaXB0aW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgUHJvamVjdCgpOiBFYUNQcm9qZWN0QXNDb2RlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuU3RhdGU/LkVhQz8uUHJvamVjdHNbdGhpcy5Qcm9qZWN0TG9va3VwXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IE5hbWVGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgICAgICByZXR1cm4gdGhpcy5Qcm9qZWN0Rm9ybUdyb3VwLmNvbnRyb2xzLm5hbWU7XG4gICAgfVxuXG4gICAgcHVibGljIFN0YXRlOiBBcHBsaWNhdGlvbnNGbG93U3RhdGU7XG5cbiAgICAvLyBwdWJsaWMgZ2V0IFN0YXRlKCk6IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZSB7XG4gICAgLy8gICAgIHJldHVybiB0aGlzLmVhY1N2Yy5TdGF0ZTtcbiAgICAvLyB9XG5cbiAgICBwdWJsaWMgUHJvamVjdEZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGVhY1N2YzogRWFDU2VydmljZSwgcHJvdGVjdGVkIGZvcm1CbGRyOiBGb3JtQnVpbGRlcikge1xuICAgICAgICB0aGlzLlNhdmVGb3JtRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWFjU3ZjLlN0YXRlLnN1YnNjcmliZSgoc3RhdGU6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5TdGF0ZSA9IHN0YXRlO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zZXR1cFByb2plY3RGb3JtKCk7XG4gICAgfVxuXG4gICAgcHVibGljIFNhdmVQcm9qZWN0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwcm9qOiBFYUNQcm9qZWN0QXNDb2RlID0gdGhpcy5Qcm9qZWN0O1xuICAgICAgICAvLyBjb25zb2xlLmxvZyhcIkFQUD1cIiwgYXBwKTtcbiAgICAgICAgcHJvai5Qcm9qZWN0ID0ge1xuICAgICAgICAgICAgTmFtZTogdGhpcy5OYW1lRm9ybUNvbnRyb2wudmFsdWUsXG4gICAgICAgICAgICBEZXNjcmlwdGlvbjogdGhpcy5EZXNjcmlwdGlvbkZvcm1Db250cm9sLnZhbHVlLFxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IHNhdmVQcm9qUmVxOiBTYXZlUHJvamVjdEFzQ29kZUV2ZW50UmVxdWVzdCA9IHtcbiAgICAgICAgICAgIFByb2plY3RMb29rdXA6IHRoaXMuUHJvamVjdExvb2t1cCxcbiAgICAgICAgICAgIFByb2plY3Q6IHByb2osXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5lYWNTdmMuU2F2ZVByb2plY3RBc0NvZGUoc2F2ZVByb2pSZXEpLnRoZW4oKHJlcykgPT4ge1xuICAgICAgICAgICAgdGhpcy5TYXZlRm9ybUV2ZW50LmVtaXQocmVzKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIFN1Ym1pdFByb2plY3RDb250cm9sKCkge1xuICAgICAgICBjb25zb2xlLmxvZygnYXBwbGljYXRpb24gZm9ybTogJywgdGhpcy5Qcm9qZWN0Rm9ybUdyb3VwLnZhbHVlKTtcbiAgICAgICAgdGhpcy5TYXZlUHJvamVjdCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzZXR1cFByb2plY3RGb3JtKCkge1xuICAgICAgICBpZiAodGhpcy5Qcm9qZWN0ICE9IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuUHJvamVjdEZvcm1Hcm91cCA9IHRoaXMuZm9ybUJsZHIuZ3JvdXAoe1xuICAgICAgICAgICAgICAgIG5hbWU6IFt0aGlzLlByb2plY3Q/LlByb2plY3Q/Lk5hbWUsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBbXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuUHJvamVjdD8uUHJvamVjdD8uRGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGZvcm1cbiAgICBjbGFzcz1cImZvcm0tY2FyZFwiXG4gICAgW2Zvcm1Hcm91cF09XCJQcm9qZWN0Rm9ybUdyb3VwXCJcbiAgICAobmdTdWJtaXQpPVwiU3VibWl0UHJvamVjdENvbnRyb2woKVwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIlN0YXRlPy5Mb2FkaW5nXCI+XG4gICAgICAgIDxza2VsZXRvbi1ibG9jayBjbGFzcz1cInMtYmxvY2tcIiBlZmZlY3Q9XCJ3YXZlXCI+PC9za2VsZXRvbi1ibG9jaz5cblxuICAgICAgICA8c2tlbGV0b24tYmxvY2sgY2xhc3M9XCJzLWJsb2NrXCIgZWZmZWN0PVwid2F2ZVwiPjwvc2tlbGV0b24tYmxvY2s+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIVN0YXRlPy5Mb2FkaW5nXCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiTmFtZVwiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiXG4gICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGhcIj5cbiAgICAgICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJEZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgIHJvd3M9XCIzXCJcbiAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgPjwvdGV4dGFyZWE+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG48L2Zvcm0+XG4iXX0=
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1wcm9qZWN0LWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvZWRpdC1wcm9qZWN0LWZvcm0vZWRpdC1wcm9qZWN0LWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvZWRpdC1wcm9qZWN0LWZvcm0vZWRpdC1wcm9qZWN0LWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBSUgsVUFBVSxHQUNiLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBYXhCLE1BQU0sT0FBTyx3QkFBd0I7SUF5QmpDLFlBQXNCLE1BQWtCLEVBQVksUUFBcUI7UUFBbkQsV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQUFZLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckUsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFwQkQsSUFBVyxzQkFBc0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQztJQUN0RCxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxJQUFXLGVBQWU7UUFDdEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ1osT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUM3QixDQUFDO0lBUUQsUUFBUTtRQUNKLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSxXQUFXO1FBQ2QsTUFBTSxJQUFJLEdBQXFCLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDNUMsNEJBQTRCO1FBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUc7WUFDWCxJQUFJLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLO1lBQ2hDLFdBQVcsRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSztTQUNqRCxDQUFDO1FBRUYsTUFBTSxXQUFXLEdBQWtDO1lBQy9DLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNqQyxPQUFPLEVBQUUsSUFBSTtTQUNoQixDQUFDO1FBRUYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNwRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxvQkFBb0I7UUFDdkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFUyxnQkFBZ0I7UUFDdEIsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksRUFBRTtZQUN0QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7Z0JBQ3hDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO2dCQUN4RCxXQUFXLEVBQUU7b0JBQ1QsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVztvQkFDbEMsVUFBVSxDQUFDLFFBQVE7aUJBQ3RCO2FBQ0osQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDOztxSEFsRVEsd0JBQXdCO3lHQUF4Qix3QkFBd0IsNEtDbkJyQyx1OEJBZ0NBOzJGRGJhLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDSSx1QkFBdUI7MkhBTTFCLGFBQWE7c0JBRG5CLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUloQixhQUFhO3NCQURuQixNQUFNO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RDb250cm9sLFxuICAgIEZvcm1CdWlsZGVyLFxuICAgIEZvcm1Hcm91cCxcbiAgICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFYUNQcm9qZWN0QXNDb2RlIH0gZnJvbSAnQHNlbWFudGljanMvY29tbW9uJztcbmltcG9ydCB7XG4gICAgRWFDU2VydmljZSxcbiAgICBTYXZlUHJvamVjdEFzQ29kZUV2ZW50UmVxdWVzdCxcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMvZWFjLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25zRmxvd1N0YXRlIH0gZnJvbSAnLi4vLi4vc3RhdGUvYXBwbGljYXRpb25zLWZsb3cuc3RhdGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xjdS1lZGl0LXByb2plY3QtZm9ybScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VkaXQtcHJvamVjdC1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9lZGl0LXByb2plY3QtZm9ybS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBFZGl0UHJvamVjdEZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgncHJvamVjdC1sb29rdXAnKVxuICAgIHB1YmxpYyBQcm9qZWN0TG9va3VwOiBzdHJpbmc7XG5cbiAgICBAT3V0cHV0KCdzYXZlLWZvcm0tZXZlbnQnKVxuICAgIHB1YmxpYyBTYXZlRm9ybUV2ZW50OiBFdmVudEVtaXR0ZXI8e30+O1xuXG4gICAgcHVibGljIGdldCBEZXNjcmlwdGlvbkZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgICAgIHJldHVybiB0aGlzLlByb2plY3RGb3JtR3JvdXAuY29udHJvbHMuZGVzY3JpcHRpb247XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBQcm9qZWN0KCk6IEVhQ1Byb2plY3RBc0NvZGUge1xuICAgICAgICByZXR1cm4gdGhpcy5TdGF0ZT8uRWFDPy5Qcm9qZWN0c1t0aGlzLlByb2plY3RMb29rdXBdO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgTmFtZUZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgICAgIHJldHVybiB0aGlzLlByb2plY3RGb3JtR3JvdXAuY29udHJvbHMubmFtZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IFN0YXRlKCk6IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVhY1N2Yy5TdGF0ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgUHJvamVjdEZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGVhY1N2YzogRWFDU2VydmljZSwgcHJvdGVjdGVkIGZvcm1CbGRyOiBGb3JtQnVpbGRlcikge1xuICAgICAgICB0aGlzLlNhdmVGb3JtRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0dXBQcm9qZWN0Rm9ybSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBTYXZlUHJvamVjdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcHJvajogRWFDUHJvamVjdEFzQ29kZSA9IHRoaXMuUHJvamVjdDtcbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJBUFA9XCIsIGFwcCk7XG4gICAgICAgIHByb2ouUHJvamVjdCA9IHtcbiAgICAgICAgICAgIE5hbWU6IHRoaXMuTmFtZUZvcm1Db250cm9sLnZhbHVlLFxuICAgICAgICAgICAgRGVzY3JpcHRpb246IHRoaXMuRGVzY3JpcHRpb25Gb3JtQ29udHJvbC52YWx1ZSxcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBzYXZlUHJvalJlcTogU2F2ZVByb2plY3RBc0NvZGVFdmVudFJlcXVlc3QgPSB7XG4gICAgICAgICAgICBQcm9qZWN0TG9va3VwOiB0aGlzLlByb2plY3RMb29rdXAsXG4gICAgICAgICAgICBQcm9qZWN0OiBwcm9qLFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuZWFjU3ZjLlNhdmVQcm9qZWN0QXNDb2RlKHNhdmVQcm9qUmVxKS50aGVuKChyZXMpID0+IHtcbiAgICAgICAgICAgIHRoaXMuU2F2ZUZvcm1FdmVudC5lbWl0KHJlcyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBTdWJtaXRQcm9qZWN0Q29udHJvbCgpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ2FwcGxpY2F0aW9uIGZvcm06ICcsIHRoaXMuUHJvamVjdEZvcm1Hcm91cC52YWx1ZSk7XG4gICAgICAgIHRoaXMuU2F2ZVByb2plY3QoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2V0dXBQcm9qZWN0Rm9ybSgpIHtcbiAgICAgICAgaWYgKHRoaXMuUHJvamVjdCAhPSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLlByb2plY3RGb3JtR3JvdXAgPSB0aGlzLmZvcm1CbGRyLmdyb3VwKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBbdGhpcy5Qcm9qZWN0Py5Qcm9qZWN0Py5OYW1lLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogW1xuICAgICAgICAgICAgICAgICAgICB0aGlzLlByb2plY3Q/LlByb2plY3Q/LkRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxmb3JtXG4gICAgY2xhc3M9XCJmb3JtLWNhcmRcIlxuICAgIFtmb3JtR3JvdXBdPVwiUHJvamVjdEZvcm1Hcm91cFwiXG4gICAgKG5nU3VibWl0KT1cIlN1Ym1pdFByb2plY3RDb250cm9sKClcIlxuPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJTdGF0ZT8uTG9hZGluZ1wiPlxuICAgICAgICA8c2tlbGV0b24tYmxvY2sgY2xhc3M9XCJzLWJsb2NrXCIgZWZmZWN0PVwid2F2ZVwiPjwvc2tlbGV0b24tYmxvY2s+XG5cbiAgICAgICAgPHNrZWxldG9uLWJsb2NrIGNsYXNzPVwicy1ibG9ja1wiIGVmZmVjdD1cIndhdmVcIj48L3NrZWxldG9uLWJsb2NrPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFTdGF0ZT8uTG9hZGluZ1wiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXQtZnVsbC13aWR0aFwiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk5hbWVcIlxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIlxuICAgICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICByb3dzPVwiM1wiXG4gICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgID48L3RleHRhcmVhPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9mb3JtPlxuIl19
@@ -25,10 +25,10 @@ export class EmulatedDevicesToggleComponent {
25
25
  get IsTriggerSignInFormControl() {
26
26
  return this.EmulatedDevicesFormGroup?.controls.isTriggerSignIn;
27
27
  }
28
+ get State() {
29
+ return this.eacSvc.State;
30
+ }
28
31
  ngOnInit() {
29
- this.eacSvc.State.subscribe((state) => {
30
- this.State = state;
31
- });
32
32
  this.setupEmulatedDevicesFormGroup();
33
33
  }
34
34
  EmulatedDevicesSubmit() {
@@ -57,4 +57,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
57
57
  type: Output,
58
58
  args: ['save-form-event']
59
59
  }] } });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW11bGF0ZWQtZGV2aWNlcy10b2dnbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvZW11bGF0ZWQtZGV2aWNlcy10b2dnbGUvZW11bGF0ZWQtZGV2aWNlcy10b2dnbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvZW11bGF0ZWQtZGV2aWNlcy10b2dnbGUvZW11bGF0ZWQtZGV2aWNlcy10b2dnbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBSUgsVUFBVSxHQUNiLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFVeEIsTUFBTSxPQUFPLDhCQUE4QjtJQTJCdkMsWUFBc0IsTUFBa0IsRUFBWSxRQUFxQjtRQUFuRCxXQUFNLEdBQU4sTUFBTSxDQUFZO1FBQVksYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNyRSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUM7SUFDakMsQ0FBQztJQXZCRCxJQUFXLG9CQUFvQjtRQUMzQixPQUFPLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDO0lBQzdELENBQUM7SUFFRCxJQUFXLDBCQUEwQjtRQUNqQyxPQUFPLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxRQUFRLENBQUMsZUFBZSxDQUFDO0lBQ25FLENBQUM7SUFtQk0sUUFBUTtRQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVNLHFCQUFxQjtRQUN4QixtQ0FBbUM7UUFDbkMsT0FBTyxDQUFDLEdBQUcsQ0FDUCxxQ0FBcUMsRUFDckMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLEtBQUssQ0FDdEMsQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRVMsNkJBQTZCO1FBQ25DLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3BFLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRVMsd0JBQXdCO1FBQzlCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxVQUFVLENBQ3BDLFlBQVksRUFDWixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FDakIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxTQUFTLElBQUksS0FBSyxFQUN4RCxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FDeEIsQ0FDSixDQUFDO0lBQ04sQ0FBQzs7MkhBOURRLDhCQUE4QjsrR0FBOUIsOEJBQThCLGlNQ2hCM0MsdWpIQWlHQTsyRkRqRmEsOEJBQThCO2tCQUwxQyxTQUFTOytCQUNJLDZCQUE2QjsySEFNaEMsa0JBQWtCO3NCQUR4QixLQUFLO3VCQUFDLHFCQUFxQjtnQkFJckIsYUFBYTtzQkFEbkIsTUFBTTt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0Q29udHJvbCxcbiAgICBGb3JtQnVpbGRlcixcbiAgICBGb3JtR3JvdXAsXG4gICAgVmFsaWRhdG9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRWFDQXBwbGljYXRpb25Bc0NvZGUgfSBmcm9tICdAc2VtYW50aWNqcy9jb21tb24nO1xuaW1wb3J0IHsgRWFDU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VhYy5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlL2FwcGxpY2F0aW9ucy1mbG93LnN0YXRlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsY3UtZW11bGF0ZWQtZGV2aWNlcy10b2dnbGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lbXVsYXRlZC1kZXZpY2VzLXRvZ2dsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZW11bGF0ZWQtZGV2aWNlcy10b2dnbGUuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRW11bGF0ZWREZXZpY2VzVG9nZ2xlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoJ2VkaXRpbmctYXBwbGljYXRpb24nKVxuICAgIHB1YmxpYyBFZGl0aW5nQXBwbGljYXRpb246IEVhQ0FwcGxpY2F0aW9uQXNDb2RlO1xuXG4gICAgQE91dHB1dCgnc2F2ZS1mb3JtLWV2ZW50JylcbiAgICBwdWJsaWMgU2F2ZUZvcm1FdmVudDogRXZlbnRFbWl0dGVyPHt9PjtcblxuICAgIHB1YmxpYyBnZXQgSXNQcml2YXRlRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuRW11bGF0ZWREZXZpY2VzRm9ybUdyb3VwPy5jb250cm9scy5pc1ByaXZhdGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBJc1RyaWdnZXJTaWduSW5Gb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgICAgICByZXR1cm4gdGhpcy5FbXVsYXRlZERldmljZXNGb3JtR3JvdXA/LmNvbnRyb2xzLmlzVHJpZ2dlclNpZ25JbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgU3RhdGU6IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZTtcblxuICAgIC8vIHB1YmxpYyBnZXQgU3RhdGUoKTogQXBwbGljYXRpb25zRmxvd1N0YXRlIHtcbiAgICAvLyAgICAgcmV0dXJuIHRoaXMuZWFjU3ZjLlN0YXRlO1xuICAgIC8vIH1cblxuICAgIHB1YmxpYyBFbXVsYXRlZERldmljZXNGb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICAgIHB1YmxpYyBQcm9jZXNzb3JUeXBlOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgU2tlbGV0b25FZmZlY3Q6IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBlYWNTdmM6IEVhQ1NlcnZpY2UsIHByb3RlY3RlZCBmb3JtQmxkcjogRm9ybUJ1aWxkZXIpIHtcbiAgICAgICAgdGhpcy5TYXZlRm9ybUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgICAgICB0aGlzLlNrZWxldG9uRWZmZWN0ID0gJ3dhdmUnO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lYWNTdmMuU3RhdGUuc3Vic2NyaWJlKChzdGF0ZTogYW55KSA9PiB7XG4gICAgICAgICAgICB0aGlzLlN0YXRlID0gc3RhdGU7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnNldHVwRW11bGF0ZWREZXZpY2VzRm9ybUdyb3VwKCk7XG4gICAgfVxuXG4gICAgcHVibGljIEVtdWxhdGVkRGV2aWNlc1N1Ym1pdCgpIHtcbiAgICAgICAgLy9zYXZlIHRoZSBFbXVsYXRlZERldmljZXMgc2V0dGluZ3NcbiAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgICAnc3VibWl0dGluZyBFbXVsYXRlZERldmljZXMgdmFsdWVzOiAnLFxuICAgICAgICAgICAgdGhpcy5FbXVsYXRlZERldmljZXNGb3JtR3JvdXAudmFsdWVcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5TYXZlRm9ybUV2ZW50LmVtaXQodGhpcy5FbXVsYXRlZERldmljZXNGb3JtR3JvdXAudmFsdWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzZXR1cEVtdWxhdGVkRGV2aWNlc0Zvcm1Hcm91cCgpIHtcbiAgICAgICAgdGhpcy5Qcm9jZXNzb3JUeXBlID0gdGhpcy5FZGl0aW5nQXBwbGljYXRpb24/LlByb2Nlc3Nvcj8uVHlwZSB8fCAnJztcbiAgICAgICAgdGhpcy5FbXVsYXRlZERldmljZXNGb3JtR3JvdXAgPSB0aGlzLmZvcm1CbGRyLmdyb3VwKHt9KTtcbiAgICAgICAgdGhpcy5zZXR1cEVtdWxhdGVkRGV2aWNlc0Zvcm0oKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2V0dXBFbXVsYXRlZERldmljZXNGb3JtKCk6IHZvaWQge1xuICAgICAgICB0aGlzLkVtdWxhdGVkRGV2aWNlc0Zvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgICAgICAgJ2lzRW11bGF0ZWQnLFxuICAgICAgICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKFxuICAgICAgICAgICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkxvb2t1cENvbmZpZz8uSXNQcml2YXRlIHx8IGZhbHNlLFxuICAgICAgICAgICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjxmb3JtXG4gICAgY2xhc3M9XCJlbXVsYXRlZC1kZXZpY2VzLWZvcm1cIlxuICAgIFtmb3JtR3JvdXBdPVwiRW11bGF0ZWREZXZpY2VzRm9ybUdyb3VwXCJcbiAgICAobmdTdWJtaXQpPVwiRW11bGF0ZWREZXZpY2VzU3VibWl0KClcIlxuPlxuICAgIDxtYXQtY2FyZCBjbGFzcz1cImZsb3ctY2FyZFwiPlxuICAgICAgICA8IS0tIFNLRUxFVE9OIExPQURJTkcgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJTdGF0ZT8uTG9hZGluZ1wiPlxuICAgICAgICAgICAgPG1hdC1jYXJkLWhlYWRlciBmeExheW91dEFsaWduPVwic3BhY2UtYmV0d2VlbiBjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWNhcmQtdGl0bGUgc2tlbGV0b24tdGV4dCBbZWZmZWN0XT1cIlNrZWxldG9uRWZmZWN0XCI+XG4gICAgICAgICAgICAgICAgICAgIEVtdWxhdGVkIERldmljZXMgU2V0dGluZ3NcbiAgICAgICAgICAgICAgICA8L21hdC1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgICAgIDxkaXYgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWFyb3VuZCBjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBza2VsZXRvbi10ZXh0IFtlZmZlY3RdPVwiU2tlbGV0b25FZmZlY3RcIj5YWFg8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gc2tlbGV0b24tdGV4dCBbZWZmZWN0XT1cIlNrZWxldG9uRWZmZWN0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBpbmZvX291dGxpbmVcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtaGVhZGVyPlxuXG4gICAgICAgICAgICA8bWF0LWNhcmQtYWN0aW9ucyBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgZnhGbGV4PVwiMTAwJVwiXG4gICAgICAgICAgICAgICAgICAgIHNrZWxldG9uLXRleHRcbiAgICAgICAgICAgICAgICAgICAgW2VmZmVjdF09XCJTa2VsZXRvbkVmZmVjdFwiXG4gICAgICAgICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBza2VsZXRvbi10ZXh0IFtlZmZlY3RdPVwiU2tlbGV0b25FZmZlY3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHNhdmVcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cblxuICAgICAgICAgICAgICAgICAgICBTYXZlIFNldHRpbmdzXG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L21hdC1jYXJkLWFjdGlvbnM+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8IS0tIEVORCBTS0VMRVRPTiBMT0FESU5HIC0tPlxuXG4gICAgICAgIDwhLS0gQkVHSU4gQUNUVUFMIENPTlRFTlQgLS0+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFTdGF0ZT8uTG9hZGluZ1wiPlxuICAgICAgICAgICAgPG1hdC1jYXJkLWhlYWRlcj5cbiAgICAgICAgICAgICAgICA8bWF0LWNhcmQtdGl0bGU+IEVtdWxhdGVkIERldmljZSBTZXR0aW5ncyA8L21hdC1jYXJkLXRpdGxlPlxuXG4gICAgICAgICAgICAgICAgPGRpdiBmeEZsZXg+PC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZVxuICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJpc1ByaXZhdGVcIlxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiSXMgU2VjdXJlIEFwcGxpY2F0aW9uP1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cblxuICAgICAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIkEgU2VjdXJlZCBBcHBsaWNhdGlvbiBpcyBvbmUgdGhhdCByZXF1aXJlcyB0aGUgdXNlciB0byBiZSBhdXRoZW50aWNhdGVkIHRvIHVzZSB0aGUgYXBwbGljYXRpb24uIFRoZSBhcHBsaWNhdGlvbiBpcyBob3N0ZWQgYmVoaW5kIGFuIGlkZW50aXR5IHdhbGwuXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIGluZm9fb3V0bGluZVxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L21hdC1jYXJkLWhlYWRlcj5cblxuICAgICAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIklzUHJpdmF0ZUZvcm1Db250cm9sLnZhbHVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZvcm1Db250cm9sTmFtZT1cImlzVHJpZ2dlclNpZ25JblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJcyBUcmlnZ2VyIFNpZ24gSW4gQXBwbGljYXRpb24/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiQSBUcmlnZ2VyIFNpZ24gSW4gQXBwbGljYXRpb24gd2lsbCBkaXJlY3QgdGhlIHVzZXIgdG8gc2lnbiBpbiBpZiB0aGV5IGFyZSBub3QgYWxyZWFkeS5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5mb19vdXRsaW5lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cblxuICAgICAgICAgICAgPG1hdC1jYXJkLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICAgICAgICBmeEZsZXg9XCIxMDAlXCJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgIUVtdWxhdGVkRGV2aWNlc0Zvcm1Hcm91cC52YWxpZCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgIUVtdWxhdGVkRGV2aWNlc0Zvcm1Hcm91cC5kaXJ0eVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPnNhdmU8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICBTYXZlIFNldHRpbmdzXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L21hdC1jYXJkLWFjdGlvbnM+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbWF0LWNhcmQ+XG48L2Zvcm0+XG4iXX0=
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW11bGF0ZWQtZGV2aWNlcy10b2dnbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvZW11bGF0ZWQtZGV2aWNlcy10b2dnbGUvZW11bGF0ZWQtZGV2aWNlcy10b2dnbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvZW11bGF0ZWQtZGV2aWNlcy10b2dnbGUvZW11bGF0ZWQtZGV2aWNlcy10b2dnbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBSUgsVUFBVSxHQUNiLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFVeEIsTUFBTSxPQUFPLDhCQUE4QjtJQXlCdkMsWUFBc0IsTUFBa0IsRUFBWSxRQUFxQjtRQUFuRCxXQUFNLEdBQU4sTUFBTSxDQUFZO1FBQVksYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNyRSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUM7SUFDakMsQ0FBQztJQXJCRCxJQUFXLG9CQUFvQjtRQUMzQixPQUFPLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDO0lBQzdELENBQUM7SUFFRCxJQUFXLDBCQUEwQjtRQUNqQyxPQUFPLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxRQUFRLENBQUMsZUFBZSxDQUFDO0lBQ25FLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDWixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFhTSxRQUFRO1FBQ1gsSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVNLHFCQUFxQjtRQUN4QixtQ0FBbUM7UUFDbkMsT0FBTyxDQUFDLEdBQUcsQ0FDUCxxQ0FBcUMsRUFDckMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLEtBQUssQ0FDdEMsQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRVMsNkJBQTZCO1FBQ25DLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3BFLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRVMsd0JBQXdCO1FBQzlCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxVQUFVLENBQ3BDLFlBQVksRUFDWixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FDakIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxTQUFTLElBQUksS0FBSyxFQUN4RCxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FDeEIsQ0FDSixDQUFDO0lBQ04sQ0FBQzs7MkhBekRRLDhCQUE4QjsrR0FBOUIsOEJBQThCLGlNQ2hCM0MsdWpIQWlHQTsyRkRqRmEsOEJBQThCO2tCQUwxQyxTQUFTOytCQUNJLDZCQUE2QjsySEFNaEMsa0JBQWtCO3NCQUR4QixLQUFLO3VCQUFDLHFCQUFxQjtnQkFJckIsYUFBYTtzQkFEbkIsTUFBTTt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0Q29udHJvbCxcbiAgICBGb3JtQnVpbGRlcixcbiAgICBGb3JtR3JvdXAsXG4gICAgVmFsaWRhdG9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRWFDQXBwbGljYXRpb25Bc0NvZGUgfSBmcm9tICdAc2VtYW50aWNqcy9jb21tb24nO1xuaW1wb3J0IHsgRWFDU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VhYy5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlL2FwcGxpY2F0aW9ucy1mbG93LnN0YXRlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsY3UtZW11bGF0ZWQtZGV2aWNlcy10b2dnbGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lbXVsYXRlZC1kZXZpY2VzLXRvZ2dsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZW11bGF0ZWQtZGV2aWNlcy10b2dnbGUuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRW11bGF0ZWREZXZpY2VzVG9nZ2xlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoJ2VkaXRpbmctYXBwbGljYXRpb24nKVxuICAgIHB1YmxpYyBFZGl0aW5nQXBwbGljYXRpb246IEVhQ0FwcGxpY2F0aW9uQXNDb2RlO1xuXG4gICAgQE91dHB1dCgnc2F2ZS1mb3JtLWV2ZW50JylcbiAgICBwdWJsaWMgU2F2ZUZvcm1FdmVudDogRXZlbnRFbWl0dGVyPHt9PjtcblxuICAgIHB1YmxpYyBnZXQgSXNQcml2YXRlRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuRW11bGF0ZWREZXZpY2VzRm9ybUdyb3VwPy5jb250cm9scy5pc1ByaXZhdGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBJc1RyaWdnZXJTaWduSW5Gb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgICAgICByZXR1cm4gdGhpcy5FbXVsYXRlZERldmljZXNGb3JtR3JvdXA/LmNvbnRyb2xzLmlzVHJpZ2dlclNpZ25JbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IFN0YXRlKCk6IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVhY1N2Yy5TdGF0ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgRW11bGF0ZWREZXZpY2VzRm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgICBwdWJsaWMgUHJvY2Vzc29yVHlwZTogc3RyaW5nO1xuXG4gICAgcHVibGljIFNrZWxldG9uRWZmZWN0OiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZWFjU3ZjOiBFYUNTZXJ2aWNlLCBwcm90ZWN0ZWQgZm9ybUJsZHI6IEZvcm1CdWlsZGVyKSB7XG4gICAgICAgIHRoaXMuU2F2ZUZvcm1FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICAgICAgdGhpcy5Ta2VsZXRvbkVmZmVjdCA9ICd3YXZlJztcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0dXBFbXVsYXRlZERldmljZXNGb3JtR3JvdXAoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgRW11bGF0ZWREZXZpY2VzU3VibWl0KCkge1xuICAgICAgICAvL3NhdmUgdGhlIEVtdWxhdGVkRGV2aWNlcyBzZXR0aW5nc1xuICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICAgICdzdWJtaXR0aW5nIEVtdWxhdGVkRGV2aWNlcyB2YWx1ZXM6ICcsXG4gICAgICAgICAgICB0aGlzLkVtdWxhdGVkRGV2aWNlc0Zvcm1Hcm91cC52YWx1ZVxuICAgICAgICApO1xuICAgICAgICB0aGlzLlNhdmVGb3JtRXZlbnQuZW1pdCh0aGlzLkVtdWxhdGVkRGV2aWNlc0Zvcm1Hcm91cC52YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNldHVwRW11bGF0ZWREZXZpY2VzRm9ybUdyb3VwKCkge1xuICAgICAgICB0aGlzLlByb2Nlc3NvclR5cGUgPSB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbj8uUHJvY2Vzc29yPy5UeXBlIHx8ICcnO1xuICAgICAgICB0aGlzLkVtdWxhdGVkRGV2aWNlc0Zvcm1Hcm91cCA9IHRoaXMuZm9ybUJsZHIuZ3JvdXAoe30pO1xuICAgICAgICB0aGlzLnNldHVwRW11bGF0ZWREZXZpY2VzRm9ybSgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzZXR1cEVtdWxhdGVkRGV2aWNlc0Zvcm0oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuRW11bGF0ZWREZXZpY2VzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAgICAgICAnaXNFbXVsYXRlZCcsXG4gICAgICAgICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgICAgICAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uTG9va3VwQ29uZmlnPy5Jc1ByaXZhdGUgfHwgZmFsc2UsXG4gICAgICAgICAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiPGZvcm1cbiAgICBjbGFzcz1cImVtdWxhdGVkLWRldmljZXMtZm9ybVwiXG4gICAgW2Zvcm1Hcm91cF09XCJFbXVsYXRlZERldmljZXNGb3JtR3JvdXBcIlxuICAgIChuZ1N1Ym1pdCk9XCJFbXVsYXRlZERldmljZXNTdWJtaXQoKVwiXG4+XG4gICAgPG1hdC1jYXJkIGNsYXNzPVwiZmxvdy1jYXJkXCI+XG4gICAgICAgIDwhLS0gU0tFTEVUT04gTE9BRElORyAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIlN0YXRlPy5Mb2FkaW5nXCI+XG4gICAgICAgICAgICA8bWF0LWNhcmQtaGVhZGVyIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1iZXR3ZWVuIGNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxtYXQtY2FyZC10aXRsZSBza2VsZXRvbi10ZXh0IFtlZmZlY3RdPVwiU2tlbGV0b25FZmZlY3RcIj5cbiAgICAgICAgICAgICAgICAgICAgRW11bGF0ZWQgRGV2aWNlcyBTZXR0aW5nc1xuICAgICAgICAgICAgICAgIDwvbWF0LWNhcmQtdGl0bGU+XG4gICAgICAgICAgICAgICAgPGRpdiBmeExheW91dEFsaWduPVwic3BhY2UtYXJvdW5kIGNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHNrZWxldG9uLXRleHQgW2VmZmVjdF09XCJTa2VsZXRvbkVmZmVjdFwiPlhYWDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBza2VsZXRvbi10ZXh0IFtlZmZlY3RdPVwiU2tlbGV0b25FZmZlY3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIGluZm9fb3V0bGluZVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9tYXQtY2FyZC1oZWFkZXI+XG5cbiAgICAgICAgICAgIDxtYXQtY2FyZC1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBmeEZsZXg9XCIxMDAlXCJcbiAgICAgICAgICAgICAgICAgICAgc2tlbGV0b24tdGV4dFxuICAgICAgICAgICAgICAgICAgICBbZWZmZWN0XT1cIlNrZWxldG9uRWZmZWN0XCJcbiAgICAgICAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIHNrZWxldG9uLXRleHQgW2VmZmVjdF09XCJTa2VsZXRvbkVmZmVjdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgc2F2ZVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuXG4gICAgICAgICAgICAgICAgICAgIFNhdmUgU2V0dGluZ3NcbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtYWN0aW9ucz5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwhLS0gRU5EIFNLRUxFVE9OIExPQURJTkcgLS0+XG5cbiAgICAgICAgPCEtLSBCRUdJTiBBQ1RVQUwgQ09OVEVOVCAtLT5cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIVN0YXRlPy5Mb2FkaW5nXCI+XG4gICAgICAgICAgICA8bWF0LWNhcmQtaGVhZGVyPlxuICAgICAgICAgICAgICAgIDxtYXQtY2FyZC10aXRsZT4gRW11bGF0ZWQgRGV2aWNlIFNldHRpbmdzIDwvbWF0LWNhcmQtdGl0bGU+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGZ4RmxleD48L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImlzUHJpdmF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJJcyBTZWN1cmUgQXBwbGljYXRpb24/XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuXG4gICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiQSBTZWN1cmVkIEFwcGxpY2F0aW9uIGlzIG9uZSB0aGF0IHJlcXVpcmVzIHRoZSB1c2VyIHRvIGJlIGF1dGhlbnRpY2F0ZWQgdG8gdXNlIHRoZSBhcHBsaWNhdGlvbi4gVGhlIGFwcGxpY2F0aW9uIGlzIGhvc3RlZCBiZWhpbmQgYW4gaWRlbnRpdHkgd2FsbC5cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgaW5mb19vdXRsaW5lXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtaGVhZGVyPlxuXG4gICAgICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiSXNQcml2YXRlRm9ybUNvbnRyb2wudmFsdWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgZm9ybUNvbnRyb2xOYW1lPVwiaXNUcmlnZ2VyU2lnbkluXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElzIFRyaWdnZXIgU2lnbiBJbiBBcHBsaWNhdGlvbj9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJBIFRyaWdnZXIgU2lnbiBJbiBBcHBsaWNhdGlvbiB3aWxsIGRpcmVjdCB0aGUgdXNlciB0byBzaWduIGluIGlmIHRoZXkgYXJlIG5vdCBhbHJlYWR5LlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZvX291dGxpbmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuXG4gICAgICAgICAgICA8bWF0LWNhcmQtYWN0aW9ucyBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgICAgICAgIGZ4RmxleD1cIjEwMCVcIlxuICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAhRW11bGF0ZWREZXZpY2VzRm9ybUdyb3VwLnZhbGlkIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAhRW11bGF0ZWREZXZpY2VzRm9ybUdyb3VwLmRpcnR5XG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+c2F2ZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIFNhdmUgU2V0dGluZ3NcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtYWN0aW9ucz5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9tYXQtY2FyZD5cbjwvZm9ybT5cbiJdfQ==