@hmcts/ccd-case-ui-toolkit 7.0.0-NodeAndNgUpgrades.2-material-legacy → 7.0.0-rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/esm2020/lib/app.config.mjs +1 -1
  2. package/esm2020/lib/shared/components/activity/activity.module.mjs +6 -3
  3. package/esm2020/lib/shared/components/case-editor/case-edit/case-edit.component.mjs +21 -8
  4. package/esm2020/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.mjs +12 -4
  5. package/esm2020/lib/shared/components/case-editor/case-editor.module.mjs +6 -3
  6. package/esm2020/lib/shared/components/case-editor/case-progress/case-progress.component.mjs +2 -3
  7. package/esm2020/lib/shared/components/case-editor/services/valid-page-list-caseFields.service.mjs +39 -0
  8. package/esm2020/lib/shared/components/case-editor/services/wizard-page-field-to-case-field.mapper.mjs +2 -1
  9. package/esm2020/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.mjs +1 -1
  10. package/esm2020/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.mjs +1 -1
  11. package/esm2020/lib/shared/components/case-viewer/case-viewer.module.mjs +4 -1
  12. package/esm2020/lib/shared/components/palette/case-flag/write-case-flag-field.component.mjs +1 -1
  13. package/esm2020/lib/shared/components/palette/complex/read-complex-field-table.component.mjs +5 -4
  14. package/esm2020/lib/shared/components/palette/datetime-picker/datetime-picker.component.mjs +12 -10
  15. package/esm2020/lib/shared/directives/conditional-show/services/condition-parser.service.mjs +2 -2
  16. package/esm2020/lib/shared/domain/index.mjs +2 -1
  17. package/esm2020/lib/shared/domain/polling/index.mjs +2 -0
  18. package/esm2020/lib/shared/domain/polling/polling.model.mjs +2 -0
  19. package/esm2020/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.mjs +26 -13
  20. package/esm2020/lib/shared/services/activity/activity.polling.service.mjs +10 -7
  21. package/esm2020/lib/shared/services/activity/index.mjs +2 -1
  22. package/esm2020/lib/shared/services/activity/polling.service.mjs +61 -0
  23. package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs +284 -148
  24. package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  25. package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs +280 -148
  26. package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  27. package/lib/app.config.d.ts.map +1 -1
  28. package/lib/shared/components/activity/activity.module.d.ts.map +1 -1
  29. package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts +6 -3
  30. package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts.map +1 -1
  31. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts +4 -2
  32. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
  33. package/lib/shared/components/case-editor/case-editor.module.d.ts.map +1 -1
  34. package/lib/shared/components/case-editor/case-progress/case-progress.component.d.ts.map +1 -1
  35. package/lib/shared/components/case-editor/services/valid-page-list-caseFields.service.d.ts +14 -0
  36. package/lib/shared/components/case-editor/services/valid-page-list-caseFields.service.d.ts.map +1 -0
  37. package/lib/shared/components/case-editor/services/wizard-page-field-to-case-field.mapper.d.ts.map +1 -1
  38. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts +1 -2
  39. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts.map +1 -1
  40. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +1 -2
  41. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
  42. package/lib/shared/components/case-viewer/case-viewer.module.d.ts.map +1 -1
  43. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts +1 -1
  44. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts.map +1 -1
  45. package/lib/shared/domain/index.d.ts +1 -0
  46. package/lib/shared/domain/index.d.ts.map +1 -1
  47. package/lib/shared/domain/polling/index.d.ts +2 -0
  48. package/lib/shared/domain/polling/index.d.ts.map +1 -0
  49. package/lib/shared/domain/polling/polling.model.d.ts +10 -0
  50. package/lib/shared/domain/polling/polling.model.d.ts.map +1 -0
  51. package/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.d.ts +1 -1
  52. package/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.d.ts.map +1 -1
  53. package/lib/shared/services/activity/activity.polling.service.d.ts +3 -1
  54. package/lib/shared/services/activity/activity.polling.service.d.ts.map +1 -1
  55. package/lib/shared/services/activity/index.d.ts +1 -0
  56. package/lib/shared/services/activity/index.d.ts.map +1 -1
  57. package/lib/shared/services/activity/polling.service.d.ts +12 -0
  58. package/lib/shared/services/activity/polling.service.d.ts.map +1 -0
  59. package/package.json +1 -1
