vcomply-workflow-engine 2.6.137 → 2.6.139

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 (63) hide show
  1. package/bundles/vcomply-workflow-engine.umd.js +83 -638
  2. package/bundles/vcomply-workflow-engine.umd.js.map +1 -1
  3. package/esm2015/lib/add-multiple-responsibility/add-multiple-responsibility.component.js +1 -1
  4. package/esm2015/lib/add-multiple-responsibility-container/add-multiple-responsibility-container.component.js +1 -1
  5. package/esm2015/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.js +1 -1
  6. package/esm2015/lib/add-multiple-risk/add-multiple-risk.component.js +1 -1
  7. package/esm2015/lib/log-an-issue/log-an-issue.component.js +1 -1
  8. package/esm2015/lib/sharedComponents/floating-bar/floating-bar.component.js +4 -19
  9. package/esm2015/lib/sharedComponents/floating-bar/floating-bar.component.ngfactory.js +20 -43
  10. package/esm2015/lib/sharedComponents/floating-bar/floating-bar.component.ngsummary.json +1 -1
  11. package/esm2015/lib/sharedComponents/format-and-evidence/format-and-evidence.component.js +1 -1
  12. package/esm2015/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.js +2 -2
  13. package/esm2015/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.ngfactory.js +14 -28
  14. package/esm2015/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.js +2 -2
  15. package/esm2015/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.ngfactory.js +18 -32
  16. package/esm2015/lib/sharedComponents/frequency/frequency-top/frequency-top.component.js +2 -2
  17. package/esm2015/lib/sharedComponents/frequency/frequency-top/frequency-top.component.ngfactory.js +9 -23
  18. package/esm2015/lib/sharedComponents/group-users-list/group-users-list.component.js +6 -77
  19. package/esm2015/lib/sharedComponents/group-users-list/group-users-list.component.ngfactory.js +15 -72
  20. package/esm2015/lib/sharedComponents/group-users-list/group-users-list.component.ngsummary.json +1 -1
  21. package/esm2015/lib/sharedComponents/risk-classification/risk-classification.component.js +1 -1
  22. package/esm2015/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.js +1 -1
  23. package/esm2015/lib/workflow-assessment/workflow-assessment.component.js +1 -1
  24. package/esm2015/lib/workflow-compliance/workflow-compliance.component.js +22 -369
  25. package/esm2015/lib/workflow-compliance/workflow-compliance.component.ngfactory.js +189 -390
  26. package/esm2015/lib/workflow-compliance/workflow-compliance.component.ngsummary.json +1 -1
  27. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.js +3 -4
  28. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.ngfactory.js +2 -2
  29. package/esm2015/lib/workflow-engine.module.ngfactory.js +1 -1
  30. package/esm2015/lib/workflow-interfaces/create-policy-form.js +1 -1
  31. package/esm2015/lib/workflow-policy/workflow-policy.component.js +27 -99
  32. package/esm2015/lib/workflow-policy/workflow-policy.component.ngfactory.js +95 -195
  33. package/esm2015/lib/workflow-policy/workflow-policy.component.ngsummary.json +1 -1
  34. package/esm2015/lib/workflow-program/create-program-ui/create-program-ui.module.js +2 -4
  35. package/esm2015/lib/workflow-program/create-program-ui/create-program-ui.module.ngfactory.js +2 -3
  36. package/esm2015/lib/workflow-program/create-program-ui/create-program-ui.module.ngsummary.json +1 -1
  37. package/esm2015/lib/workflow-program/create-program-ui/file-pill/file-pill.component.js +1 -1
  38. package/esm2015/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.js +3 -7
  39. package/esm2015/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.ngfactory.js +8 -22
  40. package/esm2015/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.ngsummary.json +1 -1
  41. package/esm2015/lib/workflow-program/create-program-ui/form-field/form-field.component.js +1 -1
  42. package/esm2015/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.js +1 -1
  43. package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.js +2 -14
  44. package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.ngfactory.js +6 -9
  45. package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.ngsummary.json +1 -1
  46. package/esm2015/lib/workflow-program/workflow-program.component.js +6 -19
  47. package/esm2015/lib/workflow-risk/workflow-risk.component.js +1 -1
  48. package/esm2015/lib/workflow-services/responsibility.service.js +1 -13
  49. package/esm2015/lib/workflow-services/responsibility.service.ngsummary.json +1 -1
  50. package/esm2015/lib/workflow-survey-form/workflow-survey-form.component.js +1 -1
  51. package/fesm2015/vcomply-workflow-engine.js +83 -631
  52. package/fesm2015/vcomply-workflow-engine.js.map +1 -1
  53. package/lib/sharedComponents/floating-bar/floating-bar.component.d.ts +0 -4
  54. package/lib/sharedComponents/group-users-list/group-users-list.component.d.ts +0 -13
  55. package/lib/workflow-compliance/workflow-compliance.component.d.ts +0 -34
  56. package/lib/workflow-interfaces/create-policy-form.d.ts +0 -2
  57. package/lib/workflow-policy/workflow-policy.component.d.ts +0 -6
  58. package/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.d.ts +0 -1
  59. package/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.d.ts +0 -5
  60. package/lib/workflow-program/workflow-program.component.d.ts +0 -1
  61. package/lib/workflow-services/responsibility.service.d.ts +0 -2
  62. package/package.json +2 -2
  63. package/vcomply-workflow-engine.metadata.json +1 -1
@@ -8,9 +8,7 @@ import * as i0 from "./frequency-top.component.less.shim.ngstyle";
8
8
  import * as i1 from "@angular/core";
9
9
  import * as i2 from "@angular/forms";
10
10
  import * as i3 from "@angular/common";
11
- import * as i4 from "ngx-material-timepicker";
12
- import * as i5 from "../../../../../../../node_modules/ngx-material-timepicker/ngx-material-timepicker.ngfactory";
13
- import * as i6 from "./frequency-top.component";
11
+ import * as i4 from "./frequency-top.component";
14
12
  var styles_FrequencyTopComponent = [i0.styles];
15
13
  var RenderType_FrequencyTopComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_FrequencyTopComponent, data: {} });
16
14
  export { RenderType_FrequencyTopComponent as RenderType_FrequencyTopComponent };
@@ -42,7 +40,7 @@ function View_FrequencyTopComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵel
42
40
  var pd_7 = (_co.enterYearDay($event) !== false);
43
41
  ad = (pd_7 && ad);
44
42
  } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i2.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i2.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(5, 16384, null, 0, i2.NumberValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵdid(6, 540672, null, 0, i2.MinValidator, [], { min: [0, "min"] }, null), i1.ɵprd(1024, null, i2.NG_VALIDATORS, function (p0_0) { return [p0_0]; }, [i2.MinValidator]), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0, p1_0) { return [p0_0, p1_0]; }, [i2.DefaultValueAccessor, i2.NumberValueAccessor]), i1.ɵdid(9, 671744, null, 0, i2.NgModel, [[8, null], [6, i2.NG_VALIDATORS], [8, null], [6, i2.NG_VALUE_ACCESSOR]], { model: [0, "model"] }, { update: "ngModelChange" }), i1.ɵprd(2048, null, i2.NgControl, null, [i2.NgModel]), i1.ɵdid(11, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), (_l()(), i1.ɵeld(12, 0, null, null, 1, "span", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["by"]))], function (_ck, _v) { var _co = _v.component; var currVal_10 = "0"; _ck(_v, 6, 0, currVal_10); var currVal_11 = _co.yearlyDay; _ck(_v, 9, 0, currVal_11); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = ((_co.occurrenceFirst > 1) ? "years" : "year"); _ck(_v, 2, 0, currVal_0); var currVal_1 = ("occurrence-day" + _co.id); var tmp_2_0; var currVal_2 = ((((tmp_2_0 = i1.ɵnov(_v, 6).min) !== null) && (tmp_2_0 !== undefined)) ? tmp_2_0 : null); var currVal_3 = i1.ɵnov(_v, 11).is("untouched"); var currVal_4 = i1.ɵnov(_v, 11).is("touched"); var currVal_5 = i1.ɵnov(_v, 11).is("pristine"); var currVal_6 = i1.ɵnov(_v, 11).is("dirty"); var currVal_7 = i1.ɵnov(_v, 11).is("valid"); var currVal_8 = i1.ɵnov(_v, 11).is("invalid"); var currVal_9 = i1.ɵnov(_v, 11).is("pending"); _ck(_v, 3, 0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7, currVal_8, currVal_9); }); }
45
- export function View_FrequencyTopComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 31, "div", [["class", "top-part"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, "span", [], null, null, null, null, null)), (_l()(), i1.ɵted(2, null, ["", ""])), (_l()(), i1.ɵeld(3, 0, null, null, 8, "input", [["class", "day-counter"], ["min", "0"], ["oninput", "this.value = Math.abs(this.value)"], ["onkeydown", "return event.keyCode !== 190"], ["type", "number"]], [[8, "id", 0], [1, "min", 0], [2, "ng-untouched", null], [2, "ng-touched", null], [2, "ng-pristine", null], [2, "ng-dirty", null], [2, "ng-valid", null], [2, "ng-invalid", null], [2, "ng-pending", null]], [[null, "ngModelChange"], [null, "focusout"], [null, "input"], [null, "blur"], [null, "compositionstart"], [null, "compositionend"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("input" === en)) {
43
+ export function View_FrequencyTopComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 26, "div", [["class", "top-part"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, "span", [], null, null, null, null, null)), (_l()(), i1.ɵted(2, null, ["", ""])), (_l()(), i1.ɵeld(3, 0, null, null, 8, "input", [["class", "day-counter"], ["min", "0"], ["oninput", "this.value = Math.abs(this.value)"], ["onkeydown", "return event.keyCode !== 190"], ["type", "number"]], [[8, "id", 0], [1, "min", 0], [2, "ng-untouched", null], [2, "ng-touched", null], [2, "ng-pristine", null], [2, "ng-dirty", null], [2, "ng-valid", null], [2, "ng-invalid", null], [2, "ng-pending", null]], [[null, "ngModelChange"], [null, "focusout"], [null, "input"], [null, "blur"], [null, "compositionstart"], [null, "compositionend"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("input" === en)) {
46
44
  var pd_0 = (i1.ɵnov(_v, 4)._handleInput($event.target.value) !== false);
47
45
  ad = (pd_0 && ad);
48
46
  } if (("blur" === en)) {
@@ -66,7 +64,7 @@ export function View_FrequencyTopComponent_0(_l) { return i1.ɵvid(0, [(_l()(),
66
64
  } if (("focusout" === en)) {
67
65
  var pd_7 = (_co.enterValueFirst($event, "occurrenceFirst") !== false);
68
66
  ad = (pd_7 && ad);
69
- } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i2.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i2.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(5, 16384, null, 0, i2.NumberValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵdid(6, 540672, null, 0, i2.MinValidator, [], { min: [0, "min"] }, null), i1.ɵprd(1024, null, i2.NG_VALIDATORS, function (p0_0) { return [p0_0]; }, [i2.MinValidator]), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0, p1_0) { return [p0_0, p1_0]; }, [i2.DefaultValueAccessor, i2.NumberValueAccessor]), i1.ɵdid(9, 671744, null, 0, i2.NgModel, [[8, null], [6, i2.NG_VALIDATORS], [8, null], [6, i2.NG_VALUE_ACCESSOR]], { model: [0, "model"] }, { update: "ngModelChange" }), i1.ɵprd(2048, null, i2.NgControl, null, [i2.NgModel]), i1.ɵdid(11, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrequencyTopComponent_1)), i1.ɵdid(13, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrequencyTopComponent_2)), i1.ɵdid(15, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrequencyTopComponent_3)), i1.ɵdid(17, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrequencyTopComponent_4)), i1.ɵdid(19, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵeld(20, 0, null, null, 11, "div", [["class", "time-picker"]], null, null, null, null, null)), (_l()(), i1.ɵeld(21, 0, null, null, 6, "input", [["aria-label", "12hr format"], ["placeholder", "Select Time"], ["readonly", ""], ["type", "text"]], [[8, "id", 0], [8, "disabled", 0], [2, "ng-untouched", null], [2, "ng-touched", null], [2, "ng-pristine", null], [2, "ng-dirty", null], [2, "ng-valid", null], [2, "ng-invalid", null], [2, "ng-pending", null]], [[null, "ngModelChange"], [null, "input"], [null, "blur"], [null, "compositionstart"], [null, "compositionend"], [null, "change"], [null, "click"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("input" === en)) {
67
+ } return ad; }, null, null)), i1.ɵdid(4, 16384, null, 0, i2.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i2.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(5, 16384, null, 0, i2.NumberValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵdid(6, 540672, null, 0, i2.MinValidator, [], { min: [0, "min"] }, null), i1.ɵprd(1024, null, i2.NG_VALIDATORS, function (p0_0) { return [p0_0]; }, [i2.MinValidator]), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0, p1_0) { return [p0_0, p1_0]; }, [i2.DefaultValueAccessor, i2.NumberValueAccessor]), i1.ɵdid(9, 671744, null, 0, i2.NgModel, [[8, null], [6, i2.NG_VALIDATORS], [8, null], [6, i2.NG_VALUE_ACCESSOR]], { model: [0, "model"] }, { update: "ngModelChange" }), i1.ɵprd(2048, null, i2.NgControl, null, [i2.NgModel]), i1.ɵdid(11, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrequencyTopComponent_1)), i1.ɵdid(13, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrequencyTopComponent_2)), i1.ɵdid(15, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrequencyTopComponent_3)), i1.ɵdid(17, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrequencyTopComponent_4)), i1.ɵdid(19, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵeld(20, 0, null, null, 6, "div", [["class", "time-picker"]], null, null, null, null, null)), (_l()(), i1.ɵeld(21, 0, null, null, 5, "input", [["placeholder", "Select Time"], ["readonly", ""], ["type", "text"]], [[8, "id", 0], [2, "ng-untouched", null], [2, "ng-touched", null], [2, "ng-pristine", null], [2, "ng-dirty", null], [2, "ng-valid", null], [2, "ng-invalid", null], [2, "ng-pending", null]], [[null, "ngModelChange"], [null, "input"], [null, "blur"], [null, "compositionstart"], [null, "compositionend"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("input" === en)) {
70
68
  var pd_0 = (i1.ɵnov(_v, 22)._handleInput($event.target.value) !== false);
71
69
  ad = (pd_0 && ad);
72
70
  } if (("blur" === en)) {
@@ -78,23 +76,11 @@ export function View_FrequencyTopComponent_0(_l) { return i1.ɵvid(0, [(_l()(),
78
76
  } if (("compositionend" === en)) {
79
77
  var pd_3 = (i1.ɵnov(_v, 22)._compositionEnd($event.target.value) !== false);
80
78
  ad = (pd_3 && ad);
81
- } if (("change" === en)) {
82
- var pd_4 = (i1.ɵnov(_v, 23).updateValue($event.target.value) !== false);
83
- ad = (pd_4 && ad);
84
- } if (("blur" === en)) {
85
- var pd_5 = (i1.ɵnov(_v, 23).onTouched() !== false);
86
- ad = (pd_5 && ad);
87
- } if (("click" === en)) {
88
- var pd_6 = (i1.ɵnov(_v, 23).onClick($event) !== false);
89
- ad = (pd_6 && ad);
90
79
  } if (("ngModelChange" === en)) {
91
- var pd_7 = ((_co.inputTime = $event) !== false);
92
- ad = (pd_7 && ad);
93
- } return ad; }, null, null)), i1.ɵdid(22, 16384, null, 0, i2.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i2.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(23, 671744, null, 0, i4.TimepickerDirective, [i1.ElementRef, i4.ɵe], { timepicker: [0, "timepicker"] }, null), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0, p1_0) { return [p0_0, p1_0]; }, [i2.DefaultValueAccessor, i4.TimepickerDirective]), i1.ɵdid(25, 671744, null, 0, i2.NgModel, [[8, null], [8, null], [8, null], [6, i2.NG_VALUE_ACCESSOR]], { model: [0, "model"] }, { update: "ngModelChange" }), i1.ɵprd(2048, null, i2.NgControl, null, [i2.NgModel]), i1.ɵdid(27, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null), (_l()(), i1.ɵeld(28, 0, null, null, 1, "i", [["class", "icons"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["\uE955"])), (_l()(), i1.ɵeld(30, 0, null, null, 1, "ngx-material-timepicker", [], [[8, "id", 0]], [[null, "timeChanged"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("timeChanged" === en)) {
94
- var pd_0 = (_co.onTimeChanged($event) !== false);
95
- ad = (pd_0 && ad);
96
- } return ad; }, i5.View_NgxMaterialTimepickerComponent_0, i5.RenderType_NgxMaterialTimepickerComponent)), i1.ɵdid(31, 49152, [["dailyTime", 4]], 0, i4.NgxMaterialTimepickerComponent, [i4.ɵa, i4.ɵb], null, { timeChanged: "timeChanged" })], function (_ck, _v) { var _co = _v.component; var currVal_10 = "0"; _ck(_v, 6, 0, currVal_10); var currVal_11 = _co.occurrenceFirst; _ck(_v, 9, 0, currVal_11); var currVal_12 = (_co.frequencyType === 0); _ck(_v, 13, 0, currVal_12); var currVal_13 = (_co.frequencyType === 1); _ck(_v, 15, 0, currVal_13); var currVal_14 = (((_co.id !== 0) && (_co.id !== 1)) && (_co.id !== 5)); _ck(_v, 17, 0, currVal_14); var currVal_15 = (_co.frequencyType === 2); _ck(_v, 19, 0, currVal_15); var currVal_25 = i1.ɵnov(_v, 31); _ck(_v, 23, 0, currVal_25); var currVal_26 = _co.inputTime; _ck(_v, 25, 0, currVal_26); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = ((((_co.id === 0) || (_co.id === 1)) || (_co.id === 5)) ? "Every" : "Day"); _ck(_v, 2, 0, currVal_0); var currVal_1 = ("occurrence" + _co.id); var tmp_2_0; var currVal_2 = ((((tmp_2_0 = i1.ɵnov(_v, 6).min) !== null) && (tmp_2_0 !== undefined)) ? tmp_2_0 : null); var currVal_3 = i1.ɵnov(_v, 11).is("untouched"); var currVal_4 = i1.ɵnov(_v, 11).is("touched"); var currVal_5 = i1.ɵnov(_v, 11).is("pristine"); var currVal_6 = i1.ɵnov(_v, 11).is("dirty"); var currVal_7 = i1.ɵnov(_v, 11).is("valid"); var currVal_8 = i1.ɵnov(_v, 11).is("invalid"); var currVal_9 = i1.ɵnov(_v, 11).is("pending"); _ck(_v, 3, 0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7, currVal_8, currVal_9); var currVal_16 = ("time-picker-input-top" + _co.id); var currVal_17 = i1.ɵnov(_v, 23).disabled; var currVal_18 = i1.ɵnov(_v, 27).is("untouched"); var currVal_19 = i1.ɵnov(_v, 27).is("touched"); var currVal_20 = i1.ɵnov(_v, 27).is("pristine"); var currVal_21 = i1.ɵnov(_v, 27).is("dirty"); var currVal_22 = i1.ɵnov(_v, 27).is("valid"); var currVal_23 = i1.ɵnov(_v, 27).is("invalid"); var currVal_24 = i1.ɵnov(_v, 27).is("pending"); _ck(_v, 21, 0, currVal_16, currVal_17, currVal_18, currVal_19, currVal_20, currVal_21, currVal_22, currVal_23, currVal_24); var currVal_27 = ("time-picker-top" + _co.id); _ck(_v, 30, 0, currVal_27); }); }
97
- export function View_FrequencyTopComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, "app-frequency-top", [], null, null, null, View_FrequencyTopComponent_0, RenderType_FrequencyTopComponent)), i1.ɵdid(1, 114688, null, 0, i6.FrequencyTopComponent, [], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }
98
- var FrequencyTopComponentNgFactory = i1.ɵccf("app-frequency-top", i6.FrequencyTopComponent, View_FrequencyTopComponent_Host_0, { occurrenceFirst: "occurrenceFirst", id: "id", inputTime: "inputTime", frequencyType: "frequencyType", yearlyDay: "yearlyDay" }, { valueChangedFirst: "valueChangedFirst", nextDisable: "nextDisable", timeChanged: "timeChanged", yearlyDateChanged: "yearlyDateChanged" }, []);
80
+ var pd_4 = ((_co.inputTime = $event) !== false);
81
+ ad = (pd_4 && ad);
82
+ } return ad; }, null, null)), i1.ɵdid(22, 16384, null, 0, i2.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i2.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵprd(1024, null, i2.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i2.DefaultValueAccessor]), i1.ɵdid(24, 671744, null, 0, i2.NgModel, [[8, null], [8, null], [8, null], [6, i2.NG_VALUE_ACCESSOR]], { model: [0, "model"] }, { update: "ngModelChange" }), i1.ɵprd(2048, null, i2.NgControl, null, [i2.NgModel]), i1.ɵdid(26, 16384, null, 0, i2.NgControlStatus, [[4, i2.NgControl]], null, null)], function (_ck, _v) { var _co = _v.component; var currVal_10 = "0"; _ck(_v, 6, 0, currVal_10); var currVal_11 = _co.occurrenceFirst; _ck(_v, 9, 0, currVal_11); var currVal_12 = (_co.frequencyType === 0); _ck(_v, 13, 0, currVal_12); var currVal_13 = (_co.frequencyType === 1); _ck(_v, 15, 0, currVal_13); var currVal_14 = (((_co.id !== 0) && (_co.id !== 1)) && (_co.id !== 5)); _ck(_v, 17, 0, currVal_14); var currVal_15 = (_co.frequencyType === 2); _ck(_v, 19, 0, currVal_15); var currVal_24 = _co.inputTime; _ck(_v, 24, 0, currVal_24); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = ((((_co.id === 0) || (_co.id === 1)) || (_co.id === 5)) ? "Every" : "Day"); _ck(_v, 2, 0, currVal_0); var currVal_1 = ("occurrence" + _co.id); var tmp_2_0; var currVal_2 = ((((tmp_2_0 = i1.ɵnov(_v, 6).min) !== null) && (tmp_2_0 !== undefined)) ? tmp_2_0 : null); var currVal_3 = i1.ɵnov(_v, 11).is("untouched"); var currVal_4 = i1.ɵnov(_v, 11).is("touched"); var currVal_5 = i1.ɵnov(_v, 11).is("pristine"); var currVal_6 = i1.ɵnov(_v, 11).is("dirty"); var currVal_7 = i1.ɵnov(_v, 11).is("valid"); var currVal_8 = i1.ɵnov(_v, 11).is("invalid"); var currVal_9 = i1.ɵnov(_v, 11).is("pending"); _ck(_v, 3, 0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7, currVal_8, currVal_9); var currVal_16 = ("time-picker-input-top" + _co.id); var currVal_17 = i1.ɵnov(_v, 26).is("untouched"); var currVal_18 = i1.ɵnov(_v, 26).is("touched"); var currVal_19 = i1.ɵnov(_v, 26).is("pristine"); var currVal_20 = i1.ɵnov(_v, 26).is("dirty"); var currVal_21 = i1.ɵnov(_v, 26).is("valid"); var currVal_22 = i1.ɵnov(_v, 26).is("invalid"); var currVal_23 = i1.ɵnov(_v, 26).is("pending"); _ck(_v, 21, 0, currVal_16, currVal_17, currVal_18, currVal_19, currVal_20, currVal_21, currVal_22, currVal_23); }); }
83
+ export function View_FrequencyTopComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, "app-frequency-top", [], null, null, null, View_FrequencyTopComponent_0, RenderType_FrequencyTopComponent)), i1.ɵdid(1, 114688, null, 0, i4.FrequencyTopComponent, [], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }
84
+ var FrequencyTopComponentNgFactory = i1.ɵccf("app-frequency-top", i4.FrequencyTopComponent, View_FrequencyTopComponent_Host_0, { occurrenceFirst: "occurrenceFirst", id: "id", inputTime: "inputTime", frequencyType: "frequencyType", yearlyDay: "yearlyDay" }, { valueChangedFirst: "valueChangedFirst", nextDisable: "nextDisable", timeChanged: "timeChanged", yearlyDateChanged: "yearlyDateChanged" }, []);
99
85
  export { FrequencyTopComponentNgFactory as FrequencyTopComponentNgFactory };
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LXRvcC5jb21wb25lbnQubmdmYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXRvcC9mcmVxdWVuY3ktdG9wLmNvbXBvbmVudC5uZ2ZhY3RvcnkudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktdG9wL2ZyZXF1ZW5jeS10b3AuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztnRUNlSSw2RUFBMEYsS0FBdkQsbUxBQWdEO2dFQUNuRiw2RUFBNkYsS0FBMUQscUxBQW1EO2dFQUN0Riw2RUFBd0QsS0FBVCwrQkFBRTtnRUFFakQsOEVBSWUsS0FIWCw2RUFBaUUsS0FBM0Qsd0NBQW9ELE1BQzFEOzs7Ozs7Ozs7Ozs7Ozs7Ozt3QkFBK047TUFBeko7O3dCQUF1QjtNQUFDOzt3QkFBaUM7TUFBL0gsbzJCQUErTixJQUMvTiw4RUFBZSxLQUFULCtCQUFFLG1EQURrSyxvQkFBTyxFQUFqTCxZQUErTixFQUFyRCxVQUFPLEdBQTNHLG9CQUF1QixZQUE3RixZQUErTixFQUF6SixVQUF1QixtREFEdkYsdUZBQW9ELEdBQ2pCLHVDQUE0QixNQUFyRSw0Y0FBK04sRUFBdEwsU0FBNEIsRUFBckUsc0ZBQStOO3VFQWpCdk8sa0dBeUJNLEtBeEJGLDZFQUFtRSxLQUE3RCxnQ0FBc0QsTUFDNUQ7Ozs7Ozs7Ozs7Ozs7Ozs7O3dCQU9DO01BSkQ7O3dCQUE2QjtNQUc3Qjs7d0JBQXlEO01BTnpELG8yQkFPQyxJQUVELHNMQUEwRixJQUMxRixzTEFBNkYsSUFDN0Ysc0xBQXdELElBRXhELHNMQUllLElBQ2Ysc0dBSU0sS0FIRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7d0JBQXFLO01BQWhIOzt3QkFBdUI7TUFBNUUsdXNCQUFxSyxJQUNySyw2RkFBNkIsS0FBWixtQ0FBUSxNQUN6QixxS0FBZ0ksWUFBM0U7O3dCQUFxQztNQUExRix1T0FBZ0ksbURBaEIzRixvQkFBTyxFQUxoRCxZQU9DLEVBRndDLFVBQU8sR0FGaEQsb0JBQTZCLGtCQUg3QixZQU9DLEVBSkQsVUFBNkIsR0FNdEIseUNBQTJCLEdBQWxDLGFBQTBGLEVBQW5GLFVBQTJCLEdBQzNCLHlDQUEyQixHQUFsQyxhQUE2RixFQUF0RixVQUEyQixHQUM1QixxRUFBd0MsSUFBOUMsYUFBd0QsRUFBbEQsVUFBd0MsR0FFaEMseUNBQTJCLEdBQXpDLGFBSWUsRUFKRCxVQUEyQixHQU0wRSwrQkFBMkIsR0FBMUksYUFBcUssRUFBdEQsVUFBMkIsR0FBckYsb0JBQXVCLFlBQTVFLGFBQXFLLEVBQWhILFVBQXVCLG1EQXBCMUUsbUhBQXNELEdBRzVELG1DQUF3QixNQUZ4Qiw0Y0FPQyxFQUxELFNBQXdCLEVBRnhCLHNGQU9DLEdBWXNCLCtDQUFpQyxNQUFwRCx1WUFBcUssRUFBbEosVUFBaUMsRUFBcEQsOEZBQXFLLEdBRTVJLHlDQUEyQixNQUFwRCxhQUFnSSxFQUF2RyxVQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGkwIGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaTAuQ29tcG9uZW50RmFjdG9yeTtcbiIsIjwhLS0gPHA+ZnJlcXVlbmN5LXRvcCB3b3JrcyE8L3A+IC0tPlxyXG5cclxuXHJcbjwhLS0gPHA+ZnJlcXVlbmN5LXRvcCB3b3JrcyE8L3A+IC0tPlxyXG48ZGl2IGNsYXNzPVwidG9wLXBhcnRcIj5cclxuICAgIDxzcGFuPnt7aWQgPT09IDAgfHwgaWQgPT09IDEgfHwgaWQgPT09IDUgPyAnRXZlcnknIDogJ0RheSd9fTwvc3Bhbj4gXHJcbiAgICA8aW5wdXQgXHJcbiAgICB0eXBlPVwibnVtYmVyXCIgXHJcbiAgICBbaWRdPVwiJ29jY3VycmVuY2UnICsgaWRcIiBcclxuICAgIFsobmdNb2RlbCldPVwib2NjdXJyZW5jZUZpcnN0XCIgXHJcbiAgICBjbGFzcz1cImRheS1jb3VudGVyXCIgXHJcbiAgICBvbmtleWRvd249XCJyZXR1cm4gZXZlbnQua2V5Q29kZSAhPT0gMTkwXCIgbWluPVwiMFwiIG9uaW5wdXQ9XCJ0aGlzLnZhbHVlID0gTWF0aC5hYnModGhpcy52YWx1ZSlcIlxyXG4gICAgKGZvY3Vzb3V0KSA9IFwiZW50ZXJWYWx1ZUZpcnN0KCRldmVudCwgJ29jY3VycmVuY2VGaXJzdCcpXCJcclxuICAgID5cclxuICAgIFxyXG4gICAgPHNwYW4gICpuZ0lmPVwiZnJlcXVlbmN5VHlwZSA9PT0gMFwiPiAge3sgb2NjdXJyZW5jZUZpcnN0ID4gMSA/ICdkYXlzJyA6ICdkYXknIH19IGJ5IDwvc3Bhbj5cclxuICAgIDxzcGFuICAqbmdJZj1cImZyZXF1ZW5jeVR5cGUgPT09IDFcIj4gIHt7IG9jY3VycmVuY2VGaXJzdCA+IDEgPyAnd2Vla3MnIDogJ3dlZWsnIH19IGJ5ICA8L3NwYW4+XHJcbiAgICA8c3BhbiAqbmdJZj1cImlkICE9PSAwICYmIGlkICE9PSAxICYmIGlkICE9PSA1XCI+Ynk8L3NwYW4+XHJcbiAgICBcclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmcmVxdWVuY3lUeXBlID09PSAyXCI+XHJcbiAgICAgICAgPHNwYW4+IHt7IG9jY3VycmVuY2VGaXJzdCA+IDEgPyAneWVhcnMnIDogJ3llYXInIH19IG9uIGRheTwvc3Bhbj4gICBcclxuICAgICAgICA8aW5wdXQgY2xhc3M9XCJkYXktY291bnRlclwiIHR5cGU9XCJudW1iZXJcIiBbaWRdPVwiJ29jY3VycmVuY2UtZGF5JyArIGlkXCIgWyhuZ01vZGVsKV09XCJ5ZWFybHlEYXlcIiAoZm9jdXNvdXQpPVwiZW50ZXJZZWFyRGF5KCRldmVudClcIiAgb25rZXlkb3duPVwicmV0dXJuIGV2ZW50LmtleUNvZGUgIT09IDE5MFwiIG1pbj1cIjBcIiBvbmlucHV0PVwidGhpcy52YWx1ZSA9IE1hdGguYWJzKHRoaXMudmFsdWUpXCIvPlxyXG4gICAgICAgIDxzcGFuPmJ5PC9zcGFuPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGltZS1waWNrZXJcIj5cclxuICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbaWRdPVwiJ3RpbWUtcGlja2VyLWlucHV0LXRvcCcraWRcIiBbKG5nTW9kZWwpXT1cImlucHV0VGltZVwiIHJlYWRvbmx5IGFyaWEtbGFiZWw9XCIxMmhyIGZvcm1hdFwiIFtuZ3hUaW1lcGlja2VyXT1cImRhaWx5VGltZVwiIHBsYWNlaG9sZGVyPVwiU2VsZWN0IFRpbWVcIj5cclxuICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTk1NTs8L2k+XHJcbiAgICAgICAgPG5neC1tYXRlcmlhbC10aW1lcGlja2VyIFtpZF09XCIndGltZS1waWNrZXItdG9wJytpZFwiICh0aW1lQ2hhbmdlZCk9XCJvblRpbWVDaGFuZ2VkKCRldmVudClcIiAjZGFpbHlUaW1lPjwvbmd4LW1hdGVyaWFsLXRpbWVwaWNrZXI+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG4iXX0=
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LXRvcC5jb21wb25lbnQubmdmYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXRvcC9mcmVxdWVuY3ktdG9wLmNvbXBvbmVudC5uZ2ZhY3RvcnkudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktdG9wL2ZyZXF1ZW5jeS10b3AuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Z0VDZUksNkVBQTBGLEtBQXZELG1MQUFnRDtnRUFDbkYsNkVBQTZGLEtBQTFELHFMQUFtRDtnRUFDdEYsNkVBQXdELEtBQVQsK0JBQUU7Z0VBRWpELDhFQUllLEtBSFgsNkVBQWlFLEtBQTNELHdDQUFvRCxNQUMxRDs7Ozs7Ozs7Ozs7Ozs7Ozs7d0JBQStOO01BQXpKOzt3QkFBdUI7TUFBQzs7d0JBQWlDO01BQS9ILG8yQkFBK04sSUFDL04sOEVBQWUsS0FBVCwrQkFBRSxtREFEa0ssb0JBQU8sRUFBakwsWUFBK04sRUFBckQsVUFBTyxHQUEzRyxvQkFBdUIsWUFBN0YsWUFBK04sRUFBekosVUFBdUIsbURBRHZGLHVGQUFvRCxHQUNqQix1Q0FBNEIsTUFBckUsNGNBQStOLEVBQXRMLFNBQTRCLEVBQXJFLHNGQUErTjt1RUFqQnZPLGtHQXlCTSxLQXhCRiw2RUFBbUUsS0FBN0QsZ0NBQXNELE1BQzVEOzs7Ozs7Ozs7Ozs7Ozs7Ozt3QkFPQztNQUpEOzt3QkFBNkI7TUFHN0I7O3dCQUF5RDtNQU56RCxvMkJBT0MsSUFFRCxzTEFBMEYsSUFDMUYsc0xBQTZGLElBQzdGLHNMQUF3RCxJQUV4RCxzTEFJZSxJQUNmLHFHQUlNLEtBSEY7Ozs7Ozs7Ozs7O3dCQUFpSDtNQUE1RDs7d0JBQXVCO01BQTVFLDRpQkFBaUgsaURBZDVFLG9CQUFPLEVBTGhELFlBT0MsRUFGd0MsVUFBTyxHQUZoRCxvQkFBNkIsa0JBSDdCLFlBT0MsRUFKRCxVQUE2QixHQU10Qix5Q0FBMkIsR0FBbEMsYUFBMEYsRUFBbkYsVUFBMkIsR0FDM0IseUNBQTJCLEdBQWxDLGFBQTZGLEVBQXRGLFVBQTJCLEdBQzVCLHFFQUF3QyxJQUE5QyxhQUF3RCxFQUFsRCxVQUF3QyxHQUVoQyx5Q0FBMkIsR0FBekMsYUFJZSxFQUpELFVBQTJCLEdBTWdCLG9CQUF1QixZQUE1RSxhQUFpSCxFQUE1RCxVQUF1QixtREFwQjFFLG1IQUFzRCxHQUc1RCxtQ0FBd0IsTUFGeEIsNGNBT0MsRUFMRCxTQUF3QixFQUZ4QixzRkFPQyxHQVlzQiwrQ0FBaUMsTUFBcEQsNFZBQWlILEVBQTlGLFVBQWlDLEVBQXBELGtGQUFpSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGkwIGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaTAuQ29tcG9uZW50RmFjdG9yeTtcbiIsIjwhLS0gPHA+ZnJlcXVlbmN5LXRvcCB3b3JrcyE8L3A+IC0tPlxyXG5cclxuXHJcbjwhLS0gPHA+ZnJlcXVlbmN5LXRvcCB3b3JrcyE8L3A+IC0tPlxyXG48ZGl2IGNsYXNzPVwidG9wLXBhcnRcIj5cclxuICAgIDxzcGFuPnt7aWQgPT09IDAgfHwgaWQgPT09IDEgfHwgaWQgPT09IDUgPyAnRXZlcnknIDogJ0RheSd9fTwvc3Bhbj5cclxuICAgIDxpbnB1dFxyXG4gICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICBbaWRdPVwiJ29jY3VycmVuY2UnICsgaWRcIlxyXG4gICAgWyhuZ01vZGVsKV09XCJvY2N1cnJlbmNlRmlyc3RcIlxyXG4gICAgY2xhc3M9XCJkYXktY291bnRlclwiXHJcbiAgICBvbmtleWRvd249XCJyZXR1cm4gZXZlbnQua2V5Q29kZSAhPT0gMTkwXCIgbWluPVwiMFwiIG9uaW5wdXQ9XCJ0aGlzLnZhbHVlID0gTWF0aC5hYnModGhpcy52YWx1ZSlcIlxyXG4gICAgKGZvY3Vzb3V0KSA9IFwiZW50ZXJWYWx1ZUZpcnN0KCRldmVudCwgJ29jY3VycmVuY2VGaXJzdCcpXCJcclxuICAgID5cclxuXHJcbiAgICA8c3BhbiAgKm5nSWY9XCJmcmVxdWVuY3lUeXBlID09PSAwXCI+ICB7eyBvY2N1cnJlbmNlRmlyc3QgPiAxID8gJ2RheXMnIDogJ2RheScgfX0gYnkgPC9zcGFuPlxyXG4gICAgPHNwYW4gICpuZ0lmPVwiZnJlcXVlbmN5VHlwZSA9PT0gMVwiPiAge3sgb2NjdXJyZW5jZUZpcnN0ID4gMSA/ICd3ZWVrcycgOiAnd2VlaycgfX0gYnkgIDwvc3Bhbj5cclxuICAgIDxzcGFuICpuZ0lmPVwiaWQgIT09IDAgJiYgaWQgIT09IDEgJiYgaWQgIT09IDVcIj5ieTwvc3Bhbj5cclxuXHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZnJlcXVlbmN5VHlwZSA9PT0gMlwiPlxyXG4gICAgICAgIDxzcGFuPiB7eyBvY2N1cnJlbmNlRmlyc3QgPiAxID8gJ3llYXJzJyA6ICd5ZWFyJyB9fSBvbiBkYXk8L3NwYW4+XHJcbiAgICAgICAgPGlucHV0IGNsYXNzPVwiZGF5LWNvdW50ZXJcIiB0eXBlPVwibnVtYmVyXCIgW2lkXT1cIidvY2N1cnJlbmNlLWRheScgKyBpZFwiIFsobmdNb2RlbCldPVwieWVhcmx5RGF5XCIgKGZvY3Vzb3V0KT1cImVudGVyWWVhckRheSgkZXZlbnQpXCIgIG9ua2V5ZG93bj1cInJldHVybiBldmVudC5rZXlDb2RlICE9PSAxOTBcIiBtaW49XCIwXCIgb25pbnB1dD1cInRoaXMudmFsdWUgPSBNYXRoLmFicyh0aGlzLnZhbHVlKVwiLz5cclxuICAgICAgICA8c3Bhbj5ieTwvc3Bhbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPGRpdiBjbGFzcz1cInRpbWUtcGlja2VyXCI+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgW2lkXT1cIid0aW1lLXBpY2tlci1pbnB1dC10b3AnK2lkXCIgWyhuZ01vZGVsKV09XCJpbnB1dFRpbWVcIiByZWFkb25seSAgcGxhY2Vob2xkZXI9XCJTZWxlY3QgVGltZVwiPlxyXG4gICAgICAgIDwhLS0gPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5NTU7PC9pPiAtLT5cclxuICAgICAgICA8IS0tIDxuZ3gtbWF0ZXJpYWwtdGltZXBpY2tlciBbaWRdPVwiJ3RpbWUtcGlja2VyLXRvcCcraWRcIiAodGltZUNoYW5nZWQpPVwib25UaW1lQ2hhbmdlZCgkZXZlbnQpXCIgI2RhaWx5VGltZT48L25neC1tYXRlcmlhbC10aW1lcGlja2VyPiAtLT5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbiJdfQ==
@@ -8,26 +8,18 @@ export class GroupUsersListComponent {
8
8
  this.groupsList = [];
9
9
  this.selectedUsers = [];
10
10
  this.userIdKey = '';
11
- this.groupIdKey = '';
12
11
  this.openedFrom = '';
13
12
  this.saveSelectedList = new EventEmitter();
14
13
  this.closeUsersList = new EventEmitter();
15
- this.selectedGroups = [];
16
- this.assigneeGroupsList = [];
17
14
  this.search = '';
18
15
  this.selectedIds = [];
19
16
  this.animation = false;
20
- this.selectedGroupIds = [];
21
- this.selectedgroupList = [];
22
- this.currentTab = 'USER';
23
17
  }
