@hmcts/ccd-case-ui-toolkit 7.0.0-NodeAndNgUpgrades.1 → 7.0.0-NodeAndNgUpgrades.1.1.1

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 (157) hide show
  1. package/esm2020/lib/shared/commons/case-edit-data/case-edit-data.service.mjs +1 -1
  2. package/esm2020/lib/shared/components/case-editor/case-edit/case-edit.component.mjs +8 -8
  3. package/esm2020/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.mjs +1 -1
  4. package/esm2020/lib/shared/components/case-editor/case-edit-form/case-edit-form.component.mjs +2 -2
  5. package/esm2020/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.mjs +1 -1
  6. package/esm2020/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.mjs +1 -1
  7. package/esm2020/lib/shared/components/case-editor/case-editor.module.mjs +13 -13
  8. package/esm2020/lib/shared/components/case-editor/services/case.notifier.mjs +1 -8
  9. package/esm2020/lib/shared/components/case-editor/services/page-validation.service.mjs +1 -1
  10. package/esm2020/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.mjs +1 -1
  11. package/esm2020/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.mjs +5 -5
  12. package/esm2020/lib/shared/components/case-viewer/case-review-specific-access-request/case-review-specific-access-request.component.mjs +1 -1
  13. package/esm2020/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.mjs +1 -1
  14. package/esm2020/lib/shared/components/create-case-filters/create-case-filters.component.mjs +15 -10
  15. package/esm2020/lib/shared/components/event-trigger/event-trigger.component.mjs +1 -1
  16. package/esm2020/lib/shared/components/palette/address/write-address-field.component.mjs +3 -3
  17. package/esm2020/lib/shared/components/palette/base-field/abstract-field-read.component.mjs +1 -1
  18. package/esm2020/lib/shared/components/palette/base-field/abstract-form-field.component.mjs +2 -2
  19. package/esm2020/lib/shared/components/palette/base-field/field-read.component.mjs +4 -4
  20. package/esm2020/lib/shared/components/palette/base-field/field-write.component.mjs +2 -2
  21. package/esm2020/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.mjs +3 -3
  22. package/esm2020/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.mjs +2 -2
  23. package/esm2020/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.mjs +2 -2
  24. package/esm2020/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.mjs +2 -2
  25. package/esm2020/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.mjs +2 -2
  26. package/esm2020/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.mjs +2 -2
  27. package/esm2020/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.mjs +2 -2
  28. package/esm2020/lib/shared/components/palette/case-flag/domain/case-flag.model.mjs +1 -1
  29. package/esm2020/lib/shared/components/palette/case-flag/read-case-flag-field.component.mjs +3 -3
  30. package/esm2020/lib/shared/components/palette/case-flag/write-case-flag-field.component.mjs +22 -22
  31. package/esm2020/lib/shared/components/palette/case-link/write-case-link-field.component.mjs +4 -4
  32. package/esm2020/lib/shared/components/palette/collection/write-collection-field.component.mjs +8 -8
  33. package/esm2020/lib/shared/components/palette/complex/write-complex-field.component.mjs +3 -3
  34. package/esm2020/lib/shared/components/palette/document/write-document-field.component.mjs +42 -23
  35. package/esm2020/lib/shared/components/palette/judicial-user/write-judicial-user-field.component.mjs +16 -2
  36. package/esm2020/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.mjs +1 -1
  37. package/esm2020/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.mjs +1 -1
  38. package/esm2020/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.mjs +3 -3
  39. package/esm2020/lib/shared/components/palette/order-summary/write-order-summary-field.component.mjs +5 -5
  40. package/esm2020/lib/shared/components/palette/organisation/write-organisation-field.component.mjs +3 -3
  41. package/esm2020/lib/shared/components/palette/palette.module.mjs +5 -6
  42. package/esm2020/lib/shared/components/search-filters/search-filters.component.mjs +4 -4
  43. package/esm2020/lib/shared/components/search-result/search-result.component.mjs +2 -2
  44. package/esm2020/lib/shared/components/workbasket-filters/workbasket-filters.component.mjs +15 -4
  45. package/esm2020/lib/shared/directives/conditional-show/conditional-show-form.directive.mjs +4 -4
  46. package/esm2020/lib/shared/directives/substitutor/label-substitutor.directive.mjs +3 -3
  47. package/esm2020/lib/shared/domain/case-edit/case-edit.model.mjs +1 -1
  48. package/esm2020/lib/shared/domain/definition/jurisdiction.model.mjs +1 -1
  49. package/esm2020/lib/shared/pipes/complex/ccd-page-fields.pipe.mjs +1 -1
  50. package/esm2020/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.mjs +1 -1
  51. package/esm2020/lib/shared/services/fields/fields.purger.mjs +9 -9
  52. package/esm2020/lib/shared/services/fields/fields.utils.mjs +6 -6
  53. package/esm2020/lib/shared/services/form/form-error.service.mjs +1 -1
  54. package/esm2020/lib/shared/services/jurisdiction/jurisdiction.service.mjs +5 -2
  55. package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs +156 -114
  56. package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  57. package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs +154 -114
  58. package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  59. package/lib/shared/commons/case-edit-data/case-edit-data.service.d.ts +3 -3
  60. package/lib/shared/commons/case-edit-data/case-edit-data.service.d.ts.map +1 -1
  61. package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts +5 -5
  62. package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts.map +1 -1
  63. package/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.d.ts +2 -2
  64. package/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.d.ts.map +1 -1
  65. package/lib/shared/components/case-editor/case-edit-form/case-edit-form.component.d.ts +2 -2
  66. package/lib/shared/components/case-editor/case-edit-form/case-edit-form.component.d.ts.map +1 -1
  67. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts +3 -3
  68. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
  69. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts +2 -2
  70. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts.map +1 -1
  71. package/lib/shared/components/case-editor/case-editor.module.d.ts +8 -8
  72. package/lib/shared/components/case-editor/services/case.notifier.d.ts.map +1 -1
  73. package/lib/shared/components/case-editor/services/page-validation.service.d.ts +3 -3
  74. package/lib/shared/components/case-editor/services/page-validation.service.d.ts.map +1 -1
  75. package/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.d.ts +2 -2
  76. package/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.d.ts.map +1 -1
  77. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +4 -4
  78. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
  79. package/lib/shared/components/case-viewer/case-review-specific-access-request/case-review-specific-access-request.component.d.ts +2 -2
  80. package/lib/shared/components/case-viewer/case-review-specific-access-request/case-review-specific-access-request.component.d.ts.map +1 -1
  81. package/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.d.ts +2 -2
  82. package/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.d.ts.map +1 -1
  83. package/lib/shared/components/create-case-filters/create-case-filters.component.d.ts +6 -4
  84. package/lib/shared/components/create-case-filters/create-case-filters.component.d.ts.map +1 -1
  85. package/lib/shared/components/event-trigger/event-trigger.component.d.ts +2 -2
  86. package/lib/shared/components/event-trigger/event-trigger.component.d.ts.map +1 -1
  87. package/lib/shared/components/palette/address/write-address-field.component.d.ts +3 -3
  88. package/lib/shared/components/palette/address/write-address-field.component.d.ts.map +1 -1
  89. package/lib/shared/components/palette/base-field/abstract-field-read.component.d.ts +2 -2
  90. package/lib/shared/components/palette/base-field/abstract-field-read.component.d.ts.map +1 -1
  91. package/lib/shared/components/palette/base-field/abstract-form-field.component.d.ts +3 -3
  92. package/lib/shared/components/palette/base-field/abstract-form-field.component.d.ts.map +1 -1
  93. package/lib/shared/components/palette/base-field/field-read.component.d.ts +2 -2
  94. package/lib/shared/components/palette/base-field/field-read.component.d.ts.map +1 -1
  95. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts +2 -2
  96. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts.map +1 -1
  97. package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts +2 -2
  98. package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts.map +1 -1
  99. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts +2 -2
  100. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts.map +1 -1
  101. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts +2 -2
  102. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts.map +1 -1
  103. package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts +2 -2
  104. package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts.map +1 -1
  105. package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts +2 -2
  106. package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts.map +1 -1
  107. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts +2 -2
  108. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts.map +1 -1
  109. package/lib/shared/components/palette/case-flag/domain/case-flag.model.d.ts +2 -2
  110. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts +6 -6
  111. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts.map +1 -1
  112. package/lib/shared/components/palette/case-link/write-case-link-field.component.d.ts +2 -2
  113. package/lib/shared/components/palette/case-link/write-case-link-field.component.d.ts.map +1 -1
  114. package/lib/shared/components/palette/collection/write-collection-field.component.d.ts +3 -3
  115. package/lib/shared/components/palette/collection/write-collection-field.component.d.ts.map +1 -1
  116. package/lib/shared/components/palette/complex/write-complex-field.component.d.ts +3 -3
  117. package/lib/shared/components/palette/complex/write-complex-field.component.d.ts.map +1 -1
  118. package/lib/shared/components/palette/document/write-document-field.component.d.ts +8 -4
  119. package/lib/shared/components/palette/document/write-document-field.component.d.ts.map +1 -1
  120. package/lib/shared/components/palette/judicial-user/write-judicial-user-field.component.d.ts +5 -3
  121. package/lib/shared/components/palette/judicial-user/write-judicial-user-field.component.d.ts.map +1 -1
  122. package/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.d.ts +2 -2
  123. package/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.d.ts.map +1 -1
  124. package/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.d.ts +2 -2
  125. package/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.d.ts.map +1 -1
  126. package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts +2 -2
  127. package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts.map +1 -1
  128. package/lib/shared/components/palette/organisation/write-organisation-field.component.d.ts +2 -2
  129. package/lib/shared/components/palette/organisation/write-organisation-field.component.d.ts.map +1 -1
  130. package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
  131. package/lib/shared/components/search-filters/search-filters.component.d.ts +3 -3
  132. package/lib/shared/components/search-filters/search-filters.component.d.ts.map +1 -1
  133. package/lib/shared/components/search-result/search-result.component.d.ts +3 -3
  134. package/lib/shared/components/search-result/search-result.component.d.ts.map +1 -1
  135. package/lib/shared/components/workbasket-filters/workbasket-filters.component.d.ts +4 -4
  136. package/lib/shared/components/workbasket-filters/workbasket-filters.component.d.ts.map +1 -1
  137. package/lib/shared/directives/conditional-show/conditional-show-form.directive.d.ts +2 -2
  138. package/lib/shared/directives/conditional-show/conditional-show-form.directive.d.ts.map +1 -1
  139. package/lib/shared/directives/substitutor/label-substitutor.directive.d.ts +2 -2
  140. package/lib/shared/directives/substitutor/label-substitutor.directive.d.ts.map +1 -1
  141. package/lib/shared/domain/case-edit/case-edit.model.d.ts +2 -2
  142. package/lib/shared/domain/case-edit/case-edit.model.d.ts.map +1 -1
  143. package/lib/shared/domain/definition/jurisdiction.model.d.ts +1 -0
  144. package/lib/shared/domain/definition/jurisdiction.model.d.ts.map +1 -1
  145. package/lib/shared/pipes/complex/ccd-page-fields.pipe.d.ts +2 -2
  146. package/lib/shared/pipes/complex/ccd-page-fields.pipe.d.ts.map +1 -1
  147. package/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.d.ts +2 -2
  148. package/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.d.ts.map +1 -1
  149. package/lib/shared/services/fields/fields.purger.d.ts +4 -4
  150. package/lib/shared/services/fields/fields.purger.d.ts.map +1 -1
  151. package/lib/shared/services/fields/fields.utils.d.ts +6 -6
  152. package/lib/shared/services/fields/fields.utils.d.ts.map +1 -1
  153. package/lib/shared/services/form/form-error.service.d.ts +2 -2
  154. package/lib/shared/services/form/form-error.service.d.ts.map +1 -1
  155. package/lib/shared/services/jurisdiction/jurisdiction.service.d.ts +3 -2
  156. package/lib/shared/services/jurisdiction/jurisdiction.service.d.ts.map +1 -1
  157. package/package.json +2 -3
@@ -1,5 +1,5 @@
1
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { FormControl, UntypedFormGroup } from '@angular/forms';
2
+ import { FormControl, FormGroup } from '@angular/forms';
3
3
  import { catchError, switchMap } from 'rxjs/operators';
4
4
  import { CaseFlagRefdataService } from '../../../../../services';
5
5
  import { RefdataCaseFlagType } from '../../../../../services/case-flag/refdata-case-flag-type.enum';