@@ -8,17 +8,17 @@ export class ReadFieldsFilterPipe {
8
8
  /**
9
9
  * Complex type should have at least on simple field descendant with a value.
10
10
  */
11
- static isValidComplex(field, values) {
11
+ static isValidComplex(field, values, checkConditionalShowAgainst) {
12
12
  values = values || {};
13
13
  const type = field.field_type;
14
14
  const value = ReadFieldsFilterPipe.getValue(field, values);
15
15
  const hasChildrenWithValue = type.complex_fields.find(f => {
16
- const willKeep = ReadFieldsFilterPipe.keepField(f, value, true);
17
- return willKeep && ReadFieldsFilterPipe.evaluateConditionalShow(f, value).hidden !== true;
16
+ const willKeep = ReadFieldsFilterPipe.keepField(f, value, true, checkConditionalShowAgainst);
17
+ return willKeep && ReadFieldsFilterPipe.evaluateConditionalShow(f, checkConditionalShowAgainst).hidden !== true;
18
18
  });
19
19
  return !!hasChildrenWithValue;
20
20
  }
21
- static isValidCollection(field, values) {
21
+ static isValidCollection(field, values, checkConditionalShowAgainst) {
22
22
  // if field is collection and it has complex/collection child field; parent field doesnt have value defined
23
23
  if (!Array.isArray(field.value) && values && values.hasOwnProperty(field.id)) {
24
24
  return true;
@@ -32,7 +32,7 @@ export class ReadFieldsFilterPipe {
32
32
  value: item.value,
33
33
  label: null,
34
34
  });
35
- return ReadFieldsFilterPipe.isValidComplex(complexField);
35
+ return ReadFieldsFilterPipe.isValidComplex(complexField, undefined, checkConditionalShowAgainst);
36
36
  });
37
37
  }
38
38
  return isNotEmpty;
@@ -44,11 +44,11 @@ export class ReadFieldsFilterPipe {
44
44
  static isCompound(field) {
45
45
  return ReadFieldsFilterPipe.NESTED_TYPES[field.field_type.type];
46
46
  }
47
- static isValidCompound(field, value) {
47
+ static isValidCompound(field, value, checkConditionalShowAgainst) {
48
48
  return ReadFieldsFilterPipe.isCompound(field)
49
- && ReadFieldsFilterPipe.NESTED_TYPES[field.field_type.type](field, value);
49
+ && ReadFieldsFilterPipe.NESTED_TYPES[field.field_type.type](field, value, checkConditionalShowAgainst);
50
50
  }
51
- static keepField(field, value, ignoreLabels = false) {
51
+ static keepField(field, value, ignoreLabels = false, checkConditionalShowAgainst) {
52
52
  // We shouldn't ditch labels.
53
53
  if (!ignoreLabels && field.field_type.type === 'Label' && (field.label || '').length > 0) {
54
54
  return true;
@@ -59,7 +59,7 @@ export class ReadFieldsFilterPipe {
59
59
  }
60
60
  value = value || {};
61
61
  if (ReadFieldsFilterPipe.isCompound(field)) {
62
- return ReadFieldsFilterPipe.isValidCompound(field, value);
62
+ return ReadFieldsFilterPipe.isValidCompound(field, value, checkConditionalShowAgainst);
63
63
  }
64
64
  return !ReadFieldsFilterPipe.isEmpty(field.value)
65
65
  || !ReadFieldsFilterPipe.isEmpty(value[field.id]);
@@ -102,7 +102,7 @@ export class ReadFieldsFilterPipe {
102
102
  /**
103
103
  * Filter out fields having no data to display and harmonise field values coming parent's value.
104
104
  */
105
- transform(complexField, keepEmpty, index, setupHidden = false, formGroup, path) {
105
+ transform(complexField, keepEmpty, index, setupHidden = false, formGroup, path, idPrefix) {
106
106
  if (!complexField || !complexField.field_type) {
107
107
  return [];
108
108
  }
@@ -111,8 +111,21 @@ export class ReadFieldsFilterPipe {
111
111
  let checkConditionalShowAgainst = values;
112
112
  let formGroupAvailable = false;
113
113
  if (formGroup) {
114
- checkConditionalShowAgainst = formGroup.value;
114
+ checkConditionalShowAgainst = formGroup.parent.getRawValue().data;
115
115
  formGroupAvailable = true;
116
+ if (idPrefix !== undefined) {
117
+ if (idPrefix !== '') {
118
+ const fieldId = idPrefix.substring(0, idPrefix.indexOf('_'));
119
+ if (checkConditionalShowAgainst[fieldId]) {
120
+ checkConditionalShowAgainst = values;
121
+ formGroupAvailable = false;
122
+ }
123
+ }
124
+ else {
125
+ checkConditionalShowAgainst = Object.assign(checkConditionalShowAgainst, values);
126
+ formGroupAvailable = false;
127
+ }
128
+ }
116
129
  }
117
130
  return fields
118
131
  .map(f => {
@@ -132,7 +145,7 @@ export class ReadFieldsFilterPipe {
132
145
  }
133
146
  return f;
134
147
  })
135
- .filter(f => keepEmpty || ReadFieldsFilterPipe.keepField(f));
148
+ .filter(f => keepEmpty || ReadFieldsFilterPipe.keepField(f, undefined, false, checkConditionalShowAgainst));
136
149
  }
137
150
  }
138
151
  ReadFieldsFilterPipe.EMPTY_VALUES = [
@@ -154,4 +167,4 @@ ReadFieldsFilterPipe.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "ccdReadFi
154
167
  name: 'ccdReadFieldsFilter'
155
168
  }]
156
169
  }], null, null); })();
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2NkLXJlYWQtZmllbGRzLWZpbHRlci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9waXBlcy9jb21wbGV4L2NjZC1yZWFkLWZpZWxkcy1maWx0ZXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUdwRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDaEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFLakUsTUFBTSxPQUFPLG9CQUFvQjtJQWdCL0I7O09BRUc7SUFDSyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQWdCLEVBQUUsTUFBZTtRQUM3RCxNQUFNLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUN0QixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDO1FBQzlCLE1BQU0sS0FBSyxHQUFHLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFM0QsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN4RCxNQUFNLFFBQVEsR0FBRyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNoRSxPQUFPLFFBQVEsSUFBSSxvQkFBb0IsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQztRQUM1RixDQUFD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QUFwQixvQkFBb0I7dUZBQXBCLG9CQUFvQjtjQUhoQyxJQUFJO2VBQUM7Z0JBQ0osSUFBSSxFQUFFLHFCQUFxQjthQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBwbGFpblRvQ2xhc3NGcm9tRXhpc3QgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBTaG93Q29uZGl0aW9uIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9jb25kaXRpb25hbC1zaG93L2RvbWFpbi9jb25kaXRpb25hbC1zaG93Lm1vZGVsJztcbmltcG9ydCB7IENhc2VGaWVsZCB9IGZyb20gJy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uL2Nhc2UtZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgRmllbGRzVXRpbHMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9maWVsZHMvZmllbGRzLnV0aWxzJztcblxuQFBpcGUoe1xuICBuYW1lOiAnY2NkUmVhZEZpZWxkc0ZpbHRlcidcbn0pXG5leHBvcnQgY2xhc3MgUmVhZEZpZWxkc0ZpbHRlclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBFTVBUWV9WQUxVRVMgPSBbXG4gICAgdW5kZWZpbmVkLFxuICAgIG51bGwsXG4gICAgJycsXG4gICAge31cbiAgXTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBBTFdBWVNfTlVMTF9GSUVMRFMgPSBbJ0Nhc2VQYXltZW50SGlzdG9yeVZpZXdlcicsICdXYXlzVG9QYXknLCAnRmxhZ0xhdW5jaGVyJywgJ0NvbXBvbmVudExhdW5jaGVyJ107XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgTkVTVEVEX1RZUEVTID0ge1xuICAgIENvbXBsZXg6IFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmlzVmFsaWRDb21wbGV4LFxuICAgIENvbGxlY3Rpb246IFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmlzVmFsaWRDb2xsZWN0aW9uXG4gIH07XG5cbiAgLyoqXG4gICAqIENvbXBsZXggdHlwZSBzaG91bGQgaGF2ZSBhdCBsZWFzdCBvbiBzaW1wbGUgZmllbGQgZGVzY2VuZGFudCB3aXRoIGEgdmFsdWUuXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBpc1ZhbGlkQ29tcGxleChmaWVsZDogQ2FzZUZpZWxkLCB2YWx1ZXM/OiBvYmplY3QpOiBib29sZWFuIHtcbiAgICB2YWx1ZXMgPSB2YWx1ZXMgfHwge307XG4gICAgY29uc3QgdHlwZSA9IGZpZWxkLmZpZWxkX3R5cGU7XG4gICAgY29uc3QgdmFsdWUgPSBSZWFkRmllbGRzRmlsdGVyUGlwZS5nZXRWYWx1ZShmaWVsZCwgdmFsdWVzKTtcblxuICAgIGNvbnN0IGhhc0NoaWxkcmVuV2l0aFZhbHVlID0gdHlwZS5jb21wbGV4X2ZpZWxkcy5maW5kKGYgPT4ge1xuICAgICAgY29uc3Qgd2lsbEtlZXAgPSBSZWFkRmllbGRzRmlsdGVyUGlwZS5rZWVwRmllbGQoZiwgdmFsdWUsIHRydWUpO1xuICAgICAgcmV0dXJuIHdpbGxLZWVwICYmIFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmV2YWx1YXRlQ29uZGl0aW9uYWxTaG93KGYsIHZhbHVlKS5oaWRkZW4gIT09IHRydWU7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gISFoYXNDaGlsZHJlbldpdGhWYWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGlzVmFsaWRDb2xsZWN0aW9uKGZpZWxkOiBDYXNlRmllbGQsIHZhbHVlcz86IG9iamVjdCk6IGJvb2xlYW4ge1xuICAgIC8vIGlmIGZpZWxkIGlzIGNvbGxlY3Rpb24gYW5kIGl0IGhhcyBjb21wbGV4L2NvbGxlY3Rpb24gY2hpbGQgZmllbGQ7IHBhcmVudCBmaWVsZCBkb2VzbnQgaGF2ZSB2YWx1ZSBkZWZpbmVkXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGZpZWxkLnZhbHVlKSAmJiB2YWx1ZXMgJiYgdmFsdWVzLmhhc093blByb3BlcnR5KGZpZWxkLmlkKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNvbnN0IGlzTm90RW1wdHkgPSBBcnJheS5pc0FycmF5KGZpZWxkLnZhbHVlKSAmJiBmaWVsZC52YWx1ZS5sZW5ndGggPiAwO1xuICAgIGlmIChpc05vdEVtcHR5ICYmIGZpZWxkLmZpZWxkX3R5cGUuY29sbGVjdGlvbl9maWVsZF90eXBlLnR5cGUgPT09ICdDb21wbGV4Jykge1xuICAgICAgcmV0dXJuICEhZmllbGQudmFsdWUuZmluZChpdGVtID0+IHtcbiAgICAgICAgY29uc3QgY29tcGxleEZpZWxkID0gcGxhaW5Ub0NsYXNzRnJvbUV4aXN0KG5ldyBDYXNlRmllbGQoKSwge1xuICAgICAgICAgIGlkOiBmaWVsZC5maWVsZF90eXBlLmNvbGxlY3Rpb25fZmllbGRfdHlwZS5pZCxcbiAgICAgICAgICBmaWVsZF90eXBlOiBmaWVsZC5maWVsZF90eXBlLmNvbGxlY3Rpb25fZmllbGRfdHlwZSxcbiAgICAgICAgICB2YWx1ZTogaXRlbS52YWx1ZSxcbiAgICAgICAgICBsYWJlbDogbnVsbCxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBSZWFkRmllbGRzRmlsdGVyUGlwZS5pc1ZhbGlkQ29tcGxleChjb21wbGV4RmllbGQpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBpc05vdEVtcHR5O1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaXNFbXB0eSh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFJlYWRGaWVsZHNGaWx0ZXJQaXBlLkVNUFRZX1ZBTFVFUy5pbmRleE9mKHZhbHVlKSAhPT0gLTFcbiAgICAgIHx8IHZhbHVlLmxlbmd0aCA9PT0gMDtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGlzQ29tcG91bmQoZmllbGQ6IENhc2VGaWVsZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBSZWFkRmllbGRzRmlsdGVyUGlwZS5ORVNURURfVFlQRVNbZmllbGQuZmllbGRfdHlwZS50eXBlXTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGlzVmFsaWRDb21wb3VuZChmaWVsZDogQ2FzZUZpZWxkLCB2YWx1ZT86IG9iamVjdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBSZWFkRmllbGRzRmlsdGVyUGlwZS5pc0NvbXBvdW5kKGZpZWxkKVxuICAgICAgJiYgUmVhZEZpZWxkc0ZpbHRlclBpcGUuTkVTVEVEX1RZUEVTW2ZpZWxkLmZpZWxkX3R5cGUudHlwZV0oZmllbGQsIHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGtlZXBGaWVsZChmaWVsZDogQ2FzZUZpZWxkLCB2YWx1ZT86IG9iamVjdCwgaWdub3JlTGFiZWxzID0gZmFsc2UpOiBib29sZWFuIHtcbiAgICAvLyBXZSBzaG91bGRuJ3QgZGl0Y2ggbGFiZWxzLlxuICAgIGlmICghaWdub3JlTGFiZWxzICYmIGZpZWxkLmZpZWxkX3R5cGUudHlwZSA9PT0gJ0xhYmVsJyAmJiAoZmllbGQubGFiZWwgfHwgJycpLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICAvLyBXZSBhbHNvIHNob3VsZG4ndCBkaXRjaCBmaWVsZHMgdGhhdCB3aWxsIGFsd2F5cyBjb21lIGJhY2sgd2l0aCBhIG51bGwgdmFsdWUuXG4gICAgaWYgKHRoaXMuQUxXQVlTX05VTExfRklFTERTLmluZGV4T2YoZmllbGQuZmllbGRfdHlwZS50eXBlKSAhPT0gLTEpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHZhbHVlID0gdmFsdWUgfHwge307XG5cbiAgICBpZiAoUmVhZEZpZWxkc0ZpbHRlclBpcGUuaXNDb21wb3VuZChmaWVsZCkpIHtcbiAgICAgIHJldHVybiBSZWFkRmllbGRzRmlsdGVyUGlwZS5pc1ZhbGlkQ29tcG91bmQoZmllbGQsIHZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gIVJlYWRGaWVsZHNGaWx0ZXJQaXBlLmlzRW1wdHkoZmllbGQudmFsdWUpXG4gICAgICB8fCAhUmVhZEZpZWxkc0ZpbHRlclBpcGUuaXNFbXB0eSh2YWx1ZVtmaWVsZC5pZF0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0VmFsdWUoZmllbGQ6IENhc2VGaWVsZCwgdmFsdWVzOiBhbnksIGluZGV4PzogbnVtYmVyKTogYW55IHtcbiAgICBpZiAoUmVhZEZpZWxkc0ZpbHRlclBpcGUuaXNFbXB0eShmaWVsZC52YWx1ZSkpIHtcbiAgICAgIGxldCB2YWx1ZTogYW55O1xuICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgdmFsdWUgPSB2YWx1ZXNbaW5kZXhdLnZhbHVlW2ZpZWxkLmlkXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhbHVlID0gdmFsdWVzW2ZpZWxkLmlkXTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gZmllbGQudmFsdWU7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBldmFsdWF0ZUNvbmRpdGlvbmFsU2hvdyhmaWVsZDogQ2FzZUZpZWxkLCBmb3JtVmFsdWU6IGFueSwgcGF0aD86IHN0cmluZyxcbiAgICBmb3JtR3JvdXBBdmFpbGFibGU/OiBib29sZWFuLCBmaWVsZElkPzogc3RyaW5nKTogQ2FzZUZpZWxkIHtcbiAgICBpZiAoZmllbGQuZGlzcGxheV9jb250ZXh0ID09PSAnSElEREVOJykge1xuICAgICAgZmllbGQuaGlkZGVuID0gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKGZpZWxkLnNob3dfY29uZGl0aW9uKSB7XG4gICAgICBsZXQgY29uZDogU2hvd0NvbmRpdGlvbjtcbiAgICAgIGlmIChmaWVsZElkICYmIGZpZWxkLnNob3dfY29uZGl0aW9uLmluZGV4T2YoYCR7ZmllbGRJZH0uYCkgPiAtMSAmJiAhZm9ybUdyb3VwQXZhaWxhYmxlICYmICEhT2JqZWN0LmtleXMoZm9ybVZhbHVlKS5sZW5ndGgpIHtcbiAgICAgICAgY29uc3Qgc2VhcmNoID0gYCR7ZmllbGRJZH0uYDtcbiAgICAgICAgY29uc3Qgc2VhcmNoUmVnRXhwID0gbmV3IFJlZ0V4cChzZWFyY2gsICdnJyk7XG4gICAgICAgIGNvbnN0IHJlcGxhY2VXaXRoID0gJyc7XG4gICAgICAgIGNvbmQgPSBTaG93Q29uZGl0aW9uLmdldEluc3RhbmNlKGZpZWxkLnNob3dfY29uZGl0aW9uLnJlcGxhY2Uoc2VhcmNoUmVnRXhwLCByZXBsYWNlV2l0aCkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uZCA9IFNob3dDb25kaXRpb24uZ2V0SW5zdGFuY2UoZmllbGQuc2hvd19jb25kaXRpb24pO1xuICAgICAgfVxuICAgICAgZmllbGQuaGlkZGVuID0gIWNvbmQubWF0Y2goZm9ybVZhbHVlLCBwYXRoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmllbGQuaGlkZGVuID0gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBmaWVsZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaWx0ZXIgb3V0IGZpZWxkcyBoYXZpbmcgbm8gZGF0YSB0byBkaXNwbGF5IGFuZCBoYXJtb25pc2UgZmllbGQgdmFsdWVzIGNvbWluZyBwYXJlbnQncyB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyB0cmFuc2Zvcm0oXG4gICAgY29tcGxleEZpZWxkOiBDYXNlRmllbGQsIGtlZXBFbXB0eT86IGJvb2xlYW4sIGluZGV4PzogbnVtYmVyLFxuICAgIHNldHVwSGlkZGVuID0gZmFsc2UsIGZvcm1Hcm91cD86IEZvcm1Hcm91cCB8IEFic3RyYWN0Q29udHJvbCwgcGF0aD86IHN0cmluZyk6IENhc2VGaWVsZFtdIHtcbiAgICBpZiAoIWNvbXBsZXhGaWVsZCB8fCAhY29tcGxleEZpZWxkLmZpZWxkX3R5cGUpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCBmaWVsZHMgPSBjb21wbGV4RmllbGQuZmllbGRfdHlwZS5jb21wbGV4X2ZpZWxkcyB8fCBbXTtcbiAgICBjb25zdCB2YWx1ZXMgPSBjb21wbGV4RmllbGQudmFsdWUgfHwge307XG4gICAgbGV0IGNoZWNrQ29uZGl0aW9uYWxTaG93QWdhaW5zdDogYW55ID0gdmFsdWVzO1xuICAgIGxldCBmb3JtR3JvdXBBdmFpbGFibGUgPSBmYWxzZTtcbiAgICBpZiAoZm9ybUdyb3VwKSB7XG4gICAgICBjaGVja0NvbmRpdGlvbmFsU2hvd0FnYWluc3QgPSBmb3JtR3JvdXAudmFsdWU7XG4gICAgICBmb3JtR3JvdXBBdmFpbGFibGUgPSB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBmaWVsZHNcbiAgICAgIC5tYXAoZiA9PiB7XG4gICAgICAgIGNvbnN0IGNsb25lID0gRmllbGRzVXRpbHMuY2xvbmVPYmplY3QoZik7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gUmVhZEZpZWxkc0ZpbHRlclBpcGUuZ2V0VmFsdWUoZiwgdmFsdWVzLCBpbmRleCk7XG4gICAgICAgIGlmICghUmVhZEZpZWxkc0ZpbHRlclBpcGUuaXNFbXB0eSh2YWx1ZSkpIHtcbiAgICAgICAgICBjbG9uZS52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjbG9uZTtcbiAgICAgIH0pXG4gICAgICAubWFwKGYgPT4ge1xuICAgICAgICBpZiAoIWYuZGlzcGxheV9jb250ZXh0KSB7XG4gICAgICAgICAgZi5kaXNwbGF5X2NvbnRleHQgPSBjb21wbGV4RmllbGQuZGlzcGxheV9jb250ZXh0O1xuICAgICAgICB9XG4gICAgICAgIGlmIChzZXR1cEhpZGRlbikge1xuICAgICAgICAgIFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmV2YWx1YXRlQ29uZGl0aW9uYWxTaG93KGYsIGNoZWNrQ29uZGl0aW9uYWxTaG93QWdhaW5zdCwgcGF0aCwgZm9ybUdyb3VwQXZhaWxhYmxlLCBjb21wbGV4RmllbGQuaWQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmO1xuICAgICAgfSlcbiAgICAgIC5maWx0ZXIoZiA9PiBrZWVwRW1wdHkgfHwgUmVhZEZpZWxkc0ZpbHRlclBpcGUua2VlcEZpZWxkKGYpKTtcbiAgfVxufVxuIl19
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2NkLXJlYWQtZmllbGRzLWZpbHRlci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9waXBlcy9jb21wbGV4L2NjZC1yZWFkLWZpZWxkcy1maWx0ZXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUdwRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDaEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFLakUsTUFBTSxPQUFPLG9CQUFvQjtJQWdCL0I7O09BRUc7SUFDSyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQWdCLEVBQUUsTUFBZSxFQUFFLDJCQUFvQztRQUNuRyxNQUFNLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUN0QixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDO1FBQzlCLE1BQU0sS0FBSyxHQUFHLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFM0QsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN4RCxNQUFNLFFBQVEsR0FBRyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsMkJBQTJCLENBQUMsQ0FBQztZQUM3RixPQUFPLFFBQVEsSUFBSSxvQkFBb0IsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLEVBQUUsMkJBQTJCLENBQUMsQ0FBQyxNQUFN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QUM7YUFDbEQ7WUFDRCxJQUFJLFdBQVcsRUFBRTtnQkFDZixvQkFBb0IsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLEVBQUUsMkJBQTJCLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUN6SDtZQUNELE9BQU8sQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDO2FBQ0QsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxJQUFJLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSwyQkFBMkIsQ0FBQyxDQUFDLENBQUM7SUFDaEgsQ0FBQzs7QUF6S3VCLGlDQUFZLEdBQUc7SUFDckMsU0FBUztJQUNULElBQUk7SUFDSixFQUFFO0lBQ0YsRUFBRTtDQUNILENBQUM7QUFFc0IsdUNBQWtCLEdBQUcsQ0FBQywwQkFBMEIsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixDQUFDLENBQUM7QUFFcEcsaUNBQVksR0FBRztJQUNyQyxPQUFPLEVBQUUsb0JBQW9CLENBQUMsY0FBYztJQUM1QyxVQUFVLEVBQUUsb0JBQW9CLENBQUMsaUJBQWlCO0NBQ25ELENBQUM7d0ZBZFMsb0JBQW9CO2dHQUFwQixvQkFBb0I7dUZBQXBCLG9CQUFvQjtjQUhoQyxJQUFJO2VBQUM7Z0JBQ0osSUFBSSxFQUFFLHFCQUFxQjthQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBwbGFpblRvQ2xhc3NGcm9tRXhpc3QgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBTaG93Q29uZGl0aW9uIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9jb25kaXRpb25hbC1zaG93L2RvbWFpbi9jb25kaXRpb25hbC1zaG93Lm1vZGVsJztcbmltcG9ydCB7IENhc2VGaWVsZCB9IGZyb20gJy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uL2Nhc2UtZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgRmllbGRzVXRpbHMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9maWVsZHMvZmllbGRzLnV0aWxzJztcblxuQFBpcGUoe1xuICBuYW1lOiAnY2NkUmVhZEZpZWxkc0ZpbHRlcidcbn0pXG5leHBvcnQgY2xhc3MgUmVhZEZpZWxkc0ZpbHRlclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBFTVBUWV9WQUxVRVMgPSBbXG4gICAgdW5kZWZpbmVkLFxuICAgIG51bGwsXG4gICAgJycsXG4gICAge31cbiAgXTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBBTFdBWVNfTlVMTF9GSUVMRFMgPSBbJ0Nhc2VQYXltZW50SGlzdG9yeVZpZXdlcicsICdXYXlzVG9QYXknLCAnRmxhZ0xhdW5jaGVyJywgJ0NvbXBvbmVudExhdW5jaGVyJ107XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgTkVTVEVEX1RZUEVTID0ge1xuICAgIENvbXBsZXg6IFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmlzVmFsaWRDb21wbGV4LFxuICAgIENvbGxlY3Rpb246IFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmlzVmFsaWRDb2xsZWN0aW9uXG4gIH07XG5cbiAgLyoqXG4gICAqIENvbXBsZXggdHlwZSBzaG91bGQgaGF2ZSBhdCBsZWFzdCBvbiBzaW1wbGUgZmllbGQgZGVzY2VuZGFudCB3aXRoIGEgdmFsdWUuXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBpc1ZhbGlkQ29tcGxleChmaWVsZDogQ2FzZUZpZWxkLCB2YWx1ZXM/OiBvYmplY3QsIGNoZWNrQ29uZGl0aW9uYWxTaG93QWdhaW5zdD86IG9iamVjdCk6IGJvb2xlYW4ge1xuICAgIHZhbHVlcyA9IHZhbHVlcyB8fCB7fTtcbiAgICBjb25zdCB0eXBlID0gZmllbGQuZmllbGRfdHlwZTtcbiAgICBjb25zdCB2YWx1ZSA9IFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmdldFZhbHVlKGZpZWxkLCB2YWx1ZXMpO1xuXG4gICAgY29uc3QgaGFzQ2hpbGRyZW5XaXRoVmFsdWUgPSB0eXBlLmNvbXBsZXhfZmllbGRzLmZpbmQoZiA9PiB7XG4gICAgICBjb25zdCB3aWxsS2VlcCA9IFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmtlZXBGaWVsZChmLCB2YWx1ZSwgdHJ1ZSwgY2hlY2tDb25kaXRpb25hbFNob3dBZ2FpbnN0KTtcbiAgICAgIHJldHVybiB3aWxsS2VlcCAmJiBSZWFkRmllbGRzRmlsdGVyUGlwZS5ldmFsdWF0ZUNvbmRpdGlvbmFsU2hvdyhmLCBjaGVja0NvbmRpdGlvbmFsU2hvd0FnYWluc3QpLmhpZGRlbiAhPT0gdHJ1ZTtcbiAgICB9KTtcblxuICAgIHJldHVybiAhIWhhc0NoaWxkcmVuV2l0aFZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaXNWYWxpZENvbGxlY3Rpb24oZmllbGQ6IENhc2VGaWVsZCwgdmFsdWVzPzogb2JqZWN0LCBjaGVja0NvbmRpdGlvbmFsU2hvd0FnYWluc3Q/OiBvYmplY3QpOiBib29sZWFuIHtcbiAgICAvLyBpZiBmaWVsZCBpcyBjb2xsZWN0aW9uIGFuZCBpdCBoYXMgY29tcGxleC9jb2xsZWN0aW9uIGNoaWxkIGZpZWxkOyBwYXJlbnQgZmllbGQgZG9lc250IGhhdmUgdmFsdWUgZGVmaW5lZFxuICAgIGlmICghQXJyYXkuaXNBcnJheShmaWVsZC52YWx1ZSkgJiYgdmFsdWVzICYmIHZhbHVlcy5oYXNPd25Qcm9wZXJ0eShmaWVsZC5pZCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBjb25zdCBpc05vdEVtcHR5ID0gQXJyYXkuaXNBcnJheShmaWVsZC52YWx1ZSkgJiYgZmllbGQudmFsdWUubGVuZ3RoID4gMDtcbiAgICBpZiAoaXNOb3RFbXB0eSAmJiBmaWVsZC5maWVsZF90eXBlLmNvbGxlY3Rpb25fZmllbGRfdHlwZS50eXBlID09PSAnQ29tcGxleCcpIHtcbiAgICAgIHJldHVybiAhIWZpZWxkLnZhbHVlLmZpbmQoaXRlbSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbXBsZXhGaWVsZCA9IHBsYWluVG9DbGFzc0Zyb21FeGlzdChuZXcgQ2FzZUZpZWxkKCksIHtcbiAgICAgICAgICBpZDogZmllbGQuZmllbGRfdHlwZS5jb2xsZWN0aW9uX2ZpZWxkX3R5cGUuaWQsXG4gICAgICAgICAgZmllbGRfdHlwZTogZmllbGQuZmllbGRfdHlwZS5jb2xsZWN0aW9uX2ZpZWxkX3R5cGUsXG4gICAgICAgICAgdmFsdWU6IGl0ZW0udmFsdWUsXG4gICAgICAgICAgbGFiZWw6IG51bGwsXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gUmVhZEZpZWxkc0ZpbHRlclBpcGUuaXNWYWxpZENvbXBsZXgoY29tcGxleEZpZWxkLCB1bmRlZmluZWQsIGNoZWNrQ29uZGl0aW9uYWxTaG93QWdhaW5zdCk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGlzTm90RW1wdHk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBpc0VtcHR5KHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gUmVhZEZpZWxkc0ZpbHRlclBpcGUuRU1QVFlfVkFMVUVTLmluZGV4T2YodmFsdWUpICE9PSAtMVxuICAgICAgfHwgdmFsdWUubGVuZ3RoID09PSAwO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaXNDb21wb3VuZChmaWVsZDogQ2FzZUZpZWxkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFJlYWRGaWVsZHNGaWx0ZXJQaXBlLk5FU1RFRF9UWVBFU1tmaWVsZC5maWVsZF90eXBlLnR5cGVdO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaXNWYWxpZENvbXBvdW5kKGZpZWxkOiBDYXNlRmllbGQsIHZhbHVlPzogb2JqZWN0LCBjaGVja0NvbmRpdGlvbmFsU2hvd0FnYWluc3Q/OiBvYmplY3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gUmVhZEZpZWxkc0ZpbHRlclBpcGUuaXNDb21wb3VuZChmaWVsZClcbiAgICAgICAgICAgICYmIFJlYWRGaWVsZHNGaWx0ZXJQaXBlLk5FU1RFRF9UWVBFU1tmaWVsZC5maWVsZF90eXBlLnR5cGVdKGZpZWxkLCB2YWx1ZSwgY2hlY2tDb25kaXRpb25hbFNob3dBZ2FpbnN0KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGtlZXBGaWVsZChmaWVsZDogQ2FzZUZpZWxkLCB2YWx1ZT86IG9iamVjdCwgaWdub3JlTGFiZWxzID0gZmFsc2UsIGNoZWNrQ29uZGl0aW9uYWxTaG93QWdhaW5zdD86IG9iamVjdCk6IGJvb2xlYW4ge1xuICAgIC8vIFdlIHNob3VsZG4ndCBkaXRjaCBsYWJlbHMuXG4gICAgaWYgKCFpZ25vcmVMYWJlbHMgJiYgZmllbGQuZmllbGRfdHlwZS50eXBlID09PSAnTGFiZWwnICYmIChmaWVsZC5sYWJlbCB8fCAnJykubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIC8vIFdlIGFsc28gc2hvdWxkbid0IGRpdGNoIGZpZWxkcyB0aGF0IHdpbGwgYWx3YXlzIGNvbWUgYmFjayB3aXRoIGEgbnVsbCB2YWx1ZS5cbiAgICBpZiAodGhpcy5BTFdBWVNfTlVMTF9GSUVMRFMuaW5kZXhPZihmaWVsZC5maWVsZF90eXBlLnR5cGUpICE9PSAtMSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgdmFsdWUgPSB2YWx1ZSB8fCB7fTtcblxuICAgIGlmIChSZWFkRmllbGRzRmlsdGVyUGlwZS5pc0NvbXBvdW5kKGZpZWxkKSkge1xuICAgICAgcmV0dXJuIFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmlzVmFsaWRDb21wb3VuZChmaWVsZCwgdmFsdWUsIGNoZWNrQ29uZGl0aW9uYWxTaG93QWdhaW5zdCk7XG4gICAgfVxuXG4gICAgcmV0dXJuICFSZWFkRmllbGRzRmlsdGVyUGlwZS5pc0VtcHR5KGZpZWxkLnZhbHVlKVxuICAgICAgfHwgIVJlYWRGaWVsZHNGaWx0ZXJQaXBlLmlzRW1wdHkodmFsdWVbZmllbGQuaWRdKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdldFZhbHVlKGZpZWxkOiBDYXNlRmllbGQsIHZhbHVlczogYW55LCBpbmRleD86IG51bWJlcik6IGFueSB7XG4gICAgaWYgKFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmlzRW1wdHkoZmllbGQudmFsdWUpKSB7XG4gICAgICBsZXQgdmFsdWU6IGFueTtcbiAgICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICAgIHZhbHVlID0gdmFsdWVzW2luZGV4XS52YWx1ZVtmaWVsZC5pZF07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YWx1ZSA9IHZhbHVlc1tmaWVsZC5pZF07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZpZWxkLnZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZXZhbHVhdGVDb25kaXRpb25hbFNob3coZmllbGQ6IENhc2VGaWVsZCwgZm9ybVZhbHVlOiBhbnksIHBhdGg/OiBzdHJpbmcsXG4gICAgZm9ybUdyb3VwQXZhaWxhYmxlPzogYm9vbGVhbiwgZmllbGRJZD86IHN0cmluZyk6IENhc2VGaWVsZCB7XG4gICAgaWYgKGZpZWxkLmRpc3BsYXlfY29udGV4dCA9PT0gJ0hJRERFTicpIHtcbiAgICAgIGZpZWxkLmhpZGRlbiA9IHRydWU7XG4gICAgfSBlbHNlIGlmIChmaWVsZC5zaG93X2NvbmRpdGlvbikge1xuICAgICAgbGV0IGNvbmQ6IFNob3dDb25kaXRpb247XG4gICAgICBpZiAoZmllbGRJZCAmJiBmaWVsZC5zaG93X2NvbmRpdGlvbi5pbmRleE9mKGAke2ZpZWxkSWR9LmApID4gLTEgJiYgIWZvcm1Hcm91cEF2YWlsYWJsZSAmJiAhIU9iamVjdC5rZXlzKGZvcm1WYWx1ZSkubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IHNlYXJjaCA9IGAke2ZpZWxkSWR9LmA7XG4gICAgICAgIGNvbnN0IHNlYXJjaFJlZ0V4cCA9IG5ldyBSZWdFeHAoc2VhcmNoLCAnZycpO1xuICAgICAgICBjb25zdCByZXBsYWNlV2l0aCA9ICcnO1xuICAgICAgICBjb25kID0gU2hvd0NvbmRpdGlvbi5nZXRJbnN0YW5jZShmaWVsZC5zaG93X2NvbmRpdGlvbi5yZXBsYWNlKHNlYXJjaFJlZ0V4cCwgcmVwbGFjZVdpdGgpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbmQgPSBTaG93Q29uZGl0aW9uLmdldEluc3RhbmNlKGZpZWxkLnNob3dfY29uZGl0aW9uKTtcbiAgICAgIH1cbiAgICAgIGZpZWxkLmhpZGRlbiA9ICFjb25kLm1hdGNoKGZvcm1WYWx1ZSwgcGF0aCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZpZWxkLmhpZGRlbiA9IGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gZmllbGQ7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVyIG91dCBmaWVsZHMgaGF2aW5nIG5vIGRhdGEgdG8gZGlzcGxheSBhbmQgaGFybW9uaXNlIGZpZWxkIHZhbHVlcyBjb21pbmcgcGFyZW50J3MgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgdHJhbnNmb3JtKFxuICAgIGNvbXBsZXhGaWVsZDogQ2FzZUZpZWxkLCBrZWVwRW1wdHk/OiBib29sZWFuLCBpbmRleD86IG51bWJlcixcbiAgICBzZXR1cEhpZGRlbiA9IGZhbHNlLCBmb3JtR3JvdXA/OiBGb3JtR3JvdXAgfCBBYnN0cmFjdENvbnRyb2wsIHBhdGg/OiBzdHJpbmcsIGlkUHJlZml4Pzogc3RyaW5nKTogQ2FzZUZpZWxkW10ge1xuICAgIGlmICghY29tcGxleEZpZWxkIHx8ICFjb21wbGV4RmllbGQuZmllbGRfdHlwZSkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGNvbnN0IGZpZWxkcyA9IGNvbXBsZXhGaWVsZC5maWVsZF90eXBlLmNvbXBsZXhfZmllbGRzIHx8IFtdO1xuICAgIGNvbnN0IHZhbHVlcyA9IGNvbXBsZXhGaWVsZC52YWx1ZSB8fCB7fTtcbiAgICBsZXQgY2hlY2tDb25kaXRpb25hbFNob3dBZ2FpbnN0OiBhbnkgPSB2YWx1ZXM7XG4gICAgbGV0IGZvcm1Hcm91cEF2YWlsYWJsZSA9IGZhbHNlO1xuICAgIGlmIChmb3JtR3JvdXApIHtcbiAgICAgIGNoZWNrQ29uZGl0aW9uYWxTaG93QWdhaW5zdCA9IGZvcm1Hcm91cC5wYXJlbnQuZ2V0UmF3VmFsdWUoKS5kYXRhO1xuICAgICAgZm9ybUdyb3VwQXZhaWxhYmxlID0gdHJ1ZTtcbiAgICAgIGlmIChpZFByZWZpeCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChpZFByZWZpeCAhPT0gJycpIHtcbiAgICAgICAgICBjb25zdCBmaWVsZElkID0gaWRQcmVmaXguc3Vic3RyaW5nKDAsIGlkUHJlZml4LmluZGV4T2YoJ18nKSk7XG4gICAgICAgICAgaWYgKGNoZWNrQ29uZGl0aW9uYWxTaG93QWdhaW5zdFtmaWVsZElkXSkge1xuICAgICAgICAgICAgY2hlY2tDb25kaXRpb25hbFNob3dBZ2FpbnN0ID0gdmFsdWVzO1xuICAgICAgICAgICAgZm9ybUdyb3VwQXZhaWxhYmxlID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNoZWNrQ29uZGl0aW9uYWxTaG93QWdhaW5zdCA9IE9iamVjdC5hc3NpZ24oY2hlY2tDb25kaXRpb25hbFNob3dBZ2FpbnN0LCB2YWx1ZXMpO1xuICAgICAgICAgIGZvcm1Hcm91cEF2YWlsYWJsZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZpZWxkc1xuICAgICAgLm1hcChmID0+IHtcbiAgICAgICAgY29uc3QgY2xvbmUgPSBGaWVsZHNVdGlscy5jbG9uZU9iamVjdChmKTtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBSZWFkRmllbGRzRmlsdGVyUGlwZS5nZXRWYWx1ZShmLCB2YWx1ZXMsIGluZGV4KTtcbiAgICAgICAgaWYgKCFSZWFkRmllbGRzRmlsdGVyUGlwZS5pc0VtcHR5KHZhbHVlKSkge1xuICAgICAgICAgIGNsb25lLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNsb25lO1xuICAgICAgfSlcbiAgICAgIC5tYXAoZiA9PiB7XG4gICAgICAgIGlmICghZi5kaXNwbGF5X2NvbnRleHQpIHtcbiAgICAgICAgICBmLmRpc3BsYXlfY29udGV4dCA9IGNvbXBsZXhGaWVsZC5kaXNwbGF5X2NvbnRleHQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNldHVwSGlkZGVuKSB7XG4gICAgICAgICAgUmVhZEZpZWxkc0ZpbHRlclBpcGUuZXZhbHVhdGVDb25kaXRpb25hbFNob3coZiwgY2hlY2tDb25kaXRpb25hbFNob3dBZ2FpbnN0LCBwYXRoLCBmb3JtR3JvdXBBdmFpbGFibGUsIGNvbXBsZXhGaWVsZC5pZCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGY7XG4gICAgICB9KVxuICAgICAgLmZpbHRlcihmID0+IGtlZXBFbXB0eSB8fCBSZWFkRmllbGRzRmlsdGVyUGlwZS5rZWVwRmllbGQoZiwgdW5kZWZpbmVkLCBmYWxzZSwgY2hlY2tDb25kaXRpb25hbFNob3dBZ2FpbnN0KSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,17 +1,19 @@
1
1
  import { Injectable, NgZone } from '@angular/core';
2
- import polling from 'rx-polling';
3
2
  import { EMPTY, Subject } from 'rxjs';
4
3
  import { AbstractAppConfig } from '../../../app.config';
5
4
  import { ActivityService } from './activity.service';
5
+ import { PollingService } from './polling.service';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "./activity.service";
8
8
  import * as i2 from "../../../app.config";
9
+ import * as i3 from "./polling.service";
9
10
  // @dynamic
10
11
  export class ActivityPollingService {
11
- constructor(activityService, ngZone, config) {
12
+ constructor(activityService, ngZone, config, pollingService) {
12
13
  this.activityService = activityService;
13
14
  this.ngZone = ngZone;
14
15
  this.config = config;
16
+ this.pollingService = pollingService;
15
17
  this.pendingRequests = new Map();
16
18
  this.pollConfig = {
17
19
  interval: config.getActivityNexPollRequestMs(),
@@ -69,12 +71,13 @@ export class ActivityPollingService {
69
71
  if (!this.isEnabled) {
70
72
  return EMPTY;
71
73
  }
72
- return polling(this.activityService.getActivities(...caseIds), this.pollConfig);
74
+ return this.pollingService.polling(this.activityService.getActivities(...caseIds), this.pollConfig);
73
75
  }
74
76
  postViewActivity(caseId) {
75
77
  return this.postActivity(caseId, ActivityService.ACTIVITY_VIEW);
76
78
  }
77
79
  postEditActivity(caseId) {
80
+ console.log('this.postActivity(caseId, ActivityService.ACTIVITY_EDIT);', this.postActivity(caseId, ActivityService.ACTIVITY_EDIT));
78
81
  return this.postActivity(caseId, ActivityService.ACTIVITY_EDIT);
79
82
  }
80
83
  performBatchRequest(requests) {
@@ -103,12 +106,12 @@ export class ActivityPollingService {
103
106
  ...this.pollConfig,
104
107
  interval: 5000 // inline with CCD Backend
105
108
  };
106
- return polling(this.activityService.postActivity(caseId, activityType), pollingConfig);
109
+ return this.pollingService.polling(this.activityService.postActivity(caseId, activityType), pollingConfig);
107
110
  }
108
111
  }
109
- ActivityPollingService.ɵfac = function ActivityPollingService_Factory(t) { return new (t || ActivityPollingService)(i0.ɵɵinject(i1.ActivityService), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i2.AbstractAppConfig)); };
112
+ ActivityPollingService.ɵfac = function ActivityPollingService_Factory(t) { return new (t || ActivityPollingService)(i0.ɵɵinject(i1.ActivityService), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i2.AbstractAppConfig), i0.ɵɵinject(i3.PollingService)); };
110
113
  ActivityPollingService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ActivityPollingService, factory: ActivityPollingService.ɵfac });
111
114
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActivityPollingService, [{
112
115
  type: Injectable
113
- }], function () { return [{ type: i1.ActivityService }, { type: i0.NgZone }, { type: i2.AbstractAppConfig }]; }, null); })();
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHkucG9sbGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9hY3Rpdml0eS9hY3Rpdml0eS5wb2xsaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxPQUFxQixNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQUUsS0FBSyxFQUFjLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBRXJELFdBQVc7QUFFWCxNQUFNLE9BQU8sc0JBQXNCO0lBUWpDLFlBQTZCLGVBQWdDLEVBQW1CLE1BQWMsRUFBbUIsTUFBeUI7UUFBN0csb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQW1CLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBbUIsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFQekgsb0JBQWUsR0FBRyxJQUFJLEdBQUcsRUFBNkIsQ0FBQztRQVF0RSxJQUFJLENBQUMsVUFBVSxHQUFHO1lBQ2hCLFFBQVEsRUFBRSxNQUFNLENBQUMsMkJBQTJCLEVBQUU7WUFDOUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRTtZQUNuQyxpQkFBaUIsRUFBRSxJQUFJO1NBQ3hCLENBQUM7UUFDRixJQUFJLENBQUMsc0JBQXNCLEdBQUcsTUFBTSxDQUFDLGlDQUFpQyxFQUFFLENBQUM7UUFDekUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO0lBQ3BFLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQztJQUN4QyxDQUFDO0lBRU0sbUJBQW1CLENBQUMsTUFBYyxFQUFFLElBQWtDO1FBQzNFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ25CLE9BQU8sSUFBSSxPQUFPLEVBQVksQ0FBQztTQUNoQztRQUVELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLElBQUksT0FBTyxFQUFFO1lBQ1gsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN6QjthQUFNO1lBQ0wsT0FBTyxHQUFHLElBQUksT0FBTyxFQUFZLENBQUM7WUFDbEMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDM0M7UUFDRCxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRTtZQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtnQkFDakMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLFVBQVUsQ0FDcEMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO29CQUN6Qiw0Q0FBNEM7b0JBQzVDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDdkIsQ0FBQyxDQUFDLEVBQ0YsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7WUFDakMsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUVELElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQ3pELHFEQUFxRDtZQUNyRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDdEI7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLElBQUksQ0FBQywwQkFBMEIsRUFBRTtZQUNuQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDL0M7SUFDSCxDQUFDO0lBRU0sYUFBYTtRQUNsQixJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUM3QixZQUFZLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDeEMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLFNBQVMsQ0FBQztTQUN2QztRQUVELE1BQU0sUUFBUSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRU0sY0FBYyxDQUFDLEdBQUcsT0FBaUI7UUFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbkIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLEdBQUcsT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxNQUFjO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxNQUFjO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFUyxtQkFBbUIsQ0FBQyxRQUF3QztRQUNwRSxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25ELDhEQUE4RDtRQUM5RCxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFFLEdBQUcsRUFBRTtZQUNsQywyRUFBMkU7WUFDM0UsSUFBSSxDQUFDLDBCQUEwQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUztZQUNoRSx5RkFBeUY7WUFDL0YsQ0FBQyxVQUFzQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBRSxHQUFHLEVBQUU7Z0JBQzlDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtvQkFDOUIsdURBQXVEO29CQUN2RCxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQy9DLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxFQUNELENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQzdCLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDekUsQ0FBQyxDQUNGLENBQ0YsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFlBQVksQ0FBQyxNQUFjLEVBQUUsWUFBb0I7UUFDdkQsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbkIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELE1BQU0sYUFBYSxHQUFHO1lBQ3BCLEdBQUcsSUFBSSxDQUFDLFVBQVU7WUFDbEIsUUFBUSxFQUFFLElBQUksQ0FBQywwQkFBMEI7U0FDMUMsQ0FBQztRQUVGLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUN6RixDQUFDOzs0RkF2SFUsc0JBQXNCOzRFQUF0QixzQkFBc0IsV0FBdEIsc0JBQXNCO3VGQUF0QixzQkFBc0I7Y0FEbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHBvbGxpbmcsIHsgSU9wdGlvbnMgfSBmcm9tICdyeC1wb2xsaW5nJztcbmltcG9ydCB7IEVNUFRZLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFic3RyYWN0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vYXBwLmNvbmZpZyc7XG5pbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gJy4uLy4uL2RvbWFpbi9hY3Rpdml0eS9hY3Rpdml0eS5tb2RlbCc7XG5pbXBvcnQgeyBBY3Rpdml0eVNlcnZpY2UgfSBmcm9tICcuL2FjdGl2aXR5LnNlcnZpY2UnO1xuXG4vLyBAZHluYW1pY1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFjdGl2aXR5UG9sbGluZ1NlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IHBlbmRpbmdSZXF1ZXN0cyA9IG5ldyBNYXA8c3RyaW5nLCBTdWJqZWN0PEFjdGl2aXR5Pj4oKTtcbiAgcHJpdmF0ZSBjdXJyZW50VGltZW91dEhhbmRsZTogYW55O1xuICBwcml2YXRlIHBvbGxBY3Rpdml0aWVzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgcmVhZG9ubHkgcG9sbENvbmZpZzogSU9wdGlvbnM7XG4gIHByaXZhdGUgcmVhZG9ubHkgYmF0Y2hDb2xsZWN0aW9uRGVsYXlNczogbnVtYmVyO1xuICBwcml2YXRlIHJlYWRvbmx5IG1heFJlcXVlc3RzUGVyQmF0Y2g6IG51bWJlcjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGFjdGl2aXR5U2VydmljZTogQWN0aXZpdHlTZXJ2aWNlLCBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLCBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogQWJzdHJhY3RBcHBDb25maWcpIHtcbiAgICB0aGlzLnBvbGxDb25maWcgPSB7XG4gICAgICBpbnRlcnZhbDogY29uZmlnLmdldEFjdGl2aXR5TmV4UG9sbFJlcXVlc3RNcygpLFxuICAgICAgYXR0ZW1wdHM6IGNvbmZpZy5nZXRBY3Rpdml0eVJldHJ5KCksXG4gICAgICBiYWNrZ3JvdW5kUG9sbGluZzogdHJ1ZVxuICAgIH07XG4gICAgdGhpcy5iYXRjaENvbGxlY3Rpb25EZWxheU1zID0gY29uZmlnLmdldEFjdGl2aXR5QmF0Y2hDb2xsZWN0aW9uRGVsYXlNcygpO1xuICAgIHRoaXMubWF4UmVxdWVzdHNQZXJCYXRjaCA9IGNvbmZpZy5nZXRBY3Rpdml0eU1heFJlcXVlc3RQZXJCYXRjaCgpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZpdHlTZXJ2aWNlLmlzRW5hYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBzdWJzY3JpYmVUb0FjdGl2aXR5KGNhc2VJZDogc3RyaW5nLCBkb25lOiAoYWN0aXZpdHk6IEFjdGl2aXR5KSA9PiB2b2lkKTogU3ViamVjdDxBY3Rpdml0eT4ge1xuICAgIGlmICghdGhpcy5pc0VuYWJsZWQpIHtcbiAgICAgIHJldHVybiBuZXcgU3ViamVjdDxBY3Rpdml0eT4oKTtcbiAgICB9XG5cbiAgICBsZXQgc3ViamVjdCA9IHRoaXMucGVuZGluZ1JlcXVlc3RzLmdldChjYXNlSWQpO1xuICAgIGlmIChzdWJqZWN0KSB7XG4gICAgICBzdWJqZWN0LnN1YnNjcmliZShkb25lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3ViamVjdCA9IG5ldyBTdWJqZWN0PEFjdGl2aXR5PigpO1xuICAgICAgc3ViamVjdC5zdWJzY3JpYmUoZG9uZSk7XG4gICAgICB0aGlzLnBlbmRpbmdSZXF1ZXN0cy5zZXQoY2FzZUlkLCBzdWJqZWN0KTtcbiAgICB9XG4gICAgaWYgKHRoaXMucGVuZGluZ1JlcXVlc3RzLnNpemUgPT09IDEpIHtcbiAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgdGhpcy5jdXJyZW50VGltZW91dEhhbmRsZSA9IHNldFRpbWVvdXQoXG4gICAgICAgICAgKCkgPT4gdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCd0aW1lb3V0OiBmbHVzaGluZyByZXF1ZXN0cycpXG4gICAgICAgICAgICB0aGlzLmZsdXNoUmVxdWVzdHMoKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICB0aGlzLmJhdGNoQ29sbGVjdGlvbkRlbGF5TXMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucGVuZGluZ1JlcXVlc3RzLnNpemUgPj0gdGhpcy5tYXhSZXF1ZXN0c1BlckJhdGNoKSB7XG4gICAgICAvLyBjb25zb2xlLmxvZygnbWF4IHBlbmRpbmcgaGl0OiBmbHVzaGluZyByZXF1ZXN0cycpO1xuICAgICAgdGhpcy5mbHVzaFJlcXVlc3RzKCk7XG4gICAgfVxuICAgIHJldHVybiBzdWJqZWN0O1xuICB9XG5cbiAgcHVibGljIHN0b3BQb2xsaW5nKCkge1xuICAgIGlmICh0aGlzLnBvbGxBY3Rpdml0aWVzU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnBvbGxBY3Rpdml0aWVzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZsdXNoUmVxdWVzdHMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY3VycmVudFRpbWVvdXRIYW5kbGUpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmN1cnJlbnRUaW1lb3V0SGFuZGxlKTtcbiAgICAgIHRoaXMuY3VycmVudFRpbWVvdXRIYW5kbGUgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29uc3QgcmVxdWVzdHMgPSBuZXcgTWFwKHRoaXMucGVuZGluZ1JlcXVlc3RzKTtcbiAgICB0aGlzLnBlbmRpbmdSZXF1ZXN0cy5jbGVhcigpO1xuICAgIHRoaXMucGVyZm9ybUJhdGNoUmVxdWVzdChyZXF1ZXN0cyk7XG4gIH1cblxuICBwdWJsaWMgcG9sbEFjdGl2aXRpZXMoLi4uY2FzZUlkczogc3RyaW5nW10pOiBPYnNlcnZhYmxlPEFjdGl2aXR5W10+IHtcbiAgICBpZiAoIXRoaXMuaXNFbmFibGVkKSB7XG4gICAgICByZXR1cm4gRU1QVFk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBvbGxpbmcodGhpcy5hY3Rpdml0eVNlcnZpY2UuZ2V0QWN0aXZpdGllcyguLi5jYXNlSWRzKSwgdGhpcy5wb2xsQ29uZmlnKTtcbiAgfVxuXG4gIHB1YmxpYyBwb3N0Vmlld0FjdGl2aXR5KGNhc2VJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxBY3Rpdml0eVtdPiB7XG4gICAgcmV0dXJuIHRoaXMucG9zdEFjdGl2aXR5KGNhc2VJZCwgQWN0aXZpdHlTZXJ2aWNlLkFDVElWSVRZX1ZJRVcpO1xuICB9XG5cbiAgcHVibGljIHBvc3RFZGl0QWN0aXZpdHkoY2FzZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFjdGl2aXR5W10+IHtcbiAgICByZXR1cm4gdGhpcy5wb3N0QWN0aXZpdHkoY2FzZUlkLCBBY3Rpdml0eVNlcnZpY2UuQUNUSVZJVFlfRURJVCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcGVyZm9ybUJhdGNoUmVxdWVzdChyZXF1ZXN0czogTWFwPHN0cmluZywgU3ViamVjdDxBY3Rpdml0eT4+KTogdm9pZCB7XG4gICAgY29uc3QgY2FzZUlkcyA9IEFycmF5LmZyb20ocmVxdWVzdHMua2V5cygpKS5qb2luKCk7XG4gICAgLy8gY29uc29sZS5sb2coJ2lzc3VpbmcgYmF0Y2ggcmVxdWVzdCBmb3IgY2FzZXM6ICcgKyBjYXNlSWRzKTtcbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhciggKCkgPT4ge1xuICAgICAgLy8gcnVuIHBvbGxpbmcgb3V0c2lkZSBhbmd1bGFyIHpvbmUgc28gaXQgZG9lcyBub3QgdHJpZ2dlciBjaGFuZ2UgZGV0ZWN0aW9uXG4gICAgICB0aGlzLnBvbGxBY3Rpdml0aWVzU3Vic2NyaXB0aW9uID0gdGhpcy5wb2xsQWN0aXZpdGllcyhjYXNlSWRzKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgIC8vIHByb2Nlc3MgYWN0aXZpdHkgaW5zaWRlIHpvbmUgc28gaXQgdHJpZ2dlcnMgY2hhbmdlIGRldGVjdGlvbiBmb3IgYWN0aXZpdHkuY29tcG9uZW50LnRzXG4gICAgICAgIChhY3Rpdml0aWVzOiBBY3Rpdml0eVtdKSA9PiB0aGlzLm5nWm9uZS5ydW4oICgpID0+IHtcbiAgICAgICAgICAgIGFjdGl2aXRpZXMuZm9yRWFjaCgoYWN0aXZpdHkpID0+IHtcbiAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ3B1c2hpbmcgYWN0aXZpdHk6ICcgKyBhY3Rpdml0eS5jYXNlSWQpO1xuICAgICAgICAgICAgICByZXF1ZXN0cy5nZXQoYWN0aXZpdHkuY2FzZUlkKS5uZXh0KGFjdGl2aXR5KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5sb2coYGVycm9yOiAke2Vycn1gKTtcbiAgICAgICAgICAgIEFycmF5LmZyb20ocmVxdWVzdHMudmFsdWVzKCkpLmZvckVhY2goKHN1YmplY3QpID0+IHN1YmplY3QuZXJyb3IoZXJyKSk7XG4gICAgICAgICAgfVxuICAgICAgICApXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBwb3N0QWN0aXZpdHkoY2FzZUlkOiBzdHJpbmcsIGFjdGl2aXR5VHlwZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxBY3Rpdml0eVtdPiB7XG4gICAgaWYgKCF0aGlzLmlzRW5hYmxlZCkge1xuICAgICAgcmV0dXJuIEVNUFRZO1xuICAgIH1cblxuICAgIGNvbnN0IHBvbGxpbmdDb25maWcgPSB7XG4gICAgICAuLi50aGlzLnBvbGxDb25maWcsXG4gICAgICBpbnRlcnZhbDogNTAwMCAvLyBpbmxpbmUgd2l0aCBDQ0QgQmFja2VuZFxuICAgIH07XG5cbiAgICByZXR1cm4gcG9sbGluZyh0aGlzLmFjdGl2aXR5U2VydmljZS5wb3N0QWN0aXZpdHkoY2FzZUlkLCBhY3Rpdml0eVR5cGUpLCBwb2xsaW5nQ29uZmlnKTtcbiAgfVxufVxuIl19
116
+ }], function () { return [{ type: i1.ActivityService }, { type: i0.NgZone }, { type: i2.AbstractAppConfig }, { type: i3.PollingService }]; }, null); })();
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHkucG9sbGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9hY3Rpdml0eS9hY3Rpdml0eS5wb2xsaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLEtBQUssRUFBYyxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXhELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBR25ELFdBQVc7QUFFWCxNQUFNLE9BQU8sc0JBQXNCO0lBUWpDLFlBQTZCLGVBQWdDLEVBQW1CLE1BQWMsRUFBbUIsTUFBeUIsRUFBVSxjQUE4QjtRQUFySixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFBbUIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFtQixXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQVBqSyxvQkFBZSxHQUFHLElBQUksR0FBRyxFQUE2QixDQUFDO1FBUXRFLElBQUksQ0FBQyxVQUFVLEdBQUc7WUFDaEIsUUFBUSxFQUFFLE1BQU0sQ0FBQywyQkFBMkIsRUFBRTtZQUM5QyxRQUFRLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixFQUFFO1lBQ25DLGlCQUFpQixFQUFFLElBQUk7U0FDeEIsQ0FBQztRQUNGLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxNQUFNLENBQUMsaUNBQWlDLEVBQUUsQ0FBQztRQUN6RSxJQUFJLENBQUMsbUJBQW1CLEdBQUcs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QUM7U0FDZDtRQUVELE1BQU0sYUFBYSxHQUFHO1lBQ3BCLEdBQUcsSUFBSSxDQUFDLFVBQVU7WUFDbEIsUUFBUSxFQUFFLElBQUksQ0FBQywwQkFBMEI7U0FDMUMsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzdHLENBQUM7OzRGQXhIVSxzQkFBc0I7NEVBQXRCLHNCQUFzQixXQUF0QixzQkFBc0I7dUZBQXRCLHNCQUFzQjtjQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFTVBUWSwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEFwcENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2FwcC5jb25maWcnO1xuaW1wb3J0IHsgQWN0aXZpdHkgfSBmcm9tICcuLi8uLi9kb21haW4vYWN0aXZpdHkvYWN0aXZpdHkubW9kZWwnO1xuaW1wb3J0IHsgQWN0aXZpdHlTZXJ2aWNlIH0gZnJvbSAnLi9hY3Rpdml0eS5zZXJ2aWNlJztcbmltcG9ydCB7IFBvbGxpbmdTZXJ2aWNlIH0gZnJvbSAnLi9wb2xsaW5nLnNlcnZpY2UnO1xuaW1wb3J0IHsgSU9wdGlvbnNBcHAgfSBmcm9tICcuLi8uLi9kb21haW4vcG9sbGluZyc7XG5cbi8vIEBkeW5hbWljXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQWN0aXZpdHlQb2xsaW5nU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGVuZGluZ1JlcXVlc3RzID0gbmV3IE1hcDxzdHJpbmcsIFN1YmplY3Q8QWN0aXZpdHk+PigpO1xuICBwcml2YXRlIGN1cnJlbnRUaW1lb3V0SGFuZGxlOiBhbnk7XG4gIHByaXZhdGUgcG9sbEFjdGl2aXRpZXNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSByZWFkb25seSBwb2xsQ29uZmlnOiBJT3B0aW9uc0FwcDtcbiAgcHJpdmF0ZSByZWFkb25seSBiYXRjaENvbGxlY3Rpb25EZWxheU1zOiBudW1iZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgbWF4UmVxdWVzdHNQZXJCYXRjaDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYWN0aXZpdHlTZXJ2aWNlOiBBY3Rpdml0eVNlcnZpY2UsIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBBYnN0cmFjdEFwcENvbmZpZywgcHJpdmF0ZSBwb2xsaW5nU2VydmljZTogUG9sbGluZ1NlcnZpY2UpIHtcbiAgICB0aGlzLnBvbGxDb25maWcgPSB7XG4gICAgICBpbnRlcnZhbDogY29uZmlnLmdldEFjdGl2aXR5TmV4UG9sbFJlcXVlc3RNcygpLFxuICAgICAgYXR0ZW1wdHM6IGNvbmZpZy5nZXRBY3Rpdml0eVJldHJ5KCksXG4gICAgICBiYWNrZ3JvdW5kUG9sbGluZzogdHJ1ZVxuICAgIH07XG4gICAgdGhpcy5iYXRjaENvbGxlY3Rpb25EZWxheU1zID0gY29uZmlnLmdldEFjdGl2aXR5QmF0Y2hDb2xsZWN0aW9uRGVsYXlNcygpO1xuICAgIHRoaXMubWF4UmVxdWVzdHNQZXJCYXRjaCA9IGNvbmZpZy5nZXRBY3Rpdml0eU1heFJlcXVlc3RQZXJCYXRjaCgpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZpdHlTZXJ2aWNlLmlzRW5hYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBzdWJzY3JpYmVUb0FjdGl2aXR5KGNhc2VJZDogc3RyaW5nLCBkb25lOiAoYWN0aXZpdHk6IEFjdGl2aXR5KSA9PiB2b2lkKTogU3ViamVjdDxBY3Rpdml0eT4ge1xuICAgIGlmICghdGhpcy5pc0VuYWJsZWQpIHtcbiAgICAgIHJldHVybiBuZXcgU3ViamVjdDxBY3Rpdml0eT4oKTtcbiAgICB9XG5cbiAgICBsZXQgc3ViamVjdCA9IHRoaXMucGVuZGluZ1JlcXVlc3RzLmdldChjYXNlSWQpO1xuICAgIGlmIChzdWJqZWN0KSB7XG4gICAgICBzdWJqZWN0LnN1YnNjcmliZShkb25lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3ViamVjdCA9IG5ldyBTdWJqZWN0PEFjdGl2aXR5PigpO1xuICAgICAgc3ViamVjdC5zdWJzY3JpYmUoZG9uZSk7XG4gICAgICB0aGlzLnBlbmRpbmdSZXF1ZXN0cy5zZXQoY2FzZUlkLCBzdWJqZWN0KTtcbiAgICB9XG4gICAgaWYgKHRoaXMucGVuZGluZ1JlcXVlc3RzLnNpemUgPT09IDEpIHtcbiAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgdGhpcy5jdXJyZW50VGltZW91dEhhbmRsZSA9IHNldFRpbWVvdXQoXG4gICAgICAgICAgKCkgPT4gdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCd0aW1lb3V0OiBmbHVzaGluZyByZXF1ZXN0cycpXG4gICAgICAgICAgICB0aGlzLmZsdXNoUmVxdWVzdHMoKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICB0aGlzLmJhdGNoQ29sbGVjdGlvbkRlbGF5TXMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucGVuZGluZ1JlcXVlc3RzLnNpemUgPj0gdGhpcy5tYXhSZXF1ZXN0c1BlckJhdGNoKSB7XG4gICAgICAvLyBjb25zb2xlLmxvZygnbWF4IHBlbmRpbmcgaGl0OiBmbHVzaGluZyByZXF1ZXN0cycpO1xuICAgICAgdGhpcy5mbHVzaFJlcXVlc3RzKCk7XG4gICAgfVxuICAgIHJldHVybiBzdWJqZWN0O1xuICB9XG5cbiAgcHVibGljIHN0b3BQb2xsaW5nKCkge1xuICAgIGlmICh0aGlzLnBvbGxBY3Rpdml0aWVzU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnBvbGxBY3Rpdml0aWVzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZsdXNoUmVxdWVzdHMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY3VycmVudFRpbWVvdXRIYW5kbGUpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmN1cnJlbnRUaW1lb3V0SGFuZGxlKTtcbiAgICAgIHRoaXMuY3VycmVudFRpbWVvdXRIYW5kbGUgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29uc3QgcmVxdWVzdHMgPSBuZXcgTWFwKHRoaXMucGVuZGluZ1JlcXVlc3RzKTtcbiAgICB0aGlzLnBlbmRpbmdSZXF1ZXN0cy5jbGVhcigpO1xuICAgIHRoaXMucGVyZm9ybUJhdGNoUmVxdWVzdChyZXF1ZXN0cyk7XG4gIH1cblxuICBwdWJsaWMgcG9sbEFjdGl2aXRpZXMoLi4uY2FzZUlkczogc3RyaW5nW10pOiBPYnNlcnZhYmxlPEFjdGl2aXR5W10+IHtcbiAgICBpZiAoIXRoaXMuaXNFbmFibGVkKSB7XG4gICAgICByZXR1cm4gRU1QVFk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucG9sbGluZ1NlcnZpY2UucG9sbGluZyh0aGlzLmFjdGl2aXR5U2VydmljZS5nZXRBY3Rpdml0aWVzKC4uLmNhc2VJZHMpLCB0aGlzLnBvbGxDb25maWcpO1xuICB9XG5cbiAgcHVibGljIHBvc3RWaWV3QWN0aXZpdHkoY2FzZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFjdGl2aXR5W10+IHtcbiAgICByZXR1cm4gdGhpcy5wb3N0QWN0aXZpdHkoY2FzZUlkLCBBY3Rpdml0eVNlcnZpY2UuQUNUSVZJVFlfVklFVyk7XG4gIH1cblxuICBwdWJsaWMgcG9zdEVkaXRBY3Rpdml0eShjYXNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8QWN0aXZpdHlbXT4ge1xuICAgIGNvbnNvbGUubG9nKCd0aGlzLnBvc3RBY3Rpdml0eShjYXNlSWQsIEFjdGl2aXR5U2VydmljZS5BQ1RJVklUWV9FRElUKTsnLCB0aGlzLnBvc3RBY3Rpdml0eShjYXNlSWQsIEFjdGl2aXR5U2VydmljZS5BQ1RJVklUWV9FRElUKSlcbiAgICByZXR1cm4gdGhpcy5wb3N0QWN0aXZpdHkoY2FzZUlkLCBBY3Rpdml0eVNlcnZpY2UuQUNUSVZJVFlfRURJVCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcGVyZm9ybUJhdGNoUmVxdWVzdChyZXF1ZXN0czogTWFwPHN0cmluZywgU3ViamVjdDxBY3Rpdml0eT4+KTogdm9pZCB7XG4gICAgY29uc3QgY2FzZUlkcyA9IEFycmF5LmZyb20ocmVxdWVzdHMua2V5cygpKS5qb2luKCk7XG4gICAgLy8gY29uc29sZS5sb2coJ2lzc3VpbmcgYmF0Y2ggcmVxdWVzdCBmb3IgY2FzZXM6ICcgKyBjYXNlSWRzKTtcbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhciggKCkgPT4ge1xuICAgICAgLy8gcnVuIHBvbGxpbmcgb3V0c2lkZSBhbmd1bGFyIHpvbmUgc28gaXQgZG9lcyBub3QgdHJpZ2dlciBjaGFuZ2UgZGV0ZWN0aW9uXG4gICAgICB0aGlzLnBvbGxBY3Rpdml0aWVzU3Vic2NyaXB0aW9uID0gdGhpcy5wb2xsQWN0aXZpdGllcyhjYXNlSWRzKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgIC8vIHByb2Nlc3MgYWN0aXZpdHkgaW5zaWRlIHpvbmUgc28gaXQgdHJpZ2dlcnMgY2hhbmdlIGRldGVjdGlvbiBmb3IgYWN0aXZpdHkuY29tcG9uZW50LnRzXG4gICAgICAgIChhY3Rpdml0aWVzOiBBY3Rpdml0eVtdKSA9PiB0aGlzLm5nWm9uZS5ydW4oICgpID0+IHtcbiAgICAgICAgICAgIGFjdGl2aXRpZXMuZm9yRWFjaCgoYWN0aXZpdHkpID0+IHtcbiAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ3B1c2hpbmcgYWN0aXZpdHk6ICcgKyBhY3Rpdml0eS5jYXNlSWQpO1xuICAgICAgICAgICAgICByZXF1ZXN0cy5nZXQoYWN0aXZpdHkuY2FzZUlkKS5uZXh0KGFjdGl2aXR5KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5sb2coYGVycm9yOiAke2Vycn1gKTtcbiAgICAgICAgICAgIEFycmF5LmZyb20ocmVxdWVzdHMudmFsdWVzKCkpLmZvckVhY2goKHN1YmplY3QpID0+IHN1YmplY3QuZXJyb3IoZXJyKSk7XG4gICAgICAgICAgfVxuICAgICAgICApXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBwb3N0QWN0aXZpdHkoY2FzZUlkOiBzdHJpbmcsIGFjdGl2aXR5VHlwZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxBY3Rpdml0eVtdPiB7XG4gICAgaWYgKCF0aGlzLmlzRW5hYmxlZCkge1xuICAgICAgcmV0dXJuIEVNUFRZO1xuICAgIH1cblxuICAgIGNvbnN0IHBvbGxpbmdDb25maWcgPSB7XG4gICAgICAuLi50aGlzLnBvbGxDb25maWcsXG4gICAgICBpbnRlcnZhbDogNTAwMCAvLyBpbmxpbmUgd2l0aCBDQ0QgQmFja2VuZFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5wb2xsaW5nU2VydmljZS5wb2xsaW5nKHRoaXMuYWN0aXZpdHlTZXJ2aWNlLnBvc3RBY3Rpdml0eShjYXNlSWQsIGFjdGl2aXR5VHlwZSksIHBvbGxpbmdDb25maWcpO1xuICB9XG59XG4iXX0=
@@ -1,3 +1,4 @@
1
1
  export * from './activity.service';
2
2
  export * from './activity.polling.service';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL3NlcnZpY2VzL2FjdGl2aXR5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWN0aXZpdHkuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGl2aXR5LnBvbGxpbmcuc2VydmljZSc7XG4iXX0=
3
+ export * from './polling.service';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL3NlcnZpY2VzL2FjdGl2aXR5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY3Rpdml0eS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aXZpdHkucG9sbGluZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcG9sbGluZy5zZXJ2aWNlJztcbiJdfQ==
@@ -0,0 +1,61 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { fromEvent, empty, timer } from 'rxjs';
3
+ import { switchMap, startWith, retryWhen, scan, tap } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ // Code adapted from rx-polling - https://github.com/jiayihu/rx-polling to work with angular 15 and node upgrade - angular 15 and node 18.17.0
6
+ export class PollingService {
7
+ constructor() {
8
+ this.defaultOptions = {
9
+ attempts: 9,
10
+ backoffStrategy: 'exponential',
11
+ exponentialUnit: 1000,
12
+ randomRange: [1000, 10000],
13
+ backgroundPolling: false
14
+ };
15
+ }
16
+ polling(request$, userOptions) {
17
+ const options = { ...this.defaultOptions, ...userOptions };
18
+ let allErrorsCount = 0;
19
+ let lastRecoverCount = 0;
20
+ return fromEvent(document, 'visibilitychange').pipe(startWith(null), switchMap(() => {
21
+ if (this.isPageActive() || options.backgroundPolling) {
22
+ return empty().pipe(retryWhen(errors$ => errors$.pipe(scan(({ errorCount, error }, err) => ({ errorCount: errorCount + 1, error: err }), { errorCount: 0, error: null }), switchMap(({ errorCount, error }) => {
23
+ allErrorsCount = errorCount;
24
+ const consecutiveErrorsCount = allErrorsCount - lastRecoverCount;
25
+ if (consecutiveErrorsCount > options.attempts) {
26
+ throw error;
27
+ }
28
+ const delay = this.getStrategyDelay(consecutiveErrorsCount, options);
29
+ return timer(delay);
30
+ }))));
31
+ }
32
+ return empty();
33
+ }), tap(() => {
34
+ lastRecoverCount = allErrorsCount;
35
+ }));
36
+ }
37
+ isPageActive() {
38
+ return !Boolean(document.hidden);
39
+ }
40
+ getStrategyDelay(consecutiveErrorsCount, options) {
41
+ switch (options.backoffStrategy) {
42
+ case 'exponential':
43
+ return Math.pow(2, consecutiveErrorsCount - 1) * options.exponentialUnit;
44
+ case 'random':
45
+ const [min, max] = options.randomRange;
46
+ const range = max - min;
47
+ return Math.floor(Math.random() * range) + min;
48
+ case 'consecutive':
49
+ return options.constantTime || options.interval;
50
+ default:
51
+ console.error(`${options.backoffStrategy} is not a backoff strategy supported by rx-polling`);
52
+ return options.constantTime || options.interval;
53
+ }
54
+ }
55
+ }
56
+ PollingService.ɵfac = function PollingService_Factory(t) { return new (t || PollingService)(); };
57
+ PollingService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PollingService, factory: PollingService.ɵfac });
58
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PollingService, [{
59
+ type: Injectable
60
+ }], null, null); })();
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9sbGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9hY3Rpdml0eS9wb2xsaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsU0FBUyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFHNUUsOElBQThJO0FBRTlJLE1BQU0sT0FBTyxjQUFjO0lBRDNCO1FBRVUsbUJBQWMsR0FBRztZQUN2QixRQUFRLEVBQUUsQ0FBQztZQUNYLGVBQWUsRUFBRSxhQUFhO1lBQzlCLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLFdBQVcsRUFBRSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUM7WUFDMUIsaUJBQWlCLEVBQUUsS0FBSztTQUN6QixDQUFDO0tBOERIO0lBNURDLE9BQU8sQ0FBSSxRQUF1QixFQUFFLFdBQXdCO1FBQzFELE1BQU0sT0FBTyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLEdBQUcsV0FBVyxFQUFFLENBQUM7UUFFM0QsSUFBSSxjQUFjLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBRXpCLE9BQU8sU0FBUyxDQUFDLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDLElBQUksQ0FDakQsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUNmLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDYixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxPQUFPLENBQUMsaUJBQWlCLEVBQUU7Z0JBQ3BELE9BQU8sS0FBSyxFQUFFLENBQUMsSUFBSSxDQUNqQixTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FDbEIsT0FBTyxDQUFDLElBQUksQ0FDVixJQUFJLENBQ0YsQ0FBQyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsVUFBVSxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFDNUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FDL0IsRUFDRCxTQUFTLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO29CQUNsQyxjQUFjLEdBQUcsVUFBVSxDQUFDO29CQUM1QixNQUFNLHNCQUFzQixHQUFHLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQztvQkFFakUsSUFBSSxzQkFBc0IsR0FBRyxPQUFPLENBQUMsUUFBUSxFQUFFO3dCQUM3QyxNQUFNLEtBQUssQ0FBQztxQkFDYjtvQkFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLEVBQUUsT0FBTyxDQUFDLENBQUM7b0JBQ3JFLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN0QixDQUFDLENBQUMsQ0FDSCxDQUNGLENBQ0YsQ0FBQzthQUNIO1lBRUQsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNqQixDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsZ0JBQWdCLEdBQUcsY0FBYyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU8sWUFBWTtRQUNsQixPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsc0JBQThCLEVBQUUsT0FBb0I7UUFDM0UsUUFBUSxPQUFPLENBQUMsZUFBZSxFQUFFO1lBQy9CLEtBQUssYUFBYTtnQkFDaEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxzQkFBc0IsR0FBRyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDO1lBQzNFLEtBQUssUUFBUTtnQkFDWCxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUM7Z0JBQ3ZDLE1BQU0sS0FBSyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUM7Z0JBQ3hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDO1lBQ2pELEtBQUssYUFBYTtnQkFDaEIsT0FBTyxPQUFPLENBQUMsWUFBWSxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUM7WUFDbEQ7Z0JBQ0UsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLE9BQU8sQ0FBQyxlQUFlLG9EQUFvRCxDQUFDLENBQUM7Z0JBQzlGLE9BQU8sT0FBTyxDQUFDLFlBQVksSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDO1NBQ25EO0lBQ0gsQ0FBQzs7NEVBcEVVLGNBQWM7b0VBQWQsY0FBYyxXQUFkLGNBQWM7dUZBQWQsY0FBYztjQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZnJvbUV2ZW50LCBlbXB0eSwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN3aXRjaE1hcCwgc3RhcnRXaXRoLCByZXRyeVdoZW4sIHNjYW4sIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IElPcHRpb25zQXBwIH0gZnJvbSAnLi4vLi4vZG9tYWluL3BvbGxpbmcnO1xuXG4vLyBDb2RlIGFkYXB0ZWQgZnJvbSByeC1wb2xsaW5nIC0gaHR0cHM6Ly9naXRodWIuY29tL2ppYXlpaHUvcngtcG9sbGluZyB0byB3b3JrIHdpdGggYW5ndWxhciAxNSBhbmQgbm9kZSB1cGdyYWRlIC0gYW5ndWxhciAxNSBhbmQgbm9kZSAxOC4xNy4wXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUG9sbGluZ1NlcnZpY2Uge1xuICBwcml2YXRlIGRlZmF1bHRPcHRpb25zID0ge1xuICAgIGF0dGVtcHRzOiA5LFxuICAgIGJhY2tvZmZTdHJhdGVneTogJ2V4cG9uZW50aWFsJyxcbiAgICBleHBvbmVudGlhbFVuaXQ6IDEwMDAsXG4gICAgcmFuZG9tUmFuZ2U6IFsxMDAwLCAxMDAwMF0sXG4gICAgYmFja2dyb3VuZFBvbGxpbmc6IGZhbHNlXG4gIH07XG5cbiAgcG9sbGluZzxUPihyZXF1ZXN0JDogT2JzZXJ2YWJsZTxUPiwgdXNlck9wdGlvbnM6IElPcHRpb25zQXBwKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHsgLi4udGhpcy5kZWZhdWx0T3B0aW9ucywgLi4udXNlck9wdGlvbnMgfTtcblxuICAgIGxldCBhbGxFcnJvcnNDb3VudCA9IDA7XG4gICAgbGV0IGxhc3RSZWNvdmVyQ291bnQgPSAwO1xuXG4gICAgcmV0dXJuIGZyb21FdmVudChkb2N1bWVudCwgJ3Zpc2liaWxpdHljaGFuZ2UnKS5waXBlKFxuICAgICAgc3RhcnRXaXRoKG51bGwpLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNQYWdlQWN0aXZlKCkgfHwgb3B0aW9ucy5iYWNrZ3JvdW5kUG9sbGluZykge1xuICAgICAgICAgIHJldHVybiBlbXB0eSgpLnBpcGUoXG4gICAgICAgICAgICByZXRyeVdoZW4oZXJyb3JzJCA9PlxuICAgICAgICAgICAgICBlcnJvcnMkLnBpcGUoXG4gICAgICAgICAgICAgICAgc2NhbihcbiAgICAgICAgICAgICAgICAgICh7IGVycm9yQ291bnQsIGVycm9yIH0sIGVycikgPT4gKHsgZXJyb3JDb3VudDogZXJyb3JDb3VudCArIDEsIGVycm9yOiBlcnIgfSksXG4gICAgICAgICAgICAgICAgICB7IGVycm9yQ291bnQ6IDAsIGVycm9yOiBudWxsIH1cbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoeyBlcnJvckNvdW50LCBlcnJvciB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICBhbGxFcnJvcnNDb3VudCA9IGVycm9yQ291bnQ7XG4gICAgICAgICAgICAgICAgICBjb25zdCBjb25zZWN1dGl2ZUVycm9yc0NvdW50ID0gYWxsRXJyb3JzQ291bnQgLSBsYXN0UmVjb3ZlckNvdW50O1xuXG4gICAgICAgICAgICAgICAgICBpZiAoY29uc2VjdXRpdmVFcnJvcnNDb3VudCA+IG9wdGlvbnMuYXR0ZW1wdHMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIGNvbnN0IGRlbGF5ID0gdGhpcy5nZXRTdHJhdGVneURlbGF5KGNvbnNlY3V0aXZlRXJyb3JzQ291bnQsIG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIHRpbWVyKGRlbGF5KTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlbXB0eSgpO1xuICAgICAgfSksXG4gICAgICB0YXAoKCkgPT4ge1xuICAgICAgICBsYXN0UmVjb3ZlckNvdW50ID0gYWxsRXJyb3JzQ291bnQ7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGlzUGFnZUFjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIUJvb2xlYW4oZG9jdW1lbnQuaGlkZGVuKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3RyYXRlZ3lEZWxheShjb25zZWN1dGl2ZUVycm9yc0NvdW50OiBudW1iZXIsIG9wdGlvbnM6IElPcHRpb25zQXBwKTogbnVtYmVyIHtcbiAgICBzd2l0Y2ggKG9wdGlvbnMuYmFja29mZlN0cmF0ZWd5KSB7XG4gICAgICBjYXNlICdleHBvbmVudGlhbCc6XG4gICAgICAgIHJldHVybiBNYXRoLnBvdygyLCBjb25zZWN1dGl2ZUVycm9yc0NvdW50IC0gMSkgKiBvcHRpb25zLmV4cG9uZW50aWFsVW5pdDtcbiAgICAgIGNhc2UgJ3JhbmRvbSc6XG4gICAgICAgIGNvbnN0IFttaW4sIG1heF0gPSBvcHRpb25zLnJhbmRvbVJhbmdlO1xuICAgICAgICBjb25zdCByYW5nZSA9IG1heCAtIG1pbjtcbiAgICAgICAgcmV0dXJuIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIHJhbmdlKSArIG1pbjtcbiAgICAgIGNhc2UgJ2NvbnNlY3V0aXZlJzpcbiAgICAgICAgcmV0dXJuIG9wdGlvbnMuY29uc3RhbnRUaW1lIHx8IG9wdGlvbnMuaW50ZXJ2YWw7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBjb25zb2xlLmVycm9yKGAke29wdGlvbnMuYmFja29mZlN0cmF0ZWd5fSBpcyBub3QgYSBiYWNrb2ZmIHN0cmF0ZWd5IHN1cHBvcnRlZCBieSByeC1wb2xsaW5nYCk7XG4gICAgICAgIHJldHVybiBvcHRpb25zLmNvbnN0YW50VGltZSB8fCBvcHRpb25zLmludGVydmFsO1xuICAgIH1cbiAgfVxufVxuIl19