@hmcts/ccd-case-ui-toolkit 7.1.35-qm-callbackerror → 7.1.35-ungrey-back-button

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 (114) hide show
  1. package/esm2022/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.mjs +110 -33
  2. package/esm2022/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.mjs +70 -43
  3. package/esm2022/lib/shared/components/case-editor/case-editor.module.mjs +7 -4
  4. package/esm2022/lib/shared/components/case-editor/services/case-flag-state.service.mjs +3 -1
  5. package/esm2022/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.mjs +14 -4
  6. package/esm2022/lib/shared/components/palette/base-field/abstract-field-write-journey.component.mjs +96 -0
  7. package/esm2022/lib/shared/components/palette/base-field/abstract-journey.component.mjs +82 -0
  8. package/esm2022/lib/shared/components/palette/base-field/index.mjs +3 -1
  9. package/esm2022/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.mjs +21 -21
  10. package/esm2022/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.mjs +3 -3
  11. package/esm2022/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.mjs +25 -22
  12. package/esm2022/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.mjs +82 -35
  13. package/esm2022/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.mjs +32 -29
  14. package/esm2022/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.mjs +33 -28
  15. package/esm2022/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.mjs +174 -71
  16. package/esm2022/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.mjs +28 -28
  17. package/esm2022/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.mjs +124 -105
  18. package/esm2022/lib/shared/components/palette/case-flag/read-case-flag-field.component.mjs +31 -4
  19. package/esm2022/lib/shared/components/palette/case-flag/write-case-flag-field.component.mjs +139 -33
  20. package/esm2022/lib/shared/components/palette/history/event-log/event-log.component.mjs +9 -9
  21. package/esm2022/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.mjs +39 -22
  22. package/esm2022/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.mjs +19 -7
  23. package/esm2022/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.mjs +91 -61
  24. package/esm2022/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.mjs +13 -9
  25. package/esm2022/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.mjs +85 -48
  26. package/esm2022/lib/shared/components/palette/linked-cases/services/linked-cases.service.mjs +22 -2
  27. package/esm2022/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.mjs +126 -30
  28. package/esm2022/lib/shared/components/palette/palette.module.mjs +4 -3
  29. package/esm2022/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.mjs +12 -10
  30. package/esm2022/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.mjs +50 -29
  31. package/esm2022/lib/shared/components/palette/query-management/components/query-details/query-details.component.mjs +158 -104
  32. package/esm2022/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.mjs +104 -41
  33. package/esm2022/lib/shared/components/palette/query-management/read-query-management-field.component.mjs +4 -21
  34. package/esm2022/lib/shared/domain/index.mjs +2 -1
  35. package/esm2022/lib/shared/domain/journey/index.mjs +3 -0
  36. package/esm2022/lib/shared/domain/journey/journey-instigator.model.mjs +2 -0
  37. package/esm2022/lib/shared/domain/journey/journey.model.mjs +2 -0
  38. package/esm2022/lib/shared/pipes/complex/ccd-page-fields.pipe.mjs +2 -2
  39. package/esm2022/lib/shared/services/index.mjs +2 -1
  40. package/esm2022/lib/shared/services/journey/index.mjs +2 -0
  41. package/esm2022/lib/shared/services/journey/multipage-component-state.service.mjs +117 -0
  42. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +2035 -1028
  43. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  44. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts +17 -3
  45. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
  46. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts +10 -2
  47. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts.map +1 -1
  48. package/lib/shared/components/case-editor/case-editor.module.d.ts.map +1 -1
  49. package/lib/shared/components/case-editor/services/case-flag-state.service.d.ts +1 -0
  50. package/lib/shared/components/case-editor/services/case-flag-state.service.d.ts.map +1 -1
  51. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts +2 -1
  52. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts.map +1 -1
  53. package/lib/shared/components/palette/base-field/abstract-field-write-journey.component.d.ts +30 -0
  54. package/lib/shared/components/palette/base-field/abstract-field-write-journey.component.d.ts.map +1 -0
  55. package/lib/shared/components/palette/base-field/abstract-journey.component.d.ts +27 -0
  56. package/lib/shared/components/palette/base-field/abstract-journey.component.d.ts.map +1 -0
  57. package/lib/shared/components/palette/base-field/index.d.ts +2 -0
  58. package/lib/shared/components/palette/base-field/index.d.ts.map +1 -1
  59. package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts +4 -2
  60. package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts.map +1 -1
  61. package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts +4 -2
  62. package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts.map +1 -1
  63. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts +13 -4
  64. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts.map +1 -1
  65. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts +6 -3
  66. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts.map +1 -1
  67. package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts +5 -2
  68. package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts.map +1 -1
  69. package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts +21 -6
  70. package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts.map +1 -1
  71. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.d.ts +4 -2
  72. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.d.ts.map +1 -1
  73. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts +7 -3
  74. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts.map +1 -1
  75. package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts +1 -0
  76. package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts.map +1 -1
  77. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts +16 -6
  78. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts.map +1 -1
  79. package/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.d.ts +6 -4
  80. package/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.d.ts.map +1 -1
  81. package/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.d.ts +6 -2
  82. package/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.d.ts.map +1 -1
  83. package/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.d.ts +7 -3
  84. package/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.d.ts.map +1 -1
  85. package/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.d.ts +5 -2
  86. package/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.d.ts.map +1 -1
  87. package/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.d.ts +9 -3
  88. package/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.d.ts.map +1 -1
  89. package/lib/shared/components/palette/linked-cases/services/linked-cases.service.d.ts +7 -0
  90. package/lib/shared/components/palette/linked-cases/services/linked-cases.service.d.ts.map +1 -1
  91. package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts +10 -3
  92. package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts.map +1 -1
  93. package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.d.ts.map +1 -1
  94. package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts +5 -1
  95. package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts.map +1 -1
  96. package/lib/shared/components/palette/query-management/components/query-details/query-details.component.d.ts +17 -5
  97. package/lib/shared/components/palette/query-management/components/query-details/query-details.component.d.ts.map +1 -1
  98. package/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.d.ts +17 -5
  99. package/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.d.ts.map +1 -1
  100. package/lib/shared/domain/index.d.ts +1 -0
  101. package/lib/shared/domain/index.d.ts.map +1 -1
  102. package/lib/shared/domain/journey/index.d.ts +3 -0
  103. package/lib/shared/domain/journey/index.d.ts.map +1 -0
  104. package/lib/shared/domain/journey/journey-instigator.model.d.ts +5 -0
  105. package/lib/shared/domain/journey/journey-instigator.model.d.ts.map +1 -0
  106. package/lib/shared/domain/journey/journey.model.d.ts +19 -0
  107. package/lib/shared/domain/journey/journey.model.d.ts.map +1 -0
  108. package/lib/shared/services/index.d.ts +1 -0
  109. package/lib/shared/services/index.d.ts.map +1 -1
  110. package/lib/shared/services/journey/index.d.ts +2 -0
  111. package/lib/shared/services/journey/index.d.ts.map +1 -0
  112. package/lib/shared/services/journey/multipage-component-state.service.d.ts +26 -0
  113. package/lib/shared/services/journey/multipage-component-state.service.d.ts.map +1 -0
  114. package/package.json +1 -1
@@ -105,6 +105,7 @@ import * as i18 from "../../pipes/case-reference/case-reference.pipe";
105
105
  import * as i19 from "../../pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe";
106
106
  import * as i20 from "../../pipes/link-cases-from-reason-code/ccd-link-cases-from-reason-code.pipe";
107
107
  import * as i21 from "@angular/router";
