@po-ui/ng-components 14.7.0 → 14.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/esm2020/lib/components/components.module.mjs +14 -7
  2. package/esm2020/lib/components/index.mjs +2 -1
  3. package/esm2020/lib/components/po-field/po-checkbox-group/po-checkbox-group-base.component.mjs +12 -2
  4. package/esm2020/lib/components/po-field/po-checkbox-group/po-checkbox-group.component.mjs +4 -4
  5. package/esm2020/lib/components/po-field/po-combo/po-combo-base.component.mjs +13 -3
  6. package/esm2020/lib/components/po-field/po-combo/po-combo.component.mjs +8 -6
  7. package/esm2020/lib/components/po-field/po-datepicker/po-datepicker-base.component.mjs +21 -3
  8. package/esm2020/lib/components/po-field/po-datepicker/po-datepicker.component.mjs +8 -7
  9. package/esm2020/lib/components/po-field/po-datepicker-range/po-datepicker-range-base.component.mjs +13 -3
  10. package/esm2020/lib/components/po-field/po-datepicker-range/po-datepicker-range.component.mjs +4 -4
  11. package/esm2020/lib/components/po-field/po-decimal/po-decimal.component.mjs +8 -7
  12. package/esm2020/lib/components/po-field/po-email/po-email.component.mjs +8 -6
  13. package/esm2020/lib/components/po-field/po-field-container/po-field-container-literals.mjs +9 -5
  14. package/esm2020/lib/components/po-field/po-field-container/po-field-container.component.mjs +60 -23
  15. package/esm2020/lib/components/po-field/po-field-container/po-field-container.module.mjs +5 -4
  16. package/esm2020/lib/components/po-field/po-field-validate.model.mjs +13 -3
  17. package/esm2020/lib/components/po-field/po-input/po-input-base.component.mjs +15 -4
  18. package/esm2020/lib/components/po-field/po-input/po-input.component.mjs +8 -6
  19. package/esm2020/lib/components/po-field/po-login/po-login.component.mjs +8 -6
  20. package/esm2020/lib/components/po-field/po-lookup/po-lookup-base.component.mjs +24 -6
  21. package/esm2020/lib/components/po-field/po-lookup/po-lookup.component.mjs +8 -8
  22. package/esm2020/lib/components/po-field/po-lookup/services/po-lookup-modal.service.mjs +7 -1
  23. package/esm2020/lib/components/po-field/po-multiselect/po-multiselect-base.component.mjs +15 -3
  24. package/esm2020/lib/components/po-field/po-multiselect/po-multiselect.component.mjs +4 -4
  25. package/esm2020/lib/components/po-field/po-number/po-number.component.mjs +8 -6
  26. package/esm2020/lib/components/po-field/po-password/po-password.component.mjs +8 -7
  27. package/esm2020/lib/components/po-field/po-radio/po-radio.component.mjs +39 -26
  28. package/esm2020/lib/components/po-field/po-radio-group/po-radio-group-base.component.mjs +13 -3
  29. package/esm2020/lib/components/po-field/po-radio-group/po-radio-group.component.mjs +4 -4
  30. package/esm2020/lib/components/po-field/po-rich-text/po-rich-text-base.component.mjs +13 -3
  31. package/esm2020/lib/components/po-field/po-rich-text/po-rich-text-body/po-rich-text-body.component.mjs +7 -4
  32. package/esm2020/lib/components/po-field/po-rich-text/po-rich-text.component.mjs +5 -5
  33. package/esm2020/lib/components/po-field/po-select/po-select.component.mjs +8 -7
  34. package/esm2020/lib/components/po-field/po-switch/po-switch.component.mjs +11 -7
  35. package/esm2020/lib/components/po-field/po-textarea/po-textarea-base.component.mjs +14 -5
  36. package/esm2020/lib/components/po-field/po-textarea/po-textarea.component.mjs +8 -6
  37. package/esm2020/lib/components/po-field/po-upload/po-upload-base.component.mjs +13 -3
  38. package/esm2020/lib/components/po-field/po-upload/po-upload.component.mjs +33 -32
  39. package/esm2020/lib/components/po-field/po-url/po-url.component.mjs +8 -6
  40. package/esm2020/lib/components/po-label/index.mjs +3 -0
  41. package/esm2020/lib/components/po-label/po-label.component.mjs +94 -0
  42. package/esm2020/lib/components/po-label/po-label.module.mjs +19 -0
  43. package/esm2020/lib/components/po-table/po-table-icon/po-table-icon.component.mjs +4 -4
  44. package/esm2020/lib/components/po-table/po-table.component.mjs +7 -7
  45. package/esm2020/lib/components/po-widget/po-widget-base.component.mjs +11 -2
  46. package/esm2020/lib/components/po-widget/po-widget.component.mjs +12 -4
  47. package/fesm2015/po-ui-ng-components.mjs +1482 -1128
  48. package/fesm2015/po-ui-ng-components.mjs.map +1 -1
  49. package/fesm2020/po-ui-ng-components.mjs +1469 -1129
  50. package/fesm2020/po-ui-ng-components.mjs.map +1 -1
  51. package/lib/components/components.module.d.ts +2 -1
  52. package/lib/components/index.d.ts +1 -0
  53. package/lib/components/po-field/po-checkbox-group/po-checkbox-group-base.component.d.ts +8 -1
  54. package/lib/components/po-field/po-combo/po-combo-base.component.d.ts +9 -2
  55. package/lib/components/po-field/po-combo/po-combo.component.d.ts +1 -0
  56. package/lib/components/po-field/po-datepicker/po-datepicker-base.component.d.ts +17 -2
  57. package/lib/components/po-field/po-datepicker/po-datepicker.component.d.ts +1 -0
  58. package/lib/components/po-field/po-datepicker-range/po-datepicker-range-base.component.d.ts +9 -2
  59. package/lib/components/po-field/po-decimal/po-decimal.component.d.ts +1 -0
  60. package/lib/components/po-field/po-email/po-email.component.d.ts +1 -0
  61. package/lib/components/po-field/po-field-container/po-field-container-literals.d.ts +4 -0
  62. package/lib/components/po-field/po-field-container/po-field-container.component.d.ts +18 -3
  63. package/lib/components/po-field/po-field-container/po-field-container.module.d.ts +2 -1
  64. package/lib/components/po-field/po-field-validate.model.d.ts +9 -2
  65. package/lib/components/po-field/po-input/po-input-base.component.d.ts +11 -3
  66. package/lib/components/po-field/po-input/po-input.component.d.ts +1 -0
  67. package/lib/components/po-field/po-login/po-login.component.d.ts +1 -0
  68. package/lib/components/po-field/po-lookup/po-lookup-base.component.d.ts +14 -3
  69. package/lib/components/po-field/po-lookup/po-lookup.component.d.ts +1 -1
  70. package/lib/components/po-field/po-lookup/services/po-lookup-modal.service.d.ts +1 -0
  71. package/lib/components/po-field/po-multiselect/po-multiselect-base.component.d.ts +11 -2
  72. package/lib/components/po-field/po-number/po-number.component.d.ts +1 -0
  73. package/lib/components/po-field/po-password/po-password.component.d.ts +1 -0
  74. package/lib/components/po-field/po-radio/po-radio.component.d.ts +7 -4
  75. package/lib/components/po-field/po-radio-group/po-radio-group-base.component.d.ts +9 -2
  76. package/lib/components/po-field/po-rich-text/po-rich-text-base.component.d.ts +9 -2
  77. package/lib/components/po-field/po-rich-text/po-rich-text-body/po-rich-text-body.component.d.ts +2 -1
  78. package/lib/components/po-field/po-select/po-select.component.d.ts +1 -0
  79. package/lib/components/po-field/po-switch/po-switch.component.d.ts +1 -0
  80. package/lib/components/po-field/po-textarea/po-textarea-base.component.d.ts +10 -4
  81. package/lib/components/po-field/po-textarea/po-textarea.component.d.ts +1 -0
  82. package/lib/components/po-field/po-upload/po-upload-base.component.d.ts +9 -2
  83. package/lib/components/po-field/po-upload/po-upload.component.d.ts +1 -0
  84. package/lib/components/po-field/po-url/po-url.component.d.ts +1 -0
  85. package/lib/components/po-label/index.d.ts +2 -0
  86. package/lib/components/po-label/po-label.component.d.ts +40 -0
  87. package/lib/components/po-label/po-label.module.d.ts +8 -0
  88. package/lib/components/po-widget/po-widget-base.component.d.ts +11 -2
  89. package/lib/components/po-widget/po-widget.component.d.ts +1 -0
  90. package/package.json +4 -4
  91. package/po-ui-ng-components-14.8.0.tgz +0 -0
  92. package/schematics/ng-add/index.js +1 -1
  93. package/schematics/ng-update/v14/index.js +1 -1
  94. package/schematics/ng-update/v2/index.js +1 -1
  95. package/schematics/ng-update/v3/index.js +1 -1
  96. package/schematics/ng-update/v4/index.js +1 -1
  97. package/schematics/ng-update/v5/index.js +1 -1
  98. package/schematics/ng-update/v6/index.js +1 -1
  99. package/po-ui-ng-components-14.7.0.tgz +0 -0
@@ -1,7 +1,7 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, forwardRef, Input, Output, ViewChild } from '@angular/core';
3
3
  import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
4
- import { removeDuplicatedOptions, removeDuplicatedOptionsWithFieldValue, removeUndefinedAndNullOptions, removeUndefinedAndNullOptionsWithFieldValue, validValue } from '../../../utils/util';
4
+ import { removeDuplicatedOptions, removeDuplicatedOptionsWithFieldValue, removeUndefinedAndNullOptions, removeUndefinedAndNullOptionsWithFieldValue, uuid, validValue } from '../../../utils/util';
5
5
  import { InputBoolean } from '../../../decorators';
6
6
  import { PoFieldValidateModel } from '../po-field-validate.model';
7
7
  import * as i0 from "@angular/core";
@@ -107,6 +107,7 @@ export class PoSelectComponent extends PoFieldValidateModel {
107
107
  * @default `false`
108
108
  */
109
109
  this.readonly = false;
110
+ this.id = `po-select[${uuid()}]`;
110
111
  this._fieldLabel = PO_SELECT_FIELD_LABEL_DEFAULT;
111
112
  this._fieldValue = PO_SELECT_FIELD_VALUE_DEFAULT;
112
113
  this.differ = differs.find([]).create(null);
@@ -292,7 +293,7 @@ PoSelectComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoSelectC
292
293
  useExisting: forwardRef(() => PoSelectComponent),
293
294
  multi: true
294
295
  }
295
- ]), i0.ɵɵInheritDefinitionFeature], decls: 7, vars: 11, consts: [[3, "p-label", "p-help", "p-optional"], [1, "po-field-container-content"], [1, "po-select", 3, "disabled", "required", "blur", "change"], ["select", ""], [3, "disabled", "hidden", "selected", "value", 4, "ngIf"], [3, "disabled", "value", 4, "ngFor", "ngForOf"], [3, "disabled", "hidden", "selected", "value"], [3, "disabled", "value"]], template: function PoSelectComponent_Template(rf, ctx) { if (rf & 1) {
296
+ ]), i0.ɵɵInheritDefinitionFeature], decls: 7, vars: 15, consts: [[3, "p-disabled", "p-help", "p-id", "p-label", "p-optional", "p-required", "p-show-required"], [1, "po-field-container-content"], [1, "po-select", 3, "disabled", "id", "required", "blur", "change"], ["select", ""], [3, "disabled", "hidden", "selected", "value", 4, "ngIf"], [3, "disabled", "value", 4, "ngFor", "ngForOf"], [3, "disabled", "hidden", "selected", "value"], [3, "disabled", "value"]], template: function PoSelectComponent_Template(rf, ctx) { if (rf & 1) {
296
297
  i0.ɵɵelementStart(0, "po-field-container", 0)(1, "div", 1)(2, "select", 2, 3);
297
298
  i0.ɵɵlistener("blur", function PoSelectComponent_Template_select_blur_2_listener() { return ctx.onBlur(); })("change", function PoSelectComponent_Template_select_change_2_listener($event) { return ctx.onSelectChange($event.target.value); });
298
299
  i0.ɵɵtemplate(4, PoSelectComponent_option_4_Template, 2, 5, "option", 4);
@@ -301,11 +302,11 @@ PoSelectComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoSelectC
301
302
  i0.ɵɵelement(6, "po-field-container-bottom");
302
303
  i0.ɵɵelementEnd();
303
304
  } if (rf & 2) {
304
- i0.ɵɵproperty("p-label", ctx.label)("p-help", ctx.help)("p-optional", !ctx.required && ctx.optional);
305
+ i0.ɵɵproperty("p-disabled", ctx.disabled)("p-help", ctx.help)("p-id", ctx.id)("p-label", ctx.label)("p-optional", ctx.optional)("p-required", ctx.required)("p-show-required", ctx.showRequired);
305
306
  i0.ɵɵadvance(2);
306
307
  i0.ɵɵclassProp("po-select-placeholder", !ctx.selectedValue && !!ctx.placeholder);
307
- i0.ɵɵproperty("disabled", ctx.disabled)("required", ctx.required);
308
- i0.ɵɵattribute("aria-label", ctx.label)("name", ctx.name);
308
+ i0.ɵɵproperty("disabled", ctx.disabled)("id", ctx.id)("required", ctx.required);
309
+ i0.ɵɵattribute("name", ctx.name);
309
310
  i0.ɵɵadvance(2);
310
311
  i0.ɵɵproperty("ngIf", !ctx.selectedValue || !!ctx.placeholder);
311
312
  i0.ɵɵadvance(1);
@@ -327,7 +328,7 @@ __decorate([
327
328
  useExisting: forwardRef(() => PoSelectComponent),
328
329
  multi: true
329
330
  }
330
- ], template: "<po-field-container [p-label]=\"label\" [p-help]=\"help\" [p-optional]=\"!required && optional\">\n <div class=\"po-field-container-content\">\n <select\n #select\n class=\"po-select\"\n [attr.aria-label]=\"label\"\n [attr.name]=\"name\"\n [class.po-select-placeholder]=\"!selectedValue && !!placeholder\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n (blur)=\"onBlur()\"\n (change)=\"onSelectChange($event.target.value)\"\n >\n <option\n *ngIf=\"!selectedValue || !!placeholder\"\n [disabled]=\"!!placeholder\"\n [hidden]=\"!selectedValue && !placeholder\"\n [selected]=\"!selectedValue\"\n [value]=\"placeholder ?? ''\"\n >\n {{ placeholder }}\n </option>\n <option *ngFor=\"let option of options\" [disabled]=\"readonly\" [value]=\"option?.[this.fieldValue]\">\n {{ option?.[this.fieldLabel] }}\n </option>\n </select>\n </div>\n\n <po-field-container-bottom></po-field-container-bottom>\n</po-field-container>\n" }]
331
+ ], template: "<po-field-container\n [p-disabled]=\"disabled\"\n [p-help]=\"help\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n>\n <div class=\"po-field-container-content\">\n <select\n #select\n class=\"po-select\"\n [attr.name]=\"name\"\n [class.po-select-placeholder]=\"!selectedValue && !!placeholder\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [required]=\"required\"\n (blur)=\"onBlur()\"\n (change)=\"onSelectChange($event.target.value)\"\n >\n <option\n *ngIf=\"!selectedValue || !!placeholder\"\n [disabled]=\"!!placeholder\"\n [hidden]=\"!selectedValue && !placeholder\"\n [selected]=\"!selectedValue\"\n [value]=\"placeholder ?? ''\"\n >\n {{ placeholder }}\n </option>\n <option *ngFor=\"let option of options\" [disabled]=\"readonly\" [value]=\"option?.[this.fieldValue]\">\n {{ option?.[this.fieldLabel] }}\n </option>\n </select>\n </div>\n\n <po-field-container-bottom></po-field-container-bottom>\n</po-field-container>\n" }]
331
332
  }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.IterableDiffers }, { type: i0.Renderer2 }]; }, { selectElement: [{
332
333
  type: ViewChild,
333
334
  args: ['select', { read: ElementRef, static: true }]
@@ -350,4 +351,4 @@ __decorate([
350
351
  type: Input,
351
352
  args: ['p-field-value']
352
353
  }] }); })();