@@ -239,4 +239,4 @@ SelectFlagTypeComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Sel
239
239
  }], flagCommentsOptionalEmitter: [{
240
240
  type: Output
241
241
  }] }); })();
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZsYWctdHlwZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZsYWcvY29tcG9uZW50cy9zZWxlY3QtZmxhZy10eXBlL3NlbGVjdC1mbGFnLXR5cGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvc2VsZWN0LWZsYWctdHlwZS9zZWxlY3QtZmxhZy10eXBlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3ZELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBRXBHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSx1QkFBdUIsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7O0lDRGhHLCtCQUNxRCxlQUFBO0lBQ2Ysc0JBQU07SUFBQSxpQkFBTztJQUFDLFlBQ3BEO0lBQUEsaUJBQU07OztJQUQ4QyxlQUNwRDtJQURvRCx1RUFDcEQ7Ozs7SUFFRSwrQkFBK0UsZ0JBQUE7SUFNbkMsb09BQVUsZUFBQSxx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OzhGQXRKVSx1QkFBdUI7MEVBQXZCLHVCQUF1QjtRQ2hCcEMsOEJBQWdELGFBQUEsa0JBQUEsZ0JBQUEsWUFBQTtRQUt0QyxZQUNGO1FBQUEsaUJBQUssRUFBQTtRQUVQLHdFQUdNO1FBQ04sOEJBQTRHO1FBQzFHLHdFQVFNO1FBQ04sd0VBV007UUFDUixpQkFBTSxFQUFBLEVBQUE7UUFHViwwRUFFTTtRQUNSLGlCQUFNOztRQXhDa0IseUNBQXVCO1FBQ2YsZUFBNEU7UUFBNUUsb0dBQTRFO1FBSWxHLGVBQ0Y7UUFERSw2RUFDRjtRQUdDLGVBQWdEO1FBQWhELHFFQUFnRDtRQUlJLGVBQWM7UUFBZCx1Q0FBYztRQVMzQixlQUEyQjtRQUEzQixnREFBMkI7UUFleEMsZUFBbUI7UUFBbkIsd0NBQW1COzt1RkRyQnpDLHVCQUF1QjtjQUxuQyxTQUFTOzJCQUNFLHNCQUFzQjt5RUFPekIsU0FBUztrQkFEZixLQUFLO1lBSUMsWUFBWTtrQkFEbEIsS0FBSztZQUlDLFVBQVU7a0JBRGhCLEtBQUs7WUFJQyxjQUFjO2tCQURwQixLQUFLO1lBSUMsb0JBQW9CO2tCQUQxQixNQUFNO1lBSUEsMkJBQTJCO2tCQURqQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEZsYWdUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluL2Nhc2UtZmxhZyc7XG5pbXBvcnQgeyBDYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgUmVmZGF0YUNhc2VGbGFnVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL2Nhc2UtZmxhZy9yZWZkYXRhLWNhc2UtZmxhZy10eXBlLmVudW0nO1xuaW1wb3J0IHsgQ2FzZUZsYWdTdGF0ZSB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDYXNlRmxhZ0ZpZWxkU3RhdGUsIENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLCBTZWxlY3RGbGFnVHlwZUVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uL2VudW1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLXNlbGVjdC1mbGFnLXR5cGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LWZsYWctdHlwZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC1mbGFnLXR5cGUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RGbGFnVHlwZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBqdXJpc2RpY3Rpb246IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY2FzZVR5cGVJZDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBobWN0c1NlcnZpY2VJZDogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgY2FzZUZsYWdTdGF0ZUVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxDYXNlRmxhZ1N0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2FzZUZsYWdTdGF0ZT4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGZsYWdDb21tZW50c09wdGlvbmFsRW1pdHRlcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIGZsYWdUeXBlczogRmxhZ1R5cGVbXTtcbiAgcHVibGljIHNlbGVjdGVkRmxhZ1R5cGU6IEZsYWdUeXBlO1xuICBwdWJsaWMgZXJyb3JNZXNzYWdlczogRXJyb3JNZXNzYWdlW107XG4gIHB1YmxpYyBmbGFnVHlwZU5vdFNlbGVjdGVkRXJyb3JNZXNzYWdlID0gJyc7XG4gIHB1YmxpYyBmbGFnVHlwZUVycm9yTWVzc2FnZSA9ICcnO1xuICBwdWJsaWMgZmxhZ1JlZmRhdGEkOiBTdWJzY3JpcHRpb247XG4gIHB1YmxpYyBvdGhlckZsYWdUeXBlU2VsZWN0ZWQgPSBmYWxzZTtcbiAgcHVibGljIHJlZmRhdGFFcnJvciA9IGZhbHNlO1xuXG4gIHB1YmxpYyByZWFkb25seSBmbGFnVHlwZUNvbnRyb2xOYW1lID0gJ2ZsYWdUeXBlJztcbiAgcHVibGljIHJlYWRvbmx5IGRlc2NyaXB0aW9uQ29udHJvbE5hbWUgPSAnb3RoZXJGbGFnVHlwZURlc2NyaXB0aW9uJztcbiAgcHJpdmF0ZSByZWFkb25seSBtYXhDaGFyYWN0ZXJzRm9yT3RoZXJGbGFnVHlwZSA9IDgwO1xuICAvLyBDb2RlIGZvciBcIk90aGVyXCIgZmxhZyB0eXBlIGFzIGRlZmluZWQgaW4gUmVmZXJlbmNlIERhdGFcbiAgcHJpdmF0ZSByZWFkb25seSBvdGhlckZsYWdUeXBlQ29kZSA9ICdPVDAwMDEnO1xuICBwdWJsaWMgcmVhZG9ubHkgY2FzZUxldmVsQ2FzZUZsYWdzRmllbGRJZCA9ICdjYXNlRmxhZ3MnO1xuXG4gIHB1YmxpYyBnZXQgY2FzZUZsYWdXaXphcmRTdGVwVGl0bGUoKTogdHlwZW9mIENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlIHtcbiAgICByZXR1cm4gQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGU7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNhc2VGbGFnUmVmZGF0YVNlcnZpY2U6IENhc2VGbGFnUmVmZGF0YVNlcnZpY2UpIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZsYWdUeXBlcyA9IFtdO1xuICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2wodGhpcy5mbGFnVHlwZUNvbnRyb2xOYW1lLCBuZXcgRm9ybUNvbnRyb2woJycpKTtcbiAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKHRoaXMuZGVzY3JpcHRpb25Db250cm9sTmFtZSwgbmV3IEZvcm1Db250cm9sKCcnKSk7XG5cbiAgICBjb25zdCBmbGFnVHlwZSA9IHRoaXMuZm9ybUdyb3VwWydjYXNlRmllbGQnXVxuICAgICAgJiYgdGhpcy5mb3JtR3JvdXBbJ2Nhc2VGaWVsZCddLmlkXG4gICAgICAmJiB0aGlzLmZvcm1Hcm91cFsnY2FzZUZpZWxkJ10uaWQgPT09IHRoaXMuY2FzZUxldmVsQ2FzZUZsYWdzRmllbGRJZFxuICAgICAgPyBSZWZkYXRhQ2FzZUZsYWdUeXBlLkNBU0VcbiAgICAgIDogUmVmZGF0YUNhc2VGbGFnVHlwZS5QQVJUWTtcblxuICAgIC8vIElmIGhtY3RzU2VydmljZUlkIGlzIHByZXNlbnQsIHVzZSB0aGlzIHRvIHJldHJpZXZlIHRoZSByZWxldmFudCBsaXN0IG9mIGZsYWcgdHlwZXNcbiAgICBpZiAodGhpcy5obWN0c1NlcnZpY2VJZCkge1xuICAgICAgdGhpcy5mbGFnUmVmZGF0YSQgPSB0aGlzLmNhc2VGbGFnUmVmZGF0YVNlcnZpY2UuZ2V0Q2FzZUZsYWdzUmVmZGF0YSh0aGlzLmhtY3RzU2VydmljZUlkLCBmbGFnVHlwZSlcbiAgICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgICAgLy8gRmlyc3QgKGFuZCBvbmx5KSBvYmplY3QgaW4gdGhlIHJldHVybmVkIGFycmF5IHNob3VsZCBiZSB0aGUgdG9wLWxldmVsIFwiUGFydHlcIiBmbGFnIHR5cGVcbiAgICAgICAgICBuZXh0OiBmbGFnVHlwZXMgPT4gdGhpcy5mbGFnVHlwZXMgPSBmbGFnVHlwZXNbMF0uY2hpbGRGbGFncyxcbiAgICAgICAgICBlcnJvcjogZXJyb3IgPT4gdGhpcy5vblJlZmRhdGFFcnJvcihlcnJvcilcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEVsc2UsIEhNQ1RTIHNlcnZpY2UgY29kZSBpcyByZXF1aXJlZCB0byByZXRyaWV2ZSB0aGUgcmVsZXZhbnQgbGlzdCBvZiBmbGFnIHR5cGVzOyBhdHRlbXB0IHRvIG9idGFpbiBpdCBieSBjYXNlIHR5cGUgSUQgZmlyc3RcbiAgICAgIHRoaXMuZmxhZ1JlZmRhdGEkID0gdGhpcy5jYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlLmdldEhtY3RzU2VydmljZURldGFpbHNCeUNhc2VUeXBlKHRoaXMuY2FzZVR5cGVJZClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgLy8gSWYgYW4gZXJyb3Igb2NjdXJzIHJldHJpZXZpbmcgSE1DVFMgc2VydmljZSBkZXRhaWxzIGJ5IGNhc2UgdHlwZSBJRCwgdHJ5IGJ5IHNlcnZpY2UgbmFtZSBpbnN0ZWFkXG4gICAgICAgICAgY2F0Y2hFcnJvcihfID0+IHRoaXMuY2FzZUZsYWdSZWZkYXRhU2VydmljZS5nZXRIbWN0c1NlcnZpY2VEZXRhaWxzQnlTZXJ2aWNlTmFtZSh0aGlzLmp1cmlzZGljdGlvbikpLFxuICAgICAgICAgIC8vIFVzZSBzd2l0Y2hNYXAgdG8gcmV0dXJuIGFuIGlubmVyIE9ic2VydmFibGUgb2YgdGhlIGZsYWcgdHlwZXMgZGF0YSwgaGF2aW5nIHJlY2VpdmVkIHRoZSBzZXJ2aWNlIGRldGFpbHNcbiAgICAgICAgICAvLyBpbmNsdWRpbmcgc2VydmljZV9jb2RlLiBUaGlzIGF2b2lkcyBoYXZpbmcgbmVzdGVkIGBzdWJzY3JpYmVgcywgd2hpY2ggaXMgYW4gYW50aS1wYXR0ZXJuIVxuICAgICAgICAgIHN3aXRjaE1hcChzZXJ2aWNlRGV0YWlscyA9PiB0aGlzLmNhc2VGbGFnUmVmZGF0YVNlcnZpY2UuZ2V0Q2FzZUZsYWdzUmVmZGF0YShzZXJ2aWNlRGV0YWlsc1swXS5zZXJ2aWNlX2NvZGUsIGZsYWdUeXBlKSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICAvLyBGaXJzdCAoYW5kIG9ubHkpIG9iamVjdCBpbiB0aGUgcmV0dXJuZWQgYXJyYXkgc2hvdWxkIGJlIHRoZSB0b3AtbGV2ZWwgXCJQYXJ0eVwiIGZsYWcgdHlwZVxuICAgICAgICAgIG5leHQ6IGZsYWdUeXBlcyA9PiB0aGlzLmZsYWdUeXBlcyA9IGZsYWdUeXBlc1swXS5jaGlsZEZsYWdzLFxuICAgICAgICAgIGVycm9yOiBlcnJvciA9PiB0aGlzLm9uUmVmZGF0YUVycm9yKGVycm9yKVxuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZmxhZ1JlZmRhdGEkKSB7XG4gICAgICB0aGlzLmZsYWdSZWZkYXRhJC51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkZsYWdUeXBlQ2hhbmdlZChmbGFnVHlwZTogRmxhZ1R5cGUpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkRmxhZ1R5cGUgPSBmbGFnVHlwZTtcbiAgICAvLyBEaXNwbGF5IGRlc2NyaXB0aW9uIHRleHRib3ggaWYgJ090aGVyJyBmbGFnIHR5cGUgaXMgc2VsZWN0ZWRcbiAgICB0aGlzLm90aGVyRmxhZ1R5cGVTZWxlY3RlZCA9IHRoaXMuc2VsZWN0ZWRGbGFnVHlwZS5mbGFnQ29kZSA9PT0gdGhpcy5vdGhlckZsYWdUeXBlQ29kZTtcbiAgfVxuXG4gIHB1YmxpYyBvbk5leHQoKTogdm9pZCB7XG4gICAgLy8gVmFsaWRhdGUgZm9ybVxuICAgIHRoaXMudmFsaWRhdGVGb3JtKCk7XG4gICAgLy8gUmV0dXJuIGNhc2UgZmxhZyBmaWVsZCBzdGF0ZSwgd2hldGhlciB0aGUgc2VsZWN0ZWQgZmxhZyB0eXBlIChpZiBhbnkpIGlzIGEgcGFyZW50IG9yIG5vdCwgZXJyb3IgbWVzc2FnZXMsXG4gICAgLy8gZmxhZyBuYW1lLCBwYXRoLCBoZWFyaW5nIHJlbGV2YW50IGluZGljYXRvciwgY29kZSwgYW5kIFwibGlzdCBvZiB2YWx1ZXNcIiAoaWYgYW55KSB0byB0aGUgcGFyZW50XG4gICAgdGhpcy5jYXNlRmxhZ1N0YXRlRW1pdHRlci5lbWl0KHtcbiAgICAgIGN1cnJlbnRDYXNlRmxhZ0ZpZWxkU3RhdGU6IENhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX1RZUEUsXG4gICAgICBpc1BhcmVudEZsYWdUeXBlOiB0aGlzLnNlbGVjdGVkRmxhZ1R5cGUgPyB0aGlzLnNlbGVjdGVkRmxhZ1R5cGUuaXNQYXJlbnQgOiBudWxsLFxuICAgICAgZXJyb3JNZXNzYWdlczogdGhpcy5lcnJvck1lc3NhZ2VzLFxuICAgICAgZmxhZ05hbWU6IHRoaXMuc2VsZWN0ZWRGbGFnVHlwZSA/IHRoaXMuc2VsZWN0ZWRGbGFnVHlwZS5uYW1lIDogbnVsbCxcbiAgICAgIGZsYWdQYXRoOiB0aGlzLnNlbGVjdGVkRmxhZ1R5cGUgPyB0aGlzLnNlbGVjdGVkRmxhZ1R5cGUuUGF0aC5tYXAocGF0aFZhbHVlID0+IE9iamVjdC5hc3NpZ24oeyBpZDogbnVsbCwgdmFsdWU6IHBhdGhWYWx1ZSB9KSkgOiBudWxsLFxuICAgICAgaGVhcmluZ1JlbGV2YW50RmxhZzogdGhpcy5zZWxlY3RlZEZsYWdUeXBlID8gdGhpcy5zZWxlY3RlZEZsYWdUeXBlLmhlYXJpbmdSZWxldmFudCA6IG51bGwsXG4gICAgICBmbGFnQ29kZTogdGhpcy5zZWxlY3RlZEZsYWdUeXBlID8gdGhpcy5zZWxlY3RlZEZsYWdUeXBlLmZsYWdDb2RlIDogbnVsbCxcbiAgICAgIC8vIEluY2x1ZGUgdGhlIFwibGlzdCBvZiB2YWx1ZXNcIiAoaWYgYW55KTsgY3VycmVudGx5IGFwcGxpY2FibGUgdG8gbGFuZ3VhZ2UgZmxhZyB0eXBlc1xuICAgICAgbGlzdE9mVmFsdWVzOiB0aGlzLnNlbGVjdGVkRmxhZ1R5cGUgJiYgdGhpcy5zZWxlY3RlZEZsYWdUeXBlLmxpc3RPZlZhbHVlcyAmJiB0aGlzLnNlbGVjdGVkRmxhZ1R5cGUubGlzdE9mVmFsdWVzLmxlbmd0aCA+IDBcbiAgICAgICAgPyB0aGlzLnNlbGVjdGVkRmxhZ1R5cGUubGlzdE9mVmFsdWVzXG4gICAgICAgIDogbnVsbFxuICAgIH0pO1xuICAgIC8vIEVtaXQgXCJmbGFnIGNvbW1lbnRzIG9wdGlvbmFsXCIgZXZlbnQgaWYgdGhlIHVzZXIgc2VsZWN0cyBhIGZsYWcgdHlwZSB3aGVyZSBjb21tZW50cyBhcmUgbm90IG1hbmRhdG9yeVxuICAgIGlmICh0aGlzLnNlbGVjdGVkRmxhZ1R5cGUgJiYgIXRoaXMuc2VsZWN0ZWRGbGFnVHlwZS5mbGFnQ29tbWVudCkge1xuICAgICAgdGhpcy5mbGFnQ29tbWVudHNPcHRpb25hbEVtaXR0ZXIuZW1pdChudWxsKTtcbiAgICB9XG4gICAgLy8gSWYgdGhlIHNlbGVjdGVkIGZsYWcgdHlwZSBpcyBhIHBhcmVudCwgbG9hZCB0aGUgbGlzdCBvZiBjaGlsZCBmbGFnIHR5cGVzIGFuZCByZXNldCB0aGUgY3VycmVudCBzZWxlY3Rpb25cbiAgICBpZiAodGhpcy5zZWxlY3RlZEZsYWdUeXBlICYmIHRoaXMuc2VsZWN0ZWRGbGFnVHlwZS5pc1BhcmVudCkge1xuICAgICAgdGhpcy5mbGFnVHlwZXMgPSB0aGlzLnNlbGVjdGVkRmxhZ1R5cGUuY2hpbGRGbGFncztcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLmZsYWdUeXBlQ29udHJvbE5hbWUpLnNldFZhbHVlKCcnKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRGbGFnVHlwZSA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5mbGFnVHlwZU5vdFNlbGVjdGVkRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgdGhpcy5mbGFnVHlwZUVycm9yTWVzc2FnZSA9ICcnO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuXG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkRmxhZ1R5cGUpIHtcbiAgICAgIHRoaXMuZmxhZ1R5cGVOb3RTZWxlY3RlZEVycm9yTWVzc2FnZSA9IFNlbGVjdEZsYWdUeXBlRXJyb3JNZXNzYWdlLkZMQUdfVFlQRV9OT1RfU0VMRUNURUQ7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7IHRpdGxlOiAnJywgZGVzY3JpcHRpb246IGAke1NlbGVjdEZsYWdUeXBlRXJyb3JNZXNzYWdlLkZMQUdfVFlQRV9OT1RfU0VMRUNURUR9YCwgZmllbGRJZDogJ2NvbmRpdGlvbmFsLXJhZGlvcy1saXN0JyB9KTtcbiAgICB9XG4gICAgaWYgKHRoaXMub3RoZXJGbGFnVHlwZVNlbGVjdGVkKSB7XG4gICAgICBjb25zdCBvdGhlckZsYWdUeXBlRGVzY3JpcHRpb24gPSB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5kZXNjcmlwdGlvbkNvbnRyb2xOYW1lKS52YWx1ZTtcbiAgICAgIGlmICghb3RoZXJGbGFnVHlwZURlc2NyaXB0aW9uKSB7XG4gICAgICAgIHRoaXMuZmxhZ1R5cGVFcnJvck1lc3NhZ2UgPSBTZWxlY3RGbGFnVHlwZUVycm9yTWVzc2FnZS5GTEFHX1RZUEVfTk9UX0VOVEVSRUQ7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHsgdGl0bGU6ICcnLCBkZXNjcmlwdGlvbjogYCR7U2VsZWN0RmxhZ1R5cGVFcnJvck1lc3NhZ2UuRkxBR19UWVBFX05PVF9FTlRFUkVEfWAsIGZpZWxkSWQ6ICdvdGhlci1mbGFnLXR5cGUtZGVzY3JpcHRpb24nIH0pO1xuICAgICAgfVxuICAgICAgaWYgKG90aGVyRmxhZ1R5cGVEZXNjcmlwdGlvbi5sZW5ndGggPiB0aGlzLm1heENoYXJhY3RlcnNGb3JPdGhlckZsYWdUeXBlKSB7XG4gICAgICAgIHRoaXMuZmxhZ1R5cGVFcnJvck1lc3NhZ2UgPSBTZWxlY3RGbGFnVHlwZUVycm9yTWVzc2FnZS5GTEFHX1RZUEVfTElNSVRfRVhDRUVERUQ7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHsgdGl0bGU6ICcnLCBkZXNjcmlwdGlvbjogYCR7U2VsZWN0RmxhZ1R5cGVFcnJvck1lc3NhZ2UuRkxBR19UWVBFX0xJTUlUX0VYQ0VFREVEfWAsIGZpZWxkSWQ6ICdvdGhlci1mbGFnLXR5cGUtZGVzY3JpcHRpb24nIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb25SZWZkYXRhRXJyb3IoZXJyb3I6IGFueSk6IHZvaWQge1xuICAgIC8vIFNldCBlcnJvciBmbGFnIG9uIGNvbXBvbmVudCB0byByZW1vdmUgdGhlIFwiTmV4dFwiIGJ1dHRvbiAodXNlciBjYW5ub3QgcHJvY2VlZCB3aXRoIGZsYWcgY3JlYXRpb24pXG4gICAgdGhpcy5yZWZkYXRhRXJyb3IgPSB0cnVlO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHsgdGl0bGU6ICcnLCBkZXNjcmlwdGlvbjogZXJyb3IubWVzc2FnZSwgZmllbGRJZDogJ2NvbmRpdGlvbmFsLXJhZGlvcy1saXN0JyB9KTtcbiAgICAvLyBSZXR1cm4gY2FzZSBmbGFnIGZpZWxkIHN0YXRlIGFuZCBlcnJvciBtZXNzYWdlcyB0byB0aGUgcGFyZW50XG4gICAgdGhpcy5jYXNlRmxhZ1N0YXRlRW1pdHRlci5lbWl0KHsgY3VycmVudENhc2VGbGFnRmllbGRTdGF0ZTogQ2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfVFlQRSwgZXJyb3JNZXNzYWdlczogdGhpcy5lcnJvck1lc3NhZ2VzIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCIgW25nQ2xhc3NdPVwieydmb3JtLWdyb3VwLWVycm9yJzogZmxhZ1R5cGVOb3RTZWxlY3RlZEVycm9yTWVzc2FnZS5sZW5ndGggPiAwfVwiPlxuICAgIDxmaWVsZHNldCBjbGFzcz1cImdvdnVrLWZpZWxkc2V0XCIgYXJpYS1kZXNjcmliZWRieT1cImZsYWctdHlwZS1oZWFkaW5nXCI+XG4gICAgICA8bGVnZW5kIGNsYXNzPVwiZ292dWstZmllbGRzZXRfX2xlZ2VuZCBnb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1sXCI+XG4gICAgICAgIDxoMSBpZD1cImZsYWctdHlwZS1oZWFkaW5nXCIgY2xhc3M9XCJnb3Z1ay1maWVsZHNldF9faGVhZGluZ1wiPlxuICAgICAgICAgIHt7Y2FzZUZsYWdXaXphcmRTdGVwVGl0bGUuU0VMRUNUX0NBU0VfRkxBR319XG4gICAgICAgIDwvaDE+XG4gICAgICA8L2xlZ2VuZD5cbiAgICAgIDxkaXYgaWQ9XCJmbGFnLXR5cGUtbm90LXNlbGVjdGVkLWVycm9yLW1lc3NhZ2VcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAqbmdJZj1cImZsYWdUeXBlTm90U2VsZWN0ZWRFcnJvck1lc3NhZ2UubGVuZ3RoID4gMFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPkVycm9yOjwvc3Bhbj4ge3tmbGFnVHlwZU5vdFNlbGVjdGVkRXJyb3JNZXNzYWdlfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvcyBnb3Z1ay1yYWRpb3MtLWNvbmRpdGlvbmFsXCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1yYWRpb3NcIiBpZD1cImNvbmRpdGlvbmFsLXJhZGlvcy1saXN0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2l0ZW1cIiAqbmdGb3I9XCJsZXQgZmxhZ1R5cGUgb2YgZmxhZ1R5cGVzOyBpbmRleCBhcyBpXCI+XG4gICAgICAgICAgPCEtLSBBbGwgcGFyZW50IGZsYWcgdHlwZXMgaGF2ZSB0aGUgc2FtZSBmbGFnQ29kZSBvZiBcIkNBVEdSWVwiLCBzbyBlYWNoIHJhZGlvIGJ1dHRvbiB2YWx1ZSBuZWVkcyB0byBiZSBtYWRlXG4gICAgICAgICAgICB1bmlxdWUgYnkgYXBwZW5kaW5nIHRoZSBpbmRleCAtIHJhZGlvIGJ1dHRvbnMgc2hvdWxkbid0IHNoYXJlIHRoZSBzYW1lIHZhbHVlLlxuICAgICAgICAgICAgSXQgaXMgT0sgdG8gYW1lbmQgZmxhZ0NvZGUgdGhpcyB3YXkgYmVjYXVzZSBwYXJlbnQgZmxhZyB0eXBlcyBjYW5ub3QgYmUgc2VsZWN0ZWQgYXMgYSBmaW5hbCB2YWx1ZSAtLT5cbiAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2lucHV0XCIgaWQ9XCJmbGFnLXR5cGUte3tpfX1cIiBbbmFtZV09XCJmbGFnVHlwZUNvbnRyb2xOYW1lXCJcbiAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiIFt2YWx1ZV09XCJmbGFnVHlwZS5mbGFnQ29kZSA9PT0gJ0NBVEdSWScgPyBmbGFnVHlwZS5mbGFnQ29kZSArIGkgOiBmbGFnVHlwZS5mbGFnQ29kZVwiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImZsYWdUeXBlQ29udHJvbE5hbWVcIiAoY2hhbmdlKT1cIm9uRmxhZ1R5cGVDaGFuZ2VkKGZsYWdUeXBlKVwiLz5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1yYWRpb3NfX2xhYmVsXCIgZm9yPVwiZmxhZy10eXBlLXt7aX19XCI+e3tmbGFnVHlwZS5uYW1lfX08L2xhYmVsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19fY29uZGl0aW9uYWxcIiAqbmdJZj1cIm90aGVyRmxhZ1R5cGVTZWxlY3RlZFwiIGlkPVwiY29uZGl0aW9uYWwtZmxhZ1R5cGVcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiIFtuZ0NsYXNzXT1cInsnZm9ybS1ncm91cC1lcnJvcic6IGZsYWdUeXBlRXJyb3JNZXNzYWdlLmxlbmd0aCA+IDB9XCI+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbFwiIGZvcj1cIm90aGVyLWZsYWctdHlwZS1kZXNjcmlwdGlvblwiPkVudGVyIGEgZmxhZyB0eXBlPC9sYWJlbD5cbiAgICAgICAgICAgIDxkaXYgaWQ9XCJmbGFnLXR5cGUtZXJyb3ItbWVzc2FnZVwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiZmxhZ1R5cGVFcnJvck1lc3NhZ2UubGVuZ3RoID4gMFwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPkVycm9yOjwvc3Bhbj4ge3tmbGFnVHlwZUVycm9yTWVzc2FnZX19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWlucHV0IGdvdnVrLSEtd2lkdGgtb25lLWhhbGZcIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2dvdnVrLWlucHV0LS1lcnJvcic6IGZsYWdUeXBlRXJyb3JNZXNzYWdlLmxlbmd0aCA+IDB9XCJcbiAgICAgICAgICAgICAgaWQ9XCJvdGhlci1mbGFnLXR5cGUtZGVzY3JpcHRpb25cIiBbbmFtZV09XCJkZXNjcmlwdGlvbkNvbnRyb2xOYW1lXCIgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImRlc2NyaXB0aW9uQ29udHJvbE5hbWVcIi8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9maWVsZHNldD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1idXR0b24tZ3JvdXBcIiAqbmdJZj1cIiFyZWZkYXRhRXJyb3JcIj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1wcmltYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbk5leHQoKVwiPk5leHQ8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
242
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZsYWctdHlwZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZsYWcvY29tcG9uZW50cy9zZWxlY3QtZmxhZy10eXBlL3NlbGVjdC1mbGFnLXR5cGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvc2VsZWN0LWZsYWctdHlwZS9zZWxlY3QtZmxhZy10eXBlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd2RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUVwRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsdUJBQXVCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7OztJQ0RoRywrQkFDcUQsZUFBQTtJQUNmLHNCQUFNO0lBQUEsaUJBQU87SUFBQyxZQUNwRDtJQUFBLGlCQUFNOzs7SUFEOEMsZUFDcEQ7SUFEb0QsdUVBQ3BEOzs7O0lBRUUsK0JBQStFLGdCQUFBO0lBTW5DLG9PQUFVLGVBQUEscUNB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RkF0SlUsdUJBQXVCOzBFQUF2Qix1QkFBdUI7UUNoQnBDLDhCQUFnRCxhQUFBLGtCQUFBLGdCQUFBLFlBQUE7UUFLdEMsWUFDRjtRQUFBLGlCQUFLLEVBQUE7UUFFUCx3RUFHTTtRQUNOLDhCQUE0RztRQUMxRyx3RUFRTTtRQUNOLHdFQVdNO1FBQ1IsaUJBQU0sRUFBQSxFQUFBO1FBR1YsMEVBRU07UUFDUixpQkFBTTs7UUF4Q2tCLHlDQUF1QjtRQUNmLGVBQTRFO1FBQTVFLG9HQUE0RTtRQUlsRyxlQUNGO1FBREUsNkVBQ0Y7UUFHQyxlQUFnRDtRQUFoRCxxRUFBZ0Q7UUFJSSxlQUFjO1FBQWQsdUNBQWM7UUFTM0IsZUFBMkI7UUFBM0IsZ0RBQTJCO1FBZXhDLGVBQW1CO1FBQW5CLHdDQUFtQjs7dUZEckJ6Qyx1QkFBdUI7Y0FMbkMsU0FBUzsyQkFDRSxzQkFBc0I7eUVBT3pCLFNBQVM7a0JBRGYsS0FBSztZQUlDLFlBQVk7a0JBRGxCLEtBQUs7WUFJQyxVQUFVO2tCQURoQixLQUFLO1lBSUMsY0FBYztrQkFEcEIsS0FBSztZQUlDLG9CQUFvQjtrQkFEMUIsTUFBTTtZQUlBLDJCQUEyQjtrQkFEakMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEZsYWdUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluL2Nhc2UtZmxhZyc7XG5pbXBvcnQgeyBDYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgUmVmZGF0YUNhc2VGbGFnVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL2Nhc2UtZmxhZy9yZWZkYXRhLWNhc2UtZmxhZy10eXBlLmVudW0nO1xuaW1wb3J0IHsgQ2FzZUZsYWdTdGF0ZSB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDYXNlRmxhZ0ZpZWxkU3RhdGUsIENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLCBTZWxlY3RGbGFnVHlwZUVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uL2VudW1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLXNlbGVjdC1mbGFnLXR5cGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LWZsYWctdHlwZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC1mbGFnLXR5cGUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RGbGFnVHlwZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGp1cmlzZGljdGlvbjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlVHlwZUlkOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGhtY3RzU2VydmljZUlkOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjYXNlRmxhZ1N0YXRlRW1pdHRlcjogRXZlbnRFbWl0dGVyPENhc2VGbGFnU3RhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxDYXNlRmxhZ1N0YXRlPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZmxhZ0NvbW1lbnRzT3B0aW9uYWxFbWl0dGVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwdWJsaWMgZmxhZ1R5cGVzOiBGbGFnVHlwZVtdO1xuICBwdWJsaWMgc2VsZWN0ZWRGbGFnVHlwZTogRmxhZ1R5cGU7XG4gIHB1YmxpYyBlcnJvck1lc3NhZ2VzOiBFcnJvck1lc3NhZ2VbXTtcbiAgcHVibGljIGZsYWdUeXBlTm90U2VsZWN0ZWRFcnJvck1lc3NhZ2UgPSAnJztcbiAgcHVibGljIGZsYWdUeXBlRXJyb3JNZXNzYWdlID0gJyc7XG4gIHB1YmxpYyBmbGFnUmVmZGF0YSQ6IFN1YnNjcmlwdGlvbjtcbiAgcHVibGljIG90aGVyRmxhZ1R5cGVTZWxlY3RlZCA9IGZhbHNlO1xuICBwdWJsaWMgcmVmZGF0YUVycm9yID0gZmFsc2U7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZsYWdUeXBlQ29udHJvbE5hbWUgPSAnZmxhZ1R5cGUnO1xuICBwdWJsaWMgcmVhZG9ubHkgZGVzY3JpcHRpb25Db250cm9sTmFtZSA9ICdvdGhlckZsYWdUeXBlRGVzY3JpcHRpb24nO1xuICBwcml2YXRlIHJlYWRvbmx5IG1heENoYXJhY3RlcnNGb3JPdGhlckZsYWdUeXBlID0gODA7XG4gIC8vIENvZGUgZm9yIFwiT3RoZXJcIiBmbGFnIHR5cGUgYXMgZGVmaW5lZCBpbiBSZWZlcmVuY2UgRGF0YVxuICBwcml2YXRlIHJlYWRvbmx5IG90aGVyRmxhZ1R5cGVDb2RlID0gJ09UMDAwMSc7XG4gIHB1YmxpYyByZWFkb25seSBjYXNlTGV2ZWxDYXNlRmxhZ3NGaWVsZElkID0gJ2Nhc2VGbGFncyc7XG5cbiAgcHVibGljIGdldCBjYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZSgpOiB0eXBlb2YgQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGUge1xuICAgIHJldHVybiBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY2FzZUZsYWdSZWZkYXRhU2VydmljZTogQ2FzZUZsYWdSZWZkYXRhU2VydmljZSkgeyB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZmxhZ1R5cGVzID0gW107XG4gICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCh0aGlzLmZsYWdUeXBlQ29udHJvbE5hbWUsIG5ldyBGb3JtQ29udHJvbCgnJykpO1xuICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2wodGhpcy5kZXNjcmlwdGlvbkNvbnRyb2xOYW1lLCBuZXcgRm9ybUNvbnRyb2woJycpKTtcblxuICAgIGNvbnN0IGZsYWdUeXBlID0gdGhpcy5mb3JtR3JvdXBbJ2Nhc2VGaWVsZCddXG4gICAgICAmJiB0aGlzLmZvcm1Hcm91cFsnY2FzZUZpZWxkJ10uaWRcbiAgICAgICYmIHRoaXMuZm9ybUdyb3VwWydjYXNlRmllbGQnXS5pZCA9PT0gdGhpcy5jYXNlTGV2ZWxDYXNlRmxhZ3NGaWVsZElkXG4gICAgICA/IFJlZmRhdGFDYXNlRmxhZ1R5cGUuQ0FTRVxuICAgICAgOiBSZWZkYXRhQ2FzZUZsYWdUeXBlLlBBUlRZO1xuXG4gICAgLy8gSWYgaG1jdHNTZXJ2aWNlSWQgaXMgcHJlc2VudCwgdXNlIHRoaXMgdG8gcmV0cmlldmUgdGhlIHJlbGV2YW50IGxpc3Qgb2YgZmxhZyB0eXBlc1xuICAgIGlmICh0aGlzLmhtY3RzU2VydmljZUlkKSB7XG4gICAgICB0aGlzLmZsYWdSZWZkYXRhJCA9IHRoaXMuY2FzZUZsYWdSZWZkYXRhU2VydmljZS5nZXRDYXNlRmxhZ3NSZWZkYXRhKHRoaXMuaG1jdHNTZXJ2aWNlSWQsIGZsYWdUeXBlKVxuICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICAvLyBGaXJzdCAoYW5kIG9ubHkpIG9iamVjdCBpbiB0aGUgcmV0dXJuZWQgYXJyYXkgc2hvdWxkIGJlIHRoZSB0b3AtbGV2ZWwgXCJQYXJ0eVwiIGZsYWcgdHlwZVxuICAgICAgICAgIG5leHQ6IGZsYWdUeXBlcyA9PiB0aGlzLmZsYWdUeXBlcyA9IGZsYWdUeXBlc1swXS5jaGlsZEZsYWdzLFxuICAgICAgICAgIGVycm9yOiBlcnJvciA9PiB0aGlzLm9uUmVmZGF0YUVycm9yKGVycm9yKVxuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRWxzZSwgSE1DVFMgc2VydmljZSBjb2RlIGlzIHJlcXVpcmVkIHRvIHJldHJpZXZlIHRoZSByZWxldmFudCBsaXN0IG9mIGZsYWcgdHlwZXM7IGF0dGVtcHQgdG8gb2J0YWluIGl0IGJ5IGNhc2UgdHlwZSBJRCBmaXJzdFxuICAgICAgdGhpcy5mbGFnUmVmZGF0YSQgPSB0aGlzLmNhc2VGbGFnUmVmZGF0YVNlcnZpY2UuZ2V0SG1jdHNTZXJ2aWNlRGV0YWlsc0J5Q2FzZVR5cGUodGhpcy5jYXNlVHlwZUlkKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICAvLyBJZiBhbiBlcnJvciBvY2N1cnMgcmV0cmlldmluZyBITUNUUyBzZXJ2aWNlIGRldGFpbHMgYnkgY2FzZSB0eXBlIElELCB0cnkgYnkgc2VydmljZSBuYW1lIGluc3RlYWRcbiAgICAgICAgICBjYXRjaEVycm9yKF8gPT4gdGhpcy5jYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlLmdldEhtY3RzU2VydmljZURldGFpbHNCeVNlcnZpY2VOYW1lKHRoaXMuanVyaXNkaWN0aW9uKSksXG4gICAgICAgICAgLy8gVXNlIHN3aXRjaE1hcCB0byByZXR1cm4gYW4gaW5uZXIgT2JzZXJ2YWJsZSBvZiB0aGUgZmxhZyB0eXBlcyBkYXRhLCBoYXZpbmcgcmVjZWl2ZWQgdGhlIHNlcnZpY2UgZGV0YWlsc1xuICAgICAgICAgIC8vIGluY2x1ZGluZyBzZXJ2aWNlX2NvZGUuIFRoaXMgYXZvaWRzIGhhdmluZyBuZXN0ZWQgYHN1YnNjcmliZWBzLCB3aGljaCBpcyBhbiBhbnRpLXBhdHRlcm4hXG4gICAgICAgICAgc3dpdGNoTWFwKHNlcnZpY2VEZXRhaWxzID0+IHRoaXMuY2FzZUZsYWdSZWZkYXRhU2VydmljZS5nZXRDYXNlRmxhZ3NSZWZkYXRhKHNlcnZpY2VEZXRhaWxzWzBdLnNlcnZpY2VfY29kZSwgZmxhZ1R5cGUpKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgIC8vIEZpcnN0IChhbmQgb25seSkgb2JqZWN0IGluIHRoZSByZXR1cm5lZCBhcnJheSBzaG91bGQgYmUgdGhlIHRvcC1sZXZlbCBcIlBhcnR5XCIgZmxhZyB0eXBlXG4gICAgICAgICAgbmV4dDogZmxhZ1R5cGVzID0+IHRoaXMuZmxhZ1R5cGVzID0gZmxhZ1R5cGVzWzBdLmNoaWxkRmxhZ3MsXG4gICAgICAgICAgZXJyb3I6IGVycm9yID0+IHRoaXMub25SZWZkYXRhRXJyb3IoZXJyb3IpXG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mbGFnUmVmZGF0YSQpIHtcbiAgICAgIHRoaXMuZmxhZ1JlZmRhdGEkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uRmxhZ1R5cGVDaGFuZ2VkKGZsYWdUeXBlOiBGbGFnVHlwZSk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRGbGFnVHlwZSA9IGZsYWdUeXBlO1xuICAgIC8vIERpc3BsYXkgZGVzY3JpcHRpb24gdGV4dGJveCBpZiAnT3RoZXInIGZsYWcgdHlwZSBpcyBzZWxlY3RlZFxuICAgIHRoaXMub3RoZXJGbGFnVHlwZVNlbGVjdGVkID0gdGhpcy5zZWxlY3RlZEZsYWdUeXBlLmZsYWdDb2RlID09PSB0aGlzLm90aGVyRmxhZ1R5cGVDb2RlO1xuICB9XG5cbiAgcHVibGljIG9uTmV4dCgpOiB2b2lkIHtcbiAgICAvLyBWYWxpZGF0ZSBmb3JtXG4gICAgdGhpcy52YWxpZGF0ZUZvcm0oKTtcbiAgICAvLyBSZXR1cm4gY2FzZSBmbGFnIGZpZWxkIHN0YXRlLCB3aGV0aGVyIHRoZSBzZWxlY3RlZCBmbGFnIHR5cGUgKGlmIGFueSkgaXMgYSBwYXJlbnQgb3Igbm90LCBlcnJvciBtZXNzYWdlcyxcbiAgICAvLyBmbGFnIG5hbWUsIHBhdGgsIGhlYXJpbmcgcmVsZXZhbnQgaW5kaWNhdG9yLCBjb2RlLCBhbmQgXCJsaXN0IG9mIHZhbHVlc1wiIChpZiBhbnkpIHRvIHRoZSBwYXJlbnRcbiAgICB0aGlzLmNhc2VGbGFnU3RhdGVFbWl0dGVyLmVtaXQoe1xuICAgICAgY3VycmVudENhc2VGbGFnRmllbGRTdGF0ZTogQ2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfVFlQRSxcbiAgICAgIGlzUGFyZW50RmxhZ1R5cGU6IHRoaXMuc2VsZWN0ZWRGbGFnVHlwZSA/IHRoaXMuc2VsZWN0ZWRGbGFnVHlwZS5pc1BhcmVudCA6IG51bGwsXG4gICAgICBlcnJvck1lc3NhZ2VzOiB0aGlzLmVycm9yTWVzc2FnZXMsXG4gICAgICBmbGFnTmFtZTogdGhpcy5zZWxlY3RlZEZsYWdUeXBlID8gdGhpcy5zZWxlY3RlZEZsYWdUeXBlLm5hbWUgOiBudWxsLFxuICAgICAgZmxhZ1BhdGg6IHRoaXMuc2VsZWN0ZWRGbGFnVHlwZSA/IHRoaXMuc2VsZWN0ZWRGbGFnVHlwZS5QYXRoLm1hcChwYXRoVmFsdWUgPT4gT2JqZWN0LmFzc2lnbih7IGlkOiBudWxsLCB2YWx1ZTogcGF0aFZhbHVlIH0pKSA6IG51bGwsXG4gICAgICBoZWFyaW5nUmVsZXZhbnRGbGFnOiB0aGlzLnNlbGVjdGVkRmxhZ1R5cGUgPyB0aGlzLnNlbGVjdGVkRmxhZ1R5cGUuaGVhcmluZ1JlbGV2YW50IDogbnVsbCxcbiAgICAgIGZsYWdDb2RlOiB0aGlzLnNlbGVjdGVkRmxhZ1R5cGUgPyB0aGlzLnNlbGVjdGVkRmxhZ1R5cGUuZmxhZ0NvZGUgOiBudWxsLFxuICAgICAgLy8gSW5jbHVkZSB0aGUgXCJsaXN0IG9mIHZhbHVlc1wiIChpZiBhbnkpOyBjdXJyZW50bHkgYXBwbGljYWJsZSB0byBsYW5ndWFnZSBmbGFnIHR5cGVzXG4gICAgICBsaXN0T2ZWYWx1ZXM6IHRoaXMuc2VsZWN0ZWRGbGFnVHlwZSAmJiB0aGlzLnNlbGVjdGVkRmxhZ1R5cGUubGlzdE9mVmFsdWVzICYmIHRoaXMuc2VsZWN0ZWRGbGFnVHlwZS5saXN0T2ZWYWx1ZXMubGVuZ3RoID4gMFxuICAgICAgICA/IHRoaXMuc2VsZWN0ZWRGbGFnVHlwZS5saXN0T2ZWYWx1ZXNcbiAgICAgICAgOiBudWxsXG4gICAgfSk7XG4gICAgLy8gRW1pdCBcImZsYWcgY29tbWVudHMgb3B0aW9uYWxcIiBldmVudCBpZiB0aGUgdXNlciBzZWxlY3RzIGEgZmxhZyB0eXBlIHdoZXJlIGNvbW1lbnRzIGFyZSBub3QgbWFuZGF0b3J5XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRGbGFnVHlwZSAmJiAhdGhpcy5zZWxlY3RlZEZsYWdUeXBlLmZsYWdDb21tZW50KSB7XG4gICAgICB0aGlzLmZsYWdDb21tZW50c09wdGlvbmFsRW1pdHRlci5lbWl0KG51bGwpO1xuICAgIH1cbiAgICAvLyBJZiB0aGUgc2VsZWN0ZWQgZmxhZyB0eXBlIGlzIGEgcGFyZW50LCBsb2FkIHRoZSBsaXN0IG9mIGNoaWxkIGZsYWcgdHlwZXMgYW5kIHJlc2V0IHRoZSBjdXJyZW50IHNlbGVjdGlvblxuICAgIGlmICh0aGlzLnNlbGVjdGVkRmxhZ1R5cGUgJiYgdGhpcy5zZWxlY3RlZEZsYWdUeXBlLmlzUGFyZW50KSB7XG4gICAgICB0aGlzLmZsYWdUeXBlcyA9IHRoaXMuc2VsZWN0ZWRGbGFnVHlwZS5jaGlsZEZsYWdzO1xuICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuZmxhZ1R5cGVDb250cm9sTmFtZSkuc2V0VmFsdWUoJycpO1xuICAgICAgdGhpcy5zZWxlY3RlZEZsYWdUeXBlID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLmZsYWdUeXBlTm90U2VsZWN0ZWRFcnJvck1lc3NhZ2UgPSAnJztcbiAgICB0aGlzLmZsYWdUeXBlRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gW107XG5cbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWRGbGFnVHlwZSkge1xuICAgICAgdGhpcy5mbGFnVHlwZU5vdFNlbGVjdGVkRXJyb3JNZXNzYWdlID0gU2VsZWN0RmxhZ1R5cGVFcnJvck1lc3NhZ2UuRkxBR19UWVBFX05PVF9TRUxFQ1RFRDtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHsgdGl0bGU6ICcnLCBkZXNjcmlwdGlvbjogYCR7U2VsZWN0RmxhZ1R5cGVFcnJvck1lc3NhZ2UuRkxBR19UWVBFX05PVF9TRUxFQ1RFRH1gLCBmaWVsZElkOiAnY29uZGl0aW9uYWwtcmFkaW9zLWxpc3QnIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5vdGhlckZsYWdUeXBlU2VsZWN0ZWQpIHtcbiAgICAgIGNvbnN0IG90aGVyRmxhZ1R5cGVEZXNjcmlwdGlvbiA9IHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLmRlc2NyaXB0aW9uQ29udHJvbE5hbWUpLnZhbHVlO1xuICAgICAgaWYgKCFvdGhlckZsYWdUeXBlRGVzY3JpcHRpb24pIHtcbiAgICAgICAgdGhpcy5mbGFnVHlwZUVycm9yTWVzc2FnZSA9IFNlbGVjdEZsYWdUeXBlRXJyb3JNZXNzYWdlLkZMQUdfVFlQRV9OT1RfRU5URVJFRDtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goeyB0aXRsZTogJycsIGRlc2NyaXB0aW9uOiBgJHtTZWxlY3RGbGFnVHlwZUVycm9yTWVzc2FnZS5GTEFHX1RZUEVfTk9UX0VOVEVSRUR9YCwgZmllbGRJZDogJ290aGVyLWZsYWctdHlwZS1kZXNjcmlwdGlvbicgfSk7XG4gICAgICB9XG4gICAgICBpZiAob3RoZXJGbGFnVHlwZURlc2NyaXB0aW9uLmxlbmd0aCA+IHRoaXMubWF4Q2hhcmFjdGVyc0Zvck90aGVyRmxhZ1R5cGUpIHtcbiAgICAgICAgdGhpcy5mbGFnVHlwZUVycm9yTWVzc2FnZSA9IFNlbGVjdEZsYWdUeXBlRXJyb3JNZXNzYWdlLkZMQUdfVFlQRV9MSU1JVF9FWENFRURFRDtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goeyB0aXRsZTogJycsIGRlc2NyaXB0aW9uOiBgJHtTZWxlY3RGbGFnVHlwZUVycm9yTWVzc2FnZS5GTEFHX1RZUEVfTElNSVRfRVhDRUVERUR9YCwgZmllbGRJZDogJ290aGVyLWZsYWctdHlwZS1kZXNjcmlwdGlvbicgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvblJlZmRhdGFFcnJvcihlcnJvcjogYW55KTogdm9pZCB7XG4gICAgLy8gU2V0IGVycm9yIGZsYWcgb24gY29tcG9uZW50IHRvIHJlbW92ZSB0aGUgXCJOZXh0XCIgYnV0dG9uICh1c2VyIGNhbm5vdCBwcm9jZWVkIHdpdGggZmxhZyBjcmVhdGlvbilcbiAgICB0aGlzLnJlZmRhdGFFcnJvciA9IHRydWU7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gW107XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goeyB0aXRsZTogJycsIGRlc2NyaXB0aW9uOiBlcnJvci5tZXNzYWdlLCBmaWVsZElkOiAnY29uZGl0aW9uYWwtcmFkaW9zLWxpc3QnIH0pO1xuICAgIC8vIFJldHVybiBjYXNlIGZsYWcgZmllbGQgc3RhdGUgYW5kIGVycm9yIG1lc3NhZ2VzIHRvIHRoZSBwYXJlbnRcbiAgICB0aGlzLmNhc2VGbGFnU3RhdGVFbWl0dGVyLmVtaXQoeyBjdXJyZW50Q2FzZUZsYWdGaWVsZFN0YXRlOiBDYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19UWVBFLCBlcnJvck1lc3NhZ2VzOiB0aGlzLmVycm9yTWVzc2FnZXMgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBbbmdDbGFzc109XCJ7J2Zvcm0tZ3JvdXAtZXJyb3InOiBmbGFnVHlwZU5vdFNlbGVjdGVkRXJyb3JNZXNzYWdlLmxlbmd0aCA+IDB9XCI+XG4gICAgPGZpZWxkc2V0IGNsYXNzPVwiZ292dWstZmllbGRzZXRcIiBhcmlhLWRlc2NyaWJlZGJ5PVwiZmxhZy10eXBlLWhlYWRpbmdcIj5cbiAgICAgIDxsZWdlbmQgY2xhc3M9XCJnb3Z1ay1maWVsZHNldF9fbGVnZW5kIGdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLWxcIj5cbiAgICAgICAgPGgxIGlkPVwiZmxhZy10eXBlLWhlYWRpbmdcIiBjbGFzcz1cImdvdnVrLWZpZWxkc2V0X19oZWFkaW5nXCI+XG4gICAgICAgICAge3tjYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZS5TRUxFQ1RfQ0FTRV9GTEFHfX1cbiAgICAgICAgPC9oMT5cbiAgICAgIDwvbGVnZW5kPlxuICAgICAgPGRpdiBpZD1cImZsYWctdHlwZS1ub3Qtc2VsZWN0ZWQtZXJyb3ItbWVzc2FnZVwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICpuZ0lmPVwiZmxhZ1R5cGVOb3RTZWxlY3RlZEVycm9yTWVzc2FnZS5sZW5ndGggPiAwXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+RXJyb3I6PC9zcGFuPiB7e2ZsYWdUeXBlTm90U2VsZWN0ZWRFcnJvck1lc3NhZ2V9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zIGdvdnVrLXJhZGlvcy0tY29uZGl0aW9uYWxcIiBkYXRhLW1vZHVsZT1cImdvdnVrLXJhZGlvc1wiIGlkPVwiY29uZGl0aW9uYWwtcmFkaW9zLWxpc3RcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19faXRlbVwiICpuZ0Zvcj1cImxldCBmbGFnVHlwZSBvZiBmbGFnVHlwZXM7IGluZGV4IGFzIGlcIj5cbiAgICAgICAgICA8IS0tIEFsbCBwYXJlbnQgZmxhZyB0eXBlcyBoYXZlIHRoZSBzYW1lIGZsYWdDb2RlIG9mIFwiQ0FUR1JZXCIsIHNvIGVhY2ggcmFkaW8gYnV0dG9uIHZhbHVlIG5lZWRzIHRvIGJlIG1hZGVcbiAgICAgICAgICAgIHVuaXF1ZSBieSBhcHBlbmRpbmcgdGhlIGluZGV4IC0gcmFkaW8gYnV0dG9ucyBzaG91bGRuJ3Qgc2hhcmUgdGhlIHNhbWUgdmFsdWUuXG4gICAgICAgICAgICBJdCBpcyBPSyB0byBhbWVuZCBmbGFnQ29kZSB0aGlzIHdheSBiZWNhdXNlIHBhcmVudCBmbGFnIHR5cGVzIGNhbm5vdCBiZSBzZWxlY3RlZCBhcyBhIGZpbmFsIHZhbHVlIC0tPlxuICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLXJhZGlvc19faW5wdXRcIiBpZD1cImZsYWctdHlwZS17e2l9fVwiIFtuYW1lXT1cImZsYWdUeXBlQ29udHJvbE5hbWVcIlxuICAgICAgICAgICAgdHlwZT1cInJhZGlvXCIgW3ZhbHVlXT1cImZsYWdUeXBlLmZsYWdDb2RlID09PSAnQ0FUR1JZJyA/IGZsYWdUeXBlLmZsYWdDb2RlICsgaSA6IGZsYWdUeXBlLmZsYWdDb2RlXCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZmxhZ1R5cGVDb250cm9sTmFtZVwiIChjaGFuZ2UpPVwib25GbGFnVHlwZUNoYW5nZWQoZmxhZ1R5cGUpXCIvPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLXJhZGlvc19fbGFiZWxcIiBmb3I9XCJmbGFnLXR5cGUte3tpfX1cIj57e2ZsYWdUeXBlLm5hbWV9fTwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zX19jb25kaXRpb25hbFwiICpuZ0lmPVwib3RoZXJGbGFnVHlwZVNlbGVjdGVkXCIgaWQ9XCJjb25kaXRpb25hbC1mbGFnVHlwZVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCIgW25nQ2xhc3NdPVwieydmb3JtLWdyb3VwLWVycm9yJzogZmxhZ1R5cGVFcnJvck1lc3NhZ2UubGVuZ3RoID4gMH1cIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsXCIgZm9yPVwib3RoZXItZmxhZy10eXBlLWRlc2NyaXB0aW9uXCI+RW50ZXIgYSBmbGFnIHR5cGU8L2xhYmVsPlxuICAgICAgICAgICAgPGRpdiBpZD1cImZsYWctdHlwZS1lcnJvci1tZXNzYWdlXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJmbGFnVHlwZUVycm9yTWVzc2FnZS5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+RXJyb3I6PC9zcGFuPiB7e2ZsYWdUeXBlRXJyb3JNZXNzYWdlfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstaW5wdXQgZ292dWstIS13aWR0aC1vbmUtaGFsZlwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnZ292dWstaW5wdXQtLWVycm9yJzogZmxhZ1R5cGVFcnJvck1lc3NhZ2UubGVuZ3RoID4gMH1cIlxuICAgICAgICAgICAgICBpZD1cIm90aGVyLWZsYWctdHlwZS1kZXNjcmlwdGlvblwiIFtuYW1lXT1cImRlc2NyaXB0aW9uQ29udHJvbE5hbWVcIiB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZGVzY3JpcHRpb25Db250cm9sTmFtZVwiLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2ZpZWxkc2V0PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWJ1dHRvbi1ncm91cFwiICpuZ0lmPVwiIXJlZmRhdGFFcnJvclwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJidXR0b24gYnV0dG9uLXByaW1hcnlcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uTmV4dCgpXCI+TmV4dDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,5 +1,5 @@
1
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { FormControl, UntypedFormGroup } from '@angular/forms';
2
+ import { FormControl, FormGroup } from '@angular/forms';
3
3
  import { CaseFlagFieldState, CaseFlagStatus, CaseFlagWizardStepTitle, UpdateFlagErrorMessage, UpdateFlagStep } from '../../enums';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/common";
