qms-angular 1.1.64 → 1.1.65

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 (66) hide show
  1. package/bundles/qms-angular.umd.js +1974 -1657
  2. package/bundles/qms-angular.umd.js.map +1 -1
  3. package/esm2015/lib/common/enum/bpmn-add-connection-type.enum.js +6 -0
  4. package/esm2015/lib/common/enum/data-type.enum.js +2 -1
  5. package/esm2015/lib/common/enum/shape-connection-action.enum.js +7 -0
  6. package/esm2015/lib/common/enum/shape-targets.enum.js +6 -0
  7. package/esm2015/lib/common/qms-icon.const.js +13 -1
  8. package/esm2015/lib/components/app-icon/icon-registry.service.js +17 -2
  9. package/esm2015/lib/components/qms-bpmn/models/change-document-anchor-for-shape-event.model.js +3 -0
  10. package/esm2015/lib/components/qms-bpmn/models/flow-chart-shape/activity-related-items.js +2 -1
  11. package/esm2015/lib/components/qms-bpmn/models/remove-shape-connection-item-event.model.js +5 -0
  12. package/esm2015/lib/components/qms-bpmn/models/shape-connection-action-event.model.js +3 -0
  13. package/esm2015/lib/components/qms-bpmn/models/shape-connection-action.model.js +3 -0
  14. package/esm2015/lib/components/qms-bpmn/models/shape-connection-detail.model.js +32 -0
  15. package/esm2015/lib/components/qms-bpmn/models/shape-flow-chart-connection-detail.model.js +7 -0
  16. package/esm2015/lib/components/qms-bpmn/qms-bpmn.component.js +120 -16
  17. package/esm2015/lib/components/qms-bpmn/qms-bpmn.module.js +15 -5
  18. package/esm2015/lib/components/related/list-other-related/list-related.component.js +6 -3
  19. package/esm2015/lib/components/select-access-dialog/select-access-dialog.component.js +2 -2
  20. package/esm2015/lib/components/select-process-data/select-process-data.component.js +2 -3
  21. package/esm2015/lib/components/select-process-data-tree/select-process-data-tree.component.js +1 -1
  22. package/esm2015/lib/components/select-process-document/select-process-document.component.js +3 -3
  23. package/esm2015/lib/components/treeNew/tree.component.js +3 -3
  24. package/esm2015/lib/model/en.js +8 -2
  25. package/esm2015/lib/model/no.js +8 -2
  26. package/esm2015/lib/qms-ckeditor-components/common/enums/shape-flow-chart-connection-type.js +4 -1
  27. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component.js +38 -34
  28. package/esm2015/lib/qms-ckeditor-components/models/connect-type.model.js +1 -1
  29. package/esm2015/lib/qms-ckeditor-components/models/qms-bpmn-config.model.js +2 -1
  30. package/esm2015/lib/services/qms-bpmn.service.js +24 -1
  31. package/esm2015/public-api.js +11 -1
  32. package/esm2015/qms-angular.js +3 -1
  33. package/fesm2015/qms-angular.js +2150 -1905
  34. package/fesm2015/qms-angular.js.map +1 -1
  35. package/lib/common/enum/bpmn-add-connection-type.enum.d.ts +4 -0
  36. package/lib/common/enum/data-type.enum.d.ts +2 -1
  37. package/lib/common/enum/shape-connection-action.enum.d.ts +5 -0
  38. package/lib/common/enum/shape-targets.enum.d.ts +4 -0
  39. package/lib/common/qms-icon.const.d.ts +5 -0
  40. package/lib/components/app-icon/icon-registry.service.d.ts +5 -0
  41. package/lib/components/qms-bpmn/models/change-document-anchor-for-shape-event.model.d.ts +5 -0
  42. package/lib/components/qms-bpmn/models/flow-chart-shape/activity-related-items.d.ts +1 -0
  43. package/lib/components/qms-bpmn/models/remove-shape-connection-item-event.model.d.ts +13 -0
  44. package/lib/components/qms-bpmn/models/shape-connection-action-event.model.d.ts +7 -0
  45. package/lib/components/qms-bpmn/models/shape-connection-action.model.d.ts +5 -0
  46. package/lib/components/qms-bpmn/models/shape-connection-detail.model.d.ts +71 -0
  47. package/lib/components/qms-bpmn/models/shape-flow-chart-connection-detail.model.d.ts +6 -0
  48. package/lib/components/qms-bpmn/qms-bpmn.component.d.ts +51 -10
  49. package/lib/components/related/list-other-related/list-related.component.d.ts +1 -1
  50. package/lib/model/en.d.ts +6 -0
  51. package/lib/model/no.d.ts +6 -0
  52. package/lib/qms-ckeditor-components/common/enums/shape-flow-chart-connection-type.d.ts +4 -1
  53. package/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component.d.ts +19 -19
  54. package/lib/qms-ckeditor-components/models/connect-type.model.d.ts +2 -0
  55. package/lib/qms-ckeditor-components/models/qms-bpmn-config.model.d.ts +4 -0
  56. package/package.json +1 -1
  57. package/public-api.d.ts +10 -0
  58. package/qms-angular.d.ts +2 -0
  59. package/qms-angular.metadata.json +1 -1
  60. package/src/assets/jointjs/scss/bpmn.css +2 -2
  61. package/src/lib/components/qms-bpmn/qms-bpmn.component.scss +263 -0
  62. package/src/lib/components/related/list-other-related/list-related.component.scss +201 -197
  63. package/src/lib/components/select-process-data/select-process-data.component.scss +0 -2
  64. package/src/lib/components/select-process-data-tree/select-process-data-tree.component.scss +0 -1
  65. package/src/lib/components/select-process-document/select-process-document.component.scss +4 -0
  66. package/src/lib/components/treeNew/tree.component.scss +4 -0
@@ -13,6 +13,11 @@ import { MatSelectModule } from '@angular/material/select';
13
13
  import { QMSListModule } from '../list/list.module';
14
14
  import { MatCardModule } from '@angular/material/card';
15
15
  import { QMSBreadcrumbModule } from "../breadcrumb/breadcrumb.module";
16
+ import { MatMenuModule } from '@angular/material/menu';
17
+ import { NgxMatSelectSearchModule } from 'ngx-mat-select-search';
18
+ import { QMSRelatedModule } from "../related/related.module";
19
+ import { MatSlideToggleModule } from '@angular/material/slide-toggle';
20
+ import { QmsBadgesModule } from "../badges/qms-badges.module";
16
21
  export class QmsBPMNModule {
17
22
  }
18
23
  QmsBPMNModule.decorators = [
@@ -20,6 +25,9 @@ QmsBPMNModule.decorators = [
20
25
  declarations: [
21
26
  QMSBPMNComponent
22
27
  ],
28
+ exports: [
29
+ QMSBPMNComponent
30
+ ],
23
31
  imports: [
24
32
  CommonModule,
25
33
  FormsModule,
@@ -34,11 +42,13 @@ QmsBPMNModule.decorators = [
34
42
  MatSelectModule,
35
43
  QMSListModule,
36
44
  MatCardModule,
37
- QMSBreadcrumbModule
38
- ],
39
- exports: [
40
- QMSBPMNComponent
45
+ QMSBreadcrumbModule,
46
+ MatMenuModule,
47
+ NgxMatSelectSearchModule,
48
+ QMSRelatedModule,
49
+ MatSlideToggleModule,
50
+ QmsBadgesModule
41
51
  ]
42
52
  },] }