108
+ import * as i22 from "../../../components/banners/alert/alert.component";
108
109
  const PALETTE_COMPONENTS = [
109
110
  UnsupportedFieldComponent,
110
111
  DatetimePickerComponent,
@@ -715,7 +716,7 @@ CaseFlagTableComponent, function () { return [i5.NgForOf, i5.NgIf]; }, function
715
716
  i0.ɵɵsetComponentScope(SelectFlagTypeComponent, function () { return [i5.NgClass, i5.NgForOf, i5.NgIf, i4.DefaultValueAccessor, i4.CheckboxControlValueAccessor, i4.RadioControlValueAccessor, i4.NgControlStatus, i4.NgControlStatusGroup, i4.FormGroupDirective, i4.FormControlName]; }, function () { return [i3.RpxTranslatePipe, FlagFieldDisplayPipe]; });
716
717
  i0.ɵɵsetComponentScope(SearchLanguageInterpreterComponent, function () { return [i5.NgClass, i5.NgForOf, i5.NgIf, i4.DefaultValueAccessor, i4.NgControlStatus, i4.NgControlStatusGroup, i4.FormGroupDirective, i4.FormControlName, i15.MatLegacyInput, i16.MatLegacyAutocomplete, i16.MatLegacyAutocompleteTrigger, i17.MatLegacyOption]; }, function () { return [i5.AsyncPipe, i3.RpxTranslatePipe, FlagFieldDisplayPipe,
717
718
  LanguageInterpreterDisplayPipe]; });
718
- i0.ɵɵsetComponentScope(ManageCaseFlagsComponent, function () { return [i5.NgClass, i5.NgForOf, i5.NgIf, i4.DefaultValueAccessor, i4.RadioControlValueAccessor, i4.NgControlStatus, i4.NgControlStatusGroup, i4.FormGroupDirective, i4.FormControlName]; }, function () { return [i3.RpxTranslatePipe, ManageCaseFlagsLabelDisplayPipe]; });
719
+ i0.ɵɵsetComponentScope(ManageCaseFlagsComponent, function () { return [i5.NgClass, i5.NgForOf, i5.NgIf, i4.NgControlStatusGroup, i4.FormGroupDirective]; }, function () { return [i3.RpxTranslatePipe, ManageCaseFlagsLabelDisplayPipe]; });
719
720
  i0.ɵɵsetComponentScope(UpdateFlagComponent, function () { return [i5.NgClass, i5.NgForOf, i5.NgIf, i5.NgTemplateOutlet, i4.DefaultValueAccessor, i4.CheckboxControlValueAccessor, i4.RadioControlValueAccessor, i4.NgControlStatus, i4.NgControlStatusGroup, i4.FormGroupDirective, i4.FormControlName]; }, function () { return [i3.RpxTranslatePipe, UpdateFlagTitleDisplayPipe]; });
720
721
  i0.ɵɵsetComponentScope(
721
722
  // Components for linked cases
@@ -727,7 +728,7 @@ i0.ɵɵsetComponentScope(
727
728
  // Components for Query Management
728
729
  ReadQueryManagementFieldComponent, function () { return [i5.NgForOf, i5.NgIf, i21.RouterLink, QueryDetailsComponent,
729
730
  QueryListComponent]; }, function () { return [i3.RpxTranslatePipe]; });
730
- i0.ɵɵsetComponentScope(QueryDetailsComponent, function () { return [i5.NgForOf, i5.NgIf, QueryAttachmentsReadComponent]; }, function () { return [i5.DatePipe, i3.RpxTranslatePipe]; });
731
+ i0.ɵɵsetComponentScope(QueryDetailsComponent, function () { return [i5.NgForOf, i5.NgIf, i22.AlertComponent, QueryAttachmentsReadComponent]; }, function () { return [i5.DatePipe, i3.RpxTranslatePipe]; });
731
732
  i0.ɵɵsetComponentScope(QueryWriteRespondToQueryComponent, function () { return [i5.NgIf, i4.DefaultValueAccessor, i4.NgControlStatus, i4.NgControlStatusGroup, i4.FormGroupDirective, i4.FormControlName, QueryDetailsComponent,
732
733
  QueryCaseDetailsHeaderComponent]; }, function () { return [i3.RpxTranslatePipe]; });
733
734
  i0.ɵɵsetComponentScope(QueryWriteRaiseQueryComponent, function () { return [i5.NgClass, i5.NgIf, i4.DefaultValueAccessor, i4.RadioControlValueAccessor, i4.NgControlStatus, i4.NgControlStatusGroup, i4.FormGroupDirective, i4.FormControlName, QueryCaseDetailsHeaderComponent,
@@ -744,4 +745,4 @@ i0.ɵɵsetComponentScope(
744
745
  // Case event completion
745
746
  CaseEventCompletionComponent, function () { return [i5.NgIf, CaseEventCompletionTaskCancelledComponent,
746
747
  CaseEventCompletionTaskReassignedComponent]; }, []);
747
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFsZXR0ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9wYWxldHRlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMxSSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFZLHNCQUFzQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsMkJBQTJCLElBQUkscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RyxPQUFPLEVBQUUsc0JBQXNCLElBQUksZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHFCQUFxQixJQUFJLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNGLE9BQU8sRUFBRSx3QkFBd0IsSUFBSSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxvQkFBb0IsSUFBSSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFn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N0Isa0JBQWtCO3VCQUNsQix5QkFBeUI7O0FBSXpCLGtDQUFrQztBQUNsQyxpQ0FBaUMsNkRBQ2pDLHFCQUFxQjtJQUNyQixrQkFBa0I7dUJBRGxCLHFCQUFxQiw2Q0FVckIsNkJBQTZCO3VCQVI3QixpQ0FBaUMsa0pBRmpDLHFCQUFxQjtJQUlyQiwrQkFBK0I7dUJBRC9CLDZCQUE2Qiw0TEFDN0IsK0JBQStCO0lBRy9CLDRCQUE0Qjt1QkFGNUIsOEJBQThCLDZDQUQ5QiwrQkFBK0I7SUFNL0IsNkJBQTZCO0lBQzdCLDZCQUE2Qjt1QkFMN0IsK0JBQStCLHdFQTVDL0IsNkJBQTZCO3VCQWdEN0IsNkJBQTZCLGlDQXRHN0IsNEJBQTRCO3VCQXVHNUIsNkJBQTZCO0lBRzdCLHdCQUF3QjtJQUN4Qiw0QkFBNEI7O0FBRDVCLHdCQUF3QjtBQUN4Qiw0QkFBNEIsaUNBQzVCLHlDQUF5QztJQUN6QywwQ0FBMEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ3hNYXREYXRldGltZVBpY2tlck1vZHVsZSwgTmd4TWF0TmF0aXZlRGF0ZU1vZHVsZSwgTmd4TWF0VGltZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyLW1hdGVyaWFsLWNvbXBvbmVudHMvZGF0ZXRpbWUtcGlja2VyJztcbmltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDZGtUcmVlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RyZWUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBOZ01vZHVsZSwgUHJvdmlkZXIsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0TGVnYWN5QXV0b2NvbXBsZXRlTW9kdWxlIGFzIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgTUFUX0xFR0FDWV9EQVRFX0xPQ0FMRSBhcyBNQVRfREFURV9MT0NBTEUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktY29yZSc7XG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBNYXRMZWdhY3lEaWFsb2dNb2R1bGUgYXMgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWRpYWxvZyc7XG5pbXBvcnQgeyBNYXRMZWdhY3lGb3JtRmllbGRNb2R1bGUgYXMgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWZvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0TGVnYWN5SW5wdXRNb2R1bGUgYXMgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktaW5wdXQnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFBheW1lbnRMaWJNb2R1bGUgfSBmcm9tICdAaG1jdHMvY2NwYXktd2ViLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZWRpYVZpZXdlck1vZHVsZSB9IGZyb20gJ0BobWN0cy9tZWRpYS12aWV3ZXInO1xuaW1wb3J0IHsgU2Nyb2xsVG9Nb2R1bGUgfSBmcm9tICdAbmlja3ktbGVuYWVycy9uZ3gtc2Nyb2xsLXRvJztcbmltcG9ydCB7IE1hcmtkb3duTW9kdWxlIH0gZnJvbSAnbmd4LW1hcmtkb3duJztcbmltcG9ydCB7IFJweFRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSAncnB4LXh1aS10cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBIZWFkZXJzTW9kdWxlLCBUYWJzTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBCYW5uZXJzTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9iYW5uZXJzL2Jhbm5lcnMubW9kdWxlJztcbmltcG9ydCB7IEJvZHlNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2JvZHkvYm9keS5tb2R1bGUnO1xuaW1wb3J0IHsgRm9vdGVyc01vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3RlcnMubW9kdWxlJztcbmltcG9ydCB7IEZvcm1Nb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2Zvcm0vZm9ybS5tb2R1bGUnO1xuaW1wb3J0IHsgQ2FzZUVkaXREYXRhTW9kdWxlIH0gZnJvbSAnLi4vLi4vY29tbW9ucy9jYXNlLWVkaXQtZGF0YSc7XG5pbXBvcnQgeyBMYWJlbFN1YnN0aXR1dG9yTW9kdWxlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9zdWJzdGl0dXRvcic7XG5pbXBvcnQgeyBQaXBlc01vZHVsZSB9IGZyb20gJy4uLy4uL3BpcGVzL3BpcGVzLm1vZHVsZSc7XG5pbXBvcnQgeyBDYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2FzZS1mbGFnL2Nhc2UtZmxhZy1yZWZkYXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbW9uRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb21tb24tZGF0YS1zZXJ2aWNlL2NvbW1vbi1kYXRhLXNlcnZpY2UnO1xuaW1wb3J0IHsgRm9ybVZhbGlkYXRvcnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZm9ybS9mb3JtLXZhbGlkYXRvcnMuc2VydmljZSc7XG5pbXBvcnQgeyBKdXJpc2RpY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvanVyaXNkaWN0aW9uL2p1cmlzZGljdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IExvYWRpbmdNb2R1bGUgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2FkaW5nL2xvYWRpbmcubW9kdWxlJztcbmltcG9ydCB7IFdpbmRvd1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy93aW5kb3cnO1xuaW1wb3J0IHsgQ2FzZUV2ZW50Q29tcGxldGlvbkNvbXBvbmVudCwgQ2FzZUV2ZW50Q29tcGxldGlvblRhc2tDYW5jZWxsZWRDb21wb25lbnQsIENhc2VFdmVudENvbXBsZXRpb25UYXNrUmVhc3NpZ25lZENvbXBvbmVudCB9IGZyb20gJy4uL2Nhc2UtZWRpdG9yL2Nhc2UtZXZlbnQtY29tcGxldGlvbic7XG5pbXBvcnQgeyBXcml0ZUFkZHJlc3NGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vYWRkcmVzcy93cml0ZS1hZGRyZXNzLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWVsZFJlYWRDb21wb25lbnQsIEZpZWxkUmVhZExhYmVsQ29tcG9uZW50LCBGaWVsZFdyaXRlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXNlLWZpZWxkJztcbmltcG9ydCB7IENhc2VGaWxlVmlld092ZXJsYXlNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9jYXNlLWZpbGUtdmlldyc7XG5pbXBvcnQgeyBDYXNlRmlsZVZpZXdGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vY2FzZS1maWxlLXZpZXcvY2FzZS1maWxlLXZpZXctZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIENhc2VGaWxlVmlld0ZvbGRlclNlbGVjdG9yQ29tcG9uZW50XG59IGZyb20gJy4vY2FzZS1maWxlLXZpZXcvY29tcG9uZW50cy9jYXNlLWZpbGUtdmlldy1mb2xkZXItc2VsZWN0b3IvY2FzZS1maWxlLXZpZXctZm9sZGVyLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBDYXNlRmlsZVZpZXdGb2xkZXJEb2N1bWVudEFjdGlvbnNDb21wb25lbnRcbn0gZnJvbSAnLi9jYXNlLWZpbGUtdmlldy9jb21wb25lbnRzL2Nhc2UtZmlsZS12aWV3LWZvbGRlci9jYXNlLWZpbGUtdmlldy1mb2xkZXItZG9jdW1lbnQtYWN0aW9ucy9jYXNlLWZpbGUtdmlldy1mb2xkZXItZG9jdW1lbnQtYWN0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgQ2FzZUZpbGVWaWV3Rm9sZGVyU29ydENvbXBvbmVudFxufSBmcm9tICcuL2Nhc2UtZmlsZS12aWV3L2NvbXBvbmVudHMvY2FzZS1maWxlLXZpZXctZm9sZGVyL2Nhc2UtZmlsZS12aWV3LWZvbGRlci1zb3J0L2Nhc2UtZmlsZS12aWV3LWZvbGRlci1zb3J0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYXNlRmlsZVZpZXdGb2xkZXJDb21wb25lbnQgfSBmcm9tICcuL2Nhc2UtZmlsZS12aWV3L2NvbXBvbmVudHMvY2FzZS1maWxlLXZpZXctZm9sZGVyL2Nhc2UtZmlsZS12aWV3LWZvbGRlci5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgQWRkQ29tbWVudHNDb21wb25lbnQsXG4gIENhc2VGbGFnU3VtbWFyeUxpc3RDb21wb25lbnQsXG4gIENhc2VGbGFnVGFibGVDb21wb25lbnQsXG4gIENvbmZpcm1GbGFnU3RhdHVzQ29tcG9uZW50LFxuICBGbGFnRmllbGREaXNwbGF5UGlwZSxcbiAgTGFuZ3VhZ2VJbnRlcnByZXRlckRpc3BsYXlQaXBlLFxuICBNYW5hZ2VDYXNlRmxhZ3NDb21wb25lbnQsXG4gIE1hbmFnZUNhc2VGbGFnc0xhYmVsRGlzcGxheVBpcGUsXG4gIFJlYWRDYXNlRmxhZ0ZpZWxkQ29tcG9uZW50LFxuICBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29tcG9uZW50LFxuICBTZWxlY3RGbGFnTG9jYXRpb25Db21wb25lbnQsXG4gIFNlbGVjdEZsYWdUeXBlQ29tcG9uZW50LFxuICBVcGRhdGVGbGFnQWRkVHJhbnNsYXRpb25Gb3JtQ29tcG9uZW50LFxuICBVcGRhdGVGbGFnQ29tcG9uZW50LFxuICBVcGRhdGVGbGFnVGl0bGVEaXNwbGF5UGlwZSxcbiAgV3JpdGVDYXNlRmxhZ0ZpZWxkQ29tcG9uZW50XG59IGZyb20gJy4vY2FzZS1mbGFnJztcbmltcG9ydCB7IFJlYWRDYXNlTGlua0ZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9jYXNlLWxpbmsvcmVhZC1jYXNlLWxpbmstZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IFdyaXRlQ2FzZUxpbmtGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vY2FzZS1saW5rL3dyaXRlLWNhc2UtbGluay1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVhZENvbGxlY3Rpb25GaWVsZENvbXBvbmVudCwgV3JpdGVDb2xsZWN0aW9uRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgQ29sbGVjdGlvbkNyZWF0ZUNoZWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi9jb2xsZWN0aW9uL2NvbGxlY3Rpb24tY3JlYXRlLWNoZWNrZXIuc2VydmljZSc7XG5pbXBvcnQge1xuICBSZWFkQ29tcGxleEZpZWxkQ29sbGVjdGlvblRhYmxlQ29tcG9uZW50LFxuICBSZWFkQ29tcGxleEZpZWxkQ29tcG9uZW50LFxuICBSZWFkQ29tcGxleEZpZWxkUmF3Q29tcG9uZW50LFxuICBSZWFkQ29tcGxleEZpZWxkVGFibGVDb21wb25lbnQsXG4gIFdyaXRlQ29tcGxleEZpZWxkQ29tcG9uZW50XG59IGZyb20gJy4vY29tcGxleCc7XG5pbXBvcnQgeyBSZWFkRGF0ZUZpZWxkQ29tcG9uZW50LCBXcml0ZURhdGVDb250YWluZXJGaWVsZENvbXBvbmVudCwgV3JpdGVEYXRlRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2RhdGUnO1xuaW1wb3J0IHsgRGF0ZXRpbWVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGV0aW1lLXBpY2tlcic7XG5pbXBvcnQgeyBEb2N1bWVudFVybFBpcGUgfSBmcm9tICcuL2RvY3VtZW50JztcbmltcG9ydCB7IEZpbGVVcGxvYWRQcm9ncmVzc0d1YXJkIH0gZnJvbSAnLi9kb2N1bWVudC9maWxlLXVwbG9hZC1wcm9ncmVzcy5ndWFyZCc7XG5pbXBvcnQgeyBGaWxlVXBsb2FkU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi9kb2N1bWVudC9maWxlLXVwbG9hZC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IFJlYWREb2N1bWVudEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9kb2N1bWVudC9yZWFkLWRvY3VtZW50LWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQgfSBmcm9tICcuL2RvY3VtZW50L3dyaXRlLWRvY3VtZW50LWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljTGlzdFBpcGUsIFJlYWREeW5hbWljTGlzdEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWxpc3QnO1xuaW1wb3J0IHsgV3JpdGVEeW5hbWljTGlzdEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWxpc3Qvd3JpdGUtZHluYW1pYy1saXN0LWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZWFkRHluYW1pY011bHRpU2VsZWN0TGlzdEZpZWxkQ29tcG9uZW50LCBXcml0ZUR5bmFtaWNNdWx0aVNlbGVjdExpc3RGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1tdWx0aS1zZWxlY3QtbGlzdCc7XG5pbXBvcnQgeyBEeW5hbWljUmFkaW9MaXN0UGlwZSwgUmVhZER5bmFtaWNSYWRpb0xpc3RGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1yYWRpby1saXN0JztcbmltcG9ydCB7IFdyaXRlRHluYW1pY1JhZGlvTGlzdEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLXJhZGlvLWxpc3Qvd3JpdGUtZHluYW1pYy1yYWRpby1saXN0LWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZWFkRW1haWxGaWVsZENvbXBvbmVudCwgV3JpdGVFbWFpbEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9lbWFpbCc7XG5pbXBvcnQgeyBGaXhlZExpc3RQaXBlLCBSZWFkRml4ZWRMaXN0RmllbGRDb21wb25lbnQsIFdyaXRlRml4ZWRMaXN0RmllbGRDb21wb25lbnQgfSBmcm9tICcuL2ZpeGVkLWxpc3QnO1xuaW1wb3J0IHsgRml4ZWRSYWRpb0xpc3RQaXBlLCBSZWFkRml4ZWRSYWRpb0xpc3RGaWVsZENvbXBvbmVudCwgV3JpdGVGaXhlZFJhZGlvTGlzdEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9maXhlZC1yYWRpby1saXN0JztcbmltcG9ydCB7IENhc2VIaXN0b3J5Vmlld2VyRmllbGRDb21wb25lbnQsIEV2ZW50TG9nQ29tcG9uZW50LCBFdmVudExvZ0RldGFpbHNDb21wb25lbnQsIEV2ZW50TG9nVGFibGVDb21wb25lbnQgfSBmcm9tICcuL2hpc3RvcnknO1xuaW1wb3J0IHsgUmVhZEp1ZGljaWFsVXNlckZpZWxkQ29tcG9uZW50LCBXcml0ZUp1ZGljaWFsVXNlckZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9qdWRpY2lhbC11c2VyJztcbmltcG9ydCB7IExhYmVsRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2xhYmVsJztcbmltcG9ydCB7XG4gIEJlZm9yZVlvdVN0YXJ0Q29tcG9uZW50LFxuICBDaGVja1lvdXJBbnN3ZXJzQ29tcG9uZW50LFxuICBMaW5rQ2FzZXNDb21wb25lbnQsXG4gIExpbmtlZENhc2VzRnJvbVRhYmxlQ29tcG9uZW50LFxuICBMaW5rZWRDYXNlc1RvVGFibGVDb21wb25lbnQsXG4gIE5vTGlua2VkQ2FzZXNDb21wb25lbnQsXG4gIFJlYWRMaW5rZWRDYXNlc0ZpZWxkQ29tcG9uZW50LFxuICBVbkxpbmtDYXNlc0NvbXBvbmVudCxcbiAgV3JpdGVMaW5rZWRDYXNlc0ZpZWxkQ29tcG9uZW50XG59IGZyb20gJy4vbGlua2VkLWNhc2VzJztcbmltcG9ydCB7IExpbmtlZENhc2VzU2VydmljZSB9IGZyb20gJy4vbGlua2VkLWNhc2VzL3NlcnZpY2VzJztcbmltcG9ydCB7IE1hcmtkb3duQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi9tYXJrZG93bic7XG5pbXBvcnQgeyBNb25leUdicElucHV0Q29tcG9uZW50LCBSZWFkTW9uZXlHYnBGaWVsZENvbXBvbmVudCwgV3JpdGVNb25leUdicEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9tb25leS1nYnAnO1xuaW1wb3J0IHsgUmVhZE11bHRpU2VsZWN0TGlzdEZpZWxkQ29tcG9uZW50LCBXcml0ZU11bHRpU2VsZWN0TGlzdEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9tdWx0aS1zZWxlY3QtbGlzdCc7XG5pbXBvcnQgeyBSZWFkTnVtYmVyRmllbGRDb21wb25lbnQsIFdyaXRlTnVtYmVyRmllbGRDb21wb25lbnQgfSBmcm9tICcuL251bWJlcic7XG5pbXBvcnQgeyBSZWFkT3JkZXJTdW1tYXJ5RmllbGRDb21wb25lbnQsIFJlYWRPcmRlclN1bW1hcnlSb3dDb21wb25lbnQsIFdyaXRlT3JkZXJTdW1tYXJ5RmllbGRDb21wb25lbnQgfSBmcm9tICcuL29yZGVyLXN1bW1hcnknO1xuaW1wb3J0IHtcbiAgUmVhZE9yZ2FuaXNhdGlvbkZpZWxkQ29tcG9uZW50LFxuICBSZWFkT3JnYW5pc2F0aW9uRmllbGRSYXdDb21wb25lbnQsXG4gIFJlYWRPcmdhbmlzYXRpb25GaWVsZFRhYmxlQ29tcG9uZW50LFxuICBXcml0ZU9yZ2FuaXNhdGlvbkNvbXBsZXhGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVPcmdhbmlzYXRpb25GaWVsZENvbXBvbmVudFxufSBmcm9tICcuL29yZ2FuaXNhdGlvbic7XG5pbXBvcnQgeyBQYWxldHRlU2VydmljZSB9IGZyb20gJy4vcGFsZXR0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IENhc2VQYXltZW50SGlzdG9yeVZpZXdlckZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9wYXltZW50JztcbmltcG9ydCB7IFJlYWRQaG9uZVVLRmllbGRDb21wb25lbnQsIFdyaXRlUGhvbmVVS0ZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9waG9uZS11ayc7XG5pbXBvcnQge1xuICBRdWFsaWZ5aW5nUXVlc3Rpb25EZXRhaWxDb21wb25lbnQsXG4gIFF1YWxpZnlpbmdRdWVzdGlvbk9wdGlvbnNDb21wb25lbnQsXG4gIFF1ZXJ5QXR0YWNobWVudHNSZWFkQ29tcG9uZW50LFxuICBRdWVyeUNhc2VEZXRhaWxzSGVhZGVyQ29tcG9uZW50LFxuICBRdWVyeUNoZWNrWW91ckFuc3dlcnNDb21wb25lbnQsXG4gIFF1ZXJ5RGV0YWlsc0NvbXBvbmVudCxcbiAgUXVlcnlFdmVudENvbXBsZXRpb25Db21wb25lbnQsXG4gIFF1ZXJ5TGlzdENvbXBvbmVudCxcbiAgUXVlcnlXcml0ZUFkZERvY3VtZW50c0NvbXBvbmVudCxcbiAgUXVlcnlXcml0ZURhdGVJbnB1dENvbXBvbmVudCxcbiAgUXVlcnlXcml0ZVJhaXNlUXVlcnlDb21wb25lbnQsXG4gIFF1ZXJ5V3JpdGVSZXNwb25kVG9RdWVyeUNvbXBvbmVudCxcbiAgUmVhZFF1ZXJ5TWFuYWdlbWVudEZpZWxkQ29tcG9uZW50XG59IGZyb20gJy4vcXVlcnktbWFuYWdlbWVudCc7XG5pbXBvcnQgeyBRdWFsaWZ5aW5nUXVlc3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi9xdWVyeS1tYW5hZ2VtZW50L3NlcnZpY2VzJztcbmltcG9ydCB7IFJlYWRUZXh0RmllbGRDb21wb25lbnQsIFdyaXRlVGV4dEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi90ZXh0JztcbmltcG9ydCB7IFJlYWRUZXh0QXJlYUZpZWxkQ29tcG9uZW50LCBXcml0ZVRleHRBcmVhRmllbGRDb21wb25lbnQgfSBmcm9tICcuL3RleHQtYXJlYSc7XG5pbXBvcnQgeyBVbnN1cHBvcnRlZEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi91bnN1cHBvcnRlZC1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFsZXR0ZVV0aWxzTW9kdWxlIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBXYXlzVG9QYXlGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vd2F5c3RvcGF5JztcbmltcG9ydCB7IFJlYWRZZXNOb0ZpZWxkQ29tcG9uZW50LCBXcml0ZVllc05vRmllbGRDb21wb25lbnQsIFllc05vU2VydmljZSB9IGZyb20gJy4veWVzLW5vJztcbmltcG9ydCB7IFF1ZXJ5Q29uZmlybWF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9xdWVyeS1tYW5hZ2VtZW50L2NvbXBvbmVudHMvcXVlcnktY29uZmlybWF0aW9uL3F1ZXJ5LWNvbmZpcm1hdGlvbi5jb21wb25lbnQnO1xuXG5jb25zdCBQQUxFVFRFX0NPTVBPTkVOVFMgPSBbXG4gIFVuc3VwcG9ydGVkRmllbGRDb21wb25lbnQsXG4gIERhdGV0aW1lUGlja2VyQ29tcG9uZW50LFxuICBXYXlzVG9QYXlGaWVsZENvbXBvbmVudCxcbiAgRmllbGRSZWFkQ29tcG9uZW50LFxuICBGaWVsZFdyaXRlQ29tcG9uZW50LFxuICBGaWVsZFJlYWRMYWJlbENvbXBvbmVudCxcbiAgTGFiZWxGaWVsZENvbXBvbmVudCxcbiAgQ2FzZVBheW1lbnRIaXN0b3J5Vmlld2VyRmllbGRDb21wb25lbnQsXG4gIE1vbmV5R2JwSW5wdXRDb21wb25lbnQsXG4gIENhc2VIaXN0b3J5Vmlld2VyRmllbGRDb21wb25lbnQsXG4gIEV2ZW50TG9nQ29tcG9uZW50LFxuICBFdmVudExvZ0RldGFpbHNDb21wb25lbnQsXG4gIEV2ZW50TG9nVGFibGVDb21wb25lbnQsXG5cbiAgLy8gUmVhZFxuICBSZWFkVGV4dEZpZWxkQ29tcG9uZW50LFxuICBSZWFkVGV4dEFyZWFGaWVsZENvbXBvbmVudCxcbiAgUmVhZE51bWJlckZpZWxkQ29tcG9uZW50LFxuICBSZWFkRW1haWxGaWVsZENvbXBvbmVudCxcbiAgUmVhZFBob25lVUtGaWVsZENvbXBvbmVudCxcbiAgUmVhZERhdGVGaWVsZENvbXBvbmVudCxcbiAgUmVhZENvbGxlY3Rpb25GaWVsZENvbXBvbmVudCxcbiAgUmVhZERvY3VtZW50RmllbGRDb21wb25lbnQsXG5cbiAgLy8gbmV3XG4gIFJlYWRKdWRpY2lhbFVzZXJGaWVsZENvbXBvbmVudCxcbiAgUmVhZFllc05vRmllbGRDb21wb25lbnQsXG4gIFJlYWRPcmdhbmlzYXRpb25GaWVsZENvbXBvbmVudCxcbiAgUmVhZE9yZ2FuaXNhdGlvbkZpZWxkVGFibGVDb21wb25lbnQsXG4gIFJlYWRPcmdhbmlzYXRpb25GaWVsZFJhd0NvbXBvbmVudCxcbiAgUmVhZE9yZGVyU3VtbWFyeUZpZWxkQ29tcG9uZW50LFxuICBSZWFkT3JkZXJTdW1tYXJ5Um93Q29tcG9uZW50LFxuICBSZWFkTW9uZXlHYnBGaWVsZENvbXBvbmVudCxcbiAgUmVhZE11bHRpU2VsZWN0TGlzdEZpZWxkQ29tcG9uZW50LFxuICBSZWFkRHluYW1pY0xpc3RGaWVsZENvbXBvbmVudCxcbiAgUmVhZEZpeGVkTGlzdEZpZWxkQ29tcG9uZW50LFxuICBSZWFkRml4ZWRSYWRpb0xpc3RGaWVsZENvbXBvbmVudCxcbiAgUmVhZER5bmFtaWNSYWRpb0xpc3RGaWVsZENvbXBvbmVudCxcbiAgUmVhZENhc2VMaW5rRmllbGRDb21wb25lbnQsXG4gIFJlYWRDb21wbGV4RmllbGRDb21wb25lbnQsXG4gIFJlYWRDb21wbGV4RmllbGRSYXdDb21wb25lbnQsXG4gIFJlYWRDb21wbGV4RmllbGRUYWJsZUNvbXBvbmVudCxcbiAgUmVhZENvbXBsZXhGaWVsZENvbGxlY3Rpb25UYWJsZUNvbXBvbmVudCxcbiAgUmVhZENhc2VGbGFnRmllbGRDb21wb25lbnQsXG4gIFJlYWRMaW5rZWRDYXNlc0ZpZWxkQ29tcG9uZW50LFxuXG4gIC8vIFdyaXRlXG4gIFdyaXRlSnVkaWNpYWxVc2VyRmllbGRDb21wb25lbnQsXG4gIFdyaXRlQWRkcmVzc0ZpZWxkQ29tcG9uZW50LFxuICBXcml0ZUNvbXBsZXhGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVPcmdhbmlzYXRpb25Db21wbGV4RmllbGRDb21wb25lbnQsXG4gIFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVEeW5hbWljTGlzdEZpZWxkQ29tcG9uZW50LFxuICBXcml0ZUR5bmFtaWNSYWRpb0xpc3RGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVUZXh0RmllbGRDb21wb25lbnQsXG4gIFdyaXRlRGF0ZUNvbnRhaW5lckZpZWxkQ29tcG9uZW50LFxuICBXcml0ZVRleHRBcmVhRmllbGRDb21wb25lbnQsXG4gIFdyaXRlUGhvbmVVS0ZpZWxkQ29tcG9uZW50LFxuICBXcml0ZU51bWJlckZpZWxkQ29tcG9uZW50LFxuICBXcml0ZUVtYWlsRmllbGRDb21wb25lbnQsXG4gIFdyaXRlRGF0ZUZpZWxkQ29tcG9uZW50LFxuICBXcml0ZUNhc2VGbGFnRmllbGRDb21wb25lbnQsXG4gIFdyaXRlTGlua2VkQ2FzZXNGaWVsZENvbXBvbmVudCxcblxuICAvLyBuZXdcbiAgV3JpdGVZZXNOb0ZpZWxkQ29tcG9uZW50LFxuICBXcml0ZU9yZ2FuaXNhdGlvbkZpZWxkQ29tcG9uZW50LFxuICBXcml0ZU9yZ2FuaXNhdGlvbkNvbXBsZXhGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVPcmRlclN1bW1hcnlGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVNb25leUdicEZpZWxkQ29tcG9uZW50LFxuICBXcml0ZURhdGVDb250YWluZXJGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVNdWx0aVNlbGVjdExpc3RGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVGaXhlZExpc3RGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVGaXhlZFJhZGlvTGlzdEZpZWxkQ29tcG9uZW50LFxuICBXcml0ZUNhc2VMaW5rRmllbGRDb21wb25lbnQsXG4gIFdyaXRlQ29sbGVjdGlvbkZpZWxkQ29tcG9uZW50LFxuXG4gIC8vIENvbXBvbmVudExhdW5jaGVyIHdlYiBjb21wb25lbnRzXG4gIENhc2VGaWxlVmlld0ZpZWxkQ29tcG9uZW50LFxuICBDYXNlRmlsZVZpZXdGb2xkZXJDb21wb25lbnQsXG4gIENhc2VGaWxlVmlld0ZvbGRlclNvcnRDb21wb25lbnQsXG4gIENhc2VGaWxlVmlld092ZXJsYXlNZW51Q29tcG9uZW50LFxuICBDYXNlRmlsZVZpZXdGb2xkZXJEb2N1bWVudEFjdGlvbnNDb21wb25lbnQsXG4gIENhc2VGaWxlVmlld0ZvbGRlclNlbGVjdG9yQ29tcG9uZW50LFxuICAvLyBjb21wb25lbnQgZm9yIGR5bmFtaWMgbGlzdFxuICBXcml0ZUR5bmFtaWNNdWx0aVNlbGVjdExpc3RGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVEeW5hbWljUmFkaW9MaXN0RmllbGRDb21wb25lbnQsXG4gIFdyaXRlRHluYW1pY0xpc3RGaWVsZENvbXBvbmVudCxcbiAgUmVhZER5bmFtaWNNdWx0aVNlbGVjdExpc3RGaWVsZENvbXBvbmVudCxcbiAgUmVhZER5bmFtaWNMaXN0RmllbGRDb21wb25lbnQsXG4gIFJlYWREeW5hbWljUmFkaW9MaXN0RmllbGRDb21wb25lbnQsXG4gIC8vIENvbXBvbmVudHMgZm9yIGNhc2UgZmxhZ3NcbiAgQ2FzZUZsYWdUYWJsZUNvbXBvbmVudCxcbiAgU2VsZWN0RmxhZ1R5cGVDb21wb25lbnQsXG4gIFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb21wb25lbnQsXG4gIFNlbGVjdEZsYWdMb2NhdGlvbkNvbXBvbmVudCxcbiAgTWFuYWdlQ2FzZUZsYWdzQ29tcG9uZW50LFxuICBBZGRDb21tZW50c0NvbXBvbmVudCxcbiAgVXBkYXRlRmxhZ0NvbXBvbmVudCxcbiAgQ2FzZUZsYWdTdW1tYXJ5TGlzdENvbXBvbmVudCxcbiAgQ29uZmlybUZsYWdTdGF0dXNDb21wb25lbnQsXG4gIFVwZGF0ZUZsYWdBZGRUcmFuc2xhdGlvbkZvcm1Db21wb25lbnQsXG4gIC8vIENvbXBvbmVudHMgZm9yIGxpbmtlZCBjYXNlc1xuICBMaW5rZWRDYXNlc1RvVGFibGVDb21wb25lbnQsXG4gIExpbmtlZENhc2VzRnJvbVRhYmxlQ29tcG9uZW50LFxuICBCZWZvcmVZb3VTdGFydENvbXBvbmVudCxcbiAgTGlua0Nhc2VzQ29tcG9uZW50LFxuICBDaGVja1lvdXJBbnN3ZXJzQ29tcG9uZW50LFxuICBVbkxpbmtDYXNlc0NvbXBvbmVudCxcbiAgTm9MaW5rZWRDYXNlc0NvbXBvbmVudCxcblxuICAvLyBDb21wb25lbnRzIGZvciBRdWVyeSBNYW5hZ2VtZW50XG4gIFJlYWRRdWVyeU1hbmFnZW1lbnRGaWVsZENvbXBvbmVudCxcbiAgUXVlcnlEZXRhaWxzQ29tcG9uZW50LFxuICBRdWVyeUxpc3RDb21wb25lbnQsXG4gIFF1ZXJ5V3JpdGVSZXNwb25kVG9RdWVyeUNvbXBvbmVudCxcbiAgUXVlcnlXcml0ZVJhaXNlUXVlcnlDb21wb25lbnQsXG4gIFF1ZXJ5Q2FzZURldGFpbHNIZWFkZXJDb21wb25lbnQsXG4gIFF1ZXJ5Q2hlY2tZb3VyQW5zd2Vyc0NvbXBvbmVudCxcbiAgUXVlcnlXcml0ZUFkZERvY3VtZW50c0NvbXBvbmVudCxcbiAgUXVlcnlXcml0ZURhdGVJbnB1dENvbXBvbmVudCxcbiAgUXVhbGlmeWluZ1F1ZXN0aW9uT3B0aW9uc0NvbXBvbmVudCxcbiAgUXVhbGlmeWluZ1F1ZXN0aW9uRGV0YWlsQ29tcG9uZW50LFxuICBRdWVyeUF0dGFjaG1lbnRzUmVhZENvbXBvbmVudCxcbiAgUXVlcnlFdmVudENvbXBsZXRpb25Db21wb25lbnQsXG4gIFF1ZXJ5Q29uZmlybWF0aW9uQ29tcG9uZW50LFxuXG4gIC8vIENhc2UgZXZlbnQgY29tcGxldGlvblxuICBDYXNlRXZlbnRDb21wbGV0aW9uQ29tcG9uZW50LFxuICBDYXNlRXZlbnRDb21wbGV0aW9uVGFza0NhbmNlbGxlZENvbXBvbmVudCxcbiAgQ2FzZUV2ZW50Q29tcGxldGlvblRhc2tSZWFzc2lnbmVkQ29tcG9uZW50XG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIENhc2VFZGl0RGF0YU1vZHVsZSxcbiAgICBQYWxldHRlVXRpbHNNb2R1bGUsXG4gICAgUGlwZXNNb2R1bGUsXG4gICAgQmFubmVyc01vZHVsZSxcbiAgICBIZWFkZXJzTW9kdWxlLFxuICAgIEZvb3RlcnNNb2R1bGUsXG4gICAgQm9keU1vZHVsZSxcbiAgICBGb3JtTW9kdWxlLFxuICAgIFRhYnNNb2R1bGUsXG4gICAgTGFiZWxTdWJzdGl0dXRvck1vZHVsZSxcbiAgICBNYXJrZG93bk1vZHVsZS5mb3JDaGlsZCgpLFxuICAgIE5neE1hdERhdGV0aW1lUGlja2VyTW9kdWxlLFxuICAgIE5neE1hdFRpbWVwaWNrZXJNb2R1bGUsXG4gICAgTmd4TWF0TmF0aXZlRGF0ZU1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXG4gICAgQ2RrVHJlZU1vZHVsZSxcbiAgICBPdmVybGF5TW9kdWxlLFxuICAgIFBheW1lbnRMaWJNb2R1bGUsXG4gICAgU2Nyb2xsVG9Nb2R1bGUuZm9yUm9vdCgpLFxuICAgIFJweFRyYW5zbGF0aW9uTW9kdWxlLmZvckNoaWxkKCksXG4gICAgQ2RrVHJlZU1vZHVsZSxcbiAgICBPdmVybGF5TW9kdWxlLFxuICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICBNZWRpYVZpZXdlck1vZHVsZSxcbiAgICBMb2FkaW5nTW9kdWxlLFxuICAgIE1hcmtkb3duQ29tcG9uZW50TW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEZpeGVkTGlzdFBpcGUsXG4gICAgRml4ZWRSYWRpb0xpc3RQaXBlLFxuICAgIER5bmFtaWNMaXN0UGlwZSxcbiAgICBEeW5hbWljUmFkaW9MaXN0UGlwZSxcbiAgICBEb2N1bWVudFVybFBpcGUsXG4gICAgRmxhZ0ZpZWxkRGlzcGxheVBpcGUsXG4gICAgTGFuZ3VhZ2VJbnRlcnByZXRlckRpc3BsYXlQaXBlLFxuICAgIE1hbmFnZUNhc2VGbGFnc0xhYmVsRGlzcGxheVBpcGUsXG4gICAgVXBkYXRlRmxhZ1RpdGxlRGlzcGxheVBpcGUsXG4gICAgLi4uUEFMRVRURV9DT01QT05FTlRTXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBOZ3hNYXREYXRldGltZVBpY2tlck1vZHVsZSxcbiAgICBOZ3hNYXROYXRpdmVEYXRlTW9kdWxlLFxuICAgIE5neE1hdFRpbWVwaWNrZXJNb2R1bGUsXG4gICAgVGFic01vZHVsZSxcbiAgICBQYWxldHRlVXRpbHNNb2R1bGUsXG4gICAgUGlwZXNNb2R1bGUsXG4gICAgTWFya2Rvd25Db21wb25lbnRNb2R1bGUsXG4gICAgLi4uUEFMRVRURV9DT01QT05FTlRTXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIENoYW5nZURldGVjdG9yUmVmIGFzIFByb3ZpZGVyLFxuICAgIENhc2VGbGFnUmVmZGF0YVNlcnZpY2UsXG4gICAgWWVzTm9TZXJ2aWNlLFxuICAgIENvbGxlY3Rpb25DcmVhdGVDaGVja2VyU2VydmljZSxcbiAgICBKdXJpc2RpY3Rpb25TZXJ2aWNlLFxuICAgIFBhbGV0dGVTZXJ2aWNlLFxuICAgIEZvcm1WYWxpZGF0b3JzU2VydmljZSxcbiAgICBGaWxlVXBsb2FkU3RhdGVTZXJ2aWNlLFxuICAgIEZpbGVVcGxvYWRQcm9ncmVzc0d1YXJkLFxuICAgIFdpbmRvd1NlcnZpY2UsXG4gICAgQ29tbW9uRGF0YVNlcnZpY2UsXG4gICAgTGlua2VkQ2FzZXNTZXJ2aWNlLFxuICAgIFF1YWxpZnlpbmdRdWVzdGlvblNlcnZpY2UsXG4gICAge3Byb3ZpZGU6IE1BVF9EQVRFX0xPQ0FMRSwgdXNlVmFsdWU6ICdlbi1HQid9XG4gIF0sXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXVxufSlcbmV4cG9ydCBjbGFzcyBQYWxldHRlTW9kdWxlIHtcbn1cbiJdfQ==
748
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFsZXR0ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9wYWxldHRlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMxSSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFZLHNCQUFzQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsMkJBQTJCLElBQUkscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RyxPQUFPLEVBQUUsc0JBQXNCLElBQUksZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHFCQUFxQixJQUFJLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNGLE9BQU8sRUFBRSx3QkFBd0IsSUFBSSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxvQkFBb0IsSUFBSSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFn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RTdCLGtCQUFrQjt1QkFDbEIseUJBQXlCOztBQUl6QixrQ0FBa0M7QUFDbEMsaUNBQWlDLDZEQUNqQyxxQkFBcUI7SUFDckIsa0JBQWtCO3VCQURsQixxQkFBcUIsaUVBVXJCLDZCQUE2Qjt1QkFSN0IsaUNBQWlDLGtKQUZqQyxxQkFBcUI7SUFJckIsK0JBQStCO3VCQUQvQiw2QkFBNkIsNExBQzdCLCtCQUErQjtJQUcvQiw0QkFBNEI7dUJBRjVCLDhCQUE4Qiw2Q0FEOUIsK0JBQStCO0lBTS9CLDZCQUE2QjtJQUM3Qiw2QkFBNkI7dUJBTDdCLCtCQUErQix3RUE1Qy9CLDZCQUE2Qjt1QkFnRDdCLDZCQUE2QixpQ0F0RzdCLDRCQUE0Qjt1QkF1RzVCLDZCQUE2QjtJQUc3Qix3QkFBd0I7SUFDeEIsNEJBQTRCOztBQUQ1Qix3QkFBd0I7QUFDeEIsNEJBQTRCLGlDQUM1Qix5Q0FBeUM7SUFDekMsMENBQTBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmd4TWF0RGF0ZXRpbWVQaWNrZXJNb2R1bGUsIE5neE1hdE5hdGl2ZURhdGVNb2R1bGUsIE5neE1hdFRpbWVwaWNrZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci1tYXRlcmlhbC1jb21wb25lbnRzL2RhdGV0aW1lLXBpY2tlcic7XG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ2RrVHJlZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90cmVlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgTmdNb2R1bGUsIFByb3ZpZGVyLCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdExlZ2FjeUF1dG9jb21wbGV0ZU1vZHVsZSBhcyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IE1BVF9MRUdBQ1lfREFURV9MT0NBTEUgYXMgTUFUX0RBVEVfTE9DQUxFIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWNvcmUnO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgTWF0TGVnYWN5RGlhbG9nTW9kdWxlIGFzIE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1kaWFsb2cnO1xuaW1wb3J0IHsgTWF0TGVnYWN5Rm9ybUZpZWxkTW9kdWxlIGFzIE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdExlZ2FjeUlucHV0TW9kdWxlIGFzIE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWlucHV0JztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBQYXltZW50TGliTW9kdWxlIH0gZnJvbSAnQGhtY3RzL2NjcGF5LXdlYi1jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVkaWFWaWV3ZXJNb2R1bGUgfSBmcm9tICdAaG1jdHMvbWVkaWEtdmlld2VyJztcbmltcG9ydCB7IFNjcm9sbFRvTW9kdWxlIH0gZnJvbSAnQG5pY2t5LWxlbmFlcnMvbmd4LXNjcm9sbC10byc7XG5pbXBvcnQgeyBNYXJrZG93bk1vZHVsZSB9IGZyb20gJ25neC1tYXJrZG93bic7XG5pbXBvcnQgeyBScHhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ3JweC14dWktdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgSGVhZGVyc01vZHVsZSwgVGFic01vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQmFubmVyc01vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvYmFubmVycy9iYW5uZXJzLm1vZHVsZSc7XG5pbXBvcnQgeyBCb2R5TW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9ib2R5L2JvZHkubW9kdWxlJztcbmltcG9ydCB7IEZvb3RlcnNNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXJzLm1vZHVsZSc7XG5pbXBvcnQgeyBGb3JtTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9mb3JtL2Zvcm0ubW9kdWxlJztcbmltcG9ydCB7IENhc2VFZGl0RGF0YU1vZHVsZSB9IGZyb20gJy4uLy4uL2NvbW1vbnMvY2FzZS1lZGl0LWRhdGEnO1xuaW1wb3J0IHsgTGFiZWxTdWJzdGl0dXRvck1vZHVsZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvc3Vic3RpdHV0b3InO1xuaW1wb3J0IHsgUGlwZXNNb2R1bGUgfSBmcm9tICcuLi8uLi9waXBlcy9waXBlcy5tb2R1bGUnO1xuaW1wb3J0IHsgQ2FzZUZsYWdSZWZkYXRhU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Nhc2UtZmxhZy9jYXNlLWZsYWctcmVmZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbkRhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29tbW9uLWRhdGEtc2VydmljZS9jb21tb24tZGF0YS1zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1WYWxpZGF0b3JzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Zvcm0vZm9ybS12YWxpZGF0b3JzLnNlcnZpY2UnO1xuaW1wb3J0IHsgSnVyaXNkaWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2p1cmlzZGljdGlvbi9qdXJpc2RpY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBMb2FkaW5nTW9kdWxlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9hZGluZy9sb2FkaW5nLm1vZHVsZSc7XG5pbXBvcnQgeyBXaW5kb3dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvd2luZG93JztcbmltcG9ydCB7IENhc2VFdmVudENvbXBsZXRpb25Db21wb25lbnQsIENhc2VFdmVudENvbXBsZXRpb25UYXNrQ2FuY2VsbGVkQ29tcG9uZW50LCBDYXNlRXZlbnRDb21wbGV0aW9uVGFza1JlYXNzaWduZWRDb21wb25lbnQgfSBmcm9tICcuLi9jYXNlLWVkaXRvci9jYXNlLWV2ZW50LWNvbXBsZXRpb24nO1xuaW1wb3J0IHsgV3JpdGVBZGRyZXNzRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2FkZHJlc3Mvd3JpdGUtYWRkcmVzcy1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmllbGRSZWFkQ29tcG9uZW50LCBGaWVsZFJlYWRMYWJlbENvbXBvbmVudCwgRmllbGRXcml0ZUNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS1maWVsZCc7XG5pbXBvcnQgeyBDYXNlRmlsZVZpZXdPdmVybGF5TWVudUNvbXBvbmVudCB9IGZyb20gJy4vY2FzZS1maWxlLXZpZXcnO1xuaW1wb3J0IHsgQ2FzZUZpbGVWaWV3RmllbGRDb21wb25lbnQgfSBmcm9tICcuL2Nhc2UtZmlsZS12aWV3L2Nhc2UtZmlsZS12aWV3LWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBDYXNlRmlsZVZpZXdGb2xkZXJTZWxlY3RvckNvbXBvbmVudFxufSBmcm9tICcuL2Nhc2UtZmlsZS12aWV3L2NvbXBvbmVudHMvY2FzZS1maWxlLXZpZXctZm9sZGVyLXNlbGVjdG9yL2Nhc2UtZmlsZS12aWV3LWZvbGRlci1zZWxlY3Rvci5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgQ2FzZUZpbGVWaWV3Rm9sZGVyRG9jdW1lbnRBY3Rpb25zQ29tcG9uZW50XG59IGZyb20gJy4vY2FzZS1maWxlLXZpZXcvY29tcG9uZW50cy9jYXNlLWZpbGUtdmlldy1mb2xkZXIvY2FzZS1maWxlLXZpZXctZm9sZGVyLWRvY3VtZW50LWFjdGlvbnMvY2FzZS1maWxlLXZpZXctZm9sZGVyLWRvY3VtZW50LWFjdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIENhc2VGaWxlVmlld0ZvbGRlclNvcnRDb21wb25lbnRcbn0gZnJvbSAnLi9jYXNlLWZpbGUtdmlldy9jb21wb25lbnRzL2Nhc2UtZmlsZS12aWV3LWZvbGRlci9jYXNlLWZpbGUtdmlldy1mb2xkZXItc29ydC9jYXNlLWZpbGUtdmlldy1mb2xkZXItc29ydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FzZUZpbGVWaWV3Rm9sZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jYXNlLWZpbGUtdmlldy9jb21wb25lbnRzL2Nhc2UtZmlsZS12aWV3LWZvbGRlci9jYXNlLWZpbGUtdmlldy1mb2xkZXIuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIEFkZENvbW1lbnRzQ29tcG9uZW50LFxuICBDYXNlRmxhZ1N1bW1hcnlMaXN0Q29tcG9uZW50LFxuICBDYXNlRmxhZ1RhYmxlQ29tcG9uZW50LFxuICBDb25maXJtRmxhZ1N0YXR1c0NvbXBvbmVudCxcbiAgRmxhZ0ZpZWxkRGlzcGxheVBpcGUsXG4gIExhbmd1YWdlSW50ZXJwcmV0ZXJEaXNwbGF5UGlwZSxcbiAgTWFuYWdlQ2FzZUZsYWdzQ29tcG9uZW50LFxuICBNYW5hZ2VDYXNlRmxhZ3NMYWJlbERpc3BsYXlQaXBlLFxuICBSZWFkQ2FzZUZsYWdGaWVsZENvbXBvbmVudCxcbiAgU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbXBvbmVudCxcbiAgU2VsZWN0RmxhZ0xvY2F0aW9uQ29tcG9uZW50LFxuICBTZWxlY3RGbGFnVHlwZUNvbXBvbmVudCxcbiAgVXBkYXRlRmxhZ0FkZFRyYW5zbGF0aW9uRm9ybUNvbXBvbmVudCxcbiAgVXBkYXRlRmxhZ0NvbXBvbmVudCxcbiAgVXBkYXRlRmxhZ1RpdGxlRGlzcGxheVBpcGUsXG4gIFdyaXRlQ2FzZUZsYWdGaWVsZENvbXBvbmVudFxufSBmcm9tICcuL2Nhc2UtZmxhZyc7XG5pbXBvcnQgeyBSZWFkQ2FzZUxpbmtGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vY2FzZS1saW5rL3JlYWQtY2FzZS1saW5rLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXcml0ZUNhc2VMaW5rRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2Nhc2UtbGluay93cml0ZS1jYXNlLWxpbmstZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IFJlYWRDb2xsZWN0aW9uRmllbGRDb21wb25lbnQsIFdyaXRlQ29sbGVjdGlvbkZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IENvbGxlY3Rpb25DcmVhdGVDaGVja2VyU2VydmljZSB9IGZyb20gJy4vY29sbGVjdGlvbi9jb2xsZWN0aW9uLWNyZWF0ZS1jaGVja2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgUmVhZENvbXBsZXhGaWVsZENvbGxlY3Rpb25UYWJsZUNvbXBvbmVudCxcbiAgUmVhZENvbXBsZXhGaWVsZENvbXBvbmVudCxcbiAgUmVhZENvbXBsZXhGaWVsZFJhd0NvbXBvbmVudCxcbiAgUmVhZENvbXBsZXhGaWVsZFRhYmxlQ29tcG9uZW50LFxuICBXcml0ZUNvbXBsZXhGaWVsZENvbXBvbmVudFxufSBmcm9tICcuL2NvbXBsZXgnO1xuaW1wb3J0IHsgUmVhZERhdGVGaWVsZENvbXBvbmVudCwgV3JpdGVEYXRlQ29udGFpbmVyRmllbGRDb21wb25lbnQsIFdyaXRlRGF0ZUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlJztcbmltcG9ydCB7IERhdGV0aW1lUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRldGltZS1waWNrZXInO1xuaW1wb3J0IHsgRG9jdW1lbnRVcmxQaXBlIH0gZnJvbSAnLi9kb2N1bWVudCc7XG5pbXBvcnQgeyBGaWxlVXBsb2FkUHJvZ3Jlc3NHdWFyZCB9IGZyb20gJy4vZG9jdW1lbnQvZmlsZS11cGxvYWQtcHJvZ3Jlc3MuZ3VhcmQnO1xuaW1wb3J0IHsgRmlsZVVwbG9hZFN0YXRlU2VydmljZSB9IGZyb20gJy4vZG9jdW1lbnQvZmlsZS11cGxvYWQtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBSZWFkRG9jdW1lbnRGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZG9jdW1lbnQvcmVhZC1kb2N1bWVudC1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9kb2N1bWVudC93cml0ZS1kb2N1bWVudC1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY0xpc3RQaXBlLCBSZWFkRHluYW1pY0xpc3RGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1saXN0JztcbmltcG9ydCB7IFdyaXRlRHluYW1pY0xpc3RGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1saXN0L3dyaXRlLWR5bmFtaWMtbGlzdC1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVhZER5bmFtaWNNdWx0aVNlbGVjdExpc3RGaWVsZENvbXBvbmVudCwgV3JpdGVEeW5hbWljTXVsdGlTZWxlY3RMaXN0RmllbGRDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtbXVsdGktc2VsZWN0LWxpc3QnO1xuaW1wb3J0IHsgRHluYW1pY1JhZGlvTGlzdFBpcGUsIFJlYWREeW5hbWljUmFkaW9MaXN0RmllbGRDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtcmFkaW8tbGlzdCc7XG5pbXBvcnQgeyBXcml0ZUR5bmFtaWNSYWRpb0xpc3RGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1yYWRpby1saXN0L3dyaXRlLWR5bmFtaWMtcmFkaW8tbGlzdC1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVhZEVtYWlsRmllbGRDb21wb25lbnQsIFdyaXRlRW1haWxGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZW1haWwnO1xuaW1wb3J0IHsgRml4ZWRMaXN0UGlwZSwgUmVhZEZpeGVkTGlzdEZpZWxkQ29tcG9uZW50LCBXcml0ZUZpeGVkTGlzdEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9maXhlZC1saXN0JztcbmltcG9ydCB7IEZpeGVkUmFkaW9MaXN0UGlwZSwgUmVhZEZpeGVkUmFkaW9MaXN0RmllbGRDb21wb25lbnQsIFdyaXRlRml4ZWRSYWRpb0xpc3RGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZml4ZWQtcmFkaW8tbGlzdCc7XG5pbXBvcnQgeyBDYXNlSGlzdG9yeVZpZXdlckZpZWxkQ29tcG9uZW50LCBFdmVudExvZ0NvbXBvbmVudCwgRXZlbnRMb2dEZXRhaWxzQ29tcG9uZW50LCBFdmVudExvZ1RhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9oaXN0b3J5JztcbmltcG9ydCB7IFJlYWRKdWRpY2lhbFVzZXJGaWVsZENvbXBvbmVudCwgV3JpdGVKdWRpY2lhbFVzZXJGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vanVkaWNpYWwtdXNlcic7XG5pbXBvcnQgeyBMYWJlbEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9sYWJlbCc7XG5pbXBvcnQge1xuICBCZWZvcmVZb3VTdGFydENvbXBvbmVudCxcbiAgQ2hlY2tZb3VyQW5zd2Vyc0NvbXBvbmVudCxcbiAgTGlua0Nhc2VzQ29tcG9uZW50LFxuICBMaW5rZWRDYXNlc0Zyb21UYWJsZUNvbXBvbmVudCxcbiAgTGlua2VkQ2FzZXNUb1RhYmxlQ29tcG9uZW50LFxuICBOb0xpbmtlZENhc2VzQ29tcG9uZW50LFxuICBSZWFkTGlua2VkQ2FzZXNGaWVsZENvbXBvbmVudCxcbiAgVW5MaW5rQ2FzZXNDb21wb25lbnQsXG4gIFdyaXRlTGlua2VkQ2FzZXNGaWVsZENvbXBvbmVudFxufSBmcm9tICcuL2xpbmtlZC1jYXNlcyc7XG5pbXBvcnQgeyBMaW5rZWRDYXNlc1NlcnZpY2UgfSBmcm9tICcuL2xpbmtlZC1jYXNlcy9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBNYXJrZG93bkNvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4vbWFya2Rvd24nO1xuaW1wb3J0IHsgTW9uZXlHYnBJbnB1dENvbXBvbmVudCwgUmVhZE1vbmV5R2JwRmllbGRDb21wb25lbnQsIFdyaXRlTW9uZXlHYnBGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vbW9uZXktZ2JwJztcbmltcG9ydCB7IFJlYWRNdWx0aVNlbGVjdExpc3RGaWVsZENvbXBvbmVudCwgV3JpdGVNdWx0aVNlbGVjdExpc3RGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vbXVsdGktc2VsZWN0LWxpc3QnO1xuaW1wb3J0IHsgUmVhZE51bWJlckZpZWxkQ29tcG9uZW50LCBXcml0ZU51bWJlckZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9udW1iZXInO1xuaW1wb3J0IHsgUmVhZE9yZGVyU3VtbWFyeUZpZWxkQ29tcG9uZW50LCBSZWFkT3JkZXJTdW1tYXJ5Um93Q29tcG9uZW50LCBXcml0ZU9yZGVyU3VtbWFyeUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9vcmRlci1zdW1tYXJ5JztcbmltcG9ydCB7XG4gIFJlYWRPcmdhbmlzYXRpb25GaWVsZENvbXBvbmVudCxcbiAgUmVhZE9yZ2FuaXNhdGlvbkZpZWxkUmF3Q29tcG9uZW50LFxuICBSZWFkT3JnYW5pc2F0aW9uRmllbGRUYWJsZUNvbXBvbmVudCxcbiAgV3JpdGVPcmdhbmlzYXRpb25Db21wbGV4RmllbGRDb21wb25lbnQsXG4gIFdyaXRlT3JnYW5pc2F0aW9uRmllbGRDb21wb25lbnRcbn0gZnJvbSAnLi9vcmdhbmlzYXRpb24nO1xuaW1wb3J0IHsgUGFsZXR0ZVNlcnZpY2UgfSBmcm9tICcuL3BhbGV0dGUuc2VydmljZSc7XG5pbXBvcnQgeyBDYXNlUGF5bWVudEhpc3RvcnlWaWV3ZXJGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vcGF5bWVudCc7XG5pbXBvcnQgeyBSZWFkUGhvbmVVS0ZpZWxkQ29tcG9uZW50LCBXcml0ZVBob25lVUtGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vcGhvbmUtdWsnO1xuaW1wb3J0IHtcbiAgUXVhbGlmeWluZ1F1ZXN0aW9uRGV0YWlsQ29tcG9uZW50LFxuICBRdWFsaWZ5aW5nUXVlc3Rpb25PcHRpb25zQ29tcG9uZW50LFxuICBRdWVyeUF0dGFjaG1lbnRzUmVhZENvbXBvbmVudCxcbiAgUXVlcnlDYXNlRGV0YWlsc0hlYWRlckNvbXBvbmVudCxcbiAgUXVlcnlDaGVja1lvdXJBbnN3ZXJzQ29tcG9uZW50LFxuICBRdWVyeURldGFpbHNDb21wb25lbnQsXG4gIFF1ZXJ5RXZlbnRDb21wbGV0aW9uQ29tcG9uZW50LFxuICBRdWVyeUxpc3RDb21wb25lbnQsXG4gIFF1ZXJ5V3JpdGVBZGREb2N1bWVudHNDb21wb25lbnQsXG4gIFF1ZXJ5V3JpdGVEYXRlSW5wdXRDb21wb25lbnQsXG4gIFF1ZXJ5V3JpdGVSYWlzZVF1ZXJ5Q29tcG9uZW50LFxuICBRdWVyeVdyaXRlUmVzcG9uZFRvUXVlcnlDb21wb25lbnQsXG4gIFJlYWRRdWVyeU1hbmFnZW1lbnRGaWVsZENvbXBvbmVudFxufSBmcm9tICcuL3F1ZXJ5LW1hbmFnZW1lbnQnO1xuaW1wb3J0IHsgUXVhbGlmeWluZ1F1ZXN0aW9uU2VydmljZSB9IGZyb20gJy4vcXVlcnktbWFuYWdlbWVudC9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBSZWFkVGV4dEZpZWxkQ29tcG9uZW50LCBXcml0ZVRleHRGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vdGV4dCc7XG5pbXBvcnQgeyBSZWFkVGV4dEFyZWFGaWVsZENvbXBvbmVudCwgV3JpdGVUZXh0QXJlYUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi90ZXh0LWFyZWEnO1xuaW1wb3J0IHsgVW5zdXBwb3J0ZWRGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vdW5zdXBwb3J0ZWQtZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IFBhbGV0dGVVdGlsc01vZHVsZSB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgV2F5c1RvUGF5RmllbGRDb21wb25lbnQgfSBmcm9tICcuL3dheXN0b3BheSc7XG5pbXBvcnQgeyBSZWFkWWVzTm9GaWVsZENvbXBvbmVudCwgV3JpdGVZZXNOb0ZpZWxkQ29tcG9uZW50LCBZZXNOb1NlcnZpY2UgfSBmcm9tICcuL3llcy1ubyc7XG5pbXBvcnQgeyBRdWVyeUNvbmZpcm1hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vcXVlcnktbWFuYWdlbWVudC9jb21wb25lbnRzL3F1ZXJ5LWNvbmZpcm1hdGlvbi9xdWVyeS1jb25maXJtYXRpb24uY29tcG9uZW50JztcblxuY29uc3QgUEFMRVRURV9DT01QT05FTlRTID0gW1xuICBVbnN1cHBvcnRlZEZpZWxkQ29tcG9uZW50LFxuICBEYXRldGltZVBpY2tlckNvbXBvbmVudCxcbiAgV2F5c1RvUGF5RmllbGRDb21wb25lbnQsXG4gIEZpZWxkUmVhZENvbXBvbmVudCxcbiAgRmllbGRXcml0ZUNvbXBvbmVudCxcbiAgRmllbGRSZWFkTGFiZWxDb21wb25lbnQsXG4gIExhYmVsRmllbGRDb21wb25lbnQsXG4gIENhc2VQYXltZW50SGlzdG9yeVZpZXdlckZpZWxkQ29tcG9uZW50LFxuICBNb25leUdicElucHV0Q29tcG9uZW50LFxuICBDYXNlSGlzdG9yeVZpZXdlckZpZWxkQ29tcG9uZW50LFxuICBFdmVudExvZ0NvbXBvbmVudCxcbiAgRXZlbnRMb2dEZXRhaWxzQ29tcG9uZW50LFxuICBFdmVudExvZ1RhYmxlQ29tcG9uZW50LFxuXG4gIC8vIFJlYWRcbiAgUmVhZFRleHRGaWVsZENvbXBvbmVudCxcbiAgUmVhZFRleHRBcmVhRmllbGRDb21wb25lbnQsXG4gIFJlYWROdW1iZXJGaWVsZENvbXBvbmVudCxcbiAgUmVhZEVtYWlsRmllbGRDb21wb25lbnQsXG4gIFJlYWRQaG9uZVVLRmllbGRDb21wb25lbnQsXG4gIFJlYWREYXRlRmllbGRDb21wb25lbnQsXG4gIFJlYWRDb2xsZWN0aW9uRmllbGRDb21wb25lbnQsXG4gIFJlYWREb2N1bWVudEZpZWxkQ29tcG9uZW50LFxuXG4gIC8vIG5ld1xuICBSZWFkSnVkaWNpYWxVc2VyRmllbGRDb21wb25lbnQsXG4gIFJlYWRZZXNOb0ZpZWxkQ29tcG9uZW50LFxuICBSZWFkT3JnYW5pc2F0aW9uRmllbGRDb21wb25lbnQsXG4gIFJlYWRPcmdhbmlzYXRpb25GaWVsZFRhYmxlQ29tcG9uZW50LFxuICBSZWFkT3JnYW5pc2F0aW9uRmllbGRSYXdDb21wb25lbnQsXG4gIFJlYWRPcmRlclN1bW1hcnlGaWVsZENvbXBvbmVudCxcbiAgUmVhZE9yZGVyU3VtbWFyeVJvd0NvbXBvbmVudCxcbiAgUmVhZE1vbmV5R2JwRmllbGRDb21wb25lbnQsXG4gIFJlYWRNdWx0aVNlbGVjdExpc3RGaWVsZENvbXBvbmVudCxcbiAgUmVhZER5bmFtaWNMaXN0RmllbGRDb21wb25lbnQsXG4gIFJlYWRGaXhlZExpc3RGaWVsZENvbXBvbmVudCxcbiAgUmVhZEZpeGVkUmFkaW9MaXN0RmllbGRDb21wb25lbnQsXG4gIFJlYWREeW5hbWljUmFkaW9MaXN0RmllbGRDb21wb25lbnQsXG4gIFJlYWRDYXNlTGlua0ZpZWxkQ29tcG9uZW50LFxuICBSZWFkQ29tcGxleEZpZWxkQ29tcG9uZW50LFxuICBSZWFkQ29tcGxleEZpZWxkUmF3Q29tcG9uZW50LFxuICBSZWFkQ29tcGxleEZpZWxkVGFibGVDb21wb25lbnQsXG4gIFJlYWRDb21wbGV4RmllbGRDb2xsZWN0aW9uVGFibGVDb21wb25lbnQsXG4gIFJlYWRDYXNlRmxhZ0ZpZWxkQ29tcG9uZW50LFxuICBSZWFkTGlua2VkQ2FzZXNGaWVsZENvbXBvbmVudCxcblxuICAvLyBXcml0ZVxuICBXcml0ZUp1ZGljaWFsVXNlckZpZWxkQ29tcG9uZW50LFxuICBXcml0ZUFkZHJlc3NGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVDb21wbGV4RmllbGRDb21wb25lbnQsXG4gIFdyaXRlT3JnYW5pc2F0aW9uQ29tcGxleEZpZWxkQ29tcG9uZW50LFxuICBXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQsXG4gIFdyaXRlRHluYW1pY0xpc3RGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVEeW5hbWljUmFkaW9MaXN0RmllbGRDb21wb25lbnQsXG4gIFdyaXRlVGV4dEZpZWxkQ29tcG9uZW50LFxuICBXcml0ZURhdGVDb250YWluZXJGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVUZXh0QXJlYUZpZWxkQ29tcG9uZW50LFxuICBXcml0ZVBob25lVUtGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVOdW1iZXJGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVFbWFpbEZpZWxkQ29tcG9uZW50LFxuICBXcml0ZURhdGVGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVDYXNlRmxhZ0ZpZWxkQ29tcG9uZW50LFxuICBXcml0ZUxpbmtlZENhc2VzRmllbGRDb21wb25lbnQsXG5cbiAgLy8gbmV3XG4gIFdyaXRlWWVzTm9GaWVsZENvbXBvbmVudCxcbiAgV3JpdGVPcmdhbmlzYXRpb25GaWVsZENvbXBvbmVudCxcbiAgV3JpdGVPcmdhbmlzYXRpb25Db21wbGV4RmllbGRDb21wb25lbnQsXG4gIFdyaXRlT3JkZXJTdW1tYXJ5RmllbGRDb21wb25lbnQsXG4gIFdyaXRlTW9uZXlHYnBGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVEYXRlQ29udGFpbmVyRmllbGRDb21wb25lbnQsXG4gIFdyaXRlTXVsdGlTZWxlY3RMaXN0RmllbGRDb21wb25lbnQsXG4gIFdyaXRlRml4ZWRMaXN0RmllbGRDb21wb25lbnQsXG4gIFdyaXRlRml4ZWRSYWRpb0xpc3RGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVDYXNlTGlua0ZpZWxkQ29tcG9uZW50LFxuICBXcml0ZUNvbGxlY3Rpb25GaWVsZENvbXBvbmVudCxcblxuICAvLyBDb21wb25lbnRMYXVuY2hlciB3ZWIgY29tcG9uZW50c1xuICBDYXNlRmlsZVZpZXdGaWVsZENvbXBvbmVudCxcbiAgQ2FzZUZpbGVWaWV3Rm9sZGVyQ29tcG9uZW50LFxuICBDYXNlRmlsZVZpZXdGb2xkZXJTb3J0Q29tcG9uZW50LFxuICBDYXNlRmlsZVZpZXdPdmVybGF5TWVudUNvbXBvbmVudCxcbiAgQ2FzZUZpbGVWaWV3Rm9sZGVyRG9jdW1lbnRBY3Rpb25zQ29tcG9uZW50LFxuICBDYXNlRmlsZVZpZXdGb2xkZXJTZWxlY3RvckNvbXBvbmVudCxcbiAgLy8gY29tcG9uZW50IGZvciBkeW5hbWljIGxpc3RcbiAgV3JpdGVEeW5hbWljTXVsdGlTZWxlY3RMaXN0RmllbGRDb21wb25lbnQsXG4gIFdyaXRlRHluYW1pY1JhZGlvTGlzdEZpZWxkQ29tcG9uZW50LFxuICBXcml0ZUR5bmFtaWNMaXN0RmllbGRDb21wb25lbnQsXG4gIFJlYWREeW5hbWljTXVsdGlTZWxlY3RMaXN0RmllbGRDb21wb25lbnQsXG4gIFJlYWREeW5hbWljTGlzdEZpZWxkQ29tcG9uZW50LFxuICBSZWFkRHluYW1pY1JhZGlvTGlzdEZpZWxkQ29tcG9uZW50LFxuICAvLyBDb21wb25lbnRzIGZvciBjYXNlIGZsYWdzXG4gIENhc2VGbGFnVGFibGVDb21wb25lbnQsXG4gIFNlbGVjdEZsYWdUeXBlQ29tcG9uZW50LFxuICBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29tcG9uZW50LFxuICBTZWxlY3RGbGFnTG9jYXRpb25Db21wb25lbnQsXG4gIE1hbmFnZUNhc2VGbGFnc0NvbXBvbmVudCxcbiAgQWRkQ29tbWVudHNDb21wb25lbnQsXG4gIFVwZGF0ZUZsYWdDb21wb25lbnQsXG4gIENhc2VGbGFnU3VtbWFyeUxpc3RDb21wb25lbnQsXG4gIENvbmZpcm1GbGFnU3RhdHVzQ29tcG9uZW50LFxuICBVcGRhdGVGbGFnQWRkVHJhbnNsYXRpb25Gb3JtQ29tcG9uZW50LFxuICAvLyBDb21wb25lbnRzIGZvciBsaW5rZWQgY2FzZXNcbiAgTGlua2VkQ2FzZXNUb1RhYmxlQ29tcG9uZW50LFxuICBMaW5rZWRDYXNlc0Zyb21UYWJsZUNvbXBvbmVudCxcbiAgQmVmb3JlWW91U3RhcnRDb21wb25lbnQsXG4gIExpbmtDYXNlc0NvbXBvbmVudCxcbiAgQ2hlY2tZb3VyQW5zd2Vyc0NvbXBvbmVudCxcbiAgVW5MaW5rQ2FzZXNDb21wb25lbnQsXG4gIE5vTGlua2VkQ2FzZXNDb21wb25lbnQsXG5cbiAgLy8gQ29tcG9uZW50cyBmb3IgUXVlcnkgTWFuYWdlbWVudFxuICBSZWFkUXVlcnlNYW5hZ2VtZW50RmllbGRDb21wb25lbnQsXG4gIFF1ZXJ5RGV0YWlsc0NvbXBvbmVudCxcbiAgUXVlcnlMaXN0Q29tcG9uZW50LFxuICBRdWVyeVdyaXRlUmVzcG9uZFRvUXVlcnlDb21wb25lbnQsXG4gIFF1ZXJ5V3JpdGVSYWlzZVF1ZXJ5Q29tcG9uZW50LFxuICBRdWVyeUNhc2VEZXRhaWxzSGVhZGVyQ29tcG9uZW50LFxuICBRdWVyeUNoZWNrWW91ckFuc3dlcnNDb21wb25lbnQsXG4gIFF1ZXJ5V3JpdGVBZGREb2N1bWVudHNDb21wb25lbnQsXG4gIFF1ZXJ5V3JpdGVEYXRlSW5wdXRDb21wb25lbnQsXG4gIFF1YWxpZnlpbmdRdWVzdGlvbk9wdGlvbnNDb21wb25lbnQsXG4gIFF1YWxpZnlpbmdRdWVzdGlvbkRldGFpbENvbXBvbmVudCxcbiAgUXVlcnlBdHRhY2htZW50c1JlYWRDb21wb25lbnQsXG4gIFF1ZXJ5RXZlbnRDb21wbGV0aW9uQ29tcG9uZW50LFxuICBRdWVyeUNvbmZpcm1hdGlvbkNvbXBvbmVudCxcblxuICAvLyBDYXNlIGV2ZW50IGNvbXBsZXRpb25cbiAgQ2FzZUV2ZW50Q29tcGxldGlvbkNvbXBvbmVudCxcbiAgQ2FzZUV2ZW50Q29tcGxldGlvblRhc2tDYW5jZWxsZWRDb21wb25lbnQsXG4gIENhc2VFdmVudENvbXBsZXRpb25UYXNrUmVhc3NpZ25lZENvbXBvbmVudFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBDYXNlRWRpdERhdGFNb2R1bGUsXG4gICAgUGFsZXR0ZVV0aWxzTW9kdWxlLFxuICAgIFBpcGVzTW9kdWxlLFxuICAgIEJhbm5lcnNNb2R1bGUsXG4gICAgSGVhZGVyc01vZHVsZSxcbiAgICBGb290ZXJzTW9kdWxlLFxuICAgIEJvZHlNb2R1bGUsXG4gICAgRm9ybU1vZHVsZSxcbiAgICBUYWJzTW9kdWxlLFxuICAgIExhYmVsU3Vic3RpdHV0b3JNb2R1bGUsXG4gICAgTWFya2Rvd25Nb2R1bGUuZm9yQ2hpbGQoKSxcbiAgICBOZ3hNYXREYXRldGltZVBpY2tlck1vZHVsZSxcbiAgICBOZ3hNYXRUaW1lcGlja2VyTW9kdWxlLFxuICAgIE5neE1hdE5hdGl2ZURhdGVNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgIENka1RyZWVNb2R1bGUsXG4gICAgT3ZlcmxheU1vZHVsZSxcbiAgICBQYXltZW50TGliTW9kdWxlLFxuICAgIFNjcm9sbFRvTW9kdWxlLmZvclJvb3QoKSxcbiAgICBScHhUcmFuc2xhdGlvbk1vZHVsZS5mb3JDaGlsZCgpLFxuICAgIENka1RyZWVNb2R1bGUsXG4gICAgT3ZlcmxheU1vZHVsZSxcbiAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgTWVkaWFWaWV3ZXJNb2R1bGUsXG4gICAgTG9hZGluZ01vZHVsZSxcbiAgICBNYXJrZG93bkNvbXBvbmVudE1vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBGaXhlZExpc3RQaXBlLFxuICAgIEZpeGVkUmFkaW9MaXN0UGlwZSxcbiAgICBEeW5hbWljTGlzdFBpcGUsXG4gICAgRHluYW1pY1JhZGlvTGlzdFBpcGUsXG4gICAgRG9jdW1lbnRVcmxQaXBlLFxuICAgIEZsYWdGaWVsZERpc3BsYXlQaXBlLFxuICAgIExhbmd1YWdlSW50ZXJwcmV0ZXJEaXNwbGF5UGlwZSxcbiAgICBNYW5hZ2VDYXNlRmxhZ3NMYWJlbERpc3BsYXlQaXBlLFxuICAgIFVwZGF0ZUZsYWdUaXRsZURpc3BsYXlQaXBlLFxuICAgIC4uLlBBTEVUVEVfQ09NUE9ORU5UU1xuICBdLFxuICBleHBvcnRzOiBbXG4gICAgTmd4TWF0RGF0ZXRpbWVQaWNrZXJNb2R1bGUsXG4gICAgTmd4TWF0TmF0aXZlRGF0ZU1vZHVsZSxcbiAgICBOZ3hNYXRUaW1lcGlja2VyTW9kdWxlLFxuICAgIFRhYnNNb2R1bGUsXG4gICAgUGFsZXR0ZVV0aWxzTW9kdWxlLFxuICAgIFBpcGVzTW9kdWxlLFxuICAgIE1hcmtkb3duQ29tcG9uZW50TW9kdWxlLFxuICAgIC4uLlBBTEVUVEVfQ09NUE9ORU5UU1xuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBDaGFuZ2VEZXRlY3RvclJlZiBhcyBQcm92aWRlcixcbiAgICBDYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlLFxuICAgIFllc05vU2VydmljZSxcbiAgICBDb2xsZWN0aW9uQ3JlYXRlQ2hlY2tlclNlcnZpY2UsXG4gICAgSnVyaXNkaWN0aW9uU2VydmljZSxcbiAgICBQYWxldHRlU2VydmljZSxcbiAgICBGb3JtVmFsaWRhdG9yc1NlcnZpY2UsXG4gICAgRmlsZVVwbG9hZFN0YXRlU2VydmljZSxcbiAgICBGaWxlVXBsb2FkUHJvZ3Jlc3NHdWFyZCxcbiAgICBXaW5kb3dTZXJ2aWNlLFxuICAgIENvbW1vbkRhdGFTZXJ2aWNlLFxuICAgIExpbmtlZENhc2VzU2VydmljZSxcbiAgICBRdWFsaWZ5aW5nUXVlc3Rpb25TZXJ2aWNlLFxuICAgIHtwcm92aWRlOiBNQVRfREFURV9MT0NBTEUsIHVzZVZhbHVlOiAnZW4tR0InfVxuICBdLFxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV1cbn0pXG5leHBvcnQgY2xhc3MgUGFsZXR0ZU1vZHVsZSB7XG59XG4iXX0=
@@ -13,8 +13,10 @@ function QualifyingQuestionDetailComponent_ng_container_0_Template(rf, ctx) { if
13
13
  i0.ɵɵtext(5);
14
14
  i0.ɵɵpipe(6, "rpxTranslate");
15
15
  i0.ɵɵelementEnd();
16
- i0.ɵɵelement(7, "ccd-markdown", 3);
17
- i0.ɵɵpipe(8, "rpxTranslate");
16
+ i0.ɵɵelementStart(7, "div", 3);
17
+ i0.ɵɵelement(8, "ccd-markdown", 4);
18
+ i0.ɵɵpipe(9, "rpxTranslate");
19
+ i0.ɵɵelementEnd();
18
20
  i0.ɵɵelementContainerEnd();
19
21
  } if (rf & 2) {
20
22
  const ctx_r0 = i0.ɵɵnextContext();
@@ -22,23 +24,23 @@ function QualifyingQuestionDetailComponent_ng_container_0_Template(rf, ctx) { if
22
24
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 3, "Are you contacting us about any of the following:"), " ");
23
25
  i0.ɵɵadvance(3);
24
26
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 5, ctx_r0.qualifyingQuestion.name), " ");
25
- i0.ɵɵadvance(2);
26
- i0.ɵɵproperty("content", i0.ɵɵpipeBind1(8, 7, ctx_r0.qualifyingQuestion.markdown));
27
+ i0.ɵɵadvance(3);
28
+ i0.ɵɵproperty("content", i0.ɵɵpipeBind1(9, 7, ctx_r0.qualifyingQuestion.markdown));
27
29
  } }
28
30
  export class QualifyingQuestionDetailComponent {
29
31
  qualifyingQuestion;
30
32
  static ɵfac = function QualifyingQuestionDetailComponent_Factory(t) { return new (t || QualifyingQuestionDetailComponent)(); };
31
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: QualifyingQuestionDetailComponent, selectors: [["ccd-qualifying-question-detail"]], inputs: { qualifyingQuestion: "qualifyingQuestion" }, decls: 1, vars: 1, consts: [[4, "ngIf"], [1, "govuk-caption-l"], [1, "govuk-heading-l"], [3, "content"]], template: function QualifyingQuestionDetailComponent_Template(rf, ctx) { if (rf & 1) {
32
- i0.ɵɵtemplate(0, QualifyingQuestionDetailComponent_ng_container_0_Template, 9, 9, "ng-container", 0);
33
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: QualifyingQuestionDetailComponent, selectors: [["ccd-qualifying-question-detail"]], inputs: { qualifyingQuestion: "qualifyingQuestion" }, decls: 1, vars: 1, consts: [[4, "ngIf"], [1, "govuk-caption-l"], [1, "govuk-heading-l"], [1, "qm-qualifying-question"], [3, "content"]], template: function QualifyingQuestionDetailComponent_Template(rf, ctx) { if (rf & 1) {
34
+ i0.ɵɵtemplate(0, QualifyingQuestionDetailComponent_ng_container_0_Template, 10, 9, "ng-container", 0);
33
35
  } if (rf & 2) {
34
36
  i0.ɵɵproperty("ngIf", ctx.qualifyingQuestion == null ? null : ctx.qualifyingQuestion.markdown);
35
- } }, dependencies: [i1.NgIf, i2.MarkdownComponent, i3.RpxTranslatePipe], encapsulation: 2 });
37
+ } }, dependencies: [i1.NgIf, i2.MarkdownComponent, i3.RpxTranslatePipe], styles: [".qm-qualifying-question[_ngcontent-%COMP%] .markdown[_ngcontent-%COMP%]{font-size:19px}"] });
36
38
  }