24
18
  ngOnChanges() {
19
+ console.log("user list ", this.usersList);
25
20
  this.selectedIds = this.selectedUsers.map((ele) => { if (ele[this.userIdKey]) {
26
21
  return ele[this.userIdKey];
27
22
  } });
28
- this.selectedGroupIds = this.selectedGroups.map((ele) => { if (ele[this.groupIdKey]) {
29
- return ele[this.groupIdKey];
30
- } });
31
23
  }
32
24
  ngOnInit() {
33
25
  this.animation = true;
@@ -50,11 +42,6 @@ export class GroupUsersListComponent {
50
42
  this.selectedIds.splice(index, 1);
51
43
  this.setList();
52
44
  }
53
- deleteGroupEvent(event) {
54
- const groupindex = this.selectedGroupIds.findIndex((element) => element == event['group_id']);
55
- this.selectedGroupIds.splice(groupindex, 1);
56
- this.setgroupList();
57
- }
58
45
  selectAll(mode) {
59
46
  if (mode) {
60
47
  const list = [...this.usersList];
@@ -68,21 +55,6 @@ export class GroupUsersListComponent {
68
55
  }
69
56
  this.setList();
70
57
  }
71
- selectAllGroups(mode) {
72
- if (mode) {
73
- const grouplist = [...this.assigneeGroupsList];
74
- this.selectedGroupIds = [];
75
- grouplist.forEach(element => {
76
- this.selectedGroupIds.push(element[this.groupIdKey]);
77
- });
78
- this.selectedGroups = grouplist;
79
- }
80
- else {
81
- this.selectedGroupIds = [];
82
- this.selectedGroups = [];
83
- }
84
- this.setgroupList();
85
- }
86
58
  validationCheck(isChecked) {
87
59
  if (isChecked) {
88
60
  this.snackbar.show('You can select a maximum of 19 users.', 'alert');
@@ -99,34 +71,12 @@ export class GroupUsersListComponent {
99
71
  });
100
72
  this.selectedUsers = data;
101
73
  }
102
- setgroupList() {
103
- const data = [];
104
- const groupslist = cloneDeep(this.assigneeGroupsList);
105
- const selectedGroupIds = cloneDeep(this.selectedGroupIds);
106
- groupslist.forEach((element) => {
107
- if (selectedGroupIds.includes(element[this.groupIdKey])) {
108
- data.push(element);
109
- }
110
- });
111
- this.selectedGroups = data;
112
- }
113
74
  checkSelectAll() {
114
75
  const data = this.usersList.every((user) => this.selectedIds.includes(user[this.userIdKey]));
115
76
  return data;
116
77
  }
117
- checkselectAllgroups() {
118
- const data = this.assigneeGroupsList.every((group) => this.selectedGroupIds.includes(group[this.groupIdKey]));
119
- return data;
120
- }
121
78
  save(selectedIds) {
122
- let selectedData;
123
- if (this.assigneeGroupsList.length) {
124
- selectedData = { users: this.selectedIds, groups: this.selectedGroupIds };
125
- }
126
- else {
127
- selectedData = selectedIds;
128
- }
129
- this.saveSelectedList.emit(selectedData);
79
+ this.saveSelectedList.emit(selectedIds);
130
80
  }
131
81
  close() {
132
82
  this.closeUsersList.emit();
@@ -147,51 +97,30 @@ export class GroupUsersListComponent {
147
97
  }
148
98
  this.setList();
149
99
  }
150
- selectGroupElement(data, mode) {
151
- if (mode) {
152
- this.selectedgroupList.push(data);
153
- this.selectedGroupIds.push(data[this.groupIdKey]);
154
- }
155
- else {
156
- const index = this.selectedgroupList.findIndex((ele) => ele[this.groupIdKey] === data[this.groupIdKey]);
157
- this.selectedgroupList.splice(index, 1);
158
- const idIndex = this.selectedGroupIds.findIndex(ele => ele === data[this.groupIdKey]);
159
- this.selectedGroupIds.splice(idIndex, 1);
160
- }
161
- this.setgroupList();
162
- }
163
100
  checkGroupList(groupIds) {
164
101
  return groupIds.every((id) => this.selectedIds.includes(id));
165
102
  }
166
103
  hideGroup(groupIds) {
167
104
  return this.usersList.every((user) => !groupIds.includes(user[this.userIdKey]));
168
105
  }
169
- switchTab(tab) {
170
- this.currentTab = tab;
171
- this.search = '';
172
- }
173
106
  }
174
107
  GroupUsersListComponent.decorators = [
175
108
  { type: Component, args: [{
176
109
  selector: 'app-group-users-list',
177
- template: "<div class=\"add-risk-group-user-list\" [class.animate]=\"animation\">\r\n <div class=\"add-risk-group-user-list-head\">\r\n <h3 class=\"add-risk-group-user-list-title\">Select User(s)</h3>\r\n <!-- <button class=\"add-risk-group-user-list-close\" (click)=\"close()\">\r\n <i class=\"icons\">&#xe90d;</i>\r\n </button> -->\r\n </div>\r\n <div class=\"add-risk-group-user-list-body\">\r\n <div class=\"search-block\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input type=\"text\" [(ngModel)]=\"search\" placeholder=\"{{currentTab === 'USER' ? 'Search User(s)' :'Search User Group(s)'}} \" />\r\n </div>\r\n <div class=\"add-risk-group-user-list-tab vx-d-flex vx-align-center vx-mt-1 vx-mb-2\" *ngIf=\"groupsEnabled\">\r\n <button (click)=\"switchTab('USER')\" class=\"tab-btn vx-fs-11 vx-fw-600 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\" [class.active]=\"currentTab === 'USER'\">USERS \r\n <span class=\"vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-center vx-ml-2 vx-lh-4\">{{ usersList?.length}}</span></button>\r\n <button (click)=\"switchTab('GROUP')\" class=\"tab-btn vx-fs-11 vx-fw-600 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\" [class.active]=\"currentTab === 'GROUP'\">USER GROUPS \r\n <span class=\"vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-center vx-ml-2 vx-lh-4\">{{groupsList?.length}}</span></button>\r\n </div>\r\n <ng-container *ngIf=\"!groupsEnabled\">\r\n <ng-container *ngIf=\"(usersList | filter:search) as userlist\">\r\n <ng-container *ngIf=\"(groupsList | filter:search) as grouplist\">\r\n <div class=\"body-top\" *ngIf=\"( userlist?.length > 0 || userlist?.length > 0 && grouplist?.length > 0) && search?.trim()?.length === 0\">\r\n <app-cs-checkbox\r\n *ngIf=\"(openedFrom === 'RISK_TREATMENT' && usersList?.length < 19) || openedFrom !== 'RISK_TREATMENT'\"\r\n [ngValue]=\"checkSelectAll()\" (ngValueChange)=\"selectAll($event)\">\r\n <strong>\r\n {{checkSelectAll() ? 'Deselect All' : 'Select All'}}\r\n </strong>\r\n </app-cs-checkbox>\r\n </div>\r\n <div class=\"list-block\">\r\n \r\n <ul class=\"group-user-list\" *ngIf=\"grouplist?.length > 0\">\r\n <ng-container *ngFor=\"let group of grouplist\">\r\n <li *ngIf=\"!hideGroup(group.userIds)\">\r\n <app-cs-checkbox [ngValue]=\"checkGroupList(group.userIds) && group.userIds.length !== 0\"\r\n (ngValueChange)=\"selectGroup(group.userIds,$event)\"\r\n [disabled]=\"openedFrom === 'RISK_TREATMENT' && (selectedUsers.length + group.userIds.length) > 19 && !checkGroupList(group.userIds) || group.userIds.length === 0\"\r\n (click)=\"validationCheck((openedFrom === 'RISK_TREATMENT' && (selectedUsers.length + group.userIds.length) > 19 && !checkGroupList(group.userIds)))\">\r\n <span class=\"name\">{{group.groupName}}<span\r\n class=\"counter\">{{(group.userIds.length>1)?\r\n group.userIds.length+' USERS':group.userIds.length+' USER' }}</span></span>\r\n </app-cs-checkbox>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n <ul class=\"group-user-list\" *ngIf=\"userlist?.length > 0\">\r\n <li *ngFor=\"let user of userlist\">\r\n <app-cs-checkbox [ngValue]=\"selectedIds.includes(user[userIdKey])\"\r\n (ngValueChange)=\"selectUser(user[userIdKey],$event)\"\r\n [disabled]=\"openedFrom === 'RISK_TREATMENT' && selectedUsers.length === 19 && !(selectedIds.includes(user[userIdKey]))\"\r\n (click)=\"validationCheck((openedFrom === 'RISK_TREATMENT' && selectedUsers.length === 19 && !(selectedIds.includes(user[userIdKey]))))\">\r\n <span class=\"name\" [appTooltip]=\"user.employee_email\" placement=\"bottom-left\" delay=\"0\"\r\n [tooltipMandatory]=\"true\">{{user.employee_name}}</span>\r\n </app-cs-checkbox>\r\n </li>\r\n </ul>\r\n <app-no-data *ngIf=\"userlist?.length === 0 && grouplist?.length === 0\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"'No Users Found'\"></app-no-data>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n \r\n <ng-container *ngIf=\"currentTab === 'USER' && groupsEnabled\">\r\n <ng-container *ngIf=\"(usersList | filter:search) as userlist\">\r\n <div class=\"body-top\" *ngIf=\"( userlist?.length > 0) && search?.trim()?.length === 0\">\r\n <app-cs-checkbox\r\n *ngIf=\"(openedFrom === 'RISK_TREATMENT' && usersList?.length < 19) || openedFrom !== 'RISK_TREATMENT'\"\r\n [ngValue]=\"checkSelectAll()\" (ngValueChange)=\"selectAll($event)\">\r\n <strong>\r\n {{checkSelectAll() ? 'Deselect All' : 'Select All'}}\r\n </strong>\r\n </app-cs-checkbox>\r\n </div>\r\n <!-- when pagination was show then with-pagination this class was true -->\r\n <div class=\"list-block\" [class.with-pagination]=\"false\">\r\n <ul class=\"group-user-list\" *ngIf=\"userlist?.length > 0\">\r\n <li *ngFor=\"let user of userlist\">\r\n <app-cs-checkbox [ngValue]=\"selectedIds.includes(user[userIdKey])\"\r\n (ngValueChange)=\"selectUser(user[userIdKey],$event)\"\r\n [disabled]=\"openedFrom === 'RISK_TREATMENT' && selectedUsers.length === 19 && !(selectedIds.includes(user[userIdKey]))\"\r\n (click)=\"validationCheck((openedFrom === 'RISK_TREATMENT' && selectedUsers.length === 19 && !(selectedIds.includes(user[userIdKey]))))\">\r\n <span class=\"name\" [appTooltip]=\"user.employee_email\" placement=\"bottom-left\" delay=\"0\"\r\n [tooltipMandatory]=\"true\">{{user.employee_name}}</span>\r\n </app-cs-checkbox>\r\n </li>\r\n </ul>\r\n <app-no-data *ngIf=\"userlist?.length === 0\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"'No Users Found'\"></app-no-data>\r\n </div>\r\n </ng-container> \r\n </ng-container>\r\n <ng-container *ngIf=\"currentTab === 'GROUP' && groupsEnabled\" >\r\n <ng-container *ngIf=\"(assigneeGroupsList | filter:search) as grouplist\">\r\n <div class=\"body-top\" *ngIf=\"grouplist?.length > 0 && search?.trim()?.length === 0\">\r\n <app-cs-checkbox [ngValue]=\"checkselectAllgroups()\" (ngValueChange)=\"selectAllGroups($event)\">\r\n <strong>\r\n {{checkselectAllgroups() ? 'Deselect All' : 'Select All'}}\r\n </strong>\r\n </app-cs-checkbox>\r\n </div>\r\n <div class=\"list-block\" [class.with-pagination]=\"false\">\r\n <ul class=\"group-user-list\" *ngIf=\"grouplist?.length > 0\">\r\n <ng-container>\r\n <li *ngFor=\"let group of grouplist; let i = index\">\r\n <app-cs-checkbox [ngValue]=\"selectedGroupIds.includes(group[groupIdKey])\"\r\n (ngValueChange)=\"selectGroupElement(group,$event)\"\r\n [disabled]=\"(openedFrom === 'RISK_TREATMENT' && (group.member_ids.length) > 19 && !checkGroupList(group))\"\r\n (click)=\"validationCheck((openedFrom === 'RISK_TREATMENT' && (group.member_ids.length) > 19 && !checkGroupList(group)))\">\r\n <span class=\"name\">{{group.group_name}}\r\n <span class=\"counter\">{{group[\"member_count\"]}} {{group?.member_count > 1 ? 'USERS' :'USER'}}</span>\r\n </span>\r\n </app-cs-checkbox>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n <app-no-data *ngIf=\"grouplist?.length === 0\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"'No Groups Found'\"></app-no-data>\r\n </div> \r\n </ng-container>\r\n </ng-container>\r\n\r\n </div>\r\n <app-floating-bar [selectedData]=\"selectedUsers\" [selectedGroups]=\"selectedGroups\" [displayElementKey]=\"'employee_name'\" [elementId]=\"userIdKey\"\r\n [singularText]=\"'User selected'\" [pluralText]=\"'Users selected'\" (closeEvent)=\"save(selectedIds)\"\r\n (closeList)=\"close()\" (deleteEvent)=\"deleteEvent($event)\" (deleteGroupEvent)=\"deleteGroupEvent($event)\" [groupsEnabled]=\"groupsEnabled\"\r\n [isDisabled]=\"(groupsList?.length + usersList?.length) === 0 || selectedUsers?.length === 0 && selectedGroups?.length === 0\">\r\n </app-floating-bar>\r\n</div>",
178
- styles: ["@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\");::ng-deep .add-risk-group-user-list{border-top:3px solid #1e5dd3;position:fixed;top:0;right:500px;bottom:0;left:0}::ng-deep .add-risk-group-user-list-head{background:#fbfbfb;height:42px;padding:0 18px;display:flex;justify-content:space-between;align-items:center;border:1px solid #f1f1f1;border-right:none}::ng-deep .add-risk-group-user-list-title{color:#161b2f;font-size:15px;font-weight:500;margin:0!important;padding:0;line-height:21px}::ng-deep .add-risk-group-user-list-close{background:transparent;border:none;outline:none;cursor:pointer;color:#000;font-size:12px;display:inline-block;padding:0}::ng-deep .add-risk-group-user-list-tab{border-bottom:1px solid #f1f1f1}::ng-deep .add-risk-group-user-list-tab button.tab-btn{background:transparent;border-radius:0;border:none;border-bottom:.1875rem solid transparent;margin-right:2.5rem!important}::ng-deep .add-risk-group-user-list-tab button.tab-btn span{border-radius:1.25rem;color:#74757680;min-width:1.5rem}::ng-deep .add-risk-group-user-list-tab button.active{pointer-events:none}::ng-deep .add-risk-group-user-list-tab button.active.tab-btn{border-color:#1e5dd3;color:#1e5dd3}::ng-deep .add-risk-group-user-list-tab button.active.tab-btn span{background:#1e5dd3;color:#fff;font-weight:500}::ng-deep .add-risk-group-user-list-body{padding:24px 40px 24px 36px;height:calc(100vh - 112px)}::ng-deep .add-risk-group-user-list-body.have-user{height:calc(100vh - 110px)}::ng-deep .add-risk-group-user-list-body .search-block{position:relative}::ng-deep .add-risk-group-user-list-body .search-block input{height:44px;line-height:24px;padding:10px 15px 10px 40px;outline:none;border:1px solid #7475763f;border-radius:4px;width:100%;font-size:14px;color:#747576}::ng-deep .add-risk-group-user-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .add-risk-group-user-list-body .search-block i{position:absolute;left:17px;font-size:12px;font-weight:400;top:17px;pointer-events:none;color:#f1f1f1}::ng-deep .add-risk-group-user-list-body app-pagination .wk-pagination-sec-ds{padding-top:0!important}::ng-deep .add-risk-group-user-list-body .body-top{display:flex;justify-content:space-between}::ng-deep .add-risk-group-user-list-body .body-top app-cs-checkbox{display:flex}::ng-deep .add-risk-group-user-list-body .body-top app-cs-checkbox label span.value strong{color:#161b2f;font-size:12px;font-weight:600;white-space:nowrap}::ng-deep .add-risk-group-user-list-body .body-top app-cs-checkbox label span.value span.name span.counter{background:#f1f1f1;border-radius:.125rem;color:#042e7d;font-size:9px;font-weight:600;line-height:12px;text-transform:uppercase;padding:0 4px;margin-left:8px}::ng-deep .add-risk-group-user-list-body .list-block{height:calc(100vh - 244px);overflow:hidden;overflow-y:auto}::ng-deep .add-risk-group-user-list-body .list-block::-webkit-scrollbar-track{background-color:transparent}::ng-deep .add-risk-group-user-list-body .list-block::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::ng-deep .add-risk-group-user-list-body .list-block::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .add-risk-group-user-list-body .list-block.with-pagination{height:calc(100vh - 280px)}::ng-deep .add-risk-group-user-list-body .list-block.full-height{max-height:calc(100vh - 180px)}::ng-deep .add-risk-group-user-list-body .list-block app-no-data{height:calc(100vh - 240px)}::ng-deep .add-risk-group-user-list-body ul{padding:0;margin:0}::ng-deep .add-risk-group-user-list-body ul.group-user-list{display:flex;align-items:flex-start;flex-wrap:wrap}::ng-deep .add-risk-group-user-list-body ul.group-user-list li{width:50%;padding:16px 0 0;list-style:none}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox,::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-radio{display:flex}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox label,::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-radio label{width:100%}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox label span.value,::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-radio label span.value{width:auto;justify-content:flex-start;flex-wrap:wrap}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox label span.value span.name,::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-radio label span.value span.name{color:#161b2f;font-weight:400;line-height:20px;display:block;width:100%;font-size:12px}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox label span.value span.position,::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-radio label span.value span.position{border-radius:2px;display:inline-flex;height:12px;align-items:center;padding:0 2px;text-transform:uppercase;font-size:9px;line-height:12px;font-weight:500}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox label span.value span.position.admin,::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-radio label span.value span.position.admin{background:#fff9e6;color:#f2bf19}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox label span.value span.position.key-admin,::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-radio label span.value span.position.key-admin{background:#dff2e1;color:#34aa44}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox label span.value span.position.manager,::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-radio label span.value span.position.manager{color:#4681ef;background:#d4e2fc}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox label span.value span.position.executive,::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-radio label span.value span.position.executive{color:#747576;background:#f1f1f1}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox{display:flex}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox label span.value span.name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;padding-right:24px}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox label span.value span.name span.counter{background:#f1f1f1;border-radius:.125rem;color:#042e7d;font-size:9px;font-weight:600;line-height:12px;text-transform:uppercase;padding:0 4px;margin-left:8px}::ng-deep .add-risk-group-user-list-body app-no-data{display:block;height:calc(100% - 100px)}::ng-deep .add-risk-group-user-list.animate{-webkit-animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}@-webkit-keyframes animate-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes animate-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}"]
110
+ template: "<div class=\"add-risk-group-user-list\" [class.animate]=\"animation\">\r\n <div class=\"add-risk-group-user-list-head\">\r\n <h3 class=\"add-risk-group-user-list-title\">Select User(s)</h3>\r\n <!-- <button class=\"add-risk-group-user-list-close\" (click)=\"close()\">\r\n <i class=\"icons\">&#xe90d;</i>\r\n </button> -->\r\n </div>\r\n <div class=\"add-risk-group-user-list-body\">\r\n <div class=\"search-block\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input type=\"text\" [(ngModel)]=\"search\" placeholder=\"Search User\" />\r\n </div>\r\n <ng-container *ngIf=\"(usersList | filter:search) as userlist\">\r\n <ng-container *ngIf=\"(groupsList | filter:search) as grouplist\">\r\n <div class=\"body-top\" *ngIf=\"( userlist?.length > 0 || userlist?.length > 0 && grouplist?.length > 0) && search?.trim()?.length === 0\">\r\n <app-cs-checkbox\r\n *ngIf=\"(openedFrom === 'RISK_TREATMENT' && usersList?.length < 19) || openedFrom !== 'RISK_TREATMENT'\"\r\n [ngValue]=\"checkSelectAll()\" (ngValueChange)=\"selectAll($event)\">\r\n <strong>\r\n {{checkSelectAll() ? 'Deselect All' : 'Select All'}}\r\n </strong>\r\n </app-cs-checkbox>\r\n </div>\r\n <div class=\"list-block\">\r\n\r\n <ul class=\"group-user-list\" *ngIf=\"grouplist?.length > 0\">\r\n <ng-container *ngFor=\"let group of grouplist\">\r\n <li *ngIf=\"!hideGroup(group.userIds)\">\r\n <app-cs-checkbox [ngValue]=\"checkGroupList(group.userIds) && group.userIds.length !== 0\"\r\n (ngValueChange)=\"selectGroup(group.userIds,$event)\"\r\n [disabled]=\"openedFrom === 'RISK_TREATMENT' && (selectedUsers.length + group.userIds.length) > 19 && !checkGroupList(group.userIds) || group.userIds.length === 0\"\r\n (click)=\"validationCheck((openedFrom === 'RISK_TREATMENT' && (selectedUsers.length + group.userIds.length) > 19 && !checkGroupList(group.userIds)))\">\r\n <span class=\"name\">{{group.groupName}}<span\r\n class=\"counter\">{{(group.userIds.length>1)?\r\n group.userIds.length+' USERS':group.userIds.length+' USER' }}</span></span>\r\n </app-cs-checkbox>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n <ul class=\"group-user-list\" *ngIf=\"userlist?.length > 0\">\r\n <li *ngFor=\"let user of userlist\">\r\n <app-cs-checkbox [ngValue]=\"selectedIds.includes(user[userIdKey])\"\r\n (ngValueChange)=\"selectUser(user[userIdKey],$event)\"\r\n [disabled]=\"openedFrom === 'RISK_TREATMENT' && selectedUsers.length === 19 && !(selectedIds.includes(user[userIdKey]))\"\r\n (click)=\"validationCheck((openedFrom === 'RISK_TREATMENT' && selectedUsers.length === 19 && !(selectedIds.includes(user[userIdKey]))))\">\r\n <span class=\"name\" [appTooltip]=\"user.employee_email\" placement=\"bottom-left\" delay=\"0\"\r\n [tooltipMandatory]=\"true\">{{user.employee_name}}</span>\r\n </app-cs-checkbox>\r\n </li>\r\n </ul>\r\n <app-no-data *ngIf=\"userlist?.length === 0 && grouplist?.length === 0\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"'No Users Found'\"></app-no-data>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n </div>\r\n <app-floating-bar [selectedData]=\"selectedUsers\" [displayElementKey]=\"'employee_name'\" [elementId]=\"userIdKey\"\r\n [singularText]=\"'User selected'\" [pluralText]=\"'Users selected'\" (closeEvent)=\"save(selectedIds)\"\r\n (closeList)=\"close()\" (deleteEvent)=\"deleteEvent($event)\"\r\n [isDisabled]=\"(groupsList?.length + usersList?.length) === 0 || selectedUsers?.length === 0\">\r\n </app-floating-bar>\r\n</div>",
111
+ styles: ["@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");::ng-deep .add-risk-group-user-list{border-top:3px solid #1e5dd3;position:fixed;top:0;right:500px;bottom:0;left:0}::ng-deep .add-risk-group-user-list-head{background:#fbfbfb;height:42px;padding:0 18px;display:flex;justify-content:space-between;align-items:center;border:1px solid #f1f1f1;border-right:none}::ng-deep .add-risk-group-user-list-title{color:#161b2f;font-size:15px;font-weight:500;margin:0!important;padding:0;line-height:21px}::ng-deep .add-risk-group-user-list-close{background:transparent;border:none;outline:none;cursor:pointer;color:#000;font-size:12px;display:inline-block;padding:0}::ng-deep .add-risk-group-user-list-body{padding:24px 40px 24px 36px;height:calc(100vh - 112px)}::ng-deep .add-risk-group-user-list-body.have-user{height:calc(100vh - 110px)}::ng-deep .add-risk-group-user-list-body .search-block{position:relative}::ng-deep .add-risk-group-user-list-body .search-block input{height:44px;line-height:24px;padding:10px 15px 10px 40px;outline:none;border:1px solid #7475763f;border-radius:4px;width:100%;font-size:14px;color:#747576}::ng-deep .add-risk-group-user-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .add-risk-group-user-list-body .search-block i{position:absolute;left:17px;font-size:12px;font-weight:400;top:17px;pointer-events:none;color:#f1f1f1}::ng-deep .add-risk-group-user-list-body .body-top{display:flex;justify-content:space-between;padding:16px 0 0}::ng-deep .add-risk-group-user-list-body .body-top app-cs-checkbox{display:flex}::ng-deep .add-risk-group-user-list-body .body-top app-cs-checkbox label span.value strong{color:#161b2f;font-size:14px;font-weight:600;white-space:nowrap}::ng-deep .add-risk-group-user-list-body .body-top app-cs-checkbox label span.value span.name span.counter{padding:0 7px;color:#747576;background:#f1f1f1;min-height:20px;border-radius:2px;display:inline-flex;margin-left:4px}::ng-deep .add-risk-group-user-list-body .list-block{max-height:calc(100vh - 240px);min-height:calc(100vh - 240px);overflow:auto}::ng-deep .add-risk-group-user-list-body .list-block::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::ng-deep .add-risk-group-user-list-body .list-block::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::ng-deep .add-risk-group-user-list-body .list-block::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .add-risk-group-user-list-body .list-block.full-height{max-height:calc(100vh - 180px)}::ng-deep .add-risk-group-user-list-body .list-block app-no-data{height:calc(100vh - 240px)}::ng-deep .add-risk-group-user-list-body ul{padding:0;margin:0}::ng-deep .add-risk-group-user-list-body ul.group-user-list{display:flex;align-items:flex-start;flex-wrap:wrap}::ng-deep .add-risk-group-user-list-body ul.group-user-list li{width:50%;padding:16px 0 0;list-style:none}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox,::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-radio{display:flex}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox label,::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-radio label{width:100%}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox label span.value,::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-radio label span.value{width:auto;justify-content:flex-start;flex-wrap:wrap}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox label span.value span.name,::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-radio label span.value span.name{color:#161b2f;font-weight:400;line-height:20px;display:block;width:100%;font-size:13px}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox label span.value span.position,::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-radio label span.value span.position{border-radius:2px;display:inline-flex;height:12px;align-items:center;padding:0 2px;text-transform:uppercase;font-size:9px;line-height:12px;font-weight:500}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox label span.value span.position.admin,::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-radio label span.value span.position.admin{background:#fff9e6;color:#f2bf19}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox label span.value span.position.key-admin,::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-radio label span.value span.position.key-admin{background:#dff2e1;color:#34aa44}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox label span.value span.position.manager,::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-radio label span.value span.position.manager{color:#4681ef;background:#d4e2fc}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox label span.value span.position.executive,::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-radio label span.value span.position.executive{color:#747576;background:#f1f1f1}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox{display:flex}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox label span.value span.name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;padding-right:24px}::ng-deep .add-risk-group-user-list-body ul.group-user-list li app-cs-checkbox label span.value span.name span.counter{padding:0 7px;color:#747576;background:#f1f1f1;min-height:20px;border-radius:2px;display:inline-flex;margin-left:4px}::ng-deep .add-risk-group-user-list-body app-no-data{display:block;height:calc(100% - 100px)}::ng-deep .add-risk-group-user-list.animate{-webkit-animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}@-webkit-keyframes animate-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes animate-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}"]
179
112
  },] }
180
113
  ];
181
114
  GroupUsersListComponent.ctorParameters = () => [
182
115
  { type: SnackBarService }
183
116
  ];
184
117
  GroupUsersListComponent.propDecorators = {
185
- groupsEnabled: [{ type: Input }],
186
118
  usersList: [{ type: Input }],
187
119
  groupsList: [{ type: Input }],
188
120
  selectedUsers: [{ type: Input }],
189
121
  userIdKey: [{ type: Input }],
190
- groupIdKey: [{ type: Input }],
191
122
  openedFrom: [{ type: Input }],
192
123
  saveSelectedList: [{ type: Output }],
193
- closeUsersList: [{ type: Output }],
194
- selectedGroups: [{ type: Input }],
195
- assigneeGroupsList: [{ type: Input }]
124
+ closeUsersList: [{ type: Output }]
196
125
  };
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtdXNlcnMtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2dyb3VwLXVzZXJzLWxpc3QvZ3JvdXAtdXNlcnMtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFNbkMsTUFBTSxPQUFPLHVCQUF1QjtJQWtCbEMsWUFBb0IsUUFBeUI7UUFBekIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFoQnBDLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixlQUFVLEdBQVUsRUFBRSxDQUFDO1FBQ3ZCLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ25CLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZCxlQUFVLEdBQUUsRUFBRSxDQUFDO1FBQ2hCLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDZixxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3RDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNyQyxtQkFBYyxHQUFTLEVBQUUsQ0FBQztRQUMxQix1QkFBa0IsR0FBUyxFQUFFLENBQUM7UUFFdkMsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUNaLGdCQUFXLEdBQVUsRUFBRSxDQUFDO1FBQ3hCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIscUJBQWdCLEdBQVMsRUFBRSxDQUFDO1FBQzVCLHNCQUFpQixHQUFTLEVBQUUsQ0FBQztRQTRKN0IsZUFBVSxHQUFHLE1BQU0sQ0FBQTtJQTNKOEIs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LEVBQUUsc0JBQXNCO2dCQUNoQyx3MlVBQWdEOzthQUVqRDs7O1lBTlEsZUFBZTs7OzRCQVFyQixLQUFLO3dCQUNMLEtBQUs7eUJBQ0wsS0FBSzs0QkFDTCxLQUFLO3dCQUNMLEtBQUs7eUJBQ0wsS0FBSzt5QkFDTCxLQUFLOytCQUNMLE1BQU07NkJBQ04sTUFBTTs2QkFDTixLQUFLO2lDQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIuc2VydmljZSc7XHJcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaCc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWdyb3VwLXVzZXJzLWxpc3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ncm91cC11c2Vycy1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9ncm91cC11c2Vycy1saXN0LmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHcm91cFVzZXJzTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSBncm91cHNFbmFibGVkIDogYW55O1xyXG4gIEBJbnB1dCgpIHVzZXJzTGlzdCA9IFtdO1xyXG4gIEBJbnB1dCgpIGdyb3Vwc0xpc3Q6IGFueVtdID0gW107XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRVc2VycyA9IFtdO1xyXG4gIEBJbnB1dCgpIHVzZXJJZEtleSA9ICcnO1xyXG4gIEBJbnB1dCgpICBncm91cElkS2V5ID0nJzsgXHJcbiAgQElucHV0KCkgb3BlbmVkRnJvbSA9ICcnO1xyXG4gIEBPdXRwdXQoKSBzYXZlU2VsZWN0ZWRMaXN0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjbG9zZVVzZXJzTGlzdCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBzZWxlY3RlZEdyb3VwczogYW55W10gPVtdO1xyXG4gIEBJbnB1dCgpIGFzc2lnbmVlR3JvdXBzTGlzdDogYW55W10gPVtdO1xyXG5cclxuICBzZWFyY2ggPSAnJztcclxuICBzZWxlY3RlZElkczogYW55W10gPSBbXTtcclxuICBhbmltYXRpb24gPSBmYWxzZTtcclxuICBzZWxlY3RlZEdyb3VwSWRzOiBhbnlbXSA9W107XHJcbiAgc2VsZWN0ZWRncm91cExpc3Q6IGFueVtdID1bXTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNuYWNrYmFyOiBTbmFja0JhclNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRJZHMgPSB0aGlzLnNlbGVjdGVkVXNlcnMubWFwKChlbGU6IGFueSkgPT4geyBpZiAoZWxlW3RoaXMudXNlcklkS2V5XSkgeyByZXR1cm4gZWxlW3RoaXMudXNlcklkS2V5XTsgfSB9KTtcclxuICAgIHRoaXMuc2VsZWN0ZWRHcm91cElkcyA9IHRoaXMuc2VsZWN0ZWRHcm91cHMubWFwKChlbGU6IGFueSkgPT4geyBpZiAoZWxlW3RoaXMuZ3JvdXBJZEtleV0pIHsgcmV0dXJuIGVsZVt0aGlzLmdyb3VwSWRLZXldOyB9IH0pO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYW5pbWF0aW9uID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmFuaW1hdGlvbiA9IGZhbHNlO1xyXG4gICAgfSwgMzAwKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdFVzZXIodXNlcjogYW55LCBtb2RlOiBhbnkpIHtcclxuICAgIGlmIChtb2RlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJZHMucHVzaCh1c2VyKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZElkcy5maW5kSW5kZXgoKGVsZW1lbnQ6IGFueSkgPT4gZWxlbWVudCA9PSB1c2VyKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZElkcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRMaXN0KCk7XHJcblxyXG4gIH1cclxuICBkZWxldGVFdmVudChldmVudDogYW55KSB7XHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRJZHMuZmluZEluZGV4KChlbGVtZW50OiBhbnkpID0+IGVsZW1lbnQgPT0gZXZlbnRbdGhpcy51c2VySWRLZXldKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRJZHMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIHRoaXMuc2V0TGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlR3JvdXBFdmVudChldmVudCA6IGFueSl7XHJcbiAgICBjb25zdCBncm91cGluZGV4ID0gdGhpcy5zZWxlY3RlZEdyb3VwSWRzLmZpbmRJbmRleCgoZWxlbWVudDogYW55KSA9PiBlbGVtZW50ID09IGV2ZW50Wydncm91cF9pZCddKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRHcm91cElkcy5zcGxpY2UoZ3JvdXBpbmRleCwgMSk7XHJcbiAgICB0aGlzLnNldGdyb3VwTGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0QWxsKG1vZGU6IGFueSkge1xyXG4gICAgaWYgKG1vZGUpIHtcclxuICAgICAgY29uc3QgbGlzdCA9IFsuLi50aGlzLnVzZXJzTGlzdF07XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJZHMgPSBbXTtcclxuICAgICAgbGlzdC5mb3JFYWNoKGVsZW1lbnQgPT4ge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJZHMucHVzaChlbGVtZW50W3RoaXMudXNlcklkS2V5XSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZElkcyA9IFtdO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRMaXN0KCk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RBbGxHcm91cHMobW9kZTogYW55KXtcclxuICAgIGlmKG1vZGUpe1xyXG4gICAgICBjb25zdCBncm91cGxpc3Q9Wy4uLnRoaXMuYXNzaWduZWVHcm91cHNMaXN0XTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwSWRzID0gW107XHJcbiAgICAgIGdyb3VwbGlzdC5mb3JFYWNoKGVsZW1lbnQ9PntcclxuICAgICAgICB0aGlzLnNlbGVjdGVkR3JvdXBJZHMucHVzaChlbGVtZW50W3RoaXMuZ3JvdXBJZEtleV0pO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEdyb3Vwcz1ncm91cGxpc3Q7XHJcblxyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cElkcyA9IFtdO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkR3JvdXBzID0gW107XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldGdyb3VwTGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGlvbkNoZWNrKGlzQ2hlY2tlZDogYm9vbGVhbikge1xyXG4gICAgaWYoaXNDaGVja2VkKSB7XHJcbiAgICAgIHRoaXMuc25hY2tiYXIuc2hvdygnWW91IGNhbiBzZWxlY3QgYSBtYXhpbXVtIG9mIDE5IHVzZXJzLicsICdhbGVydCcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIHNldExpc3QoKSB7XHJcbiAgICBjb25zdCBkYXRhOiBhbnkgPSBbXTtcclxuICAgIGNvbnN0IHVzZXJMaXN0ID0gY2xvbmVEZWVwKHRoaXMudXNlcnNMaXN0KTtcclxuICAgIGNvbnN0IHNlbGVjdGVkSWRzID0gY2xvbmVEZWVwKHRoaXMuc2VsZWN0ZWRJZHMpO1xyXG4gICAgdXNlckxpc3QuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChzZWxlY3RlZElkcy5pbmNsdWRlcyhlbGVtZW50W3RoaXMudXNlcklkS2V5XSkpIHtcclxuICAgICAgICBkYXRhLnB1c2goZWxlbWVudCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZWxlY3RlZFVzZXJzID0gZGF0YTtcclxuICB9XHJcbiAgc2V0Z3JvdXBMaXN0KCl7XHJcbiAgICBjb25zdCBkYXRhOiBhbnkgPSBbXTtcclxuICAgIGNvbnN0IGdyb3Vwc2xpc3QgPSBjbG9uZURlZXAodGhpcy5hc3NpZ25lZUdyb3Vwc0xpc3QpO1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRHcm91cElkcyA9IGNsb25lRGVlcCh0aGlzLnNlbGVjdGVkR3JvdXBJZHMpO1xyXG4gICAgZ3JvdXBzbGlzdC5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgaWYgKHNlbGVjdGVkR3JvdXBJZHMuaW5jbHVkZXMoZWxlbWVudFt0aGlzLmdyb3VwSWRLZXldKSkge1xyXG4gICAgICAgIGRhdGEucHVzaChlbGVtZW50KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNlbGVjdGVkR3JvdXBzID0gZGF0YTtcclxuICB9XHJcblxyXG4gIGNoZWNrU2VsZWN0QWxsKCkge1xyXG4gICAgY29uc3QgZGF0YSA9IHRoaXMudXNlcnNMaXN0LmV2ZXJ5KCh1c2VyOiBhbnkpID0+IHRoaXMuc2VsZWN0ZWRJZHMuaW5jbHVkZXModXNlclt0aGlzLnVzZXJJZEtleV0pKTtcclxuICAgIHJldHVybiBkYXRhO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tzZWxlY3RBbGxncm91cHMoKXtcclxuICAgIGNvbnN0IGRhdGEgPXRoaXMuYXNzaWduZWVHcm91cHNMaXN0LmV2ZXJ5KChncm91cDphbnkpPT4gdGhpcy5zZWxlY3RlZEdyb3VwSWRzLmluY2x1ZGVzKGdyb3VwW3RoaXMuZ3JvdXBJZEtleV0pKTtcclxuICAgIHJldHVybiBkYXRhO1xyXG4gIH1cclxuXHJcbiAgc2F2ZShzZWxlY3RlZElkczogYW55KSB7XHJcbiAgICBsZXQgc2VsZWN0ZWREYXRhO1xyXG4gICAgaWYodGhpcy5hc3NpZ25lZUdyb3Vwc0xpc3QubGVuZ3RoKXtcclxuICAgICAgc2VsZWN0ZWREYXRhPSB7IHVzZXJzOiB0aGlzLnNlbGVjdGVkSWRzLCBncm91cHM6IHRoaXMuc2VsZWN0ZWRHcm91cElkcyB9XHJcbiAgICB9IGVsc2V7XHJcbiAgICAgIHNlbGVjdGVkRGF0YSA9IHNlbGVjdGVkSWRzXHJcbiAgICB9XHJcbiAgICB0aGlzLnNhdmVTZWxlY3RlZExpc3QuZW1pdChzZWxlY3RlZERhdGEpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2UoKSB7XHJcbiAgICB0aGlzLmNsb3NlVXNlcnNMaXN0LmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdEdyb3VwKGdyb3VwSWRzOiBhbnksIG1vZGU6IGFueSkge1xyXG4gICAgaWYgKG1vZGUpIHtcclxuICAgICAgZ3JvdXBJZHMuZm9yRWFjaCgodXNlcklkOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRJZHMuaW5jbHVkZXModXNlcklkKSkge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZElkcy5wdXNoKHVzZXJJZClcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZ3JvdXBJZHMuZm9yRWFjaCgodXNlcklkOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRJZHMuZmluZEluZGV4KChlbGVtZW50OiBhbnkpID0+IGVsZW1lbnQgPT0gdXNlcklkKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSWRzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRMaXN0KCk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RHcm91cEVsZW1lbnQoZGF0YTogYW55LCBtb2RlOiBhbnkpIHtcclxuICAgICAgaWYgKG1vZGUpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkZ3JvdXBMaXN0LnB1c2goZGF0YSk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cElkcy5wdXNoKGRhdGFbdGhpcy5ncm91cElkS2V5XSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRncm91cExpc3QuZmluZEluZGV4KChlbGU6IHsgW3g6IHN0cmluZ106IGFueTsgfSkgPT4gZWxlW3RoaXMuZ3JvdXBJZEtleV0gPT09IGRhdGFbdGhpcy5ncm91cElkS2V5XSk7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkZ3JvdXBMaXN0LnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgICAgICBjb25zdCBpZEluZGV4ID0gdGhpcy5zZWxlY3RlZEdyb3VwSWRzLmZpbmRJbmRleChlbGUgPT4gZWxlID09PSBkYXRhW3RoaXMuZ3JvdXBJZEtleV0pO1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwSWRzLnNwbGljZShpZEluZGV4LCAxKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0Z3JvdXBMaXN0KCk7XHJcbiAgfVxyXG5cclxuICBjaGVja0dyb3VwTGlzdChncm91cElkczogYW55KSB7ICAgIFxyXG4gICAgcmV0dXJuIGdyb3VwSWRzLmV2ZXJ5KChpZDogYW55KSA9PiB0aGlzLnNlbGVjdGVkSWRzLmluY2x1ZGVzKGlkKSk7XHJcbiAgfVxyXG5cclxuICBoaWRlR3JvdXAoZ3JvdXBJZHM6IGFueSl7XHJcbiAgICByZXR1cm4gdGhpcy51c2Vyc0xpc3QuZXZlcnkoKHVzZXI6YW55KT0+IWdyb3VwSWRzLmluY2x1ZGVzKHVzZXJbdGhpcy51c2VySWRLZXldKSk7XHJcbiAgfVxyXG5cclxuICBjdXJyZW50VGFiID0gJ1VTRVInXHJcbiAgc3dpdGNoVGFiKHRhYjogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRUYWIgPSB0YWI7XHJcbiAgICB0aGlzLnNlYXJjaCA9Jyc7XHJcbiAgfVxyXG59XHJcbiJdfQ==
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtdXNlcnMtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2dyb3VwLXVzZXJzLWxpc3QvZ3JvdXAtdXNlcnMtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFNbkMsTUFBTSxPQUFPLHVCQUF1QjtJQVlsQyxZQUFvQixRQUF5QjtRQUF6QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQVhwQyxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsZUFBVSxHQUFVLEVBQUUsQ0FBQztRQUN2QixrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUNuQixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNmLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdEMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTlDLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFDWixnQkFBVyxHQUFVLEVBQUUsQ0FBQztRQUN4QixjQUFTLEdBQUcsS0FBSyxDQUFDO0lBQytCLENBQUM7SUFFbEQsV0FBVztRQUNULE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUN6QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsR0FBRyxJQUFJLEdBQUcs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Q0FBQyxRQUFhO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFRLEVBQUMsRUFBRSxDQUFBLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwRixDQUFDOzs7WUFqSEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxzQkFBc0I7Z0JBQ2hDLG9rSkFBZ0Q7O2FBRWpEOzs7WUFOUSxlQUFlOzs7d0JBUXJCLEtBQUs7eUJBQ0wsS0FBSzs0QkFDTCxLQUFLO3dCQUNMLEtBQUs7eUJBQ0wsS0FBSzsrQkFDTCxNQUFNOzZCQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIuc2VydmljZSc7XHJcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaCc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWdyb3VwLXVzZXJzLWxpc3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ncm91cC11c2Vycy1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9ncm91cC11c2Vycy1saXN0LmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHcm91cFVzZXJzTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSB1c2Vyc0xpc3QgPSBbXTtcclxuICBASW5wdXQoKSBncm91cHNMaXN0OiBhbnlbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkVXNlcnMgPSBbXTtcclxuICBASW5wdXQoKSB1c2VySWRLZXkgPSAnJztcclxuICBASW5wdXQoKSBvcGVuZWRGcm9tID0gJyc7XHJcbiAgQE91dHB1dCgpIHNhdmVTZWxlY3RlZExpc3QgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlVXNlcnNMaXN0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBzZWFyY2ggPSAnJztcclxuICBzZWxlY3RlZElkczogYW55W10gPSBbXTtcclxuICBhbmltYXRpb24gPSBmYWxzZTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNuYWNrYmFyOiBTbmFja0JhclNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIGNvbnNvbGUubG9nKFwidXNlciBsaXN0IFwiLCB0aGlzLnVzZXJzTGlzdClcclxuICAgIHRoaXMuc2VsZWN0ZWRJZHMgPSB0aGlzLnNlbGVjdGVkVXNlcnMubWFwKChlbGU6IGFueSkgPT4geyBpZiAoZWxlW3RoaXMudXNlcklkS2V5XSkgeyByZXR1cm4gZWxlW3RoaXMudXNlcklkS2V5XTsgfSB9KTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmFuaW1hdGlvbiA9IHRydWU7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5hbmltYXRpb24gPSBmYWxzZTtcclxuICAgIH0sIDMwMCk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RVc2VyKHVzZXI6IGFueSwgbW9kZTogYW55KSB7XHJcbiAgICBpZiAobW9kZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSWRzLnB1c2godXNlcik7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRJZHMuZmluZEluZGV4KChlbGVtZW50OiBhbnkpID0+IGVsZW1lbnQgPT0gdXNlcik7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJZHMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0TGlzdCgpO1xyXG5cclxuICB9XHJcbiAgZGVsZXRlRXZlbnQoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnNlbGVjdGVkSWRzLmZpbmRJbmRleCgoZWxlbWVudDogYW55KSA9PiBlbGVtZW50ID09IGV2ZW50W3RoaXMudXNlcklkS2V5XSk7XHJcbiAgICB0aGlzLnNlbGVjdGVkSWRzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICB0aGlzLnNldExpc3QoKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdEFsbChtb2RlOiBhbnkpIHtcclxuICAgIGlmIChtb2RlKSB7XHJcbiAgICAgIGNvbnN0IGxpc3QgPSBbLi4udGhpcy51c2Vyc0xpc3RdO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSWRzID0gW107XHJcbiAgICAgIGxpc3QuZm9yRWFjaChlbGVtZW50ID0+IHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSWRzLnB1c2goZWxlbWVudFt0aGlzLnVzZXJJZEtleV0pO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJZHMgPSBbXTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0TGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGlvbkNoZWNrKGlzQ2hlY2tlZDogYm9vbGVhbikge1xyXG4gICAgaWYoaXNDaGVja2VkKSB7XHJcbiAgICAgIHRoaXMuc25hY2tiYXIuc2hvdygnWW91IGNhbiBzZWxlY3QgYSBtYXhpbXVtIG9mIDE5IHVzZXJzLicsICdhbGVydCcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIHNldExpc3QoKSB7XHJcbiAgICBjb25zdCBkYXRhOiBhbnkgPSBbXTtcclxuICAgIGNvbnN0IHVzZXJMaXN0ID0gY2xvbmVEZWVwKHRoaXMudXNlcnNMaXN0KTtcclxuICAgIGNvbnN0IHNlbGVjdGVkSWRzID0gY2xvbmVEZWVwKHRoaXMuc2VsZWN0ZWRJZHMpO1xyXG4gICAgdXNlckxpc3QuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChzZWxlY3RlZElkcy5pbmNsdWRlcyhlbGVtZW50W3RoaXMudXNlcklkS2V5XSkpIHtcclxuICAgICAgICBkYXRhLnB1c2goZWxlbWVudCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZWxlY3RlZFVzZXJzID0gZGF0YTtcclxuICB9XHJcblxyXG4gIGNoZWNrU2VsZWN0QWxsKCkge1xyXG4gICAgY29uc3QgZGF0YSA9IHRoaXMudXNlcnNMaXN0LmV2ZXJ5KCh1c2VyOiBhbnkpID0+IHRoaXMuc2VsZWN0ZWRJZHMuaW5jbHVkZXModXNlclt0aGlzLnVzZXJJZEtleV0pKTtcclxuICAgIHJldHVybiBkYXRhO1xyXG4gIH1cclxuXHJcbiAgc2F2ZShzZWxlY3RlZElkczogYW55KSB7XHJcbiAgICB0aGlzLnNhdmVTZWxlY3RlZExpc3QuZW1pdChzZWxlY3RlZElkcyk7XHJcbiAgfVxyXG5cclxuICBjbG9zZSgpIHtcclxuICAgIHRoaXMuY2xvc2VVc2Vyc0xpc3QuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0R3JvdXAoZ3JvdXBJZHM6IGFueSwgbW9kZTogYW55KSB7XHJcbiAgICBpZiAobW9kZSkge1xyXG4gICAgICBncm91cElkcy5mb3JFYWNoKCh1c2VySWQ6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmICghdGhpcy5zZWxlY3RlZElkcy5pbmNsdWRlcyh1c2VySWQpKSB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSWRzLnB1c2godXNlcklkKVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBncm91cElkcy5mb3JFYWNoKCh1c2VySWQ6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZElkcy5maW5kSW5kZXgoKGVsZW1lbnQ6IGFueSkgPT4gZWxlbWVudCA9PSB1c2VySWQpO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJZHMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldExpc3QoKTtcclxuICB9XHJcblxyXG4gIGNoZWNrR3JvdXBMaXN0KGdyb3VwSWRzOiBhbnkpIHtcclxuICAgIHJldHVybiBncm91cElkcy5ldmVyeSgoaWQ6IGFueSkgPT4gdGhpcy5zZWxlY3RlZElkcy5pbmNsdWRlcyhpZCkpO1xyXG4gIH1cclxuXHJcbiAgaGlkZUdyb3VwKGdyb3VwSWRzOiBhbnkpe1xyXG4gICAgcmV0dXJuIHRoaXMudXNlcnNMaXN0LmV2ZXJ5KCh1c2VyOmFueSk9PiFncm91cElkcy5pbmNsdWRlcyh1c2VyW3RoaXMudXNlcklkS2V5XSkpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19