raise-common-lib 0.0.197 → 0.0.198

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/README.md +57 -57
  2. package/bundles/raise-common-lib.umd.js +99 -45
  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/dialog/common-dialog/index.component.js +12 -3
  7. package/esm2015/lib/dialog/new-action-notification/new-action-notification.component.js +1 -1
  8. package/esm2015/lib/form/drawer-form/drawer-form.component.js +72 -40
  9. package/esm2015/lib/form/richtexteditor/index.component.js +1 -1
  10. package/esm2015/lib/layout/drawer/index.component.js +1 -1
  11. package/esm2015/lib/layout/page-tab/index.component.js +1 -1
  12. package/esm5/lib/dialog/common-dialog/index.component.js +12 -3
  13. package/esm5/lib/dialog/new-action-notification/new-action-notification.component.js +1 -1
  14. package/esm5/lib/form/drawer-form/drawer-form.component.js +85 -40
  15. package/esm5/lib/form/richtexteditor/index.component.js +1 -1
  16. package/esm5/lib/layout/drawer/index.component.js +1 -1
  17. package/esm5/lib/layout/page-tab/index.component.js +1 -1
  18. package/fesm2015/raise-common-lib.js +86 -45
  19. package/fesm2015/raise-common-lib.js.map +1 -1
  20. package/fesm5/raise-common-lib.js +99 -45
  21. package/fesm5/raise-common-lib.js.map +1 -1
  22. package/lib/dialog/common-dialog/index.component.d.ts +1 -0
  23. package/lib/form/drawer-form/drawer-form.component.d.ts +7 -1
  24. package/package.json +1 -1
  25. package/raise-common-lib.metadata.json +1 -1
  26. package/src/assets/img/arrow_right.svg +4 -4
  27. package/src/assets/img/calendar-disabled.svg +6 -6
  28. package/src/assets/img/calendar.svg +6 -6
  29. package/src/assets/img/calendar_arrow_left.svg +3 -3
  30. package/src/assets/img/calendar_arrow_right.svg +3 -3
  31. package/src/assets/img/checked-vector.svg +3 -3
  32. package/src/assets/img/dialog-close.svg +4 -4
  33. package/src/assets/img/dialog-grow.svg +6 -6
  34. package/src/assets/img/dialog-shrink.svg +6 -6
  35. package/src/assets/img/plus.svg +4 -4
  36. package/src/assets/img/search.svg +4 -4
  37. package/src/assets/img/shrink-icon.svg +6 -6
  38. package/src/assets/img/time-disabled.svg +4 -4
  39. package/src/assets/img/time.svg +4 -4
  40. package/src/assets/img/toolbar-action-addFolder.svg +17 -17
  41. package/src/assets/img/toolbar-action-calculator.svg +11 -11
  42. package/src/assets/img/toolbar-action-collapse.svg +7 -7
  43. package/src/assets/img/toolbar-action-combine.svg +4 -4
  44. package/src/assets/img/toolbar-action-edit.svg +4 -4
  45. package/src/assets/img/toolbar-action-expand.svg +7 -7
  46. package/src/assets/img/toolbar-action-folderMove.svg +8 -8
  47. package/src/assets/img/toolbar-action-lock.svg +6 -6
  48. package/src/assets/img/toolbar-action-preview.svg +7 -7
  49. package/src/assets/img/toolbar-action-publish.svg +5 -5
  50. package/src/assets/img/toolbar-action-reminders.svg +10 -10
  51. package/src/assets/img/toolbar-action-rename.svg +7 -7
  52. package/src/assets/img/toolbar-action-saveSequence.svg +5 -5
  53. package/src/assets/img/toolbar-action-send-file.svg +5 -5
  54. package/src/assets/img/toolbar-action-settle.svg +7 -7
  55. package/src/assets/img/toolbar-action-share.svg +5 -5
  56. package/src/assets/img/toolbar-action-submitForApproval.svg +4 -4
  57. package/src/assets/img/toolbar-action-sync.svg +4 -4
  58. package/src/assets/img/toolbar-action-template.svg +6 -6
  59. package/src/assets/img/toolbar-action-workflow.svg +9 -9