43
53
  ];
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicW1zLWJwbW4ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcW1zLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3Ftcy1icG1uL3Ftcy1icG1uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBMEJ0RSxNQUFNLE9BQU8sYUFBYTs7O1lBeEJ6QixRQUFRLFNBQUM7Z0JBQ04sWUFBWSxFQUFFO29CQUNWLGdCQUFnQjtpQkFDbkI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNMLFlBQVk7b0JBQ1osV0FBVztvQkFDWCxtQkFBbUI7b0JBQ25CLGdCQUFnQjtvQkFDaEIsZUFBZTtvQkFDZixrQkFBa0I7b0JBQ2xCLGFBQWE7b0JBQ2IsY0FBYztvQkFDZCxrQkFBa0I7b0JBQ2xCLGNBQWM7b0JBQ2QsZUFBZTtvQkFDZixhQUFhO29CQUNiLGFBQWE7b0JBQ2IsbUJBQW1CO2lCQUN0QjtnQkFDRCxPQUFPLEVBQUU7b0JBQ0wsZ0JBQWdCO2lCQUNuQjthQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFFtc0FuZ3VsYXJNb2R1bGUgfSBmcm9tICcuLi8uLi9xbXMtYW5ndWxhci5tb2R1bGUnO1xuaW1wb3J0IHsgUU1TQnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5tb2R1bGUnO1xuaW1wb3J0IHsgTWF0RXhwYW5zaW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcbmltcG9ydCB7IE1hdFRhYnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzJztcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuaW1wb3J0IHsgUU1TQlBNTkNvbXBvbmVudCB9IGZyb20gJy4vcW1zLWJwbW4uY29tcG9uZW50JztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgUU1TTGlzdE1vZHVsZSB9IGZyb20gJy4uL2xpc3QvbGlzdC5tb2R1bGUnO1xuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xuaW1wb3J0IHsgUU1TQnJlYWRjcnVtYk1vZHVsZSB9IGZyb20gXCIuLi9icmVhZGNydW1iL2JyZWFkY3J1bWIubW9kdWxlXCI7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIFFNU0JQTU5Db21wb25lbnRcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgUW1zQW5ndWxhck1vZHVsZSxcbiAgICAgICAgUU1TQnV0dG9uTW9kdWxlLFxuICAgICAgICBNYXRFeHBhbnNpb25Nb2R1bGUsXG4gICAgICAgIE1hdFRhYnNNb2R1bGUsXG4gICAgICAgIE1hdFJhZGlvTW9kdWxlLFxuICAgICAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgICAgIE1hdElucHV0TW9kdWxlLFxuICAgICAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgICAgIFFNU0xpc3RNb2R1bGUsXG4gICAgICAgIE1hdENhcmRNb2R1bGUsXG4gICAgICAgIFFNU0JyZWFkY3J1bWJNb2R1bGVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgUU1TQlBNTkNvbXBvbmVudFxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgUW1zQlBNTk1vZHVsZSB7IH1cbiJdfQ==
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicW1zLWJwbW4ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcW1zLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3Ftcy1icG1uL3Ftcy1icG1uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUErQjlELE1BQU0sT0FBTyxhQUFhOzs7WUE3QnpCLFFBQVEsU0FBQztnQkFDTixZQUFZLEVBQUU7b0JBQ1YsZ0JBQWdCO2lCQUNuQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ0wsZ0JBQWdCO2lCQUNuQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ0wsWUFBWTtvQkFDWixXQUFXO29CQUNYLG1CQUFtQjtvQkFDbkIsZ0JBQWdCO29CQUNoQixlQUFlO29CQUNmLGtCQUFrQjtvQkFDbEIsYUFBYTtvQkFDYixjQUFjO29CQUNkLGtCQUFrQjtvQkFDbEIsY0FBYztvQkFDZCxlQUFlO29CQUNmLGFBQWE7b0JBQ2IsYUFBYTtvQkFDYixtQkFBbUI7b0JBQ25CLGFBQWE7b0JBQ2Isd0JBQXdCO29CQUN4QixnQkFBZ0I7b0JBQ2hCLG9CQUFvQjtvQkFDcEIsZUFBZTtpQkFDbEI7YUFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBRbXNBbmd1bGFyTW9kdWxlIH0gZnJvbSAnLi4vLi4vcW1zLWFuZ3VsYXIubW9kdWxlJztcbmltcG9ydCB7IFFNU0J1dHRvbk1vZHVsZSB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24ubW9kdWxlJztcbmltcG9ydCB7IE1hdEV4cGFuc2lvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2V4cGFuc2lvbic7XG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XG5pbXBvcnQgeyBNYXRSYWRpb01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcbmltcG9ydCB7IFFNU0JQTU5Db21wb25lbnQgfSBmcm9tICcuL3Ftcy1icG1uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IFFNU0xpc3RNb2R1bGUgfSBmcm9tICcuLi9saXN0L2xpc3QubW9kdWxlJztcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcbmltcG9ydCB7IFFNU0JyZWFkY3J1bWJNb2R1bGUgfSBmcm9tIFwiLi4vYnJlYWRjcnVtYi9icmVhZGNydW1iLm1vZHVsZVwiO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgTmd4TWF0U2VsZWN0U2VhcmNoTW9kdWxlIH0gZnJvbSAnbmd4LW1hdC1zZWxlY3Qtc2VhcmNoJztcbmltcG9ydCB7IFFNU1JlbGF0ZWRNb2R1bGUgfSBmcm9tIFwiLi4vcmVsYXRlZC9yZWxhdGVkLm1vZHVsZVwiO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xuaW1wb3J0IHsgUW1zQmFkZ2VzTW9kdWxlIH0gZnJvbSBcIi4uL2JhZGdlcy9xbXMtYmFkZ2VzLm1vZHVsZVwiO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBRTVNCUE1OQ29tcG9uZW50XG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIFFNU0JQTU5Db21wb25lbnRcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgUW1zQW5ndWxhck1vZHVsZSxcbiAgICAgICAgUU1TQnV0dG9uTW9kdWxlLFxuICAgICAgICBNYXRFeHBhbnNpb25Nb2R1bGUsXG4gICAgICAgIE1hdFRhYnNNb2R1bGUsXG4gICAgICAgIE1hdFJhZGlvTW9kdWxlLFxuICAgICAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgICAgIE1hdElucHV0TW9kdWxlLFxuICAgICAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgICAgIFFNU0xpc3RNb2R1bGUsXG4gICAgICAgIE1hdENhcmRNb2R1bGUsXG4gICAgICAgIFFNU0JyZWFkY3J1bWJNb2R1bGUsXG4gICAgICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgICAgIE5neE1hdFNlbGVjdFNlYXJjaE1vZHVsZSxcbiAgICAgICAgUU1TUmVsYXRlZE1vZHVsZSxcbiAgICAgICAgTWF0U2xpZGVUb2dnbGVNb2R1bGUsXG4gICAgICAgIFFtc0JhZGdlc01vZHVsZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgUW1zQlBNTk1vZHVsZSB7IH1cbiJdfQ==
@@ -29,6 +29,7 @@ export class RelatedListComponent {
29
29
  appIconService.registerRiskIcon(iconRegistry, domSanitizer);
30
30
  appIconService.registerProcessInterconnectedIcon(iconRegistry, domSanitizer);
31
31
  appIconService.registerComplianceIcon(iconRegistry, domSanitizer);
32
+ appIconService.registerLinkIcon(iconRegistry, domSanitizer);
32
33
  }