353
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby1zZWxlY3QvcG8tc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby1zZWxlY3QvcG8tc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBRUwsTUFBTSxFQUVOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQW1CLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5GLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIscUNBQXFDLEVBQ3JDLDZCQUE2QixFQUM3QiwyQ0FBMkMsRUFDM0MsVUFBVSxFQUNYLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7OztJQ1o1RCxpQ0FNQztJQUNDLFlBQ0Y7SUFBQSxpQkFBUzs7OztJQU5QLCtDQUEwQix3REFBQSxtQ0FBQSwwRkFBQTtJQUsxQixlQUNGO0lBREUsbURBQ0Y7OztJQUNBLGlDQUFpRztJQUMvRixZQUNGO0lBQUEsaUJBQVM7Ozs7SUFGOEIsMENBQXFCLGtFQUFBO0lBQzFELGVBQ0Y7SUFERSx3RkFDRjs7QURJTixNQUFNLDZCQUE2QixHQUFHLE9BQU8sQ0FBQztBQUM5QyxNQUFNLDZCQUE2QixHQUFHLE9BQU8sQ0FBQztBQUU5Qzs7Ozs7Ozs7Ozs7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Z2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBEb0NoZWNrLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBJdGVyYWJsZURpZmZlcnMsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge1xuICByZW1vdmVEdXBsaWNhdGVkT3B0aW9ucyxcbiAgcmVtb3ZlRHVwbGljYXRlZE9wdGlvbnNXaXRoRmllbGRWYWx1ZSxcbiAgcmVtb3ZlVW5kZWZpbmVkQW5kTnVsbE9wdGlvbnMsXG4gIHJlbW92ZVVuZGVmaW5lZEFuZE51bGxPcHRpb25zV2l0aEZpZWxkVmFsdWUsXG4gIHZhbGlkVmFsdWVcbn0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvdXRpbCc7XG5cbmltcG9ydCB7IElucHV0Qm9vbGVhbiB9IGZyb20gJy4uLy4uLy4uL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgUG9GaWVsZFZhbGlkYXRlTW9kZWwgfSBmcm9tICcuLi9wby1maWVsZC12YWxpZGF0ZS5tb2RlbCc7XG5pbXBvcnQgeyBQb1NlbGVjdE9wdGlvbiB9IGZyb20gJy4vcG8tc2VsZWN0LW9wdGlvbi5pbnRlcmZhY2UnO1xuXG5jb25zdCBQT19TRUxFQ1RfRklFTERfTEFCRUxfREVGQVVMVCA9ICdsYWJlbCc7XG5jb25zdCBQT19TRUxFQ1RfRklFTERfVkFMVUVfREVGQVVMVCA9ICd2YWx1ZSc7XG5cbi8qKlxuICogQGRvY3NFeHRlbmRzIFBvRmllbGRWYWxpZGF0ZU1vZGVsXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tc2VsZWN0LWJhc2ljXCIgdGl0bGU9XCJQTyBTZWxlY3QgQmFzaWNcIj5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1zZWxlY3QtYmFzaWMvc2FtcGxlLXBvLXNlbGVjdC1iYXNpYy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tc2VsZWN0LWJhc2ljL3NhbXBsZS1wby1zZWxlY3QtYmFzaWMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tc2VsZWN0LWxhYnNcIiB0aXRsZT1cIlBPIFNlbGVjdCBMYWJzXCI+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tc2VsZWN0LWxhYnMvc2FtcGxlLXBvLXNlbGVjdC1sYWJzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1zZWxlY3QtbGFicy9zYW1wbGUtcG8tc2VsZWN0LWxhYnMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tc2VsZWN0LWN1c3RvbWVyLXJlZ2lzdHJhdGlvblwiIHRpdGxlPVwiUE8gU2VsZWN0IC0gQ3VzdG9tZXIgcmVnaXN0cmF0aW9uXCI+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tc2VsZWN0LWN1c3RvbWVyLXJlZ2lzdHJhdGlvbi9zYW1wbGUtcG8tc2VsZWN0LWN1c3RvbWVyLXJlZ2lzdHJhdGlvbi5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tc2VsZWN0LWN1c3RvbWVyLXJlZ2lzdHJhdGlvbi9zYW1wbGUtcG8tc2VsZWN0LWN1c3RvbWVyLXJlZ2lzdHJhdGlvbi5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXNlbGVjdC1jdXN0b21lci1yZWdpc3RyYXRpb24vc2FtcGxlLXBvLXNlbGVjdC1jdXN0b21lci1yZWdpc3RyYXRpb24uc2VydmljZS50c1wiPiA8L2ZpbGU+XG4gKiAgIDxmaWxlIG5hbWU9J3NhbXBsZS1wby1zZWxlY3QtY3VzdG9tZXItcmVnaXN0cmF0aW9uL3NhbXBsZS1wby1zZWxlY3QtY3VzdG9tZXItcmVnaXN0cmF0aW9uLmNvbXBvbmVudC5lMmUtc3BlYy50cyc+IDwvZmlsZT5cbiAqICAgPGZpbGUgbmFtZT0nc2FtcGxlLXBvLXNlbGVjdC1jdXN0b21lci1yZWdpc3RyYXRpb24vc2FtcGxlLXBvLXNlbGVjdC1jdXN0b21lci1yZWdpc3RyYXRpb24uY29tcG9uZW50LnBvLnRzJz4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1zZWxlY3QtY29tcGFuaWVzXCIgdGl0bGU9XCJQTyBTZWxlY3QgQ29tcGFuaWVzXCI+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tc2VsZWN0LWNvbXBhbmllcy9zYW1wbGUtcG8tc2VsZWN0LWNvbXBhbmllcy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tc2VsZWN0LWNvbXBhbmllcy9zYW1wbGUtcG8tc2VsZWN0LWNvbXBhbmllcy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICpcbiAqIE8gY29tcG9uZW50ZSBwby1zZWxlY3QgZXhpYmUgdW1hIGxpc3RhIGRlIHZhbG9yZXMgZSBwZXJtaXRlIHF1ZSBvIHVzdcOhcmlvIHNlbGVjaW9uZSB1bSBkZXNzZXMgdmFsb3Jlcy5cbiAqIE9zIHZhbG9yZXMgbGlzdGFkb3MgcG9kZW0gc2VyIGZpeG9zIG91IGRpbsOibWljb3MgZGUgYWNvcmRvIGNvbSBhIG5lY2Vzc2lkYWRlIGRvIGRlc2Vudm9sdmVkb3IsIGRhbmRvIG1haXMgZmxleGliaWxpZGFkZSBhbyBjb21wb25lbnRlLlxuICogTyBwby1zZWxlY3QgbsOjbyBwZXJtaXRlIHF1ZSBvIHVzdcOhcmlvIGluZm9ybWUgdW0gdmFsb3IgZGlmZXJlbnRlIGRvcyB2YWxvcmVzIGxpc3RhZG9zLCBpc3NvIGdhcmFudGUgYSBjb25zaXN0w6puY2lhIGRhIGluZm9ybWHDp8Ojby5cbiAqIE8gcG8tc2VsZWN0IG7Do28gcGVybWl0ZSBxdWUgc2VqYW0gcGFzc2Fkb3MgdmFsb3JlcyBkdXBsaWNhZG9zLCB1bmRlZmluZWQgZSBudWxsIHBhcmEgYXMgb3DDp8O1ZXMsIGV4Y2x1aW5kby1vcyBkYSBsaXN0YS5cbiAqXG4gKiA+IEFvIHBhc3NhciB1bSB2YWxvciBwYXJhIG8gX21vZGVsXyBxdWUgbsOjbyBlc3TDoSBuYSBsaXN0YSBkZSBvcMOnw7VlcywgbyBtZXNtbyBzZXLDoSBkZWZpbmlkbyBjb21vIGB1bmRlZmluZWRgLlxuICpcbiAqIFRhbWLDqW0gZXhpc3RlIGEgcG9zc2liaWxpZGFkZSBkZSB1dGlsaXphciB1bSBfdGVtcGxhdGVfIHBhcmEgYSBleGliacOnw6NvIGRvcyBpdGVucyBkYSBsaXN0YSxcbiAqIHZlamEgbWFpcyBlbSAqKltwLWNvbWJvLW9wdGlvbi10ZW1wbGF0ZV0oL2RvY3VtZW50YXRpb24vcG8tY29tYm8tb3B0aW9uLXRlbXBsYXRlKSoqLlxuICpcbiAqID4gT2JzOiBvIHRlbXBsYXRlICoqW3Atc2VsZWN0LW9wdGlvbi10ZW1wbGF0ZV0oL2RvY3VtZW50YXRpb24vcG8tc2VsZWN0LW9wdGlvbi10ZW1wbGF0ZSkqKiBzZXLDoSBkZXByZWNpYWRvIG5hIHZlcnPDo28gMTQueC54LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUG9TZWxlY3RDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQb1NlbGVjdENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBQb1NlbGVjdENvbXBvbmVudCBleHRlbmRzIFBvRmllbGRWYWxpZGF0ZU1vZGVsPGFueT4gaW1wbGVtZW50cyBEb0NoZWNrIHtcbiAgQFZpZXdDaGlsZCgnc2VsZWN0JywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSkgc2VsZWN0RWxlbWVudDogRWxlbWVudFJlZjtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBGdW7Dp8OjbyBwYXJhIGF0dWFsaXphciBvIG5nTW9kZWwgZG8gY29tcG9uZW50ZSwgbmVjZXNzw6FyaW8gcXVhbmRvIG7Do28gZm9yIHV0aWxpemFkbyBkZW50cm8gZGEgdGFnIGZvcm0uXG4gICAqXG4gICAqIE5hIHZlcnPDo28gMTIuMi4wIGRvIEFuZ3VsYXIgYSB2ZXJpZmljYcOnw6NvIGBzdHJpY3RUZW1wbGF0ZXNgIHZlbSB0cnVlIGNvbW8gZGVmYXVsdC4gUG9ydGFudG8sIHBhcmEgdXRpbGl6YXJcbiAgICogdHdvLXdheSBiaW5kaW5nIG5vIGNvbXBvbmVudGUgZGV2ZSBzZSB1dGlsaXphciBkYSBzZWd1aW50ZSBmb3JtYTpcbiAgICpcbiAgICogYGBgXG4gICAqIDxwby1zZWxlY3QgLi4uIFtuZ01vZGVsXT1cInNlbGVjdE1vZGVsXCIgKG5nTW9kZWxDaGFuZ2UpPVwic2VsZWN0TW9kZWwgPSAkZXZlbnRcIj4gPC9wby1zZWxlY3Q+XG4gICAqIGBgYFxuICAgKi9cbiAgQE91dHB1dCgnbmdNb2RlbENoYW5nZScpIG5nTW9kZWxDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogSW5kaWNhIHF1ZSBvIGNhbXBvIHNlcsOhIHNvbWVudGUgcGFyYSBsZWl0dXJhLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICBASW5wdXQoJ3AtcmVhZG9ubHknKSBASW5wdXRCb29sZWFuKCkgcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogTWVuc2FnZW0gcXVlIGFwYXJlY2Vyw6EgZW5xdWFudG8gbmVuaHVtYSBvcMOnw6NvIGVzdGl2ZXIgc2VsZWNpb25hZGEuICovXG4gIEBJbnB1dCgncC1wbGFjZWhvbGRlcicpIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuXG4gIGRpc3BsYXlWYWx1ZTtcbiAgbW9kZWxWYWx1ZTogYW55O1xuICBzZWxlY3RlZFZhbHVlOiBhbnk7XG4gIHByb3RlY3RlZCBvbk1vZGVsVG91Y2hlZDogYW55O1xuXG4gIHByaXZhdGUgZGlmZmVyOiBhbnk7XG4gIHByaXZhdGUgX2ZpZWxkTGFiZWw/OiBzdHJpbmcgPSBQT19TRUxFQ1RfRklFTERfTEFCRUxfREVGQVVMVDtcbiAgcHJpdmF0ZSBfZmllbGRWYWx1ZT86IHN0cmluZyA9IFBPX1NFTEVDVF9GSUVMRF9WQUxVRV9ERUZBVUxUO1xuICBwcml2YXRlIF9vcHRpb25zOiBBcnJheTxQb1NlbGVjdE9wdGlvbj4gfCBBcnJheTxhbnk+O1xuXG4gIC8qKlxuICAgKiBOZXN0YSBwcm9wcmllZGFkZSBkZXZlIHNlciBkZWZpbmlkbyB1bWEgY29sZcOnw6NvIGRlIG9iamV0b3MgcXVlIGltcGxlbWVudGFtIGEgaW50ZXJmYWNlIGBQb1NlbGVjdE9wdGlvbmAuXG4gICAqXG4gICAqIENhc28gZXN0YSBsaXN0YSBlc3RpdmVyIHZhemlhLCBvIG1vZGVsIHNlcsOhIGB1bmRlZmluZWRgLlxuICAgKlxuICAgKiA+IEVzc2EgcHJvcHJpZWRhZGUgw6kgaW11dMOhdmVsLCBvdSBzZWphLCBzZW1wcmUgcXVlIHF1aXNlciBhdHVhbGl6YXIgYSBsaXN0YSBkZSBvcMOnw7VlcyBkaXNwb27DrXZlaXNcbiAgICogYXR1YWxpemUgYSByZWZlcsOqbmNpYSBkbyBvYmpldG86XG4gICAqXG4gICAqIGBgYFxuICAgKiAvLyBhdHVhbGl6YSBhIHJlZmVyw6puY2lhIGRvIG9iamV0byBnYXJhbnRpbmRvIGEgYXR1YWxpemHDp8OjbyBkbyB0ZW1wbGF0ZVxuICAgKiB0aGlzLm9wdGlvbnMgPSBbLi4udGhpcy5vcHRpb25zLCB7IHZhbHVlOiAneCcsIGxhYmVsOiAnTm92YSBvcMOnw6NvJyB9XTtcbiAgICpcbiAgICogLy8gZXZpdGUsIHBvaXMgbsOjbyBhdHVhbGl6YSBhIHJlZmVyw6puY2lhIGRvIG9iamV0byBwb2RlbmRvIGdlcmFyIGF0cmFzb3MgbmEgYXR1YWxpemHDp8OjbyBkbyB0ZW1wbGF0ZVxuICAgKiB0aGlzLm9wdGlvbnMucHVzaCh7IHZhbHVlOiAneCcsIGxhYmVsOiAnTm92YSBvcMOnw6NvJyB9KTtcbiAgICogYGBgXG4gICAqL1xuICBASW5wdXQoJ3Atb3B0aW9ucycpIHNldCBvcHRpb25zKG9wdGlvbnM6IEFycmF5PGFueT4pIHtcbiAgICBpZiAodGhpcy5maWVsZExhYmVsICYmIHRoaXMuZmllbGRWYWx1ZSkge1xuICAgICAgb3B0aW9ucy5tYXAob3B0aW9uID0+IHtcbiAgICAgICAgb3B0aW9uLmxhYmVsID0gb3B0aW9uW3RoaXMuZmllbGRMYWJlbF07XG4gICAgICAgIG9wdGlvbi52YWx1ZSA9IG9wdGlvblt0aGlzLmZpZWxkVmFsdWVdO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy52YWxpZGF0ZU9wdGlvbnMoWy4uLm9wdGlvbnNdKTtcbiAgICB0aGlzLm9uVXBkYXRlT3B0aW9ucygpO1xuICAgIHRoaXMuX29wdGlvbnMgPSBbLi4ub3B0aW9uc107XG4gIH1cblxuICBnZXQgb3B0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9ucztcbiAgfVxuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIERldmUgc2VyIGluZm9ybWFkbyBvIG5vbWUgZGEgcHJvcHJpZWRhZGUgZG8gb2JqZXRvIHF1ZSBzZXLDoSB1dGlsaXphZG8gcGFyYSBhIGNvbnZlcnPDo28gZG9zIGl0ZW5zIGFwcmVzZW50YWRvcyBuYSBsaXN0YSBkbyBjb21wb25lbnRlXG4gICAqIChgcC1vcHRpb25zYCksIGVzdGEgcHJvcHJpZWRhZGUgc2Vyw6EgcmVzcG9uc8OhdmVsIHBlbG8gdGV4dG8gZGUgYXByZXNlbnRhw6fDo28gZGUgY2FkYSBpdGVtIGRhIGxpc3RhLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgbGFiZWxgXG4gICAqL1xuICBASW5wdXQoJ3AtZmllbGQtbGFiZWwnKSBzZXQgZmllbGRMYWJlbCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fZmllbGRMYWJlbCA9IHZhbHVlIHx8IFBPX1NFTEVDVF9GSUVMRF9MQUJFTF9ERUZBVUxUO1xuICAgIGlmICh0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMub3B0aW9ucyA9IFsuLi50aGlzLm9wdGlvbnNdO1xuICAgIH1cbiAgfVxuXG4gIGdldCBmaWVsZExhYmVsKCkge1xuICAgIHJldHVybiB0aGlzLl9maWVsZExhYmVsO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogRGV2ZSBzZXIgaW5mb3JtYWRvIG8gbm9tZSBkYSBwcm9wcmllZGFkZSBkbyBvYmpldG8gcXVlIHNlcsOhIHV0aWxpemFkbyBwYXJhIGEgY29udmVyc8OjbyBkb3MgaXRlbnMgYXByZXNlbnRhZG9zIG5hIGxpc3RhIGRvIGNvbXBvbmVudGVcbiAgICogKGBwLW9wdGlvbnNgKSwgZXN0YSBwcm9wcmllZGFkZSBzZXLDoSByZXNwb25zw6F2ZWwgcGVsbyB2YWxvciBkZSBjYWRhIGl0ZW0gZGEgbGlzdGEuXG4gICAqXG4gICAqIEBkZWZhdWx0IGB2YWx1ZWBcbiAgICovXG4gIEBJbnB1dCgncC1maWVsZC12YWx1ZScpIHNldCBmaWVsZFZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9maWVsZFZhbHVlID0gdmFsdWUgfHwgUE9fU0VMRUNUX0ZJRUxEX1ZBTFVFX0RFRkFVTFQ7XG4gICAgaWYgKHRoaXMub3B0aW9ucyAmJiB0aGlzLm9wdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5vcHRpb25zID0gWy4uLnRoaXMub3B0aW9uc107XG4gICAgfVxuICB9XG5cbiAgZ2V0IGZpZWxkVmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpZWxkVmFsdWU7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZiwgZGlmZmVyczogSXRlcmFibGVEaWZmZXJzLCBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMikge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5kaWZmZXIgPSBkaWZmZXJzLmZpbmQoW10pLmNyZWF0ZShudWxsKTtcbiAgfVxuXG4gIG5nRG9DaGVjaygpIHtcbiAgICBjb25zdCBjaGFuZ2UgPSB0aGlzLmRpZmZlci5kaWZmKHRoaXMub3B0aW9ucyk7XG5cbiAgICBpZiAoY2hhbmdlKSB7XG4gICAgICB0aGlzLnZhbGlkYXRlT3B0aW9ucyh0aGlzLm9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGdW7Dp8OjbyBxdWUgYXRyaWJ1aSBmb2NvIGFvIGNvbXBvbmVudGUuXG4gICAqXG4gICAqIFBhcmEgdXRpbGl6w6EtbGEgw6kgbmVjZXNzw6FyaW8gdGVyIGEgaW5zdMOibmNpYSBkbyBjb21wb25lbnRlIG5vIERPTSwgcG9kZW5kbyBzZXIgdXRpbGl6YWRvIG8gVmlld0NoaWxkIGRhIHNlZ3VpbnRlIGZvcm1hOlxuICAgKlxuICAgKiBgYGBcbiAgICogaW1wb3J0IHsgUG9TZWxlY3RDb21wb25lbnQgfSBmcm9tICdAcG8tdWkvbmctY29tcG9uZW50cyc7XG4gICAqXG4gICAqIC4uLlxuICAgKlxuICAgKiBAVmlld0NoaWxkKFBvU2VsZWN0Q29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSBzZWxlY3Q6IFBvU2VsZWN0Q29tcG9uZW50O1xuICAgKlxuICAgKiBmb2N1c1NlbGVjdCgpIHtcbiAgICogICB0aGlzLnNlbGVjdC5mb2N1cygpO1xuICAgKiB9XG4gICAqIGBgYFxuICAgKi9cbiAgZm9jdXMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLnNlbGVjdEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIG9uQmx1cigpIHtcbiAgICB0aGlzLm9uTW9kZWxUb3VjaGVkPy4oKTtcbiAgfVxuXG4gIC8vIEFsdGVyYSBvIHZhbG9yIGFvIHNlbGVjaW9uYXIgdW0gaXRlbS5cbiAgb25TZWxlY3RDaGFuZ2UodmFsdWU6IGFueSkge1xuICAgIHRoaXMub25Nb2RlbFRvdWNoZWQ/LigpO1xuICAgIGlmICh2YWx1ZSAmJiB0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmxlbmd0aCkge1xuICAgICAgY29uc3Qgb3B0aW9uRm91bmQ6IGFueSA9IHRoaXMuZmluZE9wdGlvblZhbHVlKHZhbHVlKTtcblxuICAgICAgaWYgKG9wdGlvbkZvdW5kKSB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWVzKG9wdGlvbkZvdW5kKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvblVwZGF0ZU9wdGlvbnMoKSB7XG4gICAgaWYgKHRoaXMubW9kZWxWYWx1ZSkge1xuICAgICAgdGhpcy5vblNlbGVjdENoYW5nZSh0aGlzLm1vZGVsVmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEF0dWFsaXphIHZhbG9yZXNcbiAgdXBkYXRlVmFsdWVzKG9wdGlvbjogYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRWYWx1ZSAhPT0gb3B0aW9uW3RoaXMuZmllbGRWYWx1ZV0pIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IG9wdGlvblt0aGlzLmZpZWxkVmFsdWVdO1xuICAgICAgdGhpcy5zZWxlY3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBvcHRpb25bdGhpcy5maWVsZFZhbHVlXTtcbiAgICAgIHRoaXMudXBkYXRlTW9kZWwob3B0aW9uW3RoaXMuZmllbGRWYWx1ZV0pO1xuICAgICAgdGhpcy5kaXNwbGF5VmFsdWUgPSBvcHRpb25bdGhpcy5maWVsZExhYmVsXTtcbiAgICAgIHRoaXMuZW1pdENoYW5nZShvcHRpb25bdGhpcy5maWVsZFZhbHVlXSk7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVjZWJlIGFzIGFsdGVyYcOnw7VlcyBkbyBtb2RlbFxuICBvbldyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgIGNvbnN0IG9wdGlvbkZvdW5kOiBhbnkgPSB0aGlzLmZpbmRPcHRpb25WYWx1ZSh2YWx1ZSk7XG5cbiAgICBpZiAob3B0aW9uRm91bmQpIHtcbiAgICAgIHRoaXMuc2VsZWN0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gb3B0aW9uRm91bmQudmFsdWU7XG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBvcHRpb25Gb3VuZFt0aGlzLmZpZWxkVmFsdWVdO1xuICAgICAgdGhpcy5kaXNwbGF5VmFsdWUgPSBvcHRpb25Gb3VuZFt0aGlzLmZpZWxkTGFiZWxdO1xuICAgIH0gZWxzZSBpZiAodmFsaWRWYWx1ZSh0aGlzLnNlbGVjdGVkVmFsdWUpKSB7XG4gICAgICB0aGlzLnNlbGVjdEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMudXBkYXRlTW9kZWwodW5kZWZpbmVkKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuZGlzcGxheVZhbHVlID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHRoaXMubW9kZWxWYWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgZXh0cmFWYWxpZGF0aW9uKGM6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Nb2RlbFRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHByaXZhdGUgaXNFcXVhbCh2YWx1ZTogYW55LCBpbnB1dFZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICBpZiAoKHZhbHVlIHx8IHZhbHVlID09PSAwKSAmJiBpbnB1dFZhbHVlKSB7XG4gICAgICByZXR1cm4gdmFsdWUudG9TdHJpbmcoKSA9PT0gaW5wdXRWYWx1ZS50b1N0cmluZygpO1xuICAgIH1cblxuICAgIGlmICgodmFsdWUgPT09IG51bGwgJiYgaW5wdXRWYWx1ZSAhPT0gbnVsbCkgfHwgKHZhbHVlID09PSB1bmRlZmluZWQgJiYgaW5wdXRWYWx1ZSAhPT0gdW5kZWZpbmVkKSkge1xuICAgICAgdmFsdWUgPSBgJHt2YWx1ZX1gOyAvLyBUcmFuc2Zvcm1hbmRvIGVtIHN0cmluZ1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZSA9PT0gaW5wdXRWYWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZE9wdGlvblZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLmZpbmQob3B0aW9uID0+IHRoaXMuaXNFcXVhbChvcHRpb24udmFsdWUsIHZhbHVlKSk7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlT3B0aW9ucyhvcHRpb25zOiBBcnJheTxhbnk+KSB7XG4gICAgcmVtb3ZlRHVwbGljYXRlZE9wdGlvbnMob3B0aW9ucyk7XG4gICAgcmVtb3ZlVW5kZWZpbmVkQW5kTnVsbE9wdGlvbnMob3B0aW9ucyk7XG4gICAgcmVtb3ZlRHVwbGljYXRlZE9wdGlvbnNXaXRoRmllbGRWYWx1ZShvcHRpb25zLCB0aGlzLmZpZWxkVmFsdWUpO1xuICAgIHJlbW92ZVVuZGVmaW5lZEFuZE51bGxPcHRpb25zV2l0aEZpZWxkVmFsdWUob3B0aW9ucywgdGhpcy5maWVsZFZhbHVlKTtcbiAgfVxufVxuIiwiPHBvLWZpZWxkLWNvbnRhaW5lciBbcC1sYWJlbF09XCJsYWJlbFwiIFtwLWhlbHBdPVwiaGVscFwiIFtwLW9wdGlvbmFsXT1cIiFyZXF1aXJlZCAmJiBvcHRpb25hbFwiPlxuICA8ZGl2IGNsYXNzPVwicG8tZmllbGQtY29udGFpbmVyLWNvbnRlbnRcIj5cbiAgICA8c2VsZWN0XG4gICAgICAjc2VsZWN0XG4gICAgICBjbGFzcz1cInBvLXNlbGVjdFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVsXCJcbiAgICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXG4gICAgICBbY2xhc3MucG8tc2VsZWN0LXBsYWNlaG9sZGVyXT1cIiFzZWxlY3RlZFZhbHVlICYmICEhcGxhY2Vob2xkZXJcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAoYmx1cik9XCJvbkJsdXIoKVwiXG4gICAgICAoY2hhbmdlKT1cIm9uU2VsZWN0Q2hhbmdlKCRldmVudC50YXJnZXQudmFsdWUpXCJcbiAgICA+XG4gICAgICA8b3B0aW9uXG4gICAgICAgICpuZ0lmPVwiIXNlbGVjdGVkVmFsdWUgfHwgISFwbGFjZWhvbGRlclwiXG4gICAgICAgIFtkaXNhYmxlZF09XCIhIXBsYWNlaG9sZGVyXCJcbiAgICAgICAgW2hpZGRlbl09XCIhc2VsZWN0ZWRWYWx1ZSAmJiAhcGxhY2Vob2xkZXJcIlxuICAgICAgICBbc2VsZWN0ZWRdPVwiIXNlbGVjdGVkVmFsdWVcIlxuICAgICAgICBbdmFsdWVdPVwicGxhY2Vob2xkZXIgPz8gJydcIlxuICAgICAgPlxuICAgICAgICB7eyBwbGFjZWhvbGRlciB9fVxuICAgICAgPC9vcHRpb24+XG4gICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiIFtkaXNhYmxlZF09XCJyZWFkb25seVwiIFt2YWx1ZV09XCJvcHRpb24/Llt0aGlzLmZpZWxkVmFsdWVdXCI+XG4gICAgICAgIHt7IG9wdGlvbj8uW3RoaXMuZmllbGRMYWJlbF0gfX1cbiAgICAgIDwvb3B0aW9uPlxuICAgIDwvc2VsZWN0PlxuICA8L2Rpdj5cblxuICA8cG8tZmllbGQtY29udGFpbmVyLWJvdHRvbT48L3BvLWZpZWxkLWNvbnRhaW5lci1ib3R0b20+XG48L3BvLWZpZWxkLWNvbnRhaW5lcj5cbiJdfQ==
354
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby1zZWxlY3QvcG8tc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby1zZWxlY3QvcG8tc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBRUwsTUFBTSxFQUVOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQW1CLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5GLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIscUNBQXFDLEVBQ3JDLDZCQUE2QixFQUM3QiwyQ0FBMkMsRUFDM0MsSUFBSSxFQUNKLFVBQVUsRUFDWCxNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7SUNMNUQsaUNBTUM7SUFDQyxZQUNGO0lBQUEsaUJBQVM7Ozs7SUFOUCwrQ0FBMEIsd0RBQUEsbUNBQUEsMEZBQUE7SUFLMUIsZUFDRjtJQURFLG1EQUNGOzs7SUFDQSxpQ0FBaUc7SUFDL0YsWUFDRjtJQUFBLGlCQUFTOzs7O0lBRjhCLDBDQUFxQixrRUFBQTtJQUMxRCxlQUNGO0lBREUsd0ZBQ0Y7O0FESE4sTUFBTSw2QkFBNkIsR0FBRyxPQUFPLENBQUM7QUFDOUMsTUFBTSw2QkFBNkIsR0FBRyxPQUFPLENBQUM7QUFFOUM7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QUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBEb0NoZWNrLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBJdGVyYWJsZURpZmZlcnMsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge1xuICByZW1vdmVEdXBsaWNhdGVkT3B0aW9ucyxcbiAgcmVtb3ZlRHVwbGljYXRlZE9wdGlvbnNXaXRoRmllbGRWYWx1ZSxcbiAgcmVtb3ZlVW5kZWZpbmVkQW5kTnVsbE9wdGlvbnMsXG4gIHJlbW92ZVVuZGVmaW5lZEFuZE51bGxPcHRpb25zV2l0aEZpZWxkVmFsdWUsXG4gIHV1aWQsXG4gIHZhbGlkVmFsdWVcbn0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvdXRpbCc7XG5cbmltcG9ydCB7IElucHV0Qm9vbGVhbiB9IGZyb20gJy4uLy4uLy4uL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgUG9GaWVsZFZhbGlkYXRlTW9kZWwgfSBmcm9tICcuLi9wby1maWVsZC12YWxpZGF0ZS5tb2RlbCc7XG5pbXBvcnQgeyBQb1NlbGVjdE9wdGlvbiB9IGZyb20gJy4vcG8tc2VsZWN0LW9wdGlvbi5pbnRlcmZhY2UnO1xuXG5jb25zdCBQT19TRUxFQ1RfRklFTERfTEFCRUxfREVGQVVMVCA9ICdsYWJlbCc7XG5jb25zdCBQT19TRUxFQ1RfRklFTERfVkFMVUVfREVGQVVMVCA9ICd2YWx1ZSc7XG5cbi8qKlxuICogQGRvY3NFeHRlbmRzIFBvRmllbGRWYWxpZGF0ZU1vZGVsXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tc2VsZWN0LWJhc2ljXCIgdGl0bGU9XCJQTyBTZWxlY3QgQmFzaWNcIj5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1zZWxlY3QtYmFzaWMvc2FtcGxlLXBvLXNlbGVjdC1iYXNpYy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tc2VsZWN0LWJhc2ljL3NhbXBsZS1wby1zZWxlY3QtYmFzaWMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tc2VsZWN0LWxhYnNcIiB0aXRsZT1cIlBPIFNlbGVjdCBMYWJzXCI+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tc2VsZWN0LWxhYnMvc2FtcGxlLXBvLXNlbGVjdC1sYWJzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1zZWxlY3QtbGFicy9zYW1wbGUtcG8tc2VsZWN0LWxhYnMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tc2VsZWN0LWN1c3RvbWVyLXJlZ2lzdHJhdGlvblwiIHRpdGxlPVwiUE8gU2VsZWN0IC0gQ3VzdG9tZXIgcmVnaXN0cmF0aW9uXCI+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tc2VsZWN0LWN1c3RvbWVyLXJlZ2lzdHJhdGlvbi9zYW1wbGUtcG8tc2VsZWN0LWN1c3RvbWVyLXJlZ2lzdHJhdGlvbi5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tc2VsZWN0LWN1c3RvbWVyLXJlZ2lzdHJhdGlvbi9zYW1wbGUtcG8tc2VsZWN0LWN1c3RvbWVyLXJlZ2lzdHJhdGlvbi5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXNlbGVjdC1jdXN0b21lci1yZWdpc3RyYXRpb24vc2FtcGxlLXBvLXNlbGVjdC1jdXN0b21lci1yZWdpc3RyYXRpb24uc2VydmljZS50c1wiPiA8L2ZpbGU+XG4gKiAgIDxmaWxlIG5hbWU9J3NhbXBsZS1wby1zZWxlY3QtY3VzdG9tZXItcmVnaXN0cmF0aW9uL3NhbXBsZS1wby1zZWxlY3QtY3VzdG9tZXItcmVnaXN0cmF0aW9uLmNvbXBvbmVudC5lMmUtc3BlYy50cyc+IDwvZmlsZT5cbiAqICAgPGZpbGUgbmFtZT0nc2FtcGxlLXBvLXNlbGVjdC1jdXN0b21lci1yZWdpc3RyYXRpb24vc2FtcGxlLXBvLXNlbGVjdC1jdXN0b21lci1yZWdpc3RyYXRpb24uY29tcG9uZW50LnBvLnRzJz4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1zZWxlY3QtY29tcGFuaWVzXCIgdGl0bGU9XCJQTyBTZWxlY3QgQ29tcGFuaWVzXCI+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tc2VsZWN0LWNvbXBhbmllcy9zYW1wbGUtcG8tc2VsZWN0LWNvbXBhbmllcy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tc2VsZWN0LWNvbXBhbmllcy9zYW1wbGUtcG8tc2VsZWN0LWNvbXBhbmllcy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICpcbiAqIE8gY29tcG9uZW50ZSBwby1zZWxlY3QgZXhpYmUgdW1hIGxpc3RhIGRlIHZhbG9yZXMgZSBwZXJtaXRlIHF1ZSBvIHVzdcOhcmlvIHNlbGVjaW9uZSB1bSBkZXNzZXMgdmFsb3Jlcy5cbiAqIE9zIHZhbG9yZXMgbGlzdGFkb3MgcG9kZW0gc2VyIGZpeG9zIG91IGRpbsOibWljb3MgZGUgYWNvcmRvIGNvbSBhIG5lY2Vzc2lkYWRlIGRvIGRlc2Vudm9sdmVkb3IsIGRhbmRvIG1haXMgZmxleGliaWxpZGFkZSBhbyBjb21wb25lbnRlLlxuICogTyBwby1zZWxlY3QgbsOjbyBwZXJtaXRlIHF1ZSBvIHVzdcOhcmlvIGluZm9ybWUgdW0gdmFsb3IgZGlmZXJlbnRlIGRvcyB2YWxvcmVzIGxpc3RhZG9zLCBpc3NvIGdhcmFudGUgYSBjb25zaXN0w6puY2lhIGRhIGluZm9ybWHDp8Ojby5cbiAqIE8gcG8tc2VsZWN0IG7Do28gcGVybWl0ZSBxdWUgc2VqYW0gcGFzc2Fkb3MgdmFsb3JlcyBkdXBsaWNhZG9zLCB1bmRlZmluZWQgZSBudWxsIHBhcmEgYXMgb3DDp8O1ZXMsIGV4Y2x1aW5kby1vcyBkYSBsaXN0YS5cbiAqXG4gKiA+IEFvIHBhc3NhciB1bSB2YWxvciBwYXJhIG8gX21vZGVsXyBxdWUgbsOjbyBlc3TDoSBuYSBsaXN0YSBkZSBvcMOnw7VlcywgbyBtZXNtbyBzZXLDoSBkZWZpbmlkbyBjb21vIGB1bmRlZmluZWRgLlxuICpcbiAqIFRhbWLDqW0gZXhpc3RlIGEgcG9zc2liaWxpZGFkZSBkZSB1dGlsaXphciB1bSBfdGVtcGxhdGVfIHBhcmEgYSBleGliacOnw6NvIGRvcyBpdGVucyBkYSBsaXN0YSxcbiAqIHZlamEgbWFpcyBlbSAqKltwLWNvbWJvLW9wdGlvbi10ZW1wbGF0ZV0oL2RvY3VtZW50YXRpb24vcG8tY29tYm8tb3B0aW9uLXRlbXBsYXRlKSoqLlxuICpcbiAqID4gT2JzOiBvIHRlbXBsYXRlICoqW3Atc2VsZWN0LW9wdGlvbi10ZW1wbGF0ZV0oL2RvY3VtZW50YXRpb24vcG8tc2VsZWN0LW9wdGlvbi10ZW1wbGF0ZSkqKiBzZXLDoSBkZXByZWNpYWRvIG5hIHZlcnPDo28gMTQueC54LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUG9TZWxlY3RDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQb1NlbGVjdENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBQb1NlbGVjdENvbXBvbmVudCBleHRlbmRzIFBvRmllbGRWYWxpZGF0ZU1vZGVsPGFueT4gaW1wbGVtZW50cyBEb0NoZWNrIHtcbiAgQFZpZXdDaGlsZCgnc2VsZWN0JywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSkgc2VsZWN0RWxlbWVudDogRWxlbWVudFJlZjtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBGdW7Dp8OjbyBwYXJhIGF0dWFsaXphciBvIG5nTW9kZWwgZG8gY29tcG9uZW50ZSwgbmVjZXNzw6FyaW8gcXVhbmRvIG7Do28gZm9yIHV0aWxpemFkbyBkZW50cm8gZGEgdGFnIGZvcm0uXG4gICAqXG4gICAqIE5hIHZlcnPDo28gMTIuMi4wIGRvIEFuZ3VsYXIgYSB2ZXJpZmljYcOnw6NvIGBzdHJpY3RUZW1wbGF0ZXNgIHZlbSB0cnVlIGNvbW8gZGVmYXVsdC4gUG9ydGFudG8sIHBhcmEgdXRpbGl6YXJcbiAgICogdHdvLXdheSBiaW5kaW5nIG5vIGNvbXBvbmVudGUgZGV2ZSBzZSB1dGlsaXphciBkYSBzZWd1aW50ZSBmb3JtYTpcbiAgICpcbiAgICogYGBgXG4gICAqIDxwby1zZWxlY3QgLi4uIFtuZ01vZGVsXT1cInNlbGVjdE1vZGVsXCIgKG5nTW9kZWxDaGFuZ2UpPVwic2VsZWN0TW9kZWwgPSAkZXZlbnRcIj4gPC9wby1zZWxlY3Q+XG4gICAqIGBgYFxuICAgKi9cbiAgQE91dHB1dCgnbmdNb2RlbENoYW5nZScpIG5nTW9kZWxDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogSW5kaWNhIHF1ZSBvIGNhbXBvIHNlcsOhIHNvbWVudGUgcGFyYSBsZWl0dXJhLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICBASW5wdXQoJ3AtcmVhZG9ubHknKSBASW5wdXRCb29sZWFuKCkgcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogTWVuc2FnZW0gcXVlIGFwYXJlY2Vyw6EgZW5xdWFudG8gbmVuaHVtYSBvcMOnw6NvIGVzdGl2ZXIgc2VsZWNpb25hZGEuICovXG4gIEBJbnB1dCgncC1wbGFjZWhvbGRlcicpIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuXG4gIGRpc3BsYXlWYWx1ZTtcbiAgaWQgPSBgcG8tc2VsZWN0WyR7dXVpZCgpfV1gO1xuICBtb2RlbFZhbHVlOiBhbnk7XG4gIHNlbGVjdGVkVmFsdWU6IGFueTtcbiAgcHJvdGVjdGVkIG9uTW9kZWxUb3VjaGVkOiBhbnk7XG5cbiAgcHJpdmF0ZSBkaWZmZXI6IGFueTtcbiAgcHJpdmF0ZSBfZmllbGRMYWJlbD86IHN0cmluZyA9IFBPX1NFTEVDVF9GSUVMRF9MQUJFTF9ERUZBVUxUO1xuICBwcml2YXRlIF9maWVsZFZhbHVlPzogc3RyaW5nID0gUE9fU0VMRUNUX0ZJRUxEX1ZBTFVFX0RFRkFVTFQ7XG4gIHByaXZhdGUgX29wdGlvbnM6IEFycmF5PFBvU2VsZWN0T3B0aW9uPiB8IEFycmF5PGFueT47XG5cbiAgLyoqXG4gICAqIE5lc3RhIHByb3ByaWVkYWRlIGRldmUgc2VyIGRlZmluaWRvIHVtYSBjb2xlw6fDo28gZGUgb2JqZXRvcyBxdWUgaW1wbGVtZW50YW0gYSBpbnRlcmZhY2UgYFBvU2VsZWN0T3B0aW9uYC5cbiAgICpcbiAgICogQ2FzbyBlc3RhIGxpc3RhIGVzdGl2ZXIgdmF6aWEsIG8gbW9kZWwgc2Vyw6EgYHVuZGVmaW5lZGAuXG4gICAqXG4gICAqID4gRXNzYSBwcm9wcmllZGFkZSDDqSBpbXV0w6F2ZWwsIG91IHNlamEsIHNlbXByZSBxdWUgcXVpc2VyIGF0dWFsaXphciBhIGxpc3RhIGRlIG9ww6fDtWVzIGRpc3BvbsOtdmVpc1xuICAgKiBhdHVhbGl6ZSBhIHJlZmVyw6puY2lhIGRvIG9iamV0bzpcbiAgICpcbiAgICogYGBgXG4gICAqIC8vIGF0dWFsaXphIGEgcmVmZXLDqm5jaWEgZG8gb2JqZXRvIGdhcmFudGluZG8gYSBhdHVhbGl6YcOnw6NvIGRvIHRlbXBsYXRlXG4gICAqIHRoaXMub3B0aW9ucyA9IFsuLi50aGlzLm9wdGlvbnMsIHsgdmFsdWU6ICd4JywgbGFiZWw6ICdOb3ZhIG9ww6fDo28nIH1dO1xuICAgKlxuICAgKiAvLyBldml0ZSwgcG9pcyBuw6NvIGF0dWFsaXphIGEgcmVmZXLDqm5jaWEgZG8gb2JqZXRvIHBvZGVuZG8gZ2VyYXIgYXRyYXNvcyBuYSBhdHVhbGl6YcOnw6NvIGRvIHRlbXBsYXRlXG4gICAqIHRoaXMub3B0aW9ucy5wdXNoKHsgdmFsdWU6ICd4JywgbGFiZWw6ICdOb3ZhIG9ww6fDo28nIH0pO1xuICAgKiBgYGBcbiAgICovXG4gIEBJbnB1dCgncC1vcHRpb25zJykgc2V0IG9wdGlvbnMob3B0aW9uczogQXJyYXk8YW55Pikge1xuICAgIGlmICh0aGlzLmZpZWxkTGFiZWwgJiYgdGhpcy5maWVsZFZhbHVlKSB7XG4gICAgICBvcHRpb25zLm1hcChvcHRpb24gPT4ge1xuICAgICAgICBvcHRpb24ubGFiZWwgPSBvcHRpb25bdGhpcy5maWVsZExhYmVsXTtcbiAgICAgICAgb3B0aW9uLnZhbHVlID0gb3B0aW9uW3RoaXMuZmllbGRWYWx1ZV07XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLnZhbGlkYXRlT3B0aW9ucyhbLi4ub3B0aW9uc10pO1xuICAgIHRoaXMub25VcGRhdGVPcHRpb25zKCk7XG4gICAgdGhpcy5fb3B0aW9ucyA9IFsuLi5vcHRpb25zXTtcbiAgfVxuXG4gIGdldCBvcHRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLl9vcHRpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogRGV2ZSBzZXIgaW5mb3JtYWRvIG8gbm9tZSBkYSBwcm9wcmllZGFkZSBkbyBvYmpldG8gcXVlIHNlcsOhIHV0aWxpemFkbyBwYXJhIGEgY29udmVyc8OjbyBkb3MgaXRlbnMgYXByZXNlbnRhZG9zIG5hIGxpc3RhIGRvIGNvbXBvbmVudGVcbiAgICogKGBwLW9wdGlvbnNgKSwgZXN0YSBwcm9wcmllZGFkZSBzZXLDoSByZXNwb25zw6F2ZWwgcGVsbyB0ZXh0byBkZSBhcHJlc2VudGHDp8OjbyBkZSBjYWRhIGl0ZW0gZGEgbGlzdGEuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBsYWJlbGBcbiAgICovXG4gIEBJbnB1dCgncC1maWVsZC1sYWJlbCcpIHNldCBmaWVsZExhYmVsKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9maWVsZExhYmVsID0gdmFsdWUgfHwgUE9fU0VMRUNUX0ZJRUxEX0xBQkVMX0RFRkFVTFQ7XG4gICAgaWYgKHRoaXMub3B0aW9ucyAmJiB0aGlzLm9wdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5vcHRpb25zID0gWy4uLnRoaXMub3B0aW9uc107XG4gICAgfVxuICB9XG5cbiAgZ2V0IGZpZWxkTGFiZWwoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpZWxkTGFiZWw7XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBEZXZlIHNlciBpbmZvcm1hZG8gbyBub21lIGRhIHByb3ByaWVkYWRlIGRvIG9iamV0byBxdWUgc2Vyw6EgdXRpbGl6YWRvIHBhcmEgYSBjb252ZXJzw6NvIGRvcyBpdGVucyBhcHJlc2VudGFkb3MgbmEgbGlzdGEgZG8gY29tcG9uZW50ZVxuICAgKiAoYHAtb3B0aW9uc2ApLCBlc3RhIHByb3ByaWVkYWRlIHNlcsOhIHJlc3BvbnPDoXZlbCBwZWxvIHZhbG9yIGRlIGNhZGEgaXRlbSBkYSBsaXN0YS5cbiAgICpcbiAgICogQGRlZmF1bHQgYHZhbHVlYFxuICAgKi9cbiAgQElucHV0KCdwLWZpZWxkLXZhbHVlJykgc2V0IGZpZWxkVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2ZpZWxkVmFsdWUgPSB2YWx1ZSB8fCBQT19TRUxFQ1RfRklFTERfVkFMVUVfREVGQVVMVDtcbiAgICBpZiAodGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLm9wdGlvbnMgPSBbLi4udGhpcy5vcHRpb25zXTtcbiAgICB9XG4gIH1cblxuICBnZXQgZmllbGRWYWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZmllbGRWYWx1ZTtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLCBkaWZmZXJzOiBJdGVyYWJsZURpZmZlcnMsIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmRpZmZlciA9IGRpZmZlcnMuZmluZChbXSkuY3JlYXRlKG51bGwpO1xuICB9XG5cbiAgbmdEb0NoZWNrKCkge1xuICAgIGNvbnN0IGNoYW5nZSA9IHRoaXMuZGlmZmVyLmRpZmYodGhpcy5vcHRpb25zKTtcblxuICAgIGlmIChjaGFuZ2UpIHtcbiAgICAgIHRoaXMudmFsaWRhdGVPcHRpb25zKHRoaXMub3B0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZ1bsOnw6NvIHF1ZSBhdHJpYnVpIGZvY28gYW8gY29tcG9uZW50ZS5cbiAgICpcbiAgICogUGFyYSB1dGlsaXrDoS1sYSDDqSBuZWNlc3PDoXJpbyB0ZXIgYSBpbnN0w6JuY2lhIGRvIGNvbXBvbmVudGUgbm8gRE9NLCBwb2RlbmRvIHNlciB1dGlsaXphZG8gbyBWaWV3Q2hpbGQgZGEgc2VndWludGUgZm9ybWE6XG4gICAqXG4gICAqIGBgYFxuICAgKiBpbXBvcnQgeyBQb1NlbGVjdENvbXBvbmVudCB9IGZyb20gJ0Bwby11aS9uZy1jb21wb25lbnRzJztcbiAgICpcbiAgICogLi4uXG4gICAqXG4gICAqIEBWaWV3Q2hpbGQoUG9TZWxlY3RDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIHNlbGVjdDogUG9TZWxlY3RDb21wb25lbnQ7XG4gICAqXG4gICAqIGZvY3VzU2VsZWN0KCkge1xuICAgKiAgIHRoaXMuc2VsZWN0LmZvY3VzKCk7XG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBmb2N1cygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgb25CbHVyKCkge1xuICAgIHRoaXMub25Nb2RlbFRvdWNoZWQ/LigpO1xuICB9XG5cbiAgLy8gQWx0ZXJhIG8gdmFsb3IgYW8gc2VsZWNpb25hciB1bSBpdGVtLlxuICBvblNlbGVjdENoYW5nZSh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5vbk1vZGVsVG91Y2hlZD8uKCk7XG4gICAgaWYgKHZhbHVlICYmIHRoaXMub3B0aW9ucyAmJiB0aGlzLm9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICBjb25zdCBvcHRpb25Gb3VuZDogYW55ID0gdGhpcy5maW5kT3B0aW9uVmFsdWUodmFsdWUpO1xuXG4gICAgICBpZiAob3B0aW9uRm91bmQpIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZXMob3B0aW9uRm91bmQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uVXBkYXRlT3B0aW9ucygpIHtcbiAgICBpZiAodGhpcy5tb2RlbFZhbHVlKSB7XG4gICAgICB0aGlzLm9uU2VsZWN0Q2hhbmdlKHRoaXMubW9kZWxWYWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQXR1YWxpemEgdmFsb3Jlc1xuICB1cGRhdGVWYWx1ZXMob3B0aW9uOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZFZhbHVlICE9PSBvcHRpb25bdGhpcy5maWVsZFZhbHVlXSkge1xuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gb3B0aW9uW3RoaXMuZmllbGRWYWx1ZV07XG4gICAgICB0aGlzLnNlbGVjdEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9IG9wdGlvblt0aGlzLmZpZWxkVmFsdWVdO1xuICAgICAgdGhpcy51cGRhdGVNb2RlbChvcHRpb25bdGhpcy5maWVsZFZhbHVlXSk7XG4gICAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IG9wdGlvblt0aGlzLmZpZWxkTGFiZWxdO1xuICAgICAgdGhpcy5lbWl0Q2hhbmdlKG9wdGlvblt0aGlzLmZpZWxkVmFsdWVdKTtcbiAgICB9XG4gIH1cblxuICAvLyBSZWNlYmUgYXMgYWx0ZXJhw6fDtWVzIGRvIG1vZGVsXG4gIG9uV3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgY29uc3Qgb3B0aW9uRm91bmQ6IGFueSA9IHRoaXMuZmluZE9wdGlvblZhbHVlKHZhbHVlKTtcblxuICAgIGlmIChvcHRpb25Gb3VuZCkge1xuICAgICAgdGhpcy5zZWxlY3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBvcHRpb25Gb3VuZC52YWx1ZTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IG9wdGlvbkZvdW5kW3RoaXMuZmllbGRWYWx1ZV07XG4gICAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IG9wdGlvbkZvdW5kW3RoaXMuZmllbGRMYWJlbF07XG4gICAgfSBlbHNlIGlmICh2YWxpZFZhbHVlKHRoaXMuc2VsZWN0ZWRWYWx1ZSkpIHtcbiAgICAgIHRoaXMuc2VsZWN0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy51cGRhdGVNb2RlbCh1bmRlZmluZWQpO1xuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5kaXNwbGF5VmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgdGhpcy5tb2RlbFZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBleHRyYVZhbGlkYXRpb24oYzogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbk1vZGVsVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0VxdWFsKHZhbHVlOiBhbnksIGlucHV0VmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIGlmICgodmFsdWUgfHwgdmFsdWUgPT09IDApICYmIGlucHV0VmFsdWUpIHtcbiAgICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygpID09PSBpbnB1dFZhbHVlLnRvU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgaWYgKCh2YWx1ZSA9PT0gbnVsbCAmJiBpbnB1dFZhbHVlICE9PSBudWxsKSB8fCAodmFsdWUgPT09IHVuZGVmaW5lZCAmJiBpbnB1dFZhbHVlICE9PSB1bmRlZmluZWQpKSB7XG4gICAgICB2YWx1ZSA9IGAke3ZhbHVlfWA7IC8vIFRyYW5zZm9ybWFuZG8gZW0gc3RyaW5nXG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlID09PSBpbnB1dFZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kT3B0aW9uVmFsdWUodmFsdWU6IGFueSkge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMuZmluZChvcHRpb24gPT4gdGhpcy5pc0VxdWFsKG9wdGlvbi52YWx1ZSwgdmFsdWUpKTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVPcHRpb25zKG9wdGlvbnM6IEFycmF5PGFueT4pIHtcbiAgICByZW1vdmVEdXBsaWNhdGVkT3B0aW9ucyhvcHRpb25zKTtcbiAgICByZW1vdmVVbmRlZmluZWRBbmROdWxsT3B0aW9ucyhvcHRpb25zKTtcbiAgICByZW1vdmVEdXBsaWNhdGVkT3B0aW9uc1dpdGhGaWVsZFZhbHVlKG9wdGlvbnMsIHRoaXMuZmllbGRWYWx1ZSk7XG4gICAgcmVtb3ZlVW5kZWZpbmVkQW5kTnVsbE9wdGlvbnNXaXRoRmllbGRWYWx1ZShvcHRpb25zLCB0aGlzLmZpZWxkVmFsdWUpO1xuICB9XG59XG4iLCI8cG8tZmllbGQtY29udGFpbmVyXG4gIFtwLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW3AtaGVscF09XCJoZWxwXCJcbiAgW3AtaWRdPVwiaWRcIlxuICBbcC1sYWJlbF09XCJsYWJlbFwiXG4gIFtwLW9wdGlvbmFsXT1cIm9wdGlvbmFsXCJcbiAgW3AtcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICBbcC1zaG93LXJlcXVpcmVkXT1cInNob3dSZXF1aXJlZFwiXG4+XG4gIDxkaXYgY2xhc3M9XCJwby1maWVsZC1jb250YWluZXItY29udGVudFwiPlxuICAgIDxzZWxlY3RcbiAgICAgICNzZWxlY3RcbiAgICAgIGNsYXNzPVwicG8tc2VsZWN0XCJcbiAgICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXG4gICAgICBbY2xhc3MucG8tc2VsZWN0LXBsYWNlaG9sZGVyXT1cIiFzZWxlY3RlZFZhbHVlICYmICEhcGxhY2Vob2xkZXJcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtpZF09XCJpZFwiXG4gICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgKGJsdXIpPVwib25CbHVyKClcIlxuICAgICAgKGNoYW5nZSk9XCJvblNlbGVjdENoYW5nZSgkZXZlbnQudGFyZ2V0LnZhbHVlKVwiXG4gICAgPlxuICAgICAgPG9wdGlvblxuICAgICAgICAqbmdJZj1cIiFzZWxlY3RlZFZhbHVlIHx8ICEhcGxhY2Vob2xkZXJcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiISFwbGFjZWhvbGRlclwiXG4gICAgICAgIFtoaWRkZW5dPVwiIXNlbGVjdGVkVmFsdWUgJiYgIXBsYWNlaG9sZGVyXCJcbiAgICAgICAgW3NlbGVjdGVkXT1cIiFzZWxlY3RlZFZhbHVlXCJcbiAgICAgICAgW3ZhbHVlXT1cInBsYWNlaG9sZGVyID8/ICcnXCJcbiAgICAgID5cbiAgICAgICAge3sgcGxhY2Vob2xkZXIgfX1cbiAgICAgIDwvb3B0aW9uPlxuICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnNcIiBbZGlzYWJsZWRdPVwicmVhZG9ubHlcIiBbdmFsdWVdPVwib3B0aW9uPy5bdGhpcy5maWVsZFZhbHVlXVwiPlxuICAgICAgICB7eyBvcHRpb24/Llt0aGlzLmZpZWxkTGFiZWxdIH19XG4gICAgICA8L29wdGlvbj5cbiAgICA8L3NlbGVjdD5cbiAgPC9kaXY+XG5cbiAgPHBvLWZpZWxkLWNvbnRhaW5lci1ib3R0b20+PC9wby1maWVsZC1jb250YWluZXItYm90dG9tPlxuPC9wby1maWVsZC1jb250YWluZXI+XG4iXX0=
@@ -1,5 +1,6 @@
1
1
  import { ChangeDetectionStrategy, Component, forwardRef, Input, ViewChild } from '@angular/core';