@@ -16,12 +16,13 @@ export class CommonDialogComponent {
16
16
  this.hideCloseIcon = false;
17
17
  this.hideCloseBtn = false;
18
18
  this.hideSaveBtn = false;
19
- this.hideDiscardBtn = false;
19
+ this.hideDiscardBtn = true;
20
20
  this.saveBtnLabel = "";
21
21
  this.cancelBtnLabel = "";
22
22
  this.discardBtnLabel = "";
23
23
  this.showErrorIcon = false;
24
24
  this.showZoomBtn = false;
25
+ this.customSave = false;
25
26
  // 显示相关属性
26
27
  this.dialogStyle = {};
27
28
  this.size = "";
@@ -78,7 +79,12 @@ export class CommonDialogComponent {
78
79
  * @return {?}
79
80
  */
80
81
  onSave() {
81
- this.dialogRef.close("save");
82
+ if (this.customSave) {
83
+ this.saveEmit.emit();
84
+ }
85
+ else {
86
+ this.dialogRef.close("save");
87
+ }
82
88
  }
83
89
  /**
84
90
  * @return {?}
@@ -120,6 +126,7 @@ CommonDialogComponent.propDecorators = {
120
126
  discardBtnLabel: [{ type: Input }],
121
127
  showErrorIcon: [{ type: Input }],
122
128
  showZoomBtn: [{ type: Input }],
129
+ customSave: [{ type: Input }],
123
130
  onCloseRequest: [{ type: Input }],
124
131
  dialogStyle: [{ type: Input }],
125
132
  size: [{ type: Input }],
@@ -153,6 +160,8 @@ if (false) {
153
160
  /** @type {?} */
154
161
  CommonDialogComponent.prototype.showZoomBtn;
155
162
  /** @type {?} */
163
+ CommonDialogComponent.prototype.customSave;
164
+ /** @type {?} */
156
165
  CommonDialogComponent.prototype.onCloseRequest;
157
166
  /** @type {?} */
158
167
  CommonDialogComponent.prototype.dialogStyle;
@@ -175,4 +184,4 @@ if (false) {
175
184
  /** @type {?} */
176
185
  CommonDialogComponent.prototype.dialogRef;
177
186
  }
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9kaWFsb2cvY29tbW9uLWRpYWxvZy9pbmRleC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFDTCxZQUFZLEVBQ1osTUFBTSxFQUNOLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFPeEQsTUFBTSxPQUFPLHFCQUFxQjs7OztJQTJCaEMsWUFBbUIsU0FBOEM7UUFBOUMsY0FBUyxHQUFULFNBQVMsQ0FBcUM7O1FBdkJ4RCxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLG9CQUFlLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLGdCQUFXLEdBQUcsS0FBSyxDQUFDOztRQU1wQixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNqQixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YsVUFBSyxHQUFHLFFBQVEsQ0FBQztRQUNqQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2YsYUFBUSxHQUEyQixJQUFJLFlBQVksRUFBWSxDQUFDO1FBQ2hFLGNBQVMsR0FBMkIsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUUzRSxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUt6QixpQkFBWSxHQUFZLEtBQUssQ0FBQztJQUpzQyxDQUFDOzs7O0lBS3JFLGtCQUFrQjtRQUNoQixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzNDLENBQUM7Ozs7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7Ozs7SUFFRCxPQUFPO1FBQ0wsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxJQUFJOzs7O1lBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtnQkFDdkMsSUFBSSxTQUFTLEVBQUU7b0JBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7aUJBQy9CO1lBQ0gsQ0FBQyxFQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDL0I7SUFDSCxDQUFDOzs7O0lBRUQsTUFBTTtRQUNKLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7WUFDM0IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsVUFBVTtTQUN6QzthQUFNO1lBQ0wsSUFBSSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUMsQ0FBQyxTQUFTO1NBQ2pDO0lBQ0gsQ0FBQzs7OztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvQixDQUFDOzs7O0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7Ozs7O0lBRU8sT0FBTztRQUNiLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSxPQUFPLENBQUM7UUFDMUUsSUFBSSxDQUFDLGNBQWM7WUFDakIsSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sSUFBSSxTQUFTLENBQUM7UUFDOUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQy9CLENBQUM7OztZQS9FRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtnQkFFNUIsNHpFQUFxQzs7YUFDdEM7Ozs7WUFOUSxZQUFZOzs7eUJBV2xCLEtBQUs7NEJBQ0wsS0FBSzsyQkFDTCxLQUFLOzBCQUNMLEtBQUs7NkJBQ0wsS0FBSzsyQkFDTCxLQUFLOzZCQUNMLEtBQUs7OEJBQ0wsS0FBSzs0QkFDTCxLQUFLOzBCQUNMLEtBQUs7NkJBR0wsS0FBSzswQkFHTCxLQUFLO21CQUNMLEtBQUs7b0JBQ0wsS0FBSztzQkFDTCxLQUFLO3VCQUNMLE1BQU07d0JBQ04sTUFBTTs0QkFNTixZQUFZLFNBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTs7OztJQTdCN0MsNENBQW1COztJQUduQiwyQ0FBNEI7O0lBQzVCLDhDQUErQjs7SUFDL0IsNkNBQThCOztJQUM5Qiw0Q0FBNkI7O0lBQzdCLCtDQUFnQzs7SUFDaEMsNkNBQTJCOztJQUMzQiwrQ0FBNkI7O0lBQzdCLGdEQUE4Qjs7SUFDOUIsOENBQStCOztJQUMvQiw0Q0FBNkI7O0lBRzdCLCtDQUFrQzs7SUFHbEMsNENBQTBCOztJQUMxQixxQ0FBbUI7O0lBQ25CLHNDQUEwQjs7SUFDMUIsd0NBQXlCOztJQUN6Qix5Q0FBMEU7O0lBQzFFLDBDQUEyRTs7SUFFM0UsNENBQXlCOztJQUl6Qiw4Q0FBa0U7O0lBQ2xFLDZDQUE4Qjs7SUFKbEIsMENBQXFEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIElucHV0LFxyXG4gIENvbnRlbnRDaGlsZCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5pbXBvcnQgeyBNYXREaWFsb2dSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJycy1jb21tb24tZGlhbG9nXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2luZGV4LmNvbXBvbmVudC5zY3NzXCJdLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vaW5kZXguY29tcG9uZW50Lmh0bWxcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbW1vbkRpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHVibGljIHRyYW5zbGF0aW9uO1xyXG5cclxuICAvLyDpmpDol4/lhYPntKDnm7jlhbPlsZ7mgKdcclxuICBASW5wdXQoKSBoaWRlSGVhZGVyID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaGlkZUNsb3NlSWNvbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGhpZGVDbG9zZUJ0biA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGhpZGVTYXZlQnRuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaGlkZURpc2NhcmRCdG4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzYXZlQnRuTGFiZWwgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIGNhbmNlbEJ0bkxhYmVsID0gXCJcIjtcclxuICBASW5wdXQoKSBkaXNjYXJkQnRuTGFiZWwgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIHNob3dFcnJvckljb24gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzaG93Wm9vbUJ0biA9IGZhbHNlO1xyXG5cclxuICAvLyDlhbPpl63liY3nmoTlm57osIPlh73mlbBcclxuICBASW5wdXQoKSBvbkNsb3NlUmVxdWVzdDogRnVuY3Rpb247XHJcblxyXG4gIC8vIOaYvuekuuebuOWFs+WxnuaAp1xyXG4gIEBJbnB1dCgpIGRpYWxvZ1N0eWxlID0ge307XHJcbiAgQElucHV0KCkgc2l6ZSA9IFwiXCI7XHJcbiAgQElucHV0KCkgdGl0bGUgPSBcIkRpYWxvZ1wiO1xyXG4gIEBJbnB1dCgpIGxvYWRpbmcgPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgc2F2ZUVtaXQ6IEV2ZW50RW1pdHRlcjxGdW5jdGlvbj4gPSBuZXcgRXZlbnRFbWl0dGVyPEZ1bmN0aW9uPigpO1xyXG4gIEBPdXRwdXQoKSBjbG9zZUVtaXQ6IEV2ZW50RW1pdHRlcjxGdW5jdGlvbj4gPSBuZXcgRXZlbnRFbWl0dGVyPEZ1bmN0aW9uPigpO1xyXG5cclxuICBkZWZhdWx0U2l6ZTogc3RyaW5nID0gXCJcIjtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8Q29tbW9uRGlhbG9nQ29tcG9uZW50Pikge31cclxuXHJcbiAgLy8g5o6n5Yi25bqV6YOo5o+S5qe95pyJ5YaF5a655pe26ZqQ6JeP6buY6K6k5oyJ6ZKuXHJcbiAgQENvbnRlbnRDaGlsZChcImZvb3RlclNsb3RcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGZvb3RlckNvbnRlbnQ6IGFueTtcclxuICBjdXN0b21Gb290ZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XHJcbiAgICB0aGlzLmN1c3RvbUZvb3RlciA9ICEhdGhpcy5mb290ZXJDb250ZW50O1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmdldEluZm8oKTtcclxuICB9XHJcblxyXG4gIG9uQ2xvc2UoKSB7XHJcbiAgICBpZiAodGhpcy5vbkNsb3NlUmVxdWVzdCkge1xyXG4gICAgICB0aGlzLm9uQ2xvc2VSZXF1ZXN0KCkudGhlbigoY29uZmlybWVkKSA9PiB7XHJcbiAgICAgICAgaWYgKGNvbmZpcm1lZCkge1xyXG4gICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoXCJjbG9zZVwiKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoXCJjbG9zZVwiKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uWm9vbSgpIHtcclxuICAgIGlmICh0aGlzLnNpemUgPT09IFwibGFyZ2VzdFwiKSB7XHJcbiAgICAgIHRoaXMuc2l6ZSA9IHRoaXMuZGVmYXVsdFNpemU7IC8vIOaBouWkjeWIsOWOn+Wni+Wkp+Wwj1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zaXplID0gXCJsYXJnZXN0XCI7IC8vIOiuvue9ruS4uuacgOWkp+WMllxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25TYXZlKCkge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoXCJzYXZlXCIpO1xyXG4gIH1cclxuXHJcbiAgb25EaXNjYXJkKCkge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoXCJkaXNjYXJkXCIpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRJbmZvKCkge1xyXG4gICAgdGhpcy50cmFuc2xhdGlvbiA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJ0cmFuc2xhdGlvblwiKSkgfHwge307XHJcbiAgICB0aGlzLnNhdmVCdG5MYWJlbCA9IHRoaXMuc2F2ZUJ0bkxhYmVsIHx8IHRoaXMudHJhbnNsYXRpb24uU0FWRSB8fCBcIi5TQVZFXCI7XHJcbiAgICB0aGlzLmNhbmNlbEJ0bkxhYmVsID1cclxuICAgICAgdGhpcy5jYW5jZWxCdG5MYWJlbCB8fCB0aGlzLnRyYW5zbGF0aW9uLkNBTkNFTCB8fCBcIi5DQU5DRUxcIjtcclxuICAgIHRoaXMuZGVmYXVsdFNpemUgPSB0aGlzLnNpemU7XHJcbiAgfVxyXG59XHJcbiJdfQ==
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9kaWFsb2cvY29tbW9uLWRpYWxvZy9pbmRleC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFDTCxZQUFZLEVBQ1osTUFBTSxFQUNOLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFPeEQsTUFBTSxPQUFPLHFCQUFxQjs7OztJQTRCaEMsWUFBbUIsU0FBOEM7UUFBOUMsY0FBUyxHQUFULFNBQVMsQ0FBcUM7O1FBeEJ4RCxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLG9CQUFlLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGVBQVUsR0FBRyxLQUFLLENBQUM7O1FBTW5CLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLFNBQUksR0FBRyxFQUFFLENBQUM7UUFDVixVQUFLLEdBQUcsUUFBUSxDQUFDO1FBQ2pCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDZixhQUFRLEdBQTJCLElBQUksWUFBWSxFQUFZLENBQUM7UUFDaEUsY0FBUyxHQUEyQixJQUFJLFlBQVksRUFBWSxDQUFDO1FBRTNFLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBS3pCLGlCQUFZLEdBQVksS0FBSyxDQUFDO0lBSnVDLENBQUM7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O0lBQ2xFLDZDQUE4Qjs7SUFKbEIsMENBQXFEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIElucHV0LFxyXG4gIENvbnRlbnRDaGlsZCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5pbXBvcnQgeyBNYXREaWFsb2dSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJycy1jb21tb24tZGlhbG9nXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2luZGV4LmNvbXBvbmVudC5zY3NzXCJdLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vaW5kZXguY29tcG9uZW50Lmh0bWxcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbW1vbkRpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHVibGljIHRyYW5zbGF0aW9uO1xyXG5cclxuICAvLyDpmpDol4/lhYPntKDnm7jlhbPlsZ7mgKdcclxuICBASW5wdXQoKSBoaWRlSGVhZGVyID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaGlkZUNsb3NlSWNvbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGhpZGVDbG9zZUJ0biA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGhpZGVTYXZlQnRuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaGlkZURpc2NhcmRCdG4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNhdmVCdG5MYWJlbCA9IFwiXCI7XHJcbiAgQElucHV0KCkgY2FuY2VsQnRuTGFiZWwgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIGRpc2NhcmRCdG5MYWJlbCA9IFwiXCI7XHJcbiAgQElucHV0KCkgc2hvd0Vycm9ySWNvbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNob3dab29tQnRuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgY3VzdG9tU2F2ZSA9IGZhbHNlO1xyXG5cclxuICAvLyDlhbPpl63liY3nmoTlm57osIPlh73mlbBcclxuICBASW5wdXQoKSBvbkNsb3NlUmVxdWVzdDogRnVuY3Rpb247XHJcblxyXG4gIC8vIOaYvuekuuebuOWFs+WxnuaAp1xyXG4gIEBJbnB1dCgpIGRpYWxvZ1N0eWxlID0ge307XHJcbiAgQElucHV0KCkgc2l6ZSA9IFwiXCI7XHJcbiAgQElucHV0KCkgdGl0bGUgPSBcIkRpYWxvZ1wiO1xyXG4gIEBJbnB1dCgpIGxvYWRpbmcgPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgc2F2ZUVtaXQ6IEV2ZW50RW1pdHRlcjxGdW5jdGlvbj4gPSBuZXcgRXZlbnRFbWl0dGVyPEZ1bmN0aW9uPigpO1xyXG4gIEBPdXRwdXQoKSBjbG9zZUVtaXQ6IEV2ZW50RW1pdHRlcjxGdW5jdGlvbj4gPSBuZXcgRXZlbnRFbWl0dGVyPEZ1bmN0aW9uPigpO1xyXG5cclxuICBkZWZhdWx0U2l6ZTogc3RyaW5nID0gXCJcIjtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8Q29tbW9uRGlhbG9nQ29tcG9uZW50PikgeyB9XHJcblxyXG4gIC8vIOaOp+WItuW6lemDqOaPkuanveacieWGheWuueaXtumakOiXj+m7mOiupOaMiemSrlxyXG4gIEBDb250ZW50Q2hpbGQoXCJmb290ZXJTbG90XCIsIHsgc3RhdGljOiBmYWxzZSB9KSBmb290ZXJDb250ZW50OiBhbnk7XHJcbiAgY3VzdG9tRm9vdGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xyXG4gICAgdGhpcy5jdXN0b21Gb290ZXIgPSAhIXRoaXMuZm9vdGVyQ29udGVudDtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5nZXRJbmZvKCk7XHJcbiAgfVxyXG5cclxuICBvbkNsb3NlKCkge1xyXG4gICAgaWYgKHRoaXMub25DbG9zZVJlcXVlc3QpIHtcclxuICAgICAgdGhpcy5vbkNsb3NlUmVxdWVzdCgpLnRoZW4oKGNvbmZpcm1lZCkgPT4ge1xyXG4gICAgICAgIGlmIChjb25maXJtZWQpIHtcclxuICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKFwiY2xvc2VcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKFwiY2xvc2VcIik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblpvb20oKSB7XHJcbiAgICBpZiAodGhpcy5zaXplID09PSBcImxhcmdlc3RcIikge1xyXG4gICAgICB0aGlzLnNpemUgPSB0aGlzLmRlZmF1bHRTaXplOyAvLyDmgaLlpI3liLDljp/lp4vlpKflsI9cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2l6ZSA9IFwibGFyZ2VzdFwiOyAvLyDorr7nva7kuLrmnIDlpKfljJZcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uU2F2ZSgpIHtcclxuICAgIGlmICh0aGlzLmN1c3RvbVNhdmUpIHtcclxuICAgICAgdGhpcy5zYXZlRW1pdC5lbWl0KCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShcInNhdmVcIik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkRpc2NhcmQoKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShcImRpc2NhcmRcIik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEluZm8oKSB7XHJcbiAgICB0aGlzLnRyYW5zbGF0aW9uID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInRyYW5zbGF0aW9uXCIpKSB8fCB7fTtcclxuICAgIHRoaXMuc2F2ZUJ0bkxhYmVsID0gdGhpcy5zYXZlQnRuTGFiZWwgfHwgdGhpcy50cmFuc2xhdGlvbi5TQVZFIHx8IFwiLlNBVkVcIjtcclxuICAgIHRoaXMuY2FuY2VsQnRuTGFiZWwgPVxyXG4gICAgICB0aGlzLmNhbmNlbEJ0bkxhYmVsIHx8IHRoaXMudHJhbnNsYXRpb24uQ0FOQ0VMIHx8IFwiLkNBTkNFTFwiO1xyXG4gICAgdGhpcy5kZWZhdWx0U2l6ZSA9IHRoaXMuc2l6ZTtcclxuICB9XHJcbn1cclxuIl19
@@ -78,7 +78,7 @@ NewActionNotificationComponent.decorators = [
78
78
  { type: Component, args: [{
79
79
  selector: "kt-new-action-notification",
80
80
  template: "<div class=\"new-action-notification-container\" [attr.data-collapse]=\"collapsed\">\r\n\t<span\r\n\t\tclass=\"notification-icon\"\r\n\t\t[attr.data-type]=\"config.type === 'Loading' ? 'loading' : 'default'\"\r\n\t\t[attr.data-status]=\"config.status?.toLowerCase()\"\r\n\t\t(click)=\"expandNotification()\"\r\n\t></span>\r\n\t<span\r\n\t\tclass=\"notification-icon notification-loading\"\r\n\t\t*ngIf=\"config.type === 'Progress'\"\r\n\t></span>\r\n\t<div class=\"notification-content\">\r\n\t\t<span *ngIf=\"config.type === 'Detail'\" class=\"notification-title\">\r\n\t\t\t{{ config.title }}\r\n\t\t</span>\r\n\t\t<span class=\"notification-text\">{{ config.message }}</span>\r\n\t\t<a *ngIf=\"config.type === 'Detail'\" class=\"notification-link\">View</a>\r\n\t</div>\r\n\t<button\r\n\t\ttype=\"button\"\r\n\t\tclass=\"notification-close\"\r\n\t\t[attr.data-type]=\"config.type === 'Loading' ? 'loading' : 'default'\"\r\n\t\t(click)=\"closeNotification()\"\r\n\t></button>\r\n</div>\r\n",
81
- styles: ["::ng-deep .new-action-notification{margin:0;padding:64px 12px;background-color:transparent!important;background-image:none!important;box-shadow:none}::ng-deep .mat-mdc-snack-bar-container .mdc-snackbar__surface{box-shadow:none;background-color:transparent}.new-action-notification-container{min-width:320px;max-width:400px;padding:12px;border-radius:10px;background-color:#fff;box-shadow:0 0 8px 0 #00000033;display:flex;flex-flow:row nowrap;align-items:flex-start;justify-content:flex-end}.new-action-notification-container .notification-icon{flex:none;width:24px;height:24px;margin-right:8px}.new-action-notification-container .notification-icon[data-type=default][data-status=success]::before{content:url(../../../assets/img/notification-status-success.svg)}.new-action-notification-container .notification-icon[data-type=default][data-status=warning]::before{content:url(../../../assets/img/notification-status-warning.svg)}.new-action-notification-container .notification-icon[data-type=default][data-status=error]::before{content:url(../../../assets/img/notification-status-error.svg)}.new-action-notification-container .notification-icon[data-type=loading]{-webkit-animation:2s linear infinite rotate;animation:2s linear infinite rotate}@-webkit-keyframes rotate{from{transform:rotate(360deg)}to{transform:rotate(0)}}@keyframes rotate{from{transform:rotate(360deg)}to{transform:rotate(0)}}.new-action-notification-container .notification-icon[data-type=loading]::before{content:url(../../../assets/img/notification-status-loading.svg)}.new-action-notification-container .notification-close{flex:none;height:24px;margin-left:24px;padding:0;border:none;background-color:transparent}.new-action-notification-container .notification-close[data-type=default]::before{content:url(../../../assets/img/notification-close.svg)}.new-action-notification-container .notification-close[data-type=loading]::before{content:url(../../../assets/img/notification-collapse.svg)}.new-action-notification-container .notification-content{flex:auto;min-height:24px;padding-top:4px;display:flex;flex-flow:column nowrap}.new-action-notification-container .notification-content .notification-title{margin-bottom:8px;color:#44566c;font-family:Arial;font-size:13px;font-style:normal;font-weight:700;line-height:19px}.new-action-notification-container .notification-content .notification-text{color:#1f3f5c;font-family:Arial;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.new-action-notification-container .notification-content .notification-link{margin-top:6px;cursor:pointer;color:#1364b3;font-family:Arial;font-size:12px;font-style:normal;font-weight:400;line-height:14px}.new-action-notification-container[data-collapse=true]{padding:0;background-color:transparent;box-shadow:none}.new-action-notification-container[data-collapse=true] .notification-icon{cursor:pointer}.new-action-notification-container[data-collapse=true] .notification-close,.new-action-notification-container[data-collapse=true] .notification-content{display:none}"]
81
+ styles: ["::ng-deep .new-action-notification{margin:0;padding:64px 12px;background-color:transparent!important;background-image:none!important;box-shadow:none}::ng-deep .mat-mdc-snack-bar-container .mdc-snackbar__surface{box-shadow:none;background-color:transparent}.new-action-notification-container{min-width:320px;max-width:400px;padding:12px;border-radius:10px;background-color:#fff;box-shadow:0 0 8px 0 #00000033;display:flex;flex-flow:row nowrap;align-items:flex-start;justify-content:flex-end}.new-action-notification-container .notification-icon{flex:none;width:24px;height:24px;margin-right:8px}.new-action-notification-container .notification-icon[data-type=default][data-status=success]::before{content:url(../../assets/img/notification-status-success.svg)}.new-action-notification-container .notification-icon[data-type=default][data-status=warning]::before{content:url(../../assets/img/notification-status-warning.svg)}.new-action-notification-container .notification-icon[data-type=default][data-status=error]::before{content:url(../../assets/img/notification-status-error.svg)}.new-action-notification-container .notification-icon[data-type=loading]{-webkit-animation:2s linear infinite rotate;animation:2s linear infinite rotate}@-webkit-keyframes rotate{from{transform:rotate(360deg)}to{transform:rotate(0)}}@keyframes rotate{from{transform:rotate(360deg)}to{transform:rotate(0)}}.new-action-notification-container .notification-icon[data-type=loading]::before{content:url(../../assets/img/notification-status-loading.svg)}.new-action-notification-container .notification-close{flex:none;height:24px;margin-left:24px;padding:0;border:none;background-color:transparent}.new-action-notification-container .notification-close[data-type=default]::before{content:url(../../assets/img/notification-close.svg)}.new-action-notification-container .notification-close[data-type=loading]::before{content:url(../../assets/img/notification-collapse.svg)}.new-action-notification-container .notification-content{flex:auto;min-height:24px;padding-top:4px;display:flex;flex-flow:column nowrap}.new-action-notification-container .notification-content .notification-title{margin-bottom:8px;color:#44566c;font-family:Arial;font-size:13px;font-style:normal;font-weight:700;line-height:19px}.new-action-notification-container .notification-content .notification-text{color:#1f3f5c;font-family:Arial;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.new-action-notification-container .notification-content .notification-link{margin-top:6px;cursor:pointer;color:#1364b3;font-family:Arial;font-size:12px;font-style:normal;font-weight:400;line-height:14px}.new-action-notification-container[data-collapse=true]{padding:0;background-color:transparent;box-shadow:none}.new-action-notification-container[data-collapse=true] .notification-icon{cursor:pointer}.new-action-notification-container[data-collapse=true] .notification-close,.new-action-notification-container[data-collapse=true] .notification-content{display:none}"]
82
82
  }] }
83
83
  ];
84
84
  /** @nocollapse */
@@ -31,6 +31,8 @@ export class DrawerFormComponent {
31
31
  this.formChange = new EventEmitter();
32
32
  this.fieldChange = new EventEmitter();
33
33
  this.sections = [];
34
+ this.fieldTypeMap = {};
35
+ this.formFieldMap = {};
34
36
  this.form = {};
35
37
  this.fieldValidMap = {};
36
38
  // 存储 datepicker 的值
@@ -50,15 +52,15 @@ export class DrawerFormComponent {
50
52
  ngOnChanges(changes) {
51
53
  if (changes._sections) {
52
54
  this.sections = filterShowSection(changes._sections.currentValue);
53
- this.form = this.getFormProxy(this.formatForm(this.sections, Object.assign({}, this.form)));
54
- this.syncFormField();
55
- this.formChange.emit(this.form);
55
+ this.formatFieldMap();
56
+ this.setForm(Object.assign({}, this.form, this._form));
56
57
  }
57
58
  if (changes._form) {
58
59
  if (!changes._form.currentValue[FORM_PROXY_TAG]) {
59
- this.form = this.getFormProxy(this.formatForm(this.sections, changes._form.currentValue));
60
- this.syncFormField();
61
- this.formChange.emit(this.form);
60
+ this.setForm(changes._form.currentValue);
61
+ }
62
+ else {
63
+ this.form = changes._form.currentValue;
62
64
  }
63
65
  if (!changes._form.firstChange) {
64
66
  this.checkFormChange(changes._form.previousValue, changes._form.currentValue);
@@ -87,6 +89,13 @@ export class DrawerFormComponent {
87
89
  this.sectionContainers = containers;
88
90
  this.customSectionRender(containers);
89
91
  }));
92
+ this.dropdowns.changes.subscribe((/**
93
+ * @param {?} dropdowns
94
+ * @return {?}
95
+ */
96
+ (dropdowns) => {
97
+ this.dropdowns = dropdowns;
98
+ }));
90
99
  if (this.showAnchor) {
91
100
  this.initAnchorScrollHandler();
92
101
  }
@@ -98,22 +107,7 @@ export class DrawerFormComponent {
98
107
  customTemplateRender(containers) {
99
108
  if (this.customTemplate && containers.length > 0) {
100
109
  /** @type {?} */
101
- const customFields = [];
102
- this.sections.forEach((/**
103
- * @param {?} section
104
- * @return {?}
105
- */
106
- (section) => {
107
- section.fields.forEach((/**
108
- * @param {?} field
109
- * @return {?}
110
- */
111
- (field) => {
112
- if (field.fieldFormType === "Custom") {
113
- customFields.push(field);
114
- }
115
- }));
116
- }));
110
+ const customFields = this.fieldTypeMap.Custom || [];
117
111
  containers.forEach((/**
118
112
  * @param {?} container
119
113
  * @param {?} index
@@ -154,6 +148,39 @@ export class DrawerFormComponent {
154
148
  }));
155
149
  }
156
150
  }
151
+ /**
152
+ * @return {?}
153
+ */
154
+ formatFieldMap() {
155
+ this.fieldTypeMap = {};
156
+ this.formFieldMap = {};
157
+ this.sections.forEach((/**
158
+ * @param {?} section
159
+ * @return {?}
160
+ */
161
+ (section) => {
162
+ section.fields.forEach((/**
163
+ * @param {?} field
164
+ * @return {?}
165
+ */
166
+ (field) => {
167
+ if (!this.fieldTypeMap[field.fieldFormType]) {
168
+ this.fieldTypeMap[field.fieldFormType] = [];
169
+ }
170
+ this.fieldTypeMap[field.fieldFormType].push(field);
171
+ this.formFieldMap[field.formKey] = field;
172
+ }));
173
+ }));
174
+ }
175
+ /**
176
+ * @param {?} form
177
+ * @return {?}
178
+ */
179
+ setForm(form) {
180
+ this.form = this.getFormProxy(this.formatForm(this.sections, form));
181
+ this.syncFormField();
182
+ this.formChange.emit(this.form);
183
+ }
157
184
  /**
158
185
  * @param {?} value
159
186
  * @param {?} compareValue
@@ -394,21 +421,7 @@ export class DrawerFormComponent {
394
421
  * @return {?}
395
422
  */
396
423
  getField(formKey) {
397
- /** @type {?} */
398
- let fieldItem = null;
399
- this.sections.find((/**
400
- * @param {?} section
401
- * @return {?}
402
- */
403
- (section) => {
404
- fieldItem = section.fields.find((/**
405
- * @param {?} field
406
- * @return {?}
407
- */
408
- (field) => field.formKey === formKey));
409
- return fieldItem;
410
- }));
411
- return fieldItem;
424
+ return this.formFieldMap[formKey] || null;
412
425
  }
413
426
  /**
414
427
  * @private
@@ -506,6 +519,18 @@ export class DrawerFormComponent {
506
519
  }
507
520
  event.updateData(this.getOptions(field), query);
508
521
  }
522
+ /**
523
+ * @param {?} event
524
+ * @param {?} field
525
+ * @return {?}
526
+ */
527
+ onDropdownDataBound(event, field) {
528
+ /** @type {?} */
529
+ const index = this.fieldTypeMap[field.fieldFormType].indexOf(field);
530
+ if (event.items.length > 0 && index !== -1) {
531
+ this.dropdowns.toArray()[index].value = this.form[field.formKey];
532
+ }
533
+ }
509
534
  /**
510
535
  * @param {?} field
511
536
  * @return {?}
@@ -619,8 +644,8 @@ export class DrawerFormComponent {
619
644
  DrawerFormComponent.decorators = [
620
645
  { type: Component, args: [{
621
646
  selector: "rs-drawer-form",
622
- template: "<div #drawerFormEl class=\"rs-drawer-form-container\">\r\n <div class=\"section-container\">\r\n <div #sectionEl class=\"section-item\" *ngFor=\"let section of sections\">\r\n <input\r\n type=\"checkbox\"\r\n class=\"section-expand-checkbox\"\r\n *ngIf=\"section.title\"\r\n />\r\n <div class=\"section-title\" *ngIf=\"section.title\">\r\n <span>{{ section.title }}</span>\r\n </div>\r\n <div class=\"section-form\" *ngIf=\"!section.customKey\">\r\n <div\r\n class=\"form-item\"\r\n *ngFor=\"let field of section.fields\"\r\n [attr.data-required]=\"field.required ? 'yes' : 'no'\"\r\n [attr.data-disabled]=\"field.disabled || formDisabled ? 'yes' : 'no'\"\r\n [attr.data-error]=\"\r\n fieldValidMap[field.formKey] === false ? 'yes' : 'no'\r\n \"\r\n >\r\n <div class=\"form-label\">\r\n <span>{{ field.label }}</span>\r\n <ejs-tooltip\r\n class=\"form-tooltip\"\r\n cssClass=\"rs-drawer-tooltip\"\r\n *ngIf=\"field.tooltip\"\r\n position=\"RightCenter\"\r\n [content]=\"field.tooltip\"\r\n >\r\n <span class=\"tooltip-icon\"></span>\r\n </ejs-tooltip>\r\n </div>\r\n <div class=\"form-content\">\r\n <!-- Radio -->\r\n <rs-radio-group\r\n *ngIf=\"field.fieldFormType === 'Radio'\"\r\n [value]=\"form[field.formKey]\"\r\n [dataSource]=\"getOptions(field)\"\r\n [fields]=\"getOptionFields(field)\"\r\n [disabled]=\"getDisabled(field)\"\r\n [error]=\"fieldValidMap[field.formKey] === false\"\r\n (valueChange)=\"onChange($event, field)\"\r\n ></rs-radio-group>\r\n <!-- Checkbox -->\r\n <rs-checkbox-group\r\n *ngIf=\"field.fieldFormType === 'Checkbox'\"\r\n [value]=\"form[field.formKey]\"\r\n [dataSource]=\"getOptions(field)\"\r\n [fields]=\"getOptionFields(field)\"\r\n [disabled]=\"getDisabled(field)\"\r\n [error]=\"fieldValidMap[field.formKey] === false\"\r\n (valueChange)=\"onChange($event, field)\"\r\n ></rs-checkbox-group>\r\n <!-- Switch -->\r\n <rs-switch-input\r\n *ngIf=\"field.fieldFormType === 'Switch'\"\r\n [value]=\"form[field.formKey]\"\r\n [disabled]=\"getDisabled(field)\"\r\n (valueChange)=\"onChange($event, field)\"\r\n ></rs-switch-input>\r\n <!-- Input -->\r\n <input\r\n class=\"e-input\"\r\n *ngIf=\"\r\n field.fieldFormType === 'Text' ||\r\n field.fieldFormType === 'Email'\r\n \"\r\n [value]=\"form[field.formKey]\"\r\n [disabled]=\"getDisabled(field)\"\r\n [required]=\"field.required\"\r\n [attr.maxlength]=\"field.maxlength\"\r\n [attr.minlength]=\"field.minlength\"\r\n [class.error]=\"fieldValidMap[field.formKey] === false\"\r\n (input)=\"onInput($event.target.value, field)\"\r\n (change)=\"onChange($event.target.value, field)\"\r\n (focus)=\"onFocus(field)\"\r\n (blur)=\"onBlur(field)\"\r\n autocomplete=\"off\"\r\n />\r\n <!-- Textarea -->\r\n <textarea\r\n class=\"e-input\"\r\n *ngIf=\"field.fieldFormType === 'Textarea'\"\r\n [value]=\"form[field.formKey]\"\r\n [disabled]=\"getDisabled(field)\"\r\n [required]=\"field.required\"\r\n [attr.maxlength]=\"field.maxlength\"\r\n [attr.minlength]=\"field.minlength\"\r\n [class.error]=\"fieldValidMap[field.formKey] === false\"\r\n (input)=\"onInput($event.target.value, field)\"\r\n (change)=\"onChange($event.target.value, field)\"\r\n (focus)=\"onFocus(field)\"\r\n (blur)=\"onBlur(field)\"\r\n autocomplete=\"off\"\r\n rows=\"3\"\r\n ></textarea>\r\n <!-- Number Input -->\r\n <ejs-numerictextbox\r\n *ngIf=\"field.fieldFormType === 'Number'\"\r\n [value]=\"form[field.formKey]\"\r\n [max]=\"field.max\"\r\n [min]=\"field.min\"\r\n [step]=\"field.step\"\r\n [decimals]=\"field.decimals\"\r\n [format]=\"field.format || numberFormat\"\r\n [enabled]=\"!getDisabled(field)\"\r\n [class.error]=\"fieldValidMap[field.formKey] === false\"\r\n (change)=\"onComponentChange($event, field)\"\r\n (focus)=\"onFocus(field)\"\r\n (blur)=\"onBlur(field)\"\r\n ></ejs-numerictextbox>\r\n <!-- Tags Input -->\r\n <rs-tag-input\r\n *ngIf=\"field.fieldFormType === 'Tags'\"\r\n [value]=\"form[field.formKey]\"\r\n [fields]=\"getOptionFields(field)\"\r\n [inputMaxlength]=\"field.maxlength\"\r\n [inputMinlength]=\"field.minlength\"\r\n [disabled]=\"getDisabled(field)\"\r\n [error]=\"fieldValidMap[field.formKey] === false\"\r\n (valueChange)=\"onChange($event, field)\"\r\n (focus)=\"onFocus(field)\"\r\n (blur)=\"onBlur(field)\"\r\n ></rs-tag-input>\r\n <!-- AutoComplete -->\r\n <ejs-autocomplete\r\n *ngIf=\"field.fieldFormType === 'AutoComplete'\"\r\n [value]=\"form[field.formKey]\"\r\n [dataSource]=\"getOptions(field)\"\r\n [fields]=\"getOptionFields(field)\"\r\n [enabled]=\"!getDisabled(field)\"\r\n [class.error]=\"fieldValidMap[field.formKey] === false\"\r\n (filtering)=\"onFiltering($event, field)\"\r\n (change)=\"onComponentChange($event, field)\"\r\n (focus)=\"onFocus(field)\"\r\n (blur)=\"onBlur(field)\"\r\n ></ejs-autocomplete>\r\n <!-- Dropdown -->\r\n <ejs-dropdownlist\r\n *ngIf=\"field.fieldFormType === 'Dropdown'\"\r\n [value]=\"form[field.formKey]\"\r\n [dataSource]=\"getOptions(field)\"\r\n [fields]=\"getOptionFields(field)\"\r\n [allowFiltering]=\"true\"\r\n [showClearButton]=\"true\"\r\n [enabled]=\"!getDisabled(field)\"\r\n [class.error]=\"fieldValidMap[field.formKey] === false\"\r\n (filtering)=\"onFiltering($event, field)\"\r\n (change)=\"onComponentChange($event, field)\"\r\n (focus)=\"onFocus(field)\"\r\n (blur)=\"onBlur(field)\"\r\n ></ejs-dropdownlist>\r\n <!-- MultiSelect -->\r\n <ejs-multiselect\r\n *ngIf=\"field.fieldFormType === 'MultiSelect'\"\r\n mode=\"CheckBox\"\r\n [ngModel]=\"form[field.formKey]\"\r\n [dataSource]=\"getOptions(field)\"\r\n [fields]=\"getOptionFields(field)\"\r\n [allowFiltering]=\"true\"\r\n [showDropDownIcon]=\"true\"\r\n [enabled]=\"!getDisabled(field)\"\r\n [class.error]=\"fieldValidMap[field.formKey] === false\"\r\n (filtering)=\"onFiltering($event, field)\"\r\n (change)=\"onComponentChange($event, field)\"\r\n (focus)=\"onFocus(field)\"\r\n (blur)=\"onBlur(field)\"\r\n >\r\n </ejs-multiselect>\r\n <!-- Datepicker -->\r\n <ejs-datepicker\r\n *ngIf=\"field.fieldFormType === 'Datepicker'\"\r\n [(value)]=\"dateForm[field.formKey]\"\r\n [format]=\"field.format || dateFormat\"\r\n [enabled]=\"!getDisabled(field)\"\r\n [class.error]=\"\r\n fieldValidMap[field.formKey] === false ||\r\n dateValidMap[field.formKey] === false\r\n \"\r\n (change)=\"onComponentChange($event, field)\"\r\n (focus)=\"onFocus(field)\"\r\n (blur)=\"onDatePickerBlur($event, field)\"\r\n ></ejs-datepicker>\r\n <ng-template\r\n #customTemplateContainer\r\n *ngIf=\"field.fieldFormType === 'Custom'\"\r\n ></ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"section-form\" *ngIf=\"section.customKey\">\r\n <ng-template #customSectionContainer></ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"sections.length > 1 && showAnchor\" class=\"anchor-container\">\r\n <div\r\n class=\"anchor-item\"\r\n *ngFor=\"let section of sections; let index = index\"\r\n [style.display]=\"section.title ? 'block' : 'none'\"\r\n [attr.data-active]=\"scrollIndex === index ? 'yes' : 'no'\"\r\n [attr.data-content]=\"section.title\"\r\n (click)=\"onClickAnchor(index)\"\r\n ></div>\r\n </div>\r\n</div>\r\n",
623
- styles: [":host{display:block;margin-top:16px}.rs-drawer-form-container{display:flex;flex-flow:row nowrap;align-items:flex-start;gap:32px}.rs-drawer-form-container .section-container{flex:auto;display:flex;flex-flow:column nowrap;max-width:1576px}.rs-drawer-form-container .section-item{position:relative}.rs-drawer-form-container .section-item:not(:first-child){border-top:1px solid #eaedf0}.rs-drawer-form-container .section-expand-checkbox{display:block;width:100%;height:28px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;position:absolute;top:0;left:0}.rs-drawer-form-container .section-expand-checkbox:checked+.section-title::before{transform:rotate(-90deg)}.rs-drawer-form-container .section-expand-checkbox:checked+.section-title+.section-form{max-height:0;overflow:hidden}.rs-drawer-form-container .section-title{padding:6px 0;margin-bottom:12px;color:#44566c;font-family:Arial;font-size:13px;font-style:normal;font-weight:700;line-height:16px;display:flex;flex-flow:row nowrap;align-items:center;pointer-events:none}.rs-drawer-form-container .section-title::before{content:url(../../../assets/img/down-arrow.svg);display:block;height:16px;width:16px;margin-right:8px}.rs-drawer-form-container .section-form{display:flex;flex-flow:row wrap;justify-content:space-between;gap:12px 56px;max-width:1576px;padding:0 24px;margin-bottom:20px}.rs-drawer-form-container .section-form .form-item{min-height:28px;min-width:400px;max-width:700px;width:calc((100% - 56px)/ 2);display:flex;flex-flow:row nowrap;justify-content:flex-start;align-items:flex-start}.rs-drawer-form-container .section-form .form-item[data-required=yes] .form-label>span:first-child::after{content:\"*\";color:var(--rs-input-require-label-color)}.rs-drawer-form-container .section-form .form-item .form-label{flex:none;width:144px;height:28px;margin-right:16px;color:#43566c;font-family:Arial;font-size:12px;font-style:normal;font-weight:400;line-height:14px;display:flex;flex-flow:row nowrap;align-items:center}.rs-drawer-form-container .section-form .form-item .form-label .form-tooltip{margin-left:4px}.rs-drawer-form-container .section-form .form-item .form-label .form-tooltip .tooltip-icon::before{content:\" \";display:block;width:14px;height:14px;background-image:url(../../../assets/img/tooltip-icon.svg);background-size:contain;cursor:pointer}.rs-drawer-form-container .section-form .form-item .form-content{flex:auto}@media (max-width:1420px){.rs-drawer-form-container .section-form .form-item{width:100%}}.rs-drawer-form-container .anchor-container{flex:none;display:flex;flex-flow:column nowrap;gap:4px;min-width:120px;height:auto;position:-webkit-sticky;position:sticky;top:56px}.rs-drawer-form-container .anchor-item{min-width:120px;padding:4px 12px;border-left:1px solid #eaedf0;cursor:pointer;color:#44566c;font-family:Arial;font-size:11px;font-style:normal;font-weight:400;line-height:16px;position:relative}.rs-drawer-form-container .anchor-item::before{content:attr(data-content);color:#44566c;font-weight:400;position:absolute;left:12px}.rs-drawer-form-container .anchor-item::after{content:attr(data-content);visibility:hidden;color:#1364b3;font-weight:700}.rs-drawer-form-container .anchor-item[data-active=yes]{border-color:#1f7bff}.rs-drawer-form-container .anchor-item[data-active=yes]::before{visibility:hidden}.rs-drawer-form-container .anchor-item[data-active=yes]::after{visibility:visible}.rs-drawer-tooltip.e-tooltip-wrap{border:none;background-color:#44566c}.rs-drawer-tooltip.e-tooltip-wrap .e-arrow-tip{height:4px;visibility:hidden}"]
647
+ template: "<div #drawerFormEl class=\"rs-drawer-form-container\">\r\n <div class=\"section-container\">\r\n <div #sectionEl class=\"section-item\" *ngFor=\"let section of sections\">\r\n <input\r\n type=\"checkbox\"\r\n class=\"section-expand-checkbox\"\r\n *ngIf=\"section.title\"\r\n />\r\n <div class=\"section-title\" *ngIf=\"section.title\">\r\n <span>{{ section.title }}</span>\r\n </div>\r\n <div class=\"section-form\" *ngIf=\"!section.customKey\">\r\n <div\r\n class=\"form-item\"\r\n *ngFor=\"let field of section.fields\"\r\n [attr.data-required]=\"field.required ? 'yes' : 'no'\"\r\n [attr.data-disabled]=\"field.disabled || formDisabled ? 'yes' : 'no'\"\r\n [attr.data-error]=\"\r\n fieldValidMap[field.formKey] === false ? 'yes' : 'no'\r\n \"\r\n >\r\n <div class=\"form-label\">\r\n <span>{{ field.label }}</span>\r\n <ejs-tooltip\r\n class=\"form-tooltip\"\r\n cssClass=\"rs-drawer-tooltip\"\r\n *ngIf=\"field.tooltip\"\r\n position=\"RightCenter\"\r\n [content]=\"field.tooltip\"\r\n >\r\n <span class=\"tooltip-icon\"></span>\r\n </ejs-tooltip>\r\n </div>\r\n <div class=\"form-content\">\r\n <!-- Radio -->\r\n <rs-radio-group\r\n *ngIf=\"field.fieldFormType === 'Radio'\"\r\n [value]=\"form[field.formKey]\"\r\n [dataSource]=\"getOptions(field)\"\r\n [fields]=\"getOptionFields(field)\"\r\n [disabled]=\"getDisabled(field)\"\r\n [error]=\"fieldValidMap[field.formKey] === false\"\r\n (valueChange)=\"onChange($event, field)\"\r\n ></rs-radio-group>\r\n <!-- Checkbox -->\r\n <rs-checkbox-group\r\n *ngIf=\"field.fieldFormType === 'Checkbox'\"\r\n [value]=\"form[field.formKey]\"\r\n [dataSource]=\"getOptions(field)\"\r\n [fields]=\"getOptionFields(field)\"\r\n [disabled]=\"getDisabled(field)\"\r\n [error]=\"fieldValidMap[field.formKey] === false\"\r\n (valueChange)=\"onChange($event, field)\"\r\n ></rs-checkbox-group>\r\n <!-- Switch -->\r\n <rs-switch-input\r\n *ngIf=\"field.fieldFormType === 'Switch'\"\r\n [value]=\"form[field.formKey]\"\r\n [disabled]=\"getDisabled(field)\"\r\n (valueChange)=\"onChange($event, field)\"\r\n ></rs-switch-input>\r\n <!-- Input -->\r\n <input\r\n class=\"e-input\"\r\n *ngIf=\"\r\n field.fieldFormType === 'Text' ||\r\n field.fieldFormType === 'Email'\r\n \"\r\n [value]=\"form[field.formKey]\"\r\n [disabled]=\"getDisabled(field)\"\r\n [required]=\"field.required\"\r\n [attr.maxlength]=\"field.maxlength\"\r\n [attr.minlength]=\"field.minlength\"\r\n [class.error]=\"fieldValidMap[field.formKey] === false\"\r\n (input)=\"onInput($event.target.value, field)\"\r\n (change)=\"onChange($event.target.value, field)\"\r\n (focus)=\"onFocus(field)\"\r\n (blur)=\"onBlur(field)\"\r\n autocomplete=\"off\"\r\n />\r\n <!-- Textarea -->\r\n <textarea\r\n class=\"e-input\"\r\n *ngIf=\"field.fieldFormType === 'Textarea'\"\r\n [value]=\"form[field.formKey]\"\r\n [disabled]=\"getDisabled(field)\"\r\n [required]=\"field.required\"\r\n [attr.maxlength]=\"field.maxlength\"\r\n [attr.minlength]=\"field.minlength\"\r\n [class.error]=\"fieldValidMap[field.formKey] === false\"\r\n (input)=\"onInput($event.target.value, field)\"\r\n (change)=\"onChange($event.target.value, field)\"\r\n (focus)=\"onFocus(field)\"\r\n (blur)=\"onBlur(field)\"\r\n autocomplete=\"off\"\r\n rows=\"3\"\r\n ></textarea>\r\n <!-- Number Input -->\r\n <ejs-numerictextbox\r\n *ngIf=\"field.fieldFormType === 'Number'\"\r\n [value]=\"form[field.formKey]\"\r\n [max]=\"field.max\"\r\n [min]=\"field.min\"\r\n [step]=\"field.step\"\r\n [decimals]=\"field.decimals\"\r\n [format]=\"field.format || numberFormat\"\r\n [enabled]=\"!getDisabled(field)\"\r\n [class.error]=\"fieldValidMap[field.formKey] === false\"\r\n (change)=\"onComponentChange($event, field)\"\r\n (focus)=\"onFocus(field)\"\r\n (blur)=\"onBlur(field)\"\r\n ></ejs-numerictextbox>\r\n <!-- Tags Input -->\r\n <rs-tag-input\r\n *ngIf=\"field.fieldFormType === 'Tags'\"\r\n [value]=\"form[field.formKey]\"\r\n [fields]=\"getOptionFields(field)\"\r\n [inputMaxlength]=\"field.maxlength\"\r\n [inputMinlength]=\"field.minlength\"\r\n [disabled]=\"getDisabled(field)\"\r\n [error]=\"fieldValidMap[field.formKey] === false\"\r\n (valueChange)=\"onChange($event, field)\"\r\n (focus)=\"onFocus(field)\"\r\n (blur)=\"onBlur(field)\"\r\n ></rs-tag-input>\r\n <!-- AutoComplete -->\r\n <ejs-autocomplete\r\n *ngIf=\"field.fieldFormType === 'AutoComplete'\"\r\n [value]=\"form[field.formKey]\"\r\n [dataSource]=\"getOptions(field)\"\r\n [fields]=\"getOptionFields(field)\"\r\n [enabled]=\"!getDisabled(field)\"\r\n [class.error]=\"fieldValidMap[field.formKey] === false\"\r\n (filtering)=\"onFiltering($event, field)\"\r\n (change)=\"onComponentChange($event, field)\"\r\n (focus)=\"onFocus(field)\"\r\n (blur)=\"onBlur(field)\"\r\n ></ejs-autocomplete>\r\n <!-- Dropdown -->\r\n <ejs-dropdownlist\r\n #dropdown\r\n *ngIf=\"field.fieldFormType === 'Dropdown'\"\r\n [value]=\"form[field.formKey]\"\r\n [dataSource]=\"getOptions(field)\"\r\n [fields]=\"getOptionFields(field)\"\r\n [allowFiltering]=\"true\"\r\n [showClearButton]=\"true\"\r\n [enabled]=\"!getDisabled(field)\"\r\n [class.error]=\"fieldValidMap[field.formKey] === false\"\r\n (filtering)=\"onFiltering($event, field)\"\r\n (dataBound)=\"onDropdownDataBound($event, field)\"\r\n (change)=\"onComponentChange($event, field)\"\r\n (focus)=\"onFocus(field)\"\r\n (blur)=\"onBlur(field)\"\r\n ></ejs-dropdownlist>\r\n <!-- MultiSelect -->\r\n <ejs-multiselect\r\n *ngIf=\"field.fieldFormType === 'MultiSelect'\"\r\n mode=\"CheckBox\"\r\n [ngModel]=\"form[field.formKey]\"\r\n [dataSource]=\"getOptions(field)\"\r\n [fields]=\"getOptionFields(field)\"\r\n [allowFiltering]=\"true\"\r\n [showDropDownIcon]=\"true\"\r\n [enabled]=\"!getDisabled(field)\"\r\n [class.error]=\"fieldValidMap[field.formKey] === false\"\r\n (filtering)=\"onFiltering($event, field)\"\r\n (change)=\"onComponentChange($event, field)\"\r\n (focus)=\"onFocus(field)\"\r\n (blur)=\"onBlur(field)\"\r\n >\r\n </ejs-multiselect>\r\n <!-- Datepicker -->\r\n <ejs-datepicker\r\n *ngIf=\"field.fieldFormType === 'Datepicker'\"\r\n [(value)]=\"dateForm[field.formKey]\"\r\n [format]=\"field.format || dateFormat\"\r\n [enabled]=\"!getDisabled(field)\"\r\n [class.error]=\"\r\n fieldValidMap[field.formKey] === false ||\r\n dateValidMap[field.formKey] === false\r\n \"\r\n (change)=\"onComponentChange($event, field)\"\r\n (focus)=\"onFocus(field)\"\r\n (blur)=\"onDatePickerBlur($event, field)\"\r\n ></ejs-datepicker>\r\n <ng-template\r\n #customTemplateContainer\r\n *ngIf=\"field.fieldFormType === 'Custom'\"\r\n ></ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"section-form\" *ngIf=\"section.customKey\">\r\n <ng-template #customSectionContainer></ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"sections.length > 1 && showAnchor\" class=\"anchor-container\">\r\n <div\r\n class=\"anchor-item\"\r\n *ngFor=\"let section of sections; let index = index\"\r\n [style.display]=\"section.title ? 'block' : 'none'\"\r\n [attr.data-active]=\"scrollIndex === index ? 'yes' : 'no'\"\r\n [attr.data-content]=\"section.title\"\r\n (click)=\"onClickAnchor(index)\"\r\n ></div>\r\n </div>\r\n</div>\r\n",
648
+ styles: [":host{display:block;margin-top:16px}.rs-drawer-form-container{display:flex;flex-flow:row nowrap;align-items:flex-start;gap:32px}.rs-drawer-form-container .section-container{flex:auto;display:flex;flex-flow:column nowrap;max-width:1576px}.rs-drawer-form-container .section-item{position:relative}.rs-drawer-form-container .section-item:not(:first-child){border-top:1px solid #eaedf0}.rs-drawer-form-container .section-expand-checkbox{display:block;width:100%;height:28px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;position:absolute;top:0;left:0}.rs-drawer-form-container .section-expand-checkbox:checked+.section-title::before{transform:rotate(-90deg)}.rs-drawer-form-container .section-expand-checkbox:checked+.section-title+.section-form{max-height:0;overflow:hidden}.rs-drawer-form-container .section-title{padding:6px 0;margin-bottom:12px;color:#44566c;font-family:Arial;font-size:13px;font-style:normal;font-weight:700;line-height:16px;display:flex;flex-flow:row nowrap;align-items:center;pointer-events:none}.rs-drawer-form-container .section-title::before{content:url(../../assets/img/down-arrow.svg);display:block;height:16px;width:16px;margin-right:8px}.rs-drawer-form-container .section-form{display:flex;flex-flow:row wrap;justify-content:space-between;gap:12px 56px;max-width:1576px;padding:0 24px;margin-bottom:20px}.rs-drawer-form-container .section-form .form-item{min-height:28px;min-width:400px;max-width:700px;width:calc((100% - 56px)/ 2);display:flex;flex-flow:row nowrap;justify-content:flex-start;align-items:flex-start}.rs-drawer-form-container .section-form .form-item[data-required=yes] .form-label>span:first-child::after{content:\"*\";color:var(--rs-input-require-label-color)}.rs-drawer-form-container .section-form .form-item .form-label{flex:none;width:144px;height:28px;margin-right:16px;color:#43566c;font-family:Arial;font-size:12px;font-style:normal;font-weight:400;line-height:14px;display:flex;flex-flow:row nowrap;align-items:center}.rs-drawer-form-container .section-form .form-item .form-label .form-tooltip{margin-left:4px}.rs-drawer-form-container .section-form .form-item .form-label .form-tooltip .tooltip-icon::before{content:\" \";display:block;width:14px;height:14px;background-image:url(../../assets/img/tooltip-icon.svg);background-size:contain;cursor:pointer}.rs-drawer-form-container .section-form .form-item .form-content{flex:auto}@media (max-width:1420px){.rs-drawer-form-container .section-form .form-item{width:100%}}.rs-drawer-form-container .anchor-container{flex:none;display:flex;flex-flow:column nowrap;gap:4px;min-width:120px;height:auto;position:-webkit-sticky;position:sticky;top:56px}.rs-drawer-form-container .anchor-item{min-width:120px;padding:4px 12px;border-left:1px solid #eaedf0;cursor:pointer;color:#44566c;font-family:Arial;font-size:11px;font-style:normal;font-weight:400;line-height:16px;position:relative}.rs-drawer-form-container .anchor-item::before{content:attr(data-content);color:#44566c;font-weight:400;position:absolute;left:12px}.rs-drawer-form-container .anchor-item::after{content:attr(data-content);visibility:hidden;color:#1364b3;font-weight:700}.rs-drawer-form-container .anchor-item[data-active=yes]{border-color:#1f7bff}.rs-drawer-form-container .anchor-item[data-active=yes]::before{visibility:hidden}.rs-drawer-form-container .anchor-item[data-active=yes]::after{visibility:visible}.rs-drawer-tooltip.e-tooltip-wrap{border:none;background-color:#44566c}.rs-drawer-tooltip.e-tooltip-wrap .e-arrow-tip{height:4px;visibility:hidden}"]
624
649
  }] }
625
650
  ];
626
651
  /** @nocollapse */
@@ -644,6 +669,7 @@ DrawerFormComponent.propDecorators = {
644
669
  rootEl: [{ type: ViewChild, args: ["drawerFormEl", { static: false },] }],
645
670
  containers: [{ type: ViewChildren, args: ["customTemplateContainer", { read: ViewContainerRef },] }],
646
671
  sectionContainers: [{ type: ViewChildren, args: ["customSectionContainer", { read: ViewContainerRef },] }],
672
+ dropdowns: [{ type: ViewChildren, args: ["dropdown",] }],
647
673
  sectionEls: [{ type: ViewChildren, args: ["sectionEl",] }]
648
674
  };
649
675
  if (false) {
@@ -686,8 +712,14 @@ if (false) {
686
712
  */
687
713
  DrawerFormComponent.prototype.sectionContainers;
688
714
  /** @type {?} */
715
+ DrawerFormComponent.prototype.dropdowns;
716
+ /** @type {?} */
689
717
  DrawerFormComponent.prototype.sections;
690
718
  /** @type {?} */
719
+ DrawerFormComponent.prototype.fieldTypeMap;
720
+ /** @type {?} */
721
+ DrawerFormComponent.prototype.formFieldMap;
722
+ /** @type {?} */
691
723
  DrawerFormComponent.prototype.form;
692
724
  /** @type {?} */
693
725
  DrawerFormComponent.prototype.fieldValidMap;
@@ -707,4 +739,4 @@ if (false) {
707
739
  */
708
740
  DrawerFormComponent.prototype.ref;
709
741
  }
710
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9mb3JtL2RyYXdlci1mb3JtL2RyYXdlci1mb3JtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFFTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBRVQsV0FBVyxFQUNYLFNBQVMsRUFDVCxZQUFZLEVBQ1osZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3QyxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUNMLFlBQVksRUFFWixpQkFBaUIsR0FFbEIsTUFBTSxhQUFhLENBQUM7O01BRWYsY0FBYyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDO0FBTy9DLE1BQU0sT0FBTyxtQkFBbUI7Ozs7SUE0QzlCLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBM0MzQixVQUFLLEdBQXdCLEVBQUUsQ0FBQztRQUM1QixjQUFTLEdBQWtCLEVBQUUsQ0FBQztRQUM1QixlQUFVLEdBQTBCLEVBQUUsQ0FBQztRQUN6QyxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVuQixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBS2hCLGlCQUFZLEdBQUc7WUFDcEMsSUFBSSxFQUFFLE1BQU07WUFDWixLQUFLLEVBQUUsTUFBTTtZQUNiLFFBQVEsRUFBRSxVQUFVO1lBQ3BCLE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQztRQUN5QixxQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFFNUIsZUFBVSxHQUFHLFlBQVksQ0FBQztRQUV6QixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7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SUFDakQseUNBQTREOztJQUM1RCwyQ0FBd0M7O0lBRXhDLHlDQUF1Qzs7SUFDdkMsNkNBQTBEOztJQUMxRCxvREFDd0Q7O0lBRXhELDJDQUtFOztJQUNGLCtDQUFpRDs7SUFDakQsMkNBQTRDOztJQUM1Qyx5Q0FBK0M7O0lBRS9DLHlDQUEyRTs7SUFDM0UsMENBR0s7O0lBRUwscUNBQ21DOzs7OztJQUduQyx5Q0FDZ0Q7Ozs7O0lBQ2hELGdEQUN1RDs7SUFFdkQsdUNBQTZCOztJQUM3QixtQ0FBK0I7O0lBQy9CLDRDQUE0Qzs7SUFHNUMsdUNBQW9DOztJQUNwQywyQ0FBMkM7O0lBb1YzQyx5Q0FDa0Q7O0lBQ2xELDBDQUFnQjs7SUFDaEIsNENBQXNCOzs7OztJQXJWVixrQ0FBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFF1ZXJ5TGlzdCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3Q2hpbGRyZW4sXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGaWx0ZXJpbmdFdmVudEFyZ3MgfSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItZHJvcGRvd25zXCI7XHJcbmltcG9ydCB7IFF1ZXJ5IH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1kYXRhXCI7XHJcbmltcG9ydCBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xyXG5pbXBvcnQge1xyXG4gIEVtYWlsUGF0dGVybixcclxuICBGaWVsZEl0ZW0sXHJcbiAgZmlsdGVyU2hvd1NlY3Rpb24sXHJcbiAgU2VjdGlvbkl0ZW0sXHJcbn0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XHJcblxyXG5jb25zdCBGT1JNX1BST1hZX1RBRyA9IFN5bWJvbC5mb3IoXCJmb3JtLXByb3h5XCIpO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwicnMtZHJhd2VyLWZvcm1cIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL2RyYXdlci1mb3JtLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2RyYXdlci1mb3JtLmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJhd2VyRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0IHtcclxuICBASW5wdXQoXCJmb3JtXCIpIF9mb3JtOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XHJcbiAgQElucHV0KFwic2VjdGlvbnNcIikgX3NlY3Rpb25zOiBTZWN0aW9uSXRlbVtdID0gW107XHJcbiAgQElucHV0KFwib3B0aW9uc01hcFwiKSBvcHRpb25zTWFwOiBSZWNvcmQ8c3RyaW5nLCBhbnlbXT4gPSB7fTtcclxuICBASW5wdXQoXCJkaXNhYmxlZFwiKSBmb3JtRGlzYWJsZWQgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KFwic2hvd0FuY2hvclwiKSBzaG93QW5jaG9yID0gdHJ1ZTtcclxuICBASW5wdXQoXCJjdXN0b21UZW1wbGF0ZVwiKSBjdXN0b21UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBASW5wdXQoXCJjdXN0b21TZWN0aW9uVGVtcGxhdGVcIilcclxuICBjdXN0b21TZWN0aW9uVGVtcGxhdGU6IFJlY29yZDxzdHJpbmcsIFRlbXBsYXRlUmVmPGFueT4+O1xyXG5cclxuICBASW5wdXQoXCJvcHRpb25GaWVsZHNcIikgb3B0aW9uRmllbGRzID0ge1xyXG4gICAgdGV4dDogXCJ0ZXh0XCIsXHJcbiAgICB2YWx1ZTogXCJjb2RlXCIsXHJcbiAgICBkaXNhYmxlZDogXCJkaXNhYmxlZFwiLFxyXG4gICAgZ3JvdXBCeTogbnVsbCxcclxuICB9O1xyXG4gIEBJbnB1dChcInNob3dGaWx0ZXJOdW1iZXJcIikgc2hvd0ZpbHRlck51bWJlciA9IDEwO1xyXG4gIEBJbnB1dChcIm51bWJlckZvcm1hdFwiKSBudW1iZXJGb3JtYXQ6IHN0cmluZztcclxuICBASW5wdXQoXCJkYXRlRm9ybWF0XCIpIGRhdGVGb3JtYXQgPSBcInl5eXktTU0tZGRcIjtcclxuXHJcbiAgQE91dHB1dChcImZvcm1DaGFuZ2VcIikgZm9ybUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8UmVjb3JkPHN0cmluZywgYW55Pj4oKTtcclxuICBAT3V0cHV0KFwiZmllbGRDaGFuZ2VcIikgZmllbGRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHtcclxuICAgIGZpZWxkOiBGaWVsZEl0ZW07XHJcbiAgICB2YWx1ZTogYW55O1xyXG4gIH0+KCk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoXCJkcmF3ZXJGb3JtRWxcIiwgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgcm9vdEVsOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuXHJcbiAgLy8g6Ieq5a6a5LmJIGZpZWxkIOaooeadv+WSjOiHquWumuS5iSBzZWN0aW9uIOaooeadv+eahOWuueWZqFxyXG4gIEBWaWV3Q2hpbGRyZW4oXCJjdXN0b21UZW1wbGF0ZUNvbnRhaW5lclwiLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSlcclxuICBwcml2YXRlIGNvbnRhaW5lcnM6IFF1ZXJ5TGlzdDxWaWV3Q29udGFpbmVyUmVmPjtcclxuICBAVmlld0NoaWxkcmVuKFwiY3VzdG9tU2VjdGlvbkNvbnRhaW5lclwiLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSlcclxuICBwcml2YXRlIHNlY3Rpb25Db250YWluZXJzOiBRdWVyeUxpc3Q8Vmlld0NvbnRhaW5lclJlZj47XHJcblxyXG4gIHNlY3Rpb25zOiBTZWN0aW9uSXRlbVtdID0gW107XHJcbiAgZm9ybTogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xyXG4gIGZpZWxkVmFsaWRNYXA6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+ID0ge307XHJcblxyXG4gIC8vIOWtmOWCqCBkYXRlcGlja2VyIOeahOWAvFxyXG4gIGRhdGVGb3JtOiBSZWNvcmQ8c3RyaW5nLCBEYXRlPiA9IHt9O1xyXG4gIGRhdGVWYWxpZE1hcDogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4gPSB7fTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHt9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGlmIChjaGFuZ2VzLl9zZWN0aW9ucykge1xyXG4gICAgICB0aGlzLnNlY3Rpb25zID0gZmlsdGVyU2hvd1NlY3Rpb24oY2hhbmdlcy5fc2VjdGlvbnMuY3VycmVudFZhbHVlKTtcclxuICAgICAgdGhpcy5mb3JtID0gdGhpcy5nZXRGb3JtUHJveHkoXHJcbiAgICAgICAgdGhpcy5mb3JtYXRGb3JtKHRoaXMuc2VjdGlvbnMsIHsgLi4udGhpcy5mb3JtIH0pXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuc3luY0Zvcm1GaWVsZCgpO1xyXG4gICAgICB0aGlzLmZvcm1DaGFuZ2UuZW1pdCh0aGlzLmZvcm0pO1xyXG4gICAgfVxyXG4gICAgaWYgKGNoYW5nZXMuX2Zvcm0pIHtcclxuICAgICAgaWYgKCFjaGFuZ2VzLl9mb3JtLmN1cnJlbnRWYWx1ZVtGT1JNX1BST1hZX1RBR10pIHtcclxuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLmdldEZvcm1Qcm94eShcclxuICAgICAgICAgIHRoaXMuZm9ybWF0Rm9ybSh0aGlzLnNlY3Rpb25zLCBjaGFuZ2VzLl9mb3JtLmN1cnJlbnRWYWx1ZSlcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuc3luY0Zvcm1GaWVsZCgpO1xyXG4gICAgICAgIHRoaXMuZm9ybUNoYW5nZS5lbWl0KHRoaXMuZm9ybSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFjaGFuZ2VzLl9mb3JtLmZpcnN0Q2hhbmdlKSB7XHJcbiAgICAgICAgdGhpcy5jaGVja0Zvcm1DaGFuZ2UoXHJcbiAgICAgICAgICBjaGFuZ2VzLl9mb3JtLnByZXZpb3VzVmFsdWUsXHJcbiAgICAgICAgICBjaGFuZ2VzLl9mb3JtLmN1cnJlbnRWYWx1ZVxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuY3VzdG9tVGVtcGxhdGVSZW5kZXIodGhpcy5jb250YWluZXJzKTtcclxuICAgIHRoaXMuY3VzdG9tU2VjdGlvblJlbmRlcih0aGlzLnNlY3Rpb25Db250YWluZXJzKTtcclxuICAgIHRoaXMuY29udGFpbmVycy5jaGFuZ2VzLnN1YnNjcmliZShcclxuICAgICAgKGNvbnRhaW5lcnM6IFF1ZXJ5TGlzdDxWaWV3Q29udGFpbmVyUmVmPikgPT4ge1xyXG4gICAgICAgIHRoaXMuY29udGFpbmVycyA9IGNvbnRhaW5lcnM7XHJcbiAgICAgICAgdGhpcy5jdXN0b21UZW1wbGF0ZVJlbmRlcihjb250YWluZXJzKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICAgIHRoaXMuc2VjdGlvbkNvbnRhaW5lcnMuY2hhbmdlcy5zdWJzY3JpYmUoXHJcbiAgICAgIChjb250YWluZXJzOiBRdWVyeUxpc3Q8Vmlld0NvbnRhaW5lclJlZj4pID0+IHtcclxuICAgICAgICB0aGlzLnNlY3Rpb25Db250YWluZXJzID0gY29udGFpbmVycztcclxuICAgICAgICB0aGlzLmN1c3RvbVNlY3Rpb25SZW5kZXIoY29udGFpbmVycyk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgICBpZiAodGhpcy5zaG93QW5jaG9yKSB7XHJcbiAgICAgIHRoaXMuaW5pdEFuY2hvclNjcm9sbEhhbmRsZXIoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGN1c3RvbVRlbXBsYXRlUmVuZGVyKGNvbnRhaW5lcnM6IFF1ZXJ5TGlzdDxWaWV3Q29udGFpbmVyUmVmPikge1xyXG4gICAgaWYgKHRoaXMuY3VzdG9tVGVtcGxhdGUgJiYgY29udGFpbmVycy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNvbnN0IGN1c3RvbUZpZWxkcyA9IFtdO1xyXG4gICAgICB0aGlzLnNlY3Rpb25zLmZvckVhY2goKHNlY3Rpb24pID0+IHtcclxuICAgICAgICBzZWN0aW9uLmZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xyXG4gICAgICAgICAgaWYgKGZpZWxkLmZpZWxkRm9ybVR5cGUgPT09IFwiQ3VzdG9tXCIpIHtcclxuICAgICAgICAgICAgY3VzdG9tRmllbGRzLnB1c2goZmllbGQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgICAgY29udGFpbmVycy5mb3JFYWNoKChjb250YWluZXIsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgY29udGFpbmVyLmNsZWFyKCk7XHJcbiAgICAgICAgY29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLmN1c3RvbVRlbXBsYXRlLCB7XHJcbiAgICAgICAgICAkaW1wbGljaXQ6IGN1c3RvbUZpZWxkc1tpbmRleF0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY3VzdG9tU2VjdGlvblJlbmRlcihjb250YWluZXJzOiBRdWVyeUxpc3Q8Vmlld0NvbnRhaW5lclJlZj4pIHtcclxuICAgIGlmICh0aGlzLmN1c3RvbVNlY3Rpb25UZW1wbGF0ZSAmJiBjb250YWluZXJzLmxlbmd0aCA+IDApIHtcclxuICAgICAgY29uc3QgY3VzdG9tU2VjdGlvbnMgPSB0aGlzLnNlY3Rpb25zLmZpbHRlcihcclxuICAgICAgICAoc2VjdGlvbikgPT4gc2VjdGlvbi5jdXN0b21LZXlcclxuICAgICAgKTtcclxuICAgICAgY29udGFpbmVycy5mb3JFYWNoKChjb250YWluZXIsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgY29udGFpbmVyLmNsZWFyKCk7XHJcbiAgICAgICAgY29uc3QgY3VzdG9tS2V5ID0gY3VzdG9tU2VjdGlvbnNbaW5kZXhdLmN1c3RvbUtleTtcclxuICAgICAgICBjb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuY3VzdG9tU2VjdGlvblRlbXBsYXRlW2N1c3RvbUtleV0sIHtcclxuICAgICAgICAgICRpbXBsaWNpdDogY3VzdG9tU2VjdGlvbnNbaW5kZXhdLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGVxdWFsKHZhbHVlOiBhbnksIGNvbXBhcmVWYWx1ZTogYW55KSB7XHJcbiAgICAvLyDlj6rlr7nmlbDnu4Tov5vooYznibnmrorliKTmlq1cclxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiBBcnJheS5pc0FycmF5KGNvbXBhcmVWYWx1ZSkpIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICB2YWx1ZS5sZW5ndGggPT09IGNvbXBhcmVWYWx1ZS5sZW5ndGggJiZcclxuICAgICAgICB2YWx1ZS5ldmVyeSgoaSwgaW5kZXgpID0+IGkgPT09IGNvbXBhcmVWYWx1ZVtpbmRleF0pXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gT2JqZWN0LmlzKHZhbHVlLCBjb21wYXJlVmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tGb3JtQ2hhbmdlKHByZXZpb3VzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBjdXJyZW50OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSB7XHJcbiAgICBPYmplY3QuZW50cmllcyhjdXJyZW50KS5mb3JFYWNoKChba2V5LCBjdXJyZW50VmFsdWVdKSA9PiB7XHJcbiAgICAgIGlmICghdGhpcy5lcXVhbChwcmV2aW91c1trZXldLCBjdXJyZW50VmFsdWUpKSB7XHJcbiAgICAgICAgY29uc3QgZmllbGQgPSB0aGlzLmdldEZpZWxkKGtleSk7XHJcbiAgICAgICAgaWYgKGZpZWxkKSB7XHJcbiAgICAgICAgICB0aGlzLmZvcm1JdGVtVmFsaWRhdG9yKGZpZWxkKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc3luY0Zvcm1Ub0RhdGVGb3JtKGZpZWxkOiBGaWVsZEl0ZW0sIHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICBjb25zdCBkYXRlID0gbW9tZW50KHZhbHVlKTtcclxuICAgICAgdGhpcy5kYXRlRm9ybVtmaWVsZC5mb3JtS2V5XSA9IGRhdGUuaXNWYWxpZCgpID8gZGF0ZS50b0RhdGUoKSA6IG51bGw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRhdGVGb3JtW2ZpZWxkLmZvcm1LZXldID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN5bmNGb3JtRmllbGQoKSB7XHJcbiAgICB0aGlzLnNlY3Rpb25zLmZvckVhY2goKHNlY3Rpb246IFNlY3Rpb25JdGVtKSA9PiB7XHJcbiAgICAgIHNlY3Rpb24uZmllbGRzLmZvckVhY2goKGZpZWxkKSA9PiB7XHJcbiAgICAgICAgc3dpdGNoIChmaWVsZC5maWVsZEZvcm1UeXBlKSB7XHJcbiAgICAgICAgICBjYXNlIFwiRGF0ZXBpY2tlclwiOlxyXG4gICAgICAgICAgICB0aGlzLnN5bmNGb3JtVG9EYXRlRm9ybShmaWVsZCwgdGhpcy5mb3JtW2ZpZWxkLmZvcm1LZXldKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZm9ybWF0Rm9ybShzZWN0aW9uczogU2VjdGlvbkl0ZW1bXSwgZm9ybTogUmVjb3JkPHN0cmluZywgYW55Pikge1xyXG4gICAgc2VjdGlvbnMuZm9yRWFjaCgoc2VjdGlvbjogU2VjdGlvbkl0ZW0pID0+IHtcclxuICAgICAgc2VjdGlvbi5maWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcclxuICAgICAgICBzd2l0Y2ggKGZpZWxkLmZpZWxkRm9ybVR5cGUpIHtcclxuICAgICAgICAgIGNhc2UgXCJUZXh0XCI6XHJcbiAgICAgICAgICBjYXNlIFwiRW1haWxcIjpcclxuICAgICAgICAgIGNhc2UgXCJUZXh0YXJlYVwiOlxyXG4gICAgICAgICAgICBpZiAoZm9ybVtmaWVsZC5mb3JtS2V5XSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgZm9ybVtmaWVsZC5mb3JtS2V5XSA9IFwiXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgY2FzZSBcIlRhZ3NcIjpcclxuICAgICAgICAgIGNhc2UgXCJDaGVja2JveFwiOlxyXG4gICAgICAgICAgY2FzZSBcIk11bHRpU2VsZWN0XCI6XHJcbiAgICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheShmb3JtW2ZpZWxkLmZvcm1LZXldKSkge1xyXG4gICAgICAgICAgICAgIGZvcm1bZmllbGQuZm9ybUtleV0gPSBbXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICBjYXNlIFwiU3dpdGNoXCI6XHJcbiAgICAgICAgICAgIGZvcm1bZmllbGQuZm9ybUtleV0gPSAhIWZvcm1bZmllbGQuZm9ybUtleV07XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChmb3JtW2ZpZWxkLmZvcm1LZXldID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICBmb3JtW2ZpZWxkLmZvcm1LZXldID0gbnVsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBmb3JtO1xyXG4gIH1cclxuXHJcbiAgZ2V0Rm9ybVByb3h5KGZvcm06IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcclxuICAgIC8vIOeOsOWcqOS4jeaUr+aMgeW1jOWllyBmb3JtIOWxnuaAp++8jOWPquWvuea1heWxgui/m+ihjOWkhOeQhlxyXG4gICAgY29uc3QgcHJveHlGb3JtID0gbmV3IFByb3h5KGZvcm0sIHtcclxuICAgICAgc2V0OiAodGFyZ2V0LCBwcm9wOiBzdHJpbmcsIHZhbHVlOiBhbnkpID0+IHtcclxuICAgICAgICB0YXJnZXRbcHJvcF0gPSB2YWx1ZTtcclxuXHJcbiAgICAgICAgY29uc3QgZmllbGQgPSB0aGlzLmdldEZpZWxkKHByb3ApO1xyXG4gICAgICAgIGlmIChmaWVsZCkge1xyXG4gICAgICAgICAgaWYgKGZpZWxkLmZpZWxkRm9ybVR5cGUgPT09IFwiRGF0ZXBpY2tlclwiKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3luY0Zvcm1Ub0RhdGVGb3JtKGZpZWxkLCB2YWx1ZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLmZvcm1JdGVtVmFsaWRhdG9yKGZpZWxkKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcblxyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3h5Rm9ybSwgRk9STV9QUk9YWV9UQUcsIHtcclxuICAgICAgdmFsdWU6IHRydWUsXHJcbiAgICAgIHdyaXRhYmxlOiBmYWxzZSxcclxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXHJcbiAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXHJcbiAgICB9KTtcclxuICAgIHJldHVybiBwcm94eUZvcm07XHJcbiAgfVxyXG5cclxuICAvLyDooajljZXmj5DkuqTliY3kvJrop6blj5Hov5nkuKrlh73mlbBcclxuICB1cGRhdGVGb3JtKHZhbHVlOiBhbnksIGZpZWxkOiBGaWVsZEl0ZW0pIHtcclxuICAgIHRoaXMuZm9ybVtmaWVsZC5mb3JtS2V5XSA9IHZhbHVlO1xyXG4gICAgdGhpcy5mb3JtQ2hhbmdlLmVtaXQodGhpcy5mb3JtKTtcclxuICAgIHRoaXMuZmllbGRDaGFuZ2UuZW1pdCh7IGZpZWxkLCB2YWx1ZSB9KTtcclxuICB9XHJcblxyXG4gIGZvcm1JdGVtVmFsaWRhdG9yKGZpZWxkOiBGaWVsZEl0ZW0sIGlzQXV0byA9IGZhbHNlKSB7XHJcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZm9ybVtmaWVsZC5mb3JtS2V5XTtcclxuICAgIGxldCBpc1ZhbGlkID0gdHJ1ZTtcclxuICAgIGlmIChmaWVsZC5yZXF1aXJlZCkge1xyXG4gICAgICBpc1ZhbGlkID0gQXJyYXkuaXNBcnJheSh2YWx1ZSlcclxuICAgICAgICA/IHZhbHVlLmxlbmd0aCAhPT0gMFxyXG4gICAgICAgIDogIVtudWxsLCB1bmRlZmluZWQsIFwiXCJdLmluY2x1ZGVzKHZhbHVlKTtcclxuICAgIH1cclxuICAgIGlmIChpc1ZhbGlkICYmIGZpZWxkLmZpZWxkRm9ybVR5cGUgPT09IFwiRW1haWxcIiAmJiB2YWx1ZSkge1xyXG4gICAgICBpc1ZhbGlkID0gRW1haWxQYXR0ZXJuLnRlc3QodmFsdWUpO1xyXG4gICAgfVxyXG4gICAgaWYgKGlzVmFsaWQgJiYgZmllbGQubWF4bGVuZ3RoKSB7XHJcbiAgICAgIGlzVmFsaWQgPSBTdHJpbmcodmFsdWUpLmxlbmd0aCA8PSBmaWVsZC5tYXhsZW5ndGg7XHJcbiAgICB9XHJcbiAgICBpZiAoaXNWYWxpZCAmJiBmaWVsZC5taW5sZW5ndGgpIHtcclxuICAgICAgaXNWYWxpZCA9IFN0cmluZyh2YWx1ZSkubGVuZ3RoID49IGZpZWxkLm1pbmxlbmd0aDtcclxuICAgIH1cclxuICAgIGlmIChpc1ZhbGlkICYmIGZpZWxkLm1heCkge1xyXG4gICAgICBpc1ZhbGlkID0gdmFsdWUgPD0gZmllbGQubWF4O1xyXG4gICAgfVxyXG4gICAgaWYgKGlzVmFsaWQgJiYgZmllbGQubWluKSB7XHJcbiAgICAgIGlzVmFsaWQgPSB2YWx1ZSA+PSBmaWVsZC5taW47XHJcbiAgICB9XHJcbiAgICBpZiAoaXNWYWxpZCAmJiB0eXBlb2YgZmllbGQudmFsaWRhdG9yID09PSBcImZ1bmN0aW9uXCIpIHtcclxuICAgICAgaXNWYWxpZCA9IGZpZWxkLnZhbGlkYXRvci5jYWxsKG51bGwsIHZhbHVlLCBmaWVsZCk7XHJcbiAgICB9XHJcbiAgICBpZiAoIWlzQXV0bykge1xyXG4gICAgICB0aGlzLmZpZWxkVmFsaWRNYXBbZmllbGQuZm9ybUtleV0gPSBpc1ZhbGlkO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGlzVmFsaWQ7XHJcbiAgfVxyXG5cclxuICBwcmVDaGVja0Zvcm1Jc1ZhbGlkKCkge1xyXG4gICAgbGV0IGZvcm1Jc1ZhbGlkID0gdHJ1ZTtcclxuICAgIHRoaXMuc2VjdGlvbnMuZm9yRWFjaCgoc2VjdGlvbikgPT5cclxuICAgICAgc2VjdGlvbi5maWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcclxuICAgICAgICBmb3JtSXNWYWxpZCA9IHRoaXMuZm9ybUl0ZW1WYWxpZGF0b3IoZmllbGQpICYmIGZvcm1Jc1ZhbGlkO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIHJldHVybiBmb3JtSXNWYWxpZDtcclxuICB9XHJcblxyXG4gIGdldCBmb3JtSXNWYWxpZCgpIHtcclxuICAgIHJldHVybiB0aGlzLnNlY3Rpb25zLmV2ZXJ5KChzZWN0aW9uKSA9PlxyXG4gICAgICBzZWN0aW9uLmZpZWxkcy5ldmVyeSgoZmllbGQpID0+IHRoaXMuZm9ybUl0ZW1WYWxpZGF0b3IoZmllbGQsIHRydWUpKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldEZpZWxkKGZvcm1LZXk6IHN0cmluZykge1xyXG4gICAgbGV0IGZpZWxkSXRlbTogRmllbGRJdGVtID0gbnVsbDtcclxuICAgIHRoaXMuc2VjdGlvbnMuZmluZCgoc2VjdGlvbikgPT4ge1xyXG4gICAgICBmaWVsZEl0ZW0gPSBzZWN0aW9uLmZpZWxkcy5maW5kKChmaWVsZCkgPT4gZmllbGQuZm9ybUtleSA9PT0gZm9ybUtleSk7XHJcbiAgICAgIHJldHVybiBmaWVsZEl0ZW07XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBmaWVsZEl0ZW07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNhbGxGdW5jdGlvbihmbjogRnVuY3Rpb24sIC4uLmFyZ3M6IGFueVtdKSB7XHJcbiAgICB0aGlzLmZvcm1JdGVtVmFsaWRhdG9yKGFyZ3NbMV0gfHwgYXJnc1swXSk7XHJcbiAgICBpZiAodHlwZW9mIGZuID09PSBcImZ1bmN0aW9uXCIpIHtcclxuICAgICAgZm4uYXBwbHkobnVsbCwgYXJncyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbklucHV0KHZhbHVlOiBzdHJpbmcsIGZpZWxkOiBGaWVsZEl0ZW0pIHtcclxuICAgIHRoaXMuY2FsbEZ1bmN0aW9uKGZpZWxkLm9uSW5wdXQsIHZhbHVlLCBmaWVsZCk7XHJcbiAgfVxyXG5cclxuICBvbkNvbXBvbmVudENoYW5nZShldmVudDogYW55LCBmaWVsZDogRmllbGRJdGVtKSB7XHJcbiAgICBpZiAoIWV2ZW50LmlzSW50ZXJhY3RlZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoZmllbGQuZmllbGRGb3JtVHlwZSAhPT0gXCJEYXRlcGlja2VyXCIpIHtcclxuICAgICAgdGhpcy5vbkNoYW5nZShldmVudC52YWx1ZSwgZmllbGQpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zb2xlLmxvZyhcImNoYW5nZVwiLCBldmVudCk7XHJcbiAgICBjb25zdCB2YWx1ZSA9IGV2ZW50LnZhbHVlID8gbW9tZW50KGV2ZW50LnZhbHVlKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpIDogbnVsbDtcclxuICAgIHRoaXMuZGF0ZUZvcm1bZmllbGQuZm9ybUtleV0gPSBldmVudC52YWx1ZTtcclxuICAgIHRoaXMub25DaGFuZ2UodmFsdWUsIGZpZWxkKTtcclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlKHZhbHVlOiBhbnksIGZpZWxkOiBGaWVsZEl0ZW0pIHtcclxuICAgIHRoaXMudXBkYXRlRm9ybSh2YWx1ZSwgZmllbGQpO1xyXG4gICAgdGhpcy5jYWxsRnVuY3Rpb24oZmllbGQub25DaGFuZ2UsIHZhbHVlLCBmaWVsZCk7XHJcbiAgfVxyXG5cclxuICBvbkRhdGVQaWNrZXJCbHVyKGV2ZW50OiBhbnksIGZpZWxkOiBGaWVsZEl0ZW0pIHtcclxuICAgIHRoaXMub25CbHVyKGZpZWxkKTtcclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc3QgJGlucHV0ID0gZXZlbnQubW9kZWwuZWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiaW5wdXRcIik7XHJcbiAgICAgIGlmICgkaW5wdXQgJiYgJGlucHV0LnZhbHVlICYmICF0aGlzLmRhdGVGb3JtW2ZpZWxkLmZvcm1LZXldKSB7XHJcbiAgICAgICAgdGhpcy5kYXRlVmFsaWRNYXBbZmllbGQuZm9ybUtleV0gPSBmYWxzZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBkZWxldGUgdGhpcy5kYXRlVmFsaWRNYXBbZmllbGQuZm9ybUtleV07XHJcbiAgICAgIH1cclxuICAgIH0sIDUwKTtcclxuICB9XHJcblxyXG4gIG9uRm9jdXMoZmllbGQ6IEZpZWxkSXRlbSkge1xyXG4gICAgdGhpcy5jYWxsRnVuY3Rpb24oZmllbGQub25Gb2N1cywgZmllbGQpO1xyXG4gIH1cclxuXHJcbiAgb25CbHVyKGZpZWxkOiBGaWVsZEl0ZW0pIHtcclxuICAgIHRoaXMuY2FsbEZ1bmN0aW9uKGZpZWxkLm9uQmx1ciwgZmllbGQpO1xyXG4gIH1cclxuXHJcbiAgb25GaWx0ZXJpbmcoZXZlbnQ6IEZpbHRlcmluZ0V2ZW50QXJncywgZmllbGQ6IEZpZWxkSXRlbSkge1xyXG4gICAgY29uc3QgcXVlcnkgPSBuZXcgUXVlcnkoKTtcclxuICAgIGlmIChldmVudC50ZXh0KSB7XHJcbiAgICAgIHF1ZXJ5LndoZXJlKHRoaXMub3B0aW9uRmllbGRzLnRleHQsIFwiY29udGFpbnNcIiwgZXZlbnQudGV4dCwgdHJ1ZSk7XHJcbiAgICB9XHJcbiAgICBldmVudC51cGRhdGVEYXRhKHRoaXMuZ2V0T3B0aW9ucyhmaWVsZCksIHF1ZXJ5KTtcclxuICB9XHJcblxyXG4gIGdldE9wdGlvbnMoZmllbGQ6IEZpZWxkSXRlbSkge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5vcHRpb25zTWFwW2ZpZWxkLm9wdGlvbktleV0pKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLm9wdGlvbnNNYXBbZmllbGQub3B0aW9uS2V5XTtcclxuICAgIH1cclxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMub3B0aW9uc01hcFtmaWVsZC5mb3JtS2V5XSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMub3B0aW9uc01hcFtmaWVsZC5mb3JtS2V5XTtcclxuICAgIH1cclxuICAgIHJldHVybiBbXTtcclxuICB9XHJcblxyXG4gIGdldERpc2FibGVkKGZpZWxkOiBGaWVsZEl0ZW0pIHtcclxuICAgIGlmICh0aGlzLmZvcm1EaXNhYmxlZCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGlmICh0eXBlb2YgZmllbGQuZGlzYWJsZWQgPT09IFwiZnVuY3Rpb25cIikge1xyXG4gICAgICByZXR1cm4gZmllbGQuZGlzYWJsZWQoKTtcclxuICAgIH1cclxuICAgIHJldHVybiBmaWVsZC5kaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIGdldE9wdGlvbkZpZWxkcyhmaWVsZDogRmllbGRJdGVtKSB7XHJcbiAgICBpZiAoW1wiRHJvcGRvd25cIiwgXCJBdXRvQ29tcGxldGVcIl0uaW5jbHVkZXMoZmllbGQuZmllbGRGb3JtVHlwZSkpIHtcclxuICAgICAgcmV0dXJuIHsgLi4udGhpcy5vcHRpb25GaWVsZHMsIGdyb3VwQnk6IGZpZWxkLmdyb3VwS2V5IHx8IG51bGwgfTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLm9wdGlvbkZpZWxkcztcclxuICB9XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oXCJzZWN0aW9uRWxcIilcclxuICBzZWN0aW9uRWxzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4+O1xyXG4gIHNjcm9sbEluZGV4ID0gMDtcclxuICBpc0NsaWNrQW5jaG9yID0gZmFsc2U7XHJcblxyXG4gIG9uQ2xpY2tBbmNob3IoaW5kZXg6IG51bWJlcikge1xyXG4gICAgY29uc3Qgc2VjdGlvbkl0ZW1zID0gdGhpcy5zZWN0aW9uRWxzLnRvQXJyYXkoKTtcclxuICAgIHNlY3Rpb25JdGVtc1tpbmRleF0ubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldyh0cnVlKTtcclxuICAgIHRoaXMuc2Nyb2xsSW5kZXggPSBpbmRleDtcclxuICAgIHRoaXMuaXNDbGlja0FuY2hvciA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBmaW5kU2Nyb2xsVmlld0VsKGVsOiBIVE1MRWxlbWVudCk6IEhUTUxFbGVtZW50IHtcclxuICAgIGlmIChlbCA9PT0gZG9jdW1lbnQuYm9keSkge1xyXG4gICAgICByZXR1cm4gZWw7XHJcbiAgICB9XHJcbiAgICBpZiAoZWwuc2Nyb2xsSGVpZ2h0ICYmIGVsLnNjcm9sbEhlaWdodCAhPT0gZWwub2Zmc2V0SGVpZ2h0KSB7XHJcbiAgICAgIHJldHVybiBlbDtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmZpbmRTY3JvbGxWaWV3RWwoZWwucGFyZW50RWxlbWVudCk7XHJcbiAgfVxyXG5cclxuICBpbml0QW5jaG9yU2Nyb2xsSGFuZGxlcigpIHtcclxuICAgIGNvbnN0IHNjcm9sbFZpZXdFbCA9IHRoaXMuZmluZFNjcm9sbFZpZXdFbCh0aGlzLnJvb3RFbC5uYXRpdmVFbGVtZW50KTtcclxuICAgIGNvbnN0IHNjcm9sbEhlaWdodCA9IHNjcm9sbFZpZXdFbC5zY3JvbGxIZWlnaHQgLSBzY3JvbGxWaWV3RWwub2Zmc2V0SGVpZ2h0O1xyXG4gICAgY29uc3Qgc2VjdGlvblZpZXdSYXRpbyA9IHRoaXMuc2VjdGlvbkVscy50b0FycmF5KCkubWFwKChzZWN0aW9uKSA9PiB7XHJcbiAgICAgIGNvbnN0IHJhdGlvID1cclxuICAgICAgICBzZWN0aW9uLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gc2Nyb2xsVmlld0VsLnNjcm9sbEhlaWdodDtcclxuICAgICAgcmV0dXJuIHNjcm9sbEhlaWdodCAqIHJhdGlvO1xyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3Qgb25TY3JvbGwgPSAoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmlzQ2xpY2tBbmNob3IpIHtcclxuICAgICAgICB0aGlzLmlzQ2xpY2tBbmNob3IgPSBmYWxzZTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgY29uc3Qgc2Nyb2xsVG9wID1cclxuICAgICAgICBzY3JvbGxWaWV3RWwuc2Nyb2xsVG9wID4gc2Nyb2xsSGVpZ2h0XHJcbiAgICAgICAgICA/IHNjcm9sbEhlaWdodFxyXG4gICAgICAgICAgOiBzY3JvbGxWaWV3RWwuc2Nyb2xsVG9wO1xyXG4gICAgICBsZXQgcmFkaW9TY3JvbGxIZWlnaHQgPSAwO1xyXG4gICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgc2VjdGlvblZpZXdSYXRpby5sZW5ndGg7IGluZGV4KyspIHtcclxuICAgICAgICByYWRpb1Njcm9sbEhlaWdodCArPSBzZWN0aW9uVmlld1JhdGlvW2luZGV4XTtcclxuICAgICAgICBpZiAocmFkaW9TY3JvbGxIZWlnaHQgPj0gc2Nyb2xsVG9wKSB7XHJcbiAgICAgICAgICB0aGlzLnNjcm9sbEluZGV4ID0gaW5kZXg7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgd2hpbGUgKFxyXG4gICAgICAgIHRoaXMuc2VjdGlvbnNbdGhpcy5zY3JvbGxJbmRleF0gJiZcclxuICAgICAgICAhdGhpcy5zZWN0aW9uc1t0aGlzLnNjcm9sbEluZGV4XS50aXRsZVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLnNjcm9sbEluZGV4Kys7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9O1xyXG5cclxuICAgIG9uU2Nyb2xsKCk7XHJcbiAgICBzY3JvbGxWaWV3RWwuYWRkRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCBvblNjcm9sbCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
742
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9mb3JtL2RyYXdlci1mb3JtL2RyYXdlci1mb3JtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFFTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBRVQsV0FBVyxFQUNYLFNBQVMsRUFDVCxZQUFZLEVBQ1osZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3QyxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUNMLFlBQVksRUFFWixpQkFBaUIsR0FFbEIsTUFBTSxhQUFhLENBQUM7O01BRWYsY0FBYyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDO0FBTy9DLE1BQU0sT0FBTyxtQkFBbUI7Ozs7SUFrRDlCLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBakQzQixVQUFLLEdBQXdCLEVBQUUsQ0FBQztRQUM1QixjQUFTLEdBQWtCLEVBQUUsQ0FBQztRQUM1QixlQUFVLEdBQTBCLEVBQUUsQ0FBQztRQUN6QyxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVuQixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBS2hCLGlCQUFZLEdBQUc7WUFDcEMsSUFBSSxFQUFFLE1BQU07WUFDWixLQUFLLEVBQUUsTUFBTTtZQUNiLFFBQVEsRUFBRSxVQUFVO1lBQ3BCLE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQztRQUN5QixxQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFFNUIsZUFBVSxHQUFHLFlBQVksQ0FBQztRQUV6QixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7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MkNBQTRFOztJQUM1RSwyQ0FBNkM7O0lBRTdDLG1DQUErQjs7SUFDL0IsNENBQTRDOztJQUc1Qyx1Q0FBb0M7O0lBQ3BDLDJDQUEyQzs7SUFtVzNDLHlDQUNrRDs7SUFDbEQsMENBQWdCOztJQUNoQiw0Q0FBc0I7Ozs7O0lBcFdWLGtDQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgUXVlcnlMaXN0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdDaGlsZHJlbixcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7XHJcbiAgRHJvcERvd25MaXN0Q29tcG9uZW50LFxyXG4gIEZpbHRlcmluZ0V2ZW50QXJncyxcclxufSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItZHJvcGRvd25zXCI7XHJcbmltcG9ydCB7IFF1ZXJ5IH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1kYXRhXCI7XHJcbmltcG9ydCBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xyXG5pbXBvcnQge1xyXG4gIEVtYWlsUGF0dGVybixcclxuICBGaWVsZEl0ZW0sXHJcbiAgZmlsdGVyU2hvd1NlY3Rpb24sXHJcbiAgU2VjdGlvbkl0ZW0sXHJcbn0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XHJcblxyXG5jb25zdCBGT1JNX1BST1hZX1RBRyA9IFN5bWJvbC5mb3IoXCJmb3JtLXByb3h5XCIpO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwicnMtZHJhd2VyLWZvcm1cIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL2RyYXdlci1mb3JtLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2RyYXdlci1mb3JtLmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJhd2VyRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0IHtcclxuICBASW5wdXQoXCJmb3JtXCIpIF9mb3JtOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XHJcbiAgQElucHV0KFwic2VjdGlvbnNcIikgX3NlY3Rpb25zOiBTZWN0aW9uSXRlbVtdID0gW107XHJcbiAgQElucHV0KFwib3B0aW9uc01hcFwiKSBvcHRpb25zTWFwOiBSZWNvcmQ8c3RyaW5nLCBhbnlbXT4gPSB7fTtcclxuICBASW5wdXQoXCJkaXNhYmxlZFwiKSBmb3JtRGlzYWJsZWQgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KFwic2hvd0FuY2hvclwiKSBzaG93QW5jaG9yID0gdHJ1ZTtcclxuICBASW5wdXQoXCJjdXN0b21UZW1wbGF0ZVwiKSBjdXN0b21UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBASW5wdXQoXCJjdXN0b21TZWN0aW9uVGVtcGxhdGVcIilcclxuICBjdXN0b21TZWN0aW9uVGVtcGxhdGU6IFJlY29yZDxzdHJpbmcsIFRlbXBsYXRlUmVmPGFueT4+O1xyXG5cclxuICBASW5wdXQoXCJvcHRpb25GaWVsZHNcIikgb3B0aW9uRmllbGRzID0ge1xyXG4gICAgdGV4dDogXCJ0ZXh0XCIsXHJcbiAgICB2YWx1ZTogXCJjb2RlXCIsXHJcbiAgICBkaXNhYmxlZDogXCJkaXNhYmxlZFwiLFxyXG4gICAgZ3JvdXBCeTogbnVsbCxcclxuICB9O1xyXG4gIEBJbnB1dChcInNob3dGaWx0ZXJOdW1iZXJcIikgc2hvd0ZpbHRlck51bWJlciA9IDEwO1xyXG4gIEBJbnB1dChcIm51bWJlckZvcm1hdFwiKSBudW1iZXJGb3JtYXQ6IHN0cmluZztcclxuICBASW5wdXQoXCJkYXRlRm9ybWF0XCIpIGRhdGVGb3JtYXQgPSBcInl5eXktTU0tZGRcIjtcclxuXHJcbiAgQE91dHB1dChcImZvcm1DaGFuZ2VcIikgZm9ybUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8UmVjb3JkPHN0cmluZywgYW55Pj4oKTtcclxuICBAT3V0cHV0KFwiZmllbGRDaGFuZ2VcIikgZmllbGRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHtcclxuICAgIGZpZWxkOiBGaWVsZEl0ZW07XHJcbiAgICB2YWx1ZTogYW55O1xyXG4gIH0+KCk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoXCJkcmF3ZXJGb3JtRWxcIiwgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgcm9vdEVsOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuXHJcbiAgLy8g6Ieq5a6a5LmJIGZpZWxkIOaooeadv+WSjOiHquWumuS5iSBzZWN0aW9uIOaooeadv+eahOWuueWZqFxyXG4gIEBWaWV3Q2hpbGRyZW4oXCJjdXN0b21UZW1wbGF0ZUNvbnRhaW5lclwiLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSlcclxuICBwcml2YXRlIGNvbnRhaW5lcnM6IFF1ZXJ5TGlzdDxWaWV3Q29udGFpbmVyUmVmPjtcclxuICBAVmlld0NoaWxkcmVuKFwiY3VzdG9tU2VjdGlvbkNvbnRhaW5lclwiLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSlcclxuICBwcml2YXRlIHNlY3Rpb25Db250YWluZXJzOiBRdWVyeUxpc3Q8Vmlld0NvbnRhaW5lclJlZj47XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oXCJkcm9wZG93blwiKVxyXG4gIGRyb3Bkb3duczogUXVlcnlMaXN0PERyb3BEb3duTGlzdENvbXBvbmVudD47XHJcblxyXG4gIHNlY3Rpb25zOiBTZWN0aW9uSXRlbVtdID0gW107XHJcbiAgZmllbGRUeXBlTWFwOiBQYXJ0aWFsPFJlY29yZDxGaWVsZEl0ZW1bXCJmaWVsZEZvcm1UeXBlXCJdLCBGaWVsZEl0ZW1bXT4+ID0ge307XHJcbiAgZm9ybUZpZWxkTWFwOiBSZWNvcmQ8c3RyaW5nLCBGaWVsZEl0ZW0+ID0ge307XHJcblxyXG4gIGZvcm06IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcclxuICBmaWVsZFZhbGlkTWFwOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiA9IHt9O1xyXG5cclxuICAvLyDlrZjlgqggZGF0ZXBpY2tlciDnmoTlgLxcclxuICBkYXRlRm9ybTogUmVjb3JkPHN0cmluZywgRGF0ZT4gPSB7fTtcclxuICBkYXRlVmFsaWRNYXA6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+ID0ge307XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cclxuXHJcbiAgbmdPbkluaXQoKSB7fVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAoY2hhbmdlcy5fc2VjdGlvbnMpIHtcclxuICAgICAgdGhpcy5zZWN0aW9ucyA9IGZpbHRlclNob3dTZWN0aW9uKGNoYW5nZXMuX3NlY3Rpb25zLmN1cnJlbnRWYWx1ZSk7XHJcbiAgICAgIHRoaXMuZm9ybWF0RmllbGRNYXAoKTtcclxuICAgICAgdGhpcy5zZXRGb3JtKHsgLi4udGhpcy5mb3JtLCAuLi50aGlzLl9mb3JtIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKGNoYW5nZXMuX2Zvcm0pIHtcclxuICAgICAgaWYgKCFjaGFuZ2VzLl9mb3JtLmN1cnJlbnRWYWx1ZVtGT1JNX1BST1hZX1RBR10pIHtcclxuICAgICAgICB0aGlzLnNldEZvcm0oY2hhbmdlcy5fZm9ybS5jdXJyZW50VmFsdWUpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZm9ybSA9IGNoYW5nZXMuX2Zvcm0uY3VycmVudFZhbHVlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghY2hhbmdlcy5fZm9ybS5maXJzdENoYW5nZSkge1xyXG4gICAgICAgIHRoaXMuY2hlY2tGb3JtQ2hhbmdlKFxyXG4gICAgICAgICAgY2hhbmdlcy5fZm9ybS5wcmV2aW91c1ZhbHVlLFxyXG4gICAgICAgICAgY2hhbmdlcy5fZm9ybS5jdXJyZW50VmFsdWVcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLmN1c3RvbVRlbXBsYXRlUmVuZGVyKHRoaXMuY29udGFpbmVycyk7XHJcbiAgICB0aGlzLmN1c3RvbVNlY3Rpb25SZW5kZXIodGhpcy5zZWN0aW9uQ29udGFpbmVycyk7XHJcbiAgICB0aGlzLmNvbnRhaW5lcnMuY2hhbmdlcy5zdWJzY3JpYmUoXHJcbiAgICAgIChjb250YWluZXJzOiBRdWVyeUxpc3Q8Vmlld0NvbnRhaW5lclJlZj4pID0+IHtcclxuICAgICAgICB0aGlzLmNvbnRhaW5lcnMgPSBjb250YWluZXJzO1xyXG4gICAgICAgIHRoaXMuY3VzdG9tVGVtcGxhdGVSZW5kZXIoY29udGFpbmVycyk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgICB0aGlzLnNlY3Rpb25Db250YWluZXJzLmNoYW5nZXMuc3Vic2NyaWJlKFxyXG4gICAgICAoY29udGFpbmVyczogUXVlcnlMaXN0PFZpZXdDb250YWluZXJSZWY+KSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZWN0aW9uQ29udGFpbmVycyA9IGNvbnRhaW5lcnM7XHJcbiAgICAgICAgdGhpcy5jdXN0b21TZWN0aW9uUmVuZGVyKGNvbnRhaW5lcnMpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gICAgdGhpcy5kcm9wZG93bnMuY2hhbmdlcy5zdWJzY3JpYmUoXHJcbiAgICAgIChkcm9wZG93bnM6IFF1ZXJ5TGlzdDxEcm9wRG93bkxpc3RDb21wb25lbnQ+KSA9PiB7XHJcbiAgICAgICAgdGhpcy5kcm9wZG93bnMgPSBkcm9wZG93bnM7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgICBpZiAodGhpcy5zaG93QW5jaG9yKSB7XHJcbiAgICAgIHRoaXMuaW5pdEFuY2hvclNjcm9sbEhhbmRsZXIoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGN1c3RvbVRlbXBsYXRlUmVuZGVyKGNvbnRhaW5lcnM6IFF1ZXJ5TGlzdDxWaWV3Q29udGFpbmVyUmVmPikge1xyXG4gICAgaWYgKHRoaXMuY3VzdG9tVGVtcGxhdGUgJiYgY29udGFpbmVycy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNvbnN0IGN1c3RvbUZpZWxkcyA9IHRoaXMuZmllbGRUeXBlTWFwLkN1c3RvbSB8fCBbXTtcclxuICAgICAgY29udGFpbmVycy5mb3JFYWNoKChjb250YWluZXIsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgY29udGFpbmVyLmNsZWFyKCk7XHJcbiAgICAgICAgY29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLmN1c3RvbVRlbXBsYXRlLCB7XHJcbiAgICAgICAgICAkaW1wbGljaXQ6IGN1c3RvbUZpZWxkc1tpbmRleF0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY3VzdG9tU2VjdGlvblJlbmRlcihjb250YWluZXJzOiBRdWVyeUxpc3Q8Vmlld0NvbnRhaW5lclJlZj4pIHtcclxuICAgIGlmICh0aGlzLmN1c3RvbVNlY3Rpb25UZW1wbGF0ZSAmJiBjb250YWluZXJzLmxlbmd0aCA+IDApIHtcclxuICAgICAgY29uc3QgY3VzdG9tU2VjdGlvbnMgPSB0aGlzLnNlY3Rpb25zLmZpbHRlcihcclxuICAgICAgICAoc2VjdGlvbikgPT4gc2VjdGlvbi5jdXN0b21LZXlcclxuICAgICAgKTtcclxuICAgICAgY29udGFpbmVycy5mb3JFYWNoKChjb250YWluZXIsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgY29udGFpbmVyLmNsZWFyKCk7XHJcbiAgICAgICAgY29uc3QgY3VzdG9tS2V5ID0gY3VzdG9tU2VjdGlvbnNbaW5kZXhdLmN1c3RvbUtleTtcclxuICAgICAgICBjb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuY3VzdG9tU2VjdGlvblRlbXBsYXRlW2N1c3RvbUtleV0sIHtcclxuICAgICAgICAgICRpbXBsaWNpdDogY3VzdG9tU2VjdGlvbnNbaW5kZXhdLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZvcm1hdEZpZWxkTWFwKCkge1xyXG4gICAgdGhpcy5maWVsZFR5cGVNYXAgPSB7fTtcclxuICAgIHRoaXMuZm9ybUZpZWxkTWFwID0ge307XHJcbiAgICB0aGlzLnNlY3Rpb25zLmZvckVhY2goKHNlY3Rpb24pID0+IHtcclxuICAgICAgc2VjdGlvbi5maWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMuZmllbGRUeXBlTWFwW2ZpZWxkLmZpZWxkRm9ybVR5cGVdKSB7XHJcbiAgICAgICAgICB0aGlzLmZpZWxkVHlwZU1hcFtmaWVsZC5maWVsZEZvcm1UeXBlXSA9IFtdO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmZpZWxkVHlwZU1hcFtmaWVsZC5maWVsZEZvcm1UeXBlXS5wdXNoKGZpZWxkKTtcclxuICAgICAgICB0aGlzLmZvcm1GaWVsZE1hcFtmaWVsZC5mb3JtS2V5XSA9IGZpZWxkO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0Rm9ybShmb3JtOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSB7XHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmdldEZvcm1Qcm94eSh0aGlzLmZvcm1hdEZvcm0odGhpcy5zZWN0aW9ucywgZm9ybSkpO1xyXG4gICAgdGhpcy5zeW5jRm9ybUZpZWxkKCk7XHJcbiAgICB0aGlzLmZvcm1DaGFuZ2UuZW1pdCh0aGlzLmZvcm0pO1xyXG4gIH1cclxuXHJcbiAgZXF1YWwodmFsdWU6IGFueSwgY29tcGFyZVZhbHVlOiBhbnkpIHtcclxuICAgIC8vIOWPquWvueaVsOe7hOi/m+ihjOeJueauiuWIpOaWrVxyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIEFycmF5LmlzQXJyYXkoY29tcGFyZVZhbHVlKSkge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIHZhbHVlLmxlbmd0aCA9PT0gY29tcGFyZVZhbHVlLmxlbmd0aCAmJlxyXG4gICAgICAgIHZhbHVlLmV2ZXJ5KChpLCBpbmRleCkgPT4gaSA9PT0gY29tcGFyZVZhbHVlW2luZGV4XSlcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHJldHVybiBPYmplY3QuaXModmFsdWUsIGNvbXBhcmVWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICBjaGVja0Zvcm1DaGFuZ2UocHJldmlvdXM6IFJlY29yZDxzdHJpbmcsIGFueT4sIGN1cnJlbnQ6IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcclxuICAgIE9iamVjdC5lbnRyaWVzKGN1cnJlbnQpLmZvckVhY2goKFtrZXksIGN1cnJlbnRWYWx1ZV0pID0+IHtcclxuICAgICAgaWYgKCF0aGlzLmVxdWFsKHByZXZpb3VzW2tleV0sIGN1cnJlbnRWYWx1ZSkpIHtcclxuICAgICAgICBjb25zdCBmaWVsZCA9IHRoaXMuZ2V0RmllbGQoa2V5KTtcclxuICAgICAgICBpZiAoZmllbGQpIHtcclxuICAgICAgICAgIHRoaXMuZm9ybUl0ZW1WYWxpZGF0b3IoZmllbGQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzeW5jRm9ybVRvRGF0ZUZvcm0oZmllbGQ6IEZpZWxkSXRlbSwgdmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIGNvbnN0IGRhdGUgPSBtb21lbnQodmFsdWUpO1xyXG4gICAgICB0aGlzLmRhdGVGb3JtW2ZpZWxkLmZvcm1LZXldID0gZGF0ZS5pc1ZhbGlkKCkgPyBkYXRlLnRvRGF0ZSgpIDogbnVsbDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZGF0ZUZvcm1bZmllbGQuZm9ybUtleV0gPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3luY0Zvcm1GaWVsZCgpIHtcclxuICAgIHRoaXMuc2VjdGlvbnMuZm9yRWFjaCgoc2VjdGlvbjogU2VjdGlvbkl0ZW0pID0+IHtcclxuICAgICAgc2VjdGlvbi5maWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcclxuICAgICAgICBzd2l0Y2ggKGZpZWxkLmZpZWxkRm9ybVR5cGUpIHtcclxuICAgICAgICAgIGNhc2UgXCJEYXRlcGlja2VyXCI6XHJcbiAgICAgICAgICAgIHRoaXMuc3luY0Zvcm1Ub0RhdGVGb3JtKGZpZWxkLCB0aGlzLmZvcm1bZmllbGQuZm9ybUtleV0pO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBmb3JtYXRGb3JtKHNlY3Rpb25zOiBTZWN0aW9uSXRlbVtdLCBmb3JtOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSB7XHJcbiAgICBzZWN0aW9ucy5mb3JFYWNoKChzZWN0aW9uOiBTZWN0aW9uSXRlbSkgPT4ge1xyXG4gICAgICBzZWN0aW9uLmZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xyXG4gICAgICAgIHN3aXRjaCAoZmllbGQuZmllbGRGb3JtVHlwZSkge1xyXG4gICAgICAgICAgY2FzZSBcIlRleHRcIjpcclxuICAgICAgICAgIGNhc2UgXCJFbWFpbFwiOlxyXG4gICAgICAgICAgY2FzZSBcIlRleHRhcmVhXCI6XHJcbiAgICAgICAgICAgIGlmIChmb3JtW2ZpZWxkLmZvcm1LZXldID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICBmb3JtW2ZpZWxkLmZvcm1LZXldID0gXCJcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICBjYXNlIFwiVGFnc1wiOlxyXG4gICAgICAgICAgY2FzZSBcIkNoZWNrYm94XCI6XHJcbiAgICAgICAgICBjYXNlIFwiTXVsdGlTZWxlY3RcIjpcclxuICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGZvcm1bZmllbGQuZm9ybUtleV0pKSB7XHJcbiAgICAgICAgICAgICAgZm9ybVtmaWVsZC5mb3JtS2V5XSA9IFtdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgIGNhc2UgXCJTd2l0Y2hcIjpcclxuICAgICAgICAgICAgZm9ybVtmaWVsZC5mb3JtS2V5XSA9ICEhZm9ybVtmaWVsZC5mb3JtS2V5XTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGZvcm1bZmllbGQuZm9ybUtleV0gPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgIGZvcm1bZmllbGQuZm9ybUtleV0gPSBudWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGZvcm07XHJcbiAgfVxyXG5cclxuICBnZXRGb3JtUHJveHkoZm9ybTogUmVjb3JkPHN0cmluZywgYW55Pikge1xyXG4gICAgLy8g546w5Zyo5LiN5pSv5oyB5bWM5aWXIGZvcm0g5bGe5oCn77yM5Y+q5a+55rWF5bGC6L+b6KGM5aSE55CGXHJcbiAgICBjb25zdCBwcm94eUZvcm0gPSBuZXcgUHJveHkoZm9ybSwge1xyXG4gICAgICBzZXQ6ICh0YXJnZXQsIHByb3A6IHN0cmluZywgdmFsdWU6IGFueSkgPT4ge1xyXG4gICAgICAgIHRhcmdldFtwcm9wXSA9IHZhbHVlO1xyXG5cclxuICAgICAgICBjb25zdCBmaWVsZCA9IHRoaXMuZ2V0RmllbGQocHJvcCk7XHJcbiAgICAgICAgaWYgKGZpZWxkKSB7XHJcbiAgICAgICAgICBpZiAoZmllbGQuZmllbGRGb3JtVHlwZSA9PT0gXCJEYXRlcGlja2VyXCIpIHtcclxuICAgICAgICAgICAgdGhpcy5zeW5jRm9ybVRvRGF0ZUZvcm0oZmllbGQsIHZhbHVlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuZm9ybUl0ZW1WYWxpZGF0b3IoZmllbGQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuXHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJveHlGb3JtLCBGT1JNX1BST1hZX1RBRywge1xyXG4gICAgICB2YWx1ZTogdHJ1ZSxcclxuICAgICAgd3JpdGFibGU6IGZhbHNlLFxyXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcclxuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHByb3h5Rm9ybTtcclxuICB9XHJcblxyXG4gIC8vIOihqOWNleaPkOS6pOWJjeS8muinpuWPkei/meS4quWHveaVsFxyXG4gIHVwZGF0ZUZvcm0odmFsdWU6IGFueSwgZmllbGQ6IEZpZWxkSXRlbSkge1xyXG4gICAgdGhpcy5mb3JtW2ZpZWxkLmZvcm1LZXldID0gdmFsdWU7XHJcbiAgICB0aGlzLmZvcm1DaGFuZ2UuZW1pdCh0aGlzLmZvcm0pO1xyXG4gICAgdGhpcy5maWVsZENoYW5nZS5lbWl0KHsgZmllbGQsIHZhbHVlIH0pO1xyXG4gIH1cclxuXHJcbiAgZm9ybUl0ZW1WYWxpZGF0b3IoZmllbGQ6IEZpZWxkSXRlbSwgaXNBdXRvID0gZmFsc2UpIHtcclxuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5mb3JtW2ZpZWxkLmZvcm1LZXldO1xyXG4gICAgbGV0IGlzVmFsaWQgPSB0cnVlO1xyXG4gICAgaWYgKGZpZWxkLnJlcXVpcmVkKSB7XHJcbiAgICAgIGlzVmFsaWQgPSBBcnJheS5pc0FycmF5KHZhbHVlKVxyXG4gICAgICAgID8gdmFsdWUubGVuZ3RoICE9PSAwXHJcbiAgICAgICAgOiAhW251bGwsIHVuZGVmaW5lZCwgXCJcIl0uaW5jbHVkZXModmFsdWUpO1xyXG4gICAgfVxyXG4gICAgaWYgKGlzVmFsaWQgJiYgZmllbGQuZmllbGRGb3JtVHlwZSA9PT0gXCJFbWFpbFwiICYmIHZhbHVlKSB7XHJcbiAgICAgIGlzVmFsaWQgPSBFbWFpbFBhdHRlcm4udGVzdCh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBpZiAoaXNWYWxpZCAmJiBmaWVsZC5tYXhsZW5ndGgpIHtcclxuICAgICAgaXNWYWxpZCA9IFN0cmluZyh2YWx1ZSkubGVuZ3RoIDw9IGZpZWxkLm1heGxlbmd0aDtcclxuICAgIH1cclxuICAgIGlmIChpc1ZhbGlkICYmIGZpZWxkLm1pbmxlbmd0aCkge1xyXG4gICAgICBpc1ZhbGlkID0gU3RyaW5nKHZhbHVlKS5sZW5ndGggPj0gZmllbGQubWlubGVuZ3RoO1xyXG4gICAgfVxyXG4gICAgaWYgKGlzVmFsaWQgJiYgZmllbGQubWF4KSB7XHJcbiAgICAgIGlzVmFsaWQgPSB2YWx1ZSA8PSBmaWVsZC5tYXg7XHJcbiAgICB9XHJcbiAgICBpZiAoaXNWYWxpZCAmJiBmaWVsZC5taW4pIHtcclxuICAgICAgaXNWYWxpZCA9IHZhbHVlID49IGZpZWxkLm1pbjtcclxuICAgIH1cclxuICAgIGlmIChpc1ZhbGlkICYmIHR5cGVvZiBmaWVsZC52YWxpZGF0b3IgPT09IFwiZnVuY3Rpb25cIikge1xyXG4gICAgICBpc1ZhbGlkID0gZmllbGQudmFsaWRhdG9yLmNhbGwobnVsbCwgdmFsdWUsIGZpZWxkKTtcclxuICAgIH1cclxuICAgIGlmICghaXNBdXRvKSB7XHJcbiAgICAgIHRoaXMuZmllbGRWYWxpZE1hcFtmaWVsZC5mb3JtS2V5XSA9IGlzVmFsaWQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaXNWYWxpZDtcclxuICB9XHJcblxyXG4gIHByZUNoZWNrRm9ybUlzVmFsaWQoKSB7XHJcbiAgICBsZXQgZm9ybUlzVmFsaWQgPSB0cnVlO1xyXG4gICAgdGhpcy5zZWN0aW9ucy5mb3JFYWNoKChzZWN0aW9uKSA9PlxyXG4gICAgICBzZWN0aW9uLmZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xyXG4gICAgICAgIGZvcm1Jc1ZhbGlkID0gdGhpcy5mb3JtSXRlbVZhbGlkYXRvcihmaWVsZCkgJiYgZm9ybUlzVmFsaWQ7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIGZvcm1Jc1ZhbGlkO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZvcm1Jc1ZhbGlkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VjdGlvbnMuZXZlcnkoKHNlY3Rpb24pID0+XHJcbiAgICAgIHNlY3Rpb24uZmllbGRzLmV2ZXJ5KChmaWVsZCkgPT4gdGhpcy5mb3JtSXRlbVZhbGlkYXRvcihmaWVsZCwgdHJ1ZSkpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0RmllbGQoZm9ybUtleTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtRmllbGRNYXBbZm9ybUtleV0gfHwgbnVsbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2FsbEZ1bmN0aW9uKGZuOiBGdW5jdGlvbiwgLi4uYXJnczogYW55W10pIHtcclxuICAgIHRoaXMuZm9ybUl0ZW1WYWxpZGF0b3IoYXJnc1sxXSB8fCBhcmdzWzBdKTtcclxuICAgIGlmICh0eXBlb2YgZm4gPT09IFwiZnVuY3Rpb25cIikge1xyXG4gICAgICBmbi5hcHBseShudWxsLCBhcmdzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uSW5wdXQodmFsdWU6IHN0cmluZywgZmllbGQ6IEZpZWxkSXRlbSkge1xyXG4gICAgdGhpcy5jYWxsRnVuY3Rpb24oZmllbGQub25JbnB1dCwgdmFsdWUsIGZpZWxkKTtcclxuICB9XHJcblxyXG4gIG9uQ29tcG9uZW50Q2hhbmdlKGV2ZW50OiBhbnksIGZpZWxkOiBGaWVsZEl0ZW0pIHtcclxuICAgIGlmICghZXZlbnQuaXNJbnRlcmFjdGVkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmIChmaWVsZC5maWVsZEZvcm1UeXBlICE9PSBcIkRhdGVwaWNrZXJcIikge1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlKGV2ZW50LnZhbHVlLCBmaWVsZCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnNvbGUubG9nKFwiY2hhbmdlXCIsIGV2ZW50KTtcclxuICAgIGNvbnN0IHZhbHVlID0gZXZlbnQudmFsdWUgPyBtb21lbnQoZXZlbnQudmFsdWUpLmZvcm1hdChcIllZWVktTU0tRERcIikgOiBudWxsO1xyXG4gICAgdGhpcy5kYXRlRm9ybVtmaWVsZC5mb3JtS2V5XSA9IGV2ZW50LnZhbHVlO1xyXG4gICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSwgZmllbGQpO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2UodmFsdWU6IGFueSwgZmllbGQ6IEZpZWxkSXRlbSkge1xyXG4gICAgdGhpcy51cGRhdGVGb3JtKHZhbHVlLCBmaWVsZCk7XHJcbiAgICB0aGlzLmNhbGxGdW5jdGlvbihmaWVsZC5vbkNoYW5nZSwgdmFsdWUsIGZpZWxkKTtcclxuICB9XHJcblxyXG4gIG9uRGF0ZVBpY2tlckJsdXIoZXZlbnQ6IGFueSwgZmllbGQ6IEZpZWxkSXRlbSkge1xyXG4gICAgdGhpcy5vbkJsdXIoZmllbGQpO1xyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCAkaW5wdXQgPSBldmVudC5tb2RlbC5lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCJpbnB1dFwiKTtcclxuICAgICAgaWYgKCRpbnB1dCAmJiAkaW5wdXQudmFsdWUgJiYgIXRoaXMuZGF0ZUZvcm1bZmllbGQuZm9ybUtleV0pIHtcclxuICAgICAgICB0aGlzLmRhdGVWYWxpZE1hcFtmaWVsZC5mb3JtS2V5XSA9IGZhbHNlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGRlbGV0ZSB0aGlzLmRhdGVWYWxpZE1hcFtmaWVsZC5mb3JtS2V5XTtcclxuICAgICAgfVxyXG4gICAgfSwgNTApO1xyXG4gIH1cclxuXHJcbiAgb25Gb2N1cyhmaWVsZDogRmllbGRJdGVtKSB7XHJcbiAgICB0aGlzLmNhbGxGdW5jdGlvbihmaWVsZC5vbkZvY3VzLCBmaWVsZCk7XHJcbiAgfVxyXG5cclxuICBvbkJsdXIoZmllbGQ6IEZpZWxkSXRlbSkge1xyXG4gICAgdGhpcy5jYWxsRnVuY3Rpb24oZmllbGQub25CbHVyLCBmaWVsZCk7XHJcbiAgfVxyXG5cclxuICBvbkZpbHRlcmluZyhldmVudDogRmlsdGVyaW5nRXZlbnRBcmdzLCBmaWVsZDogRmllbGRJdGVtKSB7XHJcbiAgICBjb25zdCBxdWVyeSA9IG5ldyBRdWVyeSgpO1xyXG4gICAgaWYgKGV2ZW50LnRleHQpIHtcclxuICAgICAgcXVlcnkud2hlcmUodGhpcy5vcHRpb25GaWVsZHMudGV4dCwgXCJjb250YWluc1wiLCBldmVudC50ZXh0LCB0cnVlKTtcclxuICAgIH1cclxuICAgIGV2ZW50LnVwZGF0ZURhdGEodGhpcy5nZXRPcHRpb25zKGZpZWxkKSwgcXVlcnkpO1xyXG4gIH1cclxuXHJcbiAgb25Ecm9wZG93bkRhdGFCb3VuZChldmVudDogYW55LCBmaWVsZDogRmllbGRJdGVtKSB7XHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuZmllbGRUeXBlTWFwW2ZpZWxkLmZpZWxkRm9ybVR5cGVdLmluZGV4T2YoZmllbGQpO1xyXG4gICAgaWYgKGV2ZW50Lml0ZW1zLmxlbmd0aCA+IDAgJiYgaW5kZXggIT09IC0xKSB7XHJcbiAgICAgIHRoaXMuZHJvcGRvd25zLnRvQXJyYXkoKVtpbmRleF0udmFsdWUgPSB0aGlzLmZvcm1bZmllbGQuZm9ybUtleV07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRPcHRpb25zKGZpZWxkOiBGaWVsZEl0ZW0pIHtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMub3B0aW9uc01hcFtmaWVsZC5vcHRpb25LZXldKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5vcHRpb25zTWFwW2ZpZWxkLm9wdGlvbktleV07XHJcbiAgICB9XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLm9wdGlvbnNNYXBbZmllbGQuZm9ybUtleV0pKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLm9wdGlvbnNNYXBbZmllbGQuZm9ybUtleV07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gW107XHJcbiAgfVxyXG5cclxuICBnZXREaXNhYmxlZChmaWVsZDogRmllbGRJdGVtKSB7XHJcbiAgICBpZiAodGhpcy5mb3JtRGlzYWJsZWQpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICBpZiAodHlwZW9mIGZpZWxkLmRpc2FibGVkID09PSBcImZ1bmN0aW9uXCIpIHtcclxuICAgICAgcmV0dXJuIGZpZWxkLmRpc2FibGVkKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmllbGQuZGlzYWJsZWQ7XHJcbiAgfVxyXG5cclxuICBnZXRPcHRpb25GaWVsZHMoZmllbGQ6IEZpZWxkSXRlbSkge1xyXG4gICAgaWYgKFtcIkRyb3Bkb3duXCIsIFwiQXV0b0NvbXBsZXRlXCJdLmluY2x1ZGVzKGZpZWxkLmZpZWxkRm9ybVR5cGUpKSB7XHJcbiAgICAgIHJldHVybiB7IC4uLnRoaXMub3B0aW9uRmllbGRzLCBncm91cEJ5OiBmaWVsZC5ncm91cEtleSB8fCBudWxsIH07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5vcHRpb25GaWVsZHM7XHJcbiAgfVxyXG5cclxuICBAVmlld0NoaWxkcmVuKFwic2VjdGlvbkVsXCIpXHJcbiAgc2VjdGlvbkVsczogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+PjtcclxuICBzY3JvbGxJbmRleCA9IDA7XHJcbiAgaXNDbGlja0FuY2hvciA9IGZhbHNlO1xyXG5cclxuICBvbkNsaWNrQW5jaG9yKGluZGV4OiBudW1iZXIpIHtcclxuICAgIGNvbnN0IHNlY3Rpb25JdGVtcyA9IHRoaXMuc2VjdGlvbkVscy50b0FycmF5KCk7XHJcbiAgICBzZWN0aW9uSXRlbXNbaW5kZXhdLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcodHJ1ZSk7XHJcbiAgICB0aGlzLnNjcm9sbEluZGV4ID0gaW5kZXg7XHJcbiAgICB0aGlzLmlzQ2xpY2tBbmNob3IgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgZmluZFNjcm9sbFZpZXdFbChlbDogSFRNTEVsZW1lbnQpOiBIVE1MRWxlbWVudCB7XHJcbiAgICBpZiAoZWwgPT09IGRvY3VtZW50LmJvZHkpIHtcclxuICAgICAgcmV0dXJuIGVsO1xyXG4gICAgfVxyXG4gICAgaWYgKGVsLnNjcm9sbEhlaWdodCAmJiBlbC5zY3JvbGxIZWlnaHQgIT09IGVsLm9mZnNldEhlaWdodCkge1xyXG4gICAgICByZXR1cm4gZWw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5maW5kU2Nyb2xsVmlld0VsKGVsLnBhcmVudEVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgaW5pdEFuY2hvclNjcm9sbEhhbmRsZXIoKSB7XHJcbiAgICBjb25zdCBzY3JvbGxWaWV3RWwgPSB0aGlzLmZpbmRTY3JvbGxWaWV3RWwodGhpcy5yb290RWwubmF0aXZlRWxlbWVudCk7XHJcbiAgICBjb25zdCBzY3JvbGxIZWlnaHQgPSBzY3JvbGxWaWV3RWwuc2Nyb2xsSGVpZ2h0IC0gc2Nyb2xsVmlld0VsLm9mZnNldEhlaWdodDtcclxuICAgIGNvbnN0IHNlY3Rpb25WaWV3UmF0aW8gPSB0aGlzLnNlY3Rpb25FbHMudG9BcnJheSgpLm1hcCgoc2VjdGlvbikgPT4ge1xyXG4gICAgICBjb25zdCByYXRpbyA9XHJcbiAgICAgICAgc2VjdGlvbi5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCAvIHNjcm9sbFZpZXdFbC5zY3JvbGxIZWlnaHQ7XHJcbiAgICAgIHJldHVybiBzY3JvbGxIZWlnaHQgKiByYXRpbztcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IG9uU2Nyb2xsID0gKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5pc0NsaWNrQW5jaG9yKSB7XHJcbiAgICAgICAgdGhpcy5pc0NsaWNrQW5jaG9yID0gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IHNjcm9sbFRvcCA9XHJcbiAgICAgICAgc2Nyb2xsVmlld0VsLnNjcm9sbFRvcCA+IHNjcm9sbEhlaWdodFxyXG4gICAgICAgICAgPyBzY3JvbGxIZWlnaHRcclxuICAgICAgICAgIDogc2Nyb2xsVmlld0VsLnNjcm9sbFRvcDtcclxuICAgICAgbGV0IHJhZGlvU2Nyb2xsSGVpZ2h0ID0gMDtcclxuICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHNlY3Rpb25WaWV3UmF0aW8ubGVuZ3RoOyBpbmRleCsrKSB7XHJcbiAgICAgICAgcmFkaW9TY3JvbGxIZWlnaHQgKz0gc2VjdGlvblZpZXdSYXRpb1tpbmRleF07XHJcbiAgICAgICAgaWYgKHJhZGlvU2Nyb2xsSGVpZ2h0ID49IHNjcm9sbFRvcCkge1xyXG4gICAgICAgICAgdGhpcy5zY3JvbGxJbmRleCA9IGluZGV4O1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHdoaWxlIChcclxuICAgICAgICB0aGlzLnNlY3Rpb25zW3RoaXMuc2Nyb2xsSW5kZXhdICYmXHJcbiAgICAgICAgIXRoaXMuc2VjdGlvbnNbdGhpcy5zY3JvbGxJbmRleF0udGl0bGVcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5zY3JvbGxJbmRleCsrO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfTtcclxuXHJcbiAgICBvblNjcm9sbCgpO1xyXG4gICAgc2Nyb2xsVmlld0VsLmFkZEV2ZW50TGlzdGVuZXIoXCJzY3JvbGxcIiwgb25TY3JvbGwpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -492,7 +492,7 @@ RichtexteditorComponent.decorators = [
492
492
  { type: Component, args: [{
493
493
  selector: "rs-richtext-editor",
494
494
  template: "<div class=\"editor_box\" id=\"container\">\r\n <ejs-richtexteditor\r\n #editor\r\n id=\"editor\"\r\n [height]=\"height\"\r\n [saveInterval]=\"0\"\r\n [autoSaveOnIdle]=\"autoSaveOnIdle\"\r\n [toolbarSettings]=\"tools\"\r\n [fontFamily]=\"family\"\r\n [insertImageSettings]=\"insertImageSettings\"\r\n [(value)]=\"value\"\r\n (change)=\"onContentChange($event)\"\r\n (created)=\"onCreate()\"\r\n (toolbarClick)=\"_toolbarClick($event)\"\r\n >\r\n </ejs-richtexteditor>\r\n <ejs-dialog\r\n #AIdialog\r\n id=\"AIdialog\"\r\n [ngClass]=\"size\"\r\n [visible]=\"false\"\r\n [target]=\"target\"\r\n [isModal]=\"true\"\r\n [height]=\"dialogHeight\"\r\n [width]=\"dialogWidth\"\r\n maxHeight=\"80%\"\r\n cssClass=\"e-rte-elements custom-dialog-rte\"\r\n zIndex=\"1000\"\r\n (close)=\"closeDialog()\"\r\n (overlayClick)=\"onOverlayClick()\"\r\n (open)=\"dialogShow()\"\r\n >\r\n <ng-template #header>\r\n <div class=\"header-title\">AI Assist</div>\r\n <div class=\"header-buttons\">\r\n <div *ngIf=\"showZoomBtn\" class=\"header-zoom\" (click)=\"onZoom()\">\r\n <img\r\n class=\"header-icon\"\r\n *ngIf=\"size === 'largest'\"\r\n src=\"../../../assets/img/dialog-shrink.svg\"\r\n />\r\n <img\r\n class=\"header-icon\"\r\n *ngIf=\"size !== 'largest'\"\r\n src=\"../../../assets/img/dialog-grow.svg\"\r\n />\r\n </div>\r\n <div class=\"header-btn\" (click)=\"closeDialog()\">\r\n <img class=\"header-icon\" src=\"../../../assets/img/dialog-close.svg\" />\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template #footerTemplate>\r\n <div id=\"dialog-footer-content\">\r\n <div class=\"custom-row-0\">\r\n <div\r\n class=\"cuscol-0\"\r\n style=\"width: 100%; align-items: center; justify-content: left\"\r\n ></div>\r\n <div\r\n class=\"cuscol-1\"\r\n style=\"\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n width: 100%;\r\n \"\r\n >\r\n <div style=\"text-align: right; width: 100%\">\r\n <button\r\n ejs-button\r\n #sentimentButton\r\n content=\"\uD83D\uDE0A Neutral\"\r\n disabled=\"false\"\r\n cssClass=\"sentiment\"\r\n ></button>\r\n <button\r\n ejs-button\r\n #copyButton\r\n content=\"Copy\"\r\n disabled=\"false\"\r\n class=\"copy-btn\"\r\n ></button>\r\n <button\r\n ejs-button\r\n #replaceButton\r\n content=\"Replace\"\r\n isPrimary=\"true\"\r\n disabled=\"false\"\r\n ></button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template #content>\r\n <div class=\"dialog-content\" style=\"height: 100%\">\r\n <div class=\"custom-row-0\">\r\n <div class=\"cuscol-0\" style=\"width: 100%\">\r\n <ejs-dropdownlist\r\n #queryCategory\r\n style=\"width: 200px\"\r\n id=\"queryCategory\"\r\n [dataSource]=\"queryList\"\r\n index=\"0\"\r\n [fields]=\"{ text: 'text', value: 'id' }\"\r\n (select)=\"onQuerySelect($event)\"\r\n >\r\n Rephrase\r\n </ejs-dropdownlist>\r\n <ejs-dropdownlist\r\n *ngIf=\"selectedQuery == 'Rephrase'\"\r\n id=\"chips-container\"\r\n #chipList\r\n style=\"width: 160px\"\r\n [(ngModel)]=\"chipValue\"\r\n [dataSource]=\"rephraseTyleList\"\r\n [fields]=\"{ text: 'text', value: 'id' }\"\r\n (select)=\"onChipClick($event)\"\r\n >\r\n </ejs-dropdownlist>\r\n <ejs-dropdownlist\r\n *ngIf=\"selectedQuery == 'Translate'\"\r\n #languageCategory\r\n index=\"0\"\r\n id=\"language-Category\"\r\n [dataSource]=\"languageList\"\r\n [fields]=\"{ text: 'text', value: 'id' }\"\r\n (select)=\"onLanguageSelect($event)\"\r\n >\r\n </ejs-dropdownlist>\r\n </div>\r\n <div\r\n class=\"cuscol-1\"\r\n style=\"\r\n justify-content: space-between;\r\n align-items: center;\r\n width: 100%;\r\n \"\r\n >\r\n <!-- <ejs-chiplist\r\n id=\"chips-container\"\r\n #chipList\r\n [chips]=\"['Standard', 'Fluent', 'Professional']\"\r\n selection=\"Single\"\r\n cssClass=\"e-outline\"\r\n [selectedChips]=\"[0]\"\r\n (click)=\"onChipClick($event)\"\r\n >\r\n </ejs-chiplist> -->\r\n <button\r\n ejs-button\r\n #regenerateButton\r\n content=\"Regenerate\"\r\n isPrimary=\"true\"\r\n disabled=\"false\"\r\n ></button>\r\n </div>\r\n </div>\r\n <div class=\"custom-row-1\" style=\"height: calc(100% - 40px)\">\r\n <div\r\n class=\"cuscol-0\"\r\n style=\"\r\n width: 100%;\r\n height: 100%;\r\n align-items: center;\r\n justify-content: left;\r\n \"\r\n >\r\n <div style=\"text-align: left; height: 100%\">\r\n <ejs-richtexteditor\r\n #leftRte\r\n id=\"leftRte\"\r\n height=\"100%\"\r\n [toolbarSettings]=\"{ enable: false }\"\r\n placeholder=\"Analysis of AI Support\"\r\n cssClass=\"e-outline\"\r\n >\r\n </ejs-richtexteditor>\r\n </div>\r\n </div>\r\n <div\r\n class=\"cuscol-1\"\r\n style=\"\r\n display: flex;\r\n justify-content: space-between;\r\n width: 100%;\r\n height: 100%;\r\n \"\r\n >\r\n <div style=\"text-align: left; width: 100%; height: 100%\">\r\n <ejs-richtexteditor\r\n #rightRte\r\n id=\"rightRte\"\r\n height=\"100%\"\r\n [toolbarSettings]=\"{ enable: false }\"\r\n placeholder=\"Analysis of AI Support\"\r\n cssClass=\"e-outline\"\r\n >\r\n <!-- style=\"display: none\" -->\r\n </ejs-richtexteditor>\r\n <div\r\n class=\"no-results-found\"\r\n id=\"no-results-found\"\r\n style=\"display: none; height: 244px; align-content: center\"\r\n >\r\n <img\r\n height=\"50\"\r\n width=\"50\"\r\n src=\"https://storage.googleapis.com/cdn-bolddesk/agent-angular-app/images/light/no-records-warning.svg\"\r\n />\r\n <div>No results found</div>\r\n </div>\r\n <div id=\"skeletonId\" style=\"display: none\">\r\n <ejs-skeleton\r\n #skeletonId1\r\n shape=\"Rectangle\"\r\n height=\"20px\"\r\n width=\"100%\"\r\n ></ejs-skeleton\r\n ><br />\r\n <ejs-skeleton\r\n #skeletonId2\r\n shape=\"Rectangle\"\r\n height=\"20px\"\r\n width=\"90%\"\r\n ></ejs-skeleton\r\n ><br />\r\n <ejs-skeleton\r\n #skeletonId3\r\n shape=\"Rectangle\"\r\n height=\"20px\"\r\n width=\"70%\"\r\n ></ejs-skeleton\r\n ><br />\r\n <ejs-skeleton\r\n #skeletonId4\r\n shape=\"Rectangle\"\r\n height=\"20px\"\r\n width=\"50%\"\r\n ></ejs-skeleton\r\n ><br />\r\n <ejs-skeleton\r\n #skeletonId5\r\n shape=\"Rectangle\"\r\n height=\"20px\"\r\n width=\"30%\"\r\n ></ejs-skeleton\r\n ><br />\r\n <ejs-skeleton\r\n #skeletonId6\r\n shape=\"Rectangle\"\r\n height=\"20px\"\r\n width=\"10%\"\r\n ></ejs-skeleton\r\n ><br />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ejs-dialog>\r\n <div class=\"toast\" *ngIf=\"showMsg\">\r\n <span class=\"toast_text\">First, Select some text</span\r\n ><span class=\"close_icon\" (click)=\"hideToast()\"></span>\r\n </div>\r\n</div>\r\n",
495
- styles: [".editor_box{position:relative;width:100%;height:100%}.editor_box .toast{position:absolute;left:35%;top:110px;z-index:1;width:400px;border-radius:4px;border:1px solid #e8f2ff;background:#f4f8ff;padding:4px 12px;color:#1f3f5c;font-size:12px;font-style:normal;font-weight:400;height:32px;font-family:Arial;display:flex;align-items:center;justify-content:space-between}.editor_box .toast .toast_text::before{content:url(../../../assets/img/info.svg);display:inline-block;width:16px;height:16px;vertical-align:bottom;margin-right:8px}.editor_box .toast .close_icon{background-image:url(../../../assets/img/notification-close.svg);cursor:pointer;display:inline-block;width:16px;height:16px}.custom-dialog-rte{padding:0 20px;border-radius:10px}.custom-row-0,.custom-row-1,.custom-row-2{display:flex;align-items:center;padding:12px 24px}.e-rte-dropdown-btn-text{padding-left:4px}.no-results-found{text-align:center}.no-results-found img{display:block;margin:0 auto}.e-custom{margin-right:.5rem;border-radius:25px!important}.custom-dialog-rte .skeleton-rectangle{border-radius:4px}@media (max-width:767px){.cuscol-0,.cuscol-1,.cuscol-2{justify-content:center!important}.custom-row-0,.custom-row-1,.custom-row-2{flex-direction:column!important}.cuscol-1{border-right:none!important}.cuscol-0{width:100%;align-items:center}::ng-deep:host .e-dialog{max-height:80%!important}.custom-dialog-rte .e-dialog .e-dlg-content{overflow-y:auto!important}.custom-dialog-rte .e-dialog .e-dlg-content .e-richtexteditor{height:100px!important}.cuscol-noresult{padding-bottom:20px!important}.e-chip-list{padding:5px!important}.cuscol{padding-right:.2rem!important;width:auto!important}.custom-row-1{height:auto!important}}.cuscol-1{display:flex;flex-direction:row!important}.cuscol-2{display:flex;flex-direction:column!important}.sentiment{color:#000!important}.custom-dialog-rte .e-dialog .e-dlg-content{padding:0!important;overflow-y:hidden}.custom-dialog-rte .e-dialog .e-dlg-header-content{padding:20px 0!important;border:0!important}.custom-dialog-rte .e-dialog .e-dlg-header-content .e-dlg-header{display:flex;align-items:center;line-height:18px;justify-content:space-between}.custom-dialog-rte .e-dialog .e-dlg-header-content .e-dlg-header .header-title{font-family:Arial;font-size:15px;font-weight:700;font-style:normal}.custom-dialog-rte .e-dialog .e-dlg-header-content .header-buttons{display:flex}.custom-dialog-rte .e-dialog .e-dlg-header-content .header-buttons img{width:16px;height:16px;cursor:pointer;padding:2px;margin-left:12px}.custom-dialog-rte .e-dialog .e-footer-content{padding:0!important}.custom-dialog-rte .e-dialog .e-dlg-content .e-richtexteditor.e-rte-tb-expand .e-rte-content,.e-richtexteditor.e-rte-tb-expand .e-source-content{border:0;border-bottom:1px solid #dee2e6;border-top:0 solid #dee2e6!important}.custom-dialog-rte .dialog-content .custom-row-0{border-top:0 solid #ddd!important;padding:0;margin-bottom:12px}.custom-dialog-rte .dialog-content .custom-row-0 .cuscol-0{justify-content:left;border-right:none!important;padding:0;display:flex;gap:12px}.custom-dialog-rte .dialog-content .custom-row-0 .cuscol-1{padding:0;margin-left:12px}.custom-dialog-rte .dialog-content .custom-row-0 .cuscol-1 .e-primary{color:#44566c;border-radius:4px;border:1px solid #dbe1e7;background:#fff;width:87px;margin:0;padding:2px 12px;font-family:Arial;font-size:12px;font-style:normal;font-weight:400;line-height:14px;height:28px}.custom-dialog-rte .dialog-content .custom-row-1{padding:0;height:calc(100% - 40px);gap:12px}.custom-dialog-rte .e-footer-content{border:0}.custom-dialog-rte .e-footer-content .custom-row-0{padding:20px 0}.custom-dialog-rte .e-footer-content .e-control.e-btn{font-family:Arial;font-size:12px;line-height:14px;padding:2px 12px;height:28px;background:#fff;color:#44566c}.custom-dialog-rte .e-footer-content .e-control.e-btn.copy-btn{border-color:#dbe1e7}.custom-dialog-rte .e-footer-content .e-control.e-btn.copy-btn::before{content:url(../../../assets/img/editor-copy.svg);vertical-align:middle;margin-right:6px}.custom-dialog-rte .e-footer-content .e-control.e-btn.e-primary{color:#fff;background:#1364b3}.editor_box .e-dialog.largest{width:96vw!important;height:88vh!important;max-height:88vh;max-width:2100px}"]
495
+ styles: [".editor_box{position:relative;width:100%;height:100%}.editor_box .toast{position:absolute;left:35%;top:110px;z-index:1;width:400px;border-radius:4px;border:1px solid #e8f2ff;background:#f4f8ff;padding:4px 12px;color:#1f3f5c;font-size:12px;font-style:normal;font-weight:400;height:32px;font-family:Arial;display:flex;align-items:center;justify-content:space-between}.editor_box .toast .toast_text::before{content:url(../../assets/img/info.svg);display:inline-block;width:16px;height:16px;vertical-align:bottom;margin-right:8px}.editor_box .toast .close_icon{background-image:url(../../assets/img/notification-close.svg);cursor:pointer;display:inline-block;width:16px;height:16px}.custom-dialog-rte{padding:0 20px;border-radius:10px}.custom-row-0,.custom-row-1,.custom-row-2{display:flex;align-items:center;padding:12px 24px}.e-rte-dropdown-btn-text{padding-left:4px}.no-results-found{text-align:center}.no-results-found img{display:block;margin:0 auto}.e-custom{margin-right:.5rem;border-radius:25px!important}.custom-dialog-rte .skeleton-rectangle{border-radius:4px}@media (max-width:767px){.cuscol-0,.cuscol-1,.cuscol-2{justify-content:center!important}.custom-row-0,.custom-row-1,.custom-row-2{flex-direction:column!important}.cuscol-1{border-right:none!important}.cuscol-0{width:100%;align-items:center}::ng-deep:host .e-dialog{max-height:80%!important}.custom-dialog-rte .e-dialog .e-dlg-content{overflow-y:auto!important}.custom-dialog-rte .e-dialog .e-dlg-content .e-richtexteditor{height:100px!important}.cuscol-noresult{padding-bottom:20px!important}.e-chip-list{padding:5px!important}.cuscol{padding-right:.2rem!important;width:auto!important}.custom-row-1{height:auto!important}}.cuscol-1{display:flex;flex-direction:row!important}.cuscol-2{display:flex;flex-direction:column!important}.sentiment{color:#000!important}.custom-dialog-rte .e-dialog .e-dlg-content{padding:0!important;overflow-y:hidden}.custom-dialog-rte .e-dialog .e-dlg-header-content{padding:20px 0!important;border:0!important}.custom-dialog-rte .e-dialog .e-dlg-header-content .e-dlg-header{display:flex;align-items:center;line-height:18px;justify-content:space-between}.custom-dialog-rte .e-dialog .e-dlg-header-content .e-dlg-header .header-title{font-family:Arial;font-size:15px;font-weight:700;font-style:normal}.custom-dialog-rte .e-dialog .e-dlg-header-content .header-buttons{display:flex}.custom-dialog-rte .e-dialog .e-dlg-header-content .header-buttons img{width:16px;height:16px;cursor:pointer;padding:2px;margin-left:12px}.custom-dialog-rte .e-dialog .e-footer-content{padding:0!important}.custom-dialog-rte .e-dialog .e-dlg-content .e-richtexteditor.e-rte-tb-expand .e-rte-content,.e-richtexteditor.e-rte-tb-expand .e-source-content{border:0;border-bottom:1px solid #dee2e6;border-top:0 solid #dee2e6!important}.custom-dialog-rte .dialog-content .custom-row-0{border-top:0 solid #ddd!important;padding:0;margin-bottom:12px}.custom-dialog-rte .dialog-content .custom-row-0 .cuscol-0{justify-content:left;border-right:none!important;padding:0;display:flex;gap:12px}.custom-dialog-rte .dialog-content .custom-row-0 .cuscol-1{padding:0;margin-left:12px}.custom-dialog-rte .dialog-content .custom-row-0 .cuscol-1 .e-primary{color:#44566c;border-radius:4px;border:1px solid #dbe1e7;background:#fff;width:87px;margin:0;padding:2px 12px;font-family:Arial;font-size:12px;font-style:normal;font-weight:400;line-height:14px;height:28px}.custom-dialog-rte .dialog-content .custom-row-1{padding:0;height:calc(100% - 40px);gap:12px}.custom-dialog-rte .e-footer-content{border:0}.custom-dialog-rte .e-footer-content .custom-row-0{padding:20px 0}.custom-dialog-rte .e-footer-content .e-control.e-btn{font-family:Arial;font-size:12px;line-height:14px;padding:2px 12px;height:28px;background:#fff;color:#44566c}.custom-dialog-rte .e-footer-content .e-control.e-btn.copy-btn{border-color:#dbe1e7}.custom-dialog-rte .e-footer-content .e-control.e-btn.copy-btn::before{content:url(../../assets/img/editor-copy.svg);vertical-align:middle;margin-right:6px}.custom-dialog-rte .e-footer-content .e-control.e-btn.e-primary{color:#fff;background:#1364b3}.editor_box .e-dialog.largest{width:96vw!important;height:88vh!important;max-height:88vh;max-width:2100px}"]
496
496
  }] }
497
497
  ];
498
498
  /** @nocollapse */