33
34
  ngOnChanges(changes) {
34
35
  var _a;
@@ -117,6 +118,8 @@ export class RelatedListComponent {
117
118
  return 'process_interconnected';
118
119
  case DataType.compliance:
119
120
  return 'compliance';
121
+ case DataType.link:
122
+ return 'link';
120
123
  default:
121
124
  return 'folder_outlined';
122
125
  }
@@ -128,9 +131,9 @@ export class RelatedListComponent {
128
131
  RelatedListComponent.decorators = [
129
132
  { type: Component, args: [{
130
133
  selector: 'qms-related-list',
131
- template: "<div class=\"container list-related\">\n <div class=\"list-related__title\">\n <strong>{{ title }}</strong>\n </div>\n <div class=\"list-related__body\" *ngFor=\"let item of relatedData; let i = index\">\n <div class=\"list-related__body-parent\">\n <qms-list-item type=\"image-square\">\n <mat-icon *ngIf=\"!item.svgIcon\" type=\"image-square\" leading-icon [svgIcon]=\"getNodeIcon(item)\"></mat-icon>\n <mat-icon *ngIf=\"item.svgIcon\" type=\"image-square\" leading-icon>\n <img [src]=\"item.svgIcon\" />\n </mat-icon>\n <div qms-list-header>\n <div qms-line (click)=\"onItemClick(item)\" type=\"caption\" *ngIf=\"canShowParent(item)\">\n {{ item?.parentName }}\n </div>\n <div qms-line (click)=\"onItemClick(item)\" type=\"subtitle\">\n {{ item.itemName }}\n </div>\n </div>\n <div qms-line *ngIf=\"item.breadcumbs && item.breadcumbs.length\">\n <qms-breadcrumb class=\"breadcrumb-container\" type=\"table\" numDisplayItem=\"1\" [nodes]=\"item.breadcumbs\">\n </qms-breadcrumb>\n </div>\n <div qms-line color=\"default-subtitle\" *ngIf=\"item?.displayId\">\n <ng-container *ngIf=\"item?.displayId\">\n <span>\n <mat-icon class=\"material-icons-outlined\"> local_offer </mat-icon>\n </span>\n &nbsp;ID:\n {{ item?.displayId }}\n </ng-container>\n <ng-container *ngIf=\"item.statusName\">\n {{ getItemStatus(item) }}\n </ng-container>\n </div>\n <button qms-btn-icon color=\"light\" mode=\"dark\"\n *ngIf=\"!isNotEditedItem && (item.canRemove === undefined || item.canRemove)\" (click)=\"removeItem(i)\">\n <mat-icon>close</mat-icon>\n </button>\n </qms-list-item>\n </div>\n </div>\n</div>",
134
+ template: "<div class=\"container list-related\">\n <div class=\"list-related__title\">\n <strong>{{ title }}</strong>\n </div>\n <div class=\"list-related__body\" *ngFor=\"let item of relatedData; let i = index\">\n <div class=\"list-related__body-parent\">\n <qms-list-item type=\"image-square\">\n <mat-icon *ngIf=\"!item.svgIcon\" type=\"image-square\" leading-icon [svgIcon]=\"getNodeIcon(item)\"></mat-icon>\n <mat-icon *ngIf=\"item.svgIcon\" type=\"image-square\" leading-icon>\n <img class=\"unset-vertical-align\" [src]=\"item.svgIcon\" />\n </mat-icon>\n <div qms-list-header>\n <div qms-line (click)=\"onItemClick(item)\" type=\"caption\" *ngIf=\"canShowParent(item)\">\n {{ item?.parentName }}\n </div>\n <div qms-line (click)=\"onItemClick(item)\" type=\"subtitle\">\n {{ item.itemName }}\n </div>\n </div>\n <div qms-line *ngIf=\"item.breadcumbs && item.breadcumbs.length\">\n <qms-breadcrumb class=\"breadcrumb-container\" type=\"table\" numDisplayItem=\"1\" [nodes]=\"item.breadcumbs\">\n </qms-breadcrumb>\n </div>\n <div qms-line color=\"default-subtitle\" *ngIf=\"item?.displayId\">\n <ng-container *ngIf=\"item?.displayId\">\n <span>\n <mat-icon class=\"material-icons-outlined\"> local_offer </mat-icon>\n </span>\n &nbsp;ID:\n {{ item?.displayId }}\n </ng-container>\n <ng-container *ngIf=\"item.statusName\">\n {{ getItemStatus(item) }}\n </ng-container>\n </div>\n <button qms-btn-icon color=\"light\" mode=\"dark\"\n *ngIf=\"!isNotEditedItem && (item.canRemove === undefined || item.canRemove)\" (click)=\"removeItem(i)\">\n <mat-icon>close</mat-icon>\n </button>\n </qms-list-item>\n </div>\n </div>\n</div>",
132
135
  encapsulation: ViewEncapsulation.None,
133
- styles: [".list-related{font-family:Open Sans;font-style:normal;font-weight:400;color:var(--default-color)}.list-related .list-related__title{font-weight:600;font-size:.875rem;line-height:22px;margin-bottom:1rem}.list-related .list-related__body .list-related__body-parent{min-height:48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd}.list-related .list-related__body .list-related__body-parent .qms-list-item{height:unset!important}.list-related .list-related__body .list-related__body-parent .qms-list-item.mat-2-line.image-item{height:auto}.list-related .list-related__body .list-related__body-parent .qms-list-item.image-item .qms-list-item-content{margin:0}.list-related .list-related__body .list-related__body-parent .wrap-image.image-square,.list-related .list-related__body .list-related__body-parent .wrap-image.image-square img{background:transparent;margin:auto;height:24px;width:24px}.list-related .list-related__body .list-related__body-parent .qms-list-item.image-item .qms-list-text,.list-related .list-related__body .list-related__body-parent .qms-list-item.image-item .trailing-box{margin-left:1.5rem;border-bottom:none;padding-bottom:7px;padding-top:7px}.list-related .list-related__body .list-related__body-parent .qms-list-item.image-item .qms-list-text .material-icons-outlined,.list-related .list-related__body .list-related__body-parent .qms-list-item.image-item .trailing-box .material-icons-outlined{font-size:13px;height:13px;width:13px}.list-related .list-related__body .list-related__body-parent .block{font-weight:400;font-size:1rem;line-height:28px;display:flex;align-items:center}.list-related .list-related__body .list-related__body-parent .block .title{margin-left:1.5rem;padding-top:5px;padding-bottom:5px}.list-related .list-related__body .list-related__body-parent .block .title .caption{color:rgba(0,0,0,.6);font-size:.75rem;line-height:22px}.list-related .list-related__body .list-related__body-parent .block mat-icon{color:rgba(0,0,0,.6);padding:0}.list-related .list-related__body .list-related__body-parent .block button.qms-btn-icon{width:40px;height:40px;line-height:40px}.list-related .list-related__body .list-related__body-child{font-weight:400;font-size:.875rem;line-height:22px}.list-related .list-related__body .list-related__body-child .default{min-height:48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd}.list-related .list-related__body .list-related__body-child .default .title{margin-left:3rem}.list-related .list-related__body .list-related__body-child .default .group-button{margin-right:2rem;display:flex}.list-related .list-related__body .remain{font-weight:600;font-size:.875rem;line-height:22px;display:flex;align-items:center;justify-content:space-between;background-color:#fafafa;color:var(--primary);min-height:48px;border-bottom:1px solid #ddd}.list-related .list-related__body .remain .title{margin-left:3rem}.list-related .list-related__body .qms-line{display:flex;align-items:center}.list-related .list-related__body .breadcrumb-container .qms-breadcrumb-item{cursor:inherit;line-height:16px;font-size:.75rem;color:rgba(0,0,0,.6);font-weight:400;line-height:22px;margin:0}.list-related .list-related__body .trailing-box{display:flex;align-items:center}.list-related .list-related__body .trailing-box button{height:24px;width:24px;line-height:24px}.label-green,.label-red,.label-yellow{font-family:Open Sans;font-style:normal;font-weight:600;display:inline-block;text-align:center;margin-left:1rem;width:24px;height:24px;font-size:.75rem;border-radius:1px}.label-red{background-color:var(--secondary);color:#fff}.label-yellow{background-color:var(--risk-yellow);color:rgba(0,0,0,.87)}.label-green{background-color:var(--risk-green);color:#fff}.cursor{cursor:pointer}"]
136
+ styles: [".list-related{font-family:Open Sans;font-style:normal;font-weight:400;color:var(--default-color)}.list-related .list-related__title{font-weight:600;font-size:.875rem;line-height:22px;margin-bottom:1rem}.list-related .list-related__body .list-related__body-parent{min-height:48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd}.list-related .list-related__body .list-related__body-parent .qms-list-item{height:unset!important}.list-related .list-related__body .list-related__body-parent .qms-list-item.mat-2-line.image-item{height:auto}.list-related .list-related__body .list-related__body-parent .qms-list-item.image-item .qms-list-item-content{margin:0}.list-related .list-related__body .list-related__body-parent .wrap-image.image-square,.list-related .list-related__body .list-related__body-parent .wrap-image.image-square img{background:transparent;margin:auto;height:24px;width:24px}.list-related .list-related__body .list-related__body-parent .qms-list-item.image-item .qms-list-text,.list-related .list-related__body .list-related__body-parent .qms-list-item.image-item .trailing-box{margin-left:1.5rem;border-bottom:none;padding-bottom:7px;padding-top:7px}.list-related .list-related__body .list-related__body-parent .qms-list-item.image-item .qms-list-text .material-icons-outlined,.list-related .list-related__body .list-related__body-parent .qms-list-item.image-item .trailing-box .material-icons-outlined{font-size:13px;height:13px;width:13px}.list-related .list-related__body .list-related__body-parent .block{font-weight:400;font-size:1rem;line-height:28px;display:flex;align-items:center}.list-related .list-related__body .list-related__body-parent .block .title{margin-left:1.5rem;padding-top:5px;padding-bottom:5px}.list-related .list-related__body .list-related__body-parent .block .title .caption{color:rgba(0,0,0,.6);font-size:.75rem;line-height:22px}.list-related .list-related__body .list-related__body-parent .block mat-icon{color:rgba(0,0,0,.6);padding:0}.list-related .list-related__body .list-related__body-parent .block button.qms-btn-icon{width:40px;height:40px;line-height:40px}.list-related .list-related__body .list-related__body-child{font-weight:400;font-size:.875rem;line-height:22px}.list-related .list-related__body .list-related__body-child .default{min-height:48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd}.list-related .list-related__body .list-related__body-child .default .title{margin-left:3rem}.list-related .list-related__body .list-related__body-child .default .group-button{margin-right:2rem;display:flex}.list-related .list-related__body .remain{font-weight:600;font-size:.875rem;line-height:22px;display:flex;align-items:center;justify-content:space-between;background-color:#fafafa;color:var(--primary);min-height:48px;border-bottom:1px solid #ddd}.list-related .list-related__body .remain .title{margin-left:3rem}.list-related .list-related__body .qms-line{display:flex;align-items:center}.list-related .list-related__body .breadcrumb-container .qms-breadcrumb-item{cursor:inherit;line-height:16px;font-size:.75rem;color:rgba(0,0,0,.6);font-weight:400;line-height:22px;margin:0}.list-related .list-related__body .trailing-box{display:flex;align-items:center}.list-related .list-related__body .trailing-box button{height:24px;width:24px;line-height:24px}.list-related .unset-vertical-align{vertical-align:unset}.label-green,.label-red,.label-yellow{font-family:Open Sans;font-style:normal;font-weight:600;display:inline-block;text-align:center;margin-left:1rem;width:24px;height:24px;font-size:.75rem;border-radius:1px}.label-red{background-color:var(--secondary);color:#fff}.label-yellow{background-color:var(--risk-yellow);color:rgba(0,0,0,.87)}.label-green{background-color:var(--risk-green);color:#fff}.cursor{cursor:pointer}"]
134
137
  },] }
135
138
  ];
136
139
  RelatedListComponent.ctorParameters = () => [
@@ -145,4 +148,4 @@ RelatedListComponent.propDecorators = {
145
148
  updateData: [{ type: Output }],
146
149
  onItemSelect: [{ type: Output }]
147
150
  };
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1yZWxhdGVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9yZWxhdGVkL2xpc3Qtb3RoZXItcmVsYXRlZC9saXN0LXJlbGF0ZWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLEtBQUssRUFBcUIsTUFBTSxFQUFpQixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwSSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQVEvRCxNQUFNLE9BQU8sb0JBQW9CO0lBZ0IvQixZQUNVLFlBQTBCLEVBQzNCLFNBQWtDLEVBQ2pDLFlBQTZCLEVBQzdCLGNBQXNDO1FBSHRDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzNCLGNBQVMsR0FBVCxTQUFTLENBQXlCO1FBQ2pDLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQUM3QixtQkFBYyxHQUFkLGNBQWMsQ0FBd0I7UUFoQmhELGdCQUFXLEdBQW9CLEVBQUUsQ0FBQztRQUNsQyxhQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3BCLCtEQUEr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QUFzQjs7O21CQW9CNUIsS0FBSzt5QkFDTCxLQUFLO3lCQUNMLE1BQU07MkJBQ04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBNYXRJY29uUmVnaXN0cnkgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvblwiO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVMaWJyYXJ5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0aW9uLXJlZ2lzdHJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgUU1TSWNvblJlZ2lzdHJ5U2VydmljZSB9IGZyb20gXCIuLi8uLi9hcHAtaWNvbi9pY29uLXJlZ2lzdHJ5LnNlcnZpY2VcIjtcbmltcG9ydCB7IERvY3VtZW50Tm9kZVR5cGUgfSBmcm9tIFwiLi4vY29tbW9uL2RvY3VtZW50LWZvbGRlci10eXBlLmVudW1cIjtcbmltcG9ydCB7IElSZWxhdGVkLCBSZWxhdGVkRGF0YSB9IGZyb20gXCIuLi9tb2RlbC9yZWxhdGVkLWRhdGEubW9kZWxcIjtcbmltcG9ydCB7IERhdGFUeXBlIH0gZnJvbSBcIi4uLy4uLy4uL2NvbW1vbi9lbnVtL2RhdGEtdHlwZS5lbnVtXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Ftcy1yZWxhdGVkLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1yZWxhdGVkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGlzdC1yZWxhdGVkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgUmVsYXRlZExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIExBTkc6IGFueTtcbiAgdGl0bGU6IHN0cmluZztcbiAgaXNOb3RFZGl0ZWRJdGVtOiBib29sZWFuO1xuICByZWxhdGVkRGF0YTogQXJyYXk8SVJlbGF0ZWQ+ID0gW107XG4gIGRhdGFUeXBlID0gRGF0YVR5cGU7XG4gIC8vIGltYWdlUHJvY2VzcyA9ICcuLi9xbXMtYW5ndWxhci9zcmMvYXNzZXRzL2ltYWdlcy91bmlvbi5zdmcnO1xuICBpbWFnZVByb2Nlc3MgPSAnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTVRnaUlHaGxhV2RvZEQwaU1Ua2lJSFpwWlhkQ2IzZzlJakFnTUNBeE9DQXhPU0lnWm1sc2JEMGlibTl1WlNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWo0TkNqeHdZWFJvSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJZ1kyeHBjQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0pOTUNBd0xqVldOaTQxU0RKV01UWXVOVWd4TWxZeE9DNDFTREU0VmpFeUxqVklNVEpXTVRRdU5VZzBWall1TlVnMlZqUXVOVWd4TWxZMkxqVklNVGhXTUM0MVNERXlWakl1TlVnMlZqQXVOVWd3V2swMElESXVOVlkwTGpWSU1sWXlMalZJTkZwTk1UWWdNaTQxVmpRdU5VZ3hORll5TGpWSU1UWmFUVEUySURFMkxqVldNVFF1TlVneE5GWXhOaTQxU0RFMldpSWdabWxzYkQwaVlteGhZMnNpSUdacGJHd3RiM0JoWTJsMGVUMGlNQzQySWk4K0RRbzhMM04yWno0TkNnPT0nO1xuXG4gIEBJbnB1dCgpIGRhdGE6IFJlbGF0ZWREYXRhO1xuICBASW5wdXQoKSBzaG93U3RhdHVzOiBib29sZWFuO1xuICBAT3V0cHV0KCkgdXBkYXRlRGF0YTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG9uSXRlbVNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZUxpYnJhcnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgaWNvblJlZ2lzdHJ5OiBNYXRJY29uUmVnaXN0cnksXG4gICAgcHJpdmF0ZSBhcHBJY29uU2VydmljZTogUU1TSWNvblJlZ2lzdHJ5U2VydmljZVxuICApIHtcbiAgICBhcHBJY29uU2VydmljZS5yZWdpc3RlclByb2Nlc3NJY29uKGljb25SZWdpc3RyeSwgZG9tU2FuaXRpemVyKTtcbiAgICBhcHBJY29uU2VydmljZS5yZWdpc3RlclByb2Nlc3NBcmVhSWNvbihpY29uUmVnaXN0cnksIGRvbVNhbml0aXplcik7XG4gICAgYXBwSWNvblNlcnZpY2UucmVnaXN0ZXJEb2N1bWVudEljb24oaWNvblJlZ2lzdHJ5LCBkb21TYW5pdGl6ZXIpO1xuICAgIGFwcEljb25TZXJ2aWNlLnJlZ2lzdGVyRm9sZGVySWNvbihpY29uUmVnaXN0cnksIGRvbVNhbml0aXplcik7XG4gICAgYXBwSWNvblNlcnZpY2UucmVnaXN0ZXJEZXZpYXRpb25JY29uKGljb25SZWdpc3RyeSwgZG9tU2FuaXRpemVyKTtcbiAgICBhcHBJY29uU2VydmljZS5yZWdpc3RlckNoZWNrbGlzdEljb24oaWNvblJlZ2lzdHJ5LCBkb21TYW5pdGl6ZXIpO1xuICAgIGFwcEljb25TZXJ2aWNlLnJlZ2lzdGVyUmlza0ljb24oaWNvblJlZ2lzdHJ5LCBkb21TYW5pdGl6ZXIpO1xuICAgIGFwcEljb25TZXJ2aWNlLnJlZ2lzdGVyUHJvY2Vzc0ludGVyY29ubmVjdGVkSWNvbihpY29uUmVnaXN0cnksIGRvbVNhbml0aXplcik7XG4gICAgYXBwSWNvblNlcnZpY2UucmVnaXN0ZXJDb21wbGlhbmNlSWNvbihpY29uUmVnaXN0cnksIGRvbVNhbml0aXplcik7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMuZGF0YSAmJiBKU09OLnN0cmluZ2lmeShjaGFuZ2VzLmRhdGEuY3VycmVudFZhbHVlKSAhPT0gSlNPTi5zdHJpbmdpZnkoY2hhbmdlcy5kYXRhLnByZXZpb3VzVmFsdWUpKSB7XG4gICAgICB0aGlzLnJlbGF0ZWREYXRhID0gW107XG4gICAgICB0aGlzLnRpdGxlID0gY2hhbmdlcy5kYXRhLmN1cnJlbnRWYWx1ZS50aXRsZTtcbiAgICAgIHRoaXMuaXNOb3RFZGl0ZWRJdGVtID0gY2hhbmdlcy5kYXRhLmN1cnJlbnRWYWx1ZVsnaXNOb3RFZGl0ZWRJdGVtJ10gPz8gZmFsc2U7XG4gICAgICB0aGlzLnJlbGF0ZWREYXRhID0gWy4uLmNoYW5nZXMuZGF0YS5jdXJyZW50VmFsdWUuZGF0YV07XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy50aXRsZSA9IHRoaXMuZGF0YS50aXRsZTtcbiAgICB0aGlzLmlzTm90RWRpdGVkSXRlbSA9IHRoaXMuZGF0YVsnaXNOb3RFZGl0ZWRJdGVtJ10gPz8gZmFsc2U7XG4gICAgdGhpcy5yZWxhdGVkRGF0YSA9IHRoaXMuZGF0YS5kYXRhO1xuXG4gICAgdGhpcy50cmFuc2xhdGUuZ2V0TGFuZ3VhZ2VTdWJqZWN0JC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgaWYgKHJlcykge1xuICAgICAgICB0aGlzLkxBTkcgPSB0aGlzLnRyYW5zbGF0ZS5nZXRPYmplY3RMYW5nKHJlcyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgZ2V0SW1hZ2VQYXRoKCkge1xuICAgIHJldHVybiB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodGhpcy5pbWFnZVByb2Nlc3MpIGFzIHN0cmluZztcbiAgfVxuXG4gIHJlbW92ZUl0ZW0oaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMudXBkYXRlRGF0YS5lbWl0KGluZGV4KTtcbiAgfVxuXG4gIG9uQ2xvc2VDbGljaygpOiB2b2lkIHtcblxuICB9XG5cbiAgb25JdGVtQ2xpY2soaXRlbTogYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMub25JdGVtU2VsZWN0KVxuICAgICAgdGhpcy5vbkl0ZW1TZWxlY3QuZW1pdChpdGVtKTtcbiAgfVxuXG4gIG9uSXRlbUJyZWFkY3J1bWJDbGljayhldmVudDogYW55KSB7XG4gICAgaWYgKHRoaXMub25JdGVtU2VsZWN0KVxuICAgICAgdGhpcy5vbkl0ZW1TZWxlY3QuZW1pdChldmVudCk7XG4gIH1cblxuICBnZXRJdGVtU3RhdHVzKGl0ZW06IGFueSkge1xuICAgIHJldHVybiAodGhpcy5zaG93U3RhdHVzICYmIGl0ZW0/LnN0YXR1c05hbWUpID8gYCwgJHtpdGVtPy5zdGF0dXNOYW1lfWAgOiAnJztcbiAgfVxuXG4gIGdldE5vZGVJY29uKGl0ZW0pIHtcbiAgICBzd2l0Y2ggKGl0ZW0uaXRlbVR5cGUpIHtcbiAgICAgIGNhc2UgRGF0YVR5cGUuZm9sZGVyOiB7XG4gICAgICAgIHN3aXRjaCAoaXRlbS5sZXZlbFR5cGUpIHtcbiAgICAgICAgICBjYXNlIERvY3VtZW50Tm9kZVR5cGUuRGVwYXJ0bWVudEZvbGRlcjpcbiAgICAgICAgICAgIHJldHVybiAnZGVwYXJ0bWVudF9mb2xkZXJfb3V0bGluZWQnO1xuICAgICAgICAgIGNhc2UgRG9jdW1lbnROb2RlVHlwZS5SZWdpb25hbEZvbGRlcjpcbiAgICAgICAgICAgIHJldHVybiAncmVnaW9uYWxfZm9sZGVyX291dGxpbmVkJztcbiAgICAgICAgICBjYXNlIERvY3VtZW50Tm9kZVR5cGUuVG9wRm9sZGVyOlxuICAgICAgICAgICAgcmV0dXJuICdlbnRlcnByaXNlX2ZvbGRlcl9vdXRsaW5lZCc7XG4gICAgICAgICAgY2FzZSBEb2N1bWVudE5vZGVUeXBlLkZvbGRlcjpcbiAgICAgICAgICAgIHJldHVybiAnbG9jYWxfZm9sZGVyX291dGxpbmVkJztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuICdmb2xkZXJfb3V0bGluZWQnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjYXNlIERhdGFUeXBlLmRvY3VtZW50OiB7XG4gICAgICAgIHN3aXRjaCAoaXRlbS5sZXZlbFR5cGUpIHtcbiAgICAgICAgICBjYXNlIERvY3VtZW50Tm9kZVR5cGUuRGVwYXJ0bWVudEZvbGRlcjpcbiAgICAgICAgICAgIHJldHVybiAnZG9jdW1lbnRfZGVwYXJ0bWVudCc7XG4gICAgICAgICAgY2FzZSBEb2N1bWVudE5vZGVUeXBlLlJlZ2lvbmFsRm9sZGVyOlxuICAgICAgICAgICAgcmV0dXJuICdkb2N1bWVudF9yZWdpb25hbCc7XG4gICAgICAgICAgY2FzZSBEb2N1bWVudE5vZGVUeXBlLlRvcEZvbGRlcjpcbiAgICAgICAgICAgIHJldHVybiAnZG9jdW1lbnRfZW50ZXJwcmlzZSc7XG4gICAgICAgICAgY2FzZSBEb2N1bWVudE5vZGVUeXBlLkZvbGRlcjpcbiAgICAgICAgICAgIHJldHVybiAnZG9jdW1lbnRfbG9jYWwnO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gJ2RvY3VtZW50JztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY2FzZSBEYXRhVHlwZS5hcmVhOlxuICAgICAgICByZXR1cm4gJ3Byb2Nlc3NfYXJlYV9vdXRsaW5lZCc7XG4gICAgICBjYXNlIERhdGFUeXBlLnByb2Nlc3M6XG4gICAgICAgIHJldHVybiAncHJvY2Vzcyc7XG4gICAgICBjYXNlIERhdGFUeXBlLmRldmlhdGlvbjpcbiAgICAgICAgcmV0dXJuICdkZXZpYXRpb24nO1xuICAgICAgY2FzZSBEYXRhVHlwZS5jaGVja2xpc3Q6XG4gICAgICAgIHJldHVybiAnY2hlY2tsaXN0JztcbiAgICAgIGNhc2UgRGF0YVR5cGUucmlzazpcbiAgICAgICAgcmV0dXJuICdyaXNrJztcbiAgICAgIGNhc2UgRGF0YVR5cGUucHJvY2Vzc0ludGVyY29ubmVjdGVkOlxuICAgICAgICByZXR1cm4gJ3Byb2Nlc3NfaW50ZXJjb25uZWN0ZWQnO1xuICAgICAgY2FzZSBEYXRhVHlwZS5jb21wbGlhbmNlOlxuICAgICAgICByZXR1cm4gJ2NvbXBsaWFuY2UnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdmb2xkZXJfb3V0bGluZWQnO1xuICAgIH1cbiAgfVxuXG4gIGNhblNob3dQYXJlbnQoaXRlbSkge1xuICAgIHJldHVybiBpdGVtLml0ZW1UeXBlID09PSB0aGlzLmRhdGFUeXBlLmRldmlhdGlvbiB8fCBpdGVtLml0ZW1UeXBlID09PSB0aGlzLmRhdGFUeXBlLmNoZWNrbGlzdDtcbiAgfVxufVxuIl19
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1yZWxhdGVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9yZWxhdGVkL2xpc3Qtb3RoZXItcmVsYXRlZC9saXN0LXJlbGF0ZWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLEtBQUssRUFBcUIsTUFBTSxFQUFpQixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwSSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQVEvRCxNQUFNLE9BQU8sb0JBQW9CO0lBZ0IvQixZQUNVLFlBQTBCLEVBQzNCLFNBQWtDLEVBQ2pDLFlBQTZCLEVBQzdCLGNBQXNDO1FBSHRDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzNCLGNBQVMsR0FBVCxTQUFTLENBQXlCO1FBQ2pDLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQUM3QixtQkFBYyxHQUFkLGNBQWMsQ0FBd0I7UUFoQmhELGdCQUFXLEdBQW9CLEVBQUUsQ0FBQztRQUNsQyxhQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3BCLCtEQUErRDtRQUMvRCxpQkFBWSxHQUFHLG9lQUFvZSxDQUFDO1FBSTFlLGVBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN4RCxpQkFBWSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXBFLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVFsQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQy9ELGNBQWMsQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDbkUsY0FBYyxDQUFDLG9CQUFvQixDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNoRSxjQUFjLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzlELGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDakUsY0FBYyxDQUFDLHFCQUFxQixDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNqRSxjQUFjLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzVELGNBQWMsQ0FBQyxpQ0FBaUMsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDN0UsY0FBYyxDQUFDLHNCQUFzQixDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNsRSxjQUFjLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7O1FBQ2hDLElBQUksT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQzVHLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO1lBQzdDLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBQSxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxtQ0FBSSxLQUFLLENBQUM7WUFDN0UsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDeEQ7SUFDSCxDQUFDO0lBRUQsUUFBUTs7UUFDTixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzdCLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBQSxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLG1DQUFJLEtBQUssQ0FBQztRQUM3RCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBRWxDLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUN2RixJQUFJLEdBQUcsRUFBRTtnQkFDUCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQy9DO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFXLENBQUM7SUFDdkYsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFhO1FBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxZQUFZO0lBRVosQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFTO1FBQ25CLElBQUksSUFBSSxDQUFDLFlBQVk7WUFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELHFCQUFxQixDQUFDLEtBQVU7UUFDOUIsSUFBSSxJQUFJLENBQUMsWUFBWTtZQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQVM7UUFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLEtBQUksSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLFVBQVUsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDOUUsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFJO1FBQ2QsUUFBUSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3JCLEtBQUssUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNwQixRQUFRLElBQUksQ0FBQyxTQUFTLEVBQUU7b0JBQ3RCLEtBQUssZ0JBQWdCLENBQUMsZ0JBQWdCO3dCQUNwQyxPQUFPLDRCQUE0QixDQUFDO29CQUN0QyxLQUFLLGdCQUFnQixDQUFDLGNBQWM7d0JBQ2xDLE9BQU8sMEJBQTBCLENBQUM7b0JBQ3BDLEtBQUssZ0JBQWdCLENBQUMsU0FBUzt3QkFDN0IsT0FBTyw0QkFBNEIsQ0FBQztvQkFDdEMsS0FBSyxnQkFBZ0IsQ0FBQyxNQUFNO3dCQUMxQixPQUFPLHVCQUF1QixDQUFDO29CQUNqQzt3QkFDRSxPQUFPLGlCQUFpQixDQUFDO2lCQUM1QjthQUNGO1lBQ0QsS0FBSyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3RCLFFBQVEsSUFBSSxDQUFDLFNBQVMsRUFBRTtvQkFDdEIsS0FBSyxnQkFBZ0IsQ0FBQyxnQkFBZ0I7d0JBQ3BDLE9BQU8scUJBQXFCLENBQUM7b0JBQy9CLEtBQUssZ0JBQWdCLENBQUMsY0FBYzt3QkFDbEMsT0FBTyxtQkFBbUIsQ0FBQztvQkFDN0IsS0FBSyxnQkFBZ0IsQ0FBQyxTQUFTO3dCQUM3QixPQUFPLHFCQUFxQixDQUFDO29CQUMvQixLQUFLLGdCQUFnQixDQUFDLE1BQU07d0JBQzFCLE9BQU8sZ0JBQWdCLENBQUM7b0JBQzFCO3dCQUNFLE9BQU8sVUFBVSxDQUFDO2lCQUNyQjthQUNGO1lBQ0QsS0FBSyxRQUFRLENBQUMsSUFBSTtnQkFDaEIsT0FBTyx1QkFBdUIsQ0FBQztZQUNqQyxLQUFLLFFBQVEsQ0FBQyxPQUFPO2dCQUNuQixPQUFPLFNBQVMsQ0FBQztZQUNuQixLQUFLLFFBQVEsQ0FBQyxTQUFTO2dCQUNyQixPQUFPLFdBQVcsQ0FBQztZQUNyQixLQUFLLFFBQVEsQ0FBQyxTQUFTO2dCQUNyQixPQUFPLFdBQVcsQ0FBQztZQUNyQixLQUFLLFFBQVEsQ0FBQyxJQUFJO2dCQUNoQixPQUFPLE1BQU0sQ0FBQztZQUNoQixLQUFLLFFBQVEsQ0FBQyxxQkFBcUI7Z0JBQ2pDLE9BQU8sd0JBQXdCLENBQUM7WUFDbEMsS0FBSyxRQUFRLENBQUMsVUFBVTtnQkFDdEIsT0FBTyxZQUFZLENBQUM7WUFDdEIsS0FBSyxRQUFRLENBQUMsSUFBSTtnQkFDaEIsT0FBTyxNQUFNLENBQUM7WUFFaEI7Z0JBQ0UsT0FBTyxpQkFBaUIsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsSUFBSTtRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQztJQUNoRyxDQUFDOzs7WUFsSkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLHE1REFBNEM7Z0JBRTVDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJOzthQUN0Qzs7O1lBZFEsWUFBWTtZQUdaLHVCQUF1QjtZQUp2QixlQUFlO1lBS2Ysc0JBQXNCOzs7bUJBb0I1QixLQUFLO3lCQUNMLEtBQUs7eUJBQ0wsTUFBTTsyQkFDTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE1hdEljb25SZWdpc3RyeSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZUxpYnJhcnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdHJhbnNsYXRpb24tcmVnaXN0cnkuc2VydmljZSc7XG5pbXBvcnQgeyBRTVNJY29uUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2FwcC1pY29uL2ljb24tcmVnaXN0cnkuc2VydmljZVwiO1xuaW1wb3J0IHsgRG9jdW1lbnROb2RlVHlwZSB9IGZyb20gXCIuLi9jb21tb24vZG9jdW1lbnQtZm9sZGVyLXR5cGUuZW51bVwiO1xuaW1wb3J0IHsgSVJlbGF0ZWQsIFJlbGF0ZWREYXRhIH0gZnJvbSBcIi4uL21vZGVsL3JlbGF0ZWQtZGF0YS5tb2RlbFwiO1xuaW1wb3J0IHsgRGF0YVR5cGUgfSBmcm9tIFwiLi4vLi4vLi4vY29tbW9uL2VudW0vZGF0YS10eXBlLmVudW1cIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncW1zLXJlbGF0ZWQtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LXJlbGF0ZWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saXN0LXJlbGF0ZWQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBSZWxhdGVkTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgTEFORzogYW55O1xuICB0aXRsZTogc3RyaW5nO1xuICBpc05vdEVkaXRlZEl0ZW06IGJvb2xlYW47XG4gIHJlbGF0ZWREYXRhOiBBcnJheTxJUmVsYXRlZD4gPSBbXTtcbiAgZGF0YVR5cGUgPSBEYXRhVHlwZTtcbiAgLy8gaW1hZ2VQcm9jZXNzID0gJy4uL3Ftcy1hbmd1bGFyL3NyYy9hc3NldHMvaW1hZ2VzL3VuaW9uLnN2Zyc7XG4gIGltYWdlUHJvY2VzcyA9ICdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMGlNVGdpSUdobGFXZG9kRDBpTVRraUlIWnBaWGRDYjNnOUlqQWdNQ0F4T0NBeE9TSWdabWxzYkQwaWJtOXVaU0lnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JajROQ2p4d1lYUm9JR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0lnWTJ4cGNDMXlkV3hsUFNKbGRtVnViMlJrSWlCa1BTSk5NQ0F3TGpWV05pNDFTREpXTVRZdU5VZ3hNbFl4T0M0MVNERTRWakV5TGpWSU1USldNVFF1TlVnMFZqWXVOVWcyVmpRdU5VZ3hNbFkyTGpWSU1UaFdNQzQxU0RFeVZqSXVOVWcyVmpBdU5VZ3dXazAwSURJdU5WWTBMalZJTWxZeUxqVklORnBOTVRZZ01pNDFWalF1TlVneE5GWXlMalZJTVRaYVRURTJJREUyTGpWV01UUXVOVWd4TkZZeE5pNDFTREUyV2lJZ1ptbHNiRDBpWW14aFkyc2lJR1pwYkd3dGIzQmhZMmwwZVQwaU1DNDJJaTgrRFFvOEwzTjJaejROQ2c9PSc7XG5cbiAgQElucHV0KCkgZGF0YTogUmVsYXRlZERhdGE7XG4gIEBJbnB1dCgpIHNob3dTdGF0dXM6IGJvb2xlYW47XG4gIEBPdXRwdXQoKSB1cGRhdGVEYXRhOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb25JdGVtU2VsZWN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlTGlicmFyeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpY29uUmVnaXN0cnk6IE1hdEljb25SZWdpc3RyeSxcbiAgICBwcml2YXRlIGFwcEljb25TZXJ2aWNlOiBRTVNJY29uUmVnaXN0cnlTZXJ2aWNlXG4gICkge1xuICAgIGFwcEljb25TZXJ2aWNlLnJlZ2lzdGVyUHJvY2Vzc0ljb24oaWNvblJlZ2lzdHJ5LCBkb21TYW5pdGl6ZXIpO1xuICAgIGFwcEljb25TZXJ2aWNlLnJlZ2lzdGVyUHJvY2Vzc0FyZWFJY29uKGljb25SZWdpc3RyeSwgZG9tU2FuaXRpemVyKTtcbiAgICBhcHBJY29uU2VydmljZS5yZWdpc3RlckRvY3VtZW50SWNvbihpY29uUmVnaXN0cnksIGRvbVNhbml0aXplcik7XG4gICAgYXBwSWNvblNlcnZpY2UucmVnaXN0ZXJGb2xkZXJJY29uKGljb25SZWdpc3RyeSwgZG9tU2FuaXRpemVyKTtcbiAgICBhcHBJY29uU2VydmljZS5yZWdpc3RlckRldmlhdGlvbkljb24oaWNvblJlZ2lzdHJ5LCBkb21TYW5pdGl6ZXIpO1xuICAgIGFwcEljb25TZXJ2aWNlLnJlZ2lzdGVyQ2hlY2tsaXN0SWNvbihpY29uUmVnaXN0cnksIGRvbVNhbml0aXplcik7XG4gICAgYXBwSWNvblNlcnZpY2UucmVnaXN0ZXJSaXNrSWNvbihpY29uUmVnaXN0cnksIGRvbVNhbml0aXplcik7XG4gICAgYXBwSWNvblNlcnZpY2UucmVnaXN0ZXJQcm9jZXNzSW50ZXJjb25uZWN0ZWRJY29uKGljb25SZWdpc3RyeSwgZG9tU2FuaXRpemVyKTtcbiAgICBhcHBJY29uU2VydmljZS5yZWdpc3RlckNvbXBsaWFuY2VJY29uKGljb25SZWdpc3RyeSwgZG9tU2FuaXRpemVyKTtcbiAgICBhcHBJY29uU2VydmljZS5yZWdpc3RlckxpbmtJY29uKGljb25SZWdpc3RyeSwgZG9tU2FuaXRpemVyKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlcy5kYXRhICYmIEpTT04uc3RyaW5naWZ5KGNoYW5nZXMuZGF0YS5jdXJyZW50VmFsdWUpICE9PSBKU09OLnN0cmluZ2lmeShjaGFuZ2VzLmRhdGEucHJldmlvdXNWYWx1ZSkpIHtcbiAgICAgIHRoaXMucmVsYXRlZERhdGEgPSBbXTtcbiAgICAgIHRoaXMudGl0bGUgPSBjaGFuZ2VzLmRhdGEuY3VycmVudFZhbHVlLnRpdGxlO1xuICAgICAgdGhpcy5pc05vdEVkaXRlZEl0ZW0gPSBjaGFuZ2VzLmRhdGEuY3VycmVudFZhbHVlWydpc05vdEVkaXRlZEl0ZW0nXSA/PyBmYWxzZTtcbiAgICAgIHRoaXMucmVsYXRlZERhdGEgPSBbLi4uY2hhbmdlcy5kYXRhLmN1cnJlbnRWYWx1ZS5kYXRhXTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnRpdGxlID0gdGhpcy5kYXRhLnRpdGxlO1xuICAgIHRoaXMuaXNOb3RFZGl0ZWRJdGVtID0gdGhpcy5kYXRhWydpc05vdEVkaXRlZEl0ZW0nXSA/PyBmYWxzZTtcbiAgICB0aGlzLnJlbGF0ZWREYXRhID0gdGhpcy5kYXRhLmRhdGE7XG5cbiAgICB0aGlzLnRyYW5zbGF0ZS5nZXRMYW5ndWFnZVN1YmplY3QkLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICBpZiAocmVzKSB7XG4gICAgICAgIHRoaXMuTEFORyA9IHRoaXMudHJhbnNsYXRlLmdldE9iamVjdExhbmcocmVzKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBnZXRJbWFnZVBhdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh0aGlzLmltYWdlUHJvY2VzcykgYXMgc3RyaW5nO1xuICB9XG5cbiAgcmVtb3ZlSXRlbShpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy51cGRhdGVEYXRhLmVtaXQoaW5kZXgpO1xuICB9XG5cbiAgb25DbG9zZUNsaWNrKCk6IHZvaWQge1xuXG4gIH1cblxuICBvbkl0ZW1DbGljayhpdGVtOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5vbkl0ZW1TZWxlY3QpXG4gICAgICB0aGlzLm9uSXRlbVNlbGVjdC5lbWl0KGl0ZW0pO1xuICB9XG5cbiAgb25JdGVtQnJlYWRjcnVtYkNsaWNrKGV2ZW50OiBhbnkpIHtcbiAgICBpZiAodGhpcy5vbkl0ZW1TZWxlY3QpXG4gICAgICB0aGlzLm9uSXRlbVNlbGVjdC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIGdldEl0ZW1TdGF0dXMoaXRlbTogYW55KSB7XG4gICAgcmV0dXJuICh0aGlzLnNob3dTdGF0dXMgJiYgaXRlbT8uc3RhdHVzTmFtZSkgPyBgLCAke2l0ZW0/LnN0YXR1c05hbWV9YCA6ICcnO1xuICB9XG5cbiAgZ2V0Tm9kZUljb24oaXRlbSkge1xuICAgIHN3aXRjaCAoaXRlbS5pdGVtVHlwZSkge1xuICAgICAgY2FzZSBEYXRhVHlwZS5mb2xkZXI6IHtcbiAgICAgICAgc3dpdGNoIChpdGVtLmxldmVsVHlwZSkge1xuICAgICAgICAgIGNhc2UgRG9jdW1lbnROb2RlVHlwZS5EZXBhcnRtZW50Rm9sZGVyOlxuICAgICAgICAgICAgcmV0dXJuICdkZXBhcnRtZW50X2ZvbGRlcl9vdXRsaW5lZCc7XG4gICAgICAgICAgY2FzZSBEb2N1bWVudE5vZGVUeXBlLlJlZ2lvbmFsRm9sZGVyOlxuICAgICAgICAgICAgcmV0dXJuICdyZWdpb25hbF9mb2xkZXJfb3V0bGluZWQnO1xuICAgICAgICAgIGNhc2UgRG9jdW1lbnROb2RlVHlwZS5Ub3BGb2xkZXI6XG4gICAgICAgICAgICByZXR1cm4gJ2VudGVycHJpc2VfZm9sZGVyX291dGxpbmVkJztcbiAgICAgICAgICBjYXNlIERvY3VtZW50Tm9kZVR5cGUuRm9sZGVyOlxuICAgICAgICAgICAgcmV0dXJuICdsb2NhbF9mb2xkZXJfb3V0bGluZWQnO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gJ2ZvbGRlcl9vdXRsaW5lZCc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNhc2UgRGF0YVR5cGUuZG9jdW1lbnQ6IHtcbiAgICAgICAgc3dpdGNoIChpdGVtLmxldmVsVHlwZSkge1xuICAgICAgICAgIGNhc2UgRG9jdW1lbnROb2RlVHlwZS5EZXBhcnRtZW50Rm9sZGVyOlxuICAgICAgICAgICAgcmV0dXJuICdkb2N1bWVudF9kZXBhcnRtZW50JztcbiAgICAgICAgICBjYXNlIERvY3VtZW50Tm9kZVR5cGUuUmVnaW9uYWxGb2xkZXI6XG4gICAgICAgICAgICByZXR1cm4gJ2RvY3VtZW50X3JlZ2lvbmFsJztcbiAgICAgICAgICBjYXNlIERvY3VtZW50Tm9kZVR5cGUuVG9wRm9sZGVyOlxuICAgICAgICAgICAgcmV0dXJuICdkb2N1bWVudF9lbnRlcnByaXNlJztcbiAgICAgICAgICBjYXNlIERvY3VtZW50Tm9kZVR5cGUuRm9sZGVyOlxuICAgICAgICAgICAgcmV0dXJuICdkb2N1bWVudF9sb2NhbCc7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiAnZG9jdW1lbnQnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjYXNlIERhdGFUeXBlLmFyZWE6XG4gICAgICAgIHJldHVybiAncHJvY2Vzc19hcmVhX291dGxpbmVkJztcbiAgICAgIGNhc2UgRGF0YVR5cGUucHJvY2VzczpcbiAgICAgICAgcmV0dXJuICdwcm9jZXNzJztcbiAgICAgIGNhc2UgRGF0YVR5cGUuZGV2aWF0aW9uOlxuICAgICAgICByZXR1cm4gJ2RldmlhdGlvbic7XG4gICAgICBjYXNlIERhdGFUeXBlLmNoZWNrbGlzdDpcbiAgICAgICAgcmV0dXJuICdjaGVja2xpc3QnO1xuICAgICAgY2FzZSBEYXRhVHlwZS5yaXNrOlxuICAgICAgICByZXR1cm4gJ3Jpc2snO1xuICAgICAgY2FzZSBEYXRhVHlwZS5wcm9jZXNzSW50ZXJjb25uZWN0ZWQ6XG4gICAgICAgIHJldHVybiAncHJvY2Vzc19pbnRlcmNvbm5lY3RlZCc7XG4gICAgICBjYXNlIERhdGFUeXBlLmNvbXBsaWFuY2U6XG4gICAgICAgIHJldHVybiAnY29tcGxpYW5jZSc7XG4gICAgICBjYXNlIERhdGFUeXBlLmxpbms6XG4gICAgICAgIHJldHVybiAnbGluayc7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnZm9sZGVyX291dGxpbmVkJztcbiAgICB9XG4gIH1cblxuICBjYW5TaG93UGFyZW50KGl0ZW0pIHtcbiAgICByZXR1cm4gaXRlbS5pdGVtVHlwZSA9PT0gdGhpcy5kYXRhVHlwZS5kZXZpYXRpb24gfHwgaXRlbS5pdGVtVHlwZSA9PT0gdGhpcy5kYXRhVHlwZS5jaGVja2xpc3Q7XG4gIH1cbn1cbiJdfQ==