2
2
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { uuid } from '../../../utils/util';
3
4
  import { PoFieldModel } from '../po-field.model';
4
5
  import { PoKeyCodeEnum } from './../../../enums/po-key-code.enum';
5
6
  import { PoSwitchLabelPosition } from './po-switch-label-position.enum';
@@ -66,6 +67,7 @@ export class PoSwitchComponent extends PoFieldModel {
66
67
  constructor(changeDetector) {
67
68
  super();
68
69
  this.changeDetector = changeDetector;
70
+ this.id = `po-switch[${uuid()}]`;
69
71
  this.value = false;
70
72
  this._labelOff = 'false';
71
73
  this._labelOn = 'true';
@@ -180,7 +182,7 @@ PoSwitchComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoSwitchC
180
182
  useExisting: forwardRef(() => PoSwitchComponent),
181
183
  multi: true
182
184
  }
183
- ]), i0.ɵɵInheritDefinitionFeature], decls: 11, vars: 10, consts: [[3, "p-label", "p-help"], [1, "po-field-container-content"], [1, "po-switch"], ["role", "switch", 1, "po-switch-container", 3, "tabindex", "blur", "click", "keydown"], ["switchContainer", ""], [1, "po-switch-track"], [1, "po-switch-toggle"], ["class", "po-switch-icon", "p-icon", "po-icon-ok", 4, "ngIf"], [1, "po-switch-label", 3, "click"], ["p-icon", "po-icon-ok", 1, "po-switch-icon"]], template: function PoSwitchComponent_Template(rf, ctx) { if (rf & 1) {
185
+ ]), i0.ɵɵInheritDefinitionFeature], decls: 11, vars: 13, consts: [[3, "p-disabled", "p-help", "p-id", "p-label"], [1, "po-field-container-content"], [1, "po-switch"], ["role", "switch", 1, "po-switch-container", 3, "id", "tabindex", "blur", "click", "keydown"], ["switchContainer", ""], [1, "po-switch-track"], [1, "po-switch-toggle"], ["class", "po-switch-icon", "p-icon", "po-icon-ok", 4, "ngIf"], [1, "po-switch-label", 3, "click"], ["p-icon", "po-icon-ok", 1, "po-switch-icon"]], template: function PoSwitchComponent_Template(rf, ctx) { if (rf & 1) {
184
186
  i0.ɵɵelementStart(0, "po-field-container", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3, 4);
185
187
  i0.ɵɵlistener("blur", function PoSwitchComponent_Template_div_blur_3_listener() { return ctx.onBlur(); })("click", function PoSwitchComponent_Template_div_click_3_listener() { return ctx.eventClick(); })("keydown", function PoSwitchComponent_Template_div_keydown_3_listener($event) { return ctx.onKeyDown($event); });
186
188
  i0.ɵɵelementStart(5, "div", 5)(6, "div", 6);
@@ -193,15 +195,17 @@ PoSwitchComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoSwitchC
193
195
  i0.ɵɵelement(10, "po-field-container-bottom");
194
196
  i0.ɵɵelementEnd();
195
197
  } if (rf & 2) {
196
- i0.ɵɵproperty("p-label", ctx.label)("p-help", ctx.help);
198
+ i0.ɵɵproperty("p-disabled", ctx.disabled)("p-help", ctx.help)("p-id", ctx.id)("p-label", ctx.label);
197
199
  i0.ɵɵadvance(1);
198
200
  i0.ɵɵattribute("name", ctx.name);
199
201
  i0.ɵɵadvance(1);
200
202
  i0.ɵɵattribute("data-label-position", ctx.getLabelPosition());
201
203
  i0.ɵɵadvance(1);
202
- i0.ɵɵproperty("tabindex", ctx.disabled ? -1 : 0);
203
- i0.ɵɵattribute("aria-checked", ctx.value)("aria-disabled", ctx.disabled)("aria-label", ctx.value === true ? ctx.labelOn : ctx.labelOff);
204
- i0.ɵɵadvance(4);
204
+ i0.ɵɵproperty("id", ctx.id)("tabindex", ctx.disabled ? -1 : 0);
205
+ i0.ɵɵattribute("aria-checked", ctx.value)("aria-disabled", ctx.disabled);
206
+ i0.ɵɵadvance(3);
207
+ i0.ɵɵattribute("aria-label", ctx.value === true ? ctx.labelOn : ctx.labelOff);
208
+ i0.ɵɵadvance(1);
205
209
  i0.ɵɵproperty("ngIf", ctx.value === true);
206
210
  i0.ɵɵadvance(2);
207
211
  i0.ɵɵtextInterpolate1(" ", ctx.value === true ? ctx.labelOn : ctx.labelOff, " ");
@@ -214,7 +218,7 @@ PoSwitchComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoSwitchC
214
218
  useExisting: forwardRef(() => PoSwitchComponent),
215
219
  multi: true
216
220
  }
217
- ], template: "<po-field-container [p-label]=\"label\" [p-help]=\"help\">\n <div class=\"po-field-container-content\" [attr.name]=\"name\">\n <div class=\"po-switch\" [attr.data-label-position]=\"getLabelPosition()\">\n <div\n #switchContainer\n class=\"po-switch-container\"\n role=\"switch\"\n [attr.aria-checked]=\"value\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-label]=\"value === true ? labelOn : labelOff\"\n [tabindex]=\"disabled ? -1 : 0\"\n (blur)=\"onBlur()\"\n (click)=\"eventClick()\"\n (keydown)=\"onKeyDown($event)\"\n >\n <div class=\"po-switch-track\">\n <div class=\"po-switch-toggle\">\n <po-icon *ngIf=\"value === true\" class=\"po-switch-icon\" p-icon=\"po-icon-ok\"></po-icon>\n </div>\n </div>\n </div>\n\n <span class=\"po-switch-label\" (click)=\"eventClick()\">\n {{ value === true ? labelOn : labelOff }}\n </span>\n </div>\n </div>\n\n <po-field-container-bottom></po-field-container-bottom>\n</po-field-container>\n" }]
221
+ ], template: "<po-field-container [p-disabled]=\"disabled\" [p-help]=\"help\" [p-id]=\"id\" [p-label]=\"label\">\n <div class=\"po-field-container-content\" [attr.name]=\"name\">\n <div class=\"po-switch\" [attr.data-label-position]=\"getLabelPosition()\">\n <div\n #switchContainer\n class=\"po-switch-container\"\n role=\"switch\"\n [attr.aria-checked]=\"value\"\n [attr.aria-disabled]=\"disabled\"\n [id]=\"id\"\n [tabindex]=\"disabled ? -1 : 0\"\n (blur)=\"onBlur()\"\n (click)=\"eventClick()\"\n (keydown)=\"onKeyDown($event)\"\n >\n <div class=\"po-switch-track\">\n <div class=\"po-switch-toggle\" [attr.aria-label]=\"value === true ? labelOn : labelOff\">\n <po-icon *ngIf=\"value === true\" class=\"po-switch-icon\" p-icon=\"po-icon-ok\"></po-icon>\n </div>\n </div>\n </div>\n\n <span class=\"po-switch-label\" (click)=\"eventClick()\">\n {{ value === true ? labelOn : labelOff }}\n </span>\n </div>\n </div>\n\n <po-field-container-bottom></po-field-container-bottom>\n</po-field-container>\n" }]
218
222
  }], function () { return [{ type: i0.ChangeDetectorRef }]; }, { switchContainer: [{
219
223
  type: ViewChild,
220
224
  args: ['switchContainer', { static: true }]
@@ -228,4 +232,4 @@ PoSwitchComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoSwitchC
228
232
  type: Input,
229
233
  args: ['p-label-on']
230
234
  }] }); })();
