raise-common-lib 0.0.207 → 0.0.209

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 (77) hide show
  1. package/README.md +57 -57
  2. package/bundles/raise-common-lib.umd.js +89 -20
  3. package/bundles/raise-common-lib.umd.js.map +1 -1
  4. package/bundles/raise-common-lib.umd.min.js +1 -1
  5. package/bundles/raise-common-lib.umd.min.js.map +1 -1
  6. package/esm2015/lib/dashboard/bar-charts/bar-charts.component.js +2 -2
  7. package/esm2015/lib/dashboard/dashboard-properties/data-mart-new/data-mart-new.component.js +2 -2
  8. package/esm2015/lib/dashboard/dialog-group/download/index.component.js +3 -3
  9. package/esm2015/lib/dashboard/dialog-group/empty-icon-prompt/empty-icon-prompt.component.js +3 -3
  10. package/esm2015/lib/dashboard/gadget-group/gadget-pivot/gadget-pivot.component.js +2 -2
  11. package/esm2015/lib/dashboard/gadget-group/gadget-pivot-chart/gadget-pivot.component.js +2 -2
  12. package/esm2015/lib/dashboard/gadget-group/gadget-table/gadget-table.component.js +2 -2
  13. package/esm2015/lib/dashboard/gadget-group/gadget-transpose/gadget-transpose.component.js +3 -3
  14. package/esm2015/lib/dashboard/pane-group-new.component.js +1 -1
  15. package/esm2015/lib/dashboard/sidebar-iconlist/field-filter/field-filter.component.js +2 -2
  16. package/esm2015/lib/dashboard/sidebar-iconlist/field-format/field-format.component.js +2 -2
  17. package/esm2015/lib/dashboard/sidebar-iconlist/portlet-type-new/portlet-type-new.component.js +2 -2
  18. package/esm2015/lib/dashboard/sidebar-iconlist/sidebar-iconlist-new.component.js +3 -3
  19. package/esm2015/lib/form/checkbox-group/index.component.js +60 -5
  20. package/esm5/lib/dashboard/bar-charts/bar-charts.component.js +2 -2
  21. package/esm5/lib/dashboard/dashboard-properties/data-mart-new/data-mart-new.component.js +2 -2
  22. package/esm5/lib/dashboard/dialog-group/download/index.component.js +3 -3
  23. package/esm5/lib/dashboard/dialog-group/empty-icon-prompt/empty-icon-prompt.component.js +3 -3
  24. package/esm5/lib/dashboard/gadget-group/gadget-pivot/gadget-pivot.component.js +2 -2
  25. package/esm5/lib/dashboard/gadget-group/gadget-pivot-chart/gadget-pivot.component.js +2 -2
  26. package/esm5/lib/dashboard/gadget-group/gadget-table/gadget-table.component.js +2 -2
  27. package/esm5/lib/dashboard/gadget-group/gadget-transpose/gadget-transpose.component.js +3 -3
  28. package/esm5/lib/dashboard/pane-group-new.component.js +1 -1
  29. package/esm5/lib/dashboard/sidebar-iconlist/field-filter/field-filter.component.js +2 -2
  30. package/esm5/lib/dashboard/sidebar-iconlist/field-format/field-format.component.js +2 -2
  31. package/esm5/lib/dashboard/sidebar-iconlist/portlet-type-new/portlet-type-new.component.js +2 -2
  32. package/esm5/lib/dashboard/sidebar-iconlist/sidebar-iconlist-new.component.js +3 -3
  33. package/esm5/lib/form/checkbox-group/index.component.js +74 -5
  34. package/fesm2015/raise-common-lib.js +75 -20
  35. package/fesm2015/raise-common-lib.js.map +1 -1
  36. package/fesm5/raise-common-lib.js +89 -20
  37. package/fesm5/raise-common-lib.js.map +1 -1
  38. package/lib/form/checkbox-group/index.component.d.ts +5 -0
  39. package/package.json +1 -1
  40. package/raise-common-lib.metadata.json +1 -1
  41. package/src/assets/img/arrow_right.svg +4 -4
  42. package/src/assets/img/calendar-disabled.svg +6 -6
  43. package/src/assets/img/calendar.svg +6 -6
  44. package/src/assets/img/calendar_arrow_left.svg +3 -3
  45. package/src/assets/img/calendar_arrow_right.svg +3 -3
  46. package/src/assets/img/checked-vector.svg +3 -3
  47. package/src/assets/img/dialog-close.svg +4 -4
  48. package/src/assets/img/dialog-grow.svg +6 -6
  49. package/src/assets/img/dialog-shrink.svg +6 -6
  50. package/src/assets/img/plus.svg +4 -4
  51. package/src/assets/img/search.svg +4 -4
  52. package/src/assets/img/shrink-icon.svg +6 -6
  53. package/src/assets/img/time-disabled.svg +4 -4
  54. package/src/assets/img/time.svg +4 -4
  55. package/src/assets/img/toolbar-action-addFolder.svg +17 -17
  56. package/src/assets/img/toolbar-action-calculator.svg +11 -11
  57. package/src/assets/img/toolbar-action-collapse.svg +7 -7
  58. package/src/assets/img/toolbar-action-combine.svg +4 -4
  59. package/src/assets/img/toolbar-action-edit.svg +4 -4
  60. package/src/assets/img/toolbar-action-expand.svg +7 -7
  61. package/src/assets/img/toolbar-action-folderMove.svg +8 -8
  62. package/src/assets/img/toolbar-action-lock.svg +6 -6
  63. package/src/assets/img/toolbar-action-preview.svg +7 -7
  64. package/src/assets/img/toolbar-action-publish.svg +5 -5
  65. package/src/assets/img/toolbar-action-reminders.svg +10 -10
  66. package/src/assets/img/toolbar-action-rename.svg +7 -7
  67. package/src/assets/img/toolbar-action-saveSequence.svg +5 -5
  68. package/src/assets/img/toolbar-action-send-file.svg +5 -5
  69. package/src/assets/img/toolbar-action-settle.svg +7 -7
  70. package/src/assets/img/toolbar-action-share.svg +5 -5
  71. package/src/assets/img/toolbar-action-submitForApproval.svg +4 -4
  72. package/src/assets/img/toolbar-action-sync.svg +4 -4
  73. package/src/assets/img/toolbar-action-template.svg +6 -6
  74. package/src/assets/img/toolbar-action-workflow.svg +9 -9
  75. package/src/assets/style/reset/button.scss +0 -1
  76. package/src/assets/style/reset/checkbox.scss +8 -3
  77. package/src/assets/style/variables.scss +1 -0
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import * as tslib_1 from "tslib";
7
7
  // 组件类
8
- import { ChangeDetectorRef, Component, EventEmitter, Input, Output } from "@angular/core";
8
+ import { ChangeDetectorRef, Component, EventEmitter, Input, Output, } from "@angular/core";
9
9
  var CheckboxGroupComponent = /** @class */ (function () {
10
10
  function CheckboxGroupComponent(ref) {
11
11
  this.ref = ref;
@@ -17,6 +17,7 @@ var CheckboxGroupComponent = /** @class */ (function () {
17
17
  this.disabled = false;
18
18
  this.error = false;
19
19
  this.valueChange = new EventEmitter();
20
+ this.indeterminate = false;
20
21
  }
21
22
  /**
22
23
  * @return {?}
@@ -25,8 +26,24 @@ var CheckboxGroupComponent = /** @class */ (function () {
25
26
  * @return {?}
26
27
  */
27
28
  function () {
28
- console.log('first', this.value);
29
+ console.log("first", this.value);
30
+ this.translation = JSON.parse(localStorage.getItem("translation"));
29
31
  };
32
+ Object.defineProperty(CheckboxGroupComponent.prototype, "enabledDataSource", {
33
+ get: /**
34
+ * @return {?}
35
+ */
36
+ function () {
37
+ var _this = this;
38
+ return this.dataSource.filter((/**
39
+ * @param {?} item
40
+ * @return {?}
41
+ */
42
+ function (item) { return !item[_this.fields.disabled]; })) || [];
43
+ },
44
+ enumerable: true,
45
+ configurable: true
46
+ });
30
47
  /**
31
48
  * @param {?} event
32
49
  * @param {?} option
@@ -53,14 +70,62 @@ var CheckboxGroupComponent = /** @class */ (function () {
53
70
  */
54
71
  function (val) { return val !== option[_this.fields.value]; }));
55
72
  }
73
+ this.calculateIndeterminate(result);
56
74
  this.valueChange.emit(result);
57
75
  this.ref.markForCheck();
58
76
  };
77
+ /**
78
+ * @param {?} event
79
+ * @return {?}
80
+ */
81
+ CheckboxGroupComponent.prototype.onSelectAll = /**
82
+ * @param {?} event
83
+ * @return {?}
84
+ */
85
+ function (event) {
86
+ var _this = this;
87
+ if (event.checked) {
88
+ this.valueChange.emit(this.dataSource
89
+ .filter((/**
90
+ * @param {?} item
91
+ * @return {?}
92
+ */
93
+ function (item) { return !item[_this.fields.disabled]; }))
94
+ .map((/**
95
+ * @param {?} item
96
+ * @return {?}
97
+ */
98
+ function (item) { return item[_this.fields.value]; })));
99
+ }
100
+ else {
101
+ this.valueChange.emit([]);
102
+ }
103
+ this.ref.markForCheck();
104
+ };
105
+ /**
106
+ * @param {?} result
107
+ * @return {?}
108
+ */
109
+ CheckboxGroupComponent.prototype.calculateIndeterminate = /**
110
+ * @param {?} result
111
+ * @return {?}
112
+ */
113
+ function (result) {
114
+ if (result.length === this.enabledDataSource.length) {
115
+ this.indeterminate = false;
116
+ }
117
+ else if (result.length > 0 && result.length < this.enabledDataSource.length) {
118
+ this.indeterminate = true;
119
+ }
120
+ else {
121
+ this.indeterminate = false;
122
+ }
123
+ };
59
124
  CheckboxGroupComponent.decorators = [
60
125
  { type: Component, args: [{
61
126
  selector: "rs-checkbox-group",
62
- template: "<div class=\"checkbox-group\" [ngClass]=\"[orientation, error ? 'error' : '']\">\r\n <div class=\"checkbox-item\" *ngFor=\"let option of dataSource\">\r\n <ejs-checkbox\r\n [name]=\"name\"\r\n [label]=\"option[fields.text]\"\r\n [value]=\"option[fields.value]\"\r\n [disabled]=\"option[fields.disabled] || disabled\"\r\n [checked]=\"value.includes(option[fields.value])\"\r\n (change)=\"onChange($event, option)\"\r\n ></ejs-checkbox>\r\n </div>\r\n</div>\r\n",
63
- styles: [".checkbox-group{display:flex;padding-left:4px}.checkbox-group.horizontal{flex-direction:row;gap:35px}.checkbox-group.vertical{flex-direction:column;gap:14px}.checkbox-group.error .e-checkbox-wrapper .e-frame{border-color:var(--rs-input-error-border-color)}"]
127
+ template: "<div class=\"checkbox-group\" [ngClass]=\"[orientation, error ? 'error' : '']\">\r\n <ejs-checkbox\r\n [label]=\"translation.SELECT_ALL ? translation.SELECT_ALL : 'Select All'\"\r\n [indeterminate]=\"indeterminate\"\r\n [checked]=\"value.length === enabledDataSource.length ? true : false\"\r\n (change)=\"onSelectAll($event)\"\r\n ></ejs-checkbox>\r\n <div class=\"checkbox-item\" *ngFor=\"let option of dataSource\">\r\n <ejs-checkbox\r\n [name]=\"name\"\r\n [label]=\"option[fields.text]\"\r\n [value]=\"option[fields.value]\"\r\n [disabled]=\"option[fields.disabled] || disabled\"\r\n [checked]=\"value.includes(option[fields.value])\"\r\n (change)=\"onChange($event, option)\"\r\n ></ejs-checkbox>\r\n </div>\r\n</div>\r\n",
128
+ styles: [".checkbox-group{display:flex;padding-left:4px}.checkbox-group.horizontal{flex-direction:row;gap:35px}.checkbox-group.vertical{flex-direction:column;gap:4px}.checkbox-group.error .e-checkbox-wrapper .e-frame{border-color:var(--rs-input-error-border-color)}"]
64
129
  }] }
65
130
  ];
66
131
  /** @nocollapse */
@@ -97,10 +162,14 @@ if (false) {
97
162
  CheckboxGroupComponent.prototype.error;
98
163
  /** @type {?} */
99
164
  CheckboxGroupComponent.prototype.valueChange;
165
+ /** @type {?} */
166
+ CheckboxGroupComponent.prototype.translation;
167
+ /** @type {?} */
168
+ CheckboxGroupComponent.prototype.indeterminate;
100
169
  /**
101
170
  * @type {?}
102
171
  * @private
103
172
  */
104
173
  CheckboxGroupComponent.prototype.ref;
105
174
  }
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9mb3JtL2NoZWNrYm94LWdyb3VwL2luZGV4LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQ0EsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRztJQU1FLGdDQUNVLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1COztRQUd2QixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixnQkFBVyxHQUE4QixZQUFZLENBQUM7UUFDdEQsV0FBTSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsQ0FBQztRQUNoRSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFVBQUssR0FBRyxLQUFLLENBQUM7UUFHdkIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBVjlCLENBQUM7Ozs7SUFZSix5Q0FBUTs7O0lBQVI7UUFDRSxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDakMsQ0FBQzs7Ozs7O0lBQ0QseUNBQVE7Ozs7O0lBQVIsVUFBUyxLQUFLLEVBQUUsTUFBTTtRQUF0QixpQkFVQzs7WUFUTyxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUs7O1lBQzVCLE1BQU07UUFDVixJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7WUFDakIsTUFBTSxvQkFBTyxhQUFhLEdBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUMsQ0FBQztTQUN4RDthQUFNO1lBQ0wsTUFBTSxHQUFHLGFBQWEsQ0FBQyxNQUFNOzs7O1lBQUMsVUFBQyxHQUFHLElBQUssT0FBQSxHQUFHLEtBQUssTUFBTSxDQUFDLEtBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQWpDLENBQWlDLEVBQUMsQ0FBQztTQUMzRTtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQzs7Z0JBakNGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3Qiw2ZkFBcUM7O2lCQUV0Qzs7OztnQkFOUSxpQkFBaUI7Ozt1QkFXdkIsS0FBSzt3QkFDTCxLQUFLOzZCQUNMLEtBQUs7OEJBQ0wsS0FBSzt5QkFDTCxLQUFLOzJCQUNMLEtBQUs7d0JBQ0wsS0FBSzs4QkFFTCxNQUFNOztJQWlCVCw2QkFBQztDQUFBLEFBbENELElBa0NDO1NBN0JZLHNCQUFzQjs7O0lBSWpDLHNDQUFjOztJQUNkLHVDQUFvQjs7SUFDcEIsNENBQXlCOztJQUN6Qiw2Q0FBK0Q7O0lBQy9ELHdDQUF5RTs7SUFDekUsMENBQTBCOztJQUMxQix1Q0FBdUI7O0lBRXZCLDZDQUNpQzs7Ozs7SUFYL0IscUNBQThCIiwic291cmNlc0NvbnRlbnQiOlsiLy8g57uE5Lu257G7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcInJzLWNoZWNrYm94LWdyb3VwXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9pbmRleC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9pbmRleC5jb21wb25lbnQuc2Nzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENoZWNrYm94R3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICkge31cclxuICBASW5wdXQoKSBuYW1lOyAvLyDliIbnu4Tlh63or4FcclxuICBASW5wdXQoKSB2YWx1ZSA9IFtdO1xyXG4gIEBJbnB1dCgpIGRhdGFTb3VyY2UgPSBbXTtcclxuICBASW5wdXQoKSBvcmllbnRhdGlvbjogXCJob3Jpem9udGFsXCIgfCBcInZlcnRpY2FsXCIgPSBcImhvcml6b250YWxcIjtcclxuICBASW5wdXQoKSBmaWVsZHMgPSB7IHRleHQ6IFwidGV4dFwiLCB2YWx1ZTogXCJ2YWx1ZVwiLCBkaXNhYmxlZDogXCJkaXNhYmxlZFwiIH07XHJcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBlcnJvciA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KClcclxuICB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBjb25zb2xlLmxvZygnZmlyc3QnLHRoaXMudmFsdWUpXHJcbiAgfVxyXG4gIG9uQ2hhbmdlKGV2ZW50LCBvcHRpb24pIHtcclxuICAgIGNvbnN0IG9yaWdpbmFsVmFsdWUgPSB0aGlzLnZhbHVlO1xyXG4gICAgbGV0IHJlc3VsdDtcclxuICAgIGlmIChldmVudC5jaGVja2VkKSB7XHJcbiAgICAgIHJlc3VsdCA9IFsuLi5vcmlnaW5hbFZhbHVlLCBvcHRpb25bdGhpcy5maWVsZHMudmFsdWVdXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJlc3VsdCA9IG9yaWdpbmFsVmFsdWUuZmlsdGVyKCh2YWwpID0+IHZhbCAhPT0gb3B0aW9uW3RoaXMuZmllbGRzLnZhbHVlXSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQocmVzdWx0KTtcclxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxufVxyXG4iXX0=
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9mb3JtL2NoZWNrYm94LWdyb3VwL2luZGV4LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQ0EsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkI7SUFNRSxnQ0FBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7O1FBRWpDLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLGdCQUFXLEdBQThCLFlBQVksQ0FBQztRQUN0RCxXQUFNLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxDQUFDO1FBQ2hFLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUd2QixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFakMsa0JBQWEsR0FBRyxLQUFLLENBQUM7SUFadUIsQ0FBQzs7OztJQWE5Qyx5Q0FBUTs7O0lBQVI7UUFDRSxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBQ0Qsc0JBQUkscURBQWlCOzs7O1FBQXJCO1lBQUEsaUJBRUM7WUFEQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTTs7OztZQUFDLFVBQUMsSUFBSSxJQUFLLE9BQUEsQ0FBQyxJQUFJLENBQUMsS0FBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBM0IsQ0FBMkIsRUFBQyxJQUFJLEVBQUUsQ0FBQztRQUM3RSxDQUFDOzs7T0FBQTs7Ozs7O0lBRUQseUNBQVE7Ozs7O0lBQVIsVUFBUyxLQUFLLEVBQUUsTUFBTTtRQUF0QixpQkFXQzs7WUFWTyxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUs7O1lBQzVCLE1BQU07UUFDVixJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7WUFDakIsTUFBTSxvQkFBTyxhQUFhLEdBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUMsQ0FBQztTQUN4RDthQUFNO1lBQ0wsTUFBTSxHQUFHLGFBQWEsQ0FBQyxNQUFNOzs7O1lBQUMsVUFBQyxHQUFHLElBQUssT0FBQSxHQUFHLEtBQUssTUFBTSxDQUFDLEtBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQWpDLENBQWlDLEVBQUMsQ0FBQztTQUMzRTtRQUNELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7Ozs7O0lBRUQsNENBQVc7Ozs7SUFBWCxVQUFZLEtBQUs7UUFBakIsaUJBV0M7UUFWQyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7WUFDakIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQ25CLElBQUksQ0FBQyxVQUFVO2lCQUNaLE1BQU07Ozs7WUFBQyxVQUFDLElBQUksSUFBSyxPQUFBLENBQUMsSUFBSSxDQUFDLEtBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQTNCLENBQTJCLEVBQUM7aUJBQzdDLEdBQUc7Ozs7WUFBQyxVQUFDLElBQUksSUFBSyxPQUFBLElBQUksQ0FBQyxLQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUF2QixDQUF1QixFQUFDLENBQzFDLENBQUM7U0FDSDthQUFNO1lBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDM0I7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7Ozs7O0lBRUQsdURBQXNCOzs7O0lBQXRCLFVBQXVCLE1BQU07UUFDM0IsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUU7WUFDbkQsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7U0FDNUI7YUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBRTtZQUM3RSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztTQUMzQjthQUFNO1lBQ0wsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7U0FDNUI7SUFDSCxDQUFDOztnQkE3REYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLHV4QkFBcUM7O2lCQUV0Qzs7OztnQkFaQyxpQkFBaUI7Ozt1QkFlaEIsS0FBSzt3QkFDTCxLQUFLOzZCQUNMLEtBQUs7OEJBQ0wsS0FBSzt5QkFDTCxLQUFLOzJCQUNMLEtBQUs7d0JBQ0wsS0FBSzs4QkFFTCxNQUFNOztJQStDVCw2QkFBQztDQUFBLEFBOURELElBOERDO1NBekRZLHNCQUFzQjs7O0lBRWpDLHNDQUFjOztJQUNkLHVDQUFvQjs7SUFDcEIsNENBQXlCOztJQUN6Qiw2Q0FBK0Q7O0lBQy9ELHdDQUF5RTs7SUFDekUsMENBQTBCOztJQUMxQix1Q0FBdUI7O0lBRXZCLDZDQUNpQzs7SUFDakMsNkNBQVk7O0lBQ1osK0NBQXNCOzs7OztJQVpWLHFDQUE4QiIsInNvdXJjZXNDb250ZW50IjpbIi8vIOe7hOS7tuexu1xyXG5pbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwicnMtY2hlY2tib3gtZ3JvdXBcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL2luZGV4LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2luZGV4LmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hHcm91cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxyXG4gIEBJbnB1dCgpIG5hbWU7IC8vIOWIhue7hOWHreivgVxyXG4gIEBJbnB1dCgpIHZhbHVlID0gW107XHJcbiAgQElucHV0KCkgZGF0YVNvdXJjZSA9IFtdO1xyXG4gIEBJbnB1dCgpIG9yaWVudGF0aW9uOiBcImhvcml6b250YWxcIiB8IFwidmVydGljYWxcIiA9IFwiaG9yaXpvbnRhbFwiO1xyXG4gIEBJbnB1dCgpIGZpZWxkcyA9IHsgdGV4dDogXCJ0ZXh0XCIsIHZhbHVlOiBcInZhbHVlXCIsIGRpc2FibGVkOiBcImRpc2FibGVkXCIgfTtcclxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGVycm9yID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIHRyYW5zbGF0aW9uO1xyXG4gIGluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiZmlyc3RcIiwgdGhpcy52YWx1ZSk7XHJcbiAgICB0aGlzLnRyYW5zbGF0aW9uID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInRyYW5zbGF0aW9uXCIpKTtcclxuICB9XHJcbiAgZ2V0IGVuYWJsZWREYXRhU291cmNlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0YVNvdXJjZS5maWx0ZXIoKGl0ZW0pID0+ICFpdGVtW3RoaXMuZmllbGRzLmRpc2FibGVkXSkgfHwgW107XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZShldmVudCwgb3B0aW9uKSB7XHJcbiAgICBjb25zdCBvcmlnaW5hbFZhbHVlID0gdGhpcy52YWx1ZTtcclxuICAgIGxldCByZXN1bHQ7XHJcbiAgICBpZiAoZXZlbnQuY2hlY2tlZCkge1xyXG4gICAgICByZXN1bHQgPSBbLi4ub3JpZ2luYWxWYWx1ZSwgb3B0aW9uW3RoaXMuZmllbGRzLnZhbHVlXV07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXN1bHQgPSBvcmlnaW5hbFZhbHVlLmZpbHRlcigodmFsKSA9PiB2YWwgIT09IG9wdGlvblt0aGlzLmZpZWxkcy52YWx1ZV0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jYWxjdWxhdGVJbmRldGVybWluYXRlKHJlc3VsdCk7XHJcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQocmVzdWx0KTtcclxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgb25TZWxlY3RBbGwoZXZlbnQpIHtcclxuICAgIGlmIChldmVudC5jaGVja2VkKSB7XHJcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChcclxuICAgICAgICB0aGlzLmRhdGFTb3VyY2VcclxuICAgICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+ICFpdGVtW3RoaXMuZmllbGRzLmRpc2FibGVkXSlcclxuICAgICAgICAgIC5tYXAoKGl0ZW0pID0+IGl0ZW1bdGhpcy5maWVsZHMudmFsdWVdKVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KFtdKTtcclxuICAgIH1cclxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgY2FsY3VsYXRlSW5kZXRlcm1pbmF0ZShyZXN1bHQpIHtcclxuICAgIGlmIChyZXN1bHQubGVuZ3RoID09PSB0aGlzLmVuYWJsZWREYXRhU291cmNlLmxlbmd0aCkge1xyXG4gICAgICB0aGlzLmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcclxuICAgIH0gZWxzZSBpZiAocmVzdWx0Lmxlbmd0aCA+IDAgJiYgcmVzdWx0Lmxlbmd0aCA8IHRoaXMuZW5hYmxlZERhdGFTb3VyY2UubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuaW5kZXRlcm1pbmF0ZSA9IHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19