@gipisistemas/ng-core 1.1.11 → 1.1.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (131) hide show
  1. package/assets/styles/colors.scss +228 -211
  2. package/assets/styles/styles.scss +54 -5
  3. package/bundles/gipisistemas-ng-core.umd.js +3516 -146
  4. package/bundles/gipisistemas-ng-core.umd.js.map +1 -1
  5. package/bundles/gipisistemas-ng-core.umd.min.js +9 -9
  6. package/bundles/gipisistemas-ng-core.umd.min.js.map +1 -1
  7. package/core/gipi-components/components/abstract-find.component.d.ts +1 -0
  8. package/core/gipi-components/components/abstract.component.d.ts +1 -0
  9. package/esm2015/core/gipi-components/components/abstract-find.component.js +22 -1
  10. package/esm2015/core/gipi-components/components/abstract.component.js +5 -2
  11. package/esm2015/gipi-components.js +19 -6
  12. package/esm2015/gipisistemas-ng-core.js +3 -1
  13. package/esm2015/shared/components/button/button.component.js +2 -2
  14. package/esm2015/shared/components/icon/icon.component.js +2 -4
  15. package/esm2015/shared/gipi-components/button/button.component.js +2 -2
  16. package/esm2015/shared/gipi-components/datepicker/date-range-picker/date-range-picker.component.js +1 -1
  17. package/esm2015/shared/gipi-components/datepicker/datepicker/datepicker.component.js +3 -3
  18. package/esm2015/shared/gipi-components/datepicker/mat-datepicker/calendar-body.js +1 -1
  19. package/esm2015/shared/gipi-components/datepicker/mat-datepicker/date-range-input.js +1 -1
  20. package/esm2015/shared/gipi-components/datetime-picker/datetime-picker/datetime-picker.component.js +158 -0
  21. package/esm2015/shared/gipi-components/datetime-picker/datetime-picker.module.js +82 -0
  22. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/calendar-body.js +116 -0
  23. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/calendar.js +676 -0
  24. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/clock.js +306 -0
  25. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-animations.js +30 -0
  26. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-errors.js +7 -0
  27. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-filtertype.js +7 -0
  28. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-input.js +346 -0
  29. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-toggle.js +83 -0
  30. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-type.js +1 -0
  31. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker.js +451 -0
  32. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/month-view.js +151 -0
  33. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/multi-year-view.js +230 -0
  34. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/adapter.module.js +43 -0
  35. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/datetime-adapter.js +139 -0
  36. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/datetime-formats.js +3 -0
  37. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/native-datetime-adapter.js +138 -0
  38. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/native-datetime-formats.js +20 -0
  39. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/year-view.js +141 -0
  40. package/esm2015/shared/gipi-components/dropdown-menu/dropdown-menu.component.js +1 -1
  41. package/esm2015/shared/gipi-components/form-field/form-field.component.js +8 -3
  42. package/esm2015/shared/gipi-components/input-currency/input-currency.component.js +1 -1
  43. package/esm2015/shared/gipi-components/input-monthpicker/input-monthpicker.component.js +1 -1
  44. package/esm2015/shared/gipi-components/input-select/input-select.component.js +1 -1
  45. package/esm2015/shared/gipi-components/input-select-enum/input-select-enum.component.js +20 -6
  46. package/esm2015/shared/gipi-components/month-year-picker/month-year-picker.component.js +1 -1
  47. package/esm2015/shared/gipi-components/radio-group/radio-group.component.js +1 -1
  48. package/esm2015/shared/gipi-components/range-page/range-page.component.js +1 -1
  49. package/esm2015/shared/gipi-components/range-slider/range-slider.component.js +1 -1
  50. package/esm2015/shared/gipi-components/select-button/select-button.component.js +1 -1
  51. package/esm2015/shared/gipi-components/split-button/split-button.component.js +2 -2
  52. package/esm2015/shared/gipi-components/tabs/tab-group/tab-group.component.js +5 -2
  53. package/esm2015/shared/gipi-components/textarea/textarea.component.js +1 -1
  54. package/esm2015/shared/shared.module.js +51 -3
  55. package/esm5/core/gipi-components/components/abstract-find.component.js +22 -1
  56. package/esm5/core/gipi-components/components/abstract.component.js +5 -2
  57. package/esm5/gipi-components.js +19 -6
  58. package/esm5/gipisistemas-ng-core.js +3 -1
  59. package/esm5/shared/components/button/button.component.js +2 -2
  60. package/esm5/shared/components/icon/icon.component.js +2 -4
  61. package/esm5/shared/gipi-components/button/button.component.js +2 -2
  62. package/esm5/shared/gipi-components/datepicker/date-range-picker/date-range-picker.component.js +1 -1
  63. package/esm5/shared/gipi-components/datepicker/datepicker/datepicker.component.js +3 -3
  64. package/esm5/shared/gipi-components/datepicker/mat-datepicker/calendar-body.js +1 -1
  65. package/esm5/shared/gipi-components/datepicker/mat-datepicker/date-range-input.js +1 -1
  66. package/esm5/shared/gipi-components/datetime-picker/datetime-picker/datetime-picker.component.js +176 -0
  67. package/esm5/shared/gipi-components/datetime-picker/datetime-picker.module.js +85 -0
  68. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/calendar-body.js +119 -0
  69. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/calendar.js +747 -0
  70. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/clock.js +332 -0
  71. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-animations.js +30 -0
  72. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-errors.js +7 -0
  73. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-filtertype.js +7 -0
  74. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-input.js +377 -0
  75. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-toggle.js +89 -0
  76. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-type.js +1 -0
  77. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker.js +495 -0
  78. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/month-view.js +160 -0
  79. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/multi-year-view.js +248 -0
  80. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/adapter.module.js +49 -0
  81. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/datetime-adapter.js +145 -0
  82. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/datetime-formats.js +3 -0
  83. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/native-datetime-adapter.js +141 -0
  84. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/native-datetime-formats.js +20 -0
  85. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/year-view.js +151 -0
  86. package/esm5/shared/gipi-components/dropdown-menu/dropdown-menu.component.js +1 -1
  87. package/esm5/shared/gipi-components/form-field/form-field.component.js +8 -3
  88. package/esm5/shared/gipi-components/input-currency/input-currency.component.js +1 -1
  89. package/esm5/shared/gipi-components/input-monthpicker/input-monthpicker.component.js +1 -1
  90. package/esm5/shared/gipi-components/input-select/input-select.component.js +1 -1
  91. package/esm5/shared/gipi-components/input-select-enum/input-select-enum.component.js +25 -6
  92. package/esm5/shared/gipi-components/month-year-picker/month-year-picker.component.js +1 -1
  93. package/esm5/shared/gipi-components/radio-group/radio-group.component.js +1 -1
  94. package/esm5/shared/gipi-components/range-page/range-page.component.js +1 -1
  95. package/esm5/shared/gipi-components/range-slider/range-slider.component.js +1 -1
  96. package/esm5/shared/gipi-components/select-button/select-button.component.js +1 -1
  97. package/esm5/shared/gipi-components/split-button/split-button.component.js +2 -2
  98. package/esm5/shared/gipi-components/tabs/tab-group/tab-group.component.js +5 -2
  99. package/esm5/shared/gipi-components/textarea/textarea.component.js +1 -1
  100. package/esm5/shared/shared.module.js +51 -3
  101. package/fesm2015/gipisistemas-ng-core.js +3244 -157
  102. package/fesm2015/gipisistemas-ng-core.js.map +1 -1
  103. package/fesm5/gipisistemas-ng-core.js +3494 -152
  104. package/fesm5/gipisistemas-ng-core.js.map +1 -1
  105. package/gipi-components.d.ts +16 -0
  106. package/gipisistemas-ng-core.d.ts +2 -0
  107. package/gipisistemas-ng-core.metadata.json +1 -1
  108. package/package.json +4 -4
  109. package/shared/components/icon/icon.component.d.ts +1 -3
  110. package/shared/gipi-components/datetime-picker/datetime-picker/datetime-picker.component.d.ts +40 -0
  111. package/shared/gipi-components/datetime-picker/datetime-picker.module.d.ts +2 -0
  112. package/shared/gipi-components/datetime-picker/mat-datetime-picker/calendar-body.d.ts +50 -0
  113. package/shared/gipi-components/datetime-picker/mat-datetime-picker/calendar.d.ts +140 -0
  114. package/shared/gipi-components/datetime-picker/mat-datetime-picker/clock.d.ts +66 -0
  115. package/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-animations.d.ts +8 -0
  116. package/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-errors.d.ts +2 -0
  117. package/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-filtertype.d.ts +5 -0
  118. package/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-input.d.ts +98 -0
  119. package/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-toggle.d.ts +20 -0
  120. package/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-type.d.ts +1 -0
  121. package/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker.d.ts +133 -0
  122. package/shared/gipi-components/datetime-picker/mat-datetime-picker/month-view.d.ts +53 -0
  123. package/shared/gipi-components/datetime-picker/mat-datetime-picker/multi-year-view.d.ts +80 -0
  124. package/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/adapter.module.d.ts +4 -0
  125. package/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/datetime-adapter.d.ts +46 -0
  126. package/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/datetime-formats.d.ts +20 -0
  127. package/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/native-datetime-adapter.d.ts +36 -0
  128. package/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/native-datetime-formats.d.ts +2 -0
  129. package/shared/gipi-components/datetime-picker/mat-datetime-picker/year-view.d.ts +52 -0
  130. package/shared/gipi-components/form-field/form-field.component.d.ts +1 -0
  131. package/shared/gipi-components/input-select-enum/input-select-enum.component.d.ts +4 -2
@@ -456,6 +456,27 @@ var GIPIAbstractFindComponent = /** @class */ (function (_super) {
456
456
  throw new Error(e);
457
457
  }
458
458
  };