231
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tc3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby1zd2l0Y2gvcG8tc3dpdGNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby1zd2l0Y2gvcG8tc3dpdGNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFVBQVUsRUFDVixLQUFLLEVBQ0wsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7O0lDRzVELDZCQUFxRjs7QUREakc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpREc7QUFhSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsWUFBcUI7SUFvRDFELFlBQW9CLGNBQWlDO1FBQ25ELEtBQUssRUFBRSxDQUFDO1FBRFUsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBakRyRCxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBRU4sY0FBUyxHQUFXLE9BQU8sQ0FBQztRQUM1QixhQUFRLEdBQVcsTUFBTSxDQUFDO1FBQzFCLG1CQUFjLEdBQTBCLHFCQUFxQixDQUFDLEtBQUssQ0FBQztJQStDNUUsQ0FBQztJQTdDRDs7Ozs7Ozs7T0FRRztJQUNILElBQStCLGFBQWEsQ0FBQyxR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OEJBQTZCLGFBQUE7UUFFekIsMEVBQXFGO1FBQ3ZGLGlCQUFNLEVBQUEsRUFBQTtRQUlWLCtCQUFxRDtRQUF2Qiw0RkFBUyxnQkFBWSxJQUFDO1FBQ2xELFlBQ0Y7UUFBQSxpQkFBTyxFQUFBLEVBQUE7UUFJWCw2Q0FBdUQ7UUFDekQsaUJBQXFCOztRQTdCRCxtQ0FBaUIsb0JBQUE7UUFDSyxlQUFrQjtRQUFsQixnQ0FBa0I7UUFDakMsZUFBK0M7UUFBL0MsNkRBQStDO1FBUWxFLGVBQThCO1FBQTlCLGdEQUE4QjtRQUg5Qix5Q0FBMkIsK0JBQUEsK0RBQUE7UUFVYixlQUFvQjtRQUFwQix5Q0FBb0I7UUFNbEMsZUFDRjtRQURFLGdGQUNGOzt1RkRzRE8saUJBQWlCO2NBWjdCLFNBQVM7MkJBQ0UsV0FBVyxtQkFFSix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGtCQUFrQixDQUFDO3dCQUNoRCxLQUFLLEVBQUUsSUFBSTtxQkFDWjtpQkFDRjtvRUFHK0MsZUFBZTtrQkFBOUQsU0FBUzttQkFBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7WUFpQmYsYUFBYTtrQkFBM0MsS0FBSzttQkFBQyxrQkFBa0I7WUFhQyxRQUFRO2tCQUFqQyxLQUFLO21CQUFDLGFBQWE7WUFhSyxPQUFPO2tCQUEvQixLQUFLO21CQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBQb0ZpZWxkTW9kZWwgfSBmcm9tICcuLi9wby1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBQb0tleUNvZGVFbnVtIH0gZnJvbSAnLi8uLi8uLi8uLi9lbnVtcy9wby1rZXktY29kZS5lbnVtJztcblxuaW1wb3J0IHsgUG9Td2l0Y2hMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi9wby1zd2l0Y2gtbGFiZWwtcG9zaXRpb24uZW51bSc7XG5cbi8qKlxuICogQGRvY3NFeHRlbmRzIFBvRmllbGRNb2RlbFxuICpcbiAqIEBkZXNjcmlwdGlvblxuICpcbiAqIE8gY29tcG9uZW50ZSBgcG8tc3dpdGNoYCDDqSB1bSBbY2hlY2tib3hdKC9kb2N1bWVudGF0aW9uL3BvLWNoZWNrYm94LWdyb3VwKSBtYWlzIGludHVpdGl2bywgcG9pcyBmYXogYW5hbG9naWEgYSB1bSBpbnRlcnJ1cHRvci5cbiAqIERldmUgc2VyIHVzYWRvIHF1YW5kbyBkZXNlamEtc2UgdHJhbnNtaXRpciBhIGlkZWlhIGRlIGxpZ2FyIC8gZGVzbGlnYXIgdW1hIGZ1bmNpb25hbGlkYWRlIGVzcGVjw61maWNhLlxuICpcbiAqIFBvZGUtc2UgbGlnYXIgb3UgZGVzbGlnYXIgbyBzd2l0Y2ggdXRpbGl6YW5kbyBhIHRlY2xhIGRlIGVzcGHDp28gb3UgbyBjbGlxdWUgZG8gbW91c2UuXG4gKlxuICogTyB0ZXh0byBleGliaWRvIHBvZGUgc2VyIGFsdGVyYWRvIGRlIGFjb3JkbyBjb20gbyB2YWxvciBzZXRhZG8gYXVtZW50YW5kbyBhcyBwb3NzaWJpbGlkYWRlcyBkZSB1c28gZG8gY29tcG9uZW50ZSxcbiAqIHBvcnRhbnRvLCByZWNvbWVuZGEtc2UgaW5mb3JtYXIgdGV4dG9zIHF1ZSBjb250ZXh0dWFsaXplbSBzZXUgdXNvIHBhcmEgcXVlIGZhY2lsaXRlIGEgY29tcHJlZW5zw6NvIGRvIHVzdcOhcmlvLlxuICpcbiAqID4gTyBjb21wb25lbnRlIG7Do28gYWx0ZXJhIG8gdmFsb3IgaW5jaWFsIGluZm9ybWFkbyBubyAqbW9kZWwqLCBwb3J0YW50byBpbmRpY2Etc2UgaW5pY2lhbGl6YS1sbyBjYXNvIHRlciBuZWNlc3NpZGFkZS5cbiAqXG4gKiAjIyMjIEJvYXMgcHLDoXRpY2FzXG4gKlxuICogLSBFdml0ZSBgbGFiZWxzYCBleHRlbnNvcyBxdWUgcXVlYnJhbSBvIGxheW91dCBkbyBgcG8tc3dpdGNoYCwgdXNlIGBsYWJlbHNgIGRpcmV0b3MsIGN1cnRvcyBlIGludHVpdGl2b3MuXG4gKlxuICogIyMjIyBBY2Vzc2liaWxpZGFkZSB0cmF0YWRhIG5vIGNvbXBvbmVudGVcbiAqXG4gKiBBbGd1bWFzIGRpcmV0cml6ZXMgZGUgYWNlc3NpYmlsaWRhZGUgasOhIHPDo28gdHJhdGFkYXMgbm8gY29tcG9uZW50ZSwgaW50ZXJuYW1lbnRlLCBlIG7Do28gcG9kZW0gc2VyIGFsdGVyYWRhcyBwZWxvIHByb3ByaWV0w6FyaW8gZG8gY29udGXDumRvLiBTw6NvIGVsYXM6XG4gKlxuICogLSBRdWFuZG8gZW0gZm9jbywgbyBzd2l0Y2ggw6kgYXRpdmFkbyB1c2FuZG8gYSB0ZWNsYSBkZSBFc3Bhw6dvLiBbVzNDIFdBSS1BUklBIDMuNSBTd2l0Y2ggLSBLZXlib2FyZCBJbnRlcmFjdGlvbl0oaHR0cHM6Ly93d3cudzMub3JnL1dBSS9BUklBL2FwZy9wYXR0ZXJucy9zd2l0Y2gvI2tleWJvYXJkLWludGVyYWN0aW9uLTE5KVxuICogLSBBIMOhcmVhIGRvIGZvY28gcHJlY2lzYXIgdGVyIHVtYSBlc3Blc3N1cmEgZGUgcGVsbyBtZW5vcyAyIHBpeGVscyBDU1MgZSBvIGZvY28gbsOjbyBwb2RlIGZpY2FyIGVzY29uZGlkbyBwb3Igb3V0cm9zIGVsZW1lbnRvcyBkYSB0ZWxhLiBbV0NBRyAyLjQuMTI6IEZvY3VzIEFwcGVhcmFuY2VdKGh0dHBzOi8vd3d3LnczLm9yZy9XQUkvV0NBRzIyL1VuZGVyc3RhbmRpbmcvZm9jdXMtYXBwZWFyYW5jZS1lbmhhbmNlZClcbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1zd2l0Y2gtYmFzaWNcIiB0aXRsZT1cIlBPIFN3aXRjaCBCYXNpY1wiPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXN3aXRjaC1iYXNpYy9zYW1wbGUtcG8tc3dpdGNoLWJhc2ljLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1zd2l0Y2gtYmFzaWMvc2FtcGxlLXBvLXN3aXRjaC1iYXNpYy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1zd2l0Y2gtbGFic1wiIHRpdGxlPVwiUE8gU3dpdGNoIExhYnNcIj5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1zd2l0Y2gtbGFicy9zYW1wbGUtcG8tc3dpdGNoLWxhYnMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXN3aXRjaC1sYWJzL3NhbXBsZS1wby1zd2l0Y2gtbGFicy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXN3aXRjaC1sYWJzL3NhbXBsZS1wby1zd2l0Y2gtbGFicy5jb21wb25lbnQuZTJlLXNwZWMudHNcIj4gPC9maWxlPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXN3aXRjaC1sYWJzL3NhbXBsZS1wby1zd2l0Y2gtbGFicy5jb21wb25lbnQucG8udHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1zd2l0Y2gtb3JkZXJcIiB0aXRsZT1cIlBPIFN3aXRjaCAtIE9yZGVyIFN1bW1hcnlcIj5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1zd2l0Y2gtb3JkZXIvc2FtcGxlLXBvLXN3aXRjaC1vcmRlci5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tc3dpdGNoLW9yZGVyL3NhbXBsZS1wby1zd2l0Y2gtb3JkZXIuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tc3dpdGNoLW9yZGVyLXJlYWN0aXZlLWZvcm1cIiB0aXRsZT1cIlBPIFN3aXRjaCAtIE9yZGVyIFN1bW1hcnkgUmVhY3RpdmUgRm9ybVwiPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXN3aXRjaC1vcmRlci1yZWFjdGl2ZS1mb3JtL3NhbXBsZS1wby1zd2l0Y2gtb3JkZXItcmVhY3RpdmUtZm9ybS5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tc3dpdGNoLW9yZGVyLXJlYWN0aXZlLWZvcm0vc2FtcGxlLXBvLXN3aXRjaC1vcmRlci1yZWFjdGl2ZS1mb3JtLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BvLXN3aXRjaCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wby1zd2l0Y2guY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQb1N3aXRjaENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBQb1N3aXRjaENvbXBvbmVudCBleHRlbmRzIFBvRmllbGRNb2RlbDxib29sZWFuPiB7XG4gIEBWaWV3Q2hpbGQoJ3N3aXRjaENvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pIHN3aXRjaENvbnRhaW5lcjogRWxlbWVudFJlZjtcblxuICB2YWx1ZSA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2xhYmVsT2ZmOiBzdHJpbmcgPSAnZmFsc2UnO1xuICBwcml2YXRlIF9sYWJlbE9uOiBzdHJpbmcgPSAndHJ1ZSc7XG4gIHByaXZhdGUgX2xhYmVsUG9zaXRpb246IFBvU3dpdGNoTGFiZWxQb3NpdGlvbiA9IFBvU3dpdGNoTGFiZWxQb3NpdGlvbi5SaWdodDtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBQb3Npw6fDo28gZGUgZXhpYmnDp8OjbyBkbyByw7N0dWxvLlxuICAgKlxuICAgKiA+IFBvciBwYWRyw6NvIGV4aWJlIMOgIGRpcmVpdGEuXG4gICAqL1xuICBASW5wdXQoJ3AtbGFiZWwtcG9zaXRpb24nKSBzZXQgbGFiZWxQb3NpdGlvbihwb3NpdGlvbjogUG9Td2l0Y2hMYWJlbFBvc2l0aW9uKSB7XG4gICAgdGhpcy5fbGFiZWxQb3NpdGlvbiA9IHBvc2l0aW9uIGluIFBvU3dpdGNoTGFiZWxQb3NpdGlvbiA/IHBhcnNlSW50KDxhbnk+cG9zaXRpb24sIDEwKSA6IFBvU3dpdGNoTGFiZWxQb3NpdGlvbi5SaWdodDtcbiAgfVxuXG4gIGdldCBsYWJlbFBvc2l0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLl9sYWJlbFBvc2l0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIFRleHRvIGV4aWJpZG8gcXVhbmRvIG8gdmFsb3IgZG8gY29tcG9uZW50ZSBmb3IgYGZhbHNlYC5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgQElucHV0KCdwLWxhYmVsLW9mZicpIHNldCBsYWJlbE9mZihsYWJlbDogc3RyaW5nKSB7XG4gICAgdGhpcy5fbGFiZWxPZmYgPSBsYWJlbCB8fCAnZmFsc2UnO1xuICB9XG5cbiAgZ2V0IGxhYmVsT2ZmKCkge1xuICAgIHJldHVybiB0aGlzLl9sYWJlbE9mZjtcbiAgfVxuXG4gIC8qKlxuICAgKiBUZXh0byBleGliaWRvIHF1YW5kbyBvIHZhbG9yIGRvIGNvbXBvbmVudGUgZm9yIGB0cnVlYC5cbiAgICpcbiAgICogQGRlZmF1bHQgYHRydWVgXG4gICAqL1xuICBASW5wdXQoJ3AtbGFiZWwtb24nKSBzZXQgbGFiZWxPbihsYWJlbDogc3RyaW5nKSB7XG4gICAgdGhpcy5fbGFiZWxPbiA9IGxhYmVsIHx8ICd0cnVlJztcbiAgfVxuXG4gIGdldCBsYWJlbE9uKCkge1xuICAgIHJldHVybiB0aGlzLl9sYWJlbE9uO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZ1bsOnw6NvIHF1ZSBhdHJpYnVpIGZvY28gYW8gY29tcG9uZW50ZS5cbiAgICpcbiAgICogUGFyYSB1dGlsaXrDoS1sYSDDqSBuZWNlc3PDoXJpbyB0ZXIgYSBpbnN0w6JuY2lhIGRvIGNvbXBvbmVudGUgbm8gRE9NLCBwb2RlbmRvIHNlciB1dGlsaXphZG8gbyBWaWV3Q2hpbGQgZGEgc2VndWludGUgZm9ybWE6XG4gICAqXG4gICAqIGBgYFxuICAgKiBpbXBvcnQgeyBQb1N3aXRjaENvbXBvbmVudCB9IGZyb20gJ0Bwby11aS9uZy1jb21wb25lbnRzJztcbiAgICpcbiAgICogLi4uXG4gICAqXG4gICAqIEBWaWV3Q2hpbGQoUG9Td2l0Y2hDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIHN3aXRjaDogUG9Td2l0Y2hDb21wb25lbnQ7XG4gICAqXG4gICAqIGZvY3VzU3dpdGNoKCkge1xuICAgKiAgIHRoaXMuc3dpdGNoLmZvY3VzKCk7XG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBmb2N1cygpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuc3dpdGNoQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBvbkJsdXIoKSB7XG4gICAgdGhpcy5vblRvdWNoZWQ/LigpO1xuICB9XG5cbiAgZ2V0TGFiZWxQb3NpdGlvbigpIHtcbiAgICBzd2l0Y2ggKHRoaXMubGFiZWxQb3NpdGlvbikge1xuICAgICAgY2FzZSBQb1N3aXRjaExhYmVsUG9zaXRpb24uTGVmdDpcbiAgICAgICAgcmV0dXJuICdsZWZ0JztcbiAgICAgIGNhc2UgUG9Td2l0Y2hMYWJlbFBvc2l0aW9uLlJpZ2h0OlxuICAgICAgICByZXR1cm4gJ3JpZ2h0JztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAncmlnaHQnO1xuICAgIH1cbiAgfVxuXG4gIG9uS2V5RG93bihldmVudCkge1xuICAgIGlmIChldmVudC53aGljaCA9PT0gUG9LZXlDb2RlRW51bS5zcGFjZSB8fCBldmVudC5rZXlDb2RlID09PSBQb0tleUNvZGVFbnVtLnNwYWNlKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5ldmVudENsaWNrKCk7XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlVmFsdWUodmFsdWU6IGFueSkge1xuICAgIGlmICh0aGlzLnZhbHVlICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgdGhpcy51cGRhdGVNb2RlbCh2YWx1ZSk7XG4gICAgICB0aGlzLmVtaXRDaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgZXZlbnRDbGljaygpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuY2hhbmdlVmFsdWUoIXRoaXMudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIG9uV3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gISF2YWx1ZTtcblxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxwby1maWVsZC1jb250YWluZXIgW3AtbGFiZWxdPVwibGFiZWxcIiBbcC1oZWxwXT1cImhlbHBcIj5cbiAgPGRpdiBjbGFzcz1cInBvLWZpZWxkLWNvbnRhaW5lci1jb250ZW50XCIgW2F0dHIubmFtZV09XCJuYW1lXCI+XG4gICAgPGRpdiBjbGFzcz1cInBvLXN3aXRjaFwiIFthdHRyLmRhdGEtbGFiZWwtcG9zaXRpb25dPVwiZ2V0TGFiZWxQb3NpdGlvbigpXCI+XG4gICAgICA8ZGl2XG4gICAgICAgICNzd2l0Y2hDb250YWluZXJcbiAgICAgICAgY2xhc3M9XCJwby1zd2l0Y2gtY29udGFpbmVyXCJcbiAgICAgICAgcm9sZT1cInN3aXRjaFwiXG4gICAgICAgIFthdHRyLmFyaWEtY2hlY2tlZF09XCJ2YWx1ZVwiXG4gICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInZhbHVlID09PSB0cnVlID8gbGFiZWxPbiA6IGxhYmVsT2ZmXCJcbiAgICAgICAgW3RhYmluZGV4XT1cImRpc2FibGVkID8gLTEgOiAwXCJcbiAgICAgICAgKGJsdXIpPVwib25CbHVyKClcIlxuICAgICAgICAoY2xpY2spPVwiZXZlbnRDbGljaygpXCJcbiAgICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudClcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicG8tc3dpdGNoLXRyYWNrXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBvLXN3aXRjaC10b2dnbGVcIj5cbiAgICAgICAgICAgIDxwby1pY29uICpuZ0lmPVwidmFsdWUgPT09IHRydWVcIiBjbGFzcz1cInBvLXN3aXRjaC1pY29uXCIgcC1pY29uPVwicG8taWNvbi1va1wiPjwvcG8taWNvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPHNwYW4gY2xhc3M9XCJwby1zd2l0Y2gtbGFiZWxcIiAoY2xpY2spPVwiZXZlbnRDbGljaygpXCI+XG4gICAgICAgIHt7IHZhbHVlID09PSB0cnVlID8gbGFiZWxPbiA6IGxhYmVsT2ZmIH19XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxwby1maWVsZC1jb250YWluZXItYm90dG9tPjwvcG8tZmllbGQtY29udGFpbmVyLWJvdHRvbT5cbjwvcG8tZmllbGQtY29udGFpbmVyPlxuIl19
235
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tc3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby1zd2l0Y2gvcG8tc3dpdGNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby1zd2l0Y2gvcG8tc3dpdGNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFVBQVUsRUFDVixLQUFLLEVBQ0wsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRWxFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7OztJQ0M1RCw2QkFBcUY7O0FEQ2pHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaURHO0FBYUgsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFlBQXFCO0lBcUQxRCxZQUFvQixjQUFpQztRQUNuRCxLQUFLLEVBQUUsQ0FBQztRQURVLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQWxEckQsT0FBRSxHQUFHLGFBQWEsSUFBSSxFQUFFLEdBQUcsQ0FBQztRQUM1QixVQUFLLEdBQUcsS0FBSyxDQUFDO1FBRU4sY0FBUyxHQUFXLE9BQU8sQ0FBQztRQUM1QixhQUFRLEdBQVcsTUFBTSxDQUFDO1FBQzFCLG1C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QUEwRixhQUFBLGFBQUEsZ0JBQUE7UUFXbEYseUZBQVEsWUFBUSxJQUFDLDhFQUNSLGdCQUFZLElBREosd0ZBRU4scUJBQWlCLElBRlg7UUFJakIsOEJBQTZCLGFBQUE7UUFFekIsMEVBQXFGO1FBQ3ZGLGlCQUFNLEVBQUEsRUFBQTtRQUlWLCtCQUFxRDtRQUF2Qiw0RkFBUyxnQkFBWSxJQUFDO1FBQ2xELFlBQ0Y7UUFBQSxpQkFBTyxFQUFBLEVBQUE7UUFJWCw2Q0FBdUQ7UUFDekQsaUJBQXFCOztRQTdCRCx5Q0FBdUIsb0JBQUEsZ0JBQUEsc0JBQUE7UUFDRCxlQUFrQjtRQUFsQixnQ0FBa0I7UUFDakMsZUFBK0M7UUFBL0MsNkRBQStDO1FBT2xFLGVBQVM7UUFBVCwyQkFBUyxtQ0FBQTtRQUZULHlDQUEyQiwrQkFBQTtRQVNLLGVBQXVEO1FBQXZELDZFQUF1RDtRQUN6RSxlQUFvQjtRQUFwQix5Q0FBb0I7UUFNbEMsZUFDRjtRQURFLGdGQUNGOzt1RkR3RE8saUJBQWlCO2NBWjdCLFNBQVM7MkJBQ0UsV0FBVyxtQkFFSix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGtCQUFrQixDQUFDO3dCQUNoRCxLQUFLLEVBQUUsSUFBSTtxQkFDWjtpQkFDRjtvRUFHK0MsZUFBZTtrQkFBOUQsU0FBUzttQkFBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7WUFrQmYsYUFBYTtrQkFBM0MsS0FBSzttQkFBQyxrQkFBa0I7WUFhQyxRQUFRO2tCQUFqQyxLQUFLO21CQUFDLGFBQWE7WUFhSyxPQUFPO2tCQUEvQixLQUFLO21CQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyB1dWlkIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvdXRpbCc7XG5cbmltcG9ydCB7IFBvRmllbGRNb2RlbCB9IGZyb20gJy4uL3BvLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IFBvS2V5Q29kZUVudW0gfSBmcm9tICcuLy4uLy4uLy4uL2VudW1zL3BvLWtleS1jb2RlLmVudW0nO1xuXG5pbXBvcnQgeyBQb1N3aXRjaExhYmVsUG9zaXRpb24gfSBmcm9tICcuL3BvLXN3aXRjaC1sYWJlbC1wb3NpdGlvbi5lbnVtJztcblxuLyoqXG4gKiBAZG9jc0V4dGVuZHMgUG9GaWVsZE1vZGVsXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogTyBjb21wb25lbnRlIGBwby1zd2l0Y2hgIMOpIHVtIFtjaGVja2JveF0oL2RvY3VtZW50YXRpb24vcG8tY2hlY2tib3gtZ3JvdXApIG1haXMgaW50dWl0aXZvLCBwb2lzIGZheiBhbmFsb2dpYSBhIHVtIGludGVycnVwdG9yLlxuICogRGV2ZSBzZXIgdXNhZG8gcXVhbmRvIGRlc2VqYS1zZSB0cmFuc21pdGlyIGEgaWRlaWEgZGUgbGlnYXIgLyBkZXNsaWdhciB1bWEgZnVuY2lvbmFsaWRhZGUgZXNwZWPDrWZpY2EuXG4gKlxuICogUG9kZS1zZSBsaWdhciBvdSBkZXNsaWdhciBvIHN3aXRjaCB1dGlsaXphbmRvIGEgdGVjbGEgZGUgZXNwYcOnbyBvdSBvIGNsaXF1ZSBkbyBtb3VzZS5cbiAqXG4gKiBPIHRleHRvIGV4aWJpZG8gcG9kZSBzZXIgYWx0ZXJhZG8gZGUgYWNvcmRvIGNvbSBvIHZhbG9yIHNldGFkbyBhdW1lbnRhbmRvIGFzIHBvc3NpYmlsaWRhZGVzIGRlIHVzbyBkbyBjb21wb25lbnRlLFxuICogcG9ydGFudG8sIHJlY29tZW5kYS1zZSBpbmZvcm1hciB0ZXh0b3MgcXVlIGNvbnRleHR1YWxpemVtIHNldSB1c28gcGFyYSBxdWUgZmFjaWxpdGUgYSBjb21wcmVlbnPDo28gZG8gdXN1w6FyaW8uXG4gKlxuICogPiBPIGNvbXBvbmVudGUgbsOjbyBhbHRlcmEgbyB2YWxvciBpbmNpYWwgaW5mb3JtYWRvIG5vICptb2RlbCosIHBvcnRhbnRvIGluZGljYS1zZSBpbmljaWFsaXphLWxvIGNhc28gdGVyIG5lY2Vzc2lkYWRlLlxuICpcbiAqICMjIyMgQm9hcyBwcsOhdGljYXNcbiAqXG4gKiAtIEV2aXRlIGBsYWJlbHNgIGV4dGVuc29zIHF1ZSBxdWVicmFtIG8gbGF5b3V0IGRvIGBwby1zd2l0Y2hgLCB1c2UgYGxhYmVsc2AgZGlyZXRvcywgY3VydG9zIGUgaW50dWl0aXZvcy5cbiAqXG4gKiAjIyMjIEFjZXNzaWJpbGlkYWRlIHRyYXRhZGEgbm8gY29tcG9uZW50ZVxuICpcbiAqIEFsZ3VtYXMgZGlyZXRyaXplcyBkZSBhY2Vzc2liaWxpZGFkZSBqw6Egc8OjbyB0cmF0YWRhcyBubyBjb21wb25lbnRlLCBpbnRlcm5hbWVudGUsIGUgbsOjbyBwb2RlbSBzZXIgYWx0ZXJhZGFzIHBlbG8gcHJvcHJpZXTDoXJpbyBkbyBjb250ZcO6ZG8uIFPDo28gZWxhczpcbiAqXG4gKiAtIFF1YW5kbyBlbSBmb2NvLCBvIHN3aXRjaCDDqSBhdGl2YWRvIHVzYW5kbyBhIHRlY2xhIGRlIEVzcGHDp28uIFtXM0MgV0FJLUFSSUEgMy41IFN3aXRjaCAtIEtleWJvYXJkIEludGVyYWN0aW9uXShodHRwczovL3d3dy53My5vcmcvV0FJL0FSSUEvYXBnL3BhdHRlcm5zL3N3aXRjaC8ja2V5Ym9hcmQtaW50ZXJhY3Rpb24tMTkpXG4gKiAtIEEgw6FyZWEgZG8gZm9jbyBwcmVjaXNhciB0ZXIgdW1hIGVzcGVzc3VyYSBkZSBwZWxvIG1lbm9zIDIgcGl4ZWxzIENTUyBlIG8gZm9jbyBuw6NvIHBvZGUgZmljYXIgZXNjb25kaWRvIHBvciBvdXRyb3MgZWxlbWVudG9zIGRhIHRlbGEuIFtXQ0FHIDIuNC4xMjogRm9jdXMgQXBwZWFyYW5jZV0oaHR0cHM6Ly93d3cudzMub3JnL1dBSS9XQ0FHMjIvVW5kZXJzdGFuZGluZy9mb2N1cy1hcHBlYXJhbmNlLWVuaGFuY2VkKVxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXN3aXRjaC1iYXNpY1wiIHRpdGxlPVwiUE8gU3dpdGNoIEJhc2ljXCI+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tc3dpdGNoLWJhc2ljL3NhbXBsZS1wby1zd2l0Y2gtYmFzaWMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXN3aXRjaC1iYXNpYy9zYW1wbGUtcG8tc3dpdGNoLWJhc2ljLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXN3aXRjaC1sYWJzXCIgdGl0bGU9XCJQTyBTd2l0Y2ggTGFic1wiPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXN3aXRjaC1sYWJzL3NhbXBsZS1wby1zd2l0Y2gtbGFicy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tc3dpdGNoLWxhYnMvc2FtcGxlLXBvLXN3aXRjaC1sYWJzLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tc3dpdGNoLWxhYnMvc2FtcGxlLXBvLXN3aXRjaC1sYWJzLmNvbXBvbmVudC5lMmUtc3BlYy50c1wiPiA8L2ZpbGU+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tc3dpdGNoLWxhYnMvc2FtcGxlLXBvLXN3aXRjaC1sYWJzLmNvbXBvbmVudC5wby50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXN3aXRjaC1vcmRlclwiIHRpdGxlPVwiUE8gU3dpdGNoIC0gT3JkZXIgU3VtbWFyeVwiPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXN3aXRjaC1vcmRlci9zYW1wbGUtcG8tc3dpdGNoLW9yZGVyLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1zd2l0Y2gtb3JkZXIvc2FtcGxlLXBvLXN3aXRjaC1vcmRlci5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1zd2l0Y2gtb3JkZXItcmVhY3RpdmUtZm9ybVwiIHRpdGxlPVwiUE8gU3dpdGNoIC0gT3JkZXIgU3VtbWFyeSBSZWFjdGl2ZSBGb3JtXCI+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tc3dpdGNoLW9yZGVyLXJlYWN0aXZlLWZvcm0vc2FtcGxlLXBvLXN3aXRjaC1vcmRlci1yZWFjdGl2ZS1mb3JtLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1zd2l0Y2gtb3JkZXItcmVhY3RpdmUtZm9ybS9zYW1wbGUtcG8tc3dpdGNoLW9yZGVyLXJlYWN0aXZlLWZvcm0uY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8tc3dpdGNoJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvLXN3aXRjaC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBvU3dpdGNoQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFBvU3dpdGNoQ29tcG9uZW50IGV4dGVuZHMgUG9GaWVsZE1vZGVsPGJvb2xlYW4+IHtcbiAgQFZpZXdDaGlsZCgnc3dpdGNoQ29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSkgc3dpdGNoQ29udGFpbmVyOiBFbGVtZW50UmVmO1xuXG4gIGlkID0gYHBvLXN3aXRjaFske3V1aWQoKX1dYDtcbiAgdmFsdWUgPSBmYWxzZTtcblxuICBwcml2YXRlIF9sYWJlbE9mZjogc3RyaW5nID0gJ2ZhbHNlJztcbiAgcHJpdmF0ZSBfbGFiZWxPbjogc3RyaW5nID0gJ3RydWUnO1xuICBwcml2YXRlIF9sYWJlbFBvc2l0aW9uOiBQb1N3aXRjaExhYmVsUG9zaXRpb24gPSBQb1N3aXRjaExhYmVsUG9zaXRpb24uUmlnaHQ7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogUG9zacOnw6NvIGRlIGV4aWJpw6fDo28gZG8gcsOzdHVsby5cbiAgICpcbiAgICogPiBQb3IgcGFkcsOjbyBleGliZSDDoCBkaXJlaXRhLlxuICAgKi9cbiAgQElucHV0KCdwLWxhYmVsLXBvc2l0aW9uJykgc2V0IGxhYmVsUG9zaXRpb24ocG9zaXRpb246IFBvU3dpdGNoTGFiZWxQb3NpdGlvbikge1xuICAgIHRoaXMuX2xhYmVsUG9zaXRpb24gPSBwb3NpdGlvbiBpbiBQb1N3aXRjaExhYmVsUG9zaXRpb24gPyBwYXJzZUludCg8YW55PnBvc2l0aW9uLCAxMCkgOiBQb1N3aXRjaExhYmVsUG9zaXRpb24uUmlnaHQ7XG4gIH1cblxuICBnZXQgbGFiZWxQb3NpdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5fbGFiZWxQb3NpdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBUZXh0byBleGliaWRvIHF1YW5kbyBvIHZhbG9yIGRvIGNvbXBvbmVudGUgZm9yIGBmYWxzZWAuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIEBJbnB1dCgncC1sYWJlbC1vZmYnKSBzZXQgbGFiZWxPZmYobGFiZWw6IHN0cmluZykge1xuICAgIHRoaXMuX2xhYmVsT2ZmID0gbGFiZWwgfHwgJ2ZhbHNlJztcbiAgfVxuXG4gIGdldCBsYWJlbE9mZigpIHtcbiAgICByZXR1cm4gdGhpcy5fbGFiZWxPZmY7XG4gIH1cblxuICAvKipcbiAgICogVGV4dG8gZXhpYmlkbyBxdWFuZG8gbyB2YWxvciBkbyBjb21wb25lbnRlIGZvciBgdHJ1ZWAuXG4gICAqXG4gICAqIEBkZWZhdWx0IGB0cnVlYFxuICAgKi9cbiAgQElucHV0KCdwLWxhYmVsLW9uJykgc2V0IGxhYmVsT24obGFiZWw6IHN0cmluZykge1xuICAgIHRoaXMuX2xhYmVsT24gPSBsYWJlbCB8fCAndHJ1ZSc7XG4gIH1cblxuICBnZXQgbGFiZWxPbigpIHtcbiAgICByZXR1cm4gdGhpcy5fbGFiZWxPbjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGdW7Dp8OjbyBxdWUgYXRyaWJ1aSBmb2NvIGFvIGNvbXBvbmVudGUuXG4gICAqXG4gICAqIFBhcmEgdXRpbGl6w6EtbGEgw6kgbmVjZXNzw6FyaW8gdGVyIGEgaW5zdMOibmNpYSBkbyBjb21wb25lbnRlIG5vIERPTSwgcG9kZW5kbyBzZXIgdXRpbGl6YWRvIG8gVmlld0NoaWxkIGRhIHNlZ3VpbnRlIGZvcm1hOlxuICAgKlxuICAgKiBgYGBcbiAgICogaW1wb3J0IHsgUG9Td2l0Y2hDb21wb25lbnQgfSBmcm9tICdAcG8tdWkvbmctY29tcG9uZW50cyc7XG4gICAqXG4gICAqIC4uLlxuICAgKlxuICAgKiBAVmlld0NoaWxkKFBvU3dpdGNoQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSBzd2l0Y2g6IFBvU3dpdGNoQ29tcG9uZW50O1xuICAgKlxuICAgKiBmb2N1c1N3aXRjaCgpIHtcbiAgICogICB0aGlzLnN3aXRjaC5mb2N1cygpO1xuICAgKiB9XG4gICAqIGBgYFxuICAgKi9cbiAgZm9jdXMoKSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLnN3aXRjaENvbnRhaW5lci5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgb25CbHVyKCkge1xuICAgIHRoaXMub25Ub3VjaGVkPy4oKTtcbiAgfVxuXG4gIGdldExhYmVsUG9zaXRpb24oKSB7XG4gICAgc3dpdGNoICh0aGlzLmxhYmVsUG9zaXRpb24pIHtcbiAgICAgIGNhc2UgUG9Td2l0Y2hMYWJlbFBvc2l0aW9uLkxlZnQ6XG4gICAgICAgIHJldHVybiAnbGVmdCc7XG4gICAgICBjYXNlIFBvU3dpdGNoTGFiZWxQb3NpdGlvbi5SaWdodDpcbiAgICAgICAgcmV0dXJuICdyaWdodCc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ3JpZ2h0JztcbiAgICB9XG4gIH1cblxuICBvbktleURvd24oZXZlbnQpIHtcbiAgICBpZiAoZXZlbnQud2hpY2ggPT09IFBvS2V5Q29kZUVudW0uc3BhY2UgfHwgZXZlbnQua2V5Q29kZSA9PT0gUG9LZXlDb2RlRW51bS5zcGFjZSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuZXZlbnRDbGljaygpO1xuICAgIH1cbiAgfVxuXG4gIGNoYW5nZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodGhpcy52YWx1ZSAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMudXBkYXRlTW9kZWwodmFsdWUpO1xuICAgICAgdGhpcy5lbWl0Q2hhbmdlKHRoaXMudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIGV2ZW50Q2xpY2soKSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmNoYW5nZVZhbHVlKCF0aGlzLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBvbldyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIGlmICh2YWx1ZSAhPT0gdGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy52YWx1ZSA9ICEhdmFsdWU7XG5cbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG59XG4iLCI8cG8tZmllbGQtY29udGFpbmVyIFtwLWRpc2FibGVkXT1cImRpc2FibGVkXCIgW3AtaGVscF09XCJoZWxwXCIgW3AtaWRdPVwiaWRcIiBbcC1sYWJlbF09XCJsYWJlbFwiPlxuICA8ZGl2IGNsYXNzPVwicG8tZmllbGQtY29udGFpbmVyLWNvbnRlbnRcIiBbYXR0ci5uYW1lXT1cIm5hbWVcIj5cbiAgICA8ZGl2IGNsYXNzPVwicG8tc3dpdGNoXCIgW2F0dHIuZGF0YS1sYWJlbC1wb3NpdGlvbl09XCJnZXRMYWJlbFBvc2l0aW9uKClcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgI3N3aXRjaENvbnRhaW5lclxuICAgICAgICBjbGFzcz1cInBvLXN3aXRjaC1jb250YWluZXJcIlxuICAgICAgICByb2xlPVwic3dpdGNoXCJcbiAgICAgICAgW2F0dHIuYXJpYS1jaGVja2VkXT1cInZhbHVlXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtpZF09XCJpZFwiXG4gICAgICAgIFt0YWJpbmRleF09XCJkaXNhYmxlZCA/IC0xIDogMFwiXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigpXCJcbiAgICAgICAgKGNsaWNrKT1cImV2ZW50Q2xpY2soKVwiXG4gICAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBvLXN3aXRjaC10cmFja1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwby1zd2l0Y2gtdG9nZ2xlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJ2YWx1ZSA9PT0gdHJ1ZSA/IGxhYmVsT24gOiBsYWJlbE9mZlwiPlxuICAgICAgICAgICAgPHBvLWljb24gKm5nSWY9XCJ2YWx1ZSA9PT0gdHJ1ZVwiIGNsYXNzPVwicG8tc3dpdGNoLWljb25cIiBwLWljb249XCJwby1pY29uLW9rXCI+PC9wby1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8c3BhbiBjbGFzcz1cInBvLXN3aXRjaC1sYWJlbFwiIChjbGljayk9XCJldmVudENsaWNrKClcIj5cbiAgICAgICAge3sgdmFsdWUgPT09IHRydWUgPyBsYWJlbE9uIDogbGFiZWxPZmYgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPHBvLWZpZWxkLWNvbnRhaW5lci1ib3R0b20+PC9wby1maWVsZC1jb250YWluZXItYm90dG9tPlxuPC9wby1maWVsZC1jb250YWluZXI+XG4iXX0=
@@ -87,6 +87,13 @@ export class PoTextareaBaseComponent {
87
87
  this.onChangePropagate = null;
88
88
  // eslint-disable-next-line
89
89
  this.onTouched = null;
90
+ /**
91
+ * Define se a indicação de campo obrigatório será exibida.
92
+ *
93
+ * > Não será exibida a indicação se:
94
+ * - Não possuir `p-help` e/ou `p-label`.
95
+ */
96
+ this.showRequired = false;
90
97
  }