@@ -172,4 +172,4 @@ UpdateFlagComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UpdateF
172
172
  }], caseFlagStateEmitter: [{
173
173
  type: Output
174
174
  }] }); })();
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWZsYWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvdXBkYXRlLWZsYWcvdXBkYXRlLWZsYWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvdXBkYXRlLWZsYWcvdXBkYXRlLWZsYWcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSx1QkFBdUIsRUFBRSxzQkFBc0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7O0lDTTVILCtCQUMyQyxlQUFBO0lBQ0wsc0JBQU07SUFBQSxpQkFBTztJQUFDLFlBQ3BEO0lBQUEsaUJBQU07OztJQUQ4QyxlQUNwRDtJQURvRCx3RUFDcEQ7OztJQUNBLCtCQUMwQyxlQUFBO0lBQ0osc0JBQU07SUFBQSxpQkFBTztJQUFDLFlBQ3BEO0lBQUEsaUJBQU07OztJQUQ4QyxlQUNwRDtJQURvRCx1RUFDcEQ7Ozs7SUFxQkEsa0NBQXVKO0lBQWpHLG9LQUFTLGVBQUEsdUJBQWdCLENBQUEsSUFBQztJQUM5RSwrQkFDRjtJQUFBLGlCQUFTOzs7O0FEOUJmLE1BQU0sT0FBTyxtQkFBbUI7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QUE7UUFFRixhQUNGO1FBQUEsaUJBQVMsRUFBQSxFQUFBLEVBQUE7UUFJZixnQ0FBd0M7UUFDdEMsNkVBRVM7UUFDWCxpQkFBTSxFQUFBO1FBRVIsZ0NBQWdDLGtCQUFBO1FBQ3NCLGlHQUFTLFlBQVEsSUFBQztRQUFDLHFCQUFJO1FBQUEsaUJBQVMsRUFBQSxFQUFBOztRQTVDaEUseUNBQXVCO1FBRWIsZUFBMEQ7UUFBMUQsbUZBQTBEO1FBQ1osZUFBNkI7UUFBN0IsK0NBQTZCO1FBQ25HLGVBQ0Y7UUFERSxvREFDRjtRQUdBLGVBQ0Y7UUFERSxtREFDRjtRQUVHLGVBQXNDO1FBQXRDLDJEQUFzQztRQUl0QyxlQUFxQztRQUFyQywwREFBcUM7UUFHUCxlQUE0QjtRQUE1Qiw4Q0FBNEIsbUNBQUEsOENBQUE7UUFLM0QsZUFDRjtRQURFLDREQUNGO1FBTzhCLGVBQWdHO1FBQWhHLDBIQUFnRztRQUN4SCxlQUNGO1FBREUscUZBQ0Y7UUFLOEUsZUFBbUU7UUFBbkUsd0ZBQW1FOzt1RkQ1QjlJLG1CQUFtQjtjQUovQixTQUFTOzJCQUNFLGlCQUFpQjtnQkFLWCxTQUFTO2tCQUF4QixLQUFLO1lBQ1UsWUFBWTtrQkFBM0IsS0FBSztZQUVXLG9CQUFvQjtrQkFBcEMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VGbGFnU3RhdGUsIEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGggfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZUZsYWdGaWVsZFN0YXRlLCBDYXNlRmxhZ1N0YXR1cywgQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGUsIFVwZGF0ZUZsYWdFcnJvck1lc3NhZ2UsIFVwZGF0ZUZsYWdTdGVwIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtdXBkYXRlLWZsYWcnLFxuICB0ZW1wbGF0ZVVybDogJy4vdXBkYXRlLWZsYWcuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFVwZGF0ZUZsYWdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZWxlY3RlZEZsYWc6IEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGg7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBjYXNlRmxhZ1N0YXRlRW1pdHRlcjogRXZlbnRFbWl0dGVyPENhc2VGbGFnU3RhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxDYXNlRmxhZ1N0YXRlPigpO1xuXG4gIHB1YmxpYyB1cGRhdGVGbGFnVGl0bGUgPSAnJztcbiAgcHVibGljIGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZVtdID0gW107XG4gIHB1YmxpYyB1cGRhdGVGbGFnTm90RW50ZXJlZEVycm9yTWVzc2FnZTogVXBkYXRlRmxhZ0Vycm9yTWVzc2FnZSA9IG51bGw7XG4gIHB1YmxpYyB1cGRhdGVGbGFnQ2hhckxpbWl0RXJyb3JNZXNzYWdlOiBVcGRhdGVGbGFnRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgcHVibGljIHVwZGF0ZUZsYWdIaW50OiBVcGRhdGVGbGFnU3RlcDtcbiAgcHVibGljIHVwZGF0ZUZsYWdDaGFyTGltaXRJbmZvOiBVcGRhdGVGbGFnU3RlcDtcbiAgcHVibGljIHJlYWRvbmx5IHVwZGF0ZUZsYWdDb250cm9sTmFtZSA9ICdmbGFnQ29tbWVudHMnO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbW1lbnRzTWF4Q2hhckxpbWl0ID0gMjAwO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUZsYWdIaW50ID0gVXBkYXRlRmxhZ1N0ZXAuSElOVF9URVhUO1xuICAgIHRoaXMudXBkYXRlRmxhZ0NoYXJMaW1pdEluZm8gPSBVcGRhdGVGbGFnU3RlcC5DSEFSQUNURVJfTElNSVRfSU5GTztcbiAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKHRoaXMudXBkYXRlRmxhZ0NvbnRyb2xOYW1lLCBuZXcgRm9ybUNvbnRyb2woJycpKTtcblxuICAgIGlmICh0aGlzLnNlbGVjdGVkRmxhZyAmJiB0aGlzLnNlbGVjdGVkRmxhZy5mbGFnRGV0YWlsRGlzcGxheSAmJiB0aGlzLnNlbGVjdGVkRmxhZy5mbGFnRGV0YWlsRGlzcGxheS5mbGFnRGV0YWlsKSB7XG4gICAgICBjb25zdCBmbGFnRGV0YWlsID0gdGhpcy5zZWxlY3RlZEZsYWcuZmxhZ0RldGFpbERpc3BsYXkuZmxhZ0RldGFpbDtcbiAgICAgIC8vIFBvcHVsYXRlIGZsYWcgY29tbWVudHMgdGV4dCBhcmVhIHdpdGggZXhpc3RpbmcgY29tbWVudHNcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnVwZGF0ZUZsYWdDb250cm9sTmFtZSkuc2V0VmFsdWUoZmxhZ0RldGFpbC5mbGFnQ29tbWVudCk7XG4gICAgICBpZiAoZmxhZ0RldGFpbC5uYW1lKSB7XG4gICAgICAgIHRoaXMudXBkYXRlRmxhZ1RpdGxlID1cbiAgICAgICAgICBgJHtDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZS5VUERBVEVfRkxBR19USVRMRX0gXCIke2ZsYWdEZXRhaWwubmFtZX0ke2ZsYWdEZXRhaWwuc3ViVHlwZVZhbHVlXG4gICAgICAgICAgICA/IGAsICR7ZmxhZ0RldGFpbC5zdWJUeXBlVmFsdWV9XCJgXG4gICAgICAgICAgICA6ICdcIid9YDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25OZXh0KCk6IHZvaWQge1xuICAgIC8vIFZhbGlkYXRlIGZsYWcgY29tbWVudHMgZW50cnlcbiAgICB0aGlzLnZhbGlkYXRlVGV4dEVudHJ5KCk7XG4gICAgLy8gSWYgdmFsaWRhdGlvbiBoYXMgcGFzc2VkLCB1cGRhdGUgdGhlIGZsYWcgZGV0YWlscyB3aXRoIHRoZSBjb21tZW50cyBlbnRlcmVkXG4gICAgaWYgKHRoaXMuZXJyb3JNZXNzYWdlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRGbGFnLmZsYWdEZXRhaWxEaXNwbGF5LmZsYWdEZXRhaWwgPSB7XG4gICAgICAgIC4uLnRoaXMuc2VsZWN0ZWRGbGFnLmZsYWdEZXRhaWxEaXNwbGF5LmZsYWdEZXRhaWwsIGZsYWdDb21tZW50OiB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy51cGRhdGVGbGFnQ29udHJvbE5hbWUpLnZhbHVlXG4gICAgICB9O1xuICAgIH1cbiAgICAvLyBSZXR1cm4gY2FzZSBmbGFnIGZpZWxkIHN0YXRlLCBlcnJvciBtZXNzYWdlcywgYW5kIHNlbGVjdGVkIGZsYWcgZGV0YWlsIHRvIHRoZSBwYXJlbnQuIFRoZSBzZWxlY3RlZCBmbGFnIG11c3QgYmVcbiAgICAvLyByZS1lbWl0dGVkIGJlY2F1c2UgdGhlIHBhcmVudCBjb21wb25lbnQgcmVwb3B1bGF0ZXMgdGhpcyBvbiBoYW5kbGluZyB0aGlzIEV2ZW50RW1pdHRlclxuICAgIHRoaXMuY2FzZUZsYWdTdGF0ZUVtaXR0ZXIuZW1pdCh7XG4gICAgICBjdXJyZW50Q2FzZUZsYWdGaWVsZFN0YXRlOiBDYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19VUERBVEUsXG4gICAgICBlcnJvck1lc3NhZ2VzOiB0aGlzLmVycm9yTWVzc2FnZXMsXG4gICAgICBzZWxlY3RlZEZsYWc6IHRoaXMuc2VsZWN0ZWRGbGFnXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25DaGFuZ2VTdGF0dXMoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZEZsYWcuZmxhZ0RldGFpbERpc3BsYXkuZmxhZ0RldGFpbCA9IHtcbiAgICAgIC4uLnRoaXMuc2VsZWN0ZWRGbGFnLmZsYWdEZXRhaWxEaXNwbGF5LmZsYWdEZXRhaWwsXG4gICAgICBzdGF0dXM6IHRoaXMuc2VsZWN0ZWRGbGFnLmZsYWdEZXRhaWxEaXNwbGF5LmZsYWdEZXRhaWwuc3RhdHVzID09PSBDYXNlRmxhZ1N0YXR1cy5BQ1RJVkVcbiAgICAgICAgPyBDYXNlRmxhZ1N0YXR1cy5JTkFDVElWRVxuICAgICAgICA6IHRoaXMuc2VsZWN0ZWRGbGFnLmZsYWdEZXRhaWxEaXNwbGF5LmZsYWdEZXRhaWwuc3RhdHVzXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVUZXh0RW50cnkoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVGbGFnTm90RW50ZXJlZEVycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgdGhpcy51cGRhdGVGbGFnQ2hhckxpbWl0RXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcbiAgICBjb25zdCBjb21tZW50ID0gdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMudXBkYXRlRmxhZ0NvbnRyb2xOYW1lKS52YWx1ZTtcbiAgICBpZiAoIWNvbW1lbnQpIHtcbiAgICAgIHRoaXMudXBkYXRlRmxhZ05vdEVudGVyZWRFcnJvck1lc3NhZ2UgPSBVcGRhdGVGbGFnRXJyb3JNZXNzYWdlLkZMQUdfQ09NTUVOVFNfTk9UX0VOVEVSRUQ7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IFVwZGF0ZUZsYWdFcnJvck1lc3NhZ2UuRkxBR19DT01NRU5UU19OT1RfRU5URVJFRCxcbiAgICAgICAgZmllbGRJZDogdGhpcy51cGRhdGVGbGFnQ29udHJvbE5hbWVcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoY29tbWVudCAmJiBjb21tZW50Lmxlbmd0aCA+IHRoaXMuY29tbWVudHNNYXhDaGFyTGltaXQpIHtcbiAgICAgIHRoaXMudXBkYXRlRmxhZ0NoYXJMaW1pdEVycm9yTWVzc2FnZSA9IFVwZGF0ZUZsYWdFcnJvck1lc3NhZ2UuRkxBR19DT01NRU5UU19DSEFSX0xJTUlUX0VYQ0VFREVEO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICB0aXRsZTogJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBVcGRhdGVGbGFnRXJyb3JNZXNzYWdlLkZMQUdfQ09NTUVOVFNfQ0hBUl9MSU1JVF9FWENFRURFRCxcbiAgICAgICAgZmllbGRJZDogdGhpcy51cGRhdGVGbGFnQ29udHJvbE5hbWVcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstY2hhcmFjdGVyLWNvdW50XCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1jaGFyYWN0ZXItY291bnRcIiBkYXRhLW1heGxlbmd0aD1cIjIwMFwiPlxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCIgW25nQ2xhc3NdPVwieydmb3JtLWdyb3VwLWVycm9yJzogZXJyb3JNZXNzYWdlcy5sZW5ndGggPiAwfVwiPlxuICAgICAgPGgxIGNsYXNzPVwiZ292dWstbGFiZWwtd3JhcHBlclwiPjxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWxhYmVsLS1sXCIgW2Zvcl09XCJ1cGRhdGVGbGFnQ29udHJvbE5hbWVcIj5cbiAgICAgICAgICB7e3VwZGF0ZUZsYWdUaXRsZX19XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICA8L2gxPlxuICAgICAgPGRpdiBpZD1cInVwZGF0ZS1mbGFnLWhpbnRcIiBjbGFzcz1cImdvdnVrLWhpbnRcIj5cbiAgICAgICAge3t1cGRhdGVGbGFnSGludH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgaWQ9XCJ1cGRhdGUtZmxhZy1ub3QtZW50ZXJlZC1lcnJvci1tZXNzYWdlXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCJcbiAgICAgICAgKm5nSWY9XCJ1cGRhdGVGbGFnTm90RW50ZXJlZEVycm9yTWVzc2FnZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPkVycm9yOjwvc3Bhbj4ge3t1cGRhdGVGbGFnTm90RW50ZXJlZEVycm9yTWVzc2FnZX19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgaWQ9XCJ1cGRhdGUtZmxhZy1jaGFyLWxpbWl0LWVycm9yXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCJcbiAgICAgICAgKm5nSWY9XCJ1cGRhdGVGbGFnQ2hhckxpbWl0RXJyb3JNZXNzYWdlXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+RXJyb3I6PC9zcGFuPiB7e3VwZGF0ZUZsYWdDaGFyTGltaXRFcnJvck1lc3NhZ2V9fVxuICAgICAgPC9kaXY+XG4gICAgICA8dGV4dGFyZWEgY2xhc3M9XCJnb3Z1ay10ZXh0YXJlYVwiIFtpZF09XCJ1cGRhdGVGbGFnQ29udHJvbE5hbWVcIlxuICAgICAgICBbbmFtZV09XCJ1cGRhdGVGbGFnQ29udHJvbE5hbWVcIiBbZm9ybUNvbnRyb2xOYW1lXT1cInVwZGF0ZUZsYWdDb250cm9sTmFtZVwiIHJvd3M9XCI1XCJcbiAgICAgICAgYXJpYS1kZXNjcmliZWRieT1cInVwZGF0ZS1mbGFnLWhpbnQgdXBkYXRlLWZsYWctY2hhci1saW1pdC1pbmZvIHVwZGF0ZS1mbGFnLWNoYXItbGltaXQtZXJyb3JcIj5cbiAgICAgIDwvdGV4dGFyZWE+XG4gICAgICA8ZGl2IGlkPVwidXBkYXRlLWZsYWctY2hhci1saW1pdC1pbmZvXCIgY2xhc3M9XCJnb3Z1ay1oaW50IGdvdnVrLWNoYXJhY3Rlci1jb3VudF9fbWVzc2FnZVwiIGFyaWEtbGl2ZT1cInBvbGl0ZVwiPlxuICAgICAgICB7e3VwZGF0ZUZsYWdDaGFyTGltaXRJbmZvfX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtcm93XCI+XG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtY29sdW1uLW9uZS1oYWxmXCI+XG4gICAgICA8cD5GbGFnIHN0YXR1czpcbiAgICAgICAgPHNwYW4+XG4gICAgICAgICAgPHN0cm9uZyBjbGFzcz1cImdvdnVrLXRhZ1wiIFtuZ0NsYXNzXT1cInsnZ292dWstdGFnLS1ncmV5Jzogc2VsZWN0ZWRGbGFnLmZsYWdEZXRhaWxEaXNwbGF5LmZsYWdEZXRhaWwuc3RhdHVzID09PSAnSW5hY3RpdmUnfVwiPlxuICAgICAgICAgICAge3tzZWxlY3RlZEZsYWcuZmxhZ0RldGFpbERpc3BsYXkuZmxhZ0RldGFpbC5zdGF0dXN9fVxuICAgICAgICAgIDwvc3Ryb25nPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L3A+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtY29sdW1uLW9uZS1oYWxmXCI+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnlcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uQ2hhbmdlU3RhdHVzKClcIiAqbmdJZj1cInNlbGVjdGVkRmxhZy5mbGFnRGV0YWlsRGlzcGxheS5mbGFnRGV0YWlsLnN0YXR1cyA9PT0gJ0FjdGl2ZSdcIj5cbiAgICAgICAgTWFrZSBpbmFjdGl2ZVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZ292dWstYnV0dG9uLWdyb3VwXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiBidXR0b24tcHJpbWFyeVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib25OZXh0KClcIj5OZXh0PC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWZsYWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvdXBkYXRlLWZsYWcvdXBkYXRlLWZsYWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvdXBkYXRlLWZsYWcvdXBkYXRlLWZsYWcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsdUJBQXVCLEVBQUUsc0JBQXNCLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7OztJQ001SCwrQkFDMkMsZUFBQTtJQUNMLHNCQUFNO0lBQUEsaUJBQU87SUFBQyxZQUNwRDtJQUFBLGlCQUFNOzs7SUFEOEMsZUFDcEQ7SUFEb0Qsd0VBQ3BEOzs7SUFDQSwrQkFDMEMsZUFBQTtJQUNKLHNCQUFNO0lBQUEsaUJBQU87SUFBQyxZQUNwRDtJQUFBLGlCQUFNOzs7SUFEOEMsZUFDcEQ7SUFEb0QsdUVBQ3BEOzs7O0lBcUJBLGtDQUF1SjtJQUFqRyxvS0FBUyxlQUFBLHVCQUFnQixDQUFBLElBQUM7SUFDOUUsK0JBQ0Y7SUFBQSxpQkFBUzs7OztBRDlCZixNQUFNLE9BQU8sbUJBQW1CO0lB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O1FBRUYsYUFDRjtRQUFBLGlCQUFTLEVBQUEsRUFBQSxFQUFBO1FBSWYsZ0NBQXdDO1FBQ3RDLDZFQUVTO1FBQ1gsaUJBQU0sRUFBQTtRQUVSLGdDQUFnQyxrQkFBQTtRQUNzQixpR0FBUyxZQUFRLElBQUM7UUFBQyxxQkFBSTtRQUFBLGlCQUFTLEVBQUEsRUFBQTs7UUE1Q2hFLHlDQUF1QjtRQUViLGVBQTBEO1FBQTFELG1GQUEwRDtRQUNaLGVBQTZCO1FBQTdCLCtDQUE2QjtRQUNuRyxlQUNGO1FBREUsb0RBQ0Y7UUFHQSxlQUNGO1FBREUsbURBQ0Y7UUFFRyxlQUFzQztRQUF0QywyREFBc0M7UUFJdEMsZUFBcUM7UUFBckMsMERBQXFDO1FBR1AsZUFBNEI7UUFBNUIsOENBQTRCLG1DQUFBLDhDQUFBO1FBSzNELGVBQ0Y7UUFERSw0REFDRjtRQU84QixlQUFnRztRQUFoRywwSEFBZ0c7UUFDeEgsZUFDRjtRQURFLHFGQUNGO1FBSzhFLGVBQW1FO1FBQW5FLHdGQUFtRTs7dUZENUI5SSxtQkFBbUI7Y0FKL0IsU0FBUzsyQkFDRSxpQkFBaUI7Z0JBS1gsU0FBUztrQkFBeEIsS0FBSztZQUNVLFlBQVk7a0JBQTNCLEtBQUs7WUFFVyxvQkFBb0I7a0JBQXBDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VGbGFnU3RhdGUsIEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGggfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZUZsYWdGaWVsZFN0YXRlLCBDYXNlRmxhZ1N0YXR1cywgQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGUsIFVwZGF0ZUZsYWdFcnJvck1lc3NhZ2UsIFVwZGF0ZUZsYWdTdGVwIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtdXBkYXRlLWZsYWcnLFxuICB0ZW1wbGF0ZVVybDogJy4vdXBkYXRlLWZsYWcuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFVwZGF0ZUZsYWdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgcHVibGljIHNlbGVjdGVkRmxhZzogRmxhZ0RldGFpbERpc3BsYXlXaXRoRm9ybUdyb3VwUGF0aDtcblxuICBAT3V0cHV0KCkgcHVibGljIGNhc2VGbGFnU3RhdGVFbWl0dGVyOiBFdmVudEVtaXR0ZXI8Q2FzZUZsYWdTdGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPENhc2VGbGFnU3RhdGU+KCk7XG5cbiAgcHVibGljIHVwZGF0ZUZsYWdUaXRsZSA9ICcnO1xuICBwdWJsaWMgZXJyb3JNZXNzYWdlczogRXJyb3JNZXNzYWdlW10gPSBbXTtcbiAgcHVibGljIHVwZGF0ZUZsYWdOb3RFbnRlcmVkRXJyb3JNZXNzYWdlOiBVcGRhdGVGbGFnRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgcHVibGljIHVwZGF0ZUZsYWdDaGFyTGltaXRFcnJvck1lc3NhZ2U6IFVwZGF0ZUZsYWdFcnJvck1lc3NhZ2UgPSBudWxsO1xuICBwdWJsaWMgdXBkYXRlRmxhZ0hpbnQ6IFVwZGF0ZUZsYWdTdGVwO1xuICBwdWJsaWMgdXBkYXRlRmxhZ0NoYXJMaW1pdEluZm86IFVwZGF0ZUZsYWdTdGVwO1xuICBwdWJsaWMgcmVhZG9ubHkgdXBkYXRlRmxhZ0NvbnRyb2xOYW1lID0gJ2ZsYWdDb21tZW50cyc7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29tbWVudHNNYXhDaGFyTGltaXQgPSAyMDA7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlRmxhZ0hpbnQgPSBVcGRhdGVGbGFnU3RlcC5ISU5UX1RFWFQ7XG4gICAgdGhpcy51cGRhdGVGbGFnQ2hhckxpbWl0SW5mbyA9IFVwZGF0ZUZsYWdTdGVwLkNIQVJBQ1RFUl9MSU1JVF9JTkZPO1xuICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2wodGhpcy51cGRhdGVGbGFnQ29udHJvbE5hbWUsIG5ldyBGb3JtQ29udHJvbCgnJykpO1xuXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRGbGFnICYmIHRoaXMuc2VsZWN0ZWRGbGFnLmZsYWdEZXRhaWxEaXNwbGF5ICYmIHRoaXMuc2VsZWN0ZWRGbGFnLmZsYWdEZXRhaWxEaXNwbGF5LmZsYWdEZXRhaWwpIHtcbiAgICAgIGNvbnN0IGZsYWdEZXRhaWwgPSB0aGlzLnNlbGVjdGVkRmxhZy5mbGFnRGV0YWlsRGlzcGxheS5mbGFnRGV0YWlsO1xuICAgICAgLy8gUG9wdWxhdGUgZmxhZyBjb21tZW50cyB0ZXh0IGFyZWEgd2l0aCBleGlzdGluZyBjb21tZW50c1xuICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMudXBkYXRlRmxhZ0NvbnRyb2xOYW1lKS5zZXRWYWx1ZShmbGFnRGV0YWlsLmZsYWdDb21tZW50KTtcbiAgICAgIGlmIChmbGFnRGV0YWlsLm5hbWUpIHtcbiAgICAgICAgdGhpcy51cGRhdGVGbGFnVGl0bGUgPVxuICAgICAgICAgIGAke0Nhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLlVQREFURV9GTEFHX1RJVExFfSBcIiR7ZmxhZ0RldGFpbC5uYW1lfSR7ZmxhZ0RldGFpbC5zdWJUeXBlVmFsdWVcbiAgICAgICAgICAgID8gYCwgJHtmbGFnRGV0YWlsLnN1YlR5cGVWYWx1ZX1cImBcbiAgICAgICAgICAgIDogJ1wiJ31gO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbk5leHQoKTogdm9pZCB7XG4gICAgLy8gVmFsaWRhdGUgZmxhZyBjb21tZW50cyBlbnRyeVxuICAgIHRoaXMudmFsaWRhdGVUZXh0RW50cnkoKTtcbiAgICAvLyBJZiB2YWxpZGF0aW9uIGhhcyBwYXNzZWQsIHVwZGF0ZSB0aGUgZmxhZyBkZXRhaWxzIHdpdGggdGhlIGNvbW1lbnRzIGVudGVyZWRcbiAgICBpZiAodGhpcy5lcnJvck1lc3NhZ2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5zZWxlY3RlZEZsYWcuZmxhZ0RldGFpbERpc3BsYXkuZmxhZ0RldGFpbCA9IHtcbiAgICAgICAgLi4udGhpcy5zZWxlY3RlZEZsYWcuZmxhZ0RldGFpbERpc3BsYXkuZmxhZ0RldGFpbCwgZmxhZ0NvbW1lbnQ6IHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnVwZGF0ZUZsYWdDb250cm9sTmFtZSkudmFsdWVcbiAgICAgIH07XG4gICAgfVxuICAgIC8vIFJldHVybiBjYXNlIGZsYWcgZmllbGQgc3RhdGUsIGVycm9yIG1lc3NhZ2VzLCBhbmQgc2VsZWN0ZWQgZmxhZyBkZXRhaWwgdG8gdGhlIHBhcmVudC4gVGhlIHNlbGVjdGVkIGZsYWcgbXVzdCBiZVxuICAgIC8vIHJlLWVtaXR0ZWQgYmVjYXVzZSB0aGUgcGFyZW50IGNvbXBvbmVudCByZXBvcHVsYXRlcyB0aGlzIG9uIGhhbmRsaW5nIHRoaXMgRXZlbnRFbWl0dGVyXG4gICAgdGhpcy5jYXNlRmxhZ1N0YXRlRW1pdHRlci5lbWl0KHtcbiAgICAgIGN1cnJlbnRDYXNlRmxhZ0ZpZWxkU3RhdGU6IENhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX1VQREFURSxcbiAgICAgIGVycm9yTWVzc2FnZXM6IHRoaXMuZXJyb3JNZXNzYWdlcyxcbiAgICAgIHNlbGVjdGVkRmxhZzogdGhpcy5zZWxlY3RlZEZsYWdcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNoYW5nZVN0YXR1cygpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkRmxhZy5mbGFnRGV0YWlsRGlzcGxheS5mbGFnRGV0YWlsID0ge1xuICAgICAgLi4udGhpcy5zZWxlY3RlZEZsYWcuZmxhZ0RldGFpbERpc3BsYXkuZmxhZ0RldGFpbCxcbiAgICAgIHN0YXR1czogdGhpcy5zZWxlY3RlZEZsYWcuZmxhZ0RldGFpbERpc3BsYXkuZmxhZ0RldGFpbC5zdGF0dXMgPT09IENhc2VGbGFnU3RhdHVzLkFDVElWRVxuICAgICAgICA/IENhc2VGbGFnU3RhdHVzLklOQUNUSVZFXG4gICAgICAgIDogdGhpcy5zZWxlY3RlZEZsYWcuZmxhZ0RldGFpbERpc3BsYXkuZmxhZ0RldGFpbC5zdGF0dXNcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVRleHRFbnRyeSgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUZsYWdOb3RFbnRlcmVkRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICB0aGlzLnVwZGF0ZUZsYWdDaGFyTGltaXRFcnJvck1lc3NhZ2UgPSBudWxsO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuICAgIGNvbnN0IGNvbW1lbnQgPSB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy51cGRhdGVGbGFnQ29udHJvbE5hbWUpLnZhbHVlO1xuICAgIGlmICghY29tbWVudCkge1xuICAgICAgdGhpcy51cGRhdGVGbGFnTm90RW50ZXJlZEVycm9yTWVzc2FnZSA9IFVwZGF0ZUZsYWdFcnJvck1lc3NhZ2UuRkxBR19DT01NRU5UU19OT1RfRU5URVJFRDtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogVXBkYXRlRmxhZ0Vycm9yTWVzc2FnZS5GTEFHX0NPTU1FTlRTX05PVF9FTlRFUkVELFxuICAgICAgICBmaWVsZElkOiB0aGlzLnVwZGF0ZUZsYWdDb250cm9sTmFtZVxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChjb21tZW50ICYmIGNvbW1lbnQubGVuZ3RoID4gdGhpcy5jb21tZW50c01heENoYXJMaW1pdCkge1xuICAgICAgdGhpcy51cGRhdGVGbGFnQ2hhckxpbWl0RXJyb3JNZXNzYWdlID0gVXBkYXRlRmxhZ0Vycm9yTWVzc2FnZS5GTEFHX0NPTU1FTlRTX0NIQVJfTElNSVRfRVhDRUVERUQ7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IFVwZGF0ZUZsYWdFcnJvck1lc3NhZ2UuRkxBR19DT01NRU5UU19DSEFSX0xJTUlUX0VYQ0VFREVELFxuICAgICAgICBmaWVsZElkOiB0aGlzLnVwZGF0ZUZsYWdDb250cm9sTmFtZVxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1jaGFyYWN0ZXItY291bnRcIiBkYXRhLW1vZHVsZT1cImdvdnVrLWNoYXJhY3Rlci1jb3VudFwiIGRhdGEtbWF4bGVuZ3RoPVwiMjAwXCI+XG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBbbmdDbGFzc109XCJ7J2Zvcm0tZ3JvdXAtZXJyb3InOiBlcnJvck1lc3NhZ2VzLmxlbmd0aCA+IDB9XCI+XG4gICAgICA8aDEgY2xhc3M9XCJnb3Z1ay1sYWJlbC13cmFwcGVyXCI+PGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstbGFiZWwtLWxcIiBbZm9yXT1cInVwZGF0ZUZsYWdDb250cm9sTmFtZVwiPlxuICAgICAgICAgIHt7dXBkYXRlRmxhZ1RpdGxlfX1cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgIDwvaDE+XG4gICAgICA8ZGl2IGlkPVwidXBkYXRlLWZsYWctaGludFwiIGNsYXNzPVwiZ292dWstaGludFwiPlxuICAgICAgICB7e3VwZGF0ZUZsYWdIaW50fX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBpZD1cInVwZGF0ZS1mbGFnLW5vdC1lbnRlcmVkLWVycm9yLW1lc3NhZ2VcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAqbmdJZj1cInVwZGF0ZUZsYWdOb3RFbnRlcmVkRXJyb3JNZXNzYWdlXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+RXJyb3I6PC9zcGFuPiB7e3VwZGF0ZUZsYWdOb3RFbnRlcmVkRXJyb3JNZXNzYWdlfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBpZD1cInVwZGF0ZS1mbGFnLWNoYXItbGltaXQtZXJyb3JcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAqbmdJZj1cInVwZGF0ZUZsYWdDaGFyTGltaXRFcnJvck1lc3NhZ2VcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj5FcnJvcjo8L3NwYW4+IHt7dXBkYXRlRmxhZ0NoYXJMaW1pdEVycm9yTWVzc2FnZX19XG4gICAgICA8L2Rpdj5cbiAgICAgIDx0ZXh0YXJlYSBjbGFzcz1cImdvdnVrLXRleHRhcmVhXCIgW2lkXT1cInVwZGF0ZUZsYWdDb250cm9sTmFtZVwiXG4gICAgICAgIFtuYW1lXT1cInVwZGF0ZUZsYWdDb250cm9sTmFtZVwiIFtmb3JtQ29udHJvbE5hbWVdPVwidXBkYXRlRmxhZ0NvbnRyb2xOYW1lXCIgcm93cz1cIjVcIlxuICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PVwidXBkYXRlLWZsYWctaGludCB1cGRhdGUtZmxhZy1jaGFyLWxpbWl0LWluZm8gdXBkYXRlLWZsYWctY2hhci1saW1pdC1lcnJvclwiPlxuICAgICAgPC90ZXh0YXJlYT5cbiAgICAgIDxkaXYgaWQ9XCJ1cGRhdGUtZmxhZy1jaGFyLWxpbWl0LWluZm9cIiBjbGFzcz1cImdvdnVrLWhpbnQgZ292dWstY2hhcmFjdGVyLWNvdW50X19tZXNzYWdlXCIgYXJpYS1saXZlPVwicG9saXRlXCI+XG4gICAgICAgIHt7dXBkYXRlRmxhZ0NoYXJMaW1pdEluZm99fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1yb3dcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1jb2x1bW4tb25lLWhhbGZcIj5cbiAgICAgIDxwPkZsYWcgc3RhdHVzOlxuICAgICAgICA8c3Bhbj5cbiAgICAgICAgICA8c3Ryb25nIGNsYXNzPVwiZ292dWstdGFnXCIgW25nQ2xhc3NdPVwieydnb3Z1ay10YWctLWdyZXknOiBzZWxlY3RlZEZsYWcuZmxhZ0RldGFpbERpc3BsYXkuZmxhZ0RldGFpbC5zdGF0dXMgPT09ICdJbmFjdGl2ZSd9XCI+XG4gICAgICAgICAgICB7e3NlbGVjdGVkRmxhZy5mbGFnRGV0YWlsRGlzcGxheS5mbGFnRGV0YWlsLnN0YXR1c319XG4gICAgICAgICAgPC9zdHJvbmc+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvcD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1jb2x1bW4tb25lLWhhbGZcIj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJidXR0b24gYnV0dG9uLXNlY29uZGFyeVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib25DaGFuZ2VTdGF0dXMoKVwiICpuZ0lmPVwic2VsZWN0ZWRGbGFnLmZsYWdEZXRhaWxEaXNwbGF5LmZsYWdEZXRhaWwuc3RhdHVzID09PSAnQWN0aXZlJ1wiPlxuICAgICAgICBNYWtlIGluYWN0aXZlXG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1idXR0b24tZ3JvdXBcIj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1wcmltYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbk5leHQoKVwiPk5leHQ8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1mbGFnLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2RvbWFpbi9jYXNlLWZsYWcubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhc2VGaWVsZCB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxhZ1BhdGgge1xuICBpZD86IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGbGFnRGV0YWlsIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgc3ViVHlwZVZhbHVlPzogc3RyaW5nO1xuICBzdWJUeXBlS2V5Pzogc3RyaW5nO1xuICBvdGhlckRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBmbGFnQ29tbWVudD86IHN0cmluZztcbiAgZGF0ZVRpbWVNb2RpZmllZD86IERhdGUgfCBzdHJpbmc7XG4gIGRhdGVUaW1lQ3JlYXRlZDogRGF0ZSB8IHN0cmluZztcbiAgcGF0aDogRmxhZ1BhdGhbXTtcbiAgaGVhcmluZ1JlbGV2YW50OiBib29sZWFuIHwgc3RyaW5nO1xuICBmbGFnQ29kZTogc3RyaW5nO1xuICBzdGF0dXM6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGbGFncyB7XG4gIC8vIFRoZSBmbGFnc0Nhc2VGaWVsZElkIHByb3BlcnR5IGNvdWxkIGJlIHJlbW92ZWQgaW4gZnV0dXJlLCBnaXZlbiB0aGF0IHRoZSBmdWxsIHBhdGggaXMgbm93IGF2YWlsYWJsZSB0aHJvdWdoIHRoZVxuICAvLyBGbGFnc1dpdGhGb3JtR3JvdXBQYXRoIGludGVyZmFjZVxuICBmbGFnc0Nhc2VGaWVsZElkPzogc3RyaW5nO1xuICBwYXJ0eU5hbWU/OiBzdHJpbmc7XG4gIHJvbGVPbkNhc2U/OiBzdHJpbmc7XG4gIGRldGFpbHM/OiBGbGFnRGV0YWlsW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxhZ0RldGFpbERpc3BsYXkge1xuICBwYXJ0eU5hbWU6IHN0cmluZztcbiAgZmxhZ0RldGFpbDogRmxhZ0RldGFpbDtcbiAgLy8gVGhlIGZsYWdzQ2FzZUZpZWxkSWQgcHJvcGVydHkgY291bGQgYmUgcmVtb3ZlZCBpbiBmdXR1cmUsIGdpdmVuIHRoYXQgdGhlIGZ1bGwgcGF0aCBpcyBub3cgYXZhaWxhYmxlIHRocm91Z2ggdGhlXG4gIC8vIEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGggaW50ZXJmYWNlXG4gIGZsYWdzQ2FzZUZpZWxkSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBXcmFwcGVyIGludGVyZmFjZSBmb3IgRmxhZ3MgdGhhdCBhZGRzIHRoZSBwYXRoIHRvIHRoZSBjb3JyZXNwb25kaW5nIFVudHlwZWRGb3JtR3JvdXAsIGFuZCB0aGUgQ2FzZUZpZWxkXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmxhZ3NXaXRoRm9ybUdyb3VwUGF0aCB7XG4gIGZsYWdzOiBGbGFncztcbiAgcGF0aFRvRmxhZ3NGb3JtR3JvdXA6IHN0cmluZztcbiAgY2FzZUZpZWxkOiBDYXNlRmllbGQ7XG59XG5cbi8qKlxuICogV3JhcHBlciBpbnRlcmZhY2UgZm9yIEZsYWdEZXRhaWxEaXNwbGF5IHRoYXQgYWRkcyB0aGUgcGF0aCB0byB0aGUgY29ycmVzcG9uZGluZyBVbnR5cGVkRm9ybUdyb3VwLCBhbmQgdGhlIENhc2VGaWVsZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGgge1xuICBmbGFnRGV0YWlsRGlzcGxheTogRmxhZ0RldGFpbERpc3BsYXk7XG4gIHBhdGhUb0ZsYWdzRm9ybUdyb3VwOiBzdHJpbmc7XG4gIGNhc2VGaWVsZDogQ2FzZUZpZWxkO1xuICByb2xlT25DYXNlPzogc3RyaW5nO1xuICBsYWJlbD86IHN0cmluZztcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1mbGFnLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2RvbWFpbi9jYXNlLWZsYWcubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhc2VGaWVsZCB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxhZ1BhdGgge1xuICBpZD86IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGbGFnRGV0YWlsIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgc3ViVHlwZVZhbHVlPzogc3RyaW5nO1xuICBzdWJUeXBlS2V5Pzogc3RyaW5nO1xuICBvdGhlckRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBmbGFnQ29tbWVudD86IHN0cmluZztcbiAgZGF0ZVRpbWVNb2RpZmllZD86IERhdGUgfCBzdHJpbmc7XG4gIGRhdGVUaW1lQ3JlYXRlZDogRGF0ZSB8IHN0cmluZztcbiAgcGF0aDogRmxhZ1BhdGhbXTtcbiAgaGVhcmluZ1JlbGV2YW50OiBib29sZWFuIHwgc3RyaW5nO1xuICBmbGFnQ29kZTogc3RyaW5nO1xuICBzdGF0dXM6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGbGFncyB7XG4gIC8vIFRoZSBmbGFnc0Nhc2VGaWVsZElkIHByb3BlcnR5IGNvdWxkIGJlIHJlbW92ZWQgaW4gZnV0dXJlLCBnaXZlbiB0aGF0IHRoZSBmdWxsIHBhdGggaXMgbm93IGF2YWlsYWJsZSB0aHJvdWdoIHRoZVxuICAvLyBGbGFnc1dpdGhGb3JtR3JvdXBQYXRoIGludGVyZmFjZVxuICBmbGFnc0Nhc2VGaWVsZElkPzogc3RyaW5nO1xuICBwYXJ0eU5hbWU/OiBzdHJpbmc7XG4gIHJvbGVPbkNhc2U/OiBzdHJpbmc7XG4gIGRldGFpbHM/OiBGbGFnRGV0YWlsW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxhZ0RldGFpbERpc3BsYXkge1xuICBwYXJ0eU5hbWU6IHN0cmluZztcbiAgZmxhZ0RldGFpbDogRmxhZ0RldGFpbDtcbiAgLy8gVGhlIGZsYWdzQ2FzZUZpZWxkSWQgcHJvcGVydHkgY291bGQgYmUgcmVtb3ZlZCBpbiBmdXR1cmUsIGdpdmVuIHRoYXQgdGhlIGZ1bGwgcGF0aCBpcyBub3cgYXZhaWxhYmxlIHRocm91Z2ggdGhlXG4gIC8vIEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGggaW50ZXJmYWNlXG4gIGZsYWdzQ2FzZUZpZWxkSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBXcmFwcGVyIGludGVyZmFjZSBmb3IgRmxhZ3MgdGhhdCBhZGRzIHRoZSBwYXRoIHRvIHRoZSBjb3JyZXNwb25kaW5nIEZvcm1Hcm91cCwgYW5kIHRoZSBDYXNlRmllbGRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGbGFnc1dpdGhGb3JtR3JvdXBQYXRoIHtcbiAgZmxhZ3M6IEZsYWdzO1xuICBwYXRoVG9GbGFnc0Zvcm1Hcm91cDogc3RyaW5nO1xuICBjYXNlRmllbGQ6IENhc2VGaWVsZDtcbn1cblxuLyoqXG4gKiBXcmFwcGVyIGludGVyZmFjZSBmb3IgRmxhZ0RldGFpbERpc3BsYXkgdGhhdCBhZGRzIHRoZSBwYXRoIHRvIHRoZSBjb3JyZXNwb25kaW5nIEZvcm1Hcm91cCwgYW5kIHRoZSBDYXNlRmllbGRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGbGFnRGV0YWlsRGlzcGxheVdpdGhGb3JtR3JvdXBQYXRoIHtcbiAgZmxhZ0RldGFpbERpc3BsYXk6IEZsYWdEZXRhaWxEaXNwbGF5O1xuICBwYXRoVG9GbGFnc0Zvcm1Hcm91cDogc3RyaW5nO1xuICBjYXNlRmllbGQ6IENhc2VGaWVsZDtcbiAgcm9sZU9uQ2FzZT86IHN0cmluZztcbiAgbGFiZWw/OiBzdHJpbmc7XG59XG4iXX0=
@@ -66,7 +66,7 @@ export class ReadCaseFlagFieldComponent extends AbstractFieldReadComponent {
66
66
  }