37
39
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QualifyingQuestionDetailComponent, [{
38
40
  type: Component,
39
- args: [{ selector: 'ccd-qualifying-question-detail', template: "<ng-container *ngIf=\"qualifyingQuestion?.markdown\">\n <span class=\"govuk-caption-l\">\n {{ 'Are you contacting us about any of the following:' | rpxTranslate }}\n </span>\n <h1 class=\"govuk-heading-l\">\n {{ qualifyingQuestion.name | rpxTranslate }}\n </h1>\n <ccd-markdown\n [content]=\"qualifyingQuestion.markdown | rpxTranslate\">\n </ccd-markdown>\n</ng-container>\n" }]
41
+ args: [{ selector: 'ccd-qualifying-question-detail', template: "<ng-container *ngIf=\"qualifyingQuestion?.markdown\">\n <span class=\"govuk-caption-l\">\n {{ 'Are you contacting us about any of the following:' | rpxTranslate }}\n </span>\n <h1 class=\"govuk-heading-l\">\n {{ qualifyingQuestion.name | rpxTranslate }}\n </h1>\n <div class=\"qm-qualifying-question\">\n <ccd-markdown\n [content]=\"qualifyingQuestion.markdown | rpxTranslate\">\n </ccd-markdown>\n </div>\n</ng-container>\n", styles: [".qm-qualifying-question .markdown{font-size:19px}\n"] }]
40
42
  }], null, { qualifyingQuestion: [{
41
43
  type: Input
42
44
  }] }); })();