91
98
  /** Placeholder, mensagem que aparecerá enquanto o campo não estiver preenchido. */
92
99
  set placeholder(value) {
@@ -130,9 +137,8 @@ export class PoTextareaBaseComponent {
130
137
  *
131
138
  * @description
132
139
  *
133
- * Indica que o campo será obrigatório.
134
- *
135
- * > Esta propriedade é desconsiderada quando o _input_ está desabilitado `(p-disabled)`.
140
+ * Define que o campo será obrigatório.
141
+ * > Esta propriedade é desconsiderada quando o input está desabilitado `(p-disabled)`.
136
142
  *
137
143
  * @default `false`
138
144
  */
@@ -251,7 +257,7 @@ export class PoTextareaBaseComponent {
251
257
  }
252
258
  }
253
259
  PoTextareaBaseComponent.ɵfac = function PoTextareaBaseComponent_Factory(t) { return new (t || PoTextareaBaseComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
254
- PoTextareaBaseComponent.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PoTextareaBaseComponent, inputs: { autoFocus: ["p-auto-focus", "autoFocus"], label: ["p-label", "label"], help: ["p-help", "help"], name: "name", optional: ["p-optional", "optional"], placeholder: ["p-placeholder", "placeholder"], disabled: ["p-disabled", "disabled"], readonly: ["p-readonly", "readonly"], required: ["p-required", "required"], minlength: ["p-minlength", "minlength"], maxlength: ["p-maxlength", "maxlength"], rows: ["p-rows", "rows"] }, outputs: { blur: "p-blur", enter: "p-enter", change: "p-change", changeModel: "p-change-model" } });
260
+ PoTextareaBaseComponent.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PoTextareaBaseComponent, inputs: { autoFocus: ["p-auto-focus", "autoFocus"], label: ["p-label", "label"], help: ["p-help", "help"], name: "name", optional: ["p-optional", "optional"], placeholder: ["p-placeholder", "placeholder"], disabled: ["p-disabled", "disabled"], readonly: ["p-readonly", "readonly"], required: ["p-required", "required"], showRequired: ["p-show-required", "showRequired"], minlength: ["p-minlength", "minlength"], maxlength: ["p-maxlength", "maxlength"], rows: ["p-rows", "rows"] }, outputs: { blur: "p-blur", enter: "p-enter", change: "p-change", changeModel: "p-change-model" } });
255
261
  __decorate([
256
262
  InputBoolean()
257
263
  ], PoTextareaBaseComponent.prototype, "autoFocus", void 0);
@@ -296,6 +302,9 @@ __decorate([
296
302
  }], required: [{
297
303
  type: Input,
298
304
  args: ['p-required']
305
+ }], showRequired: [{
306
+ type: Input,
307
+ args: ['p-show-required']
299
308
  }], minlength: [{
300
309
  type: Input,
301
310
  args: ['p-minlength']
@@ -306,4 +315,4 @@ __decorate([
306
315
  type: Input,
307
316
  args: ['p-rows']
308
317
  }] }); })();
309
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdGV4dGFyZWEtYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tZmllbGQvcG8tdGV4dGFyZWEvcG8tdGV4dGFyZWEtYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTFGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUVuRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkJHO0FBRUgsTUFBTSxPQUFnQix1QkFBdUI7SUF3TTNDLFlBQW1CLEVBQXFCO1FBQXJCLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBdk14Qzs7Ozs7Ozs7OztXQVVHO1FBQ29DLGNBQVMsR0FBWSxLQUFLLENBQUM7UUEwQmxFOzs7Ozs7V0FNRztRQUNlLFNBQUksR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVwRTs7Ozs7O1dBTUc7UUFDZ0IsVUFBSyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXRFOzs7Ozs7V0FNRztRQUNpQixXQUFNLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFFeEU7Ozs7OztXQU1HO1FBQ3VCLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFFM0UsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUczQixpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUMxQixjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGNBQVMsR0FB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QUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRVMsYUFBYTtRQUNyQixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQzs7OEZBblJtQix1QkFBdUI7MEVBQXZCLHVCQUF1QjtBQVlKO0lBQWYsWUFBWSxFQUFFOzBEQUE0Qjt1RkFaOUMsdUJBQXVCO2NBRDVDLFNBQVM7b0VBYStCLFNBQVM7a0JBQS9DLEtBQUs7bUJBQUMsY0FBYztZQUdILEtBQUs7a0JBQXRCLEtBQUs7bUJBQUMsU0FBUztZQUdDLElBQUk7a0JBQXBCLEtBQUs7bUJBQUMsUUFBUTtZQUdBLElBQUk7a0JBQWxCLEtBQUs7bUJBQUMsTUFBTTtZQWVRLFFBQVE7a0JBQTVCLEtBQUs7bUJBQUMsWUFBWTtZQVNELElBQUk7a0JBQXJCLE1BQU07bUJBQUMsUUFBUTtZQVNHLEtBQUs7a0JBQXZCLE1BQU07bUJBQUMsU0FBUztZQVNHLE1BQU07a0JBQXpCLE1BQU07bUJBQUMsVUFBVTtZQVNRLFdBQVc7a0JBQXBDLE1BQU07bUJBQUMsZ0JBQWdCO1lBaUJJLFdBQVc7a0JBQXRDLEtBQUs7bUJBQUMsZUFBZTtZQWlCRyxRQUFRO2tCQUFoQyxLQUFLO21CQUFDLFlBQVk7WUFpQk0sUUFBUTtrQkFBaEMsS0FBSzttQkFBQyxZQUFZO1lBbUJNLFFBQVE7a0JBQWhDLEtBQUs7bUJBQUMsWUFBWTtZQWlCTyxTQUFTO2tCQUFsQyxLQUFLO21CQUFDLGFBQWE7WUFnQk0sU0FBUztrQkFBbEMsS0FBSzttQkFBQyxhQUFhO1lBa0JDLElBQUk7a0JBQXhCLEtBQUs7bUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgRGlyZWN0aXZlLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBjb252ZXJ0VG9Cb29sZWFuLCBjb252ZXJ0VG9JbnQgfSBmcm9tICcuLi8uLi8uLi91dGlscy91dGlsJztcbmltcG9ydCB7IG1heGxlbmdwb2FpbGVkLCBtaW5sZW5ncG9haWxlZCwgcmVxdWlyZWRGYWlsZWQgfSBmcm9tICcuLi92YWxpZGF0b3JzJztcbmltcG9ydCB7IElucHV0Qm9vbGVhbiB9IGZyb20gJy4uLy4uLy4uL2RlY29yYXRvcnMnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICpcbiAqIEVzdGUgw6kgdW0gY29tcG9uZW50ZSBkZSBlbnRyYWRhIGRlIGRhZG9zIHF1ZSBwb3NzaWJpbGl0YSBvIHByZWVjaGltZW50byBjb20gbcO6bHRpcGxhcyBsaW5oYXMuXG4gKiDDiSByZWNvbWVuZGFkbyBwYXJhIG9ic2VydmHDp8O1ZXMsIGRldGFsaGFtZW50b3MgZSBvdXRyYXMgc2l0dWHDp8O1ZXMgb25kZSBvIHVzdcOhcmlvIGRldmEgcHJlZW5jaGVyIGNvbSB1bSB0ZXh0by5cbiAqXG4gKiBJbXBvcnRhbnRlOlxuICpcbiAqIC0gQSBwcm9wcmllZGFkZSBgbmFtZWAgw6kgb2JyaWdhdMOzcmlhIHBhcmEgcXVlIG8gZm9ybXVsw6FyaW8gZSBvIGBtb2RlbGAgZnVuY2lvbmVtIGNvcnJldGFtZW50ZS4gRG8gY29udHLDoXJpbywgb2NvcnJlcsOhIHVtIGVycm8gZGVcbiAqIF9Bbmd1bGFyXywgb25kZSBzZXLDoSBuZWNlc3PDoXJpbyBpbmZvcm1hciBvIGF0cmlidXRvIGBuYW1lYCBvdSBvIGF0cmlidXRvIGBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6IHRydWV9XCJgLCBwb3IgZXhlbXBsbzpcbiAqXG4gKiBgYGBcbiAqIDxwby10ZXh0YXJlYVxuICogICBbKG5nTW9kZWwpXT1cInBlc3NvYS5ub21lXCJcbiAqICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiPlxuICogPC9wby10ZXh0YXJlYT5cbiAqIGBgYFxuICpcbiAqICMjIyMgQWNlc3NpYmlsaWRhZGUgdHJhdGFkYSBubyBjb21wb25lbnRlXG4gKiBBbGd1bWFzIGRpcmV0cml6ZXMgZGUgYWNlc3NpYmlsaWRhZGUgasOhIHPDo28gdHJhdGFkYXMgbm8gY29tcG9uZW50ZSwgaW50ZXJuYW1lbnRlLCBlIG7Do28gcG9kZW0gc2VyIGFsdGVyYWRhcy4gU8OjbyBlbGFzOlxuICpcbiAqIC0gTyBUZXh0IGFyZWEgZm9pIGRlc2Vudm9sdmlkbyBjb20gdXNvIGRlIGNvbnRyb2xlcyBwYWRyw7VlcyBIVE1MLCBvIHF1ZSBwZXJtaXRlIGEgaWRlbnRpZmljYcOnw6NvIGRvIG1lc21vIG5hIGludGVyZmFjZSBwb3IgdGVjbm9sb2dpYXNcbiAqIGFzc2lzdGl2YXMuIFtXQ0FHIDQuMS4yOiBOYW1lLCBSb2xlLCBWYWx1ZV0oaHR0cHM6Ly93d3cudzMub3JnL1dBSS9XQ0FHMjEvVW5kZXJzdGFuZGluZy9uYW1lLXJvbGUtdmFsdWUpXG4gKiAtIE8gZm9jbyDDqSB2aXPDrXZlbCBlIHBvc3N1aSB1bWEgZXNwZXNzdXJhIHN1cGVyaW9yIGEgMiBwaXhlbHMgQ1NTLCBuw6NvIGZpY2FuZG8gZXNjb25kaWRvIHBvciBvdXRyb3NcbiAqIGVsZW1lbnRvcyBkYSB0ZWxhLiBbV0NBRyAyLjQuMTI6IEZvY3VzIEFwcGVhcmFuY2UpXShodHRwczovL3d3dy53My5vcmcvV0FJL1dDQUcyMi9VbmRlcnN0YW5kaW5nL2ZvY3VzLWFwcGVhcmFuY2UtZW5oYW5jZWQpXG4gKiAtIEEgaWRlbnRpZmljYcOnw6NvIGRvIGVycm8gYWNvbnRlY2UgdGFtYsOpbSBhdHJhdsOpcyBkYSBtdWRhbsOnYSBkZSBjb3IgZG8gY2FtcG8sIG1hcyB0YW1iw6ltIGRlIHVtIMOtY29uZVxuICoganVudG8gZGEgbWVuc2FnZW0uIFtXR0FHIDEuNC4xOiBVc2Ugb2YgQ29sb3IsIDMuMi40OiBDb25zaXN0ZW50IElkZW50aWZpY2F0aW9uXShodHRwczovL3d3dy53My5vcmcvV0FJL1dDQUcyMS9VbmRlcnN0YW5kaW5nL3VzZS1vZi1jb2xvcilcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUG9UZXh0YXJlYUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yIHtcbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogQXBsaWNhIGZvY28gbm8gZWxlbWVudG8gYW8gc2VyIGluaWNpYWRvLlxuICAgKlxuICAgKiA+IENhc28gbWFpcyBkZSB1bSBlbGVtZW50byBzZWphIGNvbmZpZ3VyYWRvIGNvbSBlc3NhIHByb3ByaWVkYWRlLCBhcGVuYXMgbyDDumx0aW1vIGVsZW1lbnRvIGRlY2xhcmFkbyBjb20gZWxhIHRlcsOhIG8gZm9jby5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgQElucHV0KCdwLWF1dG8tZm9jdXMnKSBASW5wdXRCb29sZWFuKCkgYXV0b0ZvY3VzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIExhYmVsIGRvIGNhbXBvLiAqL1xuICBASW5wdXQoJ3AtbGFiZWwnKSBsYWJlbD86IHN0cmluZztcblxuICAvKiogVGV4dG8gZGUgYXBvaW8gZG8gY2FtcG8uICovXG4gIEBJbnB1dCgncC1oZWxwJykgaGVscD86IHN0cmluZztcblxuICAvKiogTm9tZSBlIElkIGRvIGNvbXBvbmVudGUuICovXG4gIEBJbnB1dCgnbmFtZScpIG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBEZWZpbmUgc2UgYSBpbmRpY2HDp8OjbyBkZSBjYW1wbyBvcGNpb25hbCBzZXLDoSBleGliaWRhLlxuICAgKlxuICAgKiA+IE7Do28gc2Vyw6EgZXhpYmlkYSBhIGluZGljYcOnw6NvIHNlOlxuICAgKiAtIE8gY2FtcG8gY29udGVyIGBwLXJlcXVpcmVkYDtcbiAgICogLSBOw6NvIHBvc3N1aXIgYHAtaGVscGAgZS9vdSBgcC1sYWJlbGAuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIEBJbnB1dCgncC1vcHRpb25hbCcpIG9wdGlvbmFsOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIEV2ZW50byBkaXNwYXJhZG8gYW8gc2FpciBkbyBjYW1wby5cbiAgICovXG4gIEBPdXRwdXQoJ3AtYmx1cicpIGJsdXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRXZlbnRvIGRpc3BhcmFkbyBhbyBlbnRyYXIgZG8gY2FtcG8uXG4gICAqL1xuICBAT3V0cHV0KCdwLWVudGVyJykgZW50ZXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRXZlbnRvIGRpc3BhcmFkbyBhbyBhbHRlcmFyIHZhbG9yIGUgZGVpeGFyIG8gY2FtcG8uXG4gICAqL1xuICBAT3V0cHV0KCdwLWNoYW5nZScpIGNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBFdmVudG8gZGlzcGFyYWRvIGFvIGFsdGVyYXIgdmFsb3IgZG8gbW9kZWwuXG4gICAqL1xuICBAT3V0cHV0KCdwLWNoYW5nZS1tb2RlbCcpIGNoYW5nZU1vZGVsOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX21heGxlbmd0aDogbnVtYmVyO1xuICBwcml2YXRlIF9taW5sZW5ndGg6IG51bWJlcjtcbiAgcHJpdmF0ZSBfcGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnO1xuICBwcml2YXRlIF9yZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9yZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9yb3dzOiBudW1iZXIgPSAzO1xuXG4gIHByaXZhdGUgbW9kZWxMYXN0VXBkYXRlOiBhbnk7XG4gIHByaXZhdGUgb25DaGFuZ2VQcm9wYWdhdGU6IGFueSA9IG51bGw7XG4gIHByaXZhdGUgdmFsaWRhdG9yQ2hhbmdlOiBhbnk7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICBwcm90ZWN0ZWQgb25Ub3VjaGVkOiBhbnkgPSBudWxsO1xuXG4gIC8qKiBQbGFjZWhvbGRlciwgbWVuc2FnZW0gcXVlIGFwYXJlY2Vyw6EgZW5xdWFudG8gbyBjYW1wbyBuw6NvIGVzdGl2ZXIgcHJlZW5jaGlkby4gKi9cbiAgQElucHV0KCdwLXBsYWNlaG9sZGVyJykgc2V0IHBsYWNlaG9sZGVyKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9wbGFjZWhvbGRlciA9IHZhbHVlIHx8ICcnO1xuICB9XG5cbiAgZ2V0IHBsYWNlaG9sZGVyKCkge1xuICAgIHJldHVybiB0aGlzLl9wbGFjZWhvbGRlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIEluZGljYSBxdWUgbyBjYW1wbyBzZXLDoSBkZXNhYmlsaXRhZG8uXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIEBJbnB1dCgncC1kaXNhYmxlZCcpIHNldCBkaXNhYmxlZChkaXNhYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gY29udmVydFRvQm9vbGVhbihkaXNhYmxlZCk7XG4gIH1cblxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogSW5kaWNhIHF1ZSBvIGNhbXBvIHNlcsOhIHNvbWVudGUgbGVpdHVyYS5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgQElucHV0KCdwLXJlYWRvbmx5Jykgc2V0IHJlYWRvbmx5KHJlYWRvbmx5OiBib29sZWFuKSB7XG4gICAgdGhpcy5fcmVhZG9ubHkgPSBjb252ZXJ0VG9Cb29sZWFuKHJlYWRvbmx5KTtcbiAgfVxuXG4gIGdldCByZWFkb25seSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcmVhZG9ubHk7XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBJbmRpY2EgcXVlIG8gY2FtcG8gc2Vyw6Egb2JyaWdhdMOzcmlvLlxuICAgKlxuICAgKiA+IEVzdGEgcHJvcHJpZWRhZGUgw6kgZGVzY29uc2lkZXJhZGEgcXVhbmRvIG8gX2lucHV0XyBlc3TDoSBkZXNhYmlsaXRhZG8gYChwLWRpc2FibGVkKWAuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIEBJbnB1dCgncC1yZXF1aXJlZCcpIHNldCByZXF1aXJlZChyZXF1aXJlZDogYm9vbGVhbikge1xuICAgIHRoaXMuX3JlcXVpcmVkID0gY29udmVydFRvQm9vbGVhbihyZXF1aXJlZCk7XG5cbiAgICB0aGlzLnZhbGlkYXRlTW9kZWwoKTtcbiAgfVxuXG4gIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWQ7XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBJbmRpY2EgYSBxdWFudGlkYWRlIG3DrW5pbWEgZGUgY2FyYWN0ZXJlcyBxdWUgbyBjYW1wbyBhY2VpdGEuXG4gICAqL1xuICBASW5wdXQoJ3AtbWlubGVuZ3RoJykgc2V0IG1pbmxlbmd0aChtaW5sZW5ndGg6IG51bWJlcikge1xuICAgIHRoaXMuX21pbmxlbmd0aCA9IGNvbnZlcnRUb0ludChtaW5sZW5ndGgpO1xuICAgIHRoaXMudmFsaWRhdGVNb2RlbCgpO1xuICB9XG5cbiAgZ2V0IG1pbmxlbmd0aCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9taW5sZW5ndGg7XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBJbmRpY2EgYSBxdWFudGlkYWRlIG3DoXhpbWEgZGUgY2FyYWN0ZXJlcyBxdWUgbyBjYW1wbyBhY2VpdGEuXG4gICAqL1xuICBASW5wdXQoJ3AtbWF4bGVuZ3RoJykgc2V0IG1heGxlbmd0aChtYXhsZW5ndGg6IG51bWJlcikge1xuICAgIHRoaXMuX21heGxlbmd0aCA9IGNvbnZlcnRUb0ludChtYXhsZW5ndGgpO1xuICAgIHRoaXMudmFsaWRhdGVNb2RlbCgpO1xuICB9XG5cbiAgZ2V0IG1heGxlbmd0aCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9tYXhsZW5ndGg7XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBJbmRpY2EgYSBxdWFudGlkYWRlIGRlIGxpbmhhcyBxdWUgc2Vyw6NvIGV4aWJpZGFzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgM2BcbiAgICovXG4gIEBJbnB1dCgncC1yb3dzJykgc2V0IHJvd3ModmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX3Jvd3MgPSBpc05hTihwYXJzZUludCg8YW55PnZhbHVlLCAxMCkpIHx8IHZhbHVlIDwgMyA/IDMgOiBwYXJzZUludCg8YW55PnZhbHVlLCAxMCk7XG4gIH1cbiAgZ2V0IHJvd3MoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fcm93cztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgY2FsbE9uQ2hhbmdlKHZhbHVlOiBhbnkpIHtcbiAgICAvLyBRdWFuZG8gbyBpbnB1dCBuw6NvIHBvc3N1aSB1bSBmb3JtdWzDoXJpbywgZW50w6NvIGVzdGEgZnVuw6fDo28gbsOjbyDDqSByZWdpc3RyYWRhXG4gICAgaWYgKHRoaXMub25DaGFuZ2VQcm9wYWdhdGUpIHtcbiAgICAgIHRoaXMub25DaGFuZ2VQcm9wYWdhdGUodmFsdWUpO1xuICAgIH1cblxuICAgIHRoaXMuY29udHJvbENoYW5nZU1vZGVsRW1pdHRlcih2YWx1ZSk7XG4gIH1cblxuICBjb250cm9sQ2hhbmdlTW9kZWxFbWl0dGVyKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodGhpcy5tb2RlbExhc3RVcGRhdGUgIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLmNoYW5nZU1vZGVsLmVtaXQodmFsdWUpO1xuICAgICAgdGhpcy5tb2RlbExhc3RVcGRhdGUgPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICAvLyBGdW7Dp8OjbyBpbXBsZW1lbnRhZGEgZG8gQ29udHJvbFZhbHVlQWNjZXNzb3JcbiAgLy8gVXNhZGEgcGFyYSBpbnRlcmNlcHRhciBvcyBlc3RhZG9zIGRlIGhhYmlsaXRhZG8gdmlhIGZvcm1zIGFwaVxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLy8gRnVuw6fDtWVzIGByZWdpc3Rlck9uQ2hhbmdlYCwgYHJlZ2lzdGVyT25Ub3VjaGVkYCBlIGByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlYCBpbXBsZW1lbnRhZGFzIHJlZmVyZW50ZXMgYW8gQ29udHJvbFZhbHVlQWNjZXNzb3JcbiAgLy8gdXNhZGFzIHBhcmEgaW50ZXJjZXB0YXIgYXMgbXVkYW7Dp2FzIGUgbsOjbyBhdHVhbGl6YXIgYXV0b21hdGljYW1lbnRlIG8gTW9kZWxcbiAgcmVnaXN0ZXJPbkNoYW5nZShmdW5jOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlUHJvcGFnYXRlID0gZnVuYztcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZ1bmM6IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZnVuYztcbiAgfVxuXG4gIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoZnVuYzogYW55KTogdm9pZCB7XG4gICAgdGhpcy52YWxpZGF0b3JDaGFuZ2UgPSBmdW5jO1xuICB9XG5cbiAgdmFsaWRhdGUoYWJzdHJhY3RDb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICBpZiAocmVxdWlyZWRGYWlsZWQodGhpcy5yZXF1aXJlZCwgdGhpcy5kaXNhYmxlZCwgYWJzdHJhY3RDb250cm9sLnZhbHVlKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcmVxdWlyZWQ6IHtcbiAgICAgICAgICB2YWxpZDogZmFsc2VcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAobWlubGVuZ3BvYWlsZWQodGhpcy5taW5sZW5ndGgsIGFic3RyYWN0Q29udHJvbC52YWx1ZSkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1pbmxlbmd0aDoge1xuICAgICAgICAgIHZhbGlkOiBmYWxzZVxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChtYXhsZW5ncG9haWxlZCh0aGlzLm1heGxlbmd0aCwgYWJzdHJhY3RDb250cm9sLnZhbHVlKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbWF4bGVuZ3RoOiB7XG4gICAgICAgICAgdmFsaWQ6IGZhbHNlXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgLy8gRnVuw6fDo28gaW1wbGVtZW50YWRhIGRvIENvbnRyb2xWYWx1ZUFjY2Vzc29yXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgIHRoaXMud3JpdGVWYWx1ZU1vZGVsKHZhbHVlKTtcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHZhbGlkYXRlTW9kZWwoKSB7XG4gICAgaWYgKHRoaXMudmFsaWRhdG9yQ2hhbmdlKSB7XG4gICAgICB0aGlzLnZhbGlkYXRvckNoYW5nZSgpO1xuICAgIH1cbiAgfVxuXG4gIGFic3RyYWN0IHdyaXRlVmFsdWVNb2RlbCh2YWx1ZTogYW55KTogdm9pZDtcbn1cbiJdfQ==
318
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdGV4dGFyZWEtYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tZmllbGQvcG8tdGV4dGFyZWEvcG8tdGV4dGFyZWEtYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTFGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUVuRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkJHO0FBRUgsTUFBTSxPQUFnQix1QkFBdUI7SUErTTNDLFlBQW1CLEVBQXFCO1FBQXJCLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBOU14Qzs7Ozs7Ozs7OztXQVVHO1FBQ29DLGNBQVMsR0FBWSxLQUFLLENBQUM7UUEwQmxFOzs7Ozs7V0FNRztRQUNlLFNBQUksR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVwRTs7Ozs7O1dBTUc7UUFDZ0IsVUFBSyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXRFOzs7Ozs7V0FNRztRQUNpQixXQUFNLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFFeEU7Ozs7OztXQU1HO1FBQ3VCLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFFM0UsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUczQixpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUMxQixjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGNBQVMsR0FB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QUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRVMsYUFBYTtRQUNyQixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQzs7OEZBMVJtQix1QkFBdUI7MEVBQXZCLHVCQUF1QjtBQVlKO0lBQWYsWUFBWSxFQUFFOzBEQUE0Qjt1RkFaOUMsdUJBQXVCO2NBRDVDLFNBQVM7b0VBYStCLFNBQVM7a0JBQS9DLEtBQUs7bUJBQUMsY0FBYztZQUdILEtBQUs7a0JBQXRCLEtBQUs7bUJBQUMsU0FBUztZQUdDLElBQUk7a0JBQXBCLEtBQUs7bUJBQUMsUUFBUTtZQUdBLElBQUk7a0JBQWxCLEtBQUs7bUJBQUMsTUFBTTtZQWVRLFFBQVE7a0JBQTVCLEtBQUs7bUJBQUMsWUFBWTtZQVNELElBQUk7a0JBQXJCLE1BQU07bUJBQUMsUUFBUTtZQVNHLEtBQUs7a0JBQXZCLE1BQU07bUJBQUMsU0FBUztZQVNHLE1BQU07a0JBQXpCLE1BQU07bUJBQUMsVUFBVTtZQVNRLFdBQVc7a0JBQXBDLE1BQU07bUJBQUMsZ0JBQWdCO1lBaUJJLFdBQVc7a0JBQXRDLEtBQUs7bUJBQUMsZUFBZTtZQWlCRyxRQUFRO2tCQUFoQyxLQUFLO21CQUFDLFlBQVk7WUFpQk0sUUFBUTtrQkFBaEMsS0FBSzttQkFBQyxZQUFZO1lBa0JNLFFBQVE7a0JBQWhDLEtBQUs7bUJBQUMsWUFBWTtZQWdCTyxZQUFZO2tCQUFyQyxLQUFLO21CQUFDLGlCQUFpQjtZQVNFLFNBQVM7a0JBQWxDLEtBQUs7bUJBQUMsYUFBYTtZQWdCTSxTQUFTO2tCQUFsQyxLQUFLO21CQUFDLGFBQWE7WUFrQkMsSUFBSTtrQkFBeEIsS0FBSzttQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBEaXJlY3RpdmUsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGNvbnZlcnRUb0Jvb2xlYW4sIGNvbnZlcnRUb0ludCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3V0aWwnO1xuaW1wb3J0IHsgbWF4bGVuZ3BvYWlsZWQsIG1pbmxlbmdwb2FpbGVkLCByZXF1aXJlZEZhaWxlZCB9IGZyb20gJy4uL3ZhbGlkYXRvcnMnO1xuaW1wb3J0IHsgSW5wdXRCb29sZWFuIH0gZnJvbSAnLi4vLi4vLi4vZGVjb3JhdG9ycyc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogRXN0ZSDDqSB1bSBjb21wb25lbnRlIGRlIGVudHJhZGEgZGUgZGFkb3MgcXVlIHBvc3NpYmlsaXRhIG8gcHJlZWNoaW1lbnRvIGNvbSBtw7psdGlwbGFzIGxpbmhhcy5cbiAqIMOJIHJlY29tZW5kYWRvIHBhcmEgb2JzZXJ2YcOnw7VlcywgZGV0YWxoYW1lbnRvcyBlIG91dHJhcyBzaXR1YcOnw7VlcyBvbmRlIG8gdXN1w6FyaW8gZGV2YSBwcmVlbmNoZXIgY29tIHVtIHRleHRvLlxuICpcbiAqIEltcG9ydGFudGU6XG4gKlxuICogLSBBIHByb3ByaWVkYWRlIGBuYW1lYCDDqSBvYnJpZ2F0w7NyaWEgcGFyYSBxdWUgbyBmb3JtdWzDoXJpbyBlIG8gYG1vZGVsYCBmdW5jaW9uZW0gY29ycmV0YW1lbnRlLiBEbyBjb250csOhcmlvLCBvY29ycmVyw6EgdW0gZXJybyBkZVxuICogX0FuZ3VsYXJfLCBvbmRlIHNlcsOhIG5lY2Vzc8OhcmlvIGluZm9ybWFyIG8gYXRyaWJ1dG8gYG5hbWVgIG91IG8gYXRyaWJ1dG8gYFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZX1cImAsIHBvciBleGVtcGxvOlxuICpcbiAqIGBgYFxuICogPHBvLXRleHRhcmVhXG4gKiAgIFsobmdNb2RlbCldPVwicGVzc29hLm5vbWVcIlxuICogICBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6IHRydWV9XCI+XG4gKiA8L3BvLXRleHRhcmVhPlxuICogYGBgXG4gKlxuICogIyMjIyBBY2Vzc2liaWxpZGFkZSB0cmF0YWRhIG5vIGNvbXBvbmVudGVcbiAqIEFsZ3VtYXMgZGlyZXRyaXplcyBkZSBhY2Vzc2liaWxpZGFkZSBqw6Egc8OjbyB0cmF0YWRhcyBubyBjb21wb25lbnRlLCBpbnRlcm5hbWVudGUsIGUgbsOjbyBwb2RlbSBzZXIgYWx0ZXJhZGFzLiBTw6NvIGVsYXM6XG4gKlxuICogLSBPIFRleHQgYXJlYSBmb2kgZGVzZW52b2x2aWRvIGNvbSB1c28gZGUgY29udHJvbGVzIHBhZHLDtWVzIEhUTUwsIG8gcXVlIHBlcm1pdGUgYSBpZGVudGlmaWNhw6fDo28gZG8gbWVzbW8gbmEgaW50ZXJmYWNlIHBvciB0ZWNub2xvZ2lhc1xuICogYXNzaXN0aXZhcy4gW1dDQUcgNC4xLjI6IE5hbWUsIFJvbGUsIFZhbHVlXShodHRwczovL3d3dy53My5vcmcvV0FJL1dDQUcyMS9VbmRlcnN0YW5kaW5nL25hbWUtcm9sZS12YWx1ZSlcbiAqIC0gTyBmb2NvIMOpIHZpc8OtdmVsIGUgcG9zc3VpIHVtYSBlc3Blc3N1cmEgc3VwZXJpb3IgYSAyIHBpeGVscyBDU1MsIG7Do28gZmljYW5kbyBlc2NvbmRpZG8gcG9yIG91dHJvc1xuICogZWxlbWVudG9zIGRhIHRlbGEuIFtXQ0FHIDIuNC4xMjogRm9jdXMgQXBwZWFyYW5jZSldKGh0dHBzOi8vd3d3LnczLm9yZy9XQUkvV0NBRzIyL1VuZGVyc3RhbmRpbmcvZm9jdXMtYXBwZWFyYW5jZS1lbmhhbmNlZClcbiAqIC0gQSBpZGVudGlmaWNhw6fDo28gZG8gZXJybyBhY29udGVjZSB0YW1iw6ltIGF0cmF2w6lzIGRhIG11ZGFuw6dhIGRlIGNvciBkbyBjYW1wbywgbWFzIHRhbWLDqW0gZGUgdW0gw61jb25lXG4gKiBqdW50byBkYSBtZW5zYWdlbS4gW1dHQUcgMS40LjE6IFVzZSBvZiBDb2xvciwgMy4yLjQ6IENvbnNpc3RlbnQgSWRlbnRpZmljYXRpb25dKGh0dHBzOi8vd3d3LnczLm9yZy9XQUkvV0NBRzIxL1VuZGVyc3RhbmRpbmcvdXNlLW9mLWNvbG9yKVxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQb1RleHRhcmVhQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3Ige1xuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBBcGxpY2EgZm9jbyBubyBlbGVtZW50byBhbyBzZXIgaW5pY2lhZG8uXG4gICAqXG4gICAqID4gQ2FzbyBtYWlzIGRlIHVtIGVsZW1lbnRvIHNlamEgY29uZmlndXJhZG8gY29tIGVzc2EgcHJvcHJpZWRhZGUsIGFwZW5hcyBvIMO6bHRpbW8gZWxlbWVudG8gZGVjbGFyYWRvIGNvbSBlbGEgdGVyw6EgbyBmb2NvLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICBASW5wdXQoJ3AtYXV0by1mb2N1cycpIEBJbnB1dEJvb2xlYW4oKSBhdXRvRm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogTGFiZWwgZG8gY2FtcG8uICovXG4gIEBJbnB1dCgncC1sYWJlbCcpIGxhYmVsPzogc3RyaW5nO1xuXG4gIC8qKiBUZXh0byBkZSBhcG9pbyBkbyBjYW1wby4gKi9cbiAgQElucHV0KCdwLWhlbHAnKSBoZWxwPzogc3RyaW5nO1xuXG4gIC8qKiBOb21lIGUgSWQgZG8gY29tcG9uZW50ZS4gKi9cbiAgQElucHV0KCduYW1lJykgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIERlZmluZSBzZSBhIGluZGljYcOnw6NvIGRlIGNhbXBvIG9wY2lvbmFsIHNlcsOhIGV4aWJpZGEuXG4gICAqXG4gICAqID4gTsOjbyBzZXLDoSBleGliaWRhIGEgaW5kaWNhw6fDo28gc2U6XG4gICAqIC0gTyBjYW1wbyBjb250ZXIgYHAtcmVxdWlyZWRgO1xuICAgKiAtIE7Do28gcG9zc3VpciBgcC1oZWxwYCBlL291IGBwLWxhYmVsYC5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgQElucHV0KCdwLW9wdGlvbmFsJykgb3B0aW9uYWw6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRXZlbnRvIGRpc3BhcmFkbyBhbyBzYWlyIGRvIGNhbXBvLlxuICAgKi9cbiAgQE91dHB1dCgncC1ibHVyJykgYmx1cjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBFdmVudG8gZGlzcGFyYWRvIGFvIGVudHJhciBkbyBjYW1wby5cbiAgICovXG4gIEBPdXRwdXQoJ3AtZW50ZXInKSBlbnRlcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBFdmVudG8gZGlzcGFyYWRvIGFvIGFsdGVyYXIgdmFsb3IgZSBkZWl4YXIgbyBjYW1wby5cbiAgICovXG4gIEBPdXRwdXQoJ3AtY2hhbmdlJykgY2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIEV2ZW50byBkaXNwYXJhZG8gYW8gYWx0ZXJhciB2YWxvciBkbyBtb2RlbC5cbiAgICovXG4gIEBPdXRwdXQoJ3AtY2hhbmdlLW1vZGVsJykgY2hhbmdlTW9kZWw6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfbWF4bGVuZ3RoOiBudW1iZXI7XG4gIHByaXZhdGUgX21pbmxlbmd0aDogbnVtYmVyO1xuICBwcml2YXRlIF9wbGFjZWhvbGRlcjogc3RyaW5nID0gJyc7XG4gIHByaXZhdGUgX3JlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX3JlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX3Jvd3M6IG51bWJlciA9IDM7XG5cbiAgcHJpdmF0ZSBtb2RlbExhc3RVcGRhdGU6IGFueTtcbiAgcHJpdmF0ZSBvbkNoYW5nZVByb3BhZ2F0ZTogYW55ID0gbnVsbDtcbiAgcHJpdmF0ZSB2YWxpZGF0b3JDaGFuZ2U6IGFueTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gIHByb3RlY3RlZCBvblRvdWNoZWQ6IGFueSA9IG51bGw7XG5cbiAgLyoqIFBsYWNlaG9sZGVyLCBtZW5zYWdlbSBxdWUgYXBhcmVjZXLDoSBlbnF1YW50byBvIGNhbXBvIG7Do28gZXN0aXZlciBwcmVlbmNoaWRvLiAqL1xuICBASW5wdXQoJ3AtcGxhY2Vob2xkZXInKSBzZXQgcGxhY2Vob2xkZXIodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3BsYWNlaG9sZGVyID0gdmFsdWUgfHwgJyc7XG4gIH1cblxuICBnZXQgcGxhY2Vob2xkZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3BsYWNlaG9sZGVyO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogSW5kaWNhIHF1ZSBvIGNhbXBvIHNlcsOhIGRlc2FiaWxpdGFkby5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgQElucHV0KCdwLWRpc2FibGVkJykgc2V0IGRpc2FibGVkKGRpc2FibGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSBjb252ZXJ0VG9Cb29sZWFuKGRpc2FibGVkKTtcbiAgfVxuXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBJbmRpY2EgcXVlIG8gY2FtcG8gc2Vyw6Egc29tZW50ZSBsZWl0dXJhLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICBASW5wdXQoJ3AtcmVhZG9ubHknKSBzZXQgcmVhZG9ubHkocmVhZG9ubHk6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9yZWFkb25seSA9IGNvbnZlcnRUb0Jvb2xlYW4ocmVhZG9ubHkpO1xuICB9XG5cbiAgZ2V0IHJlYWRvbmx5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9yZWFkb25seTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIERlZmluZSBxdWUgbyBjYW1wbyBzZXLDoSBvYnJpZ2F0w7NyaW8uXG4gICAqID4gRXN0YSBwcm9wcmllZGFkZSDDqSBkZXNjb25zaWRlcmFkYSBxdWFuZG8gbyBpbnB1dCBlc3TDoSBkZXNhYmlsaXRhZG8gYChwLWRpc2FibGVkKWAuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIEBJbnB1dCgncC1yZXF1aXJlZCcpIHNldCByZXF1aXJlZChyZXF1aXJlZDogYm9vbGVhbikge1xuICAgIHRoaXMuX3JlcXVpcmVkID0gY29udmVydFRvQm9vbGVhbihyZXF1aXJlZCk7XG5cbiAgICB0aGlzLnZhbGlkYXRlTW9kZWwoKTtcbiAgfVxuXG4gIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWQ7XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lIHNlIGEgaW5kaWNhw6fDo28gZGUgY2FtcG8gb2JyaWdhdMOzcmlvIHNlcsOhIGV4aWJpZGEuXG4gICAqXG4gICAqID4gTsOjbyBzZXLDoSBleGliaWRhIGEgaW5kaWNhw6fDo28gc2U6XG4gICAqIC0gTsOjbyBwb3NzdWlyIGBwLWhlbHBgIGUvb3UgYHAtbGFiZWxgLlxuICAgKi9cbiAgQElucHV0KCdwLXNob3ctcmVxdWlyZWQnKSBzaG93UmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBJbmRpY2EgYSBxdWFudGlkYWRlIG3DrW5pbWEgZGUgY2FyYWN0ZXJlcyBxdWUgbyBjYW1wbyBhY2VpdGEuXG4gICAqL1xuICBASW5wdXQoJ3AtbWlubGVuZ3RoJykgc2V0IG1pbmxlbmd0aChtaW5sZW5ndGg6IG51bWJlcikge1xuICAgIHRoaXMuX21pbmxlbmd0aCA9IGNvbnZlcnRUb0ludChtaW5sZW5ndGgpO1xuICAgIHRoaXMudmFsaWRhdGVNb2RlbCgpO1xuICB9XG5cbiAgZ2V0IG1pbmxlbmd0aCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9taW5sZW5ndGg7XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBJbmRpY2EgYSBxdWFudGlkYWRlIG3DoXhpbWEgZGUgY2FyYWN0ZXJlcyBxdWUgbyBjYW1wbyBhY2VpdGEuXG4gICAqL1xuICBASW5wdXQoJ3AtbWF4bGVuZ3RoJykgc2V0IG1heGxlbmd0aChtYXhsZW5ndGg6IG51bWJlcikge1xuICAgIHRoaXMuX21heGxlbmd0aCA9IGNvbnZlcnRUb0ludChtYXhsZW5ndGgpO1xuICAgIHRoaXMudmFsaWRhdGVNb2RlbCgpO1xuICB9XG5cbiAgZ2V0IG1heGxlbmd0aCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9tYXhsZW5ndGg7XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBJbmRpY2EgYSBxdWFudGlkYWRlIGRlIGxpbmhhcyBxdWUgc2Vyw6NvIGV4aWJpZGFzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgM2BcbiAgICovXG4gIEBJbnB1dCgncC1yb3dzJykgc2V0IHJvd3ModmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX3Jvd3MgPSBpc05hTihwYXJzZUludCg8YW55PnZhbHVlLCAxMCkpIHx8IHZhbHVlIDwgMyA/IDMgOiBwYXJzZUludCg8YW55PnZhbHVlLCAxMCk7XG4gIH1cbiAgZ2V0IHJvd3MoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fcm93cztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgY2FsbE9uQ2hhbmdlKHZhbHVlOiBhbnkpIHtcbiAgICAvLyBRdWFuZG8gbyBpbnB1dCBuw6NvIHBvc3N1aSB1bSBmb3JtdWzDoXJpbywgZW50w6NvIGVzdGEgZnVuw6fDo28gbsOjbyDDqSByZWdpc3RyYWRhXG4gICAgaWYgKHRoaXMub25DaGFuZ2VQcm9wYWdhdGUpIHtcbiAgICAgIHRoaXMub25DaGFuZ2VQcm9wYWdhdGUodmFsdWUpO1xuICAgIH1cblxuICAgIHRoaXMuY29udHJvbENoYW5nZU1vZGVsRW1pdHRlcih2YWx1ZSk7XG4gIH1cblxuICBjb250cm9sQ2hhbmdlTW9kZWxFbWl0dGVyKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodGhpcy5tb2RlbExhc3RVcGRhdGUgIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLmNoYW5nZU1vZGVsLmVtaXQodmFsdWUpO1xuICAgICAgdGhpcy5tb2RlbExhc3RVcGRhdGUgPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICAvLyBGdW7Dp8OjbyBpbXBsZW1lbnRhZGEgZG8gQ29udHJvbFZhbHVlQWNjZXNzb3JcbiAgLy8gVXNhZGEgcGFyYSBpbnRlcmNlcHRhciBvcyBlc3RhZG9zIGRlIGhhYmlsaXRhZG8gdmlhIGZvcm1zIGFwaVxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLy8gRnVuw6fDtWVzIGByZWdpc3Rlck9uQ2hhbmdlYCwgYHJlZ2lzdGVyT25Ub3VjaGVkYCBlIGByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlYCBpbXBsZW1lbnRhZGFzIHJlZmVyZW50ZXMgYW8gQ29udHJvbFZhbHVlQWNjZXNzb3JcbiAgLy8gdXNhZGFzIHBhcmEgaW50ZXJjZXB0YXIgYXMgbXVkYW7Dp2FzIGUgbsOjbyBhdHVhbGl6YXIgYXV0b21hdGljYW1lbnRlIG8gTW9kZWxcbiAgcmVnaXN0ZXJPbkNoYW5nZShmdW5jOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlUHJvcGFnYXRlID0gZnVuYztcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZ1bmM6IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZnVuYztcbiAgfVxuXG4gIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoZnVuYzogYW55KTogdm9pZCB7XG4gICAgdGhpcy52YWxpZGF0b3JDaGFuZ2UgPSBmdW5jO1xuICB9XG5cbiAgdmFsaWRhdGUoYWJzdHJhY3RDb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICBpZiAocmVxdWlyZWRGYWlsZWQodGhpcy5yZXF1aXJlZCwgdGhpcy5kaXNhYmxlZCwgYWJzdHJhY3RDb250cm9sLnZhbHVlKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcmVxdWlyZWQ6IHtcbiAgICAgICAgICB2YWxpZDogZmFsc2VcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAobWlubGVuZ3BvYWlsZWQodGhpcy5taW5sZW5ndGgsIGFic3RyYWN0Q29udHJvbC52YWx1ZSkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1pbmxlbmd0aDoge1xuICAgICAgICAgIHZhbGlkOiBmYWxzZVxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChtYXhsZW5ncG9haWxlZCh0aGlzLm1heGxlbmd0aCwgYWJzdHJhY3RDb250cm9sLnZhbHVlKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbWF4bGVuZ3RoOiB7XG4gICAgICAgICAgdmFsaWQ6IGZhbHNlXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgLy8gRnVuw6fDo28gaW1wbGVtZW50YWRhIGRvIENvbnRyb2xWYWx1ZUFjY2Vzc29yXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgIHRoaXMud3JpdGVWYWx1ZU1vZGVsKHZhbHVlKTtcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHZhbGlkYXRlTW9kZWwoKSB7XG4gICAgaWYgKHRoaXMudmFsaWRhdG9yQ2hhbmdlKSB7XG4gICAgICB0aGlzLnZhbGlkYXRvckNoYW5nZSgpO1xuICAgIH1cbiAgfVxuXG4gIGFic3RyYWN0IHdyaXRlVmFsdWVNb2RlbCh2YWx1ZTogYW55KTogdm9pZDtcbn1cbiJdfQ==
@@ -1,5 +1,6 @@
1
1
  import { Component, ElementRef, forwardRef, ViewChild, ChangeDetectionStrategy } from '@angular/core';