67
67
  ngOnInit() {
68
68
  // If the context is PaletteContext.DEFAULT, the Flags fields need to be located by CaseTab (they won't be present
69
- // in the UntypedFormGroup - only the FlagLauncher field is present)
69
+ // in the FormGroup - only the FlagLauncher field is present)
70
70
  if (this.context === PaletteContext.DEFAULT) {
71
71
  // Determine the tab this CaseField belongs to (should be only one), from the CaseView object in the snapshot
72
72
  // data, and extract all flags-related data from its Flags fields
@@ -85,7 +85,7 @@ export class ReadCaseFlagFieldComponent extends AbstractFieldReadComponent {
85
85
  else if (this.context === PaletteContext.CHECK_YOUR_ANSWER) {
86
86
  // If the context is PaletteContext.CHECK_YOUR_ANSWER, the Flags data is already present within the formGroup.
87
87
  // The FlagLauncher component, WriteCaseFlagFieldComponent, holds a reference to:
88
- // i) the parent UntypedFormGroup for the Flags instance where changes have been made;
88
+ // i) the parent FormGroup for the Flags instance where changes have been made;
89
89
  // ii) the currently selected flag (selectedFlag) if one exists
90
90
  const flagLauncherControlName = Object.keys(this.formGroup.controls).find(controlName => FieldsUtils.isFlagLauncherCaseField(this.formGroup.get(controlName)['caseField']));
91
91
  if (flagLauncherControlName && this.formGroup.get(flagLauncherControlName)['component']) {
@@ -144,4 +144,4 @@ ReadCaseFlagFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
144
144
  type: Component,
145
145
  args: [{ selector: 'ccd-read-case-flag-field', template: "<ng-container [ngSwitch]=\"context\">\n <ng-container *ngSwitchCase=\"paletteContext.CHECK_YOUR_ANSWER\">\n <ccd-case-flag-summary-list [flagForSummaryDisplay]=\"flagForSummaryDisplay\"\n [summaryListDisplayMode]=\"summaryListDisplayMode\"></ccd-case-flag-summary-list>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <h2 class=\"govuk-heading-l\">Case flags</h2>\n <div *ngFor=\"let flagData of partyLevelCaseFlagData\">\n <ccd-case-flag-table *ngIf=\"flagData.flags.partyName\"\n [tableCaption]=\"flagData.flags.partyName\"\n [flagData]=\"flagData\"\n [firstColumnHeader]=\"'Party level flags'\"\n ></ccd-case-flag-table>\n </div>\n <div *ngIf=\"caseLevelCaseFlagData\">\n <ccd-case-flag-table\n [tableCaption]=\"'Case level flags'\"\n [flagData]=\"caseLevelCaseFlagData\"\n [firstColumnHeader]=\"'Case flags'\"\n ></ccd-case-flag-table>\n </div>\n </ng-container>\n</ng-container>\n", styles: [".govuk-heading-l{margin-top:30px}\n"] }]
146
146
  }], function () { return [{ type: i1.ActivatedRoute }]; }, null); })();
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1jYXNlLWZsYWctZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL3JlYWQtY2FzZS1mbGFnLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtZmxhZy9yZWFkLWNhc2UtZmxhZy1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXBFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7OztJQ052RCw2QkFBK0Q7SUFDN0QsZ0RBQ2lGO0lBQ25GLDBCQUFlOzs7SUFGZSxlQUErQztJQUEvQyxvRUFBK0MseURBQUE7OztJQU16RSx5Q0FJdUI7OztJQUhyQiwwREFBeUMseUJBQUEsMENBQUE7OztJQUY3QywyQkFBcUQ7SUFDbkQsZ0lBSXVCO0lBQ3pCLGlCQUFNOzs7SUFMa0IsZUFBOEI7SUFBOUIsa0RBQThCOzs7SUFNdEQsMkJBQW1DO0lBQ2pDLHlDQUl1QjtJQUN6QixpQkFBTTs7O0lBSkYsZUFBbUM7SUFBbkMsaURBQW1DLDBDQUFBLG1DQUFBOzs7SUFYekMs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LENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLG1CQUFtQixHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDL0c7UUFDRCxJQUFJLG1CQUFtQixFQUFFO1lBQ3ZCLE9BQU87Z0JBQ0wsU0FBUyxFQUFFLG1CQUFtQixDQUFDLFNBQVM7Z0JBQ3hDLDBHQUEwRztnQkFDMUcsVUFBVSxFQUFFLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLO2FBQ3hFLENBQUM7U0FDeEI7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7O29HQXhGVSwwQkFBMEI7NkVBQTFCLDBCQUEwQjtRQ2R2QyxnQ0FBbUM7UUFDakMsNkZBR2U7UUFDZiw2RkFnQmU7UUFDakIsMEJBQWU7O1FBdEJELHNDQUFvQjtRQUNqQixlQUE4QztRQUE5QyxtRUFBOEM7O3VGRGFsRCwwQkFBMEI7Y0FMdEMsU0FBUzsyQkFDRSwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ2FzZVRhYiB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGaWVsZHNVdGlscyB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ZpZWxkcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEZpZWxkUmVhZENvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtZmllbGQvYWJzdHJhY3QtZmllbGQtcmVhZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFsZXR0ZUNvbnRleHQgfSBmcm9tICcuLi9iYXNlLWZpZWxkL3BhbGV0dGUtY29udGV4dC5lbnVtJztcbmltcG9ydCB7IEZsYWdEZXRhaWxEaXNwbGF5LCBGbGFnc1dpdGhGb3JtR3JvdXBQYXRoIH0gZnJvbSAnLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZUZsYWdTdW1tYXJ5TGlzdERpc3BsYXlNb2RlIH0gZnJvbSAnLi9lbnVtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1yZWFkLWNhc2UtZmxhZy1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWFkLWNhc2UtZmxhZy1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlYWQtY2FzZS1mbGFnLWZpZWxkLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUmVhZENhc2VGbGFnRmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZpZWxkUmVhZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIGZsYWdzRGF0YTogRmxhZ3NXaXRoRm9ybUdyb3VwUGF0aFtdO1xuICBwdWJsaWMgcGFydHlMZXZlbENhc2VGbGFnRGF0YTogRmxhZ3NXaXRoRm9ybUdyb3VwUGF0aFtdO1xuICBwdWJsaWMgY2FzZUxldmVsQ2FzZUZsYWdEYXRhOiBGbGFnc1dpdGhGb3JtR3JvdXBQYXRoO1xuICBwdWJsaWMgcGFsZXR0ZUNvbnRleHQgPSBQYWxldHRlQ29udGV4dDtcbiAgcHVibGljIGZsYWdGb3JTdW1tYXJ5RGlzcGxheTogRmxhZ0RldGFpbERpc3BsYXk7XG4gIHB1YmxpYyBzdW1tYXJ5TGlzdERpc3BsYXlNb2RlOiBDYXNlRmxhZ1N1bW1hcnlMaXN0RGlzcGxheU1vZGU7XG4gIHB1YmxpYyByZWFkb25seSBjYXNlTGV2ZWxDYXNlRmxhZ3NGaWVsZElkID0gJ2Nhc2VGbGFncyc7XG4gIHB1YmxpYyByZWFkb25seSBjYXNlTmFtZU1pc3NpbmcgPSAnQ2FzZSBuYW1lIG1pc3NpbmcnO1xuICBwcml2YXRlIHJlYWRvbmx5IGNyZWF0ZU1vZGUgPSAnI0FSR1VNRU5UKENSRUFURSknO1xuICBwcml2YXRlIHJlYWRvbmx5IHVwZGF0ZU1vZGUgPSAnI0FSR1VNRU5UKFVQREFURSknO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gSWYgdGhlIGNvbnRleHQgaXMgUGFsZXR0ZUNvbnRleHQuREVGQVVMVCwgdGhlIEZsYWdzIGZpZWxkcyBuZWVkIHRvIGJlIGxvY2F0ZWQgYnkgQ2FzZVRhYiAodGhleSB3b24ndCBiZSBwcmVzZW50XG4gICAgLy8gaW4gdGhlIFVudHlwZWRGb3JtR3JvdXAgLSBvbmx5IHRoZSBGbGFnTGF1bmNoZXIgZmllbGQgaXMgcHJlc2VudClcbiAgICBpZiAodGhpcy5jb250ZXh0ID09PSBQYWxldHRlQ29udGV4dC5ERUZBVUxUKSB7XG4gICAgICAvLyBEZXRlcm1pbmUgdGhlIHRhYiB0aGlzIENhc2VGaWVsZCBiZWxvbmdzIHRvIChzaG91bGQgYmUgb25seSBvbmUpLCBmcm9tIHRoZSBDYXNlVmlldyBvYmplY3QgaW4gdGhlIHNuYXBzaG90XG4gICAgICAvLyBkYXRhLCBhbmQgZXh0cmFjdCBhbGwgZmxhZ3MtcmVsYXRlZCBkYXRhIGZyb20gaXRzIEZsYWdzIGZpZWxkc1xuICAgICAgaWYgKHRoaXMucm91dGUuc25hcHNob3QuZGF0YS5jYXNlICYmIHRoaXMucm91dGUuc25hcHNob3QuZGF0YS5jYXNlLnRhYnMpIHtcbiAgICAgICAgdGhpcy5mbGFnc0RhdGEgPSAodGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmNhc2UudGFicyBhcyBDYXNlVGFiW10pXG4gICAgICAgICAgLmZpbHRlcih0YWIgPT4gdGFiLmZpZWxkcyAmJiB0YWIuZmllbGRzXG4gICAgICAgICAgICAuc29tZShjYXNlRmllbGQgPT4gY2FzZUZpZWxkLmZpZWxkX3R5cGUudHlwZSA9PT0gJ0ZsYWdMYXVuY2hlcicpKVxuICAgICAgICBbMF0uZmllbGRzLnJlZHVjZSgoZmxhZ3MsIGNhc2VGaWVsZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBGaWVsZHNVdGlscy5leHRyYWN0RmxhZ3NEYXRhRnJvbUNhc2VGaWVsZChmbGFncywgY2FzZUZpZWxkLCBjYXNlRmllbGQuaWQsIGNhc2VGaWVsZCk7XG4gICAgICAgIH0sIFtdKTtcbiAgICAgIH1cblxuICAgICAgLy8gU2VwYXJhdGUgdGhlIHBhcnR5LWxldmVsIGFuZCBjYXNlLWxldmVsIGZsYWdzXG4gICAgICB0aGlzLnBhcnR5TGV2ZWxDYXNlRmxhZ0RhdGEgPSB0aGlzLmZsYWdzRGF0YS5maWx0ZXIoXG4gICAgICAgIGluc3RhbmNlID0+IGluc3RhbmNlLnBhdGhUb0ZsYWdzRm9ybUdyb3VwICE9PSB0aGlzLmNhc2VMZXZlbENhc2VGbGFnc0ZpZWxkSWQpO1xuICAgICAgLy8gVGhlcmUgd2lsbCBiZSBvbmx5IG9uZSBjYXNlLWxldmVsIGZsYWdzIGluc3RhbmNlIGNvbnRhaW5pbmcgYWxsIGNhc2UtbGV2ZWwgZmxhZyBkZXRhaWxzXG4gICAgICB0aGlzLmNhc2VMZXZlbENhc2VGbGFnRGF0YSA9IHRoaXMuZmxhZ3NEYXRhLmZpbmQoXG4gICAgICAgIGluc3RhbmNlID0+IGluc3RhbmNlLnBhdGhUb0ZsYWdzRm9ybUdyb3VwID09PSB0aGlzLmNhc2VMZXZlbENhc2VGbGFnc0ZpZWxkSWQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5jb250ZXh0ID09PSBQYWxldHRlQ29udGV4dC5DSEVDS19ZT1VSX0FOU1dFUikge1xuICAgICAgLy8gSWYgdGhlIGNvbnRleHQgaXMgUGFsZXR0ZUNvbnRleHQuQ0hFQ0tfWU9VUl9BTlNXRVIsIHRoZSBGbGFncyBkYXRhIGlzIGFscmVhZHkgcHJlc2VudCB3aXRoaW4gdGhlIGZvcm1Hcm91cC5cbiAgICAgIC8vIFRoZSBGbGFnTGF1bmNoZXIgY29tcG9uZW50LCBXcml0ZUNhc2VGbGFnRmllbGRDb21wb25lbnQsIGhvbGRzIGEgcmVmZXJlbmNlIHRvOlxuICAgICAgLy8gaSkgdGhlIHBhcmVudCBVbnR5cGVkRm9ybUdyb3VwIGZvciB0aGUgRmxhZ3MgaW5zdGFuY2Ugd2hlcmUgY2hhbmdlcyBoYXZlIGJlZW4gbWFkZTtcbiAgICAgIC8vIGlpKSB0aGUgY3VycmVudGx5IHNlbGVjdGVkIGZsYWcgKHNlbGVjdGVkRmxhZykgaWYgb25lIGV4aXN0c1xuICAgICAgY29uc3QgZmxhZ0xhdW5jaGVyQ29udHJvbE5hbWUgPSBPYmplY3Qua2V5cyh0aGlzLmZvcm1Hcm91cC5jb250cm9scykuZmluZChcbiAgICAgICAgY29udHJvbE5hbWUgPT4gRmllbGRzVXRpbHMuaXNGbGFnTGF1bmNoZXJDYXNlRmllbGQodGhpcy5mb3JtR3JvdXAuZ2V0KGNvbnRyb2xOYW1lKVsnY2FzZUZpZWxkJ10pKTtcbiAgICAgIGlmIChmbGFnTGF1bmNoZXJDb250cm9sTmFtZSAmJiB0aGlzLmZvcm1Hcm91cC5nZXQoZmxhZ0xhdW5jaGVyQ29udHJvbE5hbWUpWydjb21wb25lbnQnXSkge1xuICAgICAgICBjb25zdCBmbGFnTGF1bmNoZXJDb21wb25lbnQgPSB0aGlzLmZvcm1Hcm91cC5nZXQoZmxhZ0xhdW5jaGVyQ29udHJvbE5hbWUpWydjb21wb25lbnQnXTtcbiAgICAgICAgLy8gVGhlIEZsYWdMYXVuY2hlciBjb21wb25lbnQgaG9sZHMgYSByZWZlcmVuY2UgKHNlbGVjdGVkRmxhZ3NMb2NhdGlvbikgY29udGFpbmluZyB0aGUgQ2FzZUZpZWxkIGluc3RhbmNlIHRvXG4gICAgICAgIC8vIHdoaWNoIHRoZSBuZXcgZmxhZyBoYXMgYmVlbiBhZGRlZFxuICAgICAgICBpZiAoZmxhZ0xhdW5jaGVyQ29tcG9uZW50LmNhc2VGaWVsZC5kaXNwbGF5X2NvbnRleHRfcGFyYW1ldGVyID09PSB0aGlzLmNyZWF0ZU1vZGUgJiZcbiAgICAgICAgICBmbGFnTGF1bmNoZXJDb21wb25lbnQuc2VsZWN0ZWRGbGFnc0xvY2F0aW9uKSB7XG4gICAgICAgICAgdGhpcy5mbGFnRm9yU3VtbWFyeURpc3BsYXkgPSB0aGlzLmV4dHJhY3ROZXdGbGFnVG9GbGFnRGV0YWlsRGlzcGxheU9iamVjdChcbiAgICAgICAgICAgIGZsYWdMYXVuY2hlckNvbXBvbmVudC5zZWxlY3RlZEZsYWdzTG9jYXRpb24pO1xuICAgICAgICAgIC8vIFNldCB0aGUgZGlzcGxheSBtb2RlIGZvciB0aGUgXCJSZXZpZXcgZmxhZyBkZXRhaWxzXCIgc3VtbWFyeSBwYWdlXG4gICAgICAgICAgdGhpcy5zdW1tYXJ5TGlzdERpc3BsYXlNb2RlID0gQ2FzZUZsYWdTdW1tYXJ5TGlzdERpc3BsYXlNb2RlLkNSRUFURTtcbiAgICAgICAgICAvLyBUaGUgRmxhZ0xhdW5jaGVyIGNvbXBvbmVudCBob2xkcyBhIHJlZmVyZW5jZSAoc2VsZWN0ZWRGbGFnKSwgd2hpY2ggZ2V0cyBzZXQgYWZ0ZXIgdGhlIHNlbGVjdGlvbiBzdGVwIG9mIHRoZVxuICAgICAgICAgIC8vIE1hbmFnZSBDYXNlIEZsYWdzIGpvdXJuZXlcbiAgICAgICAgfSBlbHNlIGlmIChmbGFnTGF1bmNoZXJDb21wb25lbnQuY2FzZUZpZWxkLmRpc3BsYXlfY29udGV4dF9wYXJhbWV0ZXIgPT09IHRoaXMudXBkYXRlTW9kZSAmJlxuICAgICAgICAgIGZsYWdMYXVuY2hlckNvbXBvbmVudC5zZWxlY3RlZEZsYWcpIHtcbiAgICAgICAgICB0aGlzLmZsYWdGb3JTdW1tYXJ5RGlzcGxheSA9XG4gICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoZmxhZ0xhdW5jaGVyQ29udHJvbE5hbWUpWydjb21wb25lbnQnXS5zZWxlY3RlZEZsYWcuZmxhZ0RldGFpbERpc3BsYXk7XG4gICAgICAgICAgLy8gU2V0IHRoZSBkaXNwbGF5IG1vZGUgZm9yIHRoZSBcIlJldmlldyBmbGFnIGRldGFpbHNcIiBzdW1tYXJ5IHBhZ2VcbiAgICAgICAgICB0aGlzLnN1bW1hcnlMaXN0RGlzcGxheU1vZGUgPSBDYXNlRmxhZ1N1bW1hcnlMaXN0RGlzcGxheU1vZGUuTUFOQUdFO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBleHRyYWN0TmV3RmxhZ1RvRmxhZ0RldGFpbERpc3BsYXlPYmplY3Qoc2VsZWN0ZWRGbGFnc0xvY2F0aW9uOiBGbGFnc1dpdGhGb3JtR3JvdXBQYXRoKTogRmxhZ0RldGFpbERpc3BsYXkge1xuICAgIC8vIFVzZSB0aGUgcGF0aFRvRmxhZ3NGb3JtR3JvdXAgcHJvcGVydHkgZnJvbSB0aGUgc2VsZWN0ZWQgZmxhZyBsb2NhdGlvbiB0byBkcmlsbCBkb3duIHRvIHRoZSBjb3JyZWN0IHBhcnQgb2YgdGhlXG4gICAgLy8gQ2FzZUZpZWxkIHZhbHVlIGNvbnRhaW5pbmcgdGhlIG5ldyBmbGFnXG4gICAgbGV0IGZsYWdzQ2FzZUZpZWxkVmFsdWUgPSBzZWxlY3RlZEZsYWdzTG9jYXRpb24uY2FzZUZpZWxkLnZhbHVlO1xuICAgIGNvbnN0IHBhdGggPSBzZWxlY3RlZEZsYWdzTG9jYXRpb24ucGF0aFRvRmxhZ3NGb3JtR3JvdXA7XG4gICAgLy8gUm9vdC1sZXZlbCBGbGFncyBDYXNlRmllbGRzIGRvbid0IGhhdmUgYSBkb3QtZGVsaW1pdGVkIHBhdGggLSBqdXN0IHRoZSBDYXNlRmllbGQgSUQgaXRzZWxmIC0gc28gZG9uJ3QgZHJpbGwgZG93blxuICAgIGlmIChwYXRoLmluZGV4T2YoJy4nKSA+IC0xKSB7XG4gICAgICBwYXRoLnNsaWNlKHBhdGguaW5kZXhPZignLicpICsgMSkuc3BsaXQoJy4nKS5mb3JFYWNoKHBhcnQgPT4gZmxhZ3NDYXNlRmllbGRWYWx1ZSA9IGZsYWdzQ2FzZUZpZWxkVmFsdWVbcGFydF0pO1xuICAgIH1cbiAgICBpZiAoZmxhZ3NDYXNlRmllbGRWYWx1ZSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGFydHlOYW1lOiBmbGFnc0Nhc2VGaWVsZFZhbHVlLnBhcnR5TmFtZSxcbiAgICAgICAgLy8gTG9vayBpbiB0aGUgZGV0YWlscyBhcnJheSBmb3IgdGhlIG9iamVjdCB0aGF0IGRvZXMgKm5vdCogaGF2ZSBhbiBpZCAtIHRoaXMgaW5kaWNhdGVzIGl0IGlzIHRoZSBuZXcgZmxhZ1xuICAgICAgICBmbGFnRGV0YWlsOiBmbGFnc0Nhc2VGaWVsZFZhbHVlLmRldGFpbHMuZmluZChlbGVtZW50ID0+ICFlbGVtZW50Lmhhc093blByb3BlcnR5KCdpZCcpKS52YWx1ZVxuICAgICAgfSBhcyBGbGFnRGV0YWlsRGlzcGxheTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiY29udGV4dFwiPlxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJwYWxldHRlQ29udGV4dC5DSEVDS19ZT1VSX0FOU1dFUlwiPlxuICAgIDxjY2QtY2FzZS1mbGFnLXN1bW1hcnktbGlzdCBbZmxhZ0ZvclN1bW1hcnlEaXNwbGF5XT1cImZsYWdGb3JTdW1tYXJ5RGlzcGxheVwiXG4gICAgICBbc3VtbWFyeUxpc3REaXNwbGF5TW9kZV09XCJzdW1tYXJ5TGlzdERpc3BsYXlNb2RlXCI+PC9jY2QtY2FzZS1mbGFnLXN1bW1hcnktbGlzdD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICA8aDIgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLWxcIj5DYXNlIGZsYWdzPC9oMj5cbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBmbGFnRGF0YSBvZiBwYXJ0eUxldmVsQ2FzZUZsYWdEYXRhXCI+XG4gICAgICA8Y2NkLWNhc2UtZmxhZy10YWJsZSAqbmdJZj1cImZsYWdEYXRhLmZsYWdzLnBhcnR5TmFtZVwiXG4gICAgICAgIFt0YWJsZUNhcHRpb25dPVwiZmxhZ0RhdGEuZmxhZ3MucGFydHlOYW1lXCJcbiAgICAgICAgW2ZsYWdEYXRhXT1cImZsYWdEYXRhXCJcbiAgICAgICAgW2ZpcnN0Q29sdW1uSGVhZGVyXT1cIidQYXJ0eSBsZXZlbCBmbGFncydcIlxuICAgICAgPjwvY2NkLWNhc2UtZmxhZy10YWJsZT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiY2FzZUxldmVsQ2FzZUZsYWdEYXRhXCI+XG4gICAgICA8Y2NkLWNhc2UtZmxhZy10YWJsZVxuICAgICAgICBbdGFibGVDYXB0aW9uXT1cIidDYXNlIGxldmVsIGZsYWdzJ1wiXG4gICAgICAgIFtmbGFnRGF0YV09XCJjYXNlTGV2ZWxDYXNlRmxhZ0RhdGFcIlxuICAgICAgICBbZmlyc3RDb2x1bW5IZWFkZXJdPVwiJ0Nhc2UgZmxhZ3MnXCJcbiAgICAgID48L2NjZC1jYXNlLWZsYWctdGFibGU+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1jYXNlLWZsYWctZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL3JlYWQtY2FzZS1mbGFnLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtZmxhZy9yZWFkLWNhc2UtZmxhZy1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXBFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7OztJQ052RCw2QkFBK0Q7SUFDN0QsZ0RBQ2lGO0lBQ25GLDBCQUFlOzs7SUFGZSxlQUErQztJQUEvQyxvRUFBK0MseURBQUE7OztJQU16RSx5Q0FJdUI7OztJQUhyQiwwREFBeUMseUJBQUEsMENBQUE7OztJQUY3QywyQkFBcUQ7SUFDbkQsZ0lBSXVCO0lBQ3pCLGlCQUFNOzs7SUFMa0IsZUFBOEI7SUFBOUIsa0RBQThCOzs7SUFNdEQsMkJBQW1DO0lBQ2pDLHlDQUl1QjtJQUN6QixpQkFBTTs7O0lBSkYsZUFBbUM7SUFBbkMsaURBQW1DLDBDQUFBLG1DQUFBOzs7SUFYekMs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LENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLG1CQUFtQixHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDL0c7UUFDRCxJQUFJLG1CQUFtQixFQUFFO1lBQ3ZCLE9BQU87Z0JBQ0wsU0FBUyxFQUFFLG1CQUFtQixDQUFDLFNBQVM7Z0JBQ3hDLDBHQUEwRztnQkFDMUcsVUFBVSxFQUFFLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLO2FBQ3hFLENBQUM7U0FDeEI7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7O29HQXhGVSwwQkFBMEI7NkVBQTFCLDBCQUEwQjtRQ2R2QyxnQ0FBbUM7UUFDakMsNkZBR2U7UUFDZiw2RkFnQmU7UUFDakIsMEJBQWU7O1FBdEJELHNDQUFvQjtRQUNqQixlQUE4QztRQUE5QyxtRUFBOEM7O3VGRGFsRCwwQkFBMEI7Y0FMdEMsU0FBUzsyQkFDRSwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ2FzZVRhYiB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGaWVsZHNVdGlscyB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ZpZWxkcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEZpZWxkUmVhZENvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtZmllbGQvYWJzdHJhY3QtZmllbGQtcmVhZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFsZXR0ZUNvbnRleHQgfSBmcm9tICcuLi9iYXNlLWZpZWxkL3BhbGV0dGUtY29udGV4dC5lbnVtJztcbmltcG9ydCB7IEZsYWdEZXRhaWxEaXNwbGF5LCBGbGFnc1dpdGhGb3JtR3JvdXBQYXRoIH0gZnJvbSAnLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZUZsYWdTdW1tYXJ5TGlzdERpc3BsYXlNb2RlIH0gZnJvbSAnLi9lbnVtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1yZWFkLWNhc2UtZmxhZy1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWFkLWNhc2UtZmxhZy1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlYWQtY2FzZS1mbGFnLWZpZWxkLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUmVhZENhc2VGbGFnRmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZpZWxkUmVhZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIGZsYWdzRGF0YTogRmxhZ3NXaXRoRm9ybUdyb3VwUGF0aFtdO1xuICBwdWJsaWMgcGFydHlMZXZlbENhc2VGbGFnRGF0YTogRmxhZ3NXaXRoRm9ybUdyb3VwUGF0aFtdO1xuICBwdWJsaWMgY2FzZUxldmVsQ2FzZUZsYWdEYXRhOiBGbGFnc1dpdGhGb3JtR3JvdXBQYXRoO1xuICBwdWJsaWMgcGFsZXR0ZUNvbnRleHQgPSBQYWxldHRlQ29udGV4dDtcbiAgcHVibGljIGZsYWdGb3JTdW1tYXJ5RGlzcGxheTogRmxhZ0RldGFpbERpc3BsYXk7XG4gIHB1YmxpYyBzdW1tYXJ5TGlzdERpc3BsYXlNb2RlOiBDYXNlRmxhZ1N1bW1hcnlMaXN0RGlzcGxheU1vZGU7XG4gIHB1YmxpYyByZWFkb25seSBjYXNlTGV2ZWxDYXNlRmxhZ3NGaWVsZElkID0gJ2Nhc2VGbGFncyc7XG4gIHB1YmxpYyByZWFkb25seSBjYXNlTmFtZU1pc3NpbmcgPSAnQ2FzZSBuYW1lIG1pc3NpbmcnO1xuICBwcml2YXRlIHJlYWRvbmx5IGNyZWF0ZU1vZGUgPSAnI0FSR1VNRU5UKENSRUFURSknO1xuICBwcml2YXRlIHJlYWRvbmx5IHVwZGF0ZU1vZGUgPSAnI0FSR1VNRU5UKFVQREFURSknO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gSWYgdGhlIGNvbnRleHQgaXMgUGFsZXR0ZUNvbnRleHQuREVGQVVMVCwgdGhlIEZsYWdzIGZpZWxkcyBuZWVkIHRvIGJlIGxvY2F0ZWQgYnkgQ2FzZVRhYiAodGhleSB3b24ndCBiZSBwcmVzZW50XG4gICAgLy8gaW4gdGhlIEZvcm1Hcm91cCAtIG9ubHkgdGhlIEZsYWdMYXVuY2hlciBmaWVsZCBpcyBwcmVzZW50KVxuICAgIGlmICh0aGlzLmNvbnRleHQgPT09IFBhbGV0dGVDb250ZXh0LkRFRkFVTFQpIHtcbiAgICAgIC8vIERldGVybWluZSB0aGUgdGFiIHRoaXMgQ2FzZUZpZWxkIGJlbG9uZ3MgdG8gKHNob3VsZCBiZSBvbmx5IG9uZSksIGZyb20gdGhlIENhc2VWaWV3IG9iamVjdCBpbiB0aGUgc25hcHNob3RcbiAgICAgIC8vIGRhdGEsIGFuZCBleHRyYWN0IGFsbCBmbGFncy1yZWxhdGVkIGRhdGEgZnJvbSBpdHMgRmxhZ3MgZmllbGRzXG4gICAgICBpZiAodGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmNhc2UgJiYgdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmNhc2UudGFicykge1xuICAgICAgICB0aGlzLmZsYWdzRGF0YSA9ICh0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZS50YWJzIGFzIENhc2VUYWJbXSlcbiAgICAgICAgICAuZmlsdGVyKHRhYiA9PiB0YWIuZmllbGRzICYmIHRhYi5maWVsZHNcbiAgICAgICAgICAgIC5zb21lKGNhc2VGaWVsZCA9PiBjYXNlRmllbGQuZmllbGRfdHlwZS50eXBlID09PSAnRmxhZ0xhdW5jaGVyJykpXG4gICAgICAgIFswXS5maWVsZHMucmVkdWNlKChmbGFncywgY2FzZUZpZWxkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIEZpZWxkc1V0aWxzLmV4dHJhY3RGbGFnc0RhdGFGcm9tQ2FzZUZpZWxkKGZsYWdzLCBjYXNlRmllbGQsIGNhc2VGaWVsZC5pZCwgY2FzZUZpZWxkKTtcbiAgICAgICAgfSwgW10pO1xuICAgICAgfVxuXG4gICAgICAvLyBTZXBhcmF0ZSB0aGUgcGFydHktbGV2ZWwgYW5kIGNhc2UtbGV2ZWwgZmxhZ3NcbiAgICAgIHRoaXMucGFydHlMZXZlbENhc2VGbGFnRGF0YSA9IHRoaXMuZmxhZ3NEYXRhLmZpbHRlcihcbiAgICAgICAgaW5zdGFuY2UgPT4gaW5zdGFuY2UucGF0aFRvRmxhZ3NGb3JtR3JvdXAgIT09IHRoaXMuY2FzZUxldmVsQ2FzZUZsYWdzRmllbGRJZCk7XG4gICAgICAvLyBUaGVyZSB3aWxsIGJlIG9ubHkgb25lIGNhc2UtbGV2ZWwgZmxhZ3MgaW5zdGFuY2UgY29udGFpbmluZyBhbGwgY2FzZS1sZXZlbCBmbGFnIGRldGFpbHNcbiAgICAgIHRoaXMuY2FzZUxldmVsQ2FzZUZsYWdEYXRhID0gdGhpcy5mbGFnc0RhdGEuZmluZChcbiAgICAgICAgaW5zdGFuY2UgPT4gaW5zdGFuY2UucGF0aFRvRmxhZ3NGb3JtR3JvdXAgPT09IHRoaXMuY2FzZUxldmVsQ2FzZUZsYWdzRmllbGRJZCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbnRleHQgPT09IFBhbGV0dGVDb250ZXh0LkNIRUNLX1lPVVJfQU5TV0VSKSB7XG4gICAgICAvLyBJZiB0aGUgY29udGV4dCBpcyBQYWxldHRlQ29udGV4dC5DSEVDS19ZT1VSX0FOU1dFUiwgdGhlIEZsYWdzIGRhdGEgaXMgYWxyZWFkeSBwcmVzZW50IHdpdGhpbiB0aGUgZm9ybUdyb3VwLlxuICAgICAgLy8gVGhlIEZsYWdMYXVuY2hlciBjb21wb25lbnQsIFdyaXRlQ2FzZUZsYWdGaWVsZENvbXBvbmVudCwgaG9sZHMgYSByZWZlcmVuY2UgdG86XG4gICAgICAvLyBpKSB0aGUgcGFyZW50IEZvcm1Hcm91cCBmb3IgdGhlIEZsYWdzIGluc3RhbmNlIHdoZXJlIGNoYW5nZXMgaGF2ZSBiZWVuIG1hZGU7XG4gICAgICAvLyBpaSkgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBmbGFnIChzZWxlY3RlZEZsYWcpIGlmIG9uZSBleGlzdHNcbiAgICAgIGNvbnN0IGZsYWdMYXVuY2hlckNvbnRyb2xOYW1lID0gT2JqZWN0LmtleXModGhpcy5mb3JtR3JvdXAuY29udHJvbHMpLmZpbmQoXG4gICAgICAgIGNvbnRyb2xOYW1lID0+IEZpZWxkc1V0aWxzLmlzRmxhZ0xhdW5jaGVyQ2FzZUZpZWxkKHRoaXMuZm9ybUdyb3VwLmdldChjb250cm9sTmFtZSlbJ2Nhc2VGaWVsZCddKSk7XG4gICAgICBpZiAoZmxhZ0xhdW5jaGVyQ29udHJvbE5hbWUgJiYgdGhpcy5mb3JtR3JvdXAuZ2V0KGZsYWdMYXVuY2hlckNvbnRyb2xOYW1lKVsnY29tcG9uZW50J10pIHtcbiAgICAgICAgY29uc3QgZmxhZ0xhdW5jaGVyQ29tcG9uZW50ID0gdGhpcy5mb3JtR3JvdXAuZ2V0KGZsYWdMYXVuY2hlckNvbnRyb2xOYW1lKVsnY29tcG9uZW50J107XG4gICAgICAgIC8vIFRoZSBGbGFnTGF1bmNoZXIgY29tcG9uZW50IGhvbGRzIGEgcmVmZXJlbmNlIChzZWxlY3RlZEZsYWdzTG9jYXRpb24pIGNvbnRhaW5pbmcgdGhlIENhc2VGaWVsZCBpbnN0YW5jZSB0b1xuICAgICAgICAvLyB3aGljaCB0aGUgbmV3IGZsYWcgaGFzIGJlZW4gYWRkZWRcbiAgICAgICAgaWYgKGZsYWdMYXVuY2hlckNvbXBvbmVudC5jYXNlRmllbGQuZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlciA9PT0gdGhpcy5jcmVhdGVNb2RlICYmXG4gICAgICAgICAgZmxhZ0xhdW5jaGVyQ29tcG9uZW50LnNlbGVjdGVkRmxhZ3NMb2NhdGlvbikge1xuICAgICAgICAgIHRoaXMuZmxhZ0ZvclN1bW1hcnlEaXNwbGF5ID0gdGhpcy5leHRyYWN0TmV3RmxhZ1RvRmxhZ0RldGFpbERpc3BsYXlPYmplY3QoXG4gICAgICAgICAgICBmbGFnTGF1bmNoZXJDb21wb25lbnQuc2VsZWN0ZWRGbGFnc0xvY2F0aW9uKTtcbiAgICAgICAgICAvLyBTZXQgdGhlIGRpc3BsYXkgbW9kZSBmb3IgdGhlIFwiUmV2aWV3IGZsYWcgZGV0YWlsc1wiIHN1bW1hcnkgcGFnZVxuICAgICAgICAgIHRoaXMuc3VtbWFyeUxpc3REaXNwbGF5TW9kZSA9IENhc2VGbGFnU3VtbWFyeUxpc3REaXNwbGF5TW9kZS5DUkVBVEU7XG4gICAgICAgICAgLy8gVGhlIEZsYWdMYXVuY2hlciBjb21wb25lbnQgaG9sZHMgYSByZWZlcmVuY2UgKHNlbGVjdGVkRmxhZyksIHdoaWNoIGdldHMgc2V0IGFmdGVyIHRoZSBzZWxlY3Rpb24gc3RlcCBvZiB0aGVcbiAgICAgICAgICAvLyBNYW5hZ2UgQ2FzZSBGbGFncyBqb3VybmV5XG4gICAgICAgIH0gZWxzZSBpZiAoZmxhZ0xhdW5jaGVyQ29tcG9uZW50LmNhc2VGaWVsZC5kaXNwbGF5X2NvbnRleHRfcGFyYW1ldGVyID09PSB0aGlzLnVwZGF0ZU1vZGUgJiZcbiAgICAgICAgICBmbGFnTGF1bmNoZXJDb21wb25lbnQuc2VsZWN0ZWRGbGFnKSB7XG4gICAgICAgICAgdGhpcy5mbGFnRm9yU3VtbWFyeURpc3BsYXkgPVxuICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KGZsYWdMYXVuY2hlckNvbnRyb2xOYW1lKVsnY29tcG9uZW50J10uc2VsZWN0ZWRGbGFnLmZsYWdEZXRhaWxEaXNwbGF5O1xuICAgICAgICAgIC8vIFNldCB0aGUgZGlzcGxheSBtb2RlIGZvciB0aGUgXCJSZXZpZXcgZmxhZyBkZXRhaWxzXCIgc3VtbWFyeSBwYWdlXG4gICAgICAgICAgdGhpcy5zdW1tYXJ5TGlzdERpc3BsYXlNb2RlID0gQ2FzZUZsYWdTdW1tYXJ5TGlzdERpc3BsYXlNb2RlLk1BTkFHRTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZXh0cmFjdE5ld0ZsYWdUb0ZsYWdEZXRhaWxEaXNwbGF5T2JqZWN0KHNlbGVjdGVkRmxhZ3NMb2NhdGlvbjogRmxhZ3NXaXRoRm9ybUdyb3VwUGF0aCk6IEZsYWdEZXRhaWxEaXNwbGF5IHtcbiAgICAvLyBVc2UgdGhlIHBhdGhUb0ZsYWdzRm9ybUdyb3VwIHByb3BlcnR5IGZyb20gdGhlIHNlbGVjdGVkIGZsYWcgbG9jYXRpb24gdG8gZHJpbGwgZG93biB0byB0aGUgY29ycmVjdCBwYXJ0IG9mIHRoZVxuICAgIC8vIENhc2VGaWVsZCB2YWx1ZSBjb250YWluaW5nIHRoZSBuZXcgZmxhZ1xuICAgIGxldCBmbGFnc0Nhc2VGaWVsZFZhbHVlID0gc2VsZWN0ZWRGbGFnc0xvY2F0aW9uLmNhc2VGaWVsZC52YWx1ZTtcbiAgICBjb25zdCBwYXRoID0gc2VsZWN0ZWRGbGFnc0xvY2F0aW9uLnBhdGhUb0ZsYWdzRm9ybUdyb3VwO1xuICAgIC8vIFJvb3QtbGV2ZWwgRmxhZ3MgQ2FzZUZpZWxkcyBkb24ndCBoYXZlIGEgZG90LWRlbGltaXRlZCBwYXRoIC0ganVzdCB0aGUgQ2FzZUZpZWxkIElEIGl0c2VsZiAtIHNvIGRvbid0IGRyaWxsIGRvd25cbiAgICBpZiAocGF0aC5pbmRleE9mKCcuJykgPiAtMSkge1xuICAgICAgcGF0aC5zbGljZShwYXRoLmluZGV4T2YoJy4nKSArIDEpLnNwbGl0KCcuJykuZm9yRWFjaChwYXJ0ID0+IGZsYWdzQ2FzZUZpZWxkVmFsdWUgPSBmbGFnc0Nhc2VGaWVsZFZhbHVlW3BhcnRdKTtcbiAgICB9XG4gICAgaWYgKGZsYWdzQ2FzZUZpZWxkVmFsdWUpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBhcnR5TmFtZTogZmxhZ3NDYXNlRmllbGRWYWx1ZS5wYXJ0eU5hbWUsXG4gICAgICAgIC8vIExvb2sgaW4gdGhlIGRldGFpbHMgYXJyYXkgZm9yIHRoZSBvYmplY3QgdGhhdCBkb2VzICpub3QqIGhhdmUgYW4gaWQgLSB0aGlzIGluZGljYXRlcyBpdCBpcyB0aGUgbmV3IGZsYWdcbiAgICAgICAgZmxhZ0RldGFpbDogZmxhZ3NDYXNlRmllbGRWYWx1ZS5kZXRhaWxzLmZpbmQoZWxlbWVudCA9PiAhZWxlbWVudC5oYXNPd25Qcm9wZXJ0eSgnaWQnKSkudmFsdWVcbiAgICAgIH0gYXMgRmxhZ0RldGFpbERpc3BsYXk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImNvbnRleHRcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwicGFsZXR0ZUNvbnRleHQuQ0hFQ0tfWU9VUl9BTlNXRVJcIj5cbiAgICA8Y2NkLWNhc2UtZmxhZy1zdW1tYXJ5LWxpc3QgW2ZsYWdGb3JTdW1tYXJ5RGlzcGxheV09XCJmbGFnRm9yU3VtbWFyeURpc3BsYXlcIlxuICAgICAgW3N1bW1hcnlMaXN0RGlzcGxheU1vZGVdPVwic3VtbWFyeUxpc3REaXNwbGF5TW9kZVwiPjwvY2NkLWNhc2UtZmxhZy1zdW1tYXJ5LWxpc3Q+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgPGgyIGNsYXNzPVwiZ292dWstaGVhZGluZy1sXCI+Q2FzZSBmbGFnczwvaDI+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgZmxhZ0RhdGEgb2YgcGFydHlMZXZlbENhc2VGbGFnRGF0YVwiPlxuICAgICAgPGNjZC1jYXNlLWZsYWctdGFibGUgKm5nSWY9XCJmbGFnRGF0YS5mbGFncy5wYXJ0eU5hbWVcIlxuICAgICAgICBbdGFibGVDYXB0aW9uXT1cImZsYWdEYXRhLmZsYWdzLnBhcnR5TmFtZVwiXG4gICAgICAgIFtmbGFnRGF0YV09XCJmbGFnRGF0YVwiXG4gICAgICAgIFtmaXJzdENvbHVtbkhlYWRlcl09XCInUGFydHkgbGV2ZWwgZmxhZ3MnXCJcbiAgICAgID48L2NjZC1jYXNlLWZsYWctdGFibGU+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImNhc2VMZXZlbENhc2VGbGFnRGF0YVwiPlxuICAgICAgPGNjZC1jYXNlLWZsYWctdGFibGVcbiAgICAgICAgW3RhYmxlQ2FwdGlvbl09XCInQ2FzZSBsZXZlbCBmbGFncydcIlxuICAgICAgICBbZmxhZ0RhdGFdPVwiY2FzZUxldmVsQ2FzZUZsYWdEYXRhXCJcbiAgICAgICAgW2ZpcnN0Q29sdW1uSGVhZGVyXT1cIidDYXNlIGZsYWdzJ1wiXG4gICAgICA+PC9jY2QtY2FzZS1mbGFnLXRhYmxlPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuIl19