@igo2/common 16.1.1 → 16.2.0

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 (118) hide show
  1. package/esm2022/lib/action/actionbar/actionbar-item.component.mjs +3 -3
  2. package/esm2022/lib/action/actionbar/actionbar.component.mjs +3 -3
  3. package/esm2022/lib/action/shared/action.interfaces.mjs +1 -1
  4. package/esm2022/lib/action/shared/store.mjs +1 -1
  5. package/esm2022/lib/backdrop/backdrop.component.mjs +3 -3
  6. package/esm2022/lib/clickout/clickout.directive.mjs +1 -1
  7. package/esm2022/lib/collapsible/collapsible.component.mjs +3 -3
  8. package/esm2022/lib/collapsible/index.mjs +1 -1
  9. package/esm2022/lib/color-picker-form-field/color-picker-form-field.component.mjs +3 -3
  10. package/esm2022/lib/color-picker-form-field/index.mjs +1 -1
  11. package/esm2022/lib/confirm-dialog/confirm-dialog.component.mjs +3 -3
  12. package/esm2022/lib/confirm-dialog/confirm-dialog.interface.mjs +1 -1
  13. package/esm2022/lib/confirm-dialog/index.mjs +1 -1
  14. package/esm2022/lib/context-menu/index.mjs +1 -1
  15. package/esm2022/lib/custom-html/custom-html.component.mjs +1 -1
  16. package/esm2022/lib/custom-html/index.mjs +1 -1
  17. package/esm2022/lib/dom/dom.service.mjs +1 -1
  18. package/esm2022/lib/dynamic-component/shared/dynamic-component.mjs +1 -1
  19. package/esm2022/lib/dynamic-component/shared/dynamic-component.service.mjs +1 -1
  20. package/esm2022/lib/entity/entity-selector/entity-selector.component.mjs +3 -3
  21. package/esm2022/lib/entity/entity-table/entity-table.component.mjs +3 -3
  22. package/esm2022/lib/entity/entity-table-paginator/entity-table-paginator.component.mjs +3 -3
  23. package/esm2022/lib/entity/entity-table-paginator/entity-table-paginator.interface.mjs +1 -1
  24. package/esm2022/lib/entity/index.mjs +1 -1
  25. package/esm2022/lib/entity/shared/entity.interfaces.mjs +1 -1
  26. package/esm2022/lib/entity/shared/entity.utils.mjs +1 -1
  27. package/esm2022/lib/entity/shared/index.mjs +1 -2
  28. package/esm2022/lib/entity/shared/state.mjs +1 -1
  29. package/esm2022/lib/entity/shared/store.mjs +67 -1
  30. package/esm2022/lib/entity/shared/strategies/filter-custom-function.mjs +1 -1
  31. package/esm2022/lib/entity/shared/strategies/filter-selection.mjs +1 -1
  32. package/esm2022/lib/entity/shared/strategies/strategy.mjs +1 -1
  33. package/esm2022/lib/entity/shared/transaction.mjs +1 -1
  34. package/esm2022/lib/entity/shared/view.mjs +1 -1
  35. package/esm2022/lib/entity/shared/watcher.mjs +1 -1
  36. package/esm2022/lib/environment/environment.interface.mjs +1 -1
  37. package/esm2022/lib/environment/index.mjs +1 -1
  38. package/esm2022/lib/flexible/flexible.component.mjs +3 -3
  39. package/esm2022/lib/form/form/form.component.mjs +3 -3
  40. package/esm2022/lib/form/form-field/form-field-select.component.mjs +3 -3
  41. package/esm2022/lib/form/form-field/form-field-text.component.mjs +3 -3
  42. package/esm2022/lib/form/form-field/form-field-textarea.component.mjs +3 -3
  43. package/esm2022/lib/form/form-field/form-field.component.mjs +3 -3
  44. package/esm2022/lib/form/form-field/index.mjs +1 -1
  45. package/esm2022/lib/form/form-group/form-group.component.mjs +3 -3
  46. package/esm2022/lib/form/index.mjs +1 -1
  47. package/esm2022/lib/form/shared/form-field.service.mjs +1 -1
  48. package/esm2022/lib/form/shared/form.interfaces.mjs +1 -1
  49. package/esm2022/lib/form/shared/form.service.mjs +1 -1
  50. package/esm2022/lib/form/shared/form.utils.mjs +1 -1
  51. package/esm2022/lib/form-dialog/form-dialog.component.mjs +3 -3
  52. package/esm2022/lib/form-dialog/form-dialog.interface.mjs +1 -1
  53. package/esm2022/lib/form-dialog/form-dialog.service.mjs +1 -1
  54. package/esm2022/lib/form-dialog/index.mjs +1 -1
  55. package/esm2022/lib/home-button/home-button.component.mjs +3 -3
  56. package/esm2022/lib/image/index.mjs +1 -1
  57. package/esm2022/lib/interactive-tour/interactive-tour.component.mjs +3 -3
  58. package/esm2022/lib/interactive-tour/interactive-tour.interface.mjs +1 -1
  59. package/esm2022/lib/interactive-tour/interactive-tour.loader.mjs +1 -1
  60. package/esm2022/lib/json-dialog/json-dialog.component.mjs +3 -3
  61. package/esm2022/lib/json-dialog/json-dialog.service.mjs +1 -1
  62. package/esm2022/lib/keyvalue/keyvalue.pipe.mjs +1 -1
  63. package/esm2022/lib/list/index.mjs +1 -1
  64. package/esm2022/lib/list/list.component.mjs +3 -3
  65. package/esm2022/lib/panel/panel.component.mjs +3 -3
  66. package/esm2022/lib/select-value-dialog/index.mjs +1 -1
  67. package/esm2022/lib/select-value-dialog/select-value-check-radio-dialog.component.mjs +3 -3
  68. package/esm2022/lib/select-value-dialog/select-value-dialog.enums.mjs +1 -1
  69. package/esm2022/lib/select-value-dialog/select-value-dialog.interface.mjs +1 -1
  70. package/esm2022/lib/select-value-dialog/select-value-dialog.service.mjs +1 -1
  71. package/esm2022/lib/spinner/index.mjs +1 -1
  72. package/esm2022/lib/spinner/spinner.component.mjs +3 -3
  73. package/esm2022/lib/stop-propagation/index.mjs +1 -1
  74. package/esm2022/lib/stop-propagation/stop-drop-propagation.directive.mjs +1 -1
  75. package/esm2022/lib/stop-propagation/stop-propagation.directive.mjs +1 -1
  76. package/esm2022/lib/table/table-datasource.mjs +1 -1
  77. package/esm2022/lib/table/table-model.interface.mjs +1 -1
  78. package/esm2022/lib/table/table.component.mjs +3 -3
  79. package/esm2022/lib/tool/shared/tool-component.mjs +1 -1
  80. package/esm2022/lib/tool/shared/toolbox.mjs +1 -1
  81. package/esm2022/lib/tool/toolbox/toolbox.animation.mjs +1 -1
  82. package/esm2022/lib/tool/toolbox/toolbox.component.mjs +3 -3
  83. package/esm2022/lib/widget/shared/widget.service.mjs +1 -1
  84. package/esm2022/lib/widget/widget-outlet/widget-outlet.component.mjs +3 -3
  85. package/esm2022/lib/workspace/index.mjs +1 -1
  86. package/esm2022/lib/workspace/shared/store.mjs +1 -1
  87. package/esm2022/lib/workspace/shared/workspace.interfaces.mjs +1 -1
  88. package/esm2022/lib/workspace/shared/workspace.mjs +1 -1
  89. package/esm2022/lib/workspace/workspace-selector/workspace-selector.component.mjs +3 -3
  90. package/esm2022/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.mjs +3 -3
  91. package/fesm2022/igo2-common.mjs +125 -131
  92. package/fesm2022/igo2-common.mjs.map +1 -1
  93. package/lib/entity/shared/index.d.ts +0 -1
  94. package/lib/entity/shared/store.d.ts +33 -0
  95. package/lib/entity/shared/strategies/strategy.d.ts +1 -1
  96. package/lib/workspace/shared/workspace.d.ts +2 -2
  97. package/locale/en.common.json +59 -59
  98. package/locale/fr.common.json +59 -59
  99. package/package.json +3 -3
  100. package/src/common-theme.scss +19 -19
  101. package/src/lib/action/action.theming.scss +5 -5
  102. package/src/lib/action/actionbar/actionbar-item.theming.scss +32 -32
  103. package/src/lib/action/actionbar/actionbar.theming.scss +22 -22
  104. package/src/lib/collapsible/collapsible.theming.scss +22 -22
  105. package/src/lib/entity/entity-selector/entity-selector.theming.scss +21 -21
  106. package/src/lib/entity/entity-table/entity-table.theming.scss +37 -37
  107. package/src/lib/entity/entity.theming.scss +7 -7
  108. package/src/lib/home-button/home-button.theming.scss +18 -18
  109. package/src/lib/interactive-tour/interactive-tour.theming.scss +32 -32
  110. package/src/lib/list/list.theming.scss +58 -58
  111. package/src/lib/panel/panel.theming.scss +30 -30
  112. package/src/lib/tool/tool.theming.scss +5 -5
  113. package/src/lib/tool/toolbox/toolbox.theming.scss +105 -105
  114. package/src/style/partial/common-utils.scss +9 -9
  115. package/src/style/partial/common.variables.scss +8 -8
  116. package/src/style/style.scss +1 -1
  117. package/esm2022/lib/entity/shared/store-strategy.mjs +0 -73
  118. package/lib/entity/shared/store-strategy.d.ts +0 -38
@@ -32,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
32
32
  providedIn: 'root'