43
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QualifyingQuestionDetailComponent, { className: "QualifyingQuestionDetailComponent", filePath: "lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.ts", lineNumber: 8 }); })();
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhbGlmeWluZy1xdWVzdGlvbi1kZXRhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvcXVlcnktbWFuYWdlbWVudC9jb21wb25lbnRzL3F1YWxpZnlpbmctcXVlc3Rpb25zL3F1YWxpZnlpbmctcXVlc3Rpb24tZGV0YWlsL3F1YWxpZnlpbmctcXVlc3Rpb24tZGV0YWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvY29tcG9uZW50cy9xdWFsaWZ5aW5nLXF1ZXN0aW9ucy9xdWFsaWZ5aW5nLXF1ZXN0aW9uLWRldGFpbC9xdWFsaWZ5aW5nLXF1ZXN0aW9uLWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0lDQWpELDZCQUFtRDtJQUNqRCwrQkFBOEI7SUFDNUIsWUFDRjs7SUFBQSxpQkFBTztJQUNQLDZCQUE0QjtJQUMxQixZQUNGOztJQUFBLGlCQUFLO0lBQ0wsa0NBRWU7Ozs7O0lBUGIsZUFDRjtJQURFLDBHQUNGO0lBRUUsZUFDRjtJQURFLHFGQUNGO0lBRUUsZUFBc0Q7SUFBdEQsa0ZBQXNEOztBREQxRCxNQUFNLE9BQU8saUNBQWlDO0lBQzVCLGtCQUFrQixDQUFxQjsyRkFENUMsaUNBQWlDOzZEQUFqQyxpQ0FBaUM7WUNQOUMsb0dBQW1EOztZQUFwQyw4RkFBa0M7OztpRkRPcEMsaUNBQWlDO2NBSjdDLFNBQVM7MkJBQ0UsZ0NBQWdDO2dCQUkxQixrQkFBa0I7a0JBQWpDLEtBQUs7O2tGQURLLGlDQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFF1YWxpZnlpbmdRdWVzdGlvbiB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1xdWFsaWZ5aW5nLXF1ZXN0aW9uLWRldGFpbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWFsaWZ5aW5nLXF1ZXN0aW9uLWRldGFpbC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUXVhbGlmeWluZ1F1ZXN0aW9uRGV0YWlsQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcHVibGljIHF1YWxpZnlpbmdRdWVzdGlvbjogUXVhbGlmeWluZ1F1ZXN0aW9uO1xufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInF1YWxpZnlpbmdRdWVzdGlvbj8ubWFya2Rvd25cIj5cbiAgPHNwYW4gY2xhc3M9XCJnb3Z1ay1jYXB0aW9uLWxcIj5cbiAgICB7eyAnQXJlIHlvdSBjb250YWN0aW5nIHVzIGFib3V0IGFueSBvZiB0aGUgZm9sbG93aW5nOicgfCBycHhUcmFuc2xhdGUgfX1cbiAgPC9zcGFuPlxuICA8aDEgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLWxcIj5cbiAgICB7eyBxdWFsaWZ5aW5nUXVlc3Rpb24ubmFtZSB8IHJweFRyYW5zbGF0ZSB9fVxuICA8L2gxPlxuICA8Y2NkLW1hcmtkb3duXG4gICAgW2NvbnRlbnRdPVwicXVhbGlmeWluZ1F1ZXN0aW9uLm1hcmtkb3duIHwgcnB4VHJhbnNsYXRlXCI+XG4gIDwvY2NkLW1hcmtkb3duPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
45
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QualifyingQuestionDetailComponent, { className: "QualifyingQuestionDetailComponent", filePath: "lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.ts", lineNumber: 9 }); })();
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhbGlmeWluZy1xdWVzdGlvbi1kZXRhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvcXVlcnktbWFuYWdlbWVudC9jb21wb25lbnRzL3F1YWxpZnlpbmctcXVlc3Rpb25zL3F1YWxpZnlpbmctcXVlc3Rpb24tZGV0YWlsL3F1YWxpZnlpbmctcXVlc3Rpb24tZGV0YWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvY29tcG9uZW50cy9xdWFsaWZ5aW5nLXF1ZXN0aW9ucy9xdWFsaWZ5aW5nLXF1ZXN0aW9uLWRldGFpbC9xdWFsaWZ5aW5nLXF1ZXN0aW9uLWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0lDQWpELDZCQUFtRDtJQUNqRCwrQkFBOEI7SUFDNUIsWUFDRjs7SUFBQSxpQkFBTztJQUNQLDZCQUE0QjtJQUMxQixZQUNGOztJQUFBLGlCQUFLO0lBQ0wsOEJBQW9DO0lBQ2xDLGtDQUVhOztJQUNmLGlCQUFNOzs7O0lBVEosZUFDRjtJQURFLDBHQUNGO0lBRUUsZUFDRjtJQURFLHFGQUNGO0lBR0UsZUFBc0Q7SUFBdEQsa0ZBQXNEOztBREQxRCxNQUFNLE9BQU8saUNBQWlDO0lBQzVCLGtCQUFrQixDQUFxQjsyRkFENUMsaUNBQWlDOzZEQUFqQyxpQ0FBaUM7WUNSOUMscUdBQW1EOztZQUFwQyw4RkFBa0M7OztpRkRRcEMsaUNBQWlDO2NBTDdDLFNBQVM7MkJBQ0UsZ0NBQWdDO2dCQUsxQixrQkFBa0I7a0JBQWpDLEtBQUs7O2tGQURLLGlDQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFF1YWxpZnlpbmdRdWVzdGlvbiB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1xdWFsaWZ5aW5nLXF1ZXN0aW9uLWRldGFpbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWFsaWZ5aW5nLXF1ZXN0aW9uLWRldGFpbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3F1YWxpZnlpbmctcXVlc3Rpb24tZGV0YWlsLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUXVhbGlmeWluZ1F1ZXN0aW9uRGV0YWlsQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcHVibGljIHF1YWxpZnlpbmdRdWVzdGlvbjogUXVhbGlmeWluZ1F1ZXN0aW9uO1xufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInF1YWxpZnlpbmdRdWVzdGlvbj8ubWFya2Rvd25cIj5cbiAgPHNwYW4gY2xhc3M9XCJnb3Z1ay1jYXB0aW9uLWxcIj5cbiAgICB7eyAnQXJlIHlvdSBjb250YWN0aW5nIHVzIGFib3V0IGFueSBvZiB0aGUgZm9sbG93aW5nOicgfCBycHhUcmFuc2xhdGUgfX1cbiAgPC9zcGFuPlxuICA8aDEgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLWxcIj5cbiAgICB7eyBxdWFsaWZ5aW5nUXVlc3Rpb24ubmFtZSB8IHJweFRyYW5zbGF0ZSB9fVxuICA8L2gxPlxuICA8ZGl2IGNsYXNzPVwicW0tcXVhbGlmeWluZy1xdWVzdGlvblwiPlxuICAgIDxjY2QtbWFya2Rvd25cbiAgICBbY29udGVudF09XCJxdWFsaWZ5aW5nUXVlc3Rpb24ubWFya2Rvd24gfCBycHhUcmFuc2xhdGVcIj5cbiAgPC9jY2QtbWFya2Rvd24+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -1,6 +1,7 @@
1
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { FormGroup } from '@angular/forms';
3
3
  import { ActivatedRoute, Router } from '@angular/router';