2
2
  import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { uuid } from '../../../utils/util';
3
4
  import { PoTextareaBaseComponent } from './po-textarea-base.component';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "../po-field-container/po-field-container-bottom/po-field-container-bottom.component";
@@ -34,6 +35,7 @@ const _c0 = ["inp"];
34
35
  export class PoTextareaComponent extends PoTextareaBaseComponent {
35
36
  constructor(cd) {
36
37
  super(cd);
38
+ this.id = `po-textarea[${uuid()}]`;
37
39
  this.fireChange = false;
38
40
  }
39
41
  /**
@@ -122,17 +124,17 @@ PoTextareaComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoTexta
122
124
  useExisting: forwardRef(() => PoTextareaComponent),
123
125
  multi: true
124
126
  }
125
- ]), i0.ɵɵInheritDefinitionFeature], decls: 5, vars: 10, consts: [[3, "p-help", "p-label", "p-optional"], [1, "po-field-container-content"], [1, "po-textarea", 3, "disabled", "placeholder", "readonly", "required", "rows", "blur", "focus", "input"], ["inp", ""]], template: function PoTextareaComponent_Template(rf, ctx) { if (rf & 1) {
127
+ ]), i0.ɵɵInheritDefinitionFeature], decls: 5, vars: 14, consts: [[3, "p-disabled", "p-help", "p-id", "p-label", "p-optional", "p-required", "p-show-required"], [1, "po-field-container-content"], [1, "po-textarea", 3, "disabled", "id", "placeholder", "readonly", "required", "rows", "blur", "focus", "input"], ["inp", ""]], template: function PoTextareaComponent_Template(rf, ctx) { if (rf & 1) {
126
128
  i0.ɵɵelementStart(0, "po-field-container", 0)(1, "div", 1)(2, "textarea", 2, 3);
127
129
  i0.ɵɵlistener("blur", function PoTextareaComponent_Template_textarea_blur_2_listener() { return ctx.eventOnBlur(); })("focus", function PoTextareaComponent_Template_textarea_focus_2_listener() { return ctx.eventOnFocus(); })("input", function PoTextareaComponent_Template_textarea_input_2_listener($event) { return ctx.eventOnInput($event); });
128
130
  i0.ɵɵelementEnd()();
129
131
  i0.ɵɵelement(4, "po-field-container-bottom");
130
132
  i0.ɵɵelementEnd();
131
133
  } if (rf & 2) {
132
- i0.ɵɵproperty("p-help", ctx.help)("p-label", ctx.label)("p-optional", !ctx.required && ctx.optional);
134
+ i0.ɵɵproperty("p-disabled", ctx.disabled)("p-help", ctx.help)("p-id", ctx.id)("p-label", ctx.label)("p-optional", ctx.optional)("p-required", ctx.required)("p-show-required", ctx.showRequired);
133
135
  i0.ɵɵadvance(2);
134
- i0.ɵɵproperty("disabled", ctx.disabled)("placeholder", ctx.disabled ? "" : ctx.placeholder)("readonly", ctx.readonly)("required", ctx.required)("rows", ctx.rows);
135
- i0.ɵɵattribute("name", ctx.name)("aria-label", ctx.label);
136
+ i0.ɵɵproperty("disabled", ctx.disabled)("id", ctx.id)("placeholder", ctx.disabled ? "" : ctx.placeholder)("readonly", ctx.readonly)("required", ctx.required)("rows", ctx.rows);
137
+ i0.ɵɵattribute("name", ctx.name);
136
138
  } }, dependencies: [i1.PoFieldContainerBottomComponent, i2.PoFieldContainerComponent], encapsulation: 2, changeDetection: 0 });
137
139
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoTextareaComponent, [{
138
140
  type: Component,
@@ -147,9 +149,9 @@ PoTextareaComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoTexta
147
149
  useExisting: forwardRef(() => PoTextareaComponent),
148
150
  multi: true
149
151
  }
150
- ], template: "<po-field-container [p-help]=\"help\" [p-label]=\"label\" [p-optional]=\"!required && optional\">\n <div class=\"po-field-container-content\">\n <textarea\n #inp\n class=\"po-textarea\"\n (blur)=\"eventOnBlur()\"\n (focus)=\"eventOnFocus()\"\n (input)=\"eventOnInput($event)\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"label\"\n [disabled]=\"disabled\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [rows]=\"rows\"\n ></textarea>\n </div>\n\n <po-field-container-bottom></po-field-container-bottom>\n</po-field-container>\n" }]
152
+ ], template: "<po-field-container\n [p-disabled]=\"disabled\"\n [p-help]=\"help\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n>\n <div class=\"po-field-container-content\">\n <textarea\n #inp\n class=\"po-textarea\"\n (blur)=\"eventOnBlur()\"\n (focus)=\"eventOnFocus()\"\n (input)=\"eventOnInput($event)\"\n [attr.name]=\"name\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [rows]=\"rows\"\n ></textarea>\n </div>\n\n <po-field-container-bottom></po-field-container-bottom>\n</po-field-container>\n" }]
151
153
  }], function () { return [{ type: i0.ChangeDetectorRef }]; }, { inputEl: [{
152
154
  type: ViewChild,
153
155
  args: ['inp', { read: ElementRef, static: true }]
154
156
  }] }); })();
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLWZpZWxkL3BvLXRleHRhcmVhL3BvLXRleHRhcmVhLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby10ZXh0YXJlYS9wby10ZXh0YXJlYS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFFVixVQUFVLEVBQ1YsU0FBUyxFQUVULHVCQUF1QixFQUN4QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7O0FBRXZFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUJHO0FBa0JILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSx1QkFBdUI7SUFNOUQsWUFBWSxFQUFxQjtRQUMvQixLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFIWixlQUFVLEdBQVksS0FBSyxDQUFDO0lBSTVCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7OztPQWdCRztJQUNILEtBQUs7UUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNwQztJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFVO1FBQ3hCLElBQUksSUFB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b0JBQW9CLENBQUM7d0JBQ2xELEtBQUssRUFBRSxJQUFJO3FCQUNaO29CQUNEO3dCQUNFLE9BQU8sRUFBRSxhQUFhO3dCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQzt3QkFDbEQsS0FBSyxFQUFFLElBQUk7cUJBQ1o7aUJBQ0Y7b0VBR3FELE9BQU87a0JBQTVELFNBQVM7bUJBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgZm9yd2FyZFJlZixcbiAgVmlld0NoaWxkLFxuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBQb1RleHRhcmVhQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vcG8tdGV4dGFyZWEtYmFzZS5jb21wb25lbnQnO1xuXG4vKipcbiAqIEBkb2NzRXh0ZW5kcyBQb1RleHRhcmVhQmFzZUNvbXBvbmVudFxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXRleHRhcmVhLWJhc2ljXCIgdGl0bGU9XCJQTyBUZXh0YXJlYSBCYXNpY1wiID5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXRleHRhcmVhLWJhc2ljL3NhbXBsZS1wby10ZXh0YXJlYS1iYXNpYy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby10ZXh0YXJlYS1iYXNpYy9zYW1wbGUtcG8tdGV4dGFyZWEtYmFzaWMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tdGV4dGFyZWEtbGFic1wiIHRpdGxlPVwiUE8gVGV4dGFyZWEgTGFic1wiID5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXRleHRhcmVhLWxhYnMvc2FtcGxlLXBvLXRleHRhcmVhLWxhYnMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tdGV4dGFyZWEtbGFicy9zYW1wbGUtcG8tdGV4dGFyZWEtbGFicy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby10ZXh0YXJlYS1lbWFpbFwiIHRpdGxlPVwiUE8gVGV4dGFyZWEgLSBFbWFpbFwiID5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXRleHRhcmVhLWVtYWlsL3NhbXBsZS1wby10ZXh0YXJlYS1lbWFpbC5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby10ZXh0YXJlYS1lbWFpbC9zYW1wbGUtcG8tdGV4dGFyZWEtZW1haWwuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tdGV4dGFyZWEtZW1haWwtcmVhY3RpdmUtZm9ybVwiIHRpdGxlPVwiUE8gVGV4dGFyZWEgLSBFbWFpbCBSZWFjdGl2ZSBGb3JtXCIgPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tdGV4dGFyZWEtZW1haWwtcmVhY3RpdmUtZm9ybS9zYW1wbGUtcG8tdGV4dGFyZWEtZW1haWwtcmVhY3RpdmUtZm9ybS5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby10ZXh0YXJlYS1lbWFpbC1yZWFjdGl2ZS1mb3JtL3NhbXBsZS1wby10ZXh0YXJlYS1lbWFpbC1yZWFjdGl2ZS1mb3JtLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby10ZXh0YXJlYScsXG4gIHRlbXBsYXRlVXJsOiAnLi9wby10ZXh0YXJlYS5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBvVGV4dGFyZWFDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQb1RleHRhcmVhQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFBvVGV4dGFyZWFDb21wb25lbnQgZXh0ZW5kcyBQb1RleHRhcmVhQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBAVmlld0NoaWxkKCdpbnAnLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KSBpbnB1dEVsOiBFbGVtZW50UmVmO1xuXG4gIHZhbHVlQmVmb3JlQ2hhbmdlOiBhbnk7XG4gIGZpcmVDaGFuZ2U6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcihjZCk7XG4gIH1cblxuICAvKipcbiAgICogRnVuw6fDo28gcXVlIGF0cmlidWkgZm9jbyBhbyBjb21wb25lbnRlLlxuICAgKlxuICAgKiBQYXJhIHV0aWxpesOhLWxhIMOpIG5lY2Vzc8OhcmlvIHRlciBhIGluc3TDom5jaWEgZG8gY29tcG9uZW50ZSBubyBET00sIHBvZGVuZG8gc2VyIHV0aWxpemFkbyBvIFZpZXdDaGlsZCBkYSBzZWd1aW50ZSBmb3JtYTpcbiAgICpcbiAgICogYGBgXG4gICAqIGltcG9ydCB7IFBvVGV4dGFyZWFDb21wb25lbnQgfSBmcm9tICdAcG8tdWkvbmctY29tcG9uZW50cyc7XG4gICAqXG4gICAqIC4uLlxuICAgKlxuICAgKiBAVmlld0NoaWxkKFBvVGV4dGFyZWFDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIHRleHRhcmVhOiBQb1RleHRhcmVhQ29tcG9uZW50O1xuICAgKlxuICAgKiBmb2N1c1RleHRhcmVhKCkge1xuICAgKiAgIHRoaXMudGV4dGFyZWEuZm9jdXMoKTtcbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIGZvY3VzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMuYXV0b0ZvY3VzKSB7XG4gICAgICB0aGlzLmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgd3JpdGVWYWx1ZU1vZGVsKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pbnB1dEVsKSB7XG4gICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgIC8vIFNlIGZvciBvIHZhbG9yIGZvciB1bmRlZmluZWQsIGRldmUgbGltcGFyIG8gY2FtcG9cbiAgICAgICAgdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRW1pdGUgZXZlbnRvIHF1YW5kbyBvIG1vZGVsIMOpIGF0dWFsaXphZG8sIGluY2x1c2l2ZSBhIHByaW1laXJhIHZlelxuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5jaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgdmFsaWRNYXhMZW5ndGgobWF4bGVuZ3RoOiBudW1iZXIsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbWF4bGVuZ3RoICYmIHZhbHVlLmxlbmd0aCA+IG1heGxlbmd0aCA/IHZhbHVlLnRvU3RyaW5nKCkuc3Vic3RyaW5nKDAsIG1heGxlbmd0aCkgOiB2YWx1ZTtcbiAgfVxuXG4gIGV2ZW50T25JbnB1dChldmVudDogYW55KSB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbGlkTWF4TGVuZ3RoKHRoaXMubWF4bGVuZ3RoLCBldmVudC50YXJnZXQudmFsdWUpO1xuICAgIHRoaXMuY2FsbE9uQ2hhbmdlKHZhbHVlKTtcbiAgICB0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgZXZlbnRPbkZvY3VzKCkge1xuICAgIC8vIEF0dWFsaXphIHZhbG9yIGRhIHZhcmnDoXZlbCBxdWUgc2Vyw6EgdXNhZGEgcGFyYSB2ZXJpZmljYXIgc2UgbyBjYW1wbyB0ZXZlIGFsdGVyYcOnw6NvXG4gICAgdGhpcy52YWx1ZUJlZm9yZUNoYW5nZSA9IHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LnZhbHVlO1xuXG4gICAgLy8gRGlzcGFyYSBldmVudG8gcXVhbmRvIG8gdXN1w6FyaW8gZW50cmFyIG5vIGNhbXBvXG4gICAgLy8gRXN0ZSBldmVudG8gdGFtYsOpbSDDqSBkaXNwYXJhZG8gcXVhbmRvIG8gY2FtcG8gaW5pY2lhIGNvbSBmb2NvLlxuICAgIHRoaXMuZW50ZXIuZW1pdCgpO1xuICB9XG5cbiAgZXZlbnRPbkJsdXIoKSB7XG4gICAgdGhpcy5vblRvdWNoZWQ/LigpO1xuICAgIHRoaXMuYmx1ci5lbWl0KCk7XG4gICAgdGhpcy5jb250cm9sQ2hhbmdlRW1pdHRlcigpO1xuICB9XG5cbiAgY29udHJvbENoYW5nZUVtaXR0ZXIoKSB7XG4gICAgY29uc3QgZWxlbWVudFZhbHVlID0gdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQudmFsdWU7XG5cbiAgICBpZiAoZWxlbWVudFZhbHVlICE9PSB0aGlzLnZhbHVlQmVmb3JlQ2hhbmdlKSB7XG4gICAgICB0aGlzLmNoYW5nZS5lbWl0KGVsZW1lbnRWYWx1ZSk7XG4gICAgfVxuICB9XG59XG4iLCI8cG8tZmllbGQtY29udGFpbmVyIFtwLWhlbHBdPVwiaGVscFwiIFtwLWxhYmVsXT1cImxhYmVsXCIgW3Atb3B0aW9uYWxdPVwiIXJlcXVpcmVkICYmIG9wdGlvbmFsXCI+XG4gIDxkaXYgY2xhc3M9XCJwby1maWVsZC1jb250YWluZXItY29udGVudFwiPlxuICAgIDx0ZXh0YXJlYVxuICAgICAgI2lucFxuICAgICAgY2xhc3M9XCJwby10ZXh0YXJlYVwiXG4gICAgICAoYmx1cik9XCJldmVudE9uQmx1cigpXCJcbiAgICAgIChmb2N1cyk9XCJldmVudE9uRm9jdXMoKVwiXG4gICAgICAoaW5wdXQpPVwiZXZlbnRPbklucHV0KCRldmVudClcIlxuICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWxcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJkaXNhYmxlZCA/ICcnIDogcGxhY2Vob2xkZXJcIlxuICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICBbcm93c109XCJyb3dzXCJcbiAgICA+PC90ZXh0YXJlYT5cbiAgPC9kaXY+XG5cbiAgPHBvLWZpZWxkLWNvbnRhaW5lci1ib3R0b20+PC9wby1maWVsZC1jb250YWluZXItYm90dG9tPlxuPC9wby1maWVsZC1jb250YWluZXI+XG4iXX0=
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLWZpZWxkL3BvLXRleHRhcmVhL3BvLXRleHRhcmVhLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby10ZXh0YXJlYS9wby10ZXh0YXJlYS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFFVixVQUFVLEVBQ1YsU0FBUyxFQUVULHVCQUF1QixFQUN4QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTNDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7OztBQUV2RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlCRztBQWtCSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsdUJBQXVCO0lBTzlELFlBQVksRUFBcUI7UUFDL0IsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBTFosT0FBRSxHQUFHLGVBQWUsSUFBSSxFQUFFLEdBQUcsQ0FBQztRQUU5QixlQUFVLEdBQVksS0FBSyxDQUFDO0lBSTVCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7OztPQWdCRztJQUNILEtBQUs7UUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNwQztJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxJQUFJLENBQUMsU0FBUyxF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UzsyQkFDRSxhQUFhLG1CQUVOLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7b0JBQ1Q7d0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUM7d0JBQ2xELEtBQUssRUFBRSxJQUFJO3FCQUNaO29CQUNEO3dCQUNFLE9BQU8sRUFBRSxhQUFhO3dCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQzt3QkFDbEQsS0FBSyxFQUFFLElBQUk7cUJBQ1o7aUJBQ0Y7b0VBR3FELE9BQU87a0JBQTVELFNBQVM7bUJBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgZm9yd2FyZFJlZixcbiAgVmlld0NoaWxkLFxuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyB1dWlkIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvdXRpbCc7XG5cbmltcG9ydCB7IFBvVGV4dGFyZWFCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby10ZXh0YXJlYS1iYXNlLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQGRvY3NFeHRlbmRzIFBvVGV4dGFyZWFCYXNlQ29tcG9uZW50XG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tdGV4dGFyZWEtYmFzaWNcIiB0aXRsZT1cIlBPIFRleHRhcmVhIEJhc2ljXCIgPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tdGV4dGFyZWEtYmFzaWMvc2FtcGxlLXBvLXRleHRhcmVhLWJhc2ljLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXRleHRhcmVhLWJhc2ljL3NhbXBsZS1wby10ZXh0YXJlYS1iYXNpYy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby10ZXh0YXJlYS1sYWJzXCIgdGl0bGU9XCJQTyBUZXh0YXJlYSBMYWJzXCIgPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tdGV4dGFyZWEtbGFicy9zYW1wbGUtcG8tdGV4dGFyZWEtbGFicy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby10ZXh0YXJlYS1sYWJzL3NhbXBsZS1wby10ZXh0YXJlYS1sYWJzLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXRleHRhcmVhLWVtYWlsXCIgdGl0bGU9XCJQTyBUZXh0YXJlYSAtIEVtYWlsXCIgPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tdGV4dGFyZWEtZW1haWwvc2FtcGxlLXBvLXRleHRhcmVhLWVtYWlsLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXRleHRhcmVhLWVtYWlsL3NhbXBsZS1wby10ZXh0YXJlYS1lbWFpbC5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby10ZXh0YXJlYS1lbWFpbC1yZWFjdGl2ZS1mb3JtXCIgdGl0bGU9XCJQTyBUZXh0YXJlYSAtIEVtYWlsIFJlYWN0aXZlIEZvcm1cIiA+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby10ZXh0YXJlYS1lbWFpbC1yZWFjdGl2ZS1mb3JtL3NhbXBsZS1wby10ZXh0YXJlYS1lbWFpbC1yZWFjdGl2ZS1mb3JtLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXRleHRhcmVhLWVtYWlsLXJlYWN0aXZlLWZvcm0vc2FtcGxlLXBvLXRleHRhcmVhLWVtYWlsLXJlYWN0aXZlLWZvcm0uY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BvLXRleHRhcmVhJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvLXRleHRhcmVhLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUG9UZXh0YXJlYUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBvVGV4dGFyZWFDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUG9UZXh0YXJlYUNvbXBvbmVudCBleHRlbmRzIFBvVGV4dGFyZWFCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ2lucCcsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIGlucHV0RWw6IEVsZW1lbnRSZWY7XG5cbiAgaWQgPSBgcG8tdGV4dGFyZWFbJHt1dWlkKCl9XWA7XG4gIHZhbHVlQmVmb3JlQ2hhbmdlOiBhbnk7XG4gIGZpcmVDaGFuZ2U6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcihjZCk7XG4gIH1cblxuICAvKipcbiAgICogRnVuw6fDo28gcXVlIGF0cmlidWkgZm9jbyBhbyBjb21wb25lbnRlLlxuICAgKlxuICAgKiBQYXJhIHV0aWxpesOhLWxhIMOpIG5lY2Vzc8OhcmlvIHRlciBhIGluc3TDom5jaWEgZG8gY29tcG9uZW50ZSBubyBET00sIHBvZGVuZG8gc2VyIHV0aWxpemFkbyBvIFZpZXdDaGlsZCBkYSBzZWd1aW50ZSBmb3JtYTpcbiAgICpcbiAgICogYGBgXG4gICAqIGltcG9ydCB7IFBvVGV4dGFyZWFDb21wb25lbnQgfSBmcm9tICdAcG8tdWkvbmctY29tcG9uZW50cyc7XG4gICAqXG4gICAqIC4uLlxuICAgKlxuICAgKiBAVmlld0NoaWxkKFBvVGV4dGFyZWFDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIHRleHRhcmVhOiBQb1RleHRhcmVhQ29tcG9uZW50O1xuICAgKlxuICAgKiBmb2N1c1RleHRhcmVhKCkge1xuICAgKiAgIHRoaXMudGV4dGFyZWEuZm9jdXMoKTtcbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIGZvY3VzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMuYXV0b0ZvY3VzKSB7XG4gICAgICB0aGlzLmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgd3JpdGVWYWx1ZU1vZGVsKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pbnB1dEVsKSB7XG4gICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgIC8vIFNlIGZvciBvIHZhbG9yIGZvciB1bmRlZmluZWQsIGRldmUgbGltcGFyIG8gY2FtcG9cbiAgICAgICAgdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRW1pdGUgZXZlbnRvIHF1YW5kbyBvIG1vZGVsIMOpIGF0dWFsaXphZG8sIGluY2x1c2l2ZSBhIHByaW1laXJhIHZlelxuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5jaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgdmFsaWRNYXhMZW5ndGgobWF4bGVuZ3RoOiBudW1iZXIsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbWF4bGVuZ3RoICYmIHZhbHVlLmxlbmd0aCA+IG1heGxlbmd0aCA/IHZhbHVlLnRvU3RyaW5nKCkuc3Vic3RyaW5nKDAsIG1heGxlbmd0aCkgOiB2YWx1ZTtcbiAgfVxuXG4gIGV2ZW50T25JbnB1dChldmVudDogYW55KSB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbGlkTWF4TGVuZ3RoKHRoaXMubWF4bGVuZ3RoLCBldmVudC50YXJnZXQudmFsdWUpO1xuICAgIHRoaXMuY2FsbE9uQ2hhbmdlKHZhbHVlKTtcbiAgICB0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgZXZlbnRPbkZvY3VzKCkge1xuICAgIC8vIEF0dWFsaXphIHZhbG9yIGRhIHZhcmnDoXZlbCBxdWUgc2Vyw6EgdXNhZGEgcGFyYSB2ZXJpZmljYXIgc2UgbyBjYW1wbyB0ZXZlIGFsdGVyYcOnw6NvXG4gICAgdGhpcy52YWx1ZUJlZm9yZUNoYW5nZSA9IHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LnZhbHVlO1xuXG4gICAgLy8gRGlzcGFyYSBldmVudG8gcXVhbmRvIG8gdXN1w6FyaW8gZW50cmFyIG5vIGNhbXBvXG4gICAgLy8gRXN0ZSBldmVudG8gdGFtYsOpbSDDqSBkaXNwYXJhZG8gcXVhbmRvIG8gY2FtcG8gaW5pY2lhIGNvbSBmb2NvLlxuICAgIHRoaXMuZW50ZXIuZW1pdCgpO1xuICB9XG5cbiAgZXZlbnRPbkJsdXIoKSB7XG4gICAgdGhpcy5vblRvdWNoZWQ/LigpO1xuICAgIHRoaXMuYmx1ci5lbWl0KCk7XG4gICAgdGhpcy5jb250cm9sQ2hhbmdlRW1pdHRlcigpO1xuICB9XG5cbiAgY29udHJvbENoYW5nZUVtaXR0ZXIoKSB7XG4gICAgY29uc3QgZWxlbWVudFZhbHVlID0gdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQudmFsdWU7XG5cbiAgICBpZiAoZWxlbWVudFZhbHVlICE9PSB0aGlzLnZhbHVlQmVmb3JlQ2hhbmdlKSB7XG4gICAgICB0aGlzLmNoYW5nZS5lbWl0KGVsZW1lbnRWYWx1ZSk7XG4gICAgfVxuICB9XG59XG4iLCI8cG8tZmllbGQtY29udGFpbmVyXG4gIFtwLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW3AtaGVscF09XCJoZWxwXCJcbiAgW3AtaWRdPVwiaWRcIlxuICBbcC1sYWJlbF09XCJsYWJlbFwiXG4gIFtwLW9wdGlvbmFsXT1cIm9wdGlvbmFsXCJcbiAgW3AtcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICBbcC1zaG93LXJlcXVpcmVkXT1cInNob3dSZXF1aXJlZFwiXG4+XG4gIDxkaXYgY2xhc3M9XCJwby1maWVsZC1jb250YWluZXItY29udGVudFwiPlxuICAgIDx0ZXh0YXJlYVxuICAgICAgI2lucFxuICAgICAgY2xhc3M9XCJwby10ZXh0YXJlYVwiXG4gICAgICAoYmx1cik9XCJldmVudE9uQmx1cigpXCJcbiAgICAgIChmb2N1cyk9XCJldmVudE9uRm9jdXMoKVwiXG4gICAgICAoaW5wdXQpPVwiZXZlbnRPbklucHV0KCRldmVudClcIlxuICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbaWRdPVwiaWRcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cImRpc2FibGVkID8gJycgOiBwbGFjZWhvbGRlclwiXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgIFtyb3dzXT1cInJvd3NcIlxuICAgID48L3RleHRhcmVhPlxuICA8L2Rpdj5cblxuICA8cG8tZmllbGQtY29udGFpbmVyLWJvdHRvbT48L3BvLWZpZWxkLWNvbnRhaW5lci1ib3R0b20+XG48L3BvLWZpZWxkLWNvbnRhaW5lcj5cbiJdfQ==