459
+ GIPIAbstractFindComponent.prototype.cloneRegister = function (id, permission) {
460
+ id = this.handleEntityId(id);
461
+ if (ObjectUtil.isNull(id)) {
462
+ return;
463
+ }
464
+ if (StringUtil.isEmpty(permission) && ObjectUtil.isNull(this.basePermissionList)) {
465
+ this.setFilterSessionStorage();
466
+ this.navigateByUrl(this.getPath(), [this.getPath(), 'new', 'clone'], true);
467
+ }
468
+ else {
469
+ if (StringUtil.isEmpty(permission) && !ObjectUtil.isNull(this.basePermissionList)) {
470
+ permission = this.basePermissionList.MAKE;
471
+ }
472
+ if (!this.hasPermission(permission)) {
473
+ this.addWarningMessage(INJECTOR.get(APP_MESSAGES).NOT_PERMISSION);
474
+ return;
475
+ }
476
+ this.setFilterSessionStorage();
477
+ this.navigateByUrl(this.getPath(), [this.getPath(), 'new', 'clone', id], true);
478
+ }
479
+ };
459
480
  GIPIAbstractFindComponent.prototype.clear = function () {
460
481
  this.baseService.sessionStorageService.remove('filter');
461
482
  this.page = this.newPage();
@@ -507,4 +528,4 @@ var GIPIAbstractFindComponent = /** @class */ (function (_super) {
507
528
  return GIPIAbstractFindComponent;
508
529
  }(GIPIAbstractComponent));
509
530
  export { GIPIAbstractFindComponent };
510
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZmluZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ2lwaXNpc3RlbWFzL25nLWNvcmUvIiwic291cmNlcyI6WyJjb3JlL2dpcGktY29tcG9uZW50cy9jb21wb25lbnRzL2Fic3RyYWN0LWZpbmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHN0Q7SUFBb0ksNkNBQXFCO0lBMENySixtQ0FDYyxtQkFBOEQsRUFDOUQsV0FBNEIsRUFDNUIsY0FBOEI7UUFINUMsWUFLSSxrQkFBTSxXQUFXLEVBQUUsY0FBYyxDQUFDLFNBQ3JDO1FBTGEseUJBQW1CLEdBQW5CLG1CQUFtQixDQUEyQztRQUM5RCxpQkFBVyxHQUFYLFdBQVcsQ0FBaUI7UUFDNUIsb0JBQWMsR0FBZCxjQUFjLENBQWdCO1FBM0NwQyxhQUFPLEdBQVksSUFBSSxDQUFDO1FBUXhCLFdBQUssR0FBMkIsSUFBSSxDQUFDO1FBZ0JyQyxjQUFRLEdBQXFCLEVBQUUsQ0FBQztRQVFoQyxxQkFBZSxHQUE2QixFQUFFLENBQUM7O0lBY3ZELENBQUM7SUE3Q0Qsc0JBQVcsNkNBQU07YUFHakI7WUFDSSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDeEIsQ0FBQzthQUxELFVBQWtCLEtBQWM7WUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDekIsQ0FBQzs7O09BQUE7SUFNRCxzQkFBVywyQ0FBSTthQUdmO1lBQ0ksT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3RCLENBQUM7YUFMRCxVQUFnQixLQUE2QjtZQUN6QyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUN2QixDQUFDOzs7T0FBQTtJQU1ELHNCQUFXLHdEQUFpQjthQUc1QjtZQUNJLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO1FBQ25DLENBQUM7YUFMRCxVQUE2QixLQUF3QjtZQUNqRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQ3BDLENBQUM7OztPQUFBO0lBTUQsc0JBQVcsOENBQU87YUFHbEI7WUFDSSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDekIsQ0FBQzthQUxELFVBQW1CLEtBQXVCO1lBQ3RDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQzFCLENBQUM7OztPQUFBO0lBTUQsc0JBQVcscURBQWM7YUFHekI7WUFDSSxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDaEMsQ0FBQzthQUxELFVBQTBCLEtBQStCO1lBQ3JELElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLENBQUM7OztPQUFBO0lBYUQsNENBQVEsR0FBUjtRQUNJLGlCQUFNLFFBQVEsV0FBRSxDQUFDO1FBRWpCLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRTtZQUM1QyxNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7U0FDckQ7UUFFRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRUQsbURBQWUsR0FBZjtRQUNJLGlCQUFNLGVBQWUsV0FBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCwrQ0FBVyxHQUFYO1FBQ0ksaUJBQU0sV0FBVyxXQUFFLENBQUM7SUFDeEIsQ0FBQztJQWdCUywyQ0FBTyxHQUFqQjtRQUNJLE9BQU8sSUFBSSxhQUFhLEVBQVcsQ0FBQztJQUN4QyxDQUFDO0lBRVMsb0RBQWdCLEdBQTFCO1FBQ0ksT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRVMsNkNBQVMsR0FBbkIsVUFBb0IsRUFBYSxJQUFVLENBQUM7SUFFbEMseURBQXFCLEdBQS9CLFVBQXlDLEdBQU07UUFDM0MsT0FBTyxDQUNILENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO1lBQ3ZDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsRUFBYixDQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDM0QsQ0FBQztJQUNOLENBQUM7SUFFRCxnQkFBZ0I7SUFDTixpREFBYSxHQUF2QjtRQUNJLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRS9CLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNqQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztTQUM1QjtRQUVELElBQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsRUFBRTtZQUMxQyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztTQUNyQztJQUNMLENBQUM7SUFFTSwyQ0FBTyxHQUFkLFVBQWUsU0FBZTtRQUE5QixpQkFpREM7UUFoREcsSUFBSTtZQUNBLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBRXBCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzNCLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2FBQ2xDO1lBRUQsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRTtnQkFDNUUsU0FBUyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztnQkFFbkMsSUFBSSxVQUFVLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxFQUFFO29CQUNyRCxTQUFTLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztpQkFDM0I7YUFDSjtZQUVELElBQUksU0FBUyxFQUFFO2dCQUNYLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxTQUFTLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUM7Z0JBQzdDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUM7Z0JBQzFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQztnQkFFOUQsSUFBSSxTQUFTLENBQUMsSUFBSSxFQUFFO29CQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRzt3QkFDaEIsSUFBSSxhQUFhLENBQ2IsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQ3JCLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FDakc7cUJBQ0osQ0FBQztpQkFDTDthQUNKO2lCQUFNO2dCQUNILElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2dCQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7YUFDN0I7WUFFRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFtQixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQUEsSUFBSTtnQkFDakYsS0FBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7Z0JBQ2pCLEtBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUN6QixLQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUN6QixDQUFDLEVBQUUsVUFBQSxLQUFLO2dCQUNKLEtBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNCLENBQUMsQ0FBQyxDQUFDO1NBQ047UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNSLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdEI7SUFDTCxDQUFDO0lBRU0sK0NBQVcsR0FBbEIsVUFBbUIsVUFBbUI7UUFDbEMsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUU7WUFDOUUsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDckU7YUFBTTtZQUNILElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUU7Z0JBQy9FLFVBQVUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDO2FBQzdDO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ2pDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUNsRSxPQUFPO2FBQ1Y7WUFFRCxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUNyRTtJQUNMLENBQUM7SUFFTSxnREFBWSxHQUFuQixVQUFvQixFQUFhLEVBQUUsVUFBbUI7UUFDbEQsRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDN0IsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ3ZCLE9BQU87U0FDVjtRQUVELElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFO1lBQzlFLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ3RFO2FBQU07WUFDSCxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFO2dCQUMvRSxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQzthQUMvQztZQUNELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUNqQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDbEUsT0FBTzthQUNWO1lBRUQsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQzFFO0lBQ0wsQ0FBQztJQUVNLGtEQUFjLEdBQXJCLFVBQXNCLEVBQWEsRUFBRSxVQUFtQixFQUFFLFVBQTBCLEVBQUUsT0FBZ0I7UUFBNUMsMkJBQUEsRUFBQSxpQkFBMEI7UUFDaEYsSUFBSTtZQUNBLEVBQUUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzdCLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRTtnQkFDdkIsT0FBTzthQUNWO1lBRUQsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUU7Z0JBQzlFLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQzthQUNqRDtpQkFBTTtnQkFDSCxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFO29CQUMvRSxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQztpQkFDL0M7Z0JBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEVBQUU7b0JBQ2pDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDO29CQUNsRSxPQUFPO2lCQUNWO2dCQUVELElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQzthQUNqRDtTQUNKO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDUixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ2hCO1lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN0QjtJQUNMLENBQUM7SUFFRCxnQkFBZ0I7SUFDUixtREFBZSxHQUF2QixVQUF3QixFQUFZLEVBQUUsVUFBMEIsRUFBRSxPQUFnQjtRQUFsRixpQkEyQkM7UUEzQnFDLDJCQUFBLEVBQUEsaUJBQTBCO1FBQzVELElBQUk7WUFDQSxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQztnQkFDekMsS0FBSyxFQUFFLGFBQWE7Z0JBQ3BCLE9BQU8sRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLG1CQUFtQjtnQkFDdkQsTUFBTSxFQUFFO29CQUNKLEtBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO29CQUUvQixLQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztvQkFDcEIsS0FBSSxDQUFDLElBQUksR0FBRyxLQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQzNCLEtBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBRW5CLEtBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQVUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQzt3QkFDbkUsSUFBSSxVQUFVLEVBQUU7NEJBQ1osS0FBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO3lCQUNsQjt3QkFDRCxLQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQzt3QkFDckIsS0FBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQy9ELENBQUMsRUFBRSxVQUFBLEtBQUs7d0JBQ0osTUFBTSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDM0IsQ0FBQyxDQUFDLENBQUM7Z0JBQ1AsQ0FBQzthQUNKLENBQUMsQ0FBQztTQUNOO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDUixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQztJQUVNLHFEQUFpQixHQUF4QixVQUF5QixNQUFtQixFQUFFLFVBQW1CLEVBQUUsVUFBMEIsRUFBRSxPQUFnQjtRQUE1QywyQkFBQSxFQUFBLGlCQUEwQjtRQUN6RixJQUFJO1lBQ0EsTUFBTSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN6QyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDeEQsT0FBTzthQUNWO1lBRUQsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUU7Z0JBQzlFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2FBQ3hEO2lCQUFNO2dCQUNILElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUU7b0JBQy9FLFVBQVUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDO2lCQUMvQztnQkFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsRUFBRTtvQkFDakMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUM7b0JBQ2xFLE9BQU87aUJBQ1Y7Z0JBRUQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDeEQ7U0FDSjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1IsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUNoQjtZQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdEI7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCO0lBQ1Isc0RBQWtCLEdBQTFCLFVBQTJCLE1BQWtCLEVBQUUsVUFBMEIsRUFBRSxPQUFnQjtRQUEzRixpQkEyQkM7UUEzQjhDLDJCQUFBLEVBQUEsaUJBQTBCO1FBQ3JFLElBQUk7WUFDQSxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQztnQkFDekMsS0FBSyxFQUFFLGFBQWE7Z0JBQ3BCLE9BQU8sRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLG1CQUFtQjtnQkFDdkQsTUFBTSxFQUFFO29CQUNKLEtBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO29CQUUvQixLQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztvQkFDcEIsS0FBSSxDQUFDLElBQUksR0FBRyxLQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQzNCLEtBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFFakIsS0FBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDO3dCQUNqRSxJQUFJLFVBQVUsRUFBRTs0QkFDWixLQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7eUJBQ2xCO3dCQUNELEtBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO3dCQUNyQixLQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDL0QsQ0FBQyxFQUFFLFVBQUEsS0FBSzt3QkFDSixNQUFNLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUMzQixDQUFDLENBQUMsQ0FBQztnQkFDUCxDQUFDO2FBQ0osQ0FBQyxDQUFDO1NBQ047UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNSLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdEI7SUFDTCxDQUFDO0lBRU0sZ0RBQVksR0FBbkIsVUFBb0IsRUFBYSxFQUFFLFVBQW1CO1FBQ2xELEVBQUUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdCLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUN2QixPQUFPO1NBQ1Y7UUFFRCxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRTtZQUM5RSxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDMUU7YUFBTTtZQUNILElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUU7Z0JBQy9FLFVBQVUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDO2FBQzdDO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ2pDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUNsRSxPQUFPO2FBQ1Y7WUFFRCxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDMUU7SUFDTCxDQUFDO0lBRU0sc0RBQWtCLEdBQXpCLFVBQTBCLEVBQVksRUFBRSxVQUFrQjtRQUN0RCxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDaEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDckM7YUFBTTtZQUNILElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQ3JDO0lBQ0wsQ0FBQztJQUVNLDJEQUF1QixHQUE5QixVQUErQixNQUE0QixFQUFFLEVBQWEsRUFBRSxVQUFtQixFQUFFLFVBQTBCLEVBQUUsT0FBZ0I7UUFBNUMsMkJBQUEsRUFBQSxpQkFBMEI7UUFDdkgsSUFBSTtZQUNBLEVBQUUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzdCLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRTtnQkFDdkIsT0FBTzthQUNWO1lBRUQsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUU7Z0JBQzlFLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQzthQUNsRTtpQkFBTTtnQkFDSCxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFO29CQUMvRSxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQztpQkFDL0M7Z0JBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEVBQUU7b0JBQ2pDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDO29CQUNsRSxPQUFPO2lCQUNWO2dCQUVELElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQzthQUNsRTtTQUNKO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDUixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ2hCO1lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN0QjtJQUNMLENBQUM7SUFFRCxnQkFBZ0I7SUFDUiw0REFBd0IsR0FBaEMsVUFBaUMsTUFBNEIsRUFBRSxFQUFZLEVBQUUsVUFBMEIsRUFBRSxPQUFnQjtRQUF6SCxpQkEwQkM7UUExQjRFLDJCQUFBLEVBQUEsaUJBQTBCO1FBQ25HLElBQUk7WUFDQSxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQztnQkFDekMsS0FBSyxFQUFFLGFBQWE7Z0JBQ3BCLE9BQU8sRUFBRSx1QkFBb0IsQ0FBQyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxxQkFBaUI7Z0JBQzVGLE1BQU0sRUFBRTtvQkFDSixLQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztvQkFFL0IsS0FBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7b0JBQ3BCLEtBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUUzQixLQUFJLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDO3dCQUMzRSxJQUFJLFVBQVUsRUFBRTs0QkFDWixLQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7eUJBQ2xCO3dCQUNELEtBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO3dCQUNyQixLQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDL0QsQ0FBQyxFQUFFLFVBQUEsS0FBSzt3QkFDSixNQUFNLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUMzQixDQUFDLENBQUMsQ0FBQztnQkFDUCxDQUFDO2FBQ0osQ0FBQyxDQUFDO1NBQ047UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNSLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdEI7SUFDTCxDQUFDO0lBRU0sK0RBQTJCLEdBQWxDLFVBQW1DLE1BQTRCLEVBQUUsTUFBbUIsRUFBRSxVQUFtQixFQUFFLFVBQTBCLEVBQUUsT0FBZ0I7UUFBNUMsMkJBQUEsRUFBQSxpQkFBMEI7UUFDakksSUFBSTtZQUNBLE1BQU0sR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDekMsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3hELE9BQU87YUFDVjtZQUVELElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFO2dCQUM5RSxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDMUU7aUJBQU07Z0JBQ0gsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRTtvQkFDL0UsVUFBVSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUM7aUJBQy9DO2dCQUNELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxFQUFFO29CQUNqQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQztvQkFDbEUsT0FBTztpQkFDVjtnQkFFRCxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDMUU7U0FDSjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1IsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUNoQjtZQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdEI7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCO0lBQ1IsZ0VBQTRCLEdBQXBDLFVBQXFDLE1BQTRCLEVBQUUsTUFBa0IsRUFBRSxVQUEwQixFQUFFLE9BQWdCO1FBQW5JLGlCQTBCQztRQTFCc0YsMkJBQUEsRUFBQSxpQkFBMEI7UUFDN0csSUFBSTtZQUNBLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDO2dCQUN6QyxLQUFLLEVBQUUsYUFBYTtnQkFDcEIsT0FBTyxFQUFFLHVCQUFvQixDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLGlDQUE2QjtnQkFDeEcsTUFBTSxFQUFFO29CQUNKLEtBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO29CQUUvQixLQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztvQkFDcEIsS0FBSSxDQUFDLElBQUksR0FBRyxLQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBRTNCLEtBQUksQ0FBQyxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQzt3QkFDbEYsSUFBSSxVQUFVLEVBQUU7NEJBQ1osS0FBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO3lCQUNsQjt3QkFDRCxLQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQzt3QkFDckIsS0FBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQy9ELENBQUMsRUFBRSxVQUFBLEtBQUs7d0JBQ0osTUFBTSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDM0IsQ0FBQyxDQUFDLENBQUM7Z0JBQ1AsQ0FBQzthQUNKLENBQUMsQ0FBQztTQUNOO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDUixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQztJQUVNLHlDQUFLLEdBQVo7UUFDSSxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVNLGtEQUFjLEdBQXJCLFVBQXNCLEVBQVk7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1NBQy9EO1FBRUQsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDakcsSUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxDQUFDLFFBQVEsRUFBVixDQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyRSxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLEVBQUU7Z0JBQ3BDLE9BQU8sSUFBSSxDQUFDO2FBQ2Y7WUFFRCxPQUFPLGVBQWUsQ0FBQyxFQUFFLENBQUM7U0FDN0I7UUFFRCxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFTSxzREFBa0IsR0FBekIsVUFBMEIsTUFBa0I7UUFDeEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDNUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7aUJBQy9EO2FBQ0o7U0FDSjtRQUVELElBQUksU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3JHLElBQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxRQUFRLEVBQVYsQ0FBVSxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxDQUFDLEVBQUUsRUFBSixDQUFJLENBQUMsQ0FBQztZQUM5RSxJQUFJLFNBQVMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUU7Z0JBQ2pDLE9BQU8sSUFBSSxDQUFDO2FBQ2Y7WUFFRCxPQUFPLFlBQVksQ0FBQztTQUN2QjtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7O2dCQXpka0MsdUJBQXVCO2dCQUMvQixlQUFlO2dCQUNaLGNBQWM7O0lBN0MxQix5QkFBeUI7UUFEOUMsU0FBUyxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDO3lDQTRDVyx1QkFBdUI7WUFDL0IsZUFBZTtZQUNaLGNBQWM7T0E3QzFCLHlCQUF5QixDQXNnQjlDO0lBQUQsZ0NBQUM7Q0FBQSxBQXRnQkQsQ0FBb0kscUJBQXFCLEdBc2dCeEo7U0F0Z0JxQix5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IElOSkVDVE9SIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3NoYXJlZC5tb2R1bGUnO1xuaW1wb3J0IHsgQVBQX01FU1NBR0VTIH0gZnJvbSAnLi4vLi4vYXBwLm1lc3NhZ2VzJztcbmltcG9ydCB7IFRhYmxlQ29sdW1uRFRPIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2R0by90YWJsZS1jb2x1bW4uZHRvJztcbmltcG9ydCB7IFRhYmxlUGFnZUV2ZW50RFRPIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2R0by90YWJsZS1wYWdlLWV2ZW50LmR0byc7XG5pbXBvcnQgeyBBcnJheVV0aWwgfSBmcm9tICcuLi8uLi91dGlscy9hcnJheS51dGlsJztcbmltcG9ydCB7IE9iamVjdFV0aWwgfSBmcm9tICcuLi8uLi91dGlscy9vYmplY3QudXRpbCc7XG5pbXBvcnQgeyBTdHJpbmdVdGlsIH0gZnJvbSAnLi4vLi4vdXRpbHMvc3RyaW5nLnV0aWwnO1xuaW1wb3J0IHsgR0lQSUFic3RyYWN0RmlsdGVyTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvYWJzdHJhY3QtZmlsdGVyLm1vZGVsJztcbmltcG9ydCB7IEdJUElBYnN0cmFjdE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2Fic3RyYWN0Lm1vZGVsJztcbmltcG9ydCB7IEdJUElBcHBsaWVkRmlsdGVyIH0gZnJvbSAnLi4vbW9kZWxzL2FwcGxpZWQtZmlsdGVyLm1vZGVsJztcbmltcG9ydCB7IEdJUElQYWdlTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvcGFnZS5tb2RlbCc7XG5pbXBvcnQgeyBHSVBJU29ydE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3NvcnQubW9kZWwnO1xuaW1wb3J0IHsgR0lQSUFic3RyYWN0Q3J1ZFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hYnN0cmFjdC1jcnVkLnNlcnZpY2UnO1xuaW1wb3J0IHsgR0lQSUJhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYmFzZS5zZXJ2aWNlJztcbmltcG9ydCB7IEdJUElVdWlkIH0gZnJvbSAnLi4vdHlwZXMvdXVpZC50eXBlJztcbmltcG9ydCB7IEdJUElBYnN0cmFjdENvbXBvbmVudCB9IGZyb20gJy4vYWJzdHJhY3QuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJyB9KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEdJUElBYnN0cmFjdEZpbmRDb21wb25lbnQ8VEVudGl0eSBleHRlbmRzIEdJUElBYnN0cmFjdE1vZGVsLCBURmlsdGVyIGV4dGVuZHMgR0lQSUFic3RyYWN0RmlsdGVyTW9kZWw+IGV4dGVuZHMgR0lQSUFic3RyYWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgcHJpdmF0ZSBfZmlsdGVyOiBURmlsdGVyID0gbnVsbDtcbiAgICBwdWJsaWMgc2V0IGZpbHRlcih2YWx1ZTogVEZpbHRlcikge1xuICAgICAgICB0aGlzLl9maWx0ZXIgPSB2YWx1ZTtcbiAgICB9XG4gICAgcHVibGljIGdldCBmaWx0ZXIoKTogVEZpbHRlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9maWx0ZXI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcGFnZTogR0lQSVBhZ2VNb2RlbDxURW50aXR5PiA9IG51bGw7XG4gICAgcHVibGljIHNldCBwYWdlKHZhbHVlOiBHSVBJUGFnZU1vZGVsPFRFbnRpdHk+KSB7XG4gICAgICAgIHRoaXMuX3BhZ2UgPSB2YWx1ZTtcbiAgICB9XG4gICAgcHVibGljIGdldCBwYWdlKCk6IEdJUElQYWdlTW9kZWw8VEVudGl0eT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGFnZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF90YWJsZVBhZ2VFdmVudERUTzogVGFibGVQYWdlRXZlbnREVE87XG4gICAgcHVibGljIHNldCB0YWJsZVBhZ2VFdmVudERUTyh2YWx1ZTogVGFibGVQYWdlRXZlbnREVE8pIHtcbiAgICAgICAgdGhpcy5fdGFibGVQYWdlRXZlbnREVE8gPSB2YWx1ZTtcbiAgICB9XG4gICAgcHVibGljIGdldCB0YWJsZVBhZ2VFdmVudERUTygpOiBUYWJsZVBhZ2VFdmVudERUTyB7XG4gICAgICAgIHJldHVybiB0aGlzLl90YWJsZVBhZ2VFdmVudERUTztcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jb2x1bW5zOiBUYWJsZUNvbHVtbkRUT1tdID0gW107XG4gICAgcHVibGljIHNldCBjb2x1bW5zKHZhbHVlOiBUYWJsZUNvbHVtbkRUT1tdKSB7XG4gICAgICAgIHRoaXMuX2NvbHVtbnMgPSB2YWx1ZTtcbiAgICB9XG4gICAgcHVibGljIGdldCBjb2x1bW5zKCk6IFRhYmxlQ29sdW1uRFRPW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29sdW1ucztcbiAgICB9XG5cbiAgICBwcml2YXRlIF9hcHBsaWVkRmlsdGVyczogR0lQSUFwcGxpZWRGaWx0ZXI8YW55PltdID0gW107XG4gICAgcHVibGljIHNldCBhcHBsaWVkRmlsdGVycyh2YWx1ZTogR0lQSUFwcGxpZWRGaWx0ZXI8YW55PltdKSB7XG4gICAgICAgIHRoaXMuX2FwcGxpZWRGaWx0ZXJzID0gdmFsdWU7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgYXBwbGllZEZpbHRlcnMoKTogR0lQSUFwcGxpZWRGaWx0ZXI8YW55PltdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwcGxpZWRGaWx0ZXJzO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgYWJzdHJhY3RDcnVkU2VydmljZTogR0lQSUFic3RyYWN0Q3J1ZFNlcnZpY2U8VEVudGl0eSwgVEZpbHRlcj4sXG4gICAgICAgIHByb3RlY3RlZCBiYXNlU2VydmljZTogR0lQSUJhc2VTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICkge1xuICAgICAgICBzdXBlcihiYXNlU2VydmljZSwgYWN0aXZhdGVkUm91dGUpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgICAgIGlmIChPYmplY3RVdGlsLmlzTnVsbCh0aGlzLmJhc2VQZXJtaXNzaW9uTGlzdCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignYmFzZVBlcm1pc3Npb25MaXN0IGlzIHJlcXVpcmVkJyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9vbkluaXRGaWx0ZXIoKTtcbiAgICAgICAgdGhpcy5jb2x1bW5zID0gdGhpcy5jcmVhdGVUYWJsZUNvbHVtbnMoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBuZXdGaWx0ZXIoKTogVEZpbHRlcjtcblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBjcmVhdGVUYWJsZUNvbHVtbnMoKTogVGFibGVDb2x1bW5EVE9bXTtcblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBzZXRBcHBsaWVkRmlsdGVycygpOiB2b2lkO1xuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGNsZWFyQXBwbGllZEZpbHRlcnMoKTogdm9pZDtcblxuICAgIHB1YmxpYyBhYnN0cmFjdCByZW1vdmVBcHBsaWVkRmlsdGVycyhmaWx0ZXI6IHsgY2hpcDogR0lQSUFwcGxpZWRGaWx0ZXI8YW55PjsgaW5kZXg6IG51bWJlcjsgfSk6IHZvaWQ7XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3Qgc2V0RmlsdGVyU2Vzc2lvblN0b3JhZ2UoKTogdm9pZDtcblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBoYW5kbGVGaWx0ZXJTZXNzaW9uU3RvcmFnZSgpOiB2b2lkO1xuXG4gICAgcHJvdGVjdGVkIG5ld1BhZ2UoKTogR0lQSVBhZ2VNb2RlbDxURW50aXR5PiB7XG4gICAgICAgIHJldHVybiBuZXcgR0lQSVBhZ2VNb2RlbDxURW50aXR5PigpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVUYWJsZVNvcnRzKCk6IEdJUElTb3J0TW9kZWxbXSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcHJlRGVsZXRlKGlkPzogR0lQSVV1aWQpOiB2b2lkIHsgfVxuXG4gICAgcHJvdGVjdGVkIGV4aXN0SW5BcHBsaWVkRmlsdGVyczxUID0gYW55PihrZXk6IFQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICFBcnJheVV0aWwuaXNFbXB0eSh0aGlzLmFwcGxpZWRGaWx0ZXJzKSAmJlxuICAgICAgICAgICAgKHRoaXMuYXBwbGllZEZpbHRlcnMuZmluZEluZGV4KGUgPT4gZS5rZXkgPT09IGtleSkgPj0gMClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogQEludGVybmFsICovXG4gICAgcHJvdGVjdGVkIF9vbkluaXRGaWx0ZXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGFnZSA9IHRoaXMubmV3UGFnZSgpO1xuICAgICAgICB0aGlzLmZpbHRlciA9IHRoaXMubmV3RmlsdGVyKCk7XG5cbiAgICAgICAgaWYgKCFPYmplY3RVdGlsLmlzTnVsbCh0aGlzLmZpbHRlcikpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0QXBwbGllZEZpbHRlcnMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZpbHRlclNlc3Npb25TdG9yYWdlID0gdGhpcy5iYXNlU2VydmljZS5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0KCdmaWx0ZXInKTtcbiAgICAgICAgaWYgKCFPYmplY3RVdGlsLmlzTnVsbChmaWx0ZXJTZXNzaW9uU3RvcmFnZSkpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlRmlsdGVyU2Vzc2lvblN0b3JhZ2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBmaW5kQWxsKHBhZ2VFdmVudD86IGFueSk6IHZvaWQge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgICAgICAgdGhpcy5wYWdlID0gdGhpcy5uZXdQYWdlKCk7XG4gICAgICAgICAgICBpZiAoT2JqZWN0VXRpbC5pc051bGwodGhpcy5maWx0ZXIpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXIgPSB0aGlzLm5ld0ZpbHRlcigpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoT2JqZWN0VXRpbC5pc051bGwocGFnZUV2ZW50KSAmJiAhT2JqZWN0VXRpbC5pc051bGwodGhpcy50YWJsZVBhZ2VFdmVudERUTykpIHtcbiAgICAgICAgICAgICAgICBwYWdlRXZlbnQgPSB0aGlzLnRhYmxlUGFnZUV2ZW50RFRPO1xuXG4gICAgICAgICAgICAgICAgaWYgKE9iamVjdFV0aWwuaGFzUHJvcGVydHlJbk9iaihwYWdlRXZlbnQsICdwYWdlSW5kZXgnKSkge1xuICAgICAgICAgICAgICAgICAgICBwYWdlRXZlbnQucGFnZUluZGV4ID0gMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChwYWdlRXZlbnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlUGFnZUV2ZW50RFRPID0gcGFnZUV2ZW50O1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyLnBhZ2VOdW1iZXIgPSBwYWdlRXZlbnQucGFnZUluZGV4O1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyLnBhZ2VTaXplID0gcGFnZUV2ZW50LnBhZ2VTaXplO1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyLm9mZnNldCA9IHBhZ2VFdmVudC5wYWdlSW5kZXggKiBwYWdlRXZlbnQucGFnZVNpemU7XG5cbiAgICAgICAgICAgICAgICBpZiAocGFnZUV2ZW50LnNvcnQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWx0ZXIuc29ydHMgPSBbXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgR0lQSVNvcnRNb2RlbChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlRXZlbnQuc29ydC5hY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RyaW5nVXRpbC5pc0VtcHR5KHBhZ2VFdmVudC5zb3J0LmRpcmVjdGlvbikgPyAnREVTQycgOiBwYWdlRXZlbnQuc29ydC5kaXJlY3Rpb24udG9VcHBlckNhc2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXIucGFnZU51bWJlciA9IDA7XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXIub2Zmc2V0ID0gMDtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlci5wYWdlU2l6ZSA9IDEwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmFic3RyYWN0Q3J1ZFNlcnZpY2UuZmluZEFsbDxURmlsdGVyLCBURW50aXR5Pih0aGlzLmZpbHRlcikudG9Qcm9taXNlKCkudGhlbihwYWdlID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnBhZ2UgPSBwYWdlO1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0QXBwbGllZEZpbHRlcnMoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG5ld1JlZ2lzdGVyKHBlcm1pc3Npb24/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKFN0cmluZ1V0aWwuaXNFbXB0eShwZXJtaXNzaW9uKSAmJiBPYmplY3RVdGlsLmlzTnVsbCh0aGlzLmJhc2VQZXJtaXNzaW9uTGlzdCkpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0RmlsdGVyU2Vzc2lvblN0b3JhZ2UoKTtcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGVCeVVybCh0aGlzLmdldFBhdGgoKSwgW3RoaXMuZ2V0UGF0aCgpLCAnbmV3J10sIHRydWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKFN0cmluZ1V0aWwuaXNFbXB0eShwZXJtaXNzaW9uKSAmJiAhT2JqZWN0VXRpbC5pc051bGwodGhpcy5iYXNlUGVybWlzc2lvbkxpc3QpKSB7XG4gICAgICAgICAgICAgICAgcGVybWlzc2lvbiA9IHRoaXMuYmFzZVBlcm1pc3Npb25MaXN0Lk1BS0U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXRoaXMuaGFzUGVybWlzc2lvbihwZXJtaXNzaW9uKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkV2FybmluZ01lc3NhZ2UoSU5KRUNUT1IuZ2V0KEFQUF9NRVNTQUdFUykuTk9UX1BFUk1JU1NJT04pO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5zZXRGaWx0ZXJTZXNzaW9uU3RvcmFnZSgpO1xuICAgICAgICAgICAgdGhpcy5uYXZpZ2F0ZUJ5VXJsKHRoaXMuZ2V0UGF0aCgpLCBbdGhpcy5nZXRQYXRoKCksICduZXcnXSwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZWRpdFJlZ2lzdGVyKGlkPzogR0lQSVV1aWQsIHBlcm1pc3Npb24/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWQgPSB0aGlzLmhhbmRsZUVudGl0eUlkKGlkKTtcbiAgICAgICAgaWYgKE9iamVjdFV0aWwuaXNOdWxsKGlkKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFN0cmluZ1V0aWwuaXNFbXB0eShwZXJtaXNzaW9uKSAmJiBPYmplY3RVdGlsLmlzTnVsbCh0aGlzLmJhc2VQZXJtaXNzaW9uTGlzdCkpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0RmlsdGVyU2Vzc2lvblN0b3JhZ2UoKTtcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGVCeVVybCh0aGlzLmdldFBhdGgoKSwgW3RoaXMuZ2V0UGF0aCgpLCAnZWRpdCddLCB0cnVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChTdHJpbmdVdGlsLmlzRW1wdHkocGVybWlzc2lvbikgJiYgIU9iamVjdFV0aWwuaXNOdWxsKHRoaXMuYmFzZVBlcm1pc3Npb25MaXN0KSkge1xuICAgICAgICAgICAgICAgIHBlcm1pc3Npb24gPSB0aGlzLmJhc2VQZXJtaXNzaW9uTGlzdC5VUERBVEU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXRoaXMuaGFzUGVybWlzc2lvbihwZXJtaXNzaW9uKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkV2FybmluZ01lc3NhZ2UoSU5KRUNUT1IuZ2V0KEFQUF9NRVNTQUdFUykuTk9UX1BFUk1JU1NJT04pO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5zZXRGaWx0ZXJTZXNzaW9uU3RvcmFnZSgpO1xuICAgICAgICAgICAgdGhpcy5uYXZpZ2F0ZUJ5VXJsKHRoaXMuZ2V0UGF0aCgpLCBbdGhpcy5nZXRQYXRoKCksICdlZGl0JywgaWRdLCB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBkZWxldGVSZWdpc3RlcihpZD86IEdJUElVdWlkLCBwZXJtaXNzaW9uPzogc3RyaW5nLCBmZXRjaEFnYWluOiBib29sZWFuID0gdHJ1ZSwgdmVyc2lvbj86IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWQgPSB0aGlzLmhhbmRsZUVudGl0eUlkKGlkKTtcbiAgICAgICAgICAgIGlmIChPYmplY3RVdGlsLmlzTnVsbChpZCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChTdHJpbmdVdGlsLmlzRW1wdHkocGVybWlzc2lvbikgJiYgT2JqZWN0VXRpbC5pc051bGwodGhpcy5iYXNlUGVybWlzc2lvbkxpc3QpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZGVsZXRlUmVnaXN0ZXIoaWQsIGZldGNoQWdhaW4sIHZlcnNpb24pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoU3RyaW5nVXRpbC5pc0VtcHR5KHBlcm1pc3Npb24pICYmICFPYmplY3RVdGlsLmlzTnVsbCh0aGlzLmJhc2VQZXJtaXNzaW9uTGlzdCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcGVybWlzc2lvbiA9IHRoaXMuYmFzZVBlcm1pc3Npb25MaXN0LkRFTEVURTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmhhc1Blcm1pc3Npb24ocGVybWlzc2lvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRXYXJuaW5nTWVzc2FnZShJTkpFQ1RPUi5nZXQoQVBQX01FU1NBR0VTKS5OT1RfUEVSTUlTU0lPTik7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9kZWxldGVSZWdpc3RlcihpZCwgZmV0Y2hBZ2FpbiwgdmVyc2lvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNMaXN0aW5nKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQEludGVybmFsICovXG4gICAgcHJpdmF0ZSBfZGVsZXRlUmVnaXN0ZXIoaWQ6IEdJUElVdWlkLCBmZXRjaEFnYWluOiBib29sZWFuID0gdHJ1ZSwgdmVyc2lvbj86IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5iYXNlU2VydmljZS5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xuICAgICAgICAgICAgICAgIHRpdGxlOiAnQ29uZmlybWHDp8OjbycsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogSU5KRUNUT1IuZ2V0KEFQUF9NRVNTQUdFUykuREVMRVRFX0NPTkZJUk1BVElPTixcbiAgICAgICAgICAgICAgICBhY2NlcHQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRGaWx0ZXJTZXNzaW9uU3RvcmFnZSgpO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFnZSA9IHRoaXMubmV3UGFnZSgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnByZURlbGV0ZShpZCk7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hYnN0cmFjdENydWRTZXJ2aWNlLmRlbGV0ZTxURW50aXR5PihpZCwgdmVyc2lvbikudG9Qcm9taXNlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmV0Y2hBZ2Fpbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmluZEFsbCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZFN1Y2Nlc3NNZXNzYWdlKElOSkVDVE9SLmdldChBUFBfTUVTU0FHRVMpLlNVQ0NFU1MpO1xuICAgICAgICAgICAgICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZGVsZXRlQWxsUmVnaXN0ZXIoaWRMaXN0PzogR0lQSVV1aWRbXSwgcGVybWlzc2lvbj86IHN0cmluZywgZmV0Y2hBZ2FpbjogYm9vbGVhbiA9IHRydWUsIHZlcnNpb24/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlkTGlzdCA9IHRoaXMuaGFuZGxlRW50aXR5SWRMaXN0KGlkTGlzdCk7XG4gICAgICAgICAgICBpZiAoT2JqZWN0VXRpbC5pc051bGwoaWRMaXN0KSB8fCBBcnJheVV0aWwuaXNFbXB0eShpZExpc3QpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoU3RyaW5nVXRpbC5pc0VtcHR5KHBlcm1pc3Npb24pICYmIE9iamVjdFV0aWwuaXNOdWxsKHRoaXMuYmFzZVBlcm1pc3Npb25MaXN0KSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2RlbGV0ZUFsbFJlZ2lzdGVyKGlkTGlzdCwgZmV0Y2hBZ2FpbiwgdmVyc2lvbik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChTdHJpbmdVdGlsLmlzRW1wdHkocGVybWlzc2lvbikgJiYgIU9iamVjdFV0aWwuaXNOdWxsKHRoaXMuYmFzZVBlcm1pc3Npb25MaXN0KSkge1xuICAgICAgICAgICAgICAgICAgICBwZXJtaXNzaW9uID0gdGhpcy5iYXNlUGVybWlzc2lvbkxpc3QuREVMRVRFO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaGFzUGVybWlzc2lvbihwZXJtaXNzaW9uKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZFdhcm5pbmdNZXNzYWdlKElOSkVDVE9SLmdldChBUFBfTUVTU0FHRVMpLk5PVF9QRVJNSVNTSU9OKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuX2RlbGV0ZUFsbFJlZ2lzdGVyKGlkTGlzdCwgZmV0Y2hBZ2FpbiwgdmVyc2lvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNMaXN0aW5nKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQEludGVybmFsICovXG4gICAgcHJpdmF0ZSBfZGVsZXRlQWxsUmVnaXN0ZXIoaWRMaXN0OiBHSVBJVXVpZFtdLCBmZXRjaEFnYWluOiBib29sZWFuID0gdHJ1ZSwgdmVyc2lvbj86IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5iYXNlU2VydmljZS5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xuICAgICAgICAgICAgICAgIHRpdGxlOiAnQ29uZmlybWHDp8OjbycsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogSU5KRUNUT1IuZ2V0KEFQUF9NRVNTQUdFUykuREVMRVRFX0NPTkZJUk1BVElPTixcbiAgICAgICAgICAgICAgICBhY2NlcHQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRGaWx0ZXJTZXNzaW9uU3RvcmFnZSgpO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFnZSA9IHRoaXMubmV3UGFnZSgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnByZURlbGV0ZSgpO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWJzdHJhY3RDcnVkU2VydmljZS5kZWxldGVBbGwoaWRMaXN0LCB2ZXJzaW9uKS50b1Byb21pc2UoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmZXRjaEFnYWluKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maW5kQWxsKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkU3VjY2Vzc01lc3NhZ2UoSU5KRUNUT1IuZ2V0KEFQUF9NRVNTQUdFUykuU1VDQ0VTUyk7XG4gICAgICAgICAgICAgICAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyB2aWV3UmVnaXN0ZXIoaWQ/OiBHSVBJVXVpZCwgcGVybWlzc2lvbj86IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZCA9IHRoaXMuaGFuZGxlRW50aXR5SWQoaWQpO1xuICAgICAgICBpZiAoT2JqZWN0VXRpbC5pc051bGwoaWQpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoU3RyaW5nVXRpbC5pc0VtcHR5KHBlcm1pc3Npb24pICYmIE9iamVjdFV0aWwuaXNOdWxsKHRoaXMuYmFzZVBlcm1pc3Npb25MaXN0KSkge1xuICAgICAgICAgICAgdGhpcy5zZXRGaWx0ZXJTZXNzaW9uU3RvcmFnZSgpO1xuICAgICAgICAgICAgdGhpcy5uYXZpZ2F0ZUJ5VXJsKHRoaXMuZ2V0UGF0aCgpLCBbdGhpcy5nZXRQYXRoKCksICd2aWV3JywgaWRdLCB0cnVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChTdHJpbmdVdGlsLmlzRW1wdHkocGVybWlzc2lvbikgJiYgIU9iamVjdFV0aWwuaXNOdWxsKHRoaXMuYmFzZVBlcm1pc3Npb25MaXN0KSkge1xuICAgICAgICAgICAgICAgIHBlcm1pc3Npb24gPSB0aGlzLmJhc2VQZXJtaXNzaW9uTGlzdC5SRUFEO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCF0aGlzLmhhc1Blcm1pc3Npb24ocGVybWlzc2lvbikpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZFdhcm5pbmdNZXNzYWdlKElOSkVDVE9SLmdldChBUFBfTUVTU0FHRVMpLk5PVF9QRVJNSVNTSU9OKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuc2V0RmlsdGVyU2Vzc2lvblN0b3JhZ2UoKTtcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGVCeVVybCh0aGlzLmdldFBhdGgoKSwgW3RoaXMuZ2V0UGF0aCgpLCAndmlldycsIGlkXSwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZWRpdE9yVmlld1JlZ2lzdGVyKGlkOiBHSVBJVXVpZCwgcGVybWlzc2lvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmhhc1Blcm1pc3Npb24ocGVybWlzc2lvbikpIHtcbiAgICAgICAgICAgIHRoaXMuZWRpdFJlZ2lzdGVyKGlkLCBwZXJtaXNzaW9uKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudmlld1JlZ2lzdGVyKGlkLCBwZXJtaXNzaW9uKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBlbmFibGVPckRpc2FibGVSZWdpc3RlcihhY3Rpb246ICdESVNBQkxFJyB8ICdFTkFCTEUnLCBpZD86IEdJUElVdWlkLCBwZXJtaXNzaW9uPzogc3RyaW5nLCBmZXRjaEFnYWluOiBib29sZWFuID0gdHJ1ZSwgdmVyc2lvbj86IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWQgPSB0aGlzLmhhbmRsZUVudGl0eUlkKGlkKTtcbiAgICAgICAgICAgIGlmIChPYmplY3RVdGlsLmlzTnVsbChpZCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChTdHJpbmdVdGlsLmlzRW1wdHkocGVybWlzc2lvbikgJiYgT2JqZWN0VXRpbC5pc051bGwodGhpcy5iYXNlUGVybWlzc2lvbkxpc3QpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZW5hYmxlT3JEaXNhYmxlUmVnaXN0ZXIoYWN0aW9uLCBpZCwgZmV0Y2hBZ2FpbiwgdmVyc2lvbik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChTdHJpbmdVdGlsLmlzRW1wdHkocGVybWlzc2lvbikgJiYgIU9iamVjdFV0aWwuaXNOdWxsKHRoaXMuYmFzZVBlcm1pc3Npb25MaXN0KSkge1xuICAgICAgICAgICAgICAgICAgICBwZXJtaXNzaW9uID0gdGhpcy5iYXNlUGVybWlzc2lvbkxpc3QuVVBEQVRFO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaGFzUGVybWlzc2lvbihwZXJtaXNzaW9uKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZFdhcm5pbmdNZXNzYWdlKElOSkVDVE9SLmdldChBUFBfTUVTU0FHRVMpLk5PVF9QRVJNSVNTSU9OKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuX2VuYWJsZU9yRGlzYWJsZVJlZ2lzdGVyKGFjdGlvbiwgaWQsIGZldGNoQWdhaW4sIHZlcnNpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzTGlzdGluZygpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbGVhcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBJbnRlcm5hbCAqL1xuICAgIHByaXZhdGUgX2VuYWJsZU9yRGlzYWJsZVJlZ2lzdGVyKGFjdGlvbjogJ0RJU0FCTEUnIHwgJ0VOQUJMRScsIGlkOiBHSVBJVXVpZCwgZmV0Y2hBZ2FpbjogYm9vbGVhbiA9IHRydWUsIHZlcnNpb24/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMuYmFzZVNlcnZpY2UuY29uZmlybWF0aW9uU2VydmljZS5jb25maXJtKHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ0NvbmZpcm1hw6fDo28nLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGBEZXNlamEgcmVhbG1lbnRlICR7KGFjdGlvbiA9PT0gJ0RJU0FCTEUnKSA/ICdpbmF0aXZhcicgOiAnYXRpdmFyJ30gZXN0ZSByZWdpc3Rybz9gLFxuICAgICAgICAgICAgICAgIGFjY2VwdDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldEZpbHRlclNlc3Npb25TdG9yYWdlKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYWdlID0gdGhpcy5uZXdQYWdlKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hYnN0cmFjdENydWRTZXJ2aWNlLmVuYWJsZU9yRGlzYWJsZShpZCwgYWN0aW9uLCB2ZXJzaW9uKS50b1Byb21pc2UoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmZXRjaEFnYWluKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maW5kQWxsKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkU3VjY2Vzc01lc3NhZ2UoSU5KRUNUT1IuZ2V0KEFQUF9NRVNTQUdFUykuU1VDQ0VTUyk7XG4gICAgICAgICAgICAgICAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBlbmFibGVBbmREaXNhYmxlQWxsUmVnaXN0ZXIoYWN0aW9uOiAnRElTQUJMRScgfCAnRU5BQkxFJywgaWRMaXN0PzogR0lQSVV1aWRbXSwgcGVybWlzc2lvbj86IHN0cmluZywgZmV0Y2hBZ2FpbjogYm9vbGVhbiA9IHRydWUsIHZlcnNpb24/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlkTGlzdCA9IHRoaXMuaGFuZGxlRW50aXR5SWRMaXN0KGlkTGlzdCk7XG4gICAgICAgICAgICBpZiAoT2JqZWN0VXRpbC5pc051bGwoaWRMaXN0KSB8fCBBcnJheVV0aWwuaXNFbXB0eShpZExpc3QpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoU3RyaW5nVXRpbC5pc0VtcHR5KHBlcm1pc3Npb24pICYmIE9iamVjdFV0aWwuaXNOdWxsKHRoaXMuYmFzZVBlcm1pc3Npb25MaXN0KSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2VuYWJsZUFuZERpc2FibGVBbGxSZWdpc3RlcihhY3Rpb24sIGlkTGlzdCwgZmV0Y2hBZ2FpbiwgdmVyc2lvbik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChTdHJpbmdVdGlsLmlzRW1wdHkocGVybWlzc2lvbikgJiYgIU9iamVjdFV0aWwuaXNOdWxsKHRoaXMuYmFzZVBlcm1pc3Npb25MaXN0KSkge1xuICAgICAgICAgICAgICAgICAgICBwZXJtaXNzaW9uID0gdGhpcy5iYXNlUGVybWlzc2lvbkxpc3QuVVBEQVRFO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaGFzUGVybWlzc2lvbihwZXJtaXNzaW9uKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZFdhcm5pbmdNZXNzYWdlKElOSkVDVE9SLmdldChBUFBfTUVTU0FHRVMpLk5PVF9QRVJNSVNTSU9OKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuX2VuYWJsZUFuZERpc2FibGVBbGxSZWdpc3RlcihhY3Rpb24sIGlkTGlzdCwgZmV0Y2hBZ2FpbiwgdmVyc2lvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNMaXN0aW5nKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQEludGVybmFsICovXG4gICAgcHJpdmF0ZSBfZW5hYmxlQW5kRGlzYWJsZUFsbFJlZ2lzdGVyKGFjdGlvbjogJ0RJU0FCTEUnIHwgJ0VOQUJMRScsIGlkTGlzdDogR0lQSVV1aWRbXSwgZmV0Y2hBZ2FpbjogYm9vbGVhbiA9IHRydWUsIHZlcnNpb24/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMuYmFzZVNlcnZpY2UuY29uZmlybWF0aW9uU2VydmljZS5jb25maXJtKHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ0NvbmZpcm1hw6fDo28nLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGBEZXNlamEgcmVhbG1lbnRlICR7KGFjdGlvbiA9PT0gJ0RJU0FCTEUnKSA/ICdpbmF0aXZhcicgOiAnYXRpdmFyJ30gb3MgcmVnaXN0cm9zIHNlbGVjaW9uYWRvcz9gLFxuICAgICAgICAgICAgICAgIGFjY2VwdDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldEZpbHRlclNlc3Npb25TdG9yYWdlKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYWdlID0gdGhpcy5uZXdQYWdlKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hYnN0cmFjdENydWRTZXJ2aWNlLmVuYWJsZU9yRGlzYWJsZUFsbChpZExpc3QsIGFjdGlvbiwgdmVyc2lvbikudG9Qcm9taXNlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmV0Y2hBZ2Fpbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmluZEFsbCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZFN1Y2Nlc3NNZXNzYWdlKElOSkVDVE9SLmdldChBUFBfTUVTU0FHRVMpLlNVQ0NFU1MpO1xuICAgICAgICAgICAgICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYmFzZVNlcnZpY2Uuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnJlbW92ZSgnZmlsdGVyJyk7XG4gICAgICAgIHRoaXMucGFnZSA9IHRoaXMubmV3UGFnZSgpO1xuICAgICAgICB0aGlzLmZpbHRlciA9IHRoaXMubmV3RmlsdGVyKCk7XG4gICAgICAgIHRoaXMuY2xlYXJBcHBsaWVkRmlsdGVycygpO1xuICAgICAgICB0aGlzLmZpbmRBbGwoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlRW50aXR5SWQoaWQ6IEdJUElVdWlkKTogR0lQSVV1aWQge1xuICAgICAgICBpZiAoIXRoaXMuVVVJRElzVmFsaWQoaWQpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ08gaWRlbnRpZmljYWRvciBkbyByZWdpc3RybyBuw6NvIMOpIHbDoWxpZG8nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChPYmplY3RVdGlsLmlzTnVsbChpZCkgJiYgIU9iamVjdFV0aWwuaXNOdWxsKHRoaXMucGFnZSkgJiYgIUFycmF5VXRpbC5pc0VtcHR5KHRoaXMucGFnZS5jb250ZW50KSkge1xuICAgICAgICAgICAgY29uc3QgZmlyc3RTZWxldGVjdGVkID0gdGhpcy5wYWdlLmNvbnRlbnQuZmlsdGVyKGMgPT4gYy5zZWxlY3RlZClbMF07XG4gICAgICAgICAgICBpZiAoT2JqZWN0VXRpbC5pc051bGwoZmlyc3RTZWxldGVjdGVkKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gZmlyc3RTZWxldGVjdGVkLmlkO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGlkO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYW5kbGVFbnRpdHlJZExpc3QoaWRMaXN0OiBHSVBJVXVpZFtdKTogR0lQSVV1aWRbXSB7XG4gICAgICAgIGlmICghQXJyYXlVdGlsLmlzRW1wdHkoaWRMaXN0KSkge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpZExpc3QubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuVVVJRElzVmFsaWQoaWRMaXN0W2ldKSkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ08gaWRlbnRpZmljYWRvciBkbyByZWdpc3RybyBuw6NvIMOpIHbDoWxpZG8nKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoQXJyYXlVdGlsLmlzRW1wdHkoaWRMaXN0KSAmJiAhT2JqZWN0VXRpbC5pc051bGwodGhpcy5wYWdlKSAmJiAhQXJyYXlVdGlsLmlzRW1wdHkodGhpcy5wYWdlLmNvbnRlbnQpKSB7XG4gICAgICAgICAgICBjb25zdCBsaXN0U2VsZWN0ZWQgPSB0aGlzLnBhZ2UuY29udGVudC5maWx0ZXIocCA9PiBwLnNlbGVjdGVkKS5tYXAocCA9PiBwLmlkKTtcbiAgICAgICAgICAgIGlmIChBcnJheVV0aWwuaXNFbXB0eShsaXN0U2VsZWN0ZWQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBsaXN0U2VsZWN0ZWQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaWRMaXN0O1xuICAgIH1cblxufVxuIl19
531
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZmluZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ2lwaXNpc3RlbWFzL25nLWNvcmUvIiwic291cmNlcyI6WyJjb3JlL2dpcGktY29tcG9uZW50cy9jb21wb25lbnRzL2Fic3RyYWN0LWZpbmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHN0Q7SUFBb0ksNkNBQXFCO0lBMENySixtQ0FDYyxtQkFBOEQsRUFDOUQsV0FBNEIsRUFDNUIsY0FBOEI7UUFINUMsWUFLSSxrQkFBTSxXQUFXLEVBQUUsY0FBYyxDQUFDLFNBQ3JDO1FBTGEseUJBQW1CLEdBQW5CLG1CQUFtQixDQUEyQztRQUM5RCxpQkFBVyxHQUFYLFdBQVcsQ0FBaUI7UUFDNUIsb0JBQWMsR0FBZCxjQUFjLENBQWdC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QyxPQUFPLElBQUksQ0FBQzthQUNmO1lBRUQsT0FBTyxZQUFZLENBQUM7U0FDdkI7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDOztnQkFoZmtDLHVCQUF1QjtnQkFDL0IsZUFBZTtnQkFDWixjQUFjOztJQTdDMUIseUJBQXlCO1FBRDlDLFNBQVMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQzt5Q0E0Q1csdUJBQXVCO1lBQy9CLGVBQWU7WUFDWixjQUFjO09BN0MxQix5QkFBeUIsQ0E2aEI5QztJQUFELGdDQUFDO0NBQUEsQUE3aEJELENBQW9JLHFCQUFxQixHQTZoQnhKO1NBN2hCcUIseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBJTkpFQ1RPUiB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9zaGFyZWQubW9kdWxlJztcbmltcG9ydCB7IEFQUF9NRVNTQUdFUyB9IGZyb20gJy4uLy4uL2FwcC5tZXNzYWdlcyc7XG5pbXBvcnQgeyBUYWJsZUNvbHVtbkRUTyB9IGZyb20gJy4uLy4uL21vZGVscy9kdG8vdGFibGUtY29sdW1uLmR0byc7XG5pbXBvcnQgeyBUYWJsZVBhZ2VFdmVudERUTyB9IGZyb20gJy4uLy4uL21vZGVscy9kdG8vdGFibGUtcGFnZS1ldmVudC5kdG8nO1xuaW1wb3J0IHsgQXJyYXlVdGlsIH0gZnJvbSAnLi4vLi4vdXRpbHMvYXJyYXkudXRpbCc7XG5pbXBvcnQgeyBPYmplY3RVdGlsIH0gZnJvbSAnLi4vLi4vdXRpbHMvb2JqZWN0LnV0aWwnO1xuaW1wb3J0IHsgU3RyaW5nVXRpbCB9IGZyb20gJy4uLy4uL3V0aWxzL3N0cmluZy51dGlsJztcbmltcG9ydCB7IEdJUElBYnN0cmFjdEZpbHRlck1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2Fic3RyYWN0LWZpbHRlci5tb2RlbCc7XG5pbXBvcnQgeyBHSVBJQWJzdHJhY3RNb2RlbCB9IGZyb20gJy4uL21vZGVscy9hYnN0cmFjdC5tb2RlbCc7XG5pbXBvcnQgeyBHSVBJQXBwbGllZEZpbHRlciB9IGZyb20gJy4uL21vZGVscy9hcHBsaWVkLWZpbHRlci5tb2RlbCc7XG5pbXBvcnQgeyBHSVBJUGFnZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3BhZ2UubW9kZWwnO1xuaW1wb3J0IHsgR0lQSVNvcnRNb2RlbCB9IGZyb20gJy4uL21vZGVscy9zb3J0Lm1vZGVsJztcbmltcG9ydCB7IEdJUElBYnN0cmFjdENydWRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYWJzdHJhY3QtY3J1ZC5zZXJ2aWNlJztcbmltcG9ydCB7IEdJUElCYXNlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2Jhc2Uuc2VydmljZSc7XG5pbXBvcnQgeyBHSVBJVXVpZCB9IGZyb20gJy4uL3R5cGVzL3V1aWQudHlwZSc7XG5pbXBvcnQgeyBHSVBJQWJzdHJhY3RDb21wb25lbnQgfSBmcm9tICcuL2Fic3RyYWN0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBHSVBJQWJzdHJhY3RGaW5kQ29tcG9uZW50PFRFbnRpdHkgZXh0ZW5kcyBHSVBJQWJzdHJhY3RNb2RlbCwgVEZpbHRlciBleHRlbmRzIEdJUElBYnN0cmFjdEZpbHRlck1vZGVsPiBleHRlbmRzIEdJUElBYnN0cmFjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICAgIHByaXZhdGUgX2ZpbHRlcjogVEZpbHRlciA9IG51bGw7XG4gICAgcHVibGljIHNldCBmaWx0ZXIodmFsdWU6IFRGaWx0ZXIpIHtcbiAgICAgICAgdGhpcy5fZmlsdGVyID0gdmFsdWU7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgZmlsdGVyKCk6IFRGaWx0ZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmlsdGVyO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3BhZ2U6IEdJUElQYWdlTW9kZWw8VEVudGl0eT4gPSBudWxsO1xuICAgIHB1YmxpYyBzZXQgcGFnZSh2YWx1ZTogR0lQSVBhZ2VNb2RlbDxURW50aXR5Pikge1xuICAgICAgICB0aGlzLl9wYWdlID0gdmFsdWU7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgcGFnZSgpOiBHSVBJUGFnZU1vZGVsPFRFbnRpdHk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhZ2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfdGFibGVQYWdlRXZlbnREVE86IFRhYmxlUGFnZUV2ZW50RFRPO1xuICAgIHB1YmxpYyBzZXQgdGFibGVQYWdlRXZlbnREVE8odmFsdWU6IFRhYmxlUGFnZUV2ZW50RFRPKSB7XG4gICAgICAgIHRoaXMuX3RhYmxlUGFnZUV2ZW50RFRPID0gdmFsdWU7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgdGFibGVQYWdlRXZlbnREVE8oKTogVGFibGVQYWdlRXZlbnREVE8ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGFibGVQYWdlRXZlbnREVE87XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY29sdW1uczogVGFibGVDb2x1bW5EVE9bXSA9IFtdO1xuICAgIHB1YmxpYyBzZXQgY29sdW1ucyh2YWx1ZTogVGFibGVDb2x1bW5EVE9bXSkge1xuICAgICAgICB0aGlzLl9jb2x1bW5zID0gdmFsdWU7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgY29sdW1ucygpOiBUYWJsZUNvbHVtbkRUT1tdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbHVtbnM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfYXBwbGllZEZpbHRlcnM6IEdJUElBcHBsaWVkRmlsdGVyPGFueT5bXSA9IFtdO1xuICAgIHB1YmxpYyBzZXQgYXBwbGllZEZpbHRlcnModmFsdWU6IEdJUElBcHBsaWVkRmlsdGVyPGFueT5bXSkge1xuICAgICAgICB0aGlzLl9hcHBsaWVkRmlsdGVycyA9IHZhbHVlO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IGFwcGxpZWRGaWx0ZXJzKCk6IEdJUElBcHBsaWVkRmlsdGVyPGFueT5bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcHBsaWVkRmlsdGVycztcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIGFic3RyYWN0Q3J1ZFNlcnZpY2U6IEdJUElBYnN0cmFjdENydWRTZXJ2aWNlPFRFbnRpdHksIFRGaWx0ZXI+LFxuICAgICAgICBwcm90ZWN0ZWQgYmFzZVNlcnZpY2U6IEdJUElCYXNlU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoYmFzZVNlcnZpY2UsIGFjdGl2YXRlZFJvdXRlKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgICAgICBpZiAoT2JqZWN0VXRpbC5pc051bGwodGhpcy5iYXNlUGVybWlzc2lvbkxpc3QpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2Jhc2VQZXJtaXNzaW9uTGlzdCBpcyByZXF1aXJlZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fb25Jbml0RmlsdGVyKCk7XG4gICAgICAgIHRoaXMuY29sdW1ucyA9IHRoaXMuY3JlYXRlVGFibGVDb2x1bW5zKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgbmV3RmlsdGVyKCk6IFRGaWx0ZXI7XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgY3JlYXRlVGFibGVDb2x1bW5zKCk6IFRhYmxlQ29sdW1uRFRPW107XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3Qgc2V0QXBwbGllZEZpbHRlcnMoKTogdm9pZDtcblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBjbGVhckFwcGxpZWRGaWx0ZXJzKCk6IHZvaWQ7XG5cbiAgICBwdWJsaWMgYWJzdHJhY3QgcmVtb3ZlQXBwbGllZEZpbHRlcnMoZmlsdGVyOiB7IGNoaXA6IEdJUElBcHBsaWVkRmlsdGVyPGFueT47IGluZGV4OiBudW1iZXI7IH0pOiB2b2lkO1xuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IHNldEZpbHRlclNlc3Npb25TdG9yYWdlKCk6IHZvaWQ7XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgaGFuZGxlRmlsdGVyU2Vzc2lvblN0b3JhZ2UoKTogdm9pZDtcblxuICAgIHByb3RlY3RlZCBuZXdQYWdlKCk6IEdJUElQYWdlTW9kZWw8VEVudGl0eT4ge1xuICAgICAgICByZXR1cm4gbmV3IEdJUElQYWdlTW9kZWw8VEVudGl0eT4oKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlVGFibGVTb3J0cygpOiBHSVBJU29ydE1vZGVsW10ge1xuICAgICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHByZURlbGV0ZShpZD86IEdJUElVdWlkKTogdm9pZCB7IH1cblxuICAgIHByb3RlY3RlZCBleGlzdEluQXBwbGllZEZpbHRlcnM8VCA9IGFueT4oa2V5OiBUKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhQXJyYXlVdGlsLmlzRW1wdHkodGhpcy5hcHBsaWVkRmlsdGVycykgJiZcbiAgICAgICAgICAgICh0aGlzLmFwcGxpZWRGaWx0ZXJzLmZpbmRJbmRleChlID0+IGUua2V5ID09PSBrZXkpID49IDApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEBJbnRlcm5hbCAqL1xuICAgIHByb3RlY3RlZCBfb25Jbml0RmlsdGVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhZ2UgPSB0aGlzLm5ld1BhZ2UoKTtcbiAgICAgICAgdGhpcy5maWx0ZXIgPSB0aGlzLm5ld0ZpbHRlcigpO1xuXG4gICAgICAgIGlmICghT2JqZWN0VXRpbC5pc051bGwodGhpcy5maWx0ZXIpKSB7XG4gICAgICAgICAgICB0aGlzLnNldEFwcGxpZWRGaWx0ZXJzKCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmaWx0ZXJTZXNzaW9uU3RvcmFnZSA9IHRoaXMuYmFzZVNlcnZpY2Uuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldCgnZmlsdGVyJyk7XG4gICAgICAgIGlmICghT2JqZWN0VXRpbC5pc051bGwoZmlsdGVyU2Vzc2lvblN0b3JhZ2UpKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZUZpbHRlclNlc3Npb25TdG9yYWdlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZmluZEFsbChwYWdlRXZlbnQ/OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG5cbiAgICAgICAgICAgIHRoaXMucGFnZSA9IHRoaXMubmV3UGFnZSgpO1xuICAgICAgICAgICAgaWYgKE9iamVjdFV0aWwuaXNOdWxsKHRoaXMuZmlsdGVyKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyID0gdGhpcy5uZXdGaWx0ZXIoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKE9iamVjdFV0aWwuaXNOdWxsKHBhZ2VFdmVudCkgJiYgIU9iamVjdFV0aWwuaXNOdWxsKHRoaXMudGFibGVQYWdlRXZlbnREVE8pKSB7XG4gICAgICAgICAgICAgICAgcGFnZUV2ZW50ID0gdGhpcy50YWJsZVBhZ2VFdmVudERUTztcblxuICAgICAgICAgICAgICAgIGlmIChPYmplY3RVdGlsLmhhc1Byb3BlcnR5SW5PYmoocGFnZUV2ZW50LCAncGFnZUluZGV4JykpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFnZUV2ZW50LnBhZ2VJbmRleCA9IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocGFnZUV2ZW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZVBhZ2VFdmVudERUTyA9IHBhZ2VFdmVudDtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlci5wYWdlTnVtYmVyID0gcGFnZUV2ZW50LnBhZ2VJbmRleDtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlci5wYWdlU2l6ZSA9IHBhZ2VFdmVudC5wYWdlU2l6ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlci5vZmZzZXQgPSBwYWdlRXZlbnQucGFnZUluZGV4ICogcGFnZUV2ZW50LnBhZ2VTaXplO1xuXG4gICAgICAgICAgICAgICAgaWYgKHBhZ2VFdmVudC5zb3J0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyLnNvcnRzID0gW1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEdJUElTb3J0TW9kZWwoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZUV2ZW50LnNvcnQuYWN0aXZlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cmluZ1V0aWwuaXNFbXB0eShwYWdlRXZlbnQuc29ydC5kaXJlY3Rpb24pID8gJ0RFU0MnIDogcGFnZUV2ZW50LnNvcnQuZGlyZWN0aW9uLnRvVXBwZXJDYXNlKClcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyLnBhZ2VOdW1iZXIgPSAwO1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyLm9mZnNldCA9IDA7XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXIucGFnZVNpemUgPSAxMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5hYnN0cmFjdENydWRTZXJ2aWNlLmZpbmRBbGw8VEZpbHRlciwgVEVudGl0eT4odGhpcy5maWx0ZXIpLnRvUHJvbWlzZSgpLnRoZW4ocGFnZSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5wYWdlID0gcGFnZTtcbiAgICAgICAgICAgICAgICB0aGlzLnNldEFwcGxpZWRGaWx0ZXJzKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBuZXdSZWdpc3RlcihwZXJtaXNzaW9uPzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmIChTdHJpbmdVdGlsLmlzRW1wdHkocGVybWlzc2lvbikgJiYgT2JqZWN0VXRpbC5pc051bGwodGhpcy5iYXNlUGVybWlzc2lvbkxpc3QpKSB7XG4gICAgICAgICAgICB0aGlzLnNldEZpbHRlclNlc3Npb25TdG9yYWdlKCk7XG4gICAgICAgICAgICB0aGlzLm5hdmlnYXRlQnlVcmwodGhpcy5nZXRQYXRoKCksIFt0aGlzLmdldFBhdGgoKSwgJ25ldyddLCB0cnVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChTdHJpbmdVdGlsLmlzRW1wdHkocGVybWlzc2lvbikgJiYgIU9iamVjdFV0aWwuaXNOdWxsKHRoaXMuYmFzZVBlcm1pc3Npb25MaXN0KSkge1xuICAgICAgICAgICAgICAgIHBlcm1pc3Npb24gPSB0aGlzLmJhc2VQZXJtaXNzaW9uTGlzdC5NQUtFO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCF0aGlzLmhhc1Blcm1pc3Npb24ocGVybWlzc2lvbikpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZFdhcm5pbmdNZXNzYWdlKElOSkVDVE9SLmdldChBUFBfTUVTU0FHRVMpLk5PVF9QRVJNSVNTSU9OKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuc2V0RmlsdGVyU2Vzc2lvblN0b3JhZ2UoKTtcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGVCeVVybCh0aGlzLmdldFBhdGgoKSwgW3RoaXMuZ2V0UGF0aCgpLCAnbmV3J10sIHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGVkaXRSZWdpc3RlcihpZD86IEdJUElVdWlkLCBwZXJtaXNzaW9uPzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlkID0gdGhpcy5oYW5kbGVFbnRpdHlJZChpZCk7XG4gICAgICAgIGlmIChPYmplY3RVdGlsLmlzTnVsbChpZCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChTdHJpbmdVdGlsLmlzRW1wdHkocGVybWlzc2lvbikgJiYgT2JqZWN0VXRpbC5pc051bGwodGhpcy5iYXNlUGVybWlzc2lvbkxpc3QpKSB7XG4gICAgICAgICAgICB0aGlzLnNldEZpbHRlclNlc3Npb25TdG9yYWdlKCk7XG4gICAgICAgICAgICB0aGlzLm5hdmlnYXRlQnlVcmwodGhpcy5nZXRQYXRoKCksIFt0aGlzLmdldFBhdGgoKSwgJ2VkaXQnXSwgdHJ1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoU3RyaW5nVXRpbC5pc0VtcHR5KHBlcm1pc3Npb24pICYmICFPYmplY3RVdGlsLmlzTnVsbCh0aGlzLmJhc2VQZXJtaXNzaW9uTGlzdCkpIHtcbiAgICAgICAgICAgICAgICBwZXJtaXNzaW9uID0gdGhpcy5iYXNlUGVybWlzc2lvbkxpc3QuVVBEQVRFO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCF0aGlzLmhhc1Blcm1pc3Npb24ocGVybWlzc2lvbikpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZFdhcm5pbmdNZXNzYWdlKElOSkVDVE9SLmdldChBUFBfTUVTU0FHRVMpLk5PVF9QRVJNSVNTSU9OKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuc2V0RmlsdGVyU2Vzc2lvblN0b3JhZ2UoKTtcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGVCeVVybCh0aGlzLmdldFBhdGgoKSwgW3RoaXMuZ2V0UGF0aCgpLCAnZWRpdCcsIGlkXSwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZGVsZXRlUmVnaXN0ZXIoaWQ/OiBHSVBJVXVpZCwgcGVybWlzc2lvbj86IHN0cmluZywgZmV0Y2hBZ2FpbjogYm9vbGVhbiA9IHRydWUsIHZlcnNpb24/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlkID0gdGhpcy5oYW5kbGVFbnRpdHlJZChpZCk7XG4gICAgICAgICAgICBpZiAoT2JqZWN0VXRpbC5pc051bGwoaWQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoU3RyaW5nVXRpbC5pc0VtcHR5KHBlcm1pc3Npb24pICYmIE9iamVjdFV0aWwuaXNOdWxsKHRoaXMuYmFzZVBlcm1pc3Npb25MaXN0KSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2RlbGV0ZVJlZ2lzdGVyKGlkLCBmZXRjaEFnYWluLCB2ZXJzaW9uKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKFN0cmluZ1V0aWwuaXNFbXB0eShwZXJtaXNzaW9uKSAmJiAhT2JqZWN0VXRpbC5pc051bGwodGhpcy5iYXNlUGVybWlzc2lvbkxpc3QpKSB7XG4gICAgICAgICAgICAgICAgICAgIHBlcm1pc3Npb24gPSB0aGlzLmJhc2VQZXJtaXNzaW9uTGlzdC5ERUxFVEU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5oYXNQZXJtaXNzaW9uKHBlcm1pc3Npb24pKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkV2FybmluZ01lc3NhZ2UoSU5KRUNUT1IuZ2V0KEFQUF9NRVNTQUdFUykuTk9UX1BFUk1JU1NJT04pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5fZGVsZXRlUmVnaXN0ZXIoaWQsIGZldGNoQWdhaW4sIHZlcnNpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzTGlzdGluZygpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbGVhcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBJbnRlcm5hbCAqL1xuICAgIHByaXZhdGUgX2RlbGV0ZVJlZ2lzdGVyKGlkOiBHSVBJVXVpZCwgZmV0Y2hBZ2FpbjogYm9vbGVhbiA9IHRydWUsIHZlcnNpb24/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMuYmFzZVNlcnZpY2UuY29uZmlybWF0aW9uU2VydmljZS5jb25maXJtKHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ0NvbmZpcm1hw6fDo28nLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IElOSkVDVE9SLmdldChBUFBfTUVTU0FHRVMpLkRFTEVURV9DT05GSVJNQVRJT04sXG4gICAgICAgICAgICAgICAgYWNjZXB0OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0RmlsdGVyU2Vzc2lvblN0b3JhZ2UoKTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhZ2UgPSB0aGlzLm5ld1BhZ2UoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcmVEZWxldGUoaWQpO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWJzdHJhY3RDcnVkU2VydmljZS5kZWxldGU8VEVudGl0eT4oaWQsIHZlcnNpb24pLnRvUHJvbWlzZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZldGNoQWdhaW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbmRBbGwoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRTdWNjZXNzTWVzc2FnZShJTkpFQ1RPUi5nZXQoQVBQX01FU1NBR0VTKS5TVUNDRVNTKTtcbiAgICAgICAgICAgICAgICAgICAgfSwgZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGRlbGV0ZUFsbFJlZ2lzdGVyKGlkTGlzdD86IEdJUElVdWlkW10sIHBlcm1pc3Npb24/OiBzdHJpbmcsIGZldGNoQWdhaW46IGJvb2xlYW4gPSB0cnVlLCB2ZXJzaW9uPzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZExpc3QgPSB0aGlzLmhhbmRsZUVudGl0eUlkTGlzdChpZExpc3QpO1xuICAgICAgICAgICAgaWYgKE9iamVjdFV0aWwuaXNOdWxsKGlkTGlzdCkgfHwgQXJyYXlVdGlsLmlzRW1wdHkoaWRMaXN0KSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKFN0cmluZ1V0aWwuaXNFbXB0eShwZXJtaXNzaW9uKSAmJiBPYmplY3RVdGlsLmlzTnVsbCh0aGlzLmJhc2VQZXJtaXNzaW9uTGlzdCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9kZWxldGVBbGxSZWdpc3RlcihpZExpc3QsIGZldGNoQWdhaW4sIHZlcnNpb24pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoU3RyaW5nVXRpbC5pc0VtcHR5KHBlcm1pc3Npb24pICYmICFPYmplY3RVdGlsLmlzTnVsbCh0aGlzLmJhc2VQZXJtaXNzaW9uTGlzdCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcGVybWlzc2lvbiA9IHRoaXMuYmFzZVBlcm1pc3Npb25MaXN0LkRFTEVURTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmhhc1Blcm1pc3Npb24ocGVybWlzc2lvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRXYXJuaW5nTWVzc2FnZShJTkpFQ1RPUi5nZXQoQVBQX01FU1NBR0VTKS5OT1RfUEVSTUlTU0lPTik7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9kZWxldGVBbGxSZWdpc3RlcihpZExpc3QsIGZldGNoQWdhaW4sIHZlcnNpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzTGlzdGluZygpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbGVhcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBJbnRlcm5hbCAqL1xuICAgIHByaXZhdGUgX2RlbGV0ZUFsbFJlZ2lzdGVyKGlkTGlzdDogR0lQSVV1aWRbXSwgZmV0Y2hBZ2FpbjogYm9vbGVhbiA9IHRydWUsIHZlcnNpb24/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMuYmFzZVNlcnZpY2UuY29uZmlybWF0aW9uU2VydmljZS5jb25maXJtKHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ0NvbmZpcm1hw6fDo28nLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IElOSkVDVE9SLmdldChBUFBfTUVTU0FHRVMpLkRFTEVURV9DT05GSVJNQVRJT04sXG4gICAgICAgICAgICAgICAgYWNjZXB0OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0RmlsdGVyU2Vzc2lvblN0b3JhZ2UoKTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhZ2UgPSB0aGlzLm5ld1BhZ2UoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcmVEZWxldGUoKTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFic3RyYWN0Q3J1ZFNlcnZpY2UuZGVsZXRlQWxsKGlkTGlzdCwgdmVyc2lvbikudG9Qcm9taXNlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmV0Y2hBZ2Fpbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmluZEFsbCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZFN1Y2Nlc3NNZXNzYWdlKElOSkVDVE9SLmdldChBUFBfTUVTU0FHRVMpLlNVQ0NFU1MpO1xuICAgICAgICAgICAgICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgdmlld1JlZ2lzdGVyKGlkPzogR0lQSVV1aWQsIHBlcm1pc3Npb24/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWQgPSB0aGlzLmhhbmRsZUVudGl0eUlkKGlkKTtcbiAgICAgICAgaWYgKE9iamVjdFV0aWwuaXNOdWxsKGlkKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFN0cmluZ1V0aWwuaXNFbXB0eShwZXJtaXNzaW9uKSAmJiBPYmplY3RVdGlsLmlzTnVsbCh0aGlzLmJhc2VQZXJtaXNzaW9uTGlzdCkpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0RmlsdGVyU2Vzc2lvblN0b3JhZ2UoKTtcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGVCeVVybCh0aGlzLmdldFBhdGgoKSwgW3RoaXMuZ2V0UGF0aCgpLCAndmlldycsIGlkXSwgdHJ1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoU3RyaW5nVXRpbC5pc0VtcHR5KHBlcm1pc3Npb24pICYmICFPYmplY3RVdGlsLmlzTnVsbCh0aGlzLmJhc2VQZXJtaXNzaW9uTGlzdCkpIHtcbiAgICAgICAgICAgICAgICBwZXJtaXNzaW9uID0gdGhpcy5iYXNlUGVybWlzc2lvbkxpc3QuUkVBRDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghdGhpcy5oYXNQZXJtaXNzaW9uKHBlcm1pc3Npb24pKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRXYXJuaW5nTWVzc2FnZShJTkpFQ1RPUi5nZXQoQVBQX01FU1NBR0VTKS5OT1RfUEVSTUlTU0lPTik7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnNldEZpbHRlclNlc3Npb25TdG9yYWdlKCk7XG4gICAgICAgICAgICB0aGlzLm5hdmlnYXRlQnlVcmwodGhpcy5nZXRQYXRoKCksIFt0aGlzLmdldFBhdGgoKSwgJ3ZpZXcnLCBpZF0sIHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGVkaXRPclZpZXdSZWdpc3RlcihpZDogR0lQSVV1aWQsIHBlcm1pc3Npb246IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5oYXNQZXJtaXNzaW9uKHBlcm1pc3Npb24pKSB7XG4gICAgICAgICAgICB0aGlzLmVkaXRSZWdpc3RlcihpZCwgcGVybWlzc2lvbik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnZpZXdSZWdpc3RlcihpZCwgcGVybWlzc2lvbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZW5hYmxlT3JEaXNhYmxlUmVnaXN0ZXIoYWN0aW9uOiAnRElTQUJMRScgfCAnRU5BQkxFJywgaWQ/OiBHSVBJVXVpZCwgcGVybWlzc2lvbj86IHN0cmluZywgZmV0Y2hBZ2FpbjogYm9vbGVhbiA9IHRydWUsIHZlcnNpb24/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlkID0gdGhpcy5oYW5kbGVFbnRpdHlJZChpZCk7XG4gICAgICAgICAgICBpZiAoT2JqZWN0VXRpbC5pc051bGwoaWQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoU3RyaW5nVXRpbC5pc0VtcHR5KHBlcm1pc3Npb24pICYmIE9iamVjdFV0aWwuaXNOdWxsKHRoaXMuYmFzZVBlcm1pc3Npb25MaXN0KSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2VuYWJsZU9yRGlzYWJsZVJlZ2lzdGVyKGFjdGlvbiwgaWQsIGZldGNoQWdhaW4sIHZlcnNpb24pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoU3RyaW5nVXRpbC5pc0VtcHR5KHBlcm1pc3Npb24pICYmICFPYmplY3RVdGlsLmlzTnVsbCh0aGlzLmJhc2VQZXJtaXNzaW9uTGlzdCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcGVybWlzc2lvbiA9IHRoaXMuYmFzZVBlcm1pc3Npb25MaXN0LlVQREFURTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmhhc1Blcm1pc3Npb24ocGVybWlzc2lvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRXYXJuaW5nTWVzc2FnZShJTkpFQ1RPUi5nZXQoQVBQX01FU1NBR0VTKS5OT1RfUEVSTUlTU0lPTik7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9lbmFibGVPckRpc2FibGVSZWdpc3RlcihhY3Rpb24sIGlkLCBmZXRjaEFnYWluLCB2ZXJzaW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICBpZiAodGhpcy5pc0xpc3RpbmcoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xlYXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBASW50ZXJuYWwgKi9cbiAgICBwcml2YXRlIF9lbmFibGVPckRpc2FibGVSZWdpc3RlcihhY3Rpb246ICdESVNBQkxFJyB8ICdFTkFCTEUnLCBpZDogR0lQSVV1aWQsIGZldGNoQWdhaW46IGJvb2xlYW4gPSB0cnVlLCB2ZXJzaW9uPzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLmJhc2VTZXJ2aWNlLmNvbmZpcm1hdGlvblNlcnZpY2UuY29uZmlybSh7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICdDb25maXJtYcOnw6NvJyxcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBgRGVzZWphIHJlYWxtZW50ZSAkeyhhY3Rpb24gPT09ICdESVNBQkxFJykgPyAnaW5hdGl2YXInIDogJ2F0aXZhcid9IGVzdGUgcmVnaXN0cm8/YCxcbiAgICAgICAgICAgICAgICBhY2NlcHQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRGaWx0ZXJTZXNzaW9uU3RvcmFnZSgpO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFnZSA9IHRoaXMubmV3UGFnZSgpO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWJzdHJhY3RDcnVkU2VydmljZS5lbmFibGVPckRpc2FibGUoaWQsIGFjdGlvbiwgdmVyc2lvbikudG9Qcm9taXNlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmV0Y2hBZ2Fpbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmluZEFsbCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZFN1Y2Nlc3NNZXNzYWdlKElOSkVDVE9SLmdldChBUFBfTUVTU0FHRVMpLlNVQ0NFU1MpO1xuICAgICAgICAgICAgICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZW5hYmxlQW5kRGlzYWJsZUFsbFJlZ2lzdGVyKGFjdGlvbjogJ0RJU0FCTEUnIHwgJ0VOQUJMRScsIGlkTGlzdD86IEdJUElVdWlkW10sIHBlcm1pc3Npb24/OiBzdHJpbmcsIGZldGNoQWdhaW46IGJvb2xlYW4gPSB0cnVlLCB2ZXJzaW9uPzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZExpc3QgPSB0aGlzLmhhbmRsZUVudGl0eUlkTGlzdChpZExpc3QpO1xuICAgICAgICAgICAgaWYgKE9iamVjdFV0aWwuaXNOdWxsKGlkTGlzdCkgfHwgQXJyYXlVdGlsLmlzRW1wdHkoaWRMaXN0KSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKFN0cmluZ1V0aWwuaXNFbXB0eShwZXJtaXNzaW9uKSAmJiBPYmplY3RVdGlsLmlzTnVsbCh0aGlzLmJhc2VQZXJtaXNzaW9uTGlzdCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9lbmFibGVBbmREaXNhYmxlQWxsUmVnaXN0ZXIoYWN0aW9uLCBpZExpc3QsIGZldGNoQWdhaW4sIHZlcnNpb24pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoU3RyaW5nVXRpbC5pc0VtcHR5KHBlcm1pc3Npb24pICYmICFPYmplY3RVdGlsLmlzTnVsbCh0aGlzLmJhc2VQZXJtaXNzaW9uTGlzdCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcGVybWlzc2lvbiA9IHRoaXMuYmFzZVBlcm1pc3Npb25MaXN0LlVQREFURTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmhhc1Blcm1pc3Npb24ocGVybWlzc2lvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRXYXJuaW5nTWVzc2FnZShJTkpFQ1RPUi5nZXQoQVBQX01FU1NBR0VTKS5OT1RfUEVSTUlTU0lPTik7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9lbmFibGVBbmREaXNhYmxlQWxsUmVnaXN0ZXIoYWN0aW9uLCBpZExpc3QsIGZldGNoQWdhaW4sIHZlcnNpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzTGlzdGluZygpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbGVhcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBJbnRlcm5hbCAqL1xuICAgIHByaXZhdGUgX2VuYWJsZUFuZERpc2FibGVBbGxSZWdpc3RlcihhY3Rpb246ICdESVNBQkxFJyB8ICdFTkFCTEUnLCBpZExpc3Q6IEdJUElVdWlkW10sIGZldGNoQWdhaW46IGJvb2xlYW4gPSB0cnVlLCB2ZXJzaW9uPzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLmJhc2VTZXJ2aWNlLmNvbmZpcm1hdGlvblNlcnZpY2UuY29uZmlybSh7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICdDb25maXJtYcOnw6NvJyxcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBgRGVzZWphIHJlYWxtZW50ZSAkeyhhY3Rpb24gPT09ICdESVNBQkxFJykgPyAnaW5hdGl2YXInIDogJ2F0aXZhcid9IG9zIHJlZ2lzdHJvcyBzZWxlY2lvbmFkb3M/YCxcbiAgICAgICAgICAgICAgICBhY2NlcHQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRGaWx0ZXJTZXNzaW9uU3RvcmFnZSgpO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFnZSA9IHRoaXMubmV3UGFnZSgpO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWJzdHJhY3RDcnVkU2VydmljZS5lbmFibGVPckRpc2FibGVBbGwoaWRMaXN0LCBhY3Rpb24sIHZlcnNpb24pLnRvUHJvbWlzZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZldGNoQWdhaW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbmRBbGwoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRTdWNjZXNzTWVzc2FnZShJTkpFQ1RPUi5nZXQoQVBQX01FU1NBR0VTKS5TVUNDRVNTKTtcbiAgICAgICAgICAgICAgICAgICAgfSwgZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGNsb25lUmVnaXN0ZXIoaWQ/OiBHSVBJVXVpZCwgcGVybWlzc2lvbj86IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZCA9IHRoaXMuaGFuZGxlRW50aXR5SWQoaWQpO1xuICAgICAgICBpZiAoT2JqZWN0VXRpbC5pc051bGwoaWQpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoU3RyaW5nVXRpbC5pc0VtcHR5KHBlcm1pc3Npb24pICYmIE9iamVjdFV0aWwuaXNOdWxsKHRoaXMuYmFzZVBlcm1pc3Npb25MaXN0KSkge1xuICAgICAgICAgICAgdGhpcy5zZXRGaWx0ZXJTZXNzaW9uU3RvcmFnZSgpO1xuICAgICAgICAgICAgdGhpcy5uYXZpZ2F0ZUJ5VXJsKHRoaXMuZ2V0UGF0aCgpLCBbdGhpcy5nZXRQYXRoKCksICduZXcnLCAnY2xvbmUnXSwgdHJ1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoU3RyaW5nVXRpbC5pc0VtcHR5KHBlcm1pc3Npb24pICYmICFPYmplY3RVdGlsLmlzTnVsbCh0aGlzLmJhc2VQZXJtaXNzaW9uTGlzdCkpIHtcbiAgICAgICAgICAgICAgICBwZXJtaXNzaW9uID0gdGhpcy5iYXNlUGVybWlzc2lvbkxpc3QuTUFLRTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghdGhpcy5oYXNQZXJtaXNzaW9uKHBlcm1pc3Npb24pKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRXYXJuaW5nTWVzc2FnZShJTkpFQ1RPUi5nZXQoQVBQX01FU1NBR0VTKS5OT1RfUEVSTUlTU0lPTik7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnNldEZpbHRlclNlc3Npb25TdG9yYWdlKCk7XG4gICAgICAgICAgICB0aGlzLm5hdmlnYXRlQnlVcmwodGhpcy5nZXRQYXRoKCksIFt0aGlzLmdldFBhdGgoKSwgJ25ldycsICdjbG9uZScsIGlkXSwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYmFzZVNlcnZpY2Uuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnJlbW92ZSgnZmlsdGVyJyk7XG4gICAgICAgIHRoaXMucGFnZSA9IHRoaXMubmV3UGFnZSgpO1xuICAgICAgICB0aGlzLmZpbHRlciA9IHRoaXMubmV3RmlsdGVyKCk7XG4gICAgICAgIHRoaXMuY2xlYXJBcHBsaWVkRmlsdGVycygpO1xuICAgICAgICB0aGlzLmZpbmRBbGwoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlRW50aXR5SWQoaWQ6IEdJUElVdWlkKTogR0lQSVV1aWQge1xuICAgICAgICBpZiAoIXRoaXMuVVVJRElzVmFsaWQoaWQpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ08gaWRlbnRpZmljYWRvciBkbyByZWdpc3RybyBuw6NvIMOpIHbDoWxpZG8nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChPYmplY3RVdGlsLmlzTnVsbChpZCkgJiYgIU9iamVjdFV0aWwuaXNOdWxsKHRoaXMucGFnZSkgJiYgIUFycmF5VXRpbC5pc0VtcHR5KHRoaXMucGFnZS5jb250ZW50KSkge1xuICAgICAgICAgICAgY29uc3QgZmlyc3RTZWxldGVjdGVkID0gdGhpcy5wYWdlLmNvbnRlbnQuZmlsdGVyKGMgPT4gYy5zZWxlY3RlZClbMF07XG4gICAgICAgICAgICBpZiAoT2JqZWN0VXRpbC5pc051bGwoZmlyc3RTZWxldGVjdGVkKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gZmlyc3RTZWxldGVjdGVkLmlkO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGlkO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYW5kbGVFbnRpdHlJZExpc3QoaWRMaXN0OiBHSVBJVXVpZFtdKTogR0lQSVV1aWRbXSB7XG4gICAgICAgIGlmICghQXJyYXlVdGlsLmlzRW1wdHkoaWRMaXN0KSkge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpZExpc3QubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuVVVJRElzVmFsaWQoaWRMaXN0W2ldKSkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ08gaWRlbnRpZmljYWRvciBkbyByZWdpc3RybyBuw6NvIMOpIHbDoWxpZG8nKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoQXJyYXlVdGlsLmlzRW1wdHkoaWRMaXN0KSAmJiAhT2JqZWN0VXRpbC5pc051bGwodGhpcy5wYWdlKSAmJiAhQXJyYXlVdGlsLmlzRW1wdHkodGhpcy5wYWdlLmNvbnRlbnQpKSB7XG4gICAgICAgICAgICBjb25zdCBsaXN0U2VsZWN0ZWQgPSB0aGlzLnBhZ2UuY29udGVudC5maWx0ZXIocCA9PiBwLnNlbGVjdGVkKS5tYXAocCA9PiBwLmlkKTtcbiAgICAgICAgICAgIGlmIChBcnJheVV0aWwuaXNFbXB0eShsaXN0U2VsZWN0ZWQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBsaXN0U2VsZWN0ZWQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaWRMaXN0O1xuICAgIH1cblxufVxuIl19
@@ -51,7 +51,10 @@ var GIPIAbstractComponent = /** @class */ (function () {
51
51
  return this.baseService.router.url.split('/').filter(function (path) { return (path === 'view'); }).length > 0;
52
52
  };
53
53
  GIPIAbstractComponent.prototype.isListing = function () {
54
- return this.baseService.router.url.split('/').filter(function (path) { return (path === 'new') || (path === 'edit') || (path === 'view'); }).length === 0;
54
+ return this.baseService.router.url.split('/').filter(function (path) { return (path === 'new') || (path === 'edit') || (path === 'view') || (path === 'clone'); }).length === 0;
55
+ };
56
+ GIPIAbstractComponent.prototype.isCloning = function () {
57
+ return this.baseService.router.url.split('/').filter(function (path) { return (path === 'clone'); }).length > 0;
55
58
  };
56
59
  GIPIAbstractComponent.prototype.hasPermission = function (permission) {
57
60
  if (StringUtil.isEmpty(permission)) {
@@ -149,4 +152,4 @@ var GIPIAbstractComponent = /** @class */ (function () {
149
152
  return GIPIAbstractComponent;
150
153
  }());
151
154
  export { GIPIAbstractComponent };
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdpcGlzaXN0ZW1hcy9uZy1jb3JlLyIsInNvdXJjZXMiOlsiY29yZS9naXBpLWNvbXBvbmVudHMvY29tcG9uZW50cy9hYnN0cmFjdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBSXhFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBSTNEO0lBa0JJLCtCQUNjLFdBQTRCLEVBQzVCLGNBQThCO1FBRDlCLGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtRQUM1QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFsQnBDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFRMUIsd0JBQW1CLEdBQXVCLElBQUksQ0FBQztJQVduRCxDQUFDO0lBbEJMLHNCQUFXLDBDQUFPO2FBR2xCO1lBQ0ksT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3pCLENBQUM7YUFMRCxVQUFtQixLQUFjO1lBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQzFCLENBQUM7OztPQUFBO0lBTUQsc0JBQVcscURBQWtCO2FBRzdCO1lBQ0ksT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFDcEMsQ0FBQzthQUxELFVBQThCLEtBQXlCO1lBQ25ELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDckMsQ0FBQzs7O09BQUE7SUFVRCx3Q0FBUSxHQUFSO1FBQ0ksSUFBSSxDQUFD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LENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFdkYsSUFBSSxjQUFjLEVBQUU7WUFDaEIsT0FBTyxhQUFhLENBQUMsTUFBTSxDQUFDLFVBQUEsSUFBSSxJQUFJLE9BQUEsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLEtBQUssQ0FBQyxXQUFXLEVBQUUsRUFBMUMsQ0FBMEMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7U0FDOUY7YUFBTTtZQUNILE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQyxVQUFBLElBQUksSUFBSSxPQUFBLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxLQUFLLENBQUMsV0FBVyxFQUFFLEVBQTFDLENBQTBDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1NBQ3pGO0lBQ0wsQ0FBQzs7Z0JBN0gwQixlQUFlO2dCQUNaLGNBQWM7O0lBcEIxQixxQkFBcUI7UUFEMUMsU0FBUyxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDO3lDQW9CRyxlQUFlO1lBQ1osY0FBYztPQXBCMUIscUJBQXFCLENBa0oxQztJQUFELDRCQUFDO0NBQUEsQUFsSkQsSUFrSkM7U0FsSnFCLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgQWxlcnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXNlVXNlciB9IGZyb20gJy4uLy4uL21vZGVscy9iYXNlLXVzZXIubW9kZWwnO1xuaW1wb3J0IHsgTWVzc2FnZURUTyB9IGZyb20gJy4uLy4uL21vZGVscy9kdG8vbWVzc2FnZS5kdG8nO1xuaW1wb3J0IHsgVG9rZW5EVE8gfSBmcm9tICcuLi8uLi9tb2RlbHMvZHRvL3Rva2VuLmR0byc7XG5pbXBvcnQgeyBTdHJpbmdVdGlsIH0gZnJvbSAnLi4vLi4vdXRpbHMvc3RyaW5nLnV0aWwnO1xuaW1wb3J0IHsgVVVJRFV0aWwgfSBmcm9tICcuLi8uLi91dGlscy91dWlkLnV0aWwnO1xuaW1wb3J0IHsgR0lQSUJhc2VQZXJtaXNzaW9uIH0gZnJvbSAnLi4vaW50ZXJmYWNlL2Jhc2UtcGVybWlzc2lvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgR0lQSUJhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYmFzZS5zZXJ2aWNlJztcbmltcG9ydCB7IEdJUElVdWlkIH0gZnJvbSAnLi4vdHlwZXMvdXVpZC50eXBlJztcblxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJyB9KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEdJUElBYnN0cmFjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICAgIHByaXZhdGUgX2xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgc2V0IGxvYWRpbmcodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fbG9hZGluZyA9IHZhbHVlO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IGxvYWRpbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sb2FkaW5nO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2Jhc2VQZXJtaXNzaW9uTGlzdDogR0lQSUJhc2VQZXJtaXNzaW9uID0gbnVsbDtcbiAgICBwdWJsaWMgc2V0IGJhc2VQZXJtaXNzaW9uTGlzdCh2YWx1ZTogR0lQSUJhc2VQZXJtaXNzaW9uKSB7XG4gICAgICAgIHRoaXMuX2Jhc2VQZXJtaXNzaW9uTGlzdCA9IHZhbHVlO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IGJhc2VQZXJtaXNzaW9uTGlzdCgpOiBHSVBJQmFzZVBlcm1pc3Npb24ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYmFzZVBlcm1pc3Npb25MaXN0O1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgYmFzZVNlcnZpY2U6IEdJUElCYXNlU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICApIHsgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Jbml0Rm9ybSgpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkFmdGVySW5pdEZvcm0oKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNDcmVhdGluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZVNlcnZpY2Uucm91dGVyLnVybC5zcGxpdCgnLycpLmZpbHRlcihwYXRoID0+IChwYXRoID09PSAnbmV3JykpLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgcHVibGljIGlzRWRpdGluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZVNlcnZpY2Uucm91dGVyLnVybC5zcGxpdCgnLycpLmZpbHRlcihwYXRoID0+IChwYXRoID09PSAnZWRpdCcpKS5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1ZpZXdpbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VTZXJ2aWNlLnJvdXRlci51cmwuc3BsaXQoJy8nKS5maWx0ZXIocGF0aCA9PiAocGF0aCA9PT0gJ3ZpZXcnKSkubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNMaXN0aW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5iYXNlU2VydmljZS5yb3V0ZXIudXJsLnNwbGl0KCcvJykuZmlsdGVyKHBhdGggPT4gKHBhdGggPT09ICduZXcnKSB8fCAocGF0aCA9PT0gJ2VkaXQnKSB8fCAocGF0aCA9PT0gJ3ZpZXcnKSkubGVuZ3RoID09PSAwO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYXNQZXJtaXNzaW9uKHBlcm1pc3Npb246IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoU3RyaW5nVXRpbC5pc0VtcHR5KHBlcm1pc3Npb24pKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdG9rZW46IFRva2VuRFRPPEJhc2VVc2VyPiA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3Rva2VuJykpO1xuICAgICAgICByZXR1cm4gISF0b2tlbi51c2VyLmF1dGhvcml0aWVzLmZpbmQoYXV0aG9yaXR5ID0+IGF1dGhvcml0eS5hdXRob3JpdHkubWF0Y2gocGVybWlzc2lvbikpO1xuICAgIH1cblxuICAgIHB1YmxpYyBVVUlESXNWYWxpZChpZDogR0lQSVV1aWQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIFVVSURVdGlsLmlzVmFsaWQoaWQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkluaXRGb3JtKCk6IHZvaWQgeyB9XG5cbiAgICBwcm90ZWN0ZWQgb25BZnRlckluaXRGb3JtKCk6IHZvaWQgeyB9XG5cbiAgICBwcm90ZWN0ZWQgb25EZXN0cm95KCk6IHZvaWQgeyB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0UGF0aCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5wYXJlbnQucGFyZW50LnVybFswXS5wYXRofS8ke3RoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucGFyZW50LnVybFswXS5wYXRofWA7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG5hdmlnYXRlQnlVcmwobmF2aWdhdGVCeVVybDogc3RyaW5nLCBuYXZpZ2F0ZTogYW55W10sIHNraXBMb2NhdGlvbkNoYW5nZTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5iYXNlU2VydmljZS5yb3V0ZXIubmF2aWdhdGVCeVVybChuYXZpZ2F0ZUJ5VXJsLCB7IHNraXBMb2NhdGlvbkNoYW5nZTogc2tpcExvY2F0aW9uQ2hhbmdlIH0pLnRoZW4oKCkgPT4gdGhpcy5iYXNlU2VydmljZS5yb3V0ZXIubmF2aWdhdGUobmF2aWdhdGUpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYWRkTWVzc2FnZShtZXNzYWdlOiBNZXNzYWdlRFRPKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYmFzZVNlcnZpY2UubWF0U25hY2tCYXIub3BlbkZyb21Db21wb25lbnQoQWxlcnRDb21wb25lbnQsIHtcbiAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb246ICd0b3AnLFxuICAgICAgICAgICAgaG9yaXpvbnRhbFBvc2l0aW9uOiAnY2VudGVyJyxcbiAgICAgICAgICAgIGR1cmF0aW9uOiA1MDAwLFxuICAgICAgICAgICAgZGF0YTogbWVzc2FnZVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYWRkU3VjY2Vzc01lc3NhZ2UobWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYmFzZVNlcnZpY2UubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgICAgICAgIGljb246ICdjaGVja19jaXJjbGUnLFxuICAgICAgICAgICAgdGl0bGU6ICdTdWNlc3NvJyxcbiAgICAgICAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UsXG4gICAgICAgICAgICB0eXBlOiAnc3VjY2VzcydcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFkZEVycm9yTWVzc2FnZShtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5iYXNlU2VydmljZS5tZXNzYWdlU2VydmljZS5hZGQoe1xuICAgICAgICAgICAgaWNvbjogJ2NhbmNlbCcsXG4gICAgICAgICAgICB0aXRsZTogJ0Vycm8nLFxuICAgICAgICAgICAgbWVzc2FnZTogbWVzc2FnZSxcbiAgICAgICAgICAgIHR5cGU6ICdlcnJvcidcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFkZFdhcm5pbmdNZXNzYWdlKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmJhc2VTZXJ2aWNlLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICAgICAgICBpY29uOiAnZXJyb3InLFxuICAgICAgICAgICAgdGl0bGU6ICdBdGVuw6fDo28nLFxuICAgICAgICAgICAgbWVzc2FnZTogbWVzc2FnZSxcbiAgICAgICAgICAgIHR5cGU6ICd3YXJuaW5nJ1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYWRkSW5mb01lc3NhZ2UobWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYmFzZVNlcnZpY2UubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgICAgICAgIGljb246ICdpbmZvJyxcbiAgICAgICAgICAgIHRpdGxlOiAnSW5mb3JtYcOnw6NvJyxcbiAgICAgICAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UsXG4gICAgICAgICAgICB0eXBlOiAnaW5mbydcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGhhbmRsZUVycm9yKGVycm9yOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIGlmIChTdHJpbmcoZXJyb3IpLmluY2x1ZGVzKCdVbmtub3duJykpIHtcbiAgICAgICAgICAgIGVycm9yID0gbmV3IEVycm9yKCdPY29ycmV1IHVtIGVycm8gYW8gcmVhbGl6YXIgZXNzYSBvcGVyYcOnw6NvLCB0ZW50ZSBub3ZhbWVudGUnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgZXJyb3IgPSBlcnJvci5tZXNzYWdlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuYWRkRXJyb3JNZXNzYWdlKGVycm9yKTtcbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEV4aXN0SW5Sb3V0ZXJQYXRoKHZhbHVlOiBzdHJpbmcsIHZhbGlkYXRlUGFyYW1zOiBib29sZWFuID0gZmFsc2UpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgdXJsOiBzdHJpbmcgPSB0aGlzLmJhc2VTZXJ2aWNlLnJvdXRlci51cmw7XG4gICAgICAgIGNvbnN0IHBhdGhMaXN0OiBzdHJpbmdbXSA9IHVybC5zbGljZSgxLCB1cmwuaW5kZXhPZignPycpICsgMSkuc3BsaXQoJy8nKTtcbiAgICAgICAgY29uc3QgcGFyYW1ldGVyTGlzdDogc3RyaW5nW10gPSB1cmwuc2xpY2UodXJsLmluZGV4T2YoJz8nKSArIDEsIHVybC5sZW5ndGgpLnNwbGl0KCc9Jyk7XG5cbiAgICAgICAgaWYgKHZhbGlkYXRlUGFyYW1zKSB7XG4gICAgICAgICAgICByZXR1cm4gcGFyYW1ldGVyTGlzdC5maWx0ZXIocGF0aCA9PiBwYXRoLnRvVXBwZXJDYXNlKCkgPT09IHZhbHVlLnRvVXBwZXJDYXNlKCkpLmxlbmd0aCA+IDA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gcGF0aExpc3QuZmlsdGVyKHBhdGggPT4gcGF0aC50b1VwcGVyQ2FzZSgpID09PSB2YWx1ZS50b1VwcGVyQ2FzZSgpKS5sZW5ndGggPiAwO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4iXX0=
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdpcGlzaXN0ZW1hcy9uZy1jb3JlLyIsInNvdXJjZXMiOlsiY29yZS9naXBpLWNvbXBvbmVudHMvY29tcG9uZW50cy9hYnN0cmFjdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBSXhFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBSTNEO0lBa0JJLCtCQUNjLFdBQTRCLEVBQzVCLGNBQThCO1FBRDlCLGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtRQUM1QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFsQnBDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFRMUIsd0JBQW1CLEdBQXVCLElBQUksQ0FBQztJQVduRCxDQUFDO0lBbEJMLHNCQUFXLDBDQUFPO2FBR2xCO1lBQ0ksT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3pCLENBQUM7YUFMRCxVQUFtQixLQUFjO1lBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQzFCLENBQUM7OztPQUFBO0lBTUQsc0JBQVcscURBQWtCO2FBRzdCO1lBQ0ksT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFDcEMsQ0FBQzthQUxELFVBQThCLEtBQXlCO1lBQ25ELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDckMsQ0FBQzs7O09BQUE7SUFVRCx3Q0FBUSxHQUFSO1FBQ0ksSUFBSSxDQUFD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QUFDO1FBQ2hELElBQU0sUUFBUSxHQUFhLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pFLElBQU0sYUFBYSxHQUFhLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV2RixJQUFJLGNBQWMsRUFBRTtZQUNoQixPQUFPLGFBQWEsQ0FBQyxNQUFNLENBQUMsVUFBQSxJQUFJLElBQUksT0FBQSxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssS0FBSyxDQUFDLFdBQVcsRUFBRSxFQUExQyxDQUEwQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUM5RjthQUFNO1lBQ0gsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQUEsSUFBSSxJQUFJLE9BQUEsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLEtBQUssQ0FBQyxXQUFXLEVBQUUsRUFBMUMsQ0FBMEMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7U0FDekY7SUFDTCxDQUFDOztnQkFqSTBCLGVBQWU7Z0JBQ1osY0FBYzs7SUFwQjFCLHFCQUFxQjtRQUQxQyxTQUFTLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUM7eUNBb0JHLGVBQWU7WUFDWixjQUFjO09BcEIxQixxQkFBcUIsQ0FzSjFDO0lBQUQsNEJBQUM7Q0FBQSxBQXRKRCxJQXNKQztTQXRKcUIscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBBbGVydENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvYWxlcnQvYWxlcnQuY29tcG9uZW50JztcbmltcG9ydCB7IEJhc2VVc2VyIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Jhc2UtdXNlci5tb2RlbCc7XG5pbXBvcnQgeyBNZXNzYWdlRFRPIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2R0by9tZXNzYWdlLmR0byc7XG5pbXBvcnQgeyBUb2tlbkRUTyB9IGZyb20gJy4uLy4uL21vZGVscy9kdG8vdG9rZW4uZHRvJztcbmltcG9ydCB7IFN0cmluZ1V0aWwgfSBmcm9tICcuLi8uLi91dGlscy9zdHJpbmcudXRpbCc7XG5pbXBvcnQgeyBVVUlEVXRpbCB9IGZyb20gJy4uLy4uL3V0aWxzL3V1aWQudXRpbCc7XG5pbXBvcnQgeyBHSVBJQmFzZVBlcm1pc3Npb24gfSBmcm9tICcuLi9pbnRlcmZhY2UvYmFzZS1wZXJtaXNzaW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBHSVBJQmFzZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9iYXNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgR0lQSVV1aWQgfSBmcm9tICcuLi90eXBlcy91dWlkLnR5cGUnO1xuXG5AQ29tcG9uZW50KHsgdGVtcGxhdGU6ICcnIH0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgR0lQSUFic3RyYWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgcHJpdmF0ZSBfbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBzZXQgbG9hZGluZyh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9sb2FkaW5nID0gdmFsdWU7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgbG9hZGluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvYWRpbmc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfYmFzZVBlcm1pc3Npb25MaXN0OiBHSVBJQmFzZVBlcm1pc3Npb24gPSBudWxsO1xuICAgIHB1YmxpYyBzZXQgYmFzZVBlcm1pc3Npb25MaXN0KHZhbHVlOiBHSVBJQmFzZVBlcm1pc3Npb24pIHtcbiAgICAgICAgdGhpcy5fYmFzZVBlcm1pc3Npb25MaXN0ID0gdmFsdWU7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgYmFzZVBlcm1pc3Npb25MaXN0KCk6IEdJUElCYXNlUGVybWlzc2lvbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9iYXNlUGVybWlzc2lvbkxpc3Q7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBiYXNlU2VydmljZTogR0lQSUJhc2VTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICkgeyB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkluaXRGb3JtKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQWZ0ZXJJbml0Rm9ybSgpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uRGVzdHJveSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0NyZWF0aW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5iYXNlU2VydmljZS5yb3V0ZXIudXJsLnNwbGl0KCcvJykuZmlsdGVyKHBhdGggPT4gKHBhdGggPT09ICduZXcnKSkubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNFZGl0aW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5iYXNlU2VydmljZS5yb3V0ZXIudXJsLnNwbGl0KCcvJykuZmlsdGVyKHBhdGggPT4gKHBhdGggPT09ICdlZGl0JykpLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgcHVibGljIGlzVmlld2luZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZVNlcnZpY2Uucm91dGVyLnVybC5zcGxpdCgnLycpLmZpbHRlcihwYXRoID0+IChwYXRoID09PSAndmlldycpKS5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0xpc3RpbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VTZXJ2aWNlLnJvdXRlci51cmwuc3BsaXQoJy8nKS5maWx0ZXIocGF0aCA9PiAocGF0aCA9PT0gJ25ldycpIHx8IChwYXRoID09PSAnZWRpdCcpIHx8IChwYXRoID09PSAndmlldycpIHx8IChwYXRoID09PSAnY2xvbmUnKSkubGVuZ3RoID09PSAwO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0Nsb25pbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VTZXJ2aWNlLnJvdXRlci51cmwuc3BsaXQoJy8nKS5maWx0ZXIocGF0aCA9PiAocGF0aCA9PT0gJ2Nsb25lJykpLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgcHVibGljIGhhc1Blcm1pc3Npb24ocGVybWlzc2lvbjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGlmIChTdHJpbmdVdGlsLmlzRW1wdHkocGVybWlzc2lvbikpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0b2tlbjogVG9rZW5EVE88QmFzZVVzZXI+ID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndG9rZW4nKSk7XG4gICAgICAgIHJldHVybiAhIXRva2VuLnVzZXIuYXV0aG9yaXRpZXMuZmluZChhdXRob3JpdHkgPT4gYXV0aG9yaXR5LmF1dGhvcml0eS5tYXRjaChwZXJtaXNzaW9uKSk7XG4gICAgfVxuXG4gICAgcHVibGljIFVVSURJc1ZhbGlkKGlkOiBHSVBJVXVpZCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gVVVJRFV0aWwuaXNWYWxpZChpZCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uSW5pdEZvcm0oKTogdm9pZCB7IH1cblxuICAgIHByb3RlY3RlZCBvbkFmdGVySW5pdEZvcm0oKTogdm9pZCB7IH1cblxuICAgIHByb3RlY3RlZCBvbkRlc3Ryb3koKTogdm9pZCB7IH1cblxuICAgIHByb3RlY3RlZCBnZXRQYXRoKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnBhcmVudC5wYXJlbnQudXJsWzBdLnBhdGh9LyR7dGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5wYXJlbnQudXJsWzBdLnBhdGh9YDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgbmF2aWdhdGVCeVVybChuYXZpZ2F0ZUJ5VXJsOiBzdHJpbmcsIG5hdmlnYXRlOiBhbnlbXSwgc2tpcExvY2F0aW9uQ2hhbmdlOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLmJhc2VTZXJ2aWNlLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKG5hdmlnYXRlQnlVcmwsIHsgc2tpcExvY2F0aW9uQ2hhbmdlOiBza2lwTG9jYXRpb25DaGFuZ2UgfSkudGhlbigoKSA9PiB0aGlzLmJhc2VTZXJ2aWNlLnJvdXRlci5uYXZpZ2F0ZShuYXZpZ2F0ZSkpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhZGRNZXNzYWdlKG1lc3NhZ2U6IE1lc3NhZ2VEVE8pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5iYXNlU2VydmljZS5tYXRTbmFja0Jhci5vcGVuRnJvbUNvbXBvbmVudChBbGVydENvbXBvbmVudCwge1xuICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbjogJ3RvcCcsXG4gICAgICAgICAgICBob3Jpem9udGFsUG9zaXRpb246ICdjZW50ZXInLFxuICAgICAgICAgICAgZHVyYXRpb246IDUwMDAsXG4gICAgICAgICAgICBkYXRhOiBtZXNzYWdlXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhZGRTdWNjZXNzTWVzc2FnZShtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5iYXNlU2VydmljZS5tZXNzYWdlU2VydmljZS5hZGQoe1xuICAgICAgICAgICAgaWNvbjogJ2NoZWNrX2NpcmNsZScsXG4gICAgICAgICAgICB0aXRsZTogJ1N1Y2Vzc28nLFxuICAgICAgICAgICAgbWVzc2FnZTogbWVzc2FnZSxcbiAgICAgICAgICAgIHR5cGU6ICdzdWNjZXNzJ1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYWRkRXJyb3JNZXNzYWdlKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmJhc2VTZXJ2aWNlLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICAgICAgICBpY29uOiAnY2FuY2VsJyxcbiAgICAgICAgICAgIHRpdGxlOiAnRXJybycsXG4gICAgICAgICAgICBtZXNzYWdlOiBtZXNzYWdlLFxuICAgICAgICAgICAgdHlwZTogJ2Vycm9yJ1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYWRkV2FybmluZ01lc3NhZ2UobWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYmFzZVNlcnZpY2UubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgICAgICAgIGljb246ICdlcnJvcicsXG4gICAgICAgICAgICB0aXRsZTogJ0F0ZW7Dp8OjbycsXG4gICAgICAgICAgICBtZXNzYWdlOiBtZXNzYWdlLFxuICAgICAgICAgICAgdHlwZTogJ3dhcm5pbmcnXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhZGRJbmZvTWVzc2FnZShtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5iYXNlU2VydmljZS5tZXNzYWdlU2VydmljZS5hZGQoe1xuICAgICAgICAgICAgaWNvbjogJ2luZm8nLFxuICAgICAgICAgICAgdGl0bGU6ICdJbmZvcm1hw6fDo28nLFxuICAgICAgICAgICAgbWVzc2FnZTogbWVzc2FnZSxcbiAgICAgICAgICAgIHR5cGU6ICdpbmZvJ1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaGFuZGxlRXJyb3IoZXJyb3I6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgaWYgKFN0cmluZyhlcnJvcikuaW5jbHVkZXMoJ1Vua25vd24nKSkge1xuICAgICAgICAgICAgZXJyb3IgPSBuZXcgRXJyb3IoJ09jb3JyZXUgdW0gZXJybyBhbyByZWFsaXphciBlc3NhIG9wZXJhw6fDo28sIHRlbnRlIG5vdmFtZW50ZScpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICBlcnJvciA9IGVycm9yLm1lc3NhZ2U7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hZGRFcnJvck1lc3NhZ2UoZXJyb3IpO1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RXhpc3RJblJvdXRlclBhdGgodmFsdWU6IHN0cmluZywgdmFsaWRhdGVQYXJhbXM6IGJvb2xlYW4gPSBmYWxzZSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB1cmw6IHN0cmluZyA9IHRoaXMuYmFzZVNlcnZpY2Uucm91dGVyLnVybDtcbiAgICAgICAgY29uc3QgcGF0aExpc3Q6IHN0cmluZ1tdID0gdXJsLnNsaWNlKDEsIHVybC5pbmRleE9mKCc/JykgKyAxKS5zcGxpdCgnLycpO1xuICAgICAgICBjb25zdCBwYXJhbWV0ZXJMaXN0OiBzdHJpbmdbXSA9IHVybC5zbGljZSh1cmwuaW5kZXhPZignPycpICsgMSwgdXJsLmxlbmd0aCkuc3BsaXQoJz0nKTtcblxuICAgICAgICBpZiAodmFsaWRhdGVQYXJhbXMpIHtcbiAgICAgICAgICAgIHJldHVybiBwYXJhbWV0ZXJMaXN0LmZpbHRlcihwYXRoID0+IHBhdGgudG9VcHBlckNhc2UoKSA9PT0gdmFsdWUudG9VcHBlckNhc2UoKSkubGVuZ3RoID4gMDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBwYXRoTGlzdC5maWx0ZXIocGF0aCA9PiBwYXRoLnRvVXBwZXJDYXNlKCkgPT09IHZhbHVlLnRvVXBwZXJDYXNlKCkpLmxlbmd0aCA+IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiJdfQ==
@@ -104,16 +104,29 @@ export * from './shared/gipi-components/datepicker/mat-datepicker/datepicker-tog
104
104
  export * from './shared/gipi-components/datepicker/mat-datepicker/month-view';
105
105
  export { MatMultiYearView, yearsPerPage, yearsPerRow } from './shared/gipi-components/datepicker/mat-datepicker/multi-year-view';
106
106
  export * from './shared/gipi-components/datepicker/mat-datepicker/year-view';
107
- // export * from './shared/gipi-components/datepicker/mat-datepicker/shared/datetime/date-adapter';
108
- // export * from './shared/gipi-components/datepicker/mat-datepicker/shared/datetime/date-formats';
109
- // export * from './shared/gipi-components/datepicker/mat-datepicker/shared/datetime/native-date-adapter';
110
- // export * from './shared/gipi-components/datepicker/mat-datepicker/shared/datetime/native-date-formats';
111
- // export * from './shared/gipi-components/datepicker/mat-datepicker/shared/datetime/index';
112
107
  export * from './shared/gipi-components/datepicker/date-range-picker/date-range-picker.component';
113
108
  export * from './shared/gipi-components/datepicker/date-range-picker/shared/max-range/max-range-selection-startegy';
114
109
  export * from './shared/gipi-components/datepicker/date-range-picker/shared/max-range/max-range.directive';
115
110
  export * from './shared/gipi-components/datepicker/date-range-picker/shared/preset-range/preset-range.component';
111
+ // MonthPicker
116
112
  export * from './shared/gipi-components/month-year-picker/calendar-month-year/calendar-month-year.component';
117
113
  export * from './shared/gipi-components/month-year-picker/mont-year-picker.module';
118
114
  export * from './shared/gipi-components/month-year-picker/month-year-picker.component';
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lwaS1jb21wb25lbnRzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdpcGlzaXN0ZW1hcy9uZy1jb3JlLyIsInNvdXJjZXMiOlsiZ2lwaS1jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0VBQWdFLENBQUM7QUFDL0UsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLDRFQUE0RSxDQUFDO0FBQzNGLGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyxvRUFBb0UsQ0FBQztBQUNuRixjQUFjLDBFQUEwRSxDQUFDO0FBQ3pGLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsb0VBQW9FLENBQUM7QUFDbkYsY0FBYyxrRUFBa0UsQ0FBQztBQUNqRixjQUFjLGtFQUFrRSxDQUFDO0FBQ2pGLGNBQWMsd0VBQXdFLENBQUM7QUFDdkYsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLHdFQUF3RSxDQUFDO0FBQ3ZGLGNBQWMsOEVBQThFLENBQUM7QUFDN0YsY0FBYyxpRkFBaUYsQ0FBQztBQUNoRyxjQUFjLDBFQUEwRSxDQUFDO0FBQ3pGLGNBQWMsMEVBQTBFLENBQUM7QUFDekYsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxrRUFBa0UsQ0FBQztBQUNqRixjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLG9EQUFvRCxDQUFDO0FB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T0FBTyxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUNqSSxjQUFjLDhEQUE4RCxDQUFDO0FBRTdFLG1HQUFtRztBQUNuRyxtR0FBbUc7QUFDbkcsMEdBQTBHO0FBQzFHLDBHQUEwRztBQUMxRyw0RkFBNEY7QUFFNUYsY0FBYyxtRkFBbUYsQ0FBQztBQUNsRyxjQUFjLHFHQUFxRyxDQUFDO0FBQ3BILGNBQWMsNEZBQTRGLENBQUM7QUFDM0csY0FBYyxrR0FBa0csQ0FBQztBQUVqSCxjQUFjLDhGQUE4RixDQUFDO0FBQzdHLGNBQWMsb0VBQW9FLENBQUM7QUFDbkYsY0FBYyx3RUFBd0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9hYnN0cmFjdC1mb3JtL2Fic3RyYWN0LWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9hY3Rpb24tcm93L2FjdGlvbi1yb3cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9iYWRnZS9iYWRnZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9jYXJkL2NhcmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kb20vY29ubmVjdGVkLW92ZXJsYXktc2Nyb2xsLWhhbmRsZXInO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2RvbS9kb20taGFuZGxlcic7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvZHJvcGRvd24tbWVudS9kcm9wZG93bi1tZW51LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9leHBhbnNpb24tcGFuZWwvZXhwYW5zaW9uLXBhbmVsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvZmlsZS1kcmFnLWFuZC1kcm9wL2ZpbGUtZHJhZy1hbmQtZHJvcC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2Zvb3Rlci9mb290ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9oZWxwZnVsLXRpcC9oZWxwZnVsLXRpcC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2luZmluaXRlLXNjcm9sbC9pbmZpbml0ZS1zY3JvbGwuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9pbnB1dC1jaGVja2JveC9pbnB1dC1jaGVja2JveC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2lucHV0LWN1cnJlbmN5L2lucHV0LWN1cnJlbmN5LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvaW5wdXQtbW9udGhwaWNrZXIvaW5wdXQtbW9udGhwaWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9pbnB1dC1waG9uZS9pbnB1dC1waG9uZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2lucHV0LXNlbGVjdC1lbnVtL2lucHV0LXNlbGVjdC1lbnVtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvaW5wdXQtc2VsZWN0LWxpc3Rib3gvaW5wdXQtc2VsZWN0LWxpc3Rib3guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9pbnB1dC1zZWxlY3QtcGFnZWQvaW5wdXQtc2VhcmNoL2lucHV0LXNlYXJjaC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2lucHV0LXNlbGVjdC1wYWdlZC9pbnB1dC1zZWxlY3QtcGFnZWQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9pbnB1dC1zZWxlY3QtcmFkaW8vaW5wdXQtc2VsZWN0LXJhZGlvLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvaW5wdXQtc2VsZWN0L2lucHV0LXNlbGVjdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2xheW91dC1ncmlkL2NvbC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2xheW91dC1ncmlkL3Jvdy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2xheW91dC1ncmlkL3NlcnZpY2VzL2JyZWFrcG9pbnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvbGF5b3V0LWdyaWQvc2VydmljZXMvcmVzaXplLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9ub3ZlbHRpZXMvbm92ZWx0aWVzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvb3ZlcmxheS9vdmVybGF5LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvb3ZlcmxheS9zaGFyZWQvb3ZlcmxheS1zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9vdmVybGF5L3NoYXJlZC9vdmVybGF5X29wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL3Bhc3N3b3JkLXJlcXVlcmltZW50cy9wYXNzd29yZC1yZXF1ZXJpbWVudHMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9wb3BvdmVyL3BvcG92ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9wb3BvdmVyL3NoYXJlZC9wb3BvdmVyLWFuaW1hdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL3BvcG92ZXIvc2hhcmVkL3BvcG92ZXItaW50ZXJmYWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvcG9wb3Zlci9zaGFyZWQvcG9wb3Zlci10YXJnZXQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL3BvcG92ZXIvc2hhcmVkL3BvcG92ZXItdHJpZ2dlcic7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvcmFkaW8tZ3JvdXAvcmFkaW8tZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9yYW5nZS1wYWdlL3JhbmdlLXBhZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9yYW5nZS1zbGlkZXIvcmFuZ2Utc2xpZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvc2VsZWN0LWJ1dHRvbi9zZWxlY3QtYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL3NpZGViYXIvY29udGFpbmVyL2NvbnRhaW5lci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL3NpZGViYXIvc2lkZW5hdi9zaWRlbmF2LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvc2xpZGUtdG9nZ2xlL3NsaWRlLXRvZ2dsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL3NwbGl0LWJ1dHRvbi9zcGxpdC1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9zdGVwcGVyL3N0ZXBwZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy90ZW1wbGF0ZS90ZW1wbGF0ZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL3RleHRhcmVhL3RleHRhcmVhLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvdG9vbGJhci90b29sYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvdG9wLW5hdi90b3AtbmF2LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvdXNlci1wcm9maWxlL3VzZXItcHJvZmlsZS5jb21wb25lbnQnO1xuXG4vLyBTZWtlbGV0b25cbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9za2VsZXRvbi9za2VsZXRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL3NrZWxldG9uL3NrZWxldG9uLmRpcmVjdGl2ZSc7XG5cbi8vIFRhYnNcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy90YWJzL3NoYXJlZC9keW5hbWljLXRhYi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL3RhYnMvc2hhcmVkL3RhYi5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvdGFicy90YWItZ3JvdXAvdGFiLWdyb3VwLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvdGFicy90YWIvdGFiLmNvbXBvbmVudCc7XG5cbi8vIFRhYmxlXG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvdGFibGUvY29tcG9uZW50cy90YWJsZS1ib2R5L3RhYmxlLWJvZHkuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy90YWJsZS9jb21wb25lbnRzL3RhYmxlLWZvb3Rlci90YWJsZS1mb290ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy90YWJsZS9jb21wb25lbnRzL3RhYmxlLWhlYWRlci90YWJsZS1oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy90YWJsZS9jb21wb25lbnRzL3RhYmxlLXBhZ2luYXRpb24vc2hhcmVkL3BhZ2luYXRlLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL3RhYmxlL2NvbXBvbmVudHMvdGFibGUtcGFnaW5hdGlvbi9zaGFyZWQvcGFnaW5hdGlvbi1jb250cm9scy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL3RhYmxlL2NvbXBvbmVudHMvdGFibGUtcGFnaW5hdGlvbi9zaGFyZWQvcGFnaW5hdGlvbi1pbnN0YW5jZSc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvdGFibGUvY29tcG9uZW50cy90YWJsZS1wYWdpbmF0aW9uL3NoYXJlZC9wYWdpbmF0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL3RhYmxlL2NvbXBvbmVudHMvdGFibGUtcGFnaW5hdGlvbi90YWJsZS1wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvdGFibGUvY29tcG9uZW50cy90YWJsZS1wcm9ncmVzcy1iYXIvdGFibGUtcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvdGFibGUvbW9kZWxzL3BpcGUtdHJhbnNmb3JtLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy90YWJsZS9tb2RlbHMvc29ydC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvdGFibGUvbW9kZWxzL3NvcnRlZC1jb2x1bW4ubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL3RhYmxlL21vZGVscy90YWJsZS1jb2x1bW4tYnVpbGRlci5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvdGFibGUvbW9kZWxzL3RhYmxlLWNvbHVtbi5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy90YWJsZS90eXBlcy9zb3J0LWRpcmVjdGlvbi50eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy90YWJsZS90eXBlcy9zb3J0LnR5cGUnO1xuXG4vLyBEYXRlcGlja2VyXG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9tYXQtZGF0ZXBpY2tlci9zaGFyZWQvYWRhcHRlci9kYXRlLWFkYXB0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2RhdGVwaWNrZXIvbWF0LWRhdGVwaWNrZXIvc2hhcmVkL2FkYXB0ZXIvZGF0ZS1mb3JtYXRzJztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRlcGlja2VyL21hdC1kYXRlcGlja2VyL3NoYXJlZC9hZGFwdGVyL25hdGl2ZS1kYXRlLWFkYXB0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2RhdGVwaWNrZXIvbWF0LWRhdGVwaWNrZXIvc2hhcmVkL2FkYXB0ZXIvbmF0aXZlLWRhdGUtZm9ybWF0cyc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9tYXQtZGF0ZXBpY2tlci9zaGFyZWQvYWRhcHRlci9wbGF0Zm9ybSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRlcGlja2VyL21hdC1kYXRlcGlja2VyL2NhbGVuZGFyJztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRlcGlja2VyL21hdC1kYXRlcGlja2VyL2NhbGVuZGFyLWJvZHknO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2RhdGVwaWNrZXIvbWF0LWRhdGVwaWNrZXIvZGF0ZS1yYW5nZS1pbnB1dCc7XG5leHBvcnQgeyBNYXRFbmREYXRlLCBNYXRTdGFydERhdGUgfSBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9tYXQtZGF0ZXBpY2tlci9kYXRlLXJhbmdlLWlucHV0LXBhcnRzJztcbmV4cG9ydCB7IE1hdERhdGVSYW5nZVBpY2tlciB9IGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRlcGlja2VyL21hdC1kYXRlcGlja2VyL2RhdGUtcmFuZ2UtcGlja2VyJztcbmV4cG9ydCB7IERlZmF1bHRNYXRDYWxlbmRhclJhbmdlU3RyYXRlZ3ksIE1BVF9EQVRFX1JBTkdFX1NFTEVDVElPTl9TVFJBVEVHWSwgTWF0RGF0ZVJhbmdlU2VsZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9tYXQtZGF0ZXBpY2tlci9kYXRlLXJhbmdlLXNlbGVjdGlvbi1zdHJhdGVneSc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9tYXQtZGF0ZXBpY2tlci9kYXRlLXNlbGVjdGlvbi1tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9tYXQtZGF0ZXBpY2tlci9kYXRlcGlja2VyJztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRlcGlja2VyL21hdC1kYXRlcGlja2VyL2RhdGVwaWNrZXItYW5pbWF0aW9ucyc7XG5leHBvcnQgeyBEYXRlcGlja2VyRHJvcGRvd25Qb3NpdGlvblgsIERhdGVwaWNrZXJEcm9wZG93blBvc2l0aW9uWSwgTUFUX0RBVEVQSUNLRVJfU0NST0xMX1NUUkFURUdZLCBNQVRfREFURVBJQ0tFUl9TQ1JPTExfU1RSQVRFR1lfRkFDVE9SWSwgTUFUX0RBVEVQSUNLRVJfU0NST0xMX1NUUkFURUdZX0ZBQ1RPUllfUFJPVklERVIsIE1hdERhdGVwaWNrZXJDb250ZW50IH0gZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2RhdGVwaWNrZXIvbWF0LWRhdGVwaWNrZXIvZGF0ZXBpY2tlci1iYXNlJztcbmV4cG9ydCB7IE1BVF9EQVRFUElDS0VSX1ZBTElEQVRPUlMsIE1BVF9EQVRFUElDS0VSX1ZBTFVFX0FDQ0VTU09SLCBNYXREYXRlcGlja2VySW5wdXQgfSBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9tYXQtZGF0ZXBpY2tlci9kYXRlcGlja2VyLWlucHV0JztcbmV4cG9ydCB7IERhdGVGaWx0ZXJGbiwgTWF0RGF0ZXBpY2tlcklucHV0RXZlbnQgfSBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9tYXQtZGF0ZXBpY2tlci9kYXRlcGlja2VyLWlucHV0LWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2RhdGVwaWNrZXIvbWF0LWRhdGVwaWNrZXIvZGF0ZXBpY2tlci1pbnRsJztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRlcGlja2VyL21hdC1kYXRlcGlja2VyL2RhdGVwaWNrZXItdG9nZ2xlJztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRlcGlja2VyL21hdC1kYXRlcGlja2VyL21vbnRoLXZpZXcnO1xuZXhwb3J0IHsgTWF0TXVsdGlZZWFyVmlldywgeWVhcnNQZXJQYWdlLCB5ZWFyc1BlclJvdyB9IGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRlcGlja2VyL21hdC1kYXRlcGlja2VyL211bHRpLXllYXItdmlldyc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9tYXQtZGF0ZXBpY2tlci95ZWFyLXZpZXcnO1xuXG4vLyBleHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9tYXQtZGF0ZXBpY2tlci9zaGFyZWQvZGF0ZXRpbWUvZGF0ZS1hZGFwdGVyJztcbi8vIGV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRlcGlja2VyL21hdC1kYXRlcGlja2VyL3NoYXJlZC9kYXRldGltZS9kYXRlLWZvcm1hdHMnO1xuLy8gZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2RhdGVwaWNrZXIvbWF0LWRhdGVwaWNrZXIvc2hhcmVkL2RhdGV0aW1lL25hdGl2ZS1kYXRlLWFkYXB0ZXInO1xuLy8gZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2RhdGVwaWNrZXIvbWF0LWRhdGVwaWNrZXIvc2hhcmVkL2RhdGV0aW1lL25hdGl2ZS1kYXRlLWZvcm1hdHMnO1xuLy8gZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2RhdGVwaWNrZXIvbWF0LWRhdGVwaWNrZXIvc2hhcmVkL2RhdGV0aW1lL2luZGV4JztcblxuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2RhdGVwaWNrZXIvZGF0ZS1yYW5nZS1waWNrZXIvZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRlcGlja2VyL2RhdGUtcmFuZ2UtcGlja2VyL3NoYXJlZC9tYXgtcmFuZ2UvbWF4LXJhbmdlLXNlbGVjdGlvbi1zdGFydGVneSc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9kYXRlLXJhbmdlLXBpY2tlci9zaGFyZWQvbWF4LXJhbmdlL21heC1yYW5nZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2RhdGVwaWNrZXIvZGF0ZS1yYW5nZS1waWNrZXIvc2hhcmVkL3ByZXNldC1yYW5nZS9wcmVzZXQtcmFuZ2UuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL21vbnRoLXllYXItcGlja2VyL2NhbGVuZGFyLW1vbnRoLXllYXIvY2FsZW5kYXItbW9udGgteWVhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL21vbnRoLXllYXItcGlja2VyL21vbnQteWVhci1waWNrZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9tb250aC15ZWFyLXBpY2tlci9tb250aC15ZWFyLXBpY2tlci5jb21wb25lbnQnO1xuXG4iXX0=
115
+ // DateTimePicker
116
+ export * from './shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/adapter.module';
117
+ export * from './shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/datetime-adapter';
118
+ export * from './shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/datetime-formats';
119
+ export * from './shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/native-datetime-adapter';
120
+ export * from './shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/native-datetime-formats';
121
+ export * from './shared/gipi-components/datetime-picker/mat-datetime-picker/calendar';
122
+ export * from './shared/gipi-components/datetime-picker/mat-datetime-picker/calendar-body';
123
+ export * from './shared/gipi-components/datetime-picker/mat-datetime-picker/clock';
124
+ export * from './shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker';
125
+ export * from './shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-filtertype';
126
+ export * from './shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-input';
127
+ export * from './shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-toggle';
128
+ export * from './shared/gipi-components/datetime-picker/mat-datetime-picker/month-view';
129
+ export * from './shared/gipi-components/datetime-picker/mat-datetime-picker/year-view';
130
+ export * from './shared/gipi-components/datetime-picker/datetime-picker.module';
131
+ export * from './shared/gipi-components/datetime-picker/datetime-picker/datetime-picker.component';
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lwaS1jb21wb25lbnRzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdpcGlzaXN0ZW1hcy9uZy1jb3JlLyIsInNvdXJjZXMiOlsiZ2lwaS1jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0VBQWdFLENBQUM7QUFDL0UsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLDRFQUE0RSxDQUFDO0FBQzNGLGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyxvRUFBb0UsQ0FBQztBQUNuRixjQUFjLDBFQUEwRSxDQUFDO0FBQ3pGLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsb0VBQW9FLENBQUM7QUFDbkYsY0FBYyxrRUFBa0UsQ0FBQztBQUNqRixjQUFjLGtFQUFrRSxDQUFDO0FBQ2pGLGNBQWMsd0VBQXdFLENBQUM7QUFDdkYsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLHdFQUF3RSxDQUFDO0FBQ3ZGLGNBQWMsOEVBQThFLENBQUM7QUFDN0YsY0FBYyxpRkFBaUYsQ0FBQztBQUNoRyxjQUFjLDBFQUEwRSxDQUFDO0FBQ3pGLGNBQWMsMEVBQTBFLENBQUM7QUFDekYsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxrRUFBa0UsQ0FBQztBQUNqRixjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLG9EQUFvRCxDQUFDO0FB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T0FBTyxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUNqSSxjQUFjLDhEQUE4RCxDQUFDO0FBRTdFLGNBQWMsbUZBQW1GLENBQUM7QUFDbEcsY0FBYyxxR0FBcUcsQ0FBQztBQUNwSCxjQUFjLDRGQUE0RixDQUFDO0FBQzNHLGNBQWMsa0dBQWtHLENBQUM7QUFFakgsY0FBYztBQUNkLGNBQWMsOEZBQThGLENBQUM7QUFDN0csY0FBYyxvRUFBb0UsQ0FBQztBQUNuRixjQUFjLHdFQUF3RSxDQUFDO0FBRXZGLGlCQUFpQjtBQUNqQixjQUFjLDRGQUE0RixDQUFDO0FBQzNHLGNBQWMsOEZBQThGLENBQUM7QUFDN0csY0FBYyw4RkFBOEYsQ0FBQztBQUM3RyxjQUFjLHFHQUFxRyxDQUFDO0FBQ3BILGNBQWMscUdBQXFHLENBQUM7QUFFcEgsY0FBYyx1RUFBdUUsQ0FBQztBQUN0RixjQUFjLDRFQUE0RSxDQUFDO0FBQzNGLGNBQWMsb0VBQW9FLENBQUM7QUFDbkYsY0FBYyw2RUFBNkUsQ0FBQztBQUM1RixjQUFjLHdGQUF3RixDQUFDO0FBQ3ZHLGNBQWMsbUZBQW1GLENBQUM7QUFDbEcsY0FBYyxvRkFBb0YsQ0FBQztBQUNuRyxjQUFjLHlFQUF5RSxDQUFDO0FBQ3hGLGNBQWMsd0VBQXdFLENBQUM7QUFFdkYsY0FBYyxpRUFBaUUsQ0FBQztBQUNoRixjQUFjLG9GQUFvRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2Fic3RyYWN0LWZvcm0vYWJzdHJhY3QtZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2FjdGlvbi1yb3cvYWN0aW9uLXJvdy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2JhZGdlL2JhZGdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2NhcmQvY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2NvbmZpcm1hdGlvbi1kaWFsb2cvY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2RvbS9jb25uZWN0ZWQtb3ZlcmxheS1zY3JvbGwtaGFuZGxlcic7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvZG9tL2RvbS1oYW5kbGVyJztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kcm9wZG93bi1tZW51L2Ryb3Bkb3duLW1lbnUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2V4cGFuc2lvbi1wYW5lbC9leHBhbnNpb24tcGFuZWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9maWxlLWRyYWctYW5kLWRyb3AvZmlsZS1kcmFnLWFuZC1kcm9wLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2Zvcm0tZmllbGQvZm9ybS1maWVsZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2hlbHBmdWwtdGlwL2hlbHBmdWwtdGlwLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvaW5maW5pdGUtc2Nyb2xsL2luZmluaXRlLXNjcm9sbC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2lucHV0LWNoZWNrYm94L2lucHV0LWNoZWNrYm94LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvaW5wdXQtY3VycmVuY3kvaW5wdXQtY3VycmVuY3kuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9pbnB1dC1tb250aHBpY2tlci9pbnB1dC1tb250aHBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2lucHV0LXBob25lL2lucHV0LXBob25lLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvaW5wdXQtc2VsZWN0LWVudW0vaW5wdXQtc2VsZWN0LWVudW0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9pbnB1dC1zZWxlY3QtbGlzdGJveC9pbnB1dC1zZWxlY3QtbGlzdGJveC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2lucHV0LXNlbGVjdC1wYWdlZC9pbnB1dC1zZWFyY2gvaW5wdXQtc2VhcmNoLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvaW5wdXQtc2VsZWN0LXBhZ2VkL2lucHV0LXNlbGVjdC1wYWdlZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2lucHV0LXNlbGVjdC1yYWRpby9pbnB1dC1zZWxlY3QtcmFkaW8uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9pbnB1dC1zZWxlY3QvaW5wdXQtc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvbGF5b3V0LWdyaWQvY29sLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvbGF5b3V0LWdyaWQvcm93LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvbGF5b3V0LWdyaWQvc2VydmljZXMvYnJlYWtwb2ludC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9sYXlvdXQtZ3JpZC9zZXJ2aWNlcy9yZXNpemUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL25vdmVsdGllcy9ub3ZlbHRpZXMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9vdmVybGF5L292ZXJsYXkuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9vdmVybGF5L3NoYXJlZC9vdmVybGF5LXNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL292ZXJsYXkvc2hhcmVkL292ZXJsYXlfb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvcGFzc3dvcmQtcmVxdWVyaW1lbnRzL3Bhc3N3b3JkLXJlcXVlcmltZW50cy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL3BvcG92ZXIvc2hhcmVkL3BvcG92ZXItYW5pbWF0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvcG9wb3Zlci9zaGFyZWQvcG9wb3Zlci1pbnRlcmZhY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9wb3BvdmVyL3NoYXJlZC9wb3BvdmVyLXRhcmdldCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvcG9wb3Zlci9zaGFyZWQvcG9wb3Zlci10cmlnZ2VyJztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9yYWRpby1ncm91cC9yYWRpby1ncm91cC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL3JhbmdlLXBhZ2UvcmFuZ2UtcGFnZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL3JhbmdlLXNsaWRlci9yYW5nZS1zbGlkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9zZWxlY3QtYnV0dG9uL3NlbGVjdC1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvc2lkZWJhci9jb250YWluZXIvY29udGFpbmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvc2lkZWJhci9zaWRlbmF2L3NpZGVuYXYuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9zbGlkZS10b2dnbGUvc2xpZGUtdG9nZ2xlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvc3BsaXQtYnV0dG9uL3NwbGl0LWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL3RlbXBsYXRlL3RlbXBsYXRlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvdGV4dGFyZWEvdGV4dGFyZWEuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy90b3AtbmF2L3RvcC1uYXYuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy91c2VyLXByb2ZpbGUvdXNlci1wcm9maWxlLmNvbXBvbmVudCc7XG5cbi8vIFNla2VsZXRvblxuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL3NrZWxldG9uL3NrZWxldG9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvc2tlbGV0b24vc2tlbGV0b24uZGlyZWN0aXZlJztcblxuLy8gVGFic1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL3RhYnMvc2hhcmVkL2R5bmFtaWMtdGFiLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvdGFicy9zaGFyZWQvdGFiLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy90YWJzL3RhYi1ncm91cC90YWItZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy90YWJzL3RhYi90YWIuY29tcG9uZW50JztcblxuLy8gVGFibGVcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy90YWJsZS9jb21wb25lbnRzL3RhYmxlLWJvZHkvdGFibGUtYm9keS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL3RhYmxlL2NvbXBvbmVudHMvdGFibGUtZm9vdGVyL3RhYmxlLWZvb3Rlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL3RhYmxlL2NvbXBvbmVudHMvdGFibGUtaGVhZGVyL3RhYmxlLWhlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL3RhYmxlL2NvbXBvbmVudHMvdGFibGUtcGFnaW5hdGlvbi9zaGFyZWQvcGFnaW5hdGUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvdGFibGUvY29tcG9uZW50cy90YWJsZS1wYWdpbmF0aW9uL3NoYXJlZC9wYWdpbmF0aW9uLWNvbnRyb2xzLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvdGFibGUvY29tcG9uZW50cy90YWJsZS1wYWdpbmF0aW9uL3NoYXJlZC9wYWdpbmF0aW9uLWluc3RhbmNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy90YWJsZS9jb21wb25lbnRzL3RhYmxlLXBhZ2luYXRpb24vc2hhcmVkL3BhZ2luYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvdGFibGUvY29tcG9uZW50cy90YWJsZS1wYWdpbmF0aW9uL3RhYmxlLXBhZ2luYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy90YWJsZS9jb21wb25lbnRzL3RhYmxlLXByb2dyZXNzLWJhci90YWJsZS1wcm9ncmVzcy1iYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy90YWJsZS9tb2RlbHMvcGlwZS10cmFuc2Zvcm0ubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL3RhYmxlL21vZGVscy9zb3J0Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy90YWJsZS9tb2RlbHMvc29ydGVkLWNvbHVtbi5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvdGFibGUvbW9kZWxzL3RhYmxlLWNvbHVtbi1idWlsZGVyLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy90YWJsZS9tb2RlbHMvdGFibGUtY29sdW1uLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL3RhYmxlL3R5cGVzL3NvcnQtZGlyZWN0aW9uLnR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL3RhYmxlL3R5cGVzL3NvcnQudHlwZSc7XG5cbi8vIERhdGVwaWNrZXJcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRlcGlja2VyL21hdC1kYXRlcGlja2VyL3NoYXJlZC9hZGFwdGVyL2RhdGUtYWRhcHRlcic7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9tYXQtZGF0ZXBpY2tlci9zaGFyZWQvYWRhcHRlci9kYXRlLWZvcm1hdHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2RhdGVwaWNrZXIvbWF0LWRhdGVwaWNrZXIvc2hhcmVkL2FkYXB0ZXIvbmF0aXZlLWRhdGUtYWRhcHRlcic7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9tYXQtZGF0ZXBpY2tlci9zaGFyZWQvYWRhcHRlci9uYXRpdmUtZGF0ZS1mb3JtYXRzJztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRlcGlja2VyL21hdC1kYXRlcGlja2VyL3NoYXJlZC9hZGFwdGVyL3BsYXRmb3JtJztcblxuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2RhdGVwaWNrZXIvbWF0LWRhdGVwaWNrZXIvY2FsZW5kYXInO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2RhdGVwaWNrZXIvbWF0LWRhdGVwaWNrZXIvY2FsZW5kYXItYm9keSc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9tYXQtZGF0ZXBpY2tlci9kYXRlLXJhbmdlLWlucHV0JztcbmV4cG9ydCB7IE1hdEVuZERhdGUsIE1hdFN0YXJ0RGF0ZSB9IGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRlcGlja2VyL21hdC1kYXRlcGlja2VyL2RhdGUtcmFuZ2UtaW5wdXQtcGFydHMnO1xuZXhwb3J0IHsgTWF0RGF0ZVJhbmdlUGlja2VyIH0gZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2RhdGVwaWNrZXIvbWF0LWRhdGVwaWNrZXIvZGF0ZS1yYW5nZS1waWNrZXInO1xuZXhwb3J0IHsgRGVmYXVsdE1hdENhbGVuZGFyUmFuZ2VTdHJhdGVneSwgTUFUX0RBVEVfUkFOR0VfU0VMRUNUSU9OX1NUUkFURUdZLCBNYXREYXRlUmFuZ2VTZWxlY3Rpb25TdHJhdGVneSB9IGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRlcGlja2VyL21hdC1kYXRlcGlja2VyL2RhdGUtcmFuZ2Utc2VsZWN0aW9uLXN0cmF0ZWd5JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRlcGlja2VyL21hdC1kYXRlcGlja2VyL2RhdGUtc2VsZWN0aW9uLW1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRlcGlja2VyL21hdC1kYXRlcGlja2VyL2RhdGVwaWNrZXInO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2RhdGVwaWNrZXIvbWF0LWRhdGVwaWNrZXIvZGF0ZXBpY2tlci1hbmltYXRpb25zJztcbmV4cG9ydCB7IERhdGVwaWNrZXJEcm9wZG93blBvc2l0aW9uWCwgRGF0ZXBpY2tlckRyb3Bkb3duUG9zaXRpb25ZLCBNQVRfREFURVBJQ0tFUl9TQ1JPTExfU1RSQVRFR1ksIE1BVF9EQVRFUElDS0VSX1NDUk9MTF9TVFJBVEVHWV9GQUNUT1JZLCBNQVRfREFURVBJQ0tFUl9TQ1JPTExfU1RSQVRFR1lfRkFDVE9SWV9QUk9WSURFUiwgTWF0RGF0ZXBpY2tlckNvbnRlbnQgfSBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9tYXQtZGF0ZXBpY2tlci9kYXRlcGlja2VyLWJhc2UnO1xuZXhwb3J0IHsgTUFUX0RBVEVQSUNLRVJfVkFMSURBVE9SUywgTUFUX0RBVEVQSUNLRVJfVkFMVUVfQUNDRVNTT1IsIE1hdERhdGVwaWNrZXJJbnB1dCB9IGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRlcGlja2VyL21hdC1kYXRlcGlja2VyL2RhdGVwaWNrZXItaW5wdXQnO1xuZXhwb3J0IHsgRGF0ZUZpbHRlckZuLCBNYXREYXRlcGlja2VySW5wdXRFdmVudCB9IGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRlcGlja2VyL21hdC1kYXRlcGlja2VyL2RhdGVwaWNrZXItaW5wdXQtYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9tYXQtZGF0ZXBpY2tlci9kYXRlcGlja2VyLWludGwnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2RhdGVwaWNrZXIvbWF0LWRhdGVwaWNrZXIvZGF0ZXBpY2tlci10b2dnbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2RhdGVwaWNrZXIvbWF0LWRhdGVwaWNrZXIvbW9udGgtdmlldyc7XG5leHBvcnQgeyBNYXRNdWx0aVllYXJWaWV3LCB5ZWFyc1BlclBhZ2UsIHllYXJzUGVyUm93IH0gZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2RhdGVwaWNrZXIvbWF0LWRhdGVwaWNrZXIvbXVsdGkteWVhci12aWV3JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRlcGlja2VyL21hdC1kYXRlcGlja2VyL3llYXItdmlldyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRlcGlja2VyL2RhdGUtcmFuZ2UtcGlja2VyL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9kYXRlLXJhbmdlLXBpY2tlci9zaGFyZWQvbWF4LXJhbmdlL21heC1yYW5nZS1zZWxlY3Rpb24tc3RhcnRlZ3knO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2RhdGVwaWNrZXIvZGF0ZS1yYW5nZS1waWNrZXIvc2hhcmVkL21heC1yYW5nZS9tYXgtcmFuZ2UuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRlcGlja2VyL2RhdGUtcmFuZ2UtcGlja2VyL3NoYXJlZC9wcmVzZXQtcmFuZ2UvcHJlc2V0LXJhbmdlLmNvbXBvbmVudCc7XG5cbi8vIE1vbnRoUGlja2VyXG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvbW9udGgteWVhci1waWNrZXIvY2FsZW5kYXItbW9udGgteWVhci9jYWxlbmRhci1tb250aC15ZWFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvbW9udGgteWVhci1waWNrZXIvbW9udC15ZWFyLXBpY2tlci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL21vbnRoLXllYXItcGlja2VyL21vbnRoLXllYXItcGlja2VyLmNvbXBvbmVudCc7XG5cbi8vIERhdGVUaW1lUGlja2VyXG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvZGF0ZXRpbWUtcGlja2VyL21hdC1kYXRldGltZS1waWNrZXIvc2hhcmVkL2FkYXB0ZXIvYWRhcHRlci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2RhdGV0aW1lLXBpY2tlci9tYXQtZGF0ZXRpbWUtcGlja2VyL3NoYXJlZC9hZGFwdGVyL2RhdGV0aW1lLWFkYXB0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2RhdGV0aW1lLXBpY2tlci9tYXQtZGF0ZXRpbWUtcGlja2VyL3NoYXJlZC9hZGFwdGVyL2RhdGV0aW1lLWZvcm1hdHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2RhdGV0aW1lLXBpY2tlci9tYXQtZGF0ZXRpbWUtcGlja2VyL3NoYXJlZC9hZGFwdGVyL25hdGl2ZS1kYXRldGltZS1hZGFwdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRldGltZS1waWNrZXIvbWF0LWRhdGV0aW1lLXBpY2tlci9zaGFyZWQvYWRhcHRlci9uYXRpdmUtZGF0ZXRpbWUtZm9ybWF0cyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRldGltZS1waWNrZXIvbWF0LWRhdGV0aW1lLXBpY2tlci9jYWxlbmRhcic7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvZGF0ZXRpbWUtcGlja2VyL21hdC1kYXRldGltZS1waWNrZXIvY2FsZW5kYXItYm9keSc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvZGF0ZXRpbWUtcGlja2VyL21hdC1kYXRldGltZS1waWNrZXIvY2xvY2snO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2RhdGV0aW1lLXBpY2tlci9tYXQtZGF0ZXRpbWUtcGlja2VyL2RhdGV0aW1lcGlja2VyJztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRldGltZS1waWNrZXIvbWF0LWRhdGV0aW1lLXBpY2tlci9kYXRldGltZXBpY2tlci1maWx0ZXJ0eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRldGltZS1waWNrZXIvbWF0LWRhdGV0aW1lLXBpY2tlci9kYXRldGltZXBpY2tlci1pbnB1dCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvZGF0ZXRpbWUtcGlja2VyL21hdC1kYXRldGltZS1waWNrZXIvZGF0ZXRpbWVwaWNrZXItdG9nZ2xlJztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRldGltZS1waWNrZXIvbWF0LWRhdGV0aW1lLXBpY2tlci9tb250aC12aWV3JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRldGltZS1waWNrZXIvbWF0LWRhdGV0aW1lLXBpY2tlci95ZWFyLXZpZXcnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvZGF0ZXRpbWUtcGlja2VyL2RhdGV0aW1lLXBpY2tlci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2RhdGV0aW1lLXBpY2tlci9kYXRldGltZS1waWNrZXIvZGF0ZXRpbWUtcGlja2VyLmNvbXBvbmVudCc7XG5cbiJdfQ==
@@ -16,6 +16,8 @@ export { MAT_CALENDAR_RANGE_STRATEGY_PROVIDER as ɵc, MAT_CALENDAR_RANGE_STRATEG
16
16
  export { MatDatepickerBase as ɵd } from './shared/gipi-components/datepicker/mat-datepicker/datepicker-base';
17
17
  export { MAT_FORM_FIELD as ɵe } from './shared/gipi-components/datepicker/mat-datepicker/datepicker-input';
18
18
  export { MatDatepickerInputBase as ɵf } from './shared/gipi-components/datepicker/mat-datepicker/datepicker-input-base';
19
+ export { slideCalendar as ɵs } from './shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-animations';
20
+ export { GIPIDatetimepickerMultiYearViewComponent as ɵt } from './shared/gipi-components/datetime-picker/mat-datetime-picker/multi-year-view';
19
21
  export { GIPIFileDragAndDropDirective as ɵi } from './shared/gipi-components/file-drag-and-drop/shared/file-drag-and-drop.directive';
20
22
  export { MaterialModule as ɵq } from './shared/material.module';
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lwaXNpc3RlbWFzLW5nLWNvcmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ2lwaXNpc3RlbWFzL25nLWNvcmUvIiwic291cmNlcyI6WyJnaXBpc2lzdGVtYXMtbmctY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFDLGtDQUFrQyxJQUFJLEVBQUUsRUFBK0IsTUFBTSxnRUFBZ0UsQ0FBQztBQUN0SixPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLE1BQU0saURBQWlELENBQUM7QUFDeEYsT0FBTyxFQUFDLGtDQUFrQyxJQUFJLEVBQUUsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQ3BILE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUNsRixPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDbEYsT0FBTyxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUN4RixPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0scUVBQXFFLENBQUM7QUFDOUcsT0FBTyxFQUFDLDJCQUEyQixJQUFJLEVBQUUsRUFBQyxNQUFNLDJFQUEyRSxDQUFDO0FBQzVILE9BQU8sRUFBQyxvQ0FBb0MsSUFBSSxFQUFFLEVBQUMsNENBQTRDLElBQUksRUFBRSxFQUFDLE1BQU0sa0ZBQWtGLENBQUM7QUFDL0wsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLG9FQUFvRSxDQUFDO0FBQzNHLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0scUVBQXFFLENBQUM7QUFDekcsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLDBFQUEwRSxDQUFDO0FBQ3RILE9BQU8sRUFBQyw0QkFBNEIsSUFBSSxFQUFFLEVBQUMsTUFBTSxpRkFBaUYsQ0FBQztBQUNuSSxPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuXG5leHBvcnQge0dJUElOZ0NvbmZpZyBhcyDJtWd9IGZyb20gJy4vc2hhcmVkL2FwaS9naXBpLW5nLWNvbmZpZyc7XG5leHBvcnQge0lUU1NfU0VMRUNUX1NFQVJDSF9ERUZBVUxUX09QVElPTlMgYXMgybVvLEl0c3NTZWxlY3RTZWFyY2hPcHRpb25zIGFzIMm1cH0gZnJvbSAnLi9zaGFyZWQvY29tcG9uZW50cy9zZWxlY3QtZW50aXR5LXBhZ2VkL3NoYXJlZC9kZWZhdWx0LW9wdGlvbnMnO1xuZXhwb3J0IHtUZXh0YXJlYUNvbXBvbmVudCBhcyDJtWp9IGZyb20gJy4vc2hhcmVkL2NvbXBvbmVudHMvdGV4dGFyZWEvdGV4dGFyZWEuY29tcG9uZW50JztcbmV4cG9ydCB7SW5wdXRTZWxlY3RJbmZpbml0ZVNjcm9sbERpcmVjdGl2ZSBhcyDJtW59IGZyb20gJy4vc2hhcmVkL2RpcmVjdGl2ZXMvaW5wdXQtc2VsZWN0LWluZmluaXRlLXNjcm9sbC5kaXJlY3RpdmUnO1xuZXhwb3J0IHtMb3dlckNhc2VEaXJlY3RpdmUgYXMgybVsfSBmcm9tICcuL3NoYXJlZC9kaXJlY3RpdmVzL2xvd2VyLWNhc2UuZGlyZWN0aXZlJztcbmV4cG9ydCB7U3BhY2VEcm9wRGlyZWN0aXZlIGFzIMm1bX0gZnJvbSAnLi9zaGFyZWQvZGlyZWN0aXZlcy9zcGFjZS1kcm9wLmRpcmVjdGl2ZSc7XG5leHBvcnQge1VwcGVyQ2FzZURpcmVjdGl2ZSBhcyDJtWt9IGZyb20gJy4vc2hhcmVkL2RpcmVjdGl2ZXMvdXBwZXItY2FzZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHtHSVBJQ2hpcHNDb21wb25lbnQgYXMgybVofSBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvY2hpcHMvY2hpcHMuY29tcG9uZW50JztcbmV4cG9ydCB7RGF0ZXBpY2tlckNvbXBvbmVudCBhcyDJtXJ9IGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0IHtNQVRfREFURV9SQU5HRV9JTlBVVF9QQVJFTlQgYXMgybVhfSBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9tYXQtZGF0ZXBpY2tlci9kYXRlLXJhbmdlLWlucHV0LXBhcnRzJztcbmV4cG9ydCB7TUFUX0NBTEVOREFSX1JBTkdFX1NUUkFURUdZX1BST1ZJREVSIGFzIMm1YyxNQVRfQ0FMRU5EQVJfUkFOR0VfU1RSQVRFR1lfUFJPVklERVJfRkFDVE9SWSBhcyDJtWJ9IGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRlcGlja2VyL21hdC1kYXRlcGlja2VyL2RhdGUtcmFuZ2Utc2VsZWN0aW9uLXN0cmF0ZWd5JztcbmV4cG9ydCB7TWF0RGF0ZXBpY2tlckJhc2UgYXMgybVkfSBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9tYXQtZGF0ZXBpY2tlci9kYXRlcGlja2VyLWJhc2UnO1xuZXhwb3J0IHtNQVRfRk9STV9GSUVMRCBhcyDJtWV9IGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRlcGlja2VyL21hdC1kYXRlcGlja2VyL2RhdGVwaWNrZXItaW5wdXQnO1xuZXhwb3J0IHtNYXREYXRlcGlja2VySW5wdXRCYXNlIGFzIMm1Zn0gZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2RhdGVwaWNrZXIvbWF0LWRhdGVwaWNrZXIvZGF0ZXBpY2tlci1pbnB1dC1iYXNlJztcbmV4cG9ydCB7R0lQSUZpbGVEcmFnQW5kRHJvcERpcmVjdGl2ZSBhcyDJtWl9IGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9maWxlLWRyYWctYW5kLWRyb3Avc2hhcmVkL2ZpbGUtZHJhZy1hbmQtZHJvcC5kaXJlY3RpdmUnO1xuZXhwb3J0IHtNYXRlcmlhbE1vZHVsZSBhcyDJtXF9IGZyb20gJy4vc2hhcmVkL21hdGVyaWFsLm1vZHVsZSc7Il19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lwaXNpc3RlbWFzLW5nLWNvcmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ2lwaXNpc3RlbWFzL25nLWNvcmUvIiwic291cmNlcyI6WyJnaXBpc2lzdGVtYXMtbmctY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFDLGtDQUFrQyxJQUFJLEVBQUUsRUFBK0IsTUFBTSxnRUFBZ0UsQ0FBQztBQUN0SixPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLE1BQU0saURBQWlELENBQUM7QUFDeEYsT0FBTyxFQUFDLGtDQUFrQyxJQUFJLEVBQUUsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQ3BILE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUNsRixPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDbEYsT0FBTyxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUN4RixPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0scUVBQXFFLENBQUM7QUFDOUcsT0FBTyxFQUFDLDJCQUEyQixJQUFJLEVBQUUsRUFBQyxNQUFNLDJFQUEyRSxDQUFDO0FBQzVILE9BQU8sRUFBQyxvQ0FBb0MsSUFBSSxFQUFFLEVBQUMsNENBQTRDLElBQUksRUFBRSxFQUFDLE1BQU0sa0ZBQWtGLENBQUM7QUFDL0wsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLG9FQUFvRSxDQUFDO0FBQzNHLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0scUVBQXFFLENBQUM7QUFDekcsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLDBFQUEwRSxDQUFDO0FBQ3RILE9BQU8sRUFBQyxhQUFhLElBQUksRUFBRSxFQUFDLE1BQU0sd0ZBQXdGLENBQUM7QUFDM0gsT0FBTyxFQUFDLHdDQUF3QyxJQUFJLEVBQUUsRUFBQyxNQUFNLDhFQUE4RSxDQUFDO0FBQzVJLE9BQU8sRUFBQyw0QkFBNEIsSUFBSSxFQUFFLEVBQUMsTUFBTSxpRkFBaUYsQ0FBQztBQUNuSSxPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuXG5leHBvcnQge0dJUElOZ0NvbmZpZyBhcyDJtWd9IGZyb20gJy4vc2hhcmVkL2FwaS9naXBpLW5nLWNvbmZpZyc7XG5leHBvcnQge0lUU1NfU0VMRUNUX1NFQVJDSF9ERUZBVUxUX09QVElPTlMgYXMgybVvLEl0c3NTZWxlY3RTZWFyY2hPcHRpb25zIGFzIMm1cH0gZnJvbSAnLi9zaGFyZWQvY29tcG9uZW50cy9zZWxlY3QtZW50aXR5LXBhZ2VkL3NoYXJlZC9kZWZhdWx0LW9wdGlvbnMnO1xuZXhwb3J0IHtUZXh0YXJlYUNvbXBvbmVudCBhcyDJtWp9IGZyb20gJy4vc2hhcmVkL2NvbXBvbmVudHMvdGV4dGFyZWEvdGV4dGFyZWEuY29tcG9uZW50JztcbmV4cG9ydCB7SW5wdXRTZWxlY3RJbmZpbml0ZVNjcm9sbERpcmVjdGl2ZSBhcyDJtW59IGZyb20gJy4vc2hhcmVkL2RpcmVjdGl2ZXMvaW5wdXQtc2VsZWN0LWluZmluaXRlLXNjcm9sbC5kaXJlY3RpdmUnO1xuZXhwb3J0IHtMb3dlckNhc2VEaXJlY3RpdmUgYXMgybVsfSBmcm9tICcuL3NoYXJlZC9kaXJlY3RpdmVzL2xvd2VyLWNhc2UuZGlyZWN0aXZlJztcbmV4cG9ydCB7U3BhY2VEcm9wRGlyZWN0aXZlIGFzIMm1bX0gZnJvbSAnLi9zaGFyZWQvZGlyZWN0aXZlcy9zcGFjZS1kcm9wLmRpcmVjdGl2ZSc7XG5leHBvcnQge1VwcGVyQ2FzZURpcmVjdGl2ZSBhcyDJtWt9IGZyb20gJy4vc2hhcmVkL2RpcmVjdGl2ZXMvdXBwZXItY2FzZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHtHSVBJQ2hpcHNDb21wb25lbnQgYXMgybVofSBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvY2hpcHMvY2hpcHMuY29tcG9uZW50JztcbmV4cG9ydCB7RGF0ZXBpY2tlckNvbXBvbmVudCBhcyDJtXJ9IGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0IHtNQVRfREFURV9SQU5HRV9JTlBVVF9QQVJFTlQgYXMgybVhfSBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9tYXQtZGF0ZXBpY2tlci9kYXRlLXJhbmdlLWlucHV0LXBhcnRzJztcbmV4cG9ydCB7TUFUX0NBTEVOREFSX1JBTkdFX1NUUkFURUdZX1BST1ZJREVSIGFzIMm1YyxNQVRfQ0FMRU5EQVJfUkFOR0VfU1RSQVRFR1lfUFJPVklERVJfRkFDVE9SWSBhcyDJtWJ9IGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRlcGlja2VyL21hdC1kYXRlcGlja2VyL2RhdGUtcmFuZ2Utc2VsZWN0aW9uLXN0cmF0ZWd5JztcbmV4cG9ydCB7TWF0RGF0ZXBpY2tlckJhc2UgYXMgybVkfSBmcm9tICcuL3NoYXJlZC9naXBpLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9tYXQtZGF0ZXBpY2tlci9kYXRlcGlja2VyLWJhc2UnO1xuZXhwb3J0IHtNQVRfRk9STV9GSUVMRCBhcyDJtWV9IGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRlcGlja2VyL21hdC1kYXRlcGlja2VyL2RhdGVwaWNrZXItaW5wdXQnO1xuZXhwb3J0IHtNYXREYXRlcGlja2VySW5wdXRCYXNlIGFzIMm1Zn0gZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2RhdGVwaWNrZXIvbWF0LWRhdGVwaWNrZXIvZGF0ZXBpY2tlci1pbnB1dC1iYXNlJztcbmV4cG9ydCB7c2xpZGVDYWxlbmRhciBhcyDJtXN9IGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRldGltZS1waWNrZXIvbWF0LWRhdGV0aW1lLXBpY2tlci9kYXRldGltZXBpY2tlci1hbmltYXRpb25zJztcbmV4cG9ydCB7R0lQSURhdGV0aW1lcGlja2VyTXVsdGlZZWFyVmlld0NvbXBvbmVudCBhcyDJtXR9IGZyb20gJy4vc2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRldGltZS1waWNrZXIvbWF0LWRhdGV0aW1lLXBpY2tlci9tdWx0aS15ZWFyLXZpZXcnO1xuZXhwb3J0IHtHSVBJRmlsZURyYWdBbmREcm9wRGlyZWN0aXZlIGFzIMm1aX0gZnJvbSAnLi9zaGFyZWQvZ2lwaS1jb21wb25lbnRzL2ZpbGUtZHJhZy1hbmQtZHJvcC9zaGFyZWQvZmlsZS1kcmFnLWFuZC1kcm9wLmRpcmVjdGl2ZSc7XG5leHBvcnQge01hdGVyaWFsTW9kdWxlIGFzIMm1cX0gZnJvbSAnLi9zaGFyZWQvbWF0ZXJpYWwubW9kdWxlJzsiXX0=
@@ -101,11 +101,11 @@ var ButtonComponent = /** @class */ (function () {
101
101
  ButtonComponent = __decorate([
102
102
  Component({
103
103
  selector: 'itss-button',
104
- template: "<button #button\n mat-raised-button\n *ngIf=\"type === 'raised'\"\n [color]=\"color\"\n [matBadge]=\"badge\"\n [matBadgeColor]=\"badgeColor\"\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltip\"\n fxFlex\n (click)=\"onClickButton($event)\">\n <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\">\n </mat-icon>\n <span>\n {{ label }}\n </span>\n <mat-icon *ngIf=\"rightIcon\">\n {{ rightIcon }}\n </mat-icon>\n</button>\n\n<button #button\n mat-stroked-button\n *ngIf=\"type === 'stroked'\"\n [color]=\"color\"\n [matBadge]=\"badge\"\n [matBadgeColor]=\"badgeColor\"\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltip\"\n fxFlex\n (click)=\"onClickButton($event)\">\n <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\">\n </mat-icon>\n <span>\n {{ label }}\n </span>\n</button>\n\n<button #button\n mat-icon-button\n *ngIf=\"type === 'icon'\"\n [color]=\"color\"\n [matBadge]=\"badge\"\n [matBadgeColor]=\"badgeColor\"\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltip\"\n fxFlex\n (click)=\"onClickButton($event)\">\n <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\">\n </mat-icon>\n <span>\n {{ label }}\n </span>\n</button>\n\n<button #button\n [matMenuTriggerFor]=\"menu\"\n mat-button\n *ngIf=\"type === 'menu'\"\n [color]=\"color\"\n [matBadge]=\"badge\"\n [matBadgeColor]=\"badgeColor\"\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltip\"\n fxFlex\n (click)=\"onClickButton($event)\">\n <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\">\n </mat-icon>\n <span>\n {{ label }}\n </span>\n</button>\n\n<button #button\n mat-raised-button\n *ngIf=\"type === 'spinner'\"\n [color]=\"color\"\n [disabled]=\"loading || disabled\"\n fxFlex\n (click)=\"onClickButton($event)\">\n <mat-icon *ngIf=\"icon && !loading\">\n {{ icon }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\">\n </mat-icon>\n <mat-icon *ngIf=\"loading\">\n <mat-spinner diameter=\"20\"> </mat-spinner>\n </mat-icon>\n <span>\n {{ label }}\n </span>\n</button>\n\n<button #button\n mat-button\n *ngIf=\"!type\"\n [color]=\"color\"\n [matBadge]=\"badge\"\n [matBadgeColor]=\"badgeColor\"\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltip\"\n fxFlex\n (click)=\"onClickButton($event)\">\n <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\">\n </mat-icon>\n <span>\n {{ label }}\n </span>\n</button>\n\n<button #button\n mat-button\n *ngIf=\"type === 'popover'\"\n [color]=\"color\"\n [matBadge]=\"badge\"\n [matBadgeColor]=\"badgeColor\"\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltip\"\n [mdePopoverTriggerFor]=\"popover\"\n mdePopoverTriggerOn=\"click\"\n #popoverTrigger=\"mdePopoverTrigger\"\n fxFlex\n (click)=\"onClickButton($event)\">\n <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\">\n </mat-icon>\n <span>\n {{ label }}\n </span>\n</button>\n\n<button #button\n mat-icon-button\n *ngIf=\"type === 'popover-icon'\"\n [color]=\"color\"\n [matBadge]=\"badge\"\n [matBadgeColor]=\"badgeColor\"\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltip\"\n [mdePopoverTriggerFor]=\"popover\"\n mdePopoverTriggerOn=\"click\"\n #popoverTrigger=\"mdePopoverTrigger\"\n fxFlex\n (click)=\"onClickButton($event)\">\n <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\">\n </mat-icon>\n</button>\n<mde-popover #popover=\"mdePopover\"\n [mdePopoverOverlapTrigger]=\"false\"\n [mdePopoverCloseOnClick]=\"false\"\n [mdeFocusTrapEnabled]=\"false\"\n [mdeFocusTrapAutoCaptureEnabled]=\"false\">\n <mat-card [ngClass]=\"styleClassPopover\"\n class=\"button-popover\">\n <mat-card-content>\n <ng-template [ngTemplateOutlet]=\"popoverRef\"></ng-template>\n </mat-card-content>\n </mat-card>\n</mde-popover>\n",
104
+ template: "<button #button\n mat-raised-button\n *ngIf=\"type === 'raised'\"\n [color]=\"color\"\n [matBadge]=\"badge\"\n [matBadgeColor]=\"badgeColor\"\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltip\"\n matTooltipClass=\"mattooltip-line-break\"\n fxFlex\n (click)=\"onClickButton($event)\">\n <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\">\n </mat-icon>\n <span>\n {{ label }}\n </span>\n <mat-icon *ngIf=\"rightIcon\">\n {{ rightIcon }}\n </mat-icon>\n</button>\n\n<button #button\n mat-stroked-button\n *ngIf=\"type === 'stroked'\"\n [color]=\"color\"\n [matBadge]=\"badge\"\n [matBadgeColor]=\"badgeColor\"\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltip\"\n matTooltipClass=\"mattooltip-line-break\"\n fxFlex\n (click)=\"onClickButton($event)\">\n <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\">\n </mat-icon>\n <span>\n {{ label }}\n </span>\n</button>\n\n<button #button\n mat-icon-button\n *ngIf=\"type === 'icon'\"\n [color]=\"color\"\n [matBadge]=\"badge\"\n [matBadgeColor]=\"badgeColor\"\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltip\"\n matTooltipClass=\"mattooltip-line-break\"\n fxFlex\n (click)=\"onClickButton($event)\">\n <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\">\n </mat-icon>\n <span>\n {{ label }}\n </span>\n</button>\n\n<button #button\n [matMenuTriggerFor]=\"menu\"\n mat-button\n *ngIf=\"type === 'menu'\"\n [color]=\"color\"\n [matBadge]=\"badge\"\n [matBadgeColor]=\"badgeColor\"\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltip\"\n matTooltipClass=\"mattooltip-line-break\"\n fxFlex\n (click)=\"onClickButton($event)\">\n <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\">\n </mat-icon>\n <span>\n {{ label }}\n </span>\n</button>\n\n<button #button\n mat-raised-button\n *ngIf=\"type === 'spinner'\"\n [color]=\"color\"\n [disabled]=\"loading || disabled\"\n fxFlex\n (click)=\"onClickButton($event)\">\n <mat-icon *ngIf=\"icon && !loading\">\n {{ icon }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\">\n </mat-icon>\n <mat-icon *ngIf=\"loading\">\n <mat-spinner diameter=\"20\"> </mat-spinner>\n </mat-icon>\n <span>\n {{ label }}\n </span>\n</button>\n\n<button #button\n mat-button\n *ngIf=\"!type\"\n [color]=\"color\"\n [matBadge]=\"badge\"\n [matBadgeColor]=\"badgeColor\"\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltip\"\n matTooltipClass=\"mattooltip-line-break\"\n fxFlex\n (click)=\"onClickButton($event)\">\n <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\">\n </mat-icon>\n <span>\n {{ label }}\n </span>\n</button>\n\n<button #button\n mat-button\n *ngIf=\"type === 'popover'\"\n [color]=\"color\"\n [matBadge]=\"badge\"\n [matBadgeColor]=\"badgeColor\"\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltip\"\n matTooltipClass=\"mattooltip-line-break\"\n [mdePopoverTriggerFor]=\"popover\"\n mdePopoverTriggerOn=\"click\"\n #popoverTrigger=\"mdePopoverTrigger\"\n fxFlex\n (click)=\"onClickButton($event)\">\n <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\">\n </mat-icon>\n <span>\n {{ label }}\n </span>\n</button>\n\n<button #button\n mat-icon-button\n *ngIf=\"type === 'popover-icon'\"\n [color]=\"color\"\n [matBadge]=\"badge\"\n [matBadgeColor]=\"badgeColor\"\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltip\"\n matTooltipClass=\"mattooltip-line-break\"\n [mdePopoverTriggerFor]=\"popover\"\n mdePopoverTriggerOn=\"click\"\n #popoverTrigger=\"mdePopoverTrigger\"\n fxFlex\n (click)=\"onClickButton($event)\">\n <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\">\n </mat-icon>\n</button>\n<mde-popover #popover=\"mdePopover\"\n [mdePopoverOverlapTrigger]=\"false\"\n [mdePopoverCloseOnClick]=\"false\"\n [mdeFocusTrapEnabled]=\"false\"\n [mdeFocusTrapAutoCaptureEnabled]=\"false\">\n <mat-card [ngClass]=\"styleClassPopover\"\n class=\"button-popover\">\n <mat-card-content>\n <ng-template [ngTemplateOutlet]=\"popoverRef\"></ng-template>\n </mat-card-content>\n </mat-card>\n</mde-popover>\n",
105
105
  styles: [":host button:disabled{cursor:not-allowed!important}:host button:disabled ::ng-deep .mat-button-wrapper{pointer-events:none!important}"]
106
106
  })
107
107
  ], ButtonComponent);
108
108
  return ButtonComponent;
109
109
  }());
110
110
  export { ButtonComponent };
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbInNoYXJlZC9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqSSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDNUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFPM0Q7SUFBQTtRQWdCYSxVQUFLLEdBQVcsU0FBUyxDQUFDO1FBYzFCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFekIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUUxQixpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUluQyxnREFBZ0Q7UUFDL0IsWUFBTyxHQUE2QixJQUFJLFlBQVksQ0FBYSxJQUFJLENBQUMsQ0FBQztJQWM1RixDQUFDO0lBWkcsa0NBQVEsR0FBUjtJQUNBLENBQUM7SUFFRCx1Q0FBYSxHQUFiLFVBQWMsS0FBaUI7UUFDM0IsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDL0IsT0FBTztTQUNWO2FBQU07WUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBakQyQztRQUEzQyxZQUFZLENBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDO2tDQUFhLFdBQVc7dURBQU07SUFFekI7UUFBL0MsU0FBUyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDO2tDQUFpQixpQkFBaUI7MkRBQUM7SUFFeEI7UUFBekQsU0FBUyxDQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDO2tDQUFjLFVBQVU7d0RBQUM7SUFFekU7UUFBUixLQUFLLEVBQUU7O2tEQUFlO0lBRWQ7UUFBUixLQUFLLEVBQUU7O2lEQUFjO0lBRWI7UUFBUixLQUFLLEVBQUU7O3NEQUFtQjtJQUVsQjtRQUFSLEtBQUssRUFBRTs7b0RBQWlCO0lBRWhCO1FBQVIsS0FBSyxFQUFFOztrREFBMkI7SUFFMUI7UUFBUixLQUFLLEVBQUU7O2lEQUF1RjtJQUV0RjtRQUFSLEtBQUssRUFBRTtrQ0FBTyxPQUFPO2lEQUFDO0lBRWQ7UUFBUixLQUFLLEVBQUU7O2tEQUFlO0lBRWQ7UUFBUixLQUFLLEVBQUU7O3VEQUFvQjtJQUVuQjtRQUFSLEtBQUssRUFBRTs7cURBQW1CO0lBRWxCO1FBQVIsS0FBSyxFQUFFOztvREFBaUI7SUFFaEI7UUFBUixLQUFLLEVBQUU7O29EQUEwQjtJQUV6QjtRQUFSLEtBQUssRUFBRTs7cURBQTJCO0lBRTFCO1FBQVIsS0FBSyxFQUFFOzt5REFBMkI7SUFFMUI7UUFBUixLQUFLLEVBQUU7OzhEQUEyQjtJQUdsQjtRQUFoQixNQUFNLENBQUMsT0FBTyxDQUFDO2tDQUFVLFlBQVk7b0RBQWtEO0lBdkMvRSxlQUFlO1FBTDNCLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLDQzSkFBc0M7O1NBRXpDLENBQUM7T0FDVyxlQUFlLENBcUQzQjtJQUFELHNCQUFDO0NBQUEsQUFyREQsSUFxREM7U0FyRFksZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0TWVudSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJztcbmltcG9ydCB7IE1kZVBvcG92ZXJUcmlnZ2VyIH0gZnJvbSAnQG1hdGVyaWFsLWV4dGVuZGVkL21kZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnaXRzcy1idXR0b24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2J1dHRvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBAQ29udGVudENoaWxkKCdwb3BvdmVyJywgeyBzdGF0aWM6IGZhbHNlIH0pIHBvcG92ZXJSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAVmlld0NoaWxkKCdwb3BvdmVyVHJpZ2dlcicsIHsgc3RhdGljOiBmYWxzZSB9KSBwb3BvdmVyVHJpZ2dlcjogTWRlUG9wb3ZlclRyaWdnZXI7XG5cbiAgICBAVmlld0NoaWxkKCdidXR0b24nLCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IEVsZW1lbnRSZWYgfSkgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG5cbiAgICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgaWNvbjogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgcmlnaHRJY29uOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBzdmdJY29uOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBjb2xvcjogc3RyaW5nID0gJ3ByaW1hcnknO1xuXG4gICAgQElucHV0KCkgdHlwZTogJ3JhaXNlZCcgfCAnc3Ryb2tlZCcgfCAnaWNvbicgfCAnbWVudScgfCAnc3Bpbm5lcicgfCAncG9wb3ZlcicgfCAncG9wb3Zlci1pY29uJztcblxuICAgIEBJbnB1dCgpIG1lbnU6IE1hdE1lbnU7XG5cbiAgICBASW5wdXQoKSBiYWRnZTogbnVtYmVyO1xuXG4gICAgQElucHV0KCkgYmFkZ2VDb2xvcjogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSB0b29sdGlwOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSBkb3dubG9hZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgc3R5bGVQb3BvdmVyOiBzdHJpbmcgPSAnJztcblxuICAgIEBJbnB1dCgpIHN0eWxlQ2xhc3NQb3BvdmVyOiBzdHJpbmc7XG5cbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLW91dHB1dC1vbi1wcmVmaXhcbiAgICBAT3V0cHV0KCdjbGljaycpIG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4odHJ1ZSk7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB9XG5cbiAgICBvbkNsaWNrQnV0dG9uKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMubG9hZGluZykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vbkNsaWNrLmVtaXQoZXZlbnQpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiJdfQ==
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbInNoYXJlZC9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqSSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDNUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFPM0Q7SUFBQTtRQWdCYSxVQUFLLEdBQVcsU0FBUyxDQUFDO1FBYzFCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFekIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUUxQixpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUluQyxnREFBZ0Q7UUFDL0IsWUFBTyxHQUE2QixJQUFJLFlBQVksQ0FBYSxJQUFJLENBQUMsQ0FBQztJQWM1RixDQUFDO0lBWkcsa0NBQVEsR0FBUjtJQUNBLENBQUM7SUFFRCx1Q0FBYSxHQUFiLFVBQWMsS0FBaUI7UUFDM0IsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDL0IsT0FBTztTQUNWO2FBQU07WUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBakQyQztRQUEzQyxZQUFZLENBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDO2tDQUFhLFdBQVc7dURBQU07SUFFekI7UUFBL0MsU0FBUyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDO2tDQUFpQixpQkFBaUI7MkRBQUM7SUFFeEI7UUFBekQsU0FBUyxDQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDO2tDQUFjLFVBQVU7d0RBQUM7SUFFekU7UUFBUixLQUFLLEVBQUU7O2tEQUFlO0lBRWQ7UUFBUixLQUFLLEVBQUU7O2lEQUFjO0lBRWI7UUFBUixLQUFLLEVBQUU7O3NEQUFtQjtJQUVsQjtRQUFSLEtBQUssRUFBRTs7b0RBQWlCO0lBRWhCO1FBQVIsS0FBSyxFQUFFOztrREFBMkI7SUFFMUI7UUFBUixLQUFLLEVBQUU7O2lEQUF1RjtJQUV0RjtRQUFSLEtBQUssRUFBRTtrQ0FBTyxPQUFPO2lEQUFDO0lBRWQ7UUFBUixLQUFLLEVBQUU7O2tEQUFlO0lBRWQ7UUFBUixLQUFLLEVBQUU7O3VEQUFvQjtJQUVuQjtRQUFSLEtBQUssRUFBRTs7cURBQW1CO0lBRWxCO1FBQVIsS0FBSyxFQUFFOztvREFBaUI7SUFFaEI7UUFBUixLQUFLLEVBQUU7O29EQUEwQjtJQUV6QjtRQUFSLEtBQUssRUFBRTs7cURBQTJCO0lBRTFCO1FBQVIsS0FBSyxFQUFFOzt5REFBMkI7SUFFMUI7UUFBUixLQUFLLEVBQUU7OzhEQUEyQjtJQUdsQjtRQUFoQixNQUFNLENBQUMsT0FBTyxDQUFDO2tDQUFVLFlBQVk7b0RBQWtEO0lBdkMvRSxlQUFlO1FBTDNCLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLGl1S0FBc0M7O1NBRXpDLENBQUM7T0FDVyxlQUFlLENBcUQzQjtJQUFELHNCQUFDO0NBQUEsQUFyREQsSUFxREM7U0FyRFksZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0TWVudSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJztcbmltcG9ydCB7IE1kZVBvcG92ZXJUcmlnZ2VyIH0gZnJvbSAnQG1hdGVyaWFsLWV4dGVuZGVkL21kZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnaXRzcy1idXR0b24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2J1dHRvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBAQ29udGVudENoaWxkKCdwb3BvdmVyJywgeyBzdGF0aWM6IGZhbHNlIH0pIHBvcG92ZXJSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAVmlld0NoaWxkKCdwb3BvdmVyVHJpZ2dlcicsIHsgc3RhdGljOiBmYWxzZSB9KSBwb3BvdmVyVHJpZ2dlcjogTWRlUG9wb3ZlclRyaWdnZXI7XG5cbiAgICBAVmlld0NoaWxkKCdidXR0b24nLCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IEVsZW1lbnRSZWYgfSkgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG5cbiAgICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgaWNvbjogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgcmlnaHRJY29uOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBzdmdJY29uOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBjb2xvcjogc3RyaW5nID0gJ3ByaW1hcnknO1xuXG4gICAgQElucHV0KCkgdHlwZTogJ3JhaXNlZCcgfCAnc3Ryb2tlZCcgfCAnaWNvbicgfCAnbWVudScgfCAnc3Bpbm5lcicgfCAncG9wb3ZlcicgfCAncG9wb3Zlci1pY29uJztcblxuICAgIEBJbnB1dCgpIG1lbnU6IE1hdE1lbnU7XG5cbiAgICBASW5wdXQoKSBiYWRnZTogbnVtYmVyO1xuXG4gICAgQElucHV0KCkgYmFkZ2VDb2xvcjogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSB0b29sdGlwOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSBkb3dubG9hZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgc3R5bGVQb3BvdmVyOiBzdHJpbmcgPSAnJztcblxuICAgIEBJbnB1dCgpIHN0eWxlQ2xhc3NQb3BvdmVyOiBzdHJpbmc7XG5cbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLW91dHB1dC1vbi1wcmVmaXhcbiAgICBAT3V0cHV0KCdjbGljaycpIG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4odHJ1ZSk7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB9XG5cbiAgICBvbkNsaWNrQnV0dG9uKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMubG9hZGluZykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vbkNsaWNrLmVtaXQoZXZlbnQpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiJdfQ==
@@ -3,8 +3,6 @@ import { Component, Input } from '@angular/core';
3
3
  var IconComponent = /** @class */ (function () {
4
4
  function IconComponent() {
5
5
  }
6
- IconComponent.prototype.ngOnInit = function () {
7
- };
8
6
  __decorate([
9
7
  Input(),
10
8
  __metadata("design:type", String)
@@ -28,11 +26,11 @@ var IconComponent = /** @class */ (function () {
28
26
  IconComponent = __decorate([
29
27
  Component({
30
28
  selector: 'itss-icon',
31
- template: "<mat-icon *ngIf=\"icon\"\n [style.color]=\"color\"\n [matTooltip]=\"tooltip\"\n [style.width.px]=\"iconSize\"\n [style.height.px]=\"iconSize\"\n matSuffix>\n {{ icon }}\n</mat-icon>\n\n<mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\"\n [matTooltip]=\"tooltip\"\n [style.color]=\"color\"\n [style.width.px]=\"iconSize\"\n [style.height.px]=\"iconSize\"\n matSuffix>\n</mat-icon>\n",
29
+ template: "<mat-icon *ngIf=\"icon\"\n [style.color]=\"color\"\n [matTooltip]=\"tooltip\"\n matTooltipClass=\"mattooltip-line-break\"\n [style.width.px]=\"iconSize\"\n [style.height.px]=\"iconSize\"\n matSuffix>\n {{ icon }}\n</mat-icon>\n\n<mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\"\n [matTooltip]=\"tooltip\"\n matTooltipClass=\"mattooltip-line-break\"\n [style.color]=\"color\"\n [style.width.px]=\"iconSize\"\n [style.height.px]=\"iconSize\"\n matSuffix>\n</mat-icon>\n",
32
30
  styles: [""]
33
31
  })
34
32
  ], IconComponent);
35
33
  return IconComponent;
36
34
  }());
37
35
  export { IconComponent };
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ2lwaXNpc3RlbWFzL25nLWNvcmUvIiwic291cmNlcyI6WyJzaGFyZWQvY29tcG9uZW50cy9pY29uL2ljb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQU96RDtJQUFBO0lBZUEsQ0FBQztJQUhDLGdDQUFRLEdBQVI7SUFDQSxDQUFDO0lBWFE7UUFBUixLQUFLLEVBQUU7O2dEQUFlO0lBRWQ7UUFBUixLQUFLLEVBQUU7OytDQUFjO0lBRWI7UUFBUixLQUFLLEVBQUU7O2tEQUFpQjtJQUVoQjtRQUFSLEtBQUssRUFBRTs7a0RBQWlCO0lBRWhCO1FBQVIsS0FBSyxFQUFFOzttREFBa0I7SUFWZixhQUFhO1FBTHpCLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxXQUFXO1lBQ3JCLGdmQUFvQzs7U0FFckMsQ0FBQztPQUNXLGFBQWEsQ0FlekI7SUFBRCxvQkFBQztDQUFBLEFBZkQsSUFlQztTQWZZLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXRzcy1pY29uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ljb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pY29uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSWNvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgY29sb3I6IHN0cmluZztcblxuICBASW5wdXQoKSBpY29uOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgc3ZnSWNvbjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHRvb2x0aXA6IHN0cmluZztcblxuICBASW5wdXQoKSBpY29uU2l6ZTogbnVtYmVyO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbn1cbiJdfQ==
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ2lwaXNpc3RlbWFzL25nLWNvcmUvIiwic291cmNlcyI6WyJzaGFyZWQvY29tcG9uZW50cy9pY29uL2ljb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU9qRDtJQUFBO0lBV0EsQ0FBQztJQVRZO1FBQVIsS0FBSyxFQUFFOztnREFBZTtJQUVkO1FBQVIsS0FBSyxFQUFFOzsrQ0FBYztJQUViO1FBQVIsS0FBSyxFQUFFOztrREFBaUI7SUFFaEI7UUFBUixLQUFLLEVBQUU7O2tEQUFpQjtJQUVoQjtRQUFSLEtBQUssRUFBRTs7bURBQWtCO0lBVmpCLGFBQWE7UUFMekIsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLFdBQVc7WUFDckIsMGxCQUFvQzs7U0FFdkMsQ0FBQztPQUNXLGFBQWEsQ0FXekI7SUFBRCxvQkFBQztDQUFBLEFBWEQsSUFXQztTQVhZLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnaXRzcy1pY29uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaWNvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaWNvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEljb25Db21wb25lbnQge1xuXG4gICAgQElucHV0KCkgY29sb3I6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIGljb246IHN0cmluZztcblxuICAgIEBJbnB1dCgpIHN2Z0ljb246IHN0cmluZztcblxuICAgIEBJbnB1dCgpIHRvb2x0aXA6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIGljb25TaXplOiBudW1iZXI7XG59XG4iXX0=