4
+ import { forkJoin } from 'rxjs';
4
5
  import { take } from 'rxjs/operators';
5
6
  import { CaseEventTrigger } from '../../../../../../../lib/shared/domain';
6
7
  import { SessionStorageService } from '../../../../../services';
@@ -219,6 +220,7 @@ export class QueryCheckYourAnswersComponent {
219
220
  caseViewTrigger;
220
221
  caseDetails;
221
222
  queryId;
223
+ tid;
222
224
  createEventSubscription;
223
225
  searchTasksSubscription;
224
226
  queryCreateContextEnum = QueryCreateContext;
@@ -227,6 +229,7 @@ export class QueryCheckYourAnswersComponent {
227
229
  fieldId;
228
230
  attachments;
229
231
  errorMessages = [];
232
+ filteredTask = [];
230
233
  constructor(route, router, casesService, caseNotifier, workAllocationService, sessionStorageService, qualifyingQuestionService) {
231
234
  this.route = route;
232
235
  this.router = router;
@@ -238,6 +241,7 @@ export class QueryCheckYourAnswersComponent {
238
241
  }
239
242
  ngOnInit() {
240
243
  this.queryId = this.route.snapshot.params.qid;
244
+ this.tid = this.route.snapshot.queryParams?.tid;
241
245
  this.caseNotifier.caseView.pipe(take(1)).subscribe((caseDetails) => {
242
246
  this.caseDetails = caseDetails;
243
247
  // Find the appropriate event trigger based on the queryCreateContext
@@ -250,6 +254,23 @@ export class QueryCheckYourAnswersComponent {
250
254
  // Get the document attachments
251
255
  this.getDocumentAttachments();
252
256
  this.setCaseQueriesCollectionData();
257
+ if (this.queryCreateContext === QueryCreateContext.RESPOND) {
258
+ this.searchTasksSubscription = this.workAllocationService.getTasksByCaseIdAndEventId(this.RESPOND_TO_QUERY_EVENT_TRIGGER_ID, this.caseDetails.case_id, this.caseDetails.case_type.id, this.caseDetails.case_type.jurisdiction.id)
259
+ .subscribe({
260
+ next: (response) => {
261
+ // Filter task by query id
262
+ if (response.tasks?.length > 1) {
263
+ this.filteredTask = response.tasks?.find((task) => task.case_id === this.tid);
264
+ }
265
+ else {
266
+ this.filteredTask = response.tasks;
267
+ }
268
+ },
269
+ error: (error) => {
270
+ console.error('Error in searchTasksSubscription:', error);
271
+ }
272
+ });
273
+ }
253
274
  }
254
275
  ngOnDestroy() {
255
276
  this.createEventSubscription?.unsubscribe();
@@ -272,7 +293,25 @@ export class QueryCheckYourAnswersComponent {
272
293
  return;
273
294
  }
274
295
  const data = this.generateCaseQueriesCollectionData();
275
- this.createEventSubscription = this.casesService.createEvent(this.caseDetails, {
296
+ const createEvent$ = this.createEvent(data);
297
+ if (this.queryCreateContext === QueryCreateContext.RESPOND) {
298
+ const completeTask$ = this.workAllocationService.completeTask(this.filteredTask[0].id, this.caseViewTrigger.name);
299
+ this.createEventSubscription = forkJoin([createEvent$, completeTask$]).subscribe({
300
+ next: ([createEventResponse, tasksResponse]) => {
301
+ this.finaliseSubmission();
302
+ },
303
+ error: (error) => this.handleError(error)
304
+ });
305
+ }
306
+ else {
307
+ this.createEventSubscription = createEvent$.subscribe({
308
+ next: () => this.finaliseSubmission(),
309
+ error: (error) => this.handleError(error)
310
+ });
311
+ }
312
+ }
313
+ createEvent(data) {
314
+ return this.casesService.createEvent(this.caseDetails, {
276
315
  data,
277
316
  event: {
278
317
  id: this.caseViewTrigger?.id,
@@ -281,34 +320,16 @@ export class QueryCheckYourAnswersComponent {
281
320
  },
282
321
  event_token: this.eventData?.event_token,
283
322
  ignore_warning: false
284
- }).subscribe(() => {
285
- // Search and complete task
286
- this.searchAndCompleteTask();
287
- // Emit query submitted event
288
- this.querySubmitted.emit(true);
289
- this.qualifyingQuestionService.clearQualifyingQuestionSelection();
290
- },
291
- // Error
292
- () => this.router.navigate(['/', 'service-down']));
293
- }
294
- searchAndCompleteTask() {
295
- // Search Task
296
- const searchParameter = { ccdId: this.caseDetails.case_id };
297
- this.searchTasksSubscription = this.workAllocationService.searchTasks(searchParameter)
298
- .subscribe((response) => {
299
- // Filter task by query id
300
- const filteredTask = response.tasks?.find((task) => Object.values(task.additional_properties).some((value) => value === this.queryId));
301
- // Trigger event completion
302
- this.eventCompletionParams = {
303
- caseId: this.caseDetails.case_id,
304
- eventId: this.RESPOND_TO_QUERY_EVENT_TRIGGER_ID,
305
- task: filteredTask
306
- };
307
- }, (error) => {
308
- console.error('Error in searchTasksSubscription:', error);
309
- // Handle error appropriately
310
323
  });
311
324
  }
325
+ finaliseSubmission() {
326
+ this.querySubmitted.emit(true);
327
+ this.qualifyingQuestionService.clearQualifyingQuestionSelection();
328
+ }
329
+ handleError(error) {
330
+ console.error('Error in API calls:', error);
331
+ this.router.navigate(['/', 'service-down']);
332
+ }
312
333
  generateCaseQueriesCollectionData() {
313
334
  const currentUserDetails = JSON.parse(this.sessionStorageService.getItem('userDetails'));
314
335
  const caseMessage = this.queryCreateContext === QueryCreateContext.NEW_QUERY
@@ -517,5 +538,5 @@ export class QueryCheckYourAnswersComponent {
517
538
  }], querySubmitted: [{
518
539
  type: Output
519
540
  }] }); })();
520
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryCheckYourAnswersComponent, { className: "QueryCheckYourAnswersComponent", filePath: "lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.ts", lineNumber: 27 }); })();
521
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY2hlY2steW91ci1hbnN3ZXJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvY29tcG9uZW50cy9xdWVyeS1jaGVjay15b3VyLWFuc3dlcnMvcXVlcnktY2hlY2steW91ci1hbnN3ZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvY29tcG9uZW50cy9xdWVyeS1jaGVjay15b3VyLWFuc3dlcnMvcXVlcnktY2hlY2steW91ci1hbnN3ZXJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQ0wsZ0JBQWdCLEVBTWpCLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRyxPQUFPLEVBQWtELGtCQUFrQixFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMs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QUVKLEFBREUsQUFERSxpQkFBUyxFQUNMLEVBQ0Y7WUFFTixrREFDNkI7WUFDL0IsaUJBQU07Ozs7WUF6SUksZUFBOEI7WUFBOUIsbURBQThCO1lBZ0JyQixjQUE2RDtZQUE3RCxzRkFBNkQ7WUFLM0QsZUFBNkQ7WUFBQSxBQUE3RCxvRkFBNkQsNkNBQWlDO1lBUzlFLGVBQTJCO1lBQTNCLDZDQUEyQjtZQUd2RCxjQUE0RDtZQUE1RCxxRkFBNEQ7WUFvQjNELGVBQ0Y7WUFERSwySkFDRjtZQUVFLGVBQ0Y7WUFERSxxR0FDRjtZQUdJLGVBQ0Y7WUFERSxpRUFDRjtZQUtELGVBQTZEO1lBQTdELHNGQUE2RDtZQW9DVixjQUF3RDtZQUF4RCx3RUFBd0Q7WUF5QjVHLGVBQ0Y7WUFERSxtRUFDRjtZQUVFLGVBQ0Y7WUFERSxpRUFDRjtZQUl3QixlQUErQztZQUEvQyxpRUFBK0M7OztpRkRoSGhFLDhCQUE4QjtjQUwxQyxTQUFTOzJCQUNFLDhCQUE4QjswT0FXeEIsU0FBUztrQkFBeEIsS0FBSztZQUNVLFNBQVM7a0JBQXhCLEtBQUs7WUFDVSxrQkFBa0I7a0JBQWpDLEtBQUs7WUFDVSxTQUFTO2tCQUF4QixLQUFLO1lBQ1UsUUFBUTtrQkFBdkIsS0FBSztZQUNXLFdBQVc7a0JBQTNCLE1BQU07WUFDVSxjQUFjO2tCQUE5QixNQUFNOztrRkFiSSw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgQ2FzZUV2ZW50VHJpZ2dlcixcbiAgQ2FzZUZpZWxkLFxuICBDYXNlVmlldyxcbiAgQ2FzZVZpZXdUcmlnZ2VyLFxuICBFcnJvck1lc3NhZ2UsXG4gIFRhc2tTZWFyY2hQYXJhbWV0ZXJcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3NoYXJlZC9kb21haW4nO1xuaW1wb3J0IHsgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgRXZlbnRDb21wbGV0aW9uUGFyYW1zIH0gZnJvbSAnLi4vLi4vLi4vLi4vY2FzZS1lZGl0b3IvZG9tYWluL2V2ZW50LWNvbXBsZXRpb24tcGFyYW1zLm1vZGVsJztcbmltcG9ydCB7IENhc2VOb3RpZmllciwgQ2FzZXNTZXJ2aWNlLCBXb3JrQWxsb2NhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jYXNlLWVkaXRvci9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDYXNlUXVlcmllc0NvbGxlY3Rpb24sIFFtQ2FzZVF1ZXJpZXNDb2xsZWN0aW9uLCBRdWVyeUNyZWF0ZUNvbnRleHQsIFF1ZXJ5TGlzdEl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgUXVlcnlNYW5hZ2VtZW50VXRpbHMgfSBmcm9tICcuLi8uLi91dGlscy9xdWVyeS1tYW5hZ2VtZW50LnV0aWxzJztcbmltcG9ydCB7IEZvcm1Eb2N1bWVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9zaGFyZWQvZG9tYWluL2RvY3VtZW50JztcbmltcG9ydCB7IFF1YWxpZnlpbmdRdWVzdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9xdWFsaWZ5aW5nLXF1ZXN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWNjZXNzQ29udHJvbExpc3QgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4vZGVmaW5pdGlvbi9hY2Nlc3MtY29udHJvbC1saXN0Lm1vZGVsJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1xdWVyeS1jaGVjay15b3VyLWFuc3dlcnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vcXVlcnktY2hlY2steW91ci1hbnN3ZXJzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcXVlcnktY2hlY2steW91ci1hbnN3ZXJzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUXVlcnlDaGVja1lvdXJBbnN3ZXJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHJlYWRvbmx5IFJBSVNFX0FfUVVFUllfRVZFTlRfVFJJR0dFUl9JRCA9ICdxdWVyeU1hbmFnZW1lbnRSYWlzZVF1ZXJ5JztcbiAgcHJpdmF0ZSByZWFkb25seSBSRVNQT05EX1RPX1FVRVJZX0VWRU5UX1RSSUdHRVJfSUQgPSAncXVlcnlNYW5hZ2VtZW50UmVzcG9uZFF1ZXJ5JztcblxuICBwcml2YXRlIHJlYWRvbmx5IENBU0VfUVVFUklFU19DT0xMRUNUSU9OX0lEID0gJ0Nhc2VRdWVyaWVzQ29sbGVjdGlvbic7XG4gIHB1YmxpYyByZWFkb25seSBGSUVMRF9UWVBFX0NPTVBMRVggPSAnQ29tcGxleCc7XG5cbiAgQElucHV0KCkgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBwdWJsaWMgcXVlcnlJdGVtOiBRdWVyeUxpc3RJdGVtO1xuICBASW5wdXQoKSBwdWJsaWMgcXVlcnlDcmVhdGVDb250ZXh0OiBRdWVyeUNyZWF0ZUNvbnRleHQ7XG4gIEBJbnB1dCgpIHB1YmxpYyBldmVudERhdGE6IENhc2VFdmVudFRyaWdnZXIgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgcHVibGljIHJvbGVOYW1lOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBwdWJsaWMgYmFja0NsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgcXVlcnlTdWJtaXR0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcHJpdmF0ZSBjYXNlVmlld1RyaWdnZXI6IENhc2VWaWV3VHJpZ2dlcjtcbiAgcHVibGljIGNhc2VEZXRhaWxzOiBDYXNlVmlldztcbiAgcHJpdmF0ZSBxdWVyeUlkOiBzdHJpbmc7XG4gIHByaXZhdGUgY3JlYXRlRXZlbnRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBzZWFyY2hUYXNrc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIHB1YmxpYyBxdWVyeUNyZWF0ZUNvbnRleHRFbnVtID0gUXVlcnlDcmVhdGVDb250ZXh0O1xuICBwdWJsaWMgZXZlbnRDb21wbGV0aW9uUGFyYW1zOiBFdmVudENvbXBsZXRpb25QYXJhbXM7XG4gIHB1YmxpYyBjYXNlUXVlcmllc0NvbGxlY3Rpb25zOiBDYXNlUXVlcmllc0NvbGxlY3Rpb25bXTtcbiAgcHVibGljIGZpZWxkSWQ6IHN0cmluZztcbiAgcHVibGljIGF0dGFjaG1lbnRzOiBGb3JtRG9jdW1lbnRbXTtcblxuICBwdWJsaWMgZXJyb3JNZXNzYWdlczogRXJyb3JNZXNzYWdlW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZXNTZXJ2aWNlOiBDYXNlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlTm90aWZpZXI6IENhc2VOb3RpZmllcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdvcmtBbGxvY2F0aW9uU2VydmljZTogV29ya0FsbG9jYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBxdWFsaWZ5aW5nUXVlc3Rpb25TZXJ2aWNlOiBRdWFsaWZ5aW5nUXVlc3Rpb25TZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5xdWVyeUlkID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbXMucWlkO1xuICAgIHRoaXMuY2FzZU5vdGlmaWVyLmNhc2VWaWV3LnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKChjYXNlRGV0YWlscykgPT4ge1xuICAgICAgdGhpcy5jYXNlRGV0YWlscyA9IGNhc2VEZXRhaWxzO1xuXG4gICAgICAvLyBGaW5kIHRoZSBhcHByb3ByaWF0ZSBldmVudCB0cmlnZ2VyIGJhc2VkIG9uIHRoZSBxdWVyeUNyZWF0ZUNvbnRleHRcbiAgICAgIHRoaXMuY2FzZVZpZXdUcmlnZ2VyID0gdGhpcy5jYXNlRGV0YWlscy50cmlnZ2Vycy5maW5kKCh0cmlnZ2VyKSA9PlxuICAgICAgICB0aGlzLnF1ZXJ5Q3JlYXRlQ29udGV4dCAhPT0gUXVlcnlDcmVhdGVDb250ZXh0LlJFU1BPTkRcbiAgICAgICAgLy8gSWYgdGhlIGNvbnRleHQgaXMgbm90ICdSRVNQT05EJywgZmluZCB0aGUgdHJpZ2dlciB3aXRoIHRoZSBJRCBmb3IgcmFpc2luZyBhIHF1ZXJ5XG4gICAgICAgICAgPyB0cmlnZ2VyLmlkID09PSB0aGlzLlJBSVNFX0FfUVVFUllfRVZFTlRfVFJJR0dFUl9JRFxuICAgICAgICAvLyBJZiB0aGUgY29udGV4dCBpcyAnUkVTUE9ORCcsIGZpbmQgdGhlIHRyaWdnZXIgd2l0aCB0aGUgSUQgZm9yIHJlc3BvbmRpbmcgdG8gYSBxdWVyeVxuICAgICAgICAgIDogdHJpZ2dlci5pZCA9PT0gdGhpcy5SRVNQT05EX1RPX1FVRVJZX0VWRU5UX1RSSUdHRVJfSURcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICAvLyBHZXQgdGhlIGRvY3VtZW50IGF0dGFjaG1lbnRzXG4gICAgdGhpcy5nZXREb2N1bWVudEF0dGFjaG1lbnRzKCk7XG5cbiAgICB0aGlzLnNldENhc2VRdWVyaWVzQ29sbGVjdGlvbkRhdGEoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmNyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuc2VhcmNoVGFza3NTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgZ29CYWNrKCk6IHZvaWQge1xuICAgIHRoaXMuYmFja0NsaWNrZWQuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBzdWJtaXQoKTogdm9pZCB7XG4gICAgLy8gQ2hlY2sgaWYgZmllbGRJZCBpcyBudWxsIG9yIHVuZGVmaW5lZFxuICAgIGlmICghdGhpcy5maWVsZElkKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvcjogRmllbGQgSUQgaXMgbWlzc2luZy4gQ2Fubm90IHByb2NlZWQgd2l0aCBzdWJtaXNzaW9uLicpO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gW1xuICAgICAgICB7XG4gICAgICAgICAgdGl0bGU6ICdFcnJvcicsXG4gICAgICAgICAgZGVzY3JpcHRpb246ICdUaGlzIGNhc2UgaXMgbm90IGNvbmZpZ3VyZWQgZm9yIHF1ZXJ5IG1hbmFnZW1lbnQuJyxcbiAgICAgICAgICBmaWVsZElkOiAnZmllbGQtaWQnXG4gICAgICAgIH1cbiAgICAgIF07XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGF0YSA9IHRoaXMuZ2VuZXJhdGVDYXNlUXVlcmllc0NvbGxlY3Rpb25EYXRhKCk7XG4gICAgdGhpcy5jcmVhdGVFdmVudFN1YnNjcmlwdGlvbiA9IHRoaXMuY2FzZXNTZXJ2aWNlLmNyZWF0ZUV2ZW50KHRoaXMuY2FzZURldGFpbHMsIHtcbiAgICAgIGRhdGEsXG4gICAgICBldmVudDoge1xuICAgICAgICBpZDogdGhpcy5jYXNlVmlld1RyaWdnZXI/LmlkLFxuICAgICAgICBzdW1tYXJ5OiAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IHRoaXMuY2FzZVZpZXdUcmlnZ2VyPy5kZXNjcmlwdGlvblxuICAgICAgfSxcbiAgICAgIGV2ZW50X3Rva2VuOiB0aGlzLmV2ZW50RGF0YT8uZXZlbnRfdG9rZW4sXG4gICAgICBpZ25vcmVfd2FybmluZzogZmFsc2VcbiAgICB9KS5zdWJzY3JpYmUoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIC8vIFNlYXJjaCBhbmQgY29tcGxldGUgdGFza1xuICAgICAgICB0aGlzLnNlYXJjaEFuZENvbXBsZXRlVGFzaygpO1xuICAgICAgICAvLyBFbWl0IHF1ZXJ5IHN1Ym1pdHRlZCBldmVudFxuICAgICAgICB0aGlzLnF1ZXJ5U3VibWl0dGVkLmVtaXQodHJ1ZSk7XG4gICAgICAgIHRoaXMucXVhbGlmeWluZ1F1ZXN0aW9uU2VydmljZS5jbGVhclF1YWxpZnlpbmdRdWVzdGlvblNlbGVjdGlvbigpO1xuICAgICAgfSxcbiAgICAgIC8vIEVycm9yXG4gICAgICAoKSA9PiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy8nLCAnc2VydmljZS1kb3duJ10pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hBbmRDb21wbGV0ZVRhc2soKTogdm9pZCB7XG4gICAgLy8gU2VhcmNoIFRhc2tcbiAgICBjb25zdCBzZWFyY2hQYXJhbWV0ZXIgPSB7IGNjZElkOiB0aGlzLmNhc2VEZXRhaWxzLmNhc2VfaWQgfSBhcyBUYXNrU2VhcmNoUGFyYW1ldGVyO1xuICAgIHRoaXMuc2VhcmNoVGFza3NTdWJzY3JpcHRpb24gPSB0aGlzLndvcmtBbGxvY2F0aW9uU2VydmljZS5zZWFyY2hUYXNrcyhzZWFyY2hQYXJhbWV0ZXIpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgIC8vIEZpbHRlciB0YXNrIGJ5IHF1ZXJ5IGlkXG4gICAgICAgICAgY29uc3QgZmlsdGVyZWRUYXNrID0gcmVzcG9uc2UudGFza3M/LmZpbmQoKHRhc2spID0+XG4gICAgICAgICAgICBPYmplY3QudmFsdWVzKHRhc2suYWRkaXRpb25hbF9wcm9wZXJ0aWVzKS5zb21lKCh2YWx1ZSkgPT4gdmFsdWUgPT09IHRoaXMucXVlcnlJZClcbiAgICAgICAgICApO1xuICAgICAgICAgIC8vIFRyaWdnZXIgZXZlbnQgY29tcGxldGlvblxuICAgICAgICAgIHRoaXMuZXZlbnRDb21wbGV0aW9uUGFyYW1zID0ge1xuICAgICAgICAgICAgY2FzZUlkOiB0aGlzLmNhc2VEZXRhaWxzLmNhc2VfaWQsXG4gICAgICAgICAgICBldmVudElkOiB0aGlzLlJFU1BPTkRfVE9fUVVFUllfRVZFTlRfVFJJR0dFUl9JRCxcbiAgICAgICAgICAgIHRhc2s6IGZpbHRlcmVkVGFza1xuICAgICAgICAgIH07XG4gICAgICAgIH0sXG4gICAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIHNlYXJjaFRhc2tzU3Vic2NyaXB0aW9uOicsIGVycm9yKTtcbiAgICAgICAgICAvLyBIYW5kbGUgZXJyb3IgYXBwcm9wcmlhdGVseVxuICAgICAgICB9XG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZUNhc2VRdWVyaWVzQ29sbGVjdGlvbkRhdGEoKTogUW1DYXNlUXVlcmllc0NvbGxlY3Rpb24ge1xuICAgIGNvbnN0IGN1cnJlbnRVc2VyRGV0YWlscyA9IEpTT04ucGFyc2UodGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgndXNlckRldGFpbHMnKSk7XG5cbiAgICBjb25zdCBjYXNlTWVzc2FnZSA9IHRoaXMucXVlcnlDcmVhdGVDb250ZXh0ID09PSBRdWVyeUNyZWF0ZUNvbnRleHQuTkVXX1FVRVJZXG4gICAgICA/IFF1ZXJ5TWFuYWdlbWVudFV0aWxzLmdldE5ld1F1ZXJ5RGF0YSh0aGlzLmZvcm1Hcm91cCwgY3VycmVudFVzZXJEZXRhaWxzKVxuICAgICAgOiBRdWVyeU1hbmFnZW1lbnRVdGlscy5nZXRSZXNwb25kT3JGb2xsb3d1cFF1ZXJ5RGF0YSh0aGlzLmZvcm1Hcm91cCwgdGhpcy5xdWVyeUl0ZW0sIGN1cnJlbnRVc2VyRGV0YWlscyk7XG5cbiAgICBjb25zdCBtZXNzYWdlSWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtcy5kYXRhaWQ7IC8vIEdldCB0aGUgbWVzc2FnZSBJRCBmcm9tIHJvdXRlIHBhcmFtcyAoaWYgcHJlc2VudClcbiAgICBjb25zdCBpc05ld1F1ZXJ5ID0gdGhpcy5xdWVyeUNyZWF0ZUNvbnRleHQgPT09IFF1ZXJ5Q3JlYXRlQ29udGV4dC5ORVdfUVVFUlk7IC8vIENoZWNrIGlmIHRoaXMgaXMgYSBuZXcgcXVlcnlcblxuICAgIC8vIENoZWNrIGlmIHRoZSBmaWVsZCBJRCBoYXMgYmVlbiBzZXQgZHluYW1pY2FsbHlcbiAgICBpZiAoIXRoaXMuZmllbGRJZCkge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3I6IEZpZWxkIElEIGZvciBDYXNlUXVlcmllc0NvbGxlY3Rpb24gbm90IGZvdW5kLiBDYW5ub3QgcHJvY2VlZCB3aXRoIGRhdGEgZ2VuZXJhdGlvbi4nKTtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLycsICdzZXJ2aWNlLWRvd24nXSk7XG4gICAgfVxuXG4gICAgLy8gSW5pdGlhbGl6ZSBuZXcgcXVlcnkgZGF0YSBzdHJ1Y3R1cmVcbiAgICBjb25zdCBuZXdRdWVyeURhdGE6IFFtQ2FzZVF1ZXJpZXNDb2xsZWN0aW9uID0ge307XG5cbiAgICBpZiAodGhpcy5jYXNlUXVlcmllc0NvbGxlY3Rpb25zPy5sZW5ndGgpIHtcbiAgICAgIGxldCBtYXRjaGVkQ29sbGVjdGlvbjtcblxuICAgICAgLy8gSWYgaXQncyBub3QgYSBuZXcgcXVlcnksIHRyeSB0byBmaW5kIHRoZSBleGlzdGluZyBjb2xsZWN0aW9uIHdpdGggdGhlIG1lc3NhZ2UgSURcbiAgICAgIGlmICghaXNOZXdRdWVyeSAmJiBtZXNzYWdlSWQpIHtcbiAgICAgICAgbWF0Y2hlZENvbGxlY3Rpb24gPSB0aGlzLmNhc2VRdWVyaWVzQ29sbGVjdGlvbnMuZmluZCgoY29sbGVjdGlvbikgPT5cbiAgICAgICAgICBjb2xsZWN0aW9uLmNhc2VNZXNzYWdlcy5zb21lKChtZXNzYWdlKSA9PiBtZXNzYWdlLnZhbHVlLmlkID09PSBtZXNzYWdlSWQpXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGlmIChtYXRjaGVkQ29sbGVjdGlvbikge1xuICAgICAgICAvLyBBcHBlbmQgdGhlIG5ldyBjYXNlIG1lc3NhZ2UgdG8gdGhlIG1hdGNoZWQgY29sbGVjdGlvbidzIGNhc2VNZXNzYWdlc1xuICAgICAgICBtYXRjaGVkQ29sbGVjdGlvbi5jYXNlTWVzc2FnZXMucHVzaCh7XG4gICAgICAgICAgaWQ6IG51bGwsXG4gICAgICAgICAgdmFsdWU6IGNhc2VNZXNzYWdlXG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIEFkZCB0aGUgbWF0Y2hlZCBjb2xsZWN0aW9uIHRvIG5ld1F1ZXJ5RGF0YVxuICAgICAgICBuZXdRdWVyeURhdGFbdGhpcy5maWVsZElkXSA9IHtcbiAgICAgICAgICAuLi5tYXRjaGVkQ29sbGVjdGlvbiwgLy8gS2VlcCBleGlzdGluZyBkYXRhIGludGFjdFxuICAgICAgICAgIGNhc2VNZXNzYWdlczogWy4uLm1hdGNoZWRDb2xsZWN0aW9uLmNhc2VNZXNzYWdlc10gLy8gQXBwZW5kIHRoZSB1cGRhdGVkIG1lc3NhZ2VzIGFycmF5XG4gICAgICAgIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBJZiBubyBjb2xsZWN0aW9uIG1hdGNoZXMsIG9yIGl0J3MgYSBuZXcgcXVlcnlcbiAgICAgICAgbmV3UXVlcnlEYXRhW3RoaXMuZmllbGRJZF0gPSB7XG4gICAgICAgICAgcGFydHlOYW1lOiBjdXJyZW50VXNlckRldGFpbHM/Lm5hbWUgfHwgYCR7Y3VycmVudFVzZXJEZXRhaWxzPy5mb3JlbmFtZX0gJHtjdXJyZW50VXNlckRldGFpbHM/LnN1cm5hbWV9YCwgLy8gTm90IHJldHVybmVkIGJ5IENDRFxuICAgICAgICAgIHJvbGVPbkNhc2U6ICcnLCAvLyBOb3QgcmV0dXJuZWQgYnkgQ0NEXG4gICAgICAgICAgY2FzZU1lc3NhZ2VzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiBudWxsLFxuICAgICAgICAgICAgICB2YWx1ZTogY2FzZU1lc3NhZ2VcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gSWYgY2FzZVF1ZXJpZXNDb2xsZWN0aW9ucyBpcyBub3QgZW1wdHksIGFwcGVuZCBpdHMgZGF0YVxuICAgICAgICBuZXdRdWVyeURhdGFbdGhpcy5maWVsZElkXS5jYXNlTWVzc2FnZXMucHVzaChcbiAgICAgICAgICAuLi50aGlzLmNhc2VRdWVyaWVzQ29sbGVjdGlvbnMuZmxhdE1hcCgoY29sbGVjdGlvbikgPT4gY29sbGVjdGlvbi5jYXNlTWVzc2FnZXMpXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIElmIHRoZXJlIGFyZSBubyBleGlzdGluZyBjb2xsZWN0aW9ucywgY3JlYXRlIGEgbmV3IG9uZSAoZS5nLiwgZm9yIG5ldyBxdWVyaWVzKVxuICAgICAgbmV3UXVlcnlEYXRhW3RoaXMuZmllbGRJZF0gPSB7XG4gICAgICAgIHBhcnR5TmFtZTogY3VycmVudFVzZXJEZXRhaWxzPy5uYW1lIHx8IGAke2N1cnJlbnRVc2VyRGV0YWlscz8uZm9yZW5hbWV9ICR7Y3VycmVudFVzZXJEZXRhaWxzPy5zdXJuYW1lfWAsIC8vIE5vdCByZXR1cm5lZCBieSBDQ0RcbiAgICAgICAgcm9sZU9uQ2FzZTogJycsIC8vIE5vdCByZXR1cm5lZCBieSBDQ0RcbiAgICAgICAgY2FzZU1lc3NhZ2VzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWQ6IG51bGwsXG4gICAgICAgICAgICB2YWx1ZTogY2FzZU1lc3NhZ2VcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBuZXdRdWVyeURhdGE7XG4gIH1cblxuICBwdWJsaWMgc2V0Q2FzZVF1ZXJpZXNDb2xsZWN0aW9uRGF0YSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5ldmVudERhdGE/LmNhc2VfZmllbGRzPy5sZW5ndGgpIHtcbiAgICAgIC8vIFdvcmthcm91bmQgZm9yIG11bHRpcGxlIHFtQ2FzZVF1ZXJpZXNDb2xsZWN0aW9ucyB0aGF0IGFyZSBub3QgdG8gYmUgYXBwZWFyaW5nIGluIHRoZSBldmVudERhdGFcbiAgICAgIC8vIENvdW50cyBudW1iZXIgcW1DYXNlUXVlcmllc0NvbGxlY3Rpb25zXG4gICAgICBjb25zdCBudW1iZXJPZkNhc2VRdWVyaWVzQ29sbGVjdGlvbnMgPSB0aGlzLmV2ZW50RGF0YT8uY2FzZV9maWVsZHM/LmZpbHRlcihcbiAgICAgICAgKGNhc2VGaWVsZCkgPT5cbiAgICAgICAgICBjYXNlRmllbGQuZmllbGRfdHlwZS5pZCA9PT0gdGhpcy5DQVNFX1FVRVJJRVNfQ09MTEVDVElPTl9JRCAmJlxuICAgICAgICAgIGNhc2VGaWVsZC5maWVsZF90eXBlLnR5cGUgPT09IHRoaXMuRklFTERfVFlQRV9DT01QTEVYXG4gICAgICApPy5sZW5ndGggfHwgMDtcblxuICAgICAgdGhpcy5jYXNlUXVlcmllc0NvbGxlY3Rpb25zID0gdGhpcy5ldmVudERhdGEuY2FzZV9maWVsZHMucmVkdWNlKChhY2MsIGNhc2VGaWVsZCkgPT4ge1xuICAgICAgICAvLyBFeHRyYWN0IHRoZSBJRCBiYXNlZCBvbiBjb25kaXRpb25zLCB1cGRhdGluZyB0aGlzLmZpZWxkSWQgZHluYW1pY2FsbHlcbiAgICAgICAgdGhpcy5leHRyYWN0Q2FzZVF1ZXJ5SWQoY2FzZUZpZWxkLCBudW1iZXJPZkNhc2VRdWVyaWVzQ29sbGVjdGlvbnMpO1xuXG4gICAgICAgIGNvbnN0IGV4dHJhY3RlZENhc2VRdWVyaWVzRnJvbUNhc2VGaWVsZCA9IFF1ZXJ5TWFuYWdlbWVudFV0aWxzLmV4dHJhY3RDYXNlUXVlcmllc0Zyb21DYXNlRmllbGQoY2FzZUZpZWxkKTtcbiAgICAgICAgaWYgKGV4dHJhY3RlZENhc2VRdWVyaWVzRnJvbUNhc2VGaWVsZCAmJiB0eXBlb2YgZXh0cmFjdGVkQ2FzZVF1ZXJpZXNGcm9tQ2FzZUZpZWxkID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIGFjYy5wdXNoKGV4dHJhY3RlZENhc2VRdWVyaWVzRnJvbUNhc2VGaWVsZCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIFtdKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3RDYXNlUXVlcnlJZChkYXRhOiBDYXNlRmllbGQsIGNvdW50OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCB7IGlkLCB2YWx1ZSwgYWNscyB9ID0gZGF0YTtcbiAgICBjb25zdCBtZXNzYWdlSWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtcy5kYXRhaWQ7XG5cbiAgICAvLyBDaGVjayBpZiB0aGUgZmllbGRfdHlwZSBtYXRjaGVzIENhc2VRdWVyaWVzQ29sbGVjdGlvbiBhbmQgdHlwZSBpcyBDb21wbGV4XG4gICAgaWYgKGRhdGEuZmllbGRfdHlwZS5pZCA9PT0gdGhpcy5DQVNFX1FVRVJJRVNfQ09MTEVDVElPTl9JRCAmJiBkYXRhLmZpZWxkX3R5cGUudHlwZSA9PT0gdGhpcy5GSUVMRF9UWVBFX0NPTVBMRVgpIHtcbiAgICAgIGlmICh0aGlzLnF1ZXJ5Q3JlYXRlQ29udGV4dCA9PT0gUXVlcnlDcmVhdGVDb250ZXh0Lk5FV19RVUVSWSkge1xuICAgICAgICAvL2lmIG51bWJlciBxbUNhc2VRdWVyaWVzQ29sbGVjdGlvbiBpcyBtb3JlIHRoZW4gZmlsdGVyIG91dCB0aGUgcmlnaHQgcW1DYXNlUXVlcmllc0NvbGxlY3Rpb25cbiAgICAgICAgdGhpcy5zZXRGaWVsZElkKGNvdW50LCBhY2xzLCBpZCk7XG4gICAgICB9XG4gICAgICAvLyBJZiBtZXNzYWdlSWQgaXMgcHJlc2VudCwgZmluZCB0aGUgY29ycmVzcG9uZGluZyBjYXNlIG1lc3NhZ2VcbiAgICAgIHRoaXMuc2V0TWVzc2FnZUZpZWxkSWQobWVzc2FnZUlkLCB2YWx1ZSwgaWQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0TWVzc2FnZUZpZWxkSWQobWVzc2FnZUlkLCB2YWx1ZSwgaWQ6IHN0cmluZykge1xuICAgIGlmIChtZXNzYWdlSWQgJiYgdmFsdWU/LmNhc2VNZXNzYWdlcykge1xuICAgICAgLy8gSWYgYSBtYXRjaGluZyBtZXNzYWdlIGlzIGZvdW5kLCBzZXQgdGhlIGZpZWxkSWQgdG8gdGhlIGNvcnJlc3BvbmRpbmcgaWRcbiAgICAgIGNvbnN0IG1hdGNoZWRNZXNzYWdlID0gdmFsdWU/LmNhc2VNZXNzYWdlcz8uZmluZCgobWVzc2FnZSkgPT4gbWVzc2FnZS52YWx1ZS5pZCA9PT0gbWVzc2FnZUlkKTtcbiAgICAgIGlmIChtYXRjaGVkTWVzc2FnZSkge1xuICAgICAgICB0aGlzLmZpZWxkSWQgPSBpZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldEZpZWxkSWQoY291bnQ6IG51bWJlciwgYWNsczogQWNjZXNzQ29udHJvbExpc3RbXSwgaWQ6IHN0cmluZykge1xuICAgIGlmIChjb3VudCA+IDEpIHtcbiAgICAgIGNvbnN0IG1hdGNoaW5nUm9sZSA9IGFjbHM/LmZpbmQoKGFjbCkgPT4gYWNsLnJvbGUgPT09IHRoaXMucm9sZU5hbWUpO1xuICAgICAgaWYgKG1hdGNoaW5nUm9sZSkge1xuICAgICAgICB0aGlzLmZpZWxkSWQgPSBpZDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gU2V0IHRoZSBmaWVsZCBJRCBkeW5hbWljYWxseSBiYXNlZCBvbiB0aGUgZXh0cmFjdGVkIGRhdGFcbiAgICAgIHRoaXMuZmllbGRJZCA9IGlkOyAvLyBTdG9yZSB0aGUgSUQgZm9yIHVzZSBpbiBnZW5lcmF0aW5nIG5ld1F1ZXJ5RGF0YVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0RG9jdW1lbnRBdHRhY2htZW50cygpOiB2b2lkIHtcbiAgICBjb25zdCBhdHRhY2htZW50c1ZhbHVlID0gdGhpcy5mb3JtR3JvdXAuZ2V0KCdhdHRhY2htZW50cycpLnZhbHVlO1xuICAgIGlmIChhdHRhY2htZW50c1ZhbHVlICYmIGF0dGFjaG1lbnRzVmFsdWUubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZG9jdW1lbnRzID0gYXR0YWNobWVudHNWYWx1ZTtcbiAgICAgIHRoaXMuYXR0YWNobWVudHMgPSBkb2N1bWVudHMubWFwKFF1ZXJ5TWFuYWdlbWVudFV0aWxzLmRvY3VtZW50VG9Db2xsZWN0aW9uRm9ybURvY3VtZW50KTtcbiAgICB9XG4gIH1cbn1cblxuIiwiPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtcm93XCI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLWNvbHVtbi10d28tdGhpcmRzLWZyb20tZGVza3RvcFwiPlxuICAgIDwhLS0gRXJyb3IgbWVzc2FnZSBzdW1tYXJ5IC0tPlxuICAgIDxkaXYgKm5nSWY9XCJlcnJvck1lc3NhZ2VzLmxlbmd0aCA+IDBcIiBjbGFzcz1cImdvdnVrLWVycm9yLXN1bW1hcnlcIlxuICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwiZXJyb3Itc3VtbWFyeS10aXRsZVwiIHJvbGU9XCJhbGVydFwiIHRhYmluZGV4PVwiLTFcIlxuICAgICAgZGF0YS1tb2R1bGU9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5XCI+XG4gICAgIDxoMiBjbGFzcz1cImdvdnVrLWVycm9yLXN1bW1hcnlfX3RpdGxlXCIgaWQ9XCJlcnJvci1zdW1tYXJ5LXRpdGxlXCI+XG4gICAgICAge3sgJ1RoZXJlIGlzIGEgcHJvYmxlbScgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgPC9oMj5cbiAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWVycm9yLXN1bW1hcnlfX2JvZHlcIj5cbiAgICAgICA8dWwgY2xhc3M9XCJnb3Z1ay1saXN0IGdvdnVrLWVycm9yLXN1bW1hcnlfX2xpc3RcIj5cbiAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgZXJyb3JNZXNzYWdlIG9mIGVycm9yTWVzc2FnZXNcIj5cbiAgICAgICAgICAgPGEgW2lkXT1cIidlcnJvci0nICsgZXJyb3JNZXNzYWdlLmZpZWxkSWRcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCJcbiAgICAgICAgICAgICBjbGFzcz1cInZhbGlkYXRpb24tZXJyb3JcIj57eyBlcnJvck1lc3NhZ2UuZGVzY3JpcHRpb24gfCBycHhUcmFuc2xhdGUgfX08L2E+XG4gICAgICAgICA8L2xpPlxuICAgICAgIDwvdWw+XG4gICAgIDwvZGl2PlxuICAgPC9kaXY+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicXVlcnlDcmVhdGVDb250ZXh0ID09PSBxdWVyeUNyZWF0ZUNvbnRleHRFbnVtLk5FV19RVUVSWVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWNhcHRpb24tbFwiPnt7ICdSYWlzZSBhIHF1ZXJ5JyB8IHJweFRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPGgxIGNsYXNzPVwiZ292dWstaGVhZGluZy1sXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicXVlcnlDcmVhdGVDb250ZXh0ID09PSBxdWVyeUNyZWF0ZUNvbnRleHRFbnVtLlJFU1BPTkQ7IGVsc2UgZGVmYXVsdENoZWNrWW91ckFuc3dlcnNUaXRsZVwiPlxuICAgICAgICB7eyAnUmV2aWV3IHF1ZXJ5IHJlc3BvbnNlIGRldGFpbHMnIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0Q2hlY2tZb3VyQW5zd2Vyc1RpdGxlPlxuICAgICAgICB7eyAnUmV2aWV3IHF1ZXJ5IGRldGFpbHMnIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvaDE+XG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLSEtbWFyZ2luLWJvdHRvbS00XCI+XG4gICAgICA8Y2NkLXF1ZXJ5LWNhc2UtZGV0YWlscy1oZWFkZXIgW2Nhc2VEZXRhaWxzXT1cImNhc2VEZXRhaWxzXCI+PC9jY2QtcXVlcnktY2FzZS1kZXRhaWxzLWhlYWRlcj5cbiAgICA8L2Rpdj5cblxuICAgIDxkbCAqbmdJZj1cInF1ZXJ5Q3JlYXRlQ29udGV4dCAhPT0gcXVlcnlDcmVhdGVDb250ZXh0RW51bS5GT0xMT1dVUFwiIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0IGdvdnVrLSEtbWFyZ2luLWJvdHRvbS0wXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19yb3dcIj5cbiAgICAgICAgPGR0IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19rZXlcIj5cbiAgICAgICAgICB7eyBxdWVyeUNyZWF0ZUNvbnRleHQgPT09IHF1ZXJ5Q3JlYXRlQ29udGV4dEVudW0uUkVTUE9ORCA/ICdTdWJtaXR0ZWQgcXVlcnknIDogJ1F1ZXJ5IHN1YmplY3QnIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgIDwvZHQ+XG4gICAgICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWVcIj5cbiAgICAgICAgICB7eyBxdWVyeUNyZWF0ZUNvbnRleHQgPT09IHF1ZXJ5Q3JlYXRlQ29udGV4dEVudW0uUkVTUE9ORCA/IHF1ZXJ5SXRlbS5zdWJqZWN0IDogZm9ybUdyb3VwLmdldCgnc3ViamVjdCcpPy52YWx1ZSB9fVxuICAgICAgICA8L2RkPlxuICAgICAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnNcIj5cbiAgICAgICAgICA8YSAgKm5nSWY9XCJxdWVyeUNyZWF0ZUNvbnRleHQgPT09IHF1ZXJ5Q3JlYXRlQ29udGV4dEVudW0uTkVXX1FVRVJZXCIgXG4gICAgICAgICAgICBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgY2xhc3M9XCJnb3Z1ay1saW5rXCIgKGNsaWNrKT1cImdvQmFjaygpXCI+XG4gICAgICAgICAgICB7eyAnQ2hhbmdlJyB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGw+XG5cbiAgICA8ZGwgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3QgZ292dWstIS1tYXJnaW4tYm90dG9tLTBcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3Jvd1wiPlxuICAgICAgICA8ZHQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleVwiPlxuICAgICAgICAgIHt7IHF1ZXJ5Q3JlYXRlQ29udGV4dCA9PT0gcXVlcnlDcmVhdGVDb250ZXh0RW51bS5SRVNQT05EID8gJ1Jlc3BvbnNlIGRldGFpbCcgOiAnUXVlcnkgZGV0YWlsJyB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2R0PlxuICAgICAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlXCI+XG4gICAgICAgICAge3sgZm9ybUdyb3VwLmdldCgnYm9keScpPy52YWx1ZSB9fVxuICAgICAgICA8L2RkPlxuICAgICAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnNcIj5cbiAgICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgY2xhc3M9XCJnb3Z1ay1saW5rXCIgKGNsaWNrKT1cImdvQmFjaygpXCI+XG4gICAgICAgICAgICB7eyAnQ2hhbmdlJyB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGw+XG5cbiAgICA8ZGwgKm5nSWY9XCJxdWVyeUNyZWF0ZUNvbnRleHQgPT09IHF1ZXJ5Q3JlYXRlQ29udGV4dEVudW0uTkVXX1FVRVJZXCIgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3QgZ292dWstIS1tYXJnaW4tYm90dG9tLTBcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3Jvd1wiPlxuICAgICAgICA8ZHQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleVwiPlxuICAgICAgICAgIHt7ICdJcyB0aGUgcXVlcnkgaGVhcmluZyByZWxhdGVkPycgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgPC9kdD5cbiAgICAgICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X192YWx1ZVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmb3JtR3JvdXAuZ2V0KCdpc0hlYXJpbmdSZWxhdGVkJyk/LnZhbHVlID09PSB0cnVlOyBlbHNlIGlzSGVhcmluZ1JlbGF0ZWRGYWxzZVwiPlxuICAgICAgICAgICAge3sgJ0lzIHRoZSBxdWVyeSBoZWFyaW5nIHJlbGF0ZWQ/JyB8IHJweFRyYW5zbGF0ZTogbnVsbCA6ICdZZXMnIH19XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNpc0hlYXJpbmdSZWxhdGVkRmFsc2U+XG4gICAgICAgICAgICB7eyAnSXMgdGhlIHF1ZXJ5IGhlYXJpbmcgcmVsYXRlZD8nIHwgcnB4VHJhbnNsYXRlOiBudWxsIDogJ05vJyB9fVxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGQ+XG4gICAgICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9uc1wiPlxuICAgICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiBjbGFzcz1cImdvdnVrLWxpbmtcIiAoY2xpY2spPVwiZ29CYWNrKClcIj5cbiAgICAgICAgICAgIHt7ICdDaGFuZ2UnIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2RkPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCJmb3JtR3JvdXAuZ2V0KCdpc0hlYXJpbmdSZWxhdGVkJyk/LnZhbHVlXCIgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3Jvd1wiPlxuICAgICAgICA8ZHQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleVwiPlxuICAgICAgICAgIHt7IHF1ZXJ5Q3JlYXRlQ29udGV4dCA9PT0gcXVlcnlDcmVhdGVDb250ZXh0RW51bS5ORVdfUVVFUllcbiAgICAgICAgICAgID8gJ1doYXQgaXMgdGhlIGRhdGUgb2YgdGhlIGhlYXJpbmc/J1xuICAgICAgICAgICAgOiAnV2hhdCBpcyB0aGUgZGF0ZSBvZiB0aGUgaGVhcmluZyB5b3VyIHF1ZXJ5IGlzIHJlbGF0ZWQgdG8/JyB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2R0PlxuICAgICAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlXCI+XG4gICAgICAgICAge3sgZm9ybUdyb3VwLmdldCgnaGVhcmluZ0RhdGUnKT8udmFsdWUgfCBkYXRlOiAnZGQgTU1NIHl5eXknIH19XG4gICAgICAgIDwvZGQ+XG4gICAgICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9uc1wiPlxuICAgICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiBjbGFzcz1cImdvdnVrLWxpbmtcIiAoY2xpY2spPVwiZ29CYWNrKClcIj5cbiAgICAgICAgICAgIHt7ICdDaGFuZ2UnIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2RkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kbD5cbiAgICA8ZGwgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3QgZ292dWstIS1tYXJnaW4tYm90dG9tLTBcIiAqbmdJZj1cInRoaXMuZm9ybUdyb3VwLmdldCgnYXR0YWNobWVudHMnKS52YWx1ZS5sZW5ndGggPiAwXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19yb3dcIj5cbiAgICAgICAgPGR0IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19rZXlcIj5cbiAgICAgICAgICB7eyBxdWVyeUNyZWF0ZUNvbnRleHQgPT09IHF1ZXJ5Q3JlYXRlQ29udGV4dEVudW0uTkVXX1FVRVJZID8gJ1VwbG9hZCBhIGZpbGUgdG8gdGhlIHF1ZXJ5JyA6ICdEb2N1bWVudCBhdHRhY2hlZCcgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgPC9kdD5cbiAgICAgICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSBnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlLS1kb2N1bWVudEF0dGFjaGVkXCI+XG4gICAgICAgICAgPGNjZC1xdWVyeS1hdHRhY2htZW50cy1yZWFkXG4gICAgICAgICAgICAqbmdJZj1cInRoaXMuZm9ybUdyb3VwLmdldCgnYXR0YWNobWVudHMnKS52YWx1ZVwiXG4gICAgICAgICAgICBbYXR0YWNobWVudHNdPVwiYXR0YWNobWVudHNcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L2NjZC1xdWVyeS1hdHRhY2htZW50cy1yZWFkPlxuICAgICAgICA8L2RkPlxuICAgICAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnNcIj5cbiAgICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgY2xhc3M9XCJnb3Z1ay1saW5rXCIgKGNsaWNrKT1cImdvQmFjaygpXCI+XG4gICAgICAgICAgICB7eyAnQ2hhbmdlJyB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGw+XG5cbiAgICA8YnI+XG5cbiAgICA8ZGl2PlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImdvdnVrLWJ1dHRvbiBnb3Z1ay1idXR0b24tLXNlY29uZGFyeSBnb3Z1ay0hLW1hcmdpbi1yaWdodC0zXCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1idXR0b25cIlxuICAgICAgICAoY2xpY2spPVwiZ29CYWNrKClcIj5cbiAgICAgICAge3sgJ1ByZXZpb3VzJyB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiZ292dWstYnV0dG9uXCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1idXR0b25cIiB0eXBlPVwic3VibWl0XCIgKGNsaWNrKT1cInN1Ym1pdCgpXCI+XG4gICAgICAgIHt7ICdTdWJtaXQnIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGNjZC1xdWVyeS1ldmVudC1jb21wbGV0aW9uIFtldmVudENvbXBsZXRpb25QYXJhbXNdPVwiZXZlbnRDb21wbGV0aW9uUGFyYW1zXCI+ICAgIFxuICA8L2NjZC1xdWVyeS1ldmVudC1jb21wbGV0aW9uPlxuPC9kaXY+XG4iXX0=
541
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryCheckYourAnswersComponent, { className: "QueryCheckYourAnswersComponent", filePath: "lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.ts", lineNumber: 26 }); })();
542
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY2hlY2steW91ci1hbnN3ZXJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvY29tcG9uZW50cy9xdWVyeS1jaGVjay15b3VyLWFuc3dlcnMvcXVlcnktY2hlY2steW91ci1hbnN3ZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvY29tcG9uZW50cy9xdWVyeS1jaGVjay15b3VyLWFuc3dlcnMvcXVlcnktY2hlY2steW91ci1hbnN3ZXJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxRQUFRLEVBQTRCLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQ0wsZ0JBQWdCLEVBS2pCLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRyxP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VCxtQ0FBeUY7WUFBbkIsa0pBQVMsWUFBUSxLQUFDO1lBQ3RGLGFBQ0Y7O1lBRUosQUFERSxBQURFLGlCQUFTLEVBQ0wsRUFDRjtZQUVOLGtEQUM2QjtZQUMvQixpQkFBTTs7OztZQXpJSSxlQUE4QjtZQUE5QixtREFBOEI7WUFnQnJCLGNBQTZEO1lBQTdELHNGQUE2RDtZQUszRCxlQUE2RDtZQUFBLEFBQTdELG9GQUE2RCw2Q0FBaUM7WUFTOUUsZUFBMkI7WUFBM0IsNkNBQTJCO1lBR3ZELGNBQTREO1lBQTVELHFGQUE0RDtZQW9CM0QsZUFDRjtZQURFLDJKQUNGO1lBRUUsZUFDRjtZQURFLHFHQUNGO1lBR0ksZUFDRjtZQURFLGlFQUNGO1lBS0QsZUFBNkQ7WUFBN0Qsc0ZBQTZEO1lBb0NWLGNBQXdEO1lBQXhELHdFQUF3RDtZQXlCNUcsZUFDRjtZQURFLG1FQUNGO1lBRUUsZUFDRjtZQURFLGlFQUNGO1lBSXdCLGVBQStDO1lBQS9DLGlFQUErQzs7O2lGRGpIaEUsOEJBQThCO2NBTDFDLFNBQVM7MkJBQ0UsOEJBQThCOzBPQVd4QixTQUFTO2tCQUF4QixLQUFLO1lBQ1UsU0FBUztrQkFBeEIsS0FBSztZQUNVLGtCQUFrQjtrQkFBakMsS0FBSztZQUNVLFNBQVM7a0JBQXhCLEtBQUs7WUFDVSxRQUFRO2tCQUF2QixLQUFLO1lBQ1csV0FBVztrQkFBM0IsTUFBTTtZQUNVLGNBQWM7a0JBQTlCLE1BQU07O2tGQWJJLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgQ2FzZUV2ZW50VHJpZ2dlcixcbiAgQ2FzZUZpZWxkLFxuICBDYXNlVmlldyxcbiAgQ2FzZVZpZXdUcmlnZ2VyLFxuICBFcnJvck1lc3NhZ2Vcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3NoYXJlZC9kb21haW4nO1xuaW1wb3J0IHsgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgRXZlbnRDb21wbGV0aW9uUGFyYW1zIH0gZnJvbSAnLi4vLi4vLi4vLi4vY2FzZS1lZGl0b3IvZG9tYWluL2V2ZW50LWNvbXBsZXRpb24tcGFyYW1zLm1vZGVsJztcbmltcG9ydCB7IENhc2VOb3RpZmllciwgQ2FzZXNTZXJ2aWNlLCBXb3JrQWxsb2NhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jYXNlLWVkaXRvci9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDYXNlUXVlcmllc0NvbGxlY3Rpb24sIFFtQ2FzZVF1ZXJpZXNDb2xsZWN0aW9uLCBRdWVyeUNyZWF0ZUNvbnRleHQsIFF1ZXJ5TGlzdEl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgUXVlcnlNYW5hZ2VtZW50VXRpbHMgfSBmcm9tICcuLi8uLi91dGlscy9xdWVyeS1tYW5hZ2VtZW50LnV0aWxzJztcbmltcG9ydCB7IEZvcm1Eb2N1bWVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9zaGFyZWQvZG9tYWluL2RvY3VtZW50JztcbmltcG9ydCB7IFF1YWxpZnlpbmdRdWVzdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9xdWFsaWZ5aW5nLXF1ZXN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWNjZXNzQ29udHJvbExpc3QgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4vZGVmaW5pdGlvbi9hY2Nlc3MtY29udHJvbC1saXN0Lm1vZGVsJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1xdWVyeS1jaGVjay15b3VyLWFuc3dlcnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vcXVlcnktY2hlY2steW91ci1hbnN3ZXJzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcXVlcnktY2hlY2steW91ci1hbnN3ZXJzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUXVlcnlDaGVja1lvdXJBbnN3ZXJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHJlYWRvbmx5IFJBSVNFX0FfUVVFUllfRVZFTlRfVFJJR0dFUl9JRCA9ICdxdWVyeU1hbmFnZW1lbnRSYWlzZVF1ZXJ5JztcbiAgcHJpdmF0ZSByZWFkb25seSBSRVNQT05EX1RPX1FVRVJZX0VWRU5UX1RSSUdHRVJfSUQgPSAncXVlcnlNYW5hZ2VtZW50UmVzcG9uZFF1ZXJ5JztcblxuICBwcml2YXRlIHJlYWRvbmx5IENBU0VfUVVFUklFU19DT0xMRUNUSU9OX0lEID0gJ0Nhc2VRdWVyaWVzQ29sbGVjdGlvbic7XG4gIHB1YmxpYyByZWFkb25seSBGSUVMRF9UWVBFX0NPTVBMRVggPSAnQ29tcGxleCc7XG5cbiAgQElucHV0KCkgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBwdWJsaWMgcXVlcnlJdGVtOiBRdWVyeUxpc3RJdGVtO1xuICBASW5wdXQoKSBwdWJsaWMgcXVlcnlDcmVhdGVDb250ZXh0OiBRdWVyeUNyZWF0ZUNvbnRleHQ7XG4gIEBJbnB1dCgpIHB1YmxpYyBldmVudERhdGE6IENhc2VFdmVudFRyaWdnZXIgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgcHVibGljIHJvbGVOYW1lOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBwdWJsaWMgYmFja0NsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgcXVlcnlTdWJtaXR0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcHJpdmF0ZSBjYXNlVmlld1RyaWdnZXI6IENhc2VWaWV3VHJpZ2dlcjtcbiAgcHVibGljIGNhc2VEZXRhaWxzOiBDYXNlVmlldztcbiAgcHJpdmF0ZSBxdWVyeUlkOiBzdHJpbmc7XG4gIHByaXZhdGUgdGlkOiBzdHJpbmc7XG4gIHByaXZhdGUgY3JlYXRlRXZlbnRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBzZWFyY2hUYXNrc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIHB1YmxpYyBxdWVyeUNyZWF0ZUNvbnRleHRFbnVtID0gUXVlcnlDcmVhdGVDb250ZXh0O1xuICBwdWJsaWMgZXZlbnRDb21wbGV0aW9uUGFyYW1zOiBFdmVudENvbXBsZXRpb25QYXJhbXM7XG4gIHB1YmxpYyBjYXNlUXVlcmllc0NvbGxlY3Rpb25zOiBDYXNlUXVlcmllc0NvbGxlY3Rpb25bXTtcbiAgcHVibGljIGZpZWxkSWQ6IHN0cmluZztcbiAgcHVibGljIGF0dGFjaG1lbnRzOiBGb3JtRG9jdW1lbnRbXTtcblxuICBwdWJsaWMgZXJyb3JNZXNzYWdlczogRXJyb3JNZXNzYWdlW10gPSBbXTtcbiAgcHVibGljIGZpbHRlcmVkVGFzayA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlc1NlcnZpY2U6IENhc2VzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhc2VOb3RpZmllcjogQ2FzZU5vdGlmaWVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgd29ya0FsbG9jYXRpb25TZXJ2aWNlOiBXb3JrQWxsb2NhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXNzaW9uU3RvcmFnZVNlcnZpY2U6IFNlc3Npb25TdG9yYWdlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHF1YWxpZnlpbmdRdWVzdGlvblNlcnZpY2U6IFF1YWxpZnlpbmdRdWVzdGlvblNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnF1ZXJ5SWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtcy5xaWQ7XG4gICAgdGhpcy50aWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zPy50aWQ7XG5cbiAgICB0aGlzLmNhc2VOb3RpZmllci5jYXNlVmlldy5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoY2FzZURldGFpbHMpID0+IHtcbiAgICAgIHRoaXMuY2FzZURldGFpbHMgPSBjYXNlRGV0YWlscztcblxuICAgICAgLy8gRmluZCB0aGUgYXBwcm9wcmlhdGUgZXZlbnQgdHJpZ2dlciBiYXNlZCBvbiB0aGUgcXVlcnlDcmVhdGVDb250ZXh0XG4gICAgICB0aGlzLmNhc2VWaWV3VHJpZ2dlciA9IHRoaXMuY2FzZURldGFpbHMudHJpZ2dlcnMuZmluZCgodHJpZ2dlcikgPT5cbiAgICAgICAgdGhpcy5xdWVyeUNyZWF0ZUNvbnRleHQgIT09IFF1ZXJ5Q3JlYXRlQ29udGV4dC5SRVNQT05EXG4gICAgICAgIC8vIElmIHRoZSBjb250ZXh0IGlzIG5vdCAnUkVTUE9ORCcsIGZpbmQgdGhlIHRyaWdnZXIgd2l0aCB0aGUgSUQgZm9yIHJhaXNpbmcgYSBxdWVyeVxuICAgICAgICAgID8gdHJpZ2dlci5pZCA9PT0gdGhpcy5SQUlTRV9BX1FVRVJZX0VWRU5UX1RSSUdHRVJfSURcbiAgICAgICAgLy8gSWYgdGhlIGNvbnRleHQgaXMgJ1JFU1BPTkQnLCBmaW5kIHRoZSB0cmlnZ2VyIHdpdGggdGhlIElEIGZvciByZXNwb25kaW5nIHRvIGEgcXVlcnlcbiAgICAgICAgICA6IHRyaWdnZXIuaWQgPT09IHRoaXMuUkVTUE9ORF9UT19RVUVSWV9FVkVOVF9UUklHR0VSX0lEXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgLy8gR2V0IHRoZSBkb2N1bWVudCBhdHRhY2htZW50c1xuICAgIHRoaXMuZ2V0RG9jdW1lbnRBdHRhY2htZW50cygpO1xuXG4gICAgdGhpcy5zZXRDYXNlUXVlcmllc0NvbGxlY3Rpb25EYXRhKCk7XG5cbiAgICBpZiAodGhpcy5xdWVyeUNyZWF0ZUNvbnRleHQgPT09IFF1ZXJ5Q3JlYXRlQ29udGV4dC5SRVNQT05EKSB7XG4gICAgICB0aGlzLnNlYXJjaFRhc2tzU3Vic2NyaXB0aW9uID0gdGhpcy53b3JrQWxsb2NhdGlvblNlcnZpY2UuZ2V0VGFza3NCeUNhc2VJZEFuZEV2ZW50SWQodGhpcy5SRVNQT05EX1RPX1FVRVJZX0VWRU5UX1RSSUdHRVJfSUQsIHRoaXMuY2FzZURldGFpbHMuY2FzZV9pZCwgdGhpcy5jYXNlRGV0YWlscy5jYXNlX3R5cGUuaWQsIHRoaXMuY2FzZURldGFpbHMuY2FzZV90eXBlLmp1cmlzZGljdGlvbi5pZClcbiAgICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dDogKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICAvLyBGaWx0ZXIgdGFzayBieSBxdWVyeSBpZFxuICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnRhc2tzPy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRUYXNrID0gcmVzcG9uc2UudGFza3M/LmZpbmQoKHRhc2spID0+IHRhc2suY2FzZV9pZCA9PT0gdGhpcy50aWQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhpcy5maWx0ZXJlZFRhc2sgPSByZXNwb25zZS50YXNrcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIHNlYXJjaFRhc2tzU3Vic2NyaXB0aW9uOicsIGVycm9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmNyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuc2VhcmNoVGFza3NTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgZ29CYWNrKCk6IHZvaWQge1xuICAgIHRoaXMuYmFja0NsaWNrZWQuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBzdWJtaXQoKTogdm9pZCB7XG4gICAgLy8gQ2hlY2sgaWYgZmllbGRJZCBpcyBudWxsIG9yIHVuZGVmaW5lZFxuICAgIGlmICghdGhpcy5maWVsZElkKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvcjogRmllbGQgSUQgaXMgbWlzc2luZy4gQ2Fubm90IHByb2NlZWQgd2l0aCBzdWJtaXNzaW9uLicpO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gW1xuICAgICAgICB7XG4gICAgICAgICAgdGl0bGU6ICdFcnJvcicsXG4gICAgICAgICAgZGVzY3JpcHRpb246ICdUaGlzIGNhc2UgaXMgbm90IGNvbmZpZ3VyZWQgZm9yIHF1ZXJ5IG1hbmFnZW1lbnQuJyxcbiAgICAgICAgICBmaWVsZElkOiAnZmllbGQtaWQnXG4gICAgICAgIH1cbiAgICAgIF07XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGF0YSA9IHRoaXMuZ2VuZXJhdGVDYXNlUXVlcmllc0NvbGxlY3Rpb25EYXRhKCk7XG4gICAgY29uc3QgY3JlYXRlRXZlbnQkID0gdGhpcy5jcmVhdGVFdmVudChkYXRhKTtcblxuICAgIGlmICh0aGlzLnF1ZXJ5Q3JlYXRlQ29udGV4dCA9PT0gUXVlcnlDcmVhdGVDb250ZXh0LlJFU1BPTkQpIHtcbiAgICAgIGNvbnN0IGNvbXBsZXRlVGFzayQgPSB0aGlzLndvcmtBbGxvY2F0aW9uU2VydmljZS5jb21wbGV0ZVRhc2soXG4gICAgICAgIHRoaXMuZmlsdGVyZWRUYXNrWzBdLmlkLFxuICAgICAgICB0aGlzLmNhc2VWaWV3VHJpZ2dlci5uYW1lXG4gICAgICApO1xuICAgICAgdGhpcy5jcmVhdGVFdmVudFN1YnNjcmlwdGlvbiA9IGZvcmtKb2luKFtjcmVhdGVFdmVudCQsIGNvbXBsZXRlVGFzayRdKS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAoW2NyZWF0ZUV2ZW50UmVzcG9uc2UsIHRhc2tzUmVzcG9uc2VdOiBbYW55LCBhbnldKSA9PiB7XG4gICAgICAgICAgdGhpcy5maW5hbGlzZVN1Ym1pc3Npb24oKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IChlcnJvcikgPT4gdGhpcy5oYW5kbGVFcnJvcihlcnJvcilcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uID0gY3JlYXRlRXZlbnQkLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6ICgpID0+IHRoaXMuZmluYWxpc2VTdWJtaXNzaW9uKCksXG4gICAgICAgIGVycm9yOiAoZXJyb3IpID0+IHRoaXMuaGFuZGxlRXJyb3IoZXJyb3IpXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUV2ZW50KGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuY2FzZXNTZXJ2aWNlLmNyZWF0ZUV2ZW50KHRoaXMuY2FzZURldGFpbHMsIHtcbiAgICAgIGRhdGEsXG4gICAgICBldmVudDoge1xuICAgICAgICBpZDogdGhpcy5jYXNlVmlld1RyaWdnZXI/LmlkLFxuICAgICAgICBzdW1tYXJ5OiAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IHRoaXMuY2FzZVZpZXdUcmlnZ2VyPy5kZXNjcmlwdGlvblxuICAgICAgfSxcbiAgICAgIGV2ZW50X3Rva2VuOiB0aGlzLmV2ZW50RGF0YT8uZXZlbnRfdG9rZW4sXG4gICAgICBpZ25vcmVfd2FybmluZzogZmFsc2VcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmluYWxpc2VTdWJtaXNzaW9uKCk6IHZvaWQge1xuICAgIHRoaXMucXVlcnlTdWJtaXR0ZWQuZW1pdCh0cnVlKTtcbiAgICB0aGlzLnF1YWxpZnlpbmdRdWVzdGlvblNlcnZpY2UuY2xlYXJRdWFsaWZ5aW5nUXVlc3Rpb25TZWxlY3Rpb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRXJyb3IoZXJyb3I6IGFueSk6IHZvaWQge1xuICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIEFQSSBjYWxsczonLCBlcnJvcik7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvJywgJ3NlcnZpY2UtZG93biddKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVDYXNlUXVlcmllc0NvbGxlY3Rpb25EYXRhKCk6IFFtQ2FzZVF1ZXJpZXNDb2xsZWN0aW9uIHtcbiAgICBjb25zdCBjdXJyZW50VXNlckRldGFpbHMgPSBKU09OLnBhcnNlKHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ3VzZXJEZXRhaWxzJykpO1xuXG4gICAgY29uc3QgY2FzZU1lc3NhZ2UgPSB0aGlzLnF1ZXJ5Q3JlYXRlQ29udGV4dCA9PT0gUXVlcnlDcmVhdGVDb250ZXh0Lk5FV19RVUVSWVxuICAgICAgPyBRdWVyeU1hbmFnZW1lbnRVdGlscy5nZXROZXdRdWVyeURhdGEodGhpcy5mb3JtR3JvdXAsIGN1cnJlbnRVc2VyRGV0YWlscylcbiAgICAgIDogUXVlcnlNYW5hZ2VtZW50VXRpbHMuZ2V0UmVzcG9uZE9yRm9sbG93dXBRdWVyeURhdGEodGhpcy5mb3JtR3JvdXAsIHRoaXMucXVlcnlJdGVtLCBjdXJyZW50VXNlckRldGFpbHMpO1xuXG4gICAgY29uc3QgbWVzc2FnZUlkID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbXMuZGF0YWlkOyAvLyBHZXQgdGhlIG1lc3NhZ2UgSUQgZnJvbSByb3V0ZSBwYXJhbXMgKGlmIHByZXNlbnQpXG4gICAgY29uc3QgaXNOZXdRdWVyeSA9IHRoaXMucXVlcnlDcmVhdGVDb250ZXh0ID09PSBRdWVyeUNyZWF0ZUNvbnRleHQuTkVXX1FVRVJZOyAvLyBDaGVjayBpZiB0aGlzIGlzIGEgbmV3IHF1ZXJ5XG5cbiAgICAvLyBDaGVjayBpZiB0aGUgZmllbGQgSUQgaGFzIGJlZW4gc2V0IGR5bmFtaWNhbGx5XG4gICAgaWYgKCF0aGlzLmZpZWxkSWQpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yOiBGaWVsZCBJRCBmb3IgQ2FzZVF1ZXJpZXNDb2xsZWN0aW9uIG5vdCBmb3VuZC4gQ2Fubm90IHByb2NlZWQgd2l0aCBkYXRhIGdlbmVyYXRpb24uJyk7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy8nLCAnc2VydmljZS1kb3duJ10pO1xuICAgIH1cblxuICAgIC8vIEluaXRpYWxpemUgbmV3IHF1ZXJ5IGRhdGEgc3RydWN0dXJlXG4gICAgY29uc3QgbmV3UXVlcnlEYXRhOiBRbUNhc2VRdWVyaWVzQ29sbGVjdGlvbiA9IHt9O1xuXG4gICAgaWYgKHRoaXMuY2FzZVF1ZXJpZXNDb2xsZWN0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICBsZXQgbWF0Y2hlZENvbGxlY3Rpb247XG5cbiAgICAgIC8vIElmIGl0J3Mgbm90IGEgbmV3IHF1ZXJ5LCB0cnkgdG8gZmluZCB0aGUgZXhpc3RpbmcgY29sbGVjdGlvbiB3aXRoIHRoZSBtZXNzYWdlIElEXG4gICAgICBpZiAoIWlzTmV3UXVlcnkgJiYgbWVzc2FnZUlkKSB7XG4gICAgICAgIG1hdGNoZWRDb2xsZWN0aW9uID0gdGhpcy5jYXNlUXVlcmllc0NvbGxlY3Rpb25zLmZpbmQoKGNvbGxlY3Rpb24pID0+XG4gICAgICAgICAgY29sbGVjdGlvbi5jYXNlTWVzc2FnZXMuc29tZSgobWVzc2FnZSkgPT4gbWVzc2FnZS52YWx1ZS5pZCA9PT0gbWVzc2FnZUlkKVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBpZiAobWF0Y2hlZENvbGxlY3Rpb24pIHtcbiAgICAgICAgLy8gQXBwZW5kIHRoZSBuZXcgY2FzZSBtZXNzYWdlIHRvIHRoZSBtYXRjaGVkIGNvbGxlY3Rpb24ncyBjYXNlTWVzc2FnZXNcbiAgICAgICAgbWF0Y2hlZENvbGxlY3Rpb24uY2FzZU1lc3NhZ2VzLnB1c2goe1xuICAgICAgICAgIGlkOiBudWxsLFxuICAgICAgICAgIHZhbHVlOiBjYXNlTWVzc2FnZVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBBZGQgdGhlIG1hdGNoZWQgY29sbGVjdGlvbiB0byBuZXdRdWVyeURhdGFcbiAgICAgICAgbmV3UXVlcnlEYXRhW3RoaXMuZmllbGRJZF0gPSB7XG4gICAgICAgICAgLi4ubWF0Y2hlZENvbGxlY3Rpb24sIC8vIEtlZXAgZXhpc3RpbmcgZGF0YSBpbnRhY3RcbiAgICAgICAgICBjYXNlTWVzc2FnZXM6IFsuLi5tYXRjaGVkQ29sbGVjdGlvbi5jYXNlTWVzc2FnZXNdIC8vIEFwcGVuZCB0aGUgdXBkYXRlZCBtZXNzYWdlcyBhcnJheVxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gSWYgbm8gY29sbGVjdGlvbiBtYXRjaGVzLCBvciBpdCdzIGEgbmV3IHF1ZXJ5XG4gICAgICAgIG5ld1F1ZXJ5RGF0YVt0aGlzLmZpZWxkSWRdID0ge1xuICAgICAgICAgIHBhcnR5TmFtZTogY3VycmVudFVzZXJEZXRhaWxzPy5uYW1lIHx8IGAke2N1cnJlbnRVc2VyRGV0YWlscz8uZm9yZW5hbWV9ICR7Y3VycmVudFVzZXJEZXRhaWxzPy5zdXJuYW1lfWAsIC8vIE5vdCByZXR1cm5lZCBieSBDQ0RcbiAgICAgICAgICByb2xlT25DYXNlOiAnJywgLy8gTm90IHJldHVybmVkIGJ5IENDRFxuICAgICAgICAgIGNhc2VNZXNzYWdlczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZDogbnVsbCxcbiAgICAgICAgICAgICAgdmFsdWU6IGNhc2VNZXNzYWdlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9O1xuXG4gICAgICAgIC8vIElmIGNhc2VRdWVyaWVzQ29sbGVjdGlvbnMgaXMgbm90IGVtcHR5LCBhcHBlbmQgaXRzIGRhdGFcbiAgICAgICAgbmV3UXVlcnlEYXRhW3RoaXMuZmllbGRJZF0uY2FzZU1lc3NhZ2VzLnB1c2goXG4gICAgICAgICAgLi4udGhpcy5jYXNlUXVlcmllc0NvbGxlY3Rpb25zLmZsYXRNYXAoKGNvbGxlY3Rpb24pID0+IGNvbGxlY3Rpb24uY2FzZU1lc3NhZ2VzKVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBJZiB0aGVyZSBhcmUgbm8gZXhpc3RpbmcgY29sbGVjdGlvbnMsIGNyZWF0ZSBhIG5ldyBvbmUgKGUuZy4sIGZvciBuZXcgcXVlcmllcylcbiAgICAgIG5ld1F1ZXJ5RGF0YVt0aGlzLmZpZWxkSWRdID0ge1xuICAgICAgICBwYXJ0eU5hbWU6IGN1cnJlbnRVc2VyRGV0YWlscz8ubmFtZSB8fCBgJHtjdXJyZW50VXNlckRldGFpbHM/LmZvcmVuYW1lfSAke2N1cnJlbnRVc2VyRGV0YWlscz8uc3VybmFtZX1gLCAvLyBOb3QgcmV0dXJuZWQgYnkgQ0NEXG4gICAgICAgIHJvbGVPbkNhc2U6ICcnLCAvLyBOb3QgcmV0dXJuZWQgYnkgQ0NEXG4gICAgICAgIGNhc2VNZXNzYWdlczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlkOiBudWxsLFxuICAgICAgICAgICAgdmFsdWU6IGNhc2VNZXNzYWdlXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gbmV3UXVlcnlEYXRhO1xuICB9XG5cbiAgcHVibGljIHNldENhc2VRdWVyaWVzQ29sbGVjdGlvbkRhdGEoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZXZlbnREYXRhPy5jYXNlX2ZpZWxkcz8ubGVuZ3RoKSB7XG4gICAgICAvLyBXb3JrYXJvdW5kIGZvciBtdWx0aXBsZSBxbUNhc2VRdWVyaWVzQ29sbGVjdGlvbnMgdGhhdCBhcmUgbm90IHRvIGJlIGFwcGVhcmluZyBpbiB0aGUgZXZlbnREYXRhXG4gICAgICAvLyBDb3VudHMgbnVtYmVyIHFtQ2FzZVF1ZXJpZXNDb2xsZWN0aW9uc1xuICAgICAgY29uc3QgbnVtYmVyT2ZDYXNlUXVlcmllc0NvbGxlY3Rpb25zID0gdGhpcy5ldmVudERhdGE/LmNhc2VfZmllbGRzPy5maWx0ZXIoXG4gICAgICAgIChjYXNlRmllbGQpID0+XG4gICAgICAgICAgY2FzZUZpZWxkLmZpZWxkX3R5cGUuaWQgPT09IHRoaXMuQ0FTRV9RVUVSSUVTX0NPTExFQ1RJT05fSUQgJiZcbiAgICAgICAgICBjYXNlRmllbGQuZmllbGRfdHlwZS50eXBlID09PSB0aGlzLkZJRUxEX1RZUEVfQ09NUExFWFxuICAgICAgKT8ubGVuZ3RoIHx8IDA7XG5cbiAgICAgIHRoaXMuY2FzZVF1ZXJpZXNDb2xsZWN0aW9ucyA9IHRoaXMuZXZlbnREYXRhLmNhc2VfZmllbGRzLnJlZHVjZSgoYWNjLCBjYXNlRmllbGQpID0+IHtcbiAgICAgICAgLy8gRXh0cmFjdCB0aGUgSUQgYmFzZWQgb24gY29uZGl0aW9ucywgdXBkYXRpbmcgdGhpcy5maWVsZElkIGR5bmFtaWNhbGx5XG4gICAgICAgIHRoaXMuZXh0cmFjdENhc2VRdWVyeUlkKGNhc2VGaWVsZCwgbnVtYmVyT2ZDYXNlUXVlcmllc0NvbGxlY3Rpb25zKTtcblxuICAgICAgICBjb25zdCBleHRyYWN0ZWRDYXNlUXVlcmllc0Zyb21DYXNlRmllbGQgPSBRdWVyeU1hbmFnZW1lbnRVdGlscy5leHRyYWN0Q2FzZVF1ZXJpZXNGcm9tQ2FzZUZpZWxkKGNhc2VGaWVsZCk7XG4gICAgICAgIGlmIChleHRyYWN0ZWRDYXNlUXVlcmllc0Zyb21DYXNlRmllbGQgJiYgdHlwZW9mIGV4dHJhY3RlZENhc2VRdWVyaWVzRnJvbUNhc2VGaWVsZCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBhY2MucHVzaChleHRyYWN0ZWRDYXNlUXVlcmllc0Zyb21DYXNlRmllbGQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LCBbXSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBleHRyYWN0Q2FzZVF1ZXJ5SWQoZGF0YTogQ2FzZUZpZWxkLCBjb3VudDogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgeyBpZCwgdmFsdWUsIGFjbHMgfSA9IGRhdGE7XG4gICAgY29uc3QgbWVzc2FnZUlkID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbXMuZGF0YWlkO1xuXG4gICAgLy8gQ2hlY2sgaWYgdGhlIGZpZWxkX3R5cGUgbWF0Y2hlcyBDYXNlUXVlcmllc0NvbGxlY3Rpb24gYW5kIHR5cGUgaXMgQ29tcGxleFxuICAgIGlmIChkYXRhLmZpZWxkX3R5cGUuaWQgPT09IHRoaXMuQ0FTRV9RVUVSSUVTX0NPTExFQ1RJT05fSUQgJiYgZGF0YS5maWVsZF90eXBlLnR5cGUgPT09IHRoaXMuRklFTERfVFlQRV9DT01QTEVYKSB7XG4gICAgICBpZiAodGhpcy5xdWVyeUNyZWF0ZUNvbnRleHQgPT09IFF1ZXJ5Q3JlYXRlQ29udGV4dC5ORVdfUVVFUlkpIHtcbiAgICAgICAgLy9pZiBudW1iZXIgcW1DYXNlUXVlcmllc0NvbGxlY3Rpb24gaXMgbW9yZSB0aGVuIGZpbHRlciBvdXQgdGhlIHJpZ2h0IHFtQ2FzZVF1ZXJpZXNDb2xsZWN0aW9uXG4gICAgICAgIHRoaXMuc2V0RmllbGRJZChjb3VudCwgYWNscywgaWQpO1xuICAgICAgfVxuICAgICAgLy8gSWYgbWVzc2FnZUlkIGlzIHByZXNlbnQsIGZpbmQgdGhlIGNvcnJlc3BvbmRpbmcgY2FzZSBtZXNzYWdlXG4gICAgICB0aGlzLnNldE1lc3NhZ2VGaWVsZElkKG1lc3NhZ2VJZCwgdmFsdWUsIGlkKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldE1lc3NhZ2VGaWVsZElkKG1lc3NhZ2VJZCwgdmFsdWUsIGlkOiBzdHJpbmcpIHtcbiAgICBpZiAobWVzc2FnZUlkICYmIHZhbHVlPy5jYXNlTWVzc2FnZXMpIHtcbiAgICAgIC8vIElmIGEgbWF0Y2hpbmcgbWVzc2FnZSBpcyBmb3VuZCwgc2V0IHRoZSBmaWVsZElkIHRvIHRoZSBjb3JyZXNwb25kaW5nIGlkXG4gICAgICBjb25zdCBtYXRjaGVkTWVzc2FnZSA9IHZhbHVlPy5jYXNlTWVzc2FnZXM/LmZpbmQoKG1lc3NhZ2UpID0+IG1lc3NhZ2UudmFsdWUuaWQgPT09IG1lc3NhZ2VJZCk7XG4gICAgICBpZiAobWF0Y2hlZE1lc3NhZ2UpIHtcbiAgICAgICAgdGhpcy5maWVsZElkID0gaWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRGaWVsZElkKGNvdW50OiBudW1iZXIsIGFjbHM6IEFjY2Vzc0NvbnRyb2xMaXN0W10sIGlkOiBzdHJpbmcpIHtcbiAgICBpZiAoY291bnQgPiAxKSB7XG4gICAgICBjb25zdCBtYXRjaGluZ1JvbGUgPSBhY2xzPy5maW5kKChhY2wpID0+IGFjbC5yb2xlID09PSB0aGlzLnJvbGVOYW1lKTtcbiAgICAgIGlmIChtYXRjaGluZ1JvbGUpIHtcbiAgICAgICAgdGhpcy5maWVsZElkID0gaWQ7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFNldCB0aGUgZmllbGQgSUQgZHluYW1pY2FsbHkgYmFzZWQgb24gdGhlIGV4dHJhY3RlZCBkYXRhXG4gICAgICB0aGlzLmZpZWxkSWQgPSBpZDsgLy8gU3RvcmUgdGhlIElEIGZvciB1c2UgaW4gZ2VuZXJhdGluZyBuZXdRdWVyeURhdGFcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldERvY3VtZW50QXR0YWNobWVudHMoKTogdm9pZCB7XG4gICAgY29uc3QgYXR0YWNobWVudHNWYWx1ZSA9IHRoaXMuZm9ybUdyb3VwLmdldCgnYXR0YWNobWVudHMnKS52YWx1ZTtcbiAgICBpZiAoYXR0YWNobWVudHNWYWx1ZSAmJiBhdHRhY2htZW50c1ZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGRvY3VtZW50cyA9IGF0dGFjaG1lbnRzVmFsdWU7XG4gICAgICB0aGlzLmF0dGFjaG1lbnRzID0gZG9jdW1lbnRzLm1hcChRdWVyeU1hbmFnZW1lbnRVdGlscy5kb2N1bWVudFRvQ29sbGVjdGlvbkZvcm1Eb2N1bWVudCk7XG4gICAgfVxuICB9XG59XG5cbiIsIjxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLXJvd1wiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1jb2x1bW4tdHdvLXRoaXJkcy1mcm9tLWRlc2t0b3BcIj5cbiAgICA8IS0tIEVycm9yIG1lc3NhZ2Ugc3VtbWFyeSAtLT5cbiAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JNZXNzYWdlcy5sZW5ndGggPiAwXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5XCJcbiAgICAgIGFyaWEtbGFiZWxsZWRieT1cImVycm9yLXN1bW1hcnktdGl0bGVcIiByb2xlPVwiYWxlcnRcIiB0YWJpbmRleD1cIi0xXCJcbiAgICAgIGRhdGEtbW9kdWxlPVwiZ292dWstZXJyb3Itc3VtbWFyeVwiPlxuICAgICA8aDIgY2xhc3M9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5X190aXRsZVwiIGlkPVwiZXJyb3Itc3VtbWFyeS10aXRsZVwiPlxuICAgICAgIHt7ICdUaGVyZSBpcyBhIHByb2JsZW0nIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgIDwvaDI+XG4gICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5X19ib2R5XCI+XG4gICAgICAgPHVsIGNsYXNzPVwiZ292dWstbGlzdCBnb3Z1ay1lcnJvci1zdW1tYXJ5X19saXN0XCI+XG4gICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGVycm9yTWVzc2FnZSBvZiBlcnJvck1lc3NhZ2VzXCI+XG4gICAgICAgICAgIDxhIFtpZF09XCInZXJyb3ItJyArIGVycm9yTWVzc2FnZS5maWVsZElkXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiXG4gICAgICAgICAgICAgY2xhc3M9XCJ2YWxpZGF0aW9uLWVycm9yXCI+e3sgZXJyb3JNZXNzYWdlLmRlc2NyaXB0aW9uIHwgcnB4VHJhbnNsYXRlIH19PC9hPlxuICAgICAgICAgPC9saT5cbiAgICAgICA8L3VsPlxuICAgICA8L2Rpdj5cbiAgIDwvZGl2PlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInF1ZXJ5Q3JlYXRlQ29udGV4dCA9PT0gcXVlcnlDcmVhdGVDb250ZXh0RW51bS5ORVdfUVVFUllcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1jYXB0aW9uLWxcIj57eyAnUmFpc2UgYSBxdWVyeScgfCBycHhUcmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxoMSBjbGFzcz1cImdvdnVrLWhlYWRpbmctbFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInF1ZXJ5Q3JlYXRlQ29udGV4dCA9PT0gcXVlcnlDcmVhdGVDb250ZXh0RW51bS5SRVNQT05EOyBlbHNlIGRlZmF1bHRDaGVja1lvdXJBbnN3ZXJzVGl0bGVcIj5cbiAgICAgICAge3sgJ1JldmlldyBxdWVyeSByZXNwb25zZSBkZXRhaWxzJyB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdENoZWNrWW91ckFuc3dlcnNUaXRsZT5cbiAgICAgICAge3sgJ1JldmlldyBxdWVyeSBkZXRhaWxzJyB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2gxPlxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay0hLW1hcmdpbi1ib3R0b20tNFwiPlxuICAgICAgPGNjZC1xdWVyeS1jYXNlLWRldGFpbHMtaGVhZGVyIFtjYXNlRGV0YWlsc109XCJjYXNlRGV0YWlsc1wiPjwvY2NkLXF1ZXJ5LWNhc2UtZGV0YWlscy1oZWFkZXI+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGwgKm5nSWY9XCJxdWVyeUNyZWF0ZUNvbnRleHQgIT09IHF1ZXJ5Q3JlYXRlQ29udGV4dEVudW0uRk9MTE9XVVBcIiBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdCBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tMFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fcm93XCI+XG4gICAgICAgIDxkdCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5XCI+XG4gICAgICAgICAge3sgcXVlcnlDcmVhdGVDb250ZXh0ID09PSBxdWVyeUNyZWF0ZUNvbnRleHRFbnVtLlJFU1BPTkQgPyAnU3VibWl0dGVkIHF1ZXJ5JyA6ICdRdWVyeSBzdWJqZWN0JyB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2R0PlxuICAgICAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlXCI+XG4gICAgICAgICAge3sgcXVlcnlDcmVhdGVDb250ZXh0ID09PSBxdWVyeUNyZWF0ZUNvbnRleHRFbnVtLlJFU1BPTkQgPyBxdWVyeUl0ZW0uc3ViamVjdCA6IGZvcm1Hcm91cC5nZXQoJ3N1YmplY3QnKT8udmFsdWUgfX1cbiAgICAgICAgPC9kZD5cbiAgICAgICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zXCI+XG4gICAgICAgICAgPGEgICpuZ0lmPVwicXVlcnlDcmVhdGVDb250ZXh0ID09PSBxdWVyeUNyZWF0ZUNvbnRleHRFbnVtLk5FV19RVUVSWVwiIFxuICAgICAgICAgICAgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIGNsYXNzPVwiZ292dWstbGlua1wiIChjbGljayk9XCJnb0JhY2soKVwiPlxuICAgICAgICAgICAge3sgJ0NoYW5nZScgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2RsPlxuXG4gICAgPGRsIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0IGdvdnVrLSEtbWFyZ2luLWJvdHRvbS0wXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19yb3dcIj5cbiAgICAgICAgPGR0IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19rZXlcIj5cbiAgICAgICAgICB7eyBxdWVyeUNyZWF0ZUNvbnRleHQgPT09IHF1ZXJ5Q3JlYXRlQ29udGV4dEVudW0uUkVTUE9ORCA/ICdSZXNwb25zZSBkZXRhaWwnIDogJ1F1ZXJ5IGRldGFpbCcgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgPC9kdD5cbiAgICAgICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X192YWx1ZVwiPlxuICAgICAgICAgIHt7IGZvcm1Hcm91cC5nZXQoJ2JvZHknKT8udmFsdWUgfX1cbiAgICAgICAgPC9kZD5cbiAgICAgICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zXCI+XG4gICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIGNsYXNzPVwiZ292dWstbGlua1wiIChjbGljayk9XCJnb0JhY2soKVwiPlxuICAgICAgICAgICAge3sgJ0NoYW5nZScgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2RsPlxuXG4gICAgPGRsICpuZ0lmPVwicXVlcnlDcmVhdGVDb250ZXh0ID09PSBxdWVyeUNyZWF0ZUNvbnRleHRFbnVtLk5FV19RVUVSWVwiIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0IGdvdnVrLSEtbWFyZ2luLWJvdHRvbS0wXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19yb3dcIj5cbiAgICAgICAgPGR0IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19rZXlcIj5cbiAgICAgICAgICB7eyAnSXMgdGhlIHF1ZXJ5IGhlYXJpbmcgcmVsYXRlZD8nIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgIDwvZHQ+XG4gICAgICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWVcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZm9ybUdyb3VwLmdldCgnaXNIZWFyaW5nUmVsYXRlZCcpPy52YWx1ZSA9PT0gdHJ1ZTsgZWxzZSBpc0hlYXJpbmdSZWxhdGVkRmFsc2VcIj5cbiAgICAgICAgICAgIHt7ICdJcyB0aGUgcXVlcnkgaGVhcmluZyByZWxhdGVkPycgfCBycHhUcmFuc2xhdGU6IG51bGwgOiAnWWVzJyB9fVxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaXNIZWFyaW5nUmVsYXRlZEZhbHNlPlxuICAgICAgICAgICAge3sgJ0lzIHRoZSBxdWVyeSBoZWFyaW5nIHJlbGF0ZWQ/JyB8IHJweFRyYW5zbGF0ZTogbnVsbCA6ICdObycgfX1cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2RkPlxuICAgICAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnNcIj5cbiAgICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgY2xhc3M9XCJnb3Z1ay1saW5rXCIgKGNsaWNrKT1cImdvQmFjaygpXCI+XG4gICAgICAgICAgICB7eyAnQ2hhbmdlJyB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kZD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwiZm9ybUdyb3VwLmdldCgnaXNIZWFyaW5nUmVsYXRlZCcpPy52YWx1ZVwiIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19yb3dcIj5cbiAgICAgICAgPGR0IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19rZXlcIj5cbiAgICAgICAgICB7eyBxdWVyeUNyZWF0ZUNvbnRleHQgPT09IHF1ZXJ5Q3JlYXRlQ29udGV4dEVudW0uTkVXX1FVRVJZXG4gICAgICAgICAgICA/ICdXaGF0IGlzIHRoZSBkYXRlIG9mIHRoZSBoZWFyaW5nPydcbiAgICAgICAgICAgIDogJ1doYXQgaXMgdGhlIGRhdGUgb2YgdGhlIGhlYXJpbmcgeW91ciBxdWVyeSBpcyByZWxhdGVkIHRvPycgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgPC9kdD5cbiAgICAgICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X192YWx1ZVwiPlxuICAgICAgICAgIHt7IGZvcm1Hcm91cC5nZXQoJ2hlYXJpbmdEYXRlJyk/LnZhbHVlIHwgZGF0ZTogJ2RkIE1NTSB5eXl5JyB9fVxuICAgICAgICA8L2RkPlxuICAgICAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnNcIj5cbiAgICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgY2xhc3M9XCJnb3Z1ay1saW5rXCIgKGNsaWNrKT1cImdvQmFjaygpXCI+XG4gICAgICAgICAgICB7eyAnQ2hhbmdlJyB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGw+XG4gICAgPGRsIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0IGdvdnVrLSEtbWFyZ2luLWJvdHRvbS0wXCIgKm5nSWY9XCJ0aGlzLmZvcm1Hcm91cC5nZXQoJ2F0dGFjaG1lbnRzJykudmFsdWUubGVuZ3RoID4gMFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fcm93XCI+XG4gICAgICAgIDxkdCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5XCI+XG4gICAgICAgICAge3sgcXVlcnlDcmVhdGVDb250ZXh0ID09PSBxdWVyeUNyZWF0ZUNvbnRleHRFbnVtLk5FV19RVUVSWSA/ICdVcGxvYWQgYSBmaWxlIHRvIHRoZSBxdWVyeScgOiAnRG9jdW1lbnQgYXR0YWNoZWQnIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgIDwvZHQ+XG4gICAgICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUgZ292dWstc3VtbWFyeS1saXN0X192YWx1ZS0tZG9jdW1lbnRBdHRhY2hlZFwiPlxuICAgICAgICAgIDxjY2QtcXVlcnktYXR0YWNobWVudHMtcmVhZFxuICAgICAgICAgICAgKm5nSWY9XCJ0aGlzLmZvcm1Hcm91cC5nZXQoJ2F0dGFjaG1lbnRzJykudmFsdWVcIlxuICAgICAgICAgICAgW2F0dGFjaG1lbnRzXT1cImF0dGFjaG1lbnRzXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC9jY2QtcXVlcnktYXR0YWNobWVudHMtcmVhZD5cbiAgICAgICAgPC9kZD5cbiAgICAgICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zXCI+XG4gICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIGNsYXNzPVwiZ292dWstbGlua1wiIChjbGljayk9XCJnb0JhY2soKVwiPlxuICAgICAgICAgICAge3sgJ0NoYW5nZScgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2RsPlxuXG4gICAgPGJyPlxuXG4gICAgPGRpdj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJnb3Z1ay1idXR0b24gZ292dWstYnV0dG9uLS1zZWNvbmRhcnkgZ292dWstIS1tYXJnaW4tcmlnaHQtM1wiIGRhdGEtbW9kdWxlPVwiZ292dWstYnV0dG9uXCJcbiAgICAgICAgKGNsaWNrKT1cImdvQmFjaygpXCI+XG4gICAgICAgIHt7ICdQcmV2aW91cycgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImdvdnVrLWJ1dHRvblwiIGRhdGEtbW9kdWxlPVwiZ292dWstYnV0dG9uXCIgdHlwZT1cInN1Ym1pdFwiIChjbGljayk9XCJzdWJtaXQoKVwiPlxuICAgICAgICB7eyAnU3VibWl0JyB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxjY2QtcXVlcnktZXZlbnQtY29tcGxldGlvbiBbZXZlbnRDb21wbGV0aW9uUGFyYW1zXT1cImV2ZW50Q29tcGxldGlvblBhcmFtc1wiPiAgICBcbiAgPC9jY2QtcXVlcnktZXZlbnQtY29tcGxldGlvbj5cbjwvZGl2PlxuIl19