33
33
  }]
34
34
  }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9kb20vZG9tLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBcUIsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBT2pELE1BQU0sT0FBTyxVQUFVO0lBQ0Q7SUFBcEIsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUFHLENBQUM7SUFFeEMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFlO1FBQzFCLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUM7UUFDcEIsSUFBSSxNQUFrQixDQUFDO1FBRXZCLE1BQU0sSUFBSSxDQUFDLElBQUk7YUFDWixHQUFHLENBQU0sR0FBRyxDQUFDO2FBQ2IsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2YsTUFBTSxHQUFHLFFBQVEsQ0FBQztZQUNsQixPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxHQUFzQixFQUFFLEVBQUU7WUFDcEMsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQ0g7YUFDQSxTQUFTLEVBQUUsQ0FBQztRQUVmLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7d0dBckJVLFVBQVU7NEdBQVYsVUFBVSxjQUZULE1BQU07OzRGQUVQLFVBQVU7a0JBSHRCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgRE9NT3B0aW9ucywgRE9NVmFsdWUgfSBmcm9tICcuL2RvbS5pbnRlcmZhY2VzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIERPTVNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge31cclxuXHJcbiAgYXN5bmMgZ2V0RG9tKGRvbTogRE9NT3B0aW9ucyk6IFByb21pc2U8RE9NVmFsdWVbXT4ge1xyXG4gICAgY29uc3QgdXJsID0gZG9tLnVybDtcclxuICAgIGxldCByZXN1bHQ6IERPTVZhbHVlW107XHJcblxyXG4gICAgYXdhaXQgdGhpcy5odHRwXHJcbiAgICAgIC5nZXQ8YW55Pih1cmwpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHJlc3VsdCA9IHJlc3BvbnNlO1xyXG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycik7XHJcbiAgICAgICAgfSlcclxuICAgICAgKVxyXG4gICAgICAudG9Qcm9taXNlKCk7XHJcblxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcbn1cclxuIl19
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9kb20vZG9tLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBcUIsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBT2pELE1BQU0sT0FBTyxVQUFVO0lBQ0Q7SUFBcEIsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUFHLENBQUM7SUFFeEMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFlO1FBQzFCLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUM7UUFDcEIsSUFBSSxNQUFrQixDQUFDO1FBRXZCLE1BQU0sSUFBSSxDQUFDLElBQUk7YUFDWixHQUFHLENBQU0sR0FBRyxDQUFDO2FBQ2IsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2YsTUFBTSxHQUFHLFFBQVEsQ0FBQztZQUNsQixPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxHQUFzQixFQUFFLEVBQUU7WUFDcEMsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQ0g7YUFDQSxTQUFTLEVBQUUsQ0FBQztRQUVmLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7d0dBckJVLFVBQVU7NEdBQVYsVUFBVSxjQUZULE1BQU07OzRGQUVQLFVBQVU7a0JBSHRCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRE9NT3B0aW9ucywgRE9NVmFsdWUgfSBmcm9tICcuL2RvbS5pbnRlcmZhY2VzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRE9NU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge31cblxuICBhc3luYyBnZXREb20oZG9tOiBET01PcHRpb25zKTogUHJvbWlzZTxET01WYWx1ZVtdPiB7XG4gICAgY29uc3QgdXJsID0gZG9tLnVybDtcbiAgICBsZXQgcmVzdWx0OiBET01WYWx1ZVtdO1xuXG4gICAgYXdhaXQgdGhpcy5odHRwXG4gICAgICAuZ2V0PGFueT4odXJsKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICByZXN1bHQgPSByZXNwb25zZTtcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKChlcnI6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC50b1Byb21pc2UoKTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cbiJdfQ==
@@ -180,4 +180,4 @@ export class DynamicComponent {
180
180
  this.subscriptions = [];
181
181
  }
182
182
  }
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9keW5hbWljLWNvbXBvbmVudC9zaGFyZWQvZHluYW1pYy1jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFaEQ7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBZ0NQO0lBL0JwQjs7T0FFRztJQUNLLFlBQVksQ0FBa0I7SUFFdEM7OztPQUdHO0lBQ0ssYUFBYSxHQUFtQixFQUFFLENBQUM7SUFFM0M7O09BRUc7SUFDSyxNQUFNLENBQW1CO0lBRWpDOztPQUVHO0lBQ0ssTUFBTSxHQUEyQixFQUFFLENBQUM7SUFFNUM7O09BRUc7SUFDSyxRQUFRLEdBQW9DLEVBQUUsQ0FBQztJQUV2RDs7T0FFRztJQUNLLFdBQVcsR0FBNEMsRUFBRSxDQUFDO0lBRWxFLFlBQW9CLGdCQUFxQztRQUFyQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXFCO0lBQUcsQ0FBQztJQUU3RDs7OztPQUlHO0lBQ0gsU0FBUyxDQUFDLE1BQXdCO1FBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxPQUFPO1FBQ0wsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRTtZQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFD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QUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDO1NBQ2hDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ssa0JBQWtCO1FBQ3hCLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQTJCLEVBQUUsRUFBRTtZQUNuRSxJQUFJLENBQUMsS0FBSyxTQUFTLEVBQUU7Z0JBQ25CLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUNqQjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ0ssY0FBYztRQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDMUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnRGYWN0b3J5LFxyXG4gIENvbXBvbmVudFJlZixcclxuICBWaWV3Q29udGFpbmVyUmVmXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbi8qKlxyXG4gKiBUaGlzIGNsYXNzIGlzIHVzZWQgaW4gdGhlIER5bmFtaWNDb21wb25lbnRPdXRsZXQgY29tcG9uZW50LiBJdCBob2xkc1xyXG4gKiBhIHJlZmVyZW5jZSB0byBhIGNvbXBvbmVudCBmYWN0b3J5IGFuZCBjYW4gcmVuZGVyIHRoYXQgY29tcG9uZW50XHJcbiAqIGluIGEgdGFyZ2V0IGVsZW1lbnQgb24gZGVtYW5kLiBJdCdzIGFsc28gcG9zc2libGUgdG8gc2V0IGlucHV0c1xyXG4gKiBhbmQgdG8gc3Vic2NyaWJlIHRvIG91dHB1dHMuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRHluYW1pY0NvbXBvbmVudDxDPiB7XHJcbiAgLyoqXHJcbiAgICogQ29tcG9uZW50IHJlZmVyZW5jZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8Qz47XHJcblxyXG4gIC8qKlxyXG4gICAqIFN1YnNjcmlwdGlvbnMgdG8gdGhlIGNvbXBvbmVudCdzIG91dHB1dHMuIFRob3NlIG5lZWRcclxuICAgKiB0byBiZSB1bnN1YnNjcmliZWQgd2hlbiB0aGUgY29tcG9uZW50IGlzIGRlc3Ryb3llZC5cclxuICAgKi9cclxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbXBvbmVudCB0YXJnZXQgZWxlbWVudFxyXG4gICAqL1xyXG4gIHByaXZhdGUgdGFyZ2V0OiBWaWV3Q29udGFpbmVyUmVmO1xyXG5cclxuICAvKipcclxuICAgKiBDb21wb25lbnQgaW5wdXRzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBpbnB1dHM6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcclxuXHJcbiAgLyoqXHJcbiAgICogU3Vic2NyaXB0aW9ucyB0byB0aGUgY29tcG9uZW50J3MgYXN5bmMgaW5wdXRzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBpbnB1dHMkJDogeyBba2V5OiBzdHJpbmddOiBTdWJzY3JpcHRpb24gfSA9IHt9O1xyXG5cclxuICAvKipcclxuICAgKiBTdWJzY3JpYmVycyB0byB0aGUgY29tcG9uZW50J3Mgb3V0cHV0c1xyXG4gICAqL1xyXG4gIHByaXZhdGUgc3Vic2NyaWJlcnM6IHsgW2tleTogc3RyaW5nXTogKGV2ZW50OiBhbnkpID0+IHZvaWQgfSA9IHt9O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbXBvbmVudEZhY3Rvcnk6IENvbXBvbmVudEZhY3Rvcnk8Qz4pIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbmRlciB0aGUgY29tcG9uZW50IHRvIGEgdGFyZ2V0IGVsZW1lbnQuXHJcbiAgICogU2V0IGl0J3MgaW5wdXRzIGFuZCBzdWJzY3JpYmUgdG8gaXQncyBvdXRwdXRzLlxyXG4gICAqIEBwYXJhbSB0YXJnZXQgVGFyZ2V0IGVsZW1lbnRcclxuICAgKi9cclxuICBzZXRUYXJnZXQodGFyZ2V0OiBWaWV3Q29udGFpbmVyUmVmKSB7XHJcbiAgICB0aGlzLnRhcmdldCA9IHRhcmdldDtcclxuICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGFyZ2V0LmNyZWF0ZUNvbXBvbmVudCh0aGlzLmNvbXBvbmVudEZhY3RvcnkpO1xyXG4gICAgdGhpcy51cGRhdGVJbnB1dHModGhpcy5pbnB1dHMpO1xyXG4gICAgdGhpcy51cGRhdGVTdWJzY3JpYmVycyh0aGlzLnN1YnNjcmliZXJzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlc3Ryb3kgdGhpcyBjb21wb25lbnQuIFRoYXQgbWVhbnMsIHJlbW92aW5nIGZyb20gaXQncyB0YXJnZXRcclxuICAgKiBlbGVtZW50IGFuZCB1bnN1YnNjcmliaW5nIHRvIGl0J3Mgb3V0cHV0cy5cclxuICAgKi9cclxuICBkZXN0cm95KCkge1xyXG4gICAgaWYgKHRoaXMudGFyZ2V0ICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy50YXJnZXQuY2xlYXIoKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZiAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcclxuICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICB0aGlzLnVub2JzZXJ2ZUFsbElucHV0cygpO1xyXG4gICAgdGhpcy51bnN1YnNjcmliZUFsbCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIHRoZSBjb21wb25lbnQgaW5wdXRzLiBUaGlzIGlzIGFuIHVwZGF0ZSBzbyBhbnlcclxuICAgKiBrZXkgbm90IGRlZmluZWQgd29uJ3QgYmUgb3ZlcndyaXR0ZW4uXHJcbiAgICovXHJcbiAgdXBkYXRlSW5wdXRzKGlucHV0czogeyBba2V5OiBzdHJpbmddOiBhbnkgfSkge1xyXG4gICAgdGhpcy5pbnB1dHMgPSBpbnB1dHM7XHJcbiAgICBpZiAodGhpcy5jb21wb25lbnRSZWYgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaW5zdGFuY2UgPSB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZTtcclxuICAgIGNvbnN0IGFsbG93ZWRJbnB1dHMgPSB0aGlzLmNvbXBvbmVudEZhY3RvcnkuaW5wdXRzO1xyXG4gICAgYWxsb3dlZElucHV0cy5mb3JFYWNoKFxyXG4gICAgICAodmFsdWU6IHsgcHJvcE5hbWU6IHN0cmluZzsgdGVtcGxhdGVOYW1lOiBzdHJpbmcgfSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGtleSA9IHZhbHVlLnByb3BOYW1lO1xyXG5cclxuICAgICAgICB0aGlzLnVub2JzZXJ2ZUlucHV0KGtleSk7XHJcblxyXG4gICAgICAgIGNvbnN0IGlucHV0VmFsdWUgPSBpbnB1dHNba2V5XTtcclxuICAgICAgICBpZiAoaW5wdXRzLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgICAgIGlmIChpbnB1dFZhbHVlIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xyXG4gICAgICAgICAgICB0aGlzLm9ic2VydmVJbnB1dChrZXksIGlucHV0VmFsdWUpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5zZXRJbnB1dFZhbHVlKGluc3RhbmNlLCBrZXksIGlucHV0VmFsdWUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuXHJcbiAgICBpZiAodHlwZW9mIChpbnN0YW5jZSBhcyBhbnkpLm9uVXBkYXRlSW5wdXRzID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIChpbnN0YW5jZSBhcyBhbnkpLm9uVXBkYXRlSW5wdXRzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgYW4gaW5zdGFuY2UncyBpbnB1dCB2YWx1ZVxyXG4gICAqIEBwYXJhbSBpbnN0YW5jZSBDb21wb25lbnQgaW5zdGFuY2VcclxuICAgKiBAcGFyYW0ga2V5IElucHV0IGtleVxyXG4gICAqIEBwYXJhbSB2YWx1ZSBJbnB1dCB2YWx1ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgc2V0SW5wdXRWYWx1ZShpbnN0YW5jZTogQywga2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcclxuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGluc3RhbmNlW2tleV07XHJcbiAgICBpZiAodmFsdWUgPT09IGN1cnJlbnRWYWx1ZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcHJvdG90eXBlID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKGluc3RhbmNlKTtcclxuICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHByb3RvdHlwZSwga2V5KTtcclxuICAgIGlmIChkZXNjcmlwdG9yICE9PSB1bmRlZmluZWQgJiYgZGVzY3JpcHRvci5zZXQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBkZXNjcmlwdG9yLnNldC5jYWxsKGluc3RhbmNlLCB2YWx1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpbnN0YW5jZVtrZXldID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGUgdGhlIGNvbXBvbmVudCBzdWJzY3JpYmVycy4gVGhpcyBpcyBhbiB1cGRhdGUgc28gYW55XHJcbiAgICoga2V5IG5vdCBkZWZpbmVkIHdvbid0IGJlIG92ZXJ3cml0dGVuLlxyXG4gICAqL1xyXG4gIHVwZGF0ZVN1YnNjcmliZXJzKHN1YnNjcmliZXJzOiB7IFtrZXk6IHN0cmluZ106IChldmVudDogYW55KSA9PiB2b2lkIH0pIHtcclxuICAgIHRoaXMuc3Vic2NyaWJlcnMgPSBzdWJzY3JpYmVycztcclxuICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZiA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBpbnN0YW5jZSA9IHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlO1xyXG4gICAgY29uc3QgYWxsb3dlZFN1YnNjcmliZXJzID0gdGhpcy5jb21wb25lbnRGYWN0b3J5Lm91dHB1dHM7XHJcbiAgICBhbGxvd2VkU3Vic2NyaWJlcnMuZm9yRWFjaChcclxuICAgICAgKHZhbHVlOiB7IHByb3BOYW1lOiBzdHJpbmc7IHRlbXBsYXRlTmFtZTogc3RyaW5nIH0pID0+IHtcclxuICAgICAgICBjb25zdCBrZXkgPSB2YWx1ZS5wcm9wTmFtZTtcclxuICAgICAgICBpZiAoc3Vic2NyaWJlcnMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgICAgY29uc3QgZW1pdHRlciA9IGluc3RhbmNlW2tleV07XHJcbiAgICAgICAgICBjb25zdCBzdWJzY3JpYmVyID0gc3Vic2NyaWJlcnNba2V5XTtcclxuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHN1YnNjcmliZXIpKSB7XHJcbiAgICAgICAgICAgIHN1YnNjcmliZXIuZm9yRWFjaCgoX3N1YnNjcmliZXIpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChlbWl0dGVyLnN1YnNjcmliZShfc3Vic2NyaWJlcikpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKGVtaXR0ZXIuc3Vic2NyaWJlKHN1YnNjcmliZXIpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTdWJzY3JpYmUgdG8gYW4gb2JzZXJ2YWJsZSBpbnB1dCBhbmQgdXBkYXRlIHRoZSBjb21wb25lbnQncyBpbnB1dCB2YWx1ZVxyXG4gICAqIGFjY29yZGluZ2x5XHJcbiAgICogQHBhcmFtIGtleSBJbnB1dCBrZXlcclxuICAgKiBAcGFyYW0gb2JzZXJ2YWJsZSBPYnNlcnZhYmxlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBvYnNlcnZlSW5wdXQoa2V5OiBzdHJpbmcsIG9ic2VydmFibGU6IE9ic2VydmFibGU8YW55Pikge1xyXG4gICAgdGhpcy5pbnB1dHMkJFtrZXldID0gb2JzZXJ2YWJsZS5zdWJzY3JpYmUoKHZhbHVlOiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgaW5zdGFuY2UgPSB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZTtcclxuICAgICAgdGhpcy5zZXRJbnB1dFZhbHVlKGluc3RhbmNlLCBrZXksIHZhbHVlKTtcclxuXHJcbiAgICAgIGlmICh0eXBlb2YgKGluc3RhbmNlIGFzIGFueSkub25VcGRhdGVJbnB1dHMgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAoaW5zdGFuY2UgYXMgYW55KS5vblVwZGF0ZUlucHV0cygpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVuc3Vic2NyaWJlIHRvIGFuIG9ic2VydmFibGUgaW5wdXRcclxuICAgKiBAcGFyYW0ga2V5IElucHV0IGtleVxyXG4gICAqL1xyXG4gIHByaXZhdGUgdW5vYnNlcnZlSW5wdXQoa2V5OiBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLmlucHV0cyQkW2tleV0gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLmlucHV0cyQkW2tleV0udW5zdWJzY3JpYmUoKTtcclxuICAgICAgdGhpcy5pbnB1dHMkJFtrZXldID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVW5zdWJzY3JpYmUgdG8gYWxsIG91dHB1dHMuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB1bm9ic2VydmVBbGxJbnB1dHMoKSB7XHJcbiAgICBPYmplY3QudmFsdWVzKHRoaXMuaW5wdXRzJCQpLmZvckVhY2goKHM6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZCkgPT4ge1xyXG4gICAgICBpZiAocyAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgcy51bnN1YnNjcmliZSgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuaW5wdXRzJCQgPSB7fTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVuc3Vic2NyaWJlIHRvIGFsbCBvdXRwdXRzLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgdW5zdWJzY3JpYmVBbGwoKSB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaCgoczogU3Vic2NyaXB0aW9uKSA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zID0gW107XHJcbiAgfVxyXG59XHJcbiJdfQ==
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9keW5hbWljLWNvbXBvbmVudC9zaGFyZWQvZHluYW1pYy1jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFaEQ7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBZ0NQO0lBL0JwQjs7T0FFRztJQUNLLFlBQVksQ0FBa0I7SUFFdEM7OztPQUdHO0lBQ0ssYUFBYSxHQUFtQixFQUFFLENBQUM7SUFFM0M7O09BRUc7SUFDSyxNQUFNLENBQW1CO0lBRWpDOztPQUVHO0lBQ0ssTUFBTSxHQUEyQixFQUFFLENBQUM7SUFFNUM7O09BRUc7SUFDSyxRQUFRLEdBQW9DLEVBQUUsQ0FBQztJQUV2RDs7T0FFRztJQUNLLFdBQVcsR0FBNEMsRUFBRSxDQUFDO0lBRWxFLFlBQW9CLGdCQUFxQztRQUFyQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXFCO0lBQUcsQ0FBQztJQUU3RDs7OztPQUlHO0lBQ0gsU0FBUyxDQUFDLE1BQXdCO1FBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxPQUFPO1FBQ0wsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRTtZQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFD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QUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDO1NBQ2hDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ssa0JBQWtCO1FBQ3hCLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQTJCLEVBQUUsRUFBRTtZQUNuRSxJQUFJLENBQUMsS0FBSyxTQUFTLEVBQUU7Z0JBQ25CLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUNqQjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ0ssY0FBYztRQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDMUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50RmFjdG9yeSxcbiAgQ29tcG9uZW50UmVmLFxuICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBUaGlzIGNsYXNzIGlzIHVzZWQgaW4gdGhlIER5bmFtaWNDb21wb25lbnRPdXRsZXQgY29tcG9uZW50LiBJdCBob2xkc1xuICogYSByZWZlcmVuY2UgdG8gYSBjb21wb25lbnQgZmFjdG9yeSBhbmQgY2FuIHJlbmRlciB0aGF0IGNvbXBvbmVudFxuICogaW4gYSB0YXJnZXQgZWxlbWVudCBvbiBkZW1hbmQuIEl0J3MgYWxzbyBwb3NzaWJsZSB0byBzZXQgaW5wdXRzXG4gKiBhbmQgdG8gc3Vic2NyaWJlIHRvIG91dHB1dHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBEeW5hbWljQ29tcG9uZW50PEM+IHtcbiAgLyoqXG4gICAqIENvbXBvbmVudCByZWZlcmVuY2VcbiAgICovXG4gIHByaXZhdGUgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8Qz47XG5cbiAgLyoqXG4gICAqIFN1YnNjcmlwdGlvbnMgdG8gdGhlIGNvbXBvbmVudCdzIG91dHB1dHMuIFRob3NlIG5lZWRcbiAgICogdG8gYmUgdW5zdWJzY3JpYmVkIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBkZXN0cm95ZWQuXG4gICAqL1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgLyoqXG4gICAqIENvbXBvbmVudCB0YXJnZXQgZWxlbWVudFxuICAgKi9cbiAgcHJpdmF0ZSB0YXJnZXQ6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgLyoqXG4gICAqIENvbXBvbmVudCBpbnB1dHNcbiAgICovXG4gIHByaXZhdGUgaW5wdXRzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XG5cbiAgLyoqXG4gICAqIFN1YnNjcmlwdGlvbnMgdG8gdGhlIGNvbXBvbmVudCdzIGFzeW5jIGlucHV0c1xuICAgKi9cbiAgcHJpdmF0ZSBpbnB1dHMkJDogeyBba2V5OiBzdHJpbmddOiBTdWJzY3JpcHRpb24gfSA9IHt9O1xuXG4gIC8qKlxuICAgKiBTdWJzY3JpYmVycyB0byB0aGUgY29tcG9uZW50J3Mgb3V0cHV0c1xuICAgKi9cbiAgcHJpdmF0ZSBzdWJzY3JpYmVyczogeyBba2V5OiBzdHJpbmddOiAoZXZlbnQ6IGFueSkgPT4gdm9pZCB9ID0ge307XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5OiBDb21wb25lbnRGYWN0b3J5PEM+KSB7fVxuXG4gIC8qKlxuICAgKiBSZW5kZXIgdGhlIGNvbXBvbmVudCB0byBhIHRhcmdldCBlbGVtZW50LlxuICAgKiBTZXQgaXQncyBpbnB1dHMgYW5kIHN1YnNjcmliZSB0byBpdCdzIG91dHB1dHMuXG4gICAqIEBwYXJhbSB0YXJnZXQgVGFyZ2V0IGVsZW1lbnRcbiAgICovXG4gIHNldFRhcmdldCh0YXJnZXQ6IFZpZXdDb250YWluZXJSZWYpIHtcbiAgICB0aGlzLnRhcmdldCA9IHRhcmdldDtcbiAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHRhcmdldC5jcmVhdGVDb21wb25lbnQodGhpcy5jb21wb25lbnRGYWN0b3J5KTtcbiAgICB0aGlzLnVwZGF0ZUlucHV0cyh0aGlzLmlucHV0cyk7XG4gICAgdGhpcy51cGRhdGVTdWJzY3JpYmVycyh0aGlzLnN1YnNjcmliZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXN0cm95IHRoaXMgY29tcG9uZW50LiBUaGF0IG1lYW5zLCByZW1vdmluZyBmcm9tIGl0J3MgdGFyZ2V0XG4gICAqIGVsZW1lbnQgYW5kIHVuc3Vic2NyaWJpbmcgdG8gaXQncyBvdXRwdXRzLlxuICAgKi9cbiAgZGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy50YXJnZXQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy50YXJnZXQuY2xlYXIoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICB0aGlzLnVub2JzZXJ2ZUFsbElucHV0cygpO1xuICAgIHRoaXMudW5zdWJzY3JpYmVBbGwoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgdGhlIGNvbXBvbmVudCBpbnB1dHMuIFRoaXMgaXMgYW4gdXBkYXRlIHNvIGFueVxuICAgKiBrZXkgbm90IGRlZmluZWQgd29uJ3QgYmUgb3ZlcndyaXR0ZW4uXG4gICAqL1xuICB1cGRhdGVJbnB1dHMoaW5wdXRzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KSB7XG4gICAgdGhpcy5pbnB1dHMgPSBpbnB1dHM7XG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpbnN0YW5jZSA9IHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlO1xuICAgIGNvbnN0IGFsbG93ZWRJbnB1dHMgPSB0aGlzLmNvbXBvbmVudEZhY3RvcnkuaW5wdXRzO1xuICAgIGFsbG93ZWRJbnB1dHMuZm9yRWFjaChcbiAgICAgICh2YWx1ZTogeyBwcm9wTmFtZTogc3RyaW5nOyB0ZW1wbGF0ZU5hbWU6IHN0cmluZyB9KSA9PiB7XG4gICAgICAgIGNvbnN0IGtleSA9IHZhbHVlLnByb3BOYW1lO1xuXG4gICAgICAgIHRoaXMudW5vYnNlcnZlSW5wdXQoa2V5KTtcblxuICAgICAgICBjb25zdCBpbnB1dFZhbHVlID0gaW5wdXRzW2tleV07XG4gICAgICAgIGlmIChpbnB1dHMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgIGlmIChpbnB1dFZhbHVlIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlSW5wdXQoa2V5LCBpbnB1dFZhbHVlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZXRJbnB1dFZhbHVlKGluc3RhbmNlLCBrZXksIGlucHV0VmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG5cbiAgICBpZiAodHlwZW9mIChpbnN0YW5jZSBhcyBhbnkpLm9uVXBkYXRlSW5wdXRzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAoaW5zdGFuY2UgYXMgYW55KS5vblVwZGF0ZUlucHV0cygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgYW4gaW5zdGFuY2UncyBpbnB1dCB2YWx1ZVxuICAgKiBAcGFyYW0gaW5zdGFuY2UgQ29tcG9uZW50IGluc3RhbmNlXG4gICAqIEBwYXJhbSBrZXkgSW5wdXQga2V5XG4gICAqIEBwYXJhbSB2YWx1ZSBJbnB1dCB2YWx1ZVxuICAgKi9cbiAgcHJpdmF0ZSBzZXRJbnB1dFZhbHVlKGluc3RhbmNlOiBDLCBrZXk6IHN0cmluZywgdmFsdWU6IGFueSkge1xuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGluc3RhbmNlW2tleV07XG4gICAgaWYgKHZhbHVlID09PSBjdXJyZW50VmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwcm90b3R5cGUgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoaW5zdGFuY2UpO1xuICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHByb3RvdHlwZSwga2V5KTtcbiAgICBpZiAoZGVzY3JpcHRvciAhPT0gdW5kZWZpbmVkICYmIGRlc2NyaXB0b3Iuc2V0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGRlc2NyaXB0b3Iuc2V0LmNhbGwoaW5zdGFuY2UsIHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaW5zdGFuY2Vba2V5XSA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgdGhlIGNvbXBvbmVudCBzdWJzY3JpYmVycy4gVGhpcyBpcyBhbiB1cGRhdGUgc28gYW55XG4gICAqIGtleSBub3QgZGVmaW5lZCB3b24ndCBiZSBvdmVyd3JpdHRlbi5cbiAgICovXG4gIHVwZGF0ZVN1YnNjcmliZXJzKHN1YnNjcmliZXJzOiB7IFtrZXk6IHN0cmluZ106IChldmVudDogYW55KSA9PiB2b2lkIH0pIHtcbiAgICB0aGlzLnN1YnNjcmliZXJzID0gc3Vic2NyaWJlcnM7XG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpbnN0YW5jZSA9IHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlO1xuICAgIGNvbnN0IGFsbG93ZWRTdWJzY3JpYmVycyA9IHRoaXMuY29tcG9uZW50RmFjdG9yeS5vdXRwdXRzO1xuICAgIGFsbG93ZWRTdWJzY3JpYmVycy5mb3JFYWNoKFxuICAgICAgKHZhbHVlOiB7IHByb3BOYW1lOiBzdHJpbmc7IHRlbXBsYXRlTmFtZTogc3RyaW5nIH0pID0+IHtcbiAgICAgICAgY29uc3Qga2V5ID0gdmFsdWUucHJvcE5hbWU7XG4gICAgICAgIGlmIChzdWJzY3JpYmVycy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgY29uc3QgZW1pdHRlciA9IGluc3RhbmNlW2tleV07XG4gICAgICAgICAgY29uc3Qgc3Vic2NyaWJlciA9IHN1YnNjcmliZXJzW2tleV07XG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoc3Vic2NyaWJlcikpIHtcbiAgICAgICAgICAgIHN1YnNjcmliZXIuZm9yRWFjaCgoX3N1YnNjcmliZXIpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goZW1pdHRlci5zdWJzY3JpYmUoX3N1YnNjcmliZXIpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChlbWl0dGVyLnN1YnNjcmliZShzdWJzY3JpYmVyKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWJzY3JpYmUgdG8gYW4gb2JzZXJ2YWJsZSBpbnB1dCBhbmQgdXBkYXRlIHRoZSBjb21wb25lbnQncyBpbnB1dCB2YWx1ZVxuICAgKiBhY2NvcmRpbmdseVxuICAgKiBAcGFyYW0ga2V5IElucHV0IGtleVxuICAgKiBAcGFyYW0gb2JzZXJ2YWJsZSBPYnNlcnZhYmxlXG4gICAqL1xuICBwcml2YXRlIG9ic2VydmVJbnB1dChrZXk6IHN0cmluZywgb2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxhbnk+KSB7XG4gICAgdGhpcy5pbnB1dHMkJFtrZXldID0gb2JzZXJ2YWJsZS5zdWJzY3JpYmUoKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IGluc3RhbmNlID0gdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgICB0aGlzLnNldElucHV0VmFsdWUoaW5zdGFuY2UsIGtleSwgdmFsdWUpO1xuXG4gICAgICBpZiAodHlwZW9mIChpbnN0YW5jZSBhcyBhbnkpLm9uVXBkYXRlSW5wdXRzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIChpbnN0YW5jZSBhcyBhbnkpLm9uVXBkYXRlSW5wdXRzKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVW5zdWJzY3JpYmUgdG8gYW4gb2JzZXJ2YWJsZSBpbnB1dFxuICAgKiBAcGFyYW0ga2V5IElucHV0IGtleVxuICAgKi9cbiAgcHJpdmF0ZSB1bm9ic2VydmVJbnB1dChrZXk6IHN0cmluZykge1xuICAgIGlmICh0aGlzLmlucHV0cyQkW2tleV0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5pbnB1dHMkJFtrZXldLnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLmlucHV0cyQkW2tleV0gPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFVuc3Vic2NyaWJlIHRvIGFsbCBvdXRwdXRzLlxuICAgKi9cbiAgcHJpdmF0ZSB1bm9ic2VydmVBbGxJbnB1dHMoKSB7XG4gICAgT2JqZWN0LnZhbHVlcyh0aGlzLmlucHV0cyQkKS5mb3JFYWNoKChzOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQpID0+IHtcbiAgICAgIGlmIChzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcy51bnN1YnNjcmliZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuaW5wdXRzJCQgPSB7fTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbnN1YnNjcmliZSB0byBhbGwgb3V0cHV0cy5cbiAgICovXG4gIHByaXZhdGUgdW5zdWJzY3JpYmVBbGwoKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goKHM6IFN1YnNjcmlwdGlvbikgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBbXTtcbiAgfVxufVxuIl19
@@ -27,4 +27,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
27
27
  providedIn: 'root'
28
28
  }]
29
29
  }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }]; } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2R5bmFtaWMtY29tcG9uZW50L3NoYXJlZC9keW5hbWljLWNvbXBvbmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBRXZEOztHQUVHO0FBSUgsTUFBTSxPQUFPLHVCQUF1QjtJQUNkO0lBQXBCLFlBQW9CLFFBQWtDO1FBQWxDLGFBQVEsR0FBUixRQUFRLENBQTBCO0lBQUcsQ0FBQztJQUUxRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFlBQWlCO1FBQ3RCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsWUFBbUIsQ0FBQyxDQUFDO1FBQzNFLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBc0IsT0FBTyxDQUFDLENBQUM7SUFDNUQsQ0FBQzt3R0FYVSx1QkFBdUI7NEdBQXZCLHVCQUF1QixjQUZ0QixNQUFNOzs0RkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBEeW5hbWljQ29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogU2VydmljZSB0byBjcmVhdGVzIER5bmFtaWNDb21wb25lbnQgaW5zdGFuY2VzIGZyb20gYmFzZSBjb21wb25lbnQgY2xhc3Nlc1xyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0NvbXBvbmVudFNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcikge31cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlcyBhIER5bmFtaWNDb21wb25lbnQgaW5zdGFuY2UgZnJvbSBhIGJhc2UgY29tcG9uZW50IGNsYXNzXHJcbiAgICogQHBhcmFtIGNvbXBvbmVudENscyBUaGUgY29tcG9uZW50IGNsYXNzXHJcbiAgICogQHJldHVybnMgRHluYW1pY0NvbXBvbmVudCBpbnN0YW5jZVxyXG4gICAqL1xyXG4gIGNyZWF0ZShjb21wb25lbnRDbHM6IGFueSk6IER5bmFtaWNDb21wb25lbnQ8YW55PiB7XHJcbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5yZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb21wb25lbnRDbHMgYXMgYW55KTtcclxuICAgIHJldHVybiBuZXcgRHluYW1pY0NvbXBvbmVudDx0eXBlb2YgY29tcG9uZW50Q2xzPihmYWN0b3J5KTtcclxuICB9XHJcbn1cclxuIl19
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2R5bmFtaWMtY29tcG9uZW50L3NoYXJlZC9keW5hbWljLWNvbXBvbmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBRXZEOztHQUVHO0FBSUgsTUFBTSxPQUFPLHVCQUF1QjtJQUNkO0lBQXBCLFlBQW9CLFFBQWtDO1FBQWxDLGFBQVEsR0FBUixRQUFRLENBQTBCO0lBQUcsQ0FBQztJQUUxRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFlBQWlCO1FBQ3RCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsWUFBbUIsQ0FBQyxDQUFDO1FBQzNFLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBc0IsT0FBTyxDQUFDLENBQUM7SUFDNUQsQ0FBQzt3R0FYVSx1QkFBdUI7NEdBQXZCLHVCQUF1QixjQUZ0QixNQUFNOzs0RkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IER5bmFtaWNDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtY29tcG9uZW50JztcblxuLyoqXG4gKiBTZXJ2aWNlIHRvIGNyZWF0ZXMgRHluYW1pY0NvbXBvbmVudCBpbnN0YW5jZXMgZnJvbSBiYXNlIGNvbXBvbmVudCBjbGFzc2VzXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNDb21wb25lbnRTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKSB7fVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgRHluYW1pY0NvbXBvbmVudCBpbnN0YW5jZSBmcm9tIGEgYmFzZSBjb21wb25lbnQgY2xhc3NcbiAgICogQHBhcmFtIGNvbXBvbmVudENscyBUaGUgY29tcG9uZW50IGNsYXNzXG4gICAqIEByZXR1cm5zIER5bmFtaWNDb21wb25lbnQgaW5zdGFuY2VcbiAgICovXG4gIGNyZWF0ZShjb21wb25lbnRDbHM6IGFueSk6IER5bmFtaWNDb21wb25lbnQ8YW55PiB7XG4gICAgY29uc3QgZmFjdG9yeSA9IHRoaXMucmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50Q2xzIGFzIGFueSk7XG4gICAgcmV0dXJuIG5ldyBEeW5hbWljQ29tcG9uZW50PHR5cGVvZiBjb21wb25lbnRDbHM+KGZhY3RvcnkpO1xuICB9XG59XG4iXX0=
@@ -137,11 +137,11 @@ export class EntitySelectorComponent {
137
137
  }
138
138
  }
139
139
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntitySelectorComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
140
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EntitySelectorComponent, selector: "igo-entity-selector", inputs: { store: "store", titleAccessor: "titleAccessor", emptyText: "emptyText", multi: "multi", multiAllText: "multiAllText", multiNoneText: "multiNoneText", placeholder: "placeholder", disabled: "disabled" }, outputs: { selectedChange: "selectedChange" }, ngImport: i0, template: "<mat-form-field class=\"igo-entity-selector\" subscriptSizing=\"dynamic\">\r\n <mat-select\r\n [disabled]=\"disabled\"\r\n [value]=\"selected$ | async\"\r\n [multiple]=\"multi\"\r\n [placeholder]=\"placeholder\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n >\r\n <mat-option\r\n *ngIf=\"emptyText !== undefined && multi === false\"\r\n [value]=\"emptyValue\"\r\n >{{ emptyText }}</mat-option\r\n >\r\n <mat-option *ngIf=\"multi === true\" [value]=\"multiSelectValue\">{{\r\n multiText$ | async\r\n }}</mat-option>\r\n <ng-template ngFor let-record [ngForOf]=\"store.stateView.all$() | async\">\r\n <mat-option [value]=\"record.entity\">\r\n {{ titleAccessor(record.entity) }}\r\n </mat-option>\r\n </ng-template>\r\n </mat-select>\r\n</mat-form-field>\r\n", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i3.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
140
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EntitySelectorComponent, selector: "igo-entity-selector", inputs: { store: "store", titleAccessor: "titleAccessor", emptyText: "emptyText", multi: "multi", multiAllText: "multiAllText", multiNoneText: "multiNoneText", placeholder: "placeholder", disabled: "disabled" }, outputs: { selectedChange: "selectedChange" }, ngImport: i0, template: "<mat-form-field class=\"igo-entity-selector\" subscriptSizing=\"dynamic\">\n <mat-select\n [disabled]=\"disabled\"\n [value]=\"selected$ | async\"\n [multiple]=\"multi\"\n [placeholder]=\"placeholder\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <mat-option\n *ngIf=\"emptyText !== undefined && multi === false\"\n [value]=\"emptyValue\"\n >{{ emptyText }}</mat-option\n >\n <mat-option *ngIf=\"multi === true\" [value]=\"multiSelectValue\">{{\n multiText$ | async\n }}</mat-option>\n <ng-template ngFor let-record [ngForOf]=\"store.stateView.all$() | async\">\n <mat-option [value]=\"record.entity\">\n {{ titleAccessor(record.entity) }}\n </mat-option>\n </ng-template>\n </mat-select>\n</mat-form-field>\n", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i3.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
141
141
  }
142
142
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntitySelectorComponent, decorators: [{
143
143
  type: Component,
144
- args: [{ selector: 'igo-entity-selector', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field class=\"igo-entity-selector\" subscriptSizing=\"dynamic\">\r\n <mat-select\r\n [disabled]=\"disabled\"\r\n [value]=\"selected$ | async\"\r\n [multiple]=\"multi\"\r\n [placeholder]=\"placeholder\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n >\r\n <mat-option\r\n *ngIf=\"emptyText !== undefined && multi === false\"\r\n [value]=\"emptyValue\"\r\n >{{ emptyText }}</mat-option\r\n >\r\n <mat-option *ngIf=\"multi === true\" [value]=\"multiSelectValue\">{{\r\n multiText$ | async\r\n }}</mat-option>\r\n <ng-template ngFor let-record [ngForOf]=\"store.stateView.all$() | async\">\r\n <mat-option [value]=\"record.entity\">\r\n {{ titleAccessor(record.entity) }}\r\n </mat-option>\r\n </ng-template>\r\n </mat-select>\r\n</mat-form-field>\r\n", styles: ["mat-form-field{width:100%}\n"] }]
144
+ args: [{ selector: 'igo-entity-selector', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field class=\"igo-entity-selector\" subscriptSizing=\"dynamic\">\n <mat-select\n [disabled]=\"disabled\"\n [value]=\"selected$ | async\"\n [multiple]=\"multi\"\n [placeholder]=\"placeholder\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <mat-option\n *ngIf=\"emptyText !== undefined && multi === false\"\n [value]=\"emptyValue\"\n >{{ emptyText }}</mat-option\n >\n <mat-option *ngIf=\"multi === true\" [value]=\"multiSelectValue\">{{\n multiText$ | async\n }}</mat-option>\n <ng-template ngFor let-record [ngForOf]=\"store.stateView.all$() | async\">\n <mat-option [value]=\"record.entity\">\n {{ titleAccessor(record.entity) }}\n </mat-option>\n </ng-template>\n </mat-select>\n</mat-form-field>\n", styles: ["mat-form-field{width:100%}\n"] }]
145
145
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { store: [{
146
146
  type: Input
147
147
  }], titleAccessor: [{
@@ -161,4 +161,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
161
161
  }], selectedChange: [{
162
162
  type: Output
163
163
  }] } });
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2VudGl0eS9lbnRpdHktc2VsZWN0b3IvZW50aXR5LXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2VudGl0eS9lbnRpdHktc2VsZWN0b3IvZW50aXR5LXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUdyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7QUFRdkQsTUFBTSxPQUFPLHVCQUF1QjtJQTJFZDtJQTFFcEI7OztPQUdHO0lBQ00sU0FBUyxHQUFHLElBQUksZUFBZSxDQUFTLFNBQVMsQ0FBQyxDQUFDO0lBRTVEOzs7T0FHRztJQUNNLFVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBUyxTQUFTLENBQUMsQ0FBQztJQUVwRCxnQkFBZ0IsR0FBRyxFQUFFLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO0lBRTlDLFVBQVUsR0FBRyxFQUFFLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO0lBRWpEOztPQUVHO0lBQ0ssVUFBVSxDQUFlO0lBRWpDOztPQUVHO0lBQ0ssT0FBTyxDQUE2QjtJQUU1Qzs7T0FFRztJQUNNLEtBQUssQ0FBc0I7SUFF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QUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUN6QztJQUNILENBQUM7d0dBOUpVLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLDhUQ3hCcEMseTBCQXVCQTs7NEZEQ2EsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNFLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNO3dHQWdDdEMsS0FBSztzQkFBYixLQUFLO2dCQUtHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csWUFBWTtzQkFBcEIsS0FBSztnQkFLRyxhQUFhO3NCQUFyQixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFLSSxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgRW50aXR5UmVjb3JkIH0gZnJvbSAnLi4vc2hhcmVkL2VudGl0eS5pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgZ2V0RW50aXR5VGl0bGUgfSBmcm9tICcuLi9zaGFyZWQvZW50aXR5LnV0aWxzJztcclxuaW1wb3J0IHsgRW50aXR5U3RvcmUgfSBmcm9tICcuLi9zaGFyZWQvc3RvcmUnO1xyXG5pbXBvcnQgeyBFbnRpdHlTdG9yZVdhdGNoZXIgfSBmcm9tICcuLi9zaGFyZWQvd2F0Y2hlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1lbnRpdHktc2VsZWN0b3InLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lbnRpdHktc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2VudGl0eS1zZWxlY3Rvci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFbnRpdHlTZWxlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAvKipcclxuICAgKiBUaGUgc2VsZWN0ZWQgZW50aXR5XHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgc2VsZWN0ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxvYmplY3Q+KHVuZGVmaW5lZCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBjdXJyZW50IG11bHRpIHNlbGVjdCBvcHRpb24gdGV4dFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IG11bHRpVGV4dCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4odW5kZWZpbmVkKTtcclxuXHJcbiAgcmVhZG9ubHkgbXVsdGlTZWxlY3RWYWx1ZSA9IHsgaWQ6ICdJR09fTVVMVElfU0VMRUNUJyB9O1xyXG5cclxuICByZWFkb25seSBlbXB0eVZhbHVlID0geyBpZDogJ0lHT19FTVBUWV9TRUxFQ1QnIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIFN1YnNjcmlwdGlvbiB0byB0aGUgc2VsZWN0ZWQgZW50aXR5XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzZWxlY3RlZCQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0b3JlIHdhdGNoZXJcclxuICAgKi9cclxuICBwcml2YXRlIHdhdGNoZXI6IEVudGl0eVN0b3JlV2F0Y2hlcjxvYmplY3Q+O1xyXG5cclxuICAvKipcclxuICAgKiBFbnRpdHkgc3RvcmVcclxuICAgKi9cclxuICBASW5wdXQoKSBzdG9yZTogRW50aXR5U3RvcmU8b2JqZWN0PjtcclxuXHJcbiAgLyoqXHJcbiAgICogVGl0bGUgYWNjZXNzb3JcclxuICAgKi9cclxuICBASW5wdXQoKSB0aXRsZUFjY2Vzc29yOiAob2JqZWN0KSA9PiBzdHJpbmcgPSBnZXRFbnRpdHlUaXRsZTtcclxuXHJcbiAgLyoqXHJcbiAgICogVGV4dCB0byBkaXNwbGF5IHdoZW4gbm90aGluZyBpcyBzZWxlY3RlZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGVtcHR5VGV4dDogc3RyaW5nID0gdW5kZWZpbmVkO1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0ZXIgc2VsZWN0aW5nIG1hbnkgZW50aXRpZXMgaXMgYWxsb3dlZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG11bHRpOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRleHQgdG8gZGlzcGxheSBmb3IgdGhlIHNlbGVjdCBhbGwgb3B0aW9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgbXVsdGlBbGxUZXh0OiBzdHJpbmcgPSAnQWxsJztcclxuXHJcbiAgLyoqXHJcbiAgICogVGV4dCB0byBkaXNwbGF5IGZvciB0aGUgc2VsZWN0IG5vbmUgb3B0aW9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgbXVsdGlOb25lVGV4dDogc3RyaW5nID0gJ05vbmUnO1xyXG5cclxuICAvKipcclxuICAgKiBGaWVsZCBwbGFjZWhvbGRlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRlciB0aGUgc2VsZWN0b3IgaXMgZGlzYWJsZWQgb3Igbm90XHJcbiAgICovXHJcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzZWxlY3Rpb24gY2hhbmdlc1xyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgc2VsZWN0ZWQ6IGJvb2xlYW47XHJcbiAgICB2YWx1ZTogb2JqZWN0IHwgb2JqZWN0W107XHJcbiAgfT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSBhIHN0b3JlIHdhdGNoZXIgYW5kIHN1YnNjcmliZSB0byB0aGUgc2VsZWN0ZWQgZW50aXR5XHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLndhdGNoZXIgPSBuZXcgRW50aXR5U3RvcmVXYXRjaGVyKHRoaXMuc3RvcmUsIHRoaXMuY2RSZWYpO1xyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWQkJCA9IHRoaXMuc3RvcmUuc3RhdGVWaWV3XHJcbiAgICAgIC5tYW55QnkkKChyZWNvcmQ6IEVudGl0eVJlY29yZDxvYmplY3Q+KSA9PiByZWNvcmQuc3RhdGUuc2VsZWN0ZWQgPT09IHRydWUpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlY29yZHM6IEVudGl0eVJlY29yZDxvYmplY3Q+W10pID0+IHtcclxuICAgICAgICBjb25zdCBlbnRpdGllcyA9IHJlY29yZHMubWFwKFxyXG4gICAgICAgICAgKHJlY29yZDogRW50aXR5UmVjb3JkPG9iamVjdD4pID0+IHJlY29yZC5lbnRpdHlcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMub25TZWxlY3RGcm9tU3RvcmUoZW50aXRpZXMpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVuc3Vic2NyaWJlIHRvIHRoZSBzZWxlY3RlZCBlbnRpdHkgYW5kIGRlc3Ryb3kgdGhlIHN0b3JlIHdhdGNoZXJcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMud2F0Y2hlci5kZXN0cm95KCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkJCQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE9uIHNlbGVjdGlvbiBjaGFuZ2UsIHVwZGF0ZSB0aGUgc3RvcmUncyBzdGF0ZSBhbmQgZW1pdCBhbiBldmVudFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG9uU2VsZWN0aW9uQ2hhbmdlKGV2ZW50OiB7IHZhbHVlOiBvYmplY3QgfCB1bmRlZmluZWQgfSkge1xyXG4gICAgY29uc3QgdmFsdWVzID0gZXZlbnQudmFsdWUgaW5zdGFuY2VvZiBBcnJheSA/IGV2ZW50LnZhbHVlIDogW2V2ZW50LnZhbHVlXTtcclxuXHJcbiAgICBjb25zdCBtdWx0aVNlbGVjdCA9IHZhbHVlcy5maW5kKFxyXG4gICAgICAoX3ZhbHVlOiBvYmplY3QpID0+IF92YWx1ZSA9PT0gdGhpcy5tdWx0aVNlbGVjdFZhbHVlXHJcbiAgICApO1xyXG4gICAgbGV0IGVudGl0aWVzID0gdmFsdWVzLmZpbHRlcihcclxuICAgICAgKF92YWx1ZTogb2JqZWN0KSA9PiBfdmFsdWUgIT09IHRoaXMubXVsdGlTZWxlY3RWYWx1ZVxyXG4gICAgKTtcclxuICAgIGlmIChtdWx0aVNlbGVjdCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGlmIChlbnRpdGllcy5sZW5ndGggPT09IHRoaXMuc3RvcmUuY291bnQpIHtcclxuICAgICAgICBlbnRpdGllcyA9IFtdO1xyXG4gICAgICB9IGVsc2UgaWYgKGVudGl0aWVzLmxlbmd0aCA8IHRoaXMuc3RvcmUuY291bnQpIHtcclxuICAgICAgICBlbnRpdGllcyA9IHRoaXMuc3RvcmUuYWxsKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBlbnRpdGllcyA9IGVudGl0aWVzLmZpbHRlcigoZW50aXR5OiBvYmplY3QpID0+IGVudGl0eSAhPT0gdGhpcy5lbXB0eVZhbHVlKTtcclxuICAgIGlmIChlbnRpdGllcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhpcy5zdG9yZS5zdGF0ZS51cGRhdGVBbGwoeyBzZWxlY3RlZDogZmFsc2UgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnN0b3JlLnN0YXRlLnVwZGF0ZU1hbnkoZW50aXRpZXMsIHsgc2VsZWN0ZWQ6IHRydWUgfSwgdHJ1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLm11bHRpID8gZW50aXRpZXMgOiBldmVudC52YWx1ZTtcclxuICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdCh7IHNlbGVjdGVkOiB0cnVlLCB2YWx1ZSB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25TZWxlY3RGcm9tU3RvcmUoZW50aXRpZXM6IG9iamVjdFtdKSB7XHJcbiAgICBpZiAodGhpcy5tdWx0aSA9PT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkJC5uZXh0KGVudGl0aWVzKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGVudGl0eSA9IGVudGl0aWVzLmxlbmd0aCA+IDAgPyBlbnRpdGllc1swXSA6IHVuZGVmaW5lZDtcclxuICAgICAgdGhpcy5zZWxlY3RlZCQubmV4dChlbnRpdHkpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudXBkYXRlTXVsdGlUb2dnbGVXaXRoRW50aXRpZXMoZW50aXRpZXMpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVNdWx0aVRvZ2dsZVdpdGhFbnRpdGllcyhlbnRpdGllczogb2JqZWN0W10pIHtcclxuICAgIGlmIChcclxuICAgICAgZW50aXRpZXMubGVuZ3RoID09PSB0aGlzLnN0b3JlLmNvdW50ICYmXHJcbiAgICAgIHRoaXMubXVsdGlUZXh0JC52YWx1ZSAhPT0gdGhpcy5tdWx0aU5vbmVUZXh0XHJcbiAgICApIHtcclxuICAgICAgdGhpcy5tdWx0aVRleHQkLm5leHQodGhpcy5tdWx0aU5vbmVUZXh0KTtcclxuICAgIH0gZWxzZSBpZiAoXHJcbiAgICAgIGVudGl0aWVzLmxlbmd0aCA8IHRoaXMuc3RvcmUuY291bnQgJiZcclxuICAgICAgdGhpcy5tdWx0aVRleHQkLnZhbHVlICE9PSB0aGlzLm11bHRpQWxsVGV4dFxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMubXVsdGlUZXh0JC5uZXh0KHRoaXMubXVsdGlBbGxUZXh0KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiaWdvLWVudGl0eS1zZWxlY3RvclwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cclxuICA8bWF0LXNlbGVjdFxyXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgIFt2YWx1ZV09XCJzZWxlY3RlZCQgfCBhc3luY1wiXHJcbiAgICBbbXVsdGlwbGVdPVwibXVsdGlcIlxyXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgPlxyXG4gICAgPG1hdC1vcHRpb25cclxuICAgICAgKm5nSWY9XCJlbXB0eVRleHQgIT09IHVuZGVmaW5lZCAmJiBtdWx0aSA9PT0gZmFsc2VcIlxyXG4gICAgICBbdmFsdWVdPVwiZW1wdHlWYWx1ZVwiXHJcbiAgICAgID57eyBlbXB0eVRleHQgfX08L21hdC1vcHRpb25cclxuICAgID5cclxuICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwibXVsdGkgPT09IHRydWVcIiBbdmFsdWVdPVwibXVsdGlTZWxlY3RWYWx1ZVwiPnt7XHJcbiAgICAgIG11bHRpVGV4dCQgfCBhc3luY1xyXG4gICAgfX08L21hdC1vcHRpb24+XHJcbiAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LXJlY29yZCBbbmdGb3JPZl09XCJzdG9yZS5zdGF0ZVZpZXcuYWxsJCgpIHwgYXN5bmNcIj5cclxuICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cInJlY29yZC5lbnRpdHlcIj5cclxuICAgICAgICB7eyB0aXRsZUFjY2Vzc29yKHJlY29yZC5lbnRpdHkpIH19XHJcbiAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9tYXQtc2VsZWN0PlxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG4iXX0=
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2VudGl0eS9lbnRpdHktc2VsZWN0b3IvZW50aXR5LXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2VudGl0eS9lbnRpdHktc2VsZWN0b3IvZW50aXR5LXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUdyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7QUFRdkQsTUFBTSxPQUFPLHVCQUF1QjtJQTJFZDtJQTFFcEI7OztPQUdHO0lBQ00sU0FBUyxHQUFHLElBQUksZUFBZSxDQUFTLFNBQVMsQ0FBQyxDQUFDO0lBRTVEOzs7T0FHRztJQUNNLFVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBUyxTQUFTLENBQUMsQ0FBQztJQUVwRCxnQkFBZ0IsR0FBRyxFQUFFLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO0lBRTlDLFVBQVUsR0FBRyxFQUFFLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO0lBRWpEOztPQUVHO0lBQ0ssVUFBVSxDQUFlO0lBRWpDOztPQUVHO0lBQ0ssT0FBTyxDQUE2QjtJQUU1Qzs7T0FFRztJQUNNLEtBQUssQ0FBc0I7SUFF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QUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUN6QztJQUNILENBQUM7d0dBOUpVLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLDhUQ3hCcEMsMnhCQXVCQTs7NEZEQ2EsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNFLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNO3dHQWdDdEMsS0FBSztzQkFBYixLQUFLO2dCQUtHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csWUFBWTtzQkFBcEIsS0FBSztnQkFLRyxhQUFhO3NCQUFyQixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFLSSxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgRW50aXR5UmVjb3JkIH0gZnJvbSAnLi4vc2hhcmVkL2VudGl0eS5pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgZ2V0RW50aXR5VGl0bGUgfSBmcm9tICcuLi9zaGFyZWQvZW50aXR5LnV0aWxzJztcclxuaW1wb3J0IHsgRW50aXR5U3RvcmUgfSBmcm9tICcuLi9zaGFyZWQvc3RvcmUnO1xyXG5pbXBvcnQgeyBFbnRpdHlTdG9yZVdhdGNoZXIgfSBmcm9tICcuLi9zaGFyZWQvd2F0Y2hlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1lbnRpdHktc2VsZWN0b3InLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lbnRpdHktc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2VudGl0eS1zZWxlY3Rvci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFbnRpdHlTZWxlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAvKipcclxuICAgKiBUaGUgc2VsZWN0ZWQgZW50aXR5XHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgc2VsZWN0ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxvYmplY3Q+KHVuZGVmaW5lZCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBjdXJyZW50IG11bHRpIHNlbGVjdCBvcHRpb24gdGV4dFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IG11bHRpVGV4dCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4odW5kZWZpbmVkKTtcclxuXHJcbiAgcmVhZG9ubHkgbXVsdGlTZWxlY3RWYWx1ZSA9IHsgaWQ6ICdJR09fTVVMVElfU0VMRUNUJyB9O1xyXG5cclxuICByZWFkb25seSBlbXB0eVZhbHVlID0geyBpZDogJ0lHT19FTVBUWV9TRUxFQ1QnIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIFN1YnNjcmlwdGlvbiB0byB0aGUgc2VsZWN0ZWQgZW50aXR5XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzZWxlY3RlZCQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0b3JlIHdhdGNoZXJcclxuICAgKi9cclxuICBwcml2YXRlIHdhdGNoZXI6IEVudGl0eVN0b3JlV2F0Y2hlcjxvYmplY3Q+O1xyXG5cclxuICAvKipcclxuICAgKiBFbnRpdHkgc3RvcmVcclxuICAgKi9cclxuICBASW5wdXQoKSBzdG9yZTogRW50aXR5U3RvcmU8b2JqZWN0PjtcclxuXHJcbiAgLyoqXHJcbiAgICogVGl0bGUgYWNjZXNzb3JcclxuICAgKi9cclxuICBASW5wdXQoKSB0aXRsZUFjY2Vzc29yOiAob2JqZWN0KSA9PiBzdHJpbmcgPSBnZXRFbnRpdHlUaXRsZTtcclxuXHJcbiAgLyoqXHJcbiAgICogVGV4dCB0byBkaXNwbGF5IHdoZW4gbm90aGluZyBpcyBzZWxlY3RlZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGVtcHR5VGV4dDogc3RyaW5nID0gdW5kZWZpbmVkO1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0ZXIgc2VsZWN0aW5nIG1hbnkgZW50aXRpZXMgaXMgYWxsb3dlZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG11bHRpOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRleHQgdG8gZGlzcGxheSBmb3IgdGhlIHNlbGVjdCBhbGwgb3B0aW9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgbXVsdGlBbGxUZXh0OiBzdHJpbmcgPSAnQWxsJztcclxuXHJcbiAgLyoqXHJcbiAgICogVGV4dCB0byBkaXNwbGF5IGZvciB0aGUgc2VsZWN0IG5vbmUgb3B0aW9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgbXVsdGlOb25lVGV4dDogc3RyaW5nID0gJ05vbmUnO1xyXG5cclxuICAvKipcclxuICAgKiBGaWVsZCBwbGFjZWhvbGRlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRlciB0aGUgc2VsZWN0b3IgaXMgZGlzYWJsZWQgb3Igbm90XHJcbiAgICovXHJcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzZWxlY3Rpb24gY2hhbmdlc1xyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgc2VsZWN0ZWQ6IGJvb2xlYW47XHJcbiAgICB2YWx1ZTogb2JqZWN0IHwgb2JqZWN0W107XHJcbiAgfT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSBhIHN0b3JlIHdhdGNoZXIgYW5kIHN1YnNjcmliZSB0byB0aGUgc2VsZWN0ZWQgZW50aXR5XHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLndhdGNoZXIgPSBuZXcgRW50aXR5U3RvcmVXYXRjaGVyKHRoaXMuc3RvcmUsIHRoaXMuY2RSZWYpO1xyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWQkJCA9IHRoaXMuc3RvcmUuc3RhdGVWaWV3XHJcbiAgICAgIC5tYW55QnkkKChyZWNvcmQ6IEVudGl0eVJlY29yZDxvYmplY3Q+KSA9PiByZWNvcmQuc3RhdGUuc2VsZWN0ZWQgPT09IHRydWUpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlY29yZHM6IEVudGl0eVJlY29yZDxvYmplY3Q+W10pID0+IHtcclxuICAgICAgICBjb25zdCBlbnRpdGllcyA9IHJlY29yZHMubWFwKFxyXG4gICAgICAgICAgKHJlY29yZDogRW50aXR5UmVjb3JkPG9iamVjdD4pID0+IHJlY29yZC5lbnRpdHlcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMub25TZWxlY3RGcm9tU3RvcmUoZW50aXRpZXMpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVuc3Vic2NyaWJlIHRvIHRoZSBzZWxlY3RlZCBlbnRpdHkgYW5kIGRlc3Ryb3kgdGhlIHN0b3JlIHdhdGNoZXJcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMud2F0Y2hlci5kZXN0cm95KCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkJCQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE9uIHNlbGVjdGlvbiBjaGFuZ2UsIHVwZGF0ZSB0aGUgc3RvcmUncyBzdGF0ZSBhbmQgZW1pdCBhbiBldmVudFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG9uU2VsZWN0aW9uQ2hhbmdlKGV2ZW50OiB7IHZhbHVlOiBvYmplY3QgfCB1bmRlZmluZWQgfSkge1xyXG4gICAgY29uc3QgdmFsdWVzID0gZXZlbnQudmFsdWUgaW5zdGFuY2VvZiBBcnJheSA/IGV2ZW50LnZhbHVlIDogW2V2ZW50LnZhbHVlXTtcclxuXHJcbiAgICBjb25zdCBtdWx0aVNlbGVjdCA9IHZhbHVlcy5maW5kKFxyXG4gICAgICAoX3ZhbHVlOiBvYmplY3QpID0+IF92YWx1ZSA9PT0gdGhpcy5tdWx0aVNlbGVjdFZhbHVlXHJcbiAgICApO1xyXG4gICAgbGV0IGVudGl0aWVzID0gdmFsdWVzLmZpbHRlcihcclxuICAgICAgKF92YWx1ZTogb2JqZWN0KSA9PiBfdmFsdWUgIT09IHRoaXMubXVsdGlTZWxlY3RWYWx1ZVxyXG4gICAgKTtcclxuICAgIGlmIChtdWx0aVNlbGVjdCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGlmIChlbnRpdGllcy5sZW5ndGggPT09IHRoaXMuc3RvcmUuY291bnQpIHtcclxuICAgICAgICBlbnRpdGllcyA9IFtdO1xyXG4gICAgICB9IGVsc2UgaWYgKGVudGl0aWVzLmxlbmd0aCA8IHRoaXMuc3RvcmUuY291bnQpIHtcclxuICAgICAgICBlbnRpdGllcyA9IHRoaXMuc3RvcmUuYWxsKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBlbnRpdGllcyA9IGVudGl0aWVzLmZpbHRlcigoZW50aXR5OiBvYmplY3QpID0+IGVudGl0eSAhPT0gdGhpcy5lbXB0eVZhbHVlKTtcclxuICAgIGlmIChlbnRpdGllcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhpcy5zdG9yZS5zdGF0ZS51cGRhdGVBbGwoeyBzZWxlY3RlZDogZmFsc2UgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnN0b3JlLnN0YXRlLnVwZGF0ZU1hbnkoZW50aXRpZXMsIHsgc2VsZWN0ZWQ6IHRydWUgfSwgdHJ1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLm11bHRpID8gZW50aXRpZXMgOiBldmVudC52YWx1ZTtcclxuICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdCh7IHNlbGVjdGVkOiB0cnVlLCB2YWx1ZSB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25TZWxlY3RGcm9tU3RvcmUoZW50aXRpZXM6IG9iamVjdFtdKSB7XHJcbiAgICBpZiAodGhpcy5tdWx0aSA9PT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkJC5uZXh0KGVudGl0aWVzKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGVudGl0eSA9IGVudGl0aWVzLmxlbmd0aCA+IDAgPyBlbnRpdGllc1swXSA6IHVuZGVmaW5lZDtcclxuICAgICAgdGhpcy5zZWxlY3RlZCQubmV4dChlbnRpdHkpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudXBkYXRlTXVsdGlUb2dnbGVXaXRoRW50aXRpZXMoZW50aXRpZXMpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVNdWx0aVRvZ2dsZVdpdGhFbnRpdGllcyhlbnRpdGllczogb2JqZWN0W10pIHtcclxuICAgIGlmIChcclxuICAgICAgZW50aXRpZXMubGVuZ3RoID09PSB0aGlzLnN0b3JlLmNvdW50ICYmXHJcbiAgICAgIHRoaXMubXVsdGlUZXh0JC52YWx1ZSAhPT0gdGhpcy5tdWx0aU5vbmVUZXh0XHJcbiAgICApIHtcclxuICAgICAgdGhpcy5tdWx0aVRleHQkLm5leHQodGhpcy5tdWx0aU5vbmVUZXh0KTtcclxuICAgIH0gZWxzZSBpZiAoXHJcbiAgICAgIGVudGl0aWVzLmxlbmd0aCA8IHRoaXMuc3RvcmUuY291bnQgJiZcclxuICAgICAgdGhpcy5tdWx0aVRleHQkLnZhbHVlICE9PSB0aGlzLm11bHRpQWxsVGV4dFxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMubXVsdGlUZXh0JC5uZXh0KHRoaXMubXVsdGlBbGxUZXh0KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiaWdvLWVudGl0eS1zZWxlY3RvclwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgPG1hdC1zZWxlY3RcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFt2YWx1ZV09XCJzZWxlY3RlZCQgfCBhc3luY1wiXG4gICAgW211bHRpcGxlXT1cIm11bHRpXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXG4gID5cbiAgICA8bWF0LW9wdGlvblxuICAgICAgKm5nSWY9XCJlbXB0eVRleHQgIT09IHVuZGVmaW5lZCAmJiBtdWx0aSA9PT0gZmFsc2VcIlxuICAgICAgW3ZhbHVlXT1cImVtcHR5VmFsdWVcIlxuICAgICAgPnt7IGVtcHR5VGV4dCB9fTwvbWF0LW9wdGlvblxuICAgID5cbiAgICA8bWF0LW9wdGlvbiAqbmdJZj1cIm11bHRpID09PSB0cnVlXCIgW3ZhbHVlXT1cIm11bHRpU2VsZWN0VmFsdWVcIj57e1xuICAgICAgbXVsdGlUZXh0JCB8IGFzeW5jXG4gICAgfX08L21hdC1vcHRpb24+XG4gICAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1yZWNvcmQgW25nRm9yT2ZdPVwic3RvcmUuc3RhdGVWaWV3LmFsbCQoKSB8IGFzeW5jXCI+XG4gICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwicmVjb3JkLmVudGl0eVwiPlxuICAgICAgICB7eyB0aXRsZUFjY2Vzc29yKHJlY29yZC5lbnRpdHkpIH19XG4gICAgICA8L21hdC1vcHRpb24+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9tYXQtc2VsZWN0PlxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==