@po-ui/ng-components 17.26.3 → 17.26.5

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 (39) hide show
  1. package/esm2022/lib/components/po-accordion/po-accordion-item-header/po-accordion-item-header.component.mjs +31 -13
  2. package/esm2022/lib/components/po-accordion/po-accordion-manager/po-accordion-manager.component.mjs +47 -12
  3. package/esm2022/lib/components/po-accordion/po-accordion.module.mjs +5 -4
  4. package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-base.component.mjs +2 -2
  5. package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-field.interface.mjs +1 -1
  6. package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-fields.component.mjs +118 -7
  7. package/esm2022/lib/components/po-field/po-switch/po-switch.component.mjs +18 -4
  8. package/esm2022/lib/components/po-page/po-page-default/po-page-default-base.component.mjs +2 -2
  9. package/esm2022/lib/components/po-page/po-page-default/po-page-default.component.mjs +9 -1
  10. package/esm2022/lib/components/po-table/po-table-base.component.mjs +31 -3
  11. package/esm2022/lib/components/po-table/po-table-detail/po-table-detail.component.mjs +43 -37
  12. package/esm2022/lib/components/po-table/po-table-list-manager/po-table-list-manager.component.mjs +5 -5
  13. package/esm2022/lib/components/po-table/po-table.component.mjs +8 -8
  14. package/fesm2022/po-ui-ng-components.mjs +313 -94
  15. package/fesm2022/po-ui-ng-components.mjs.map +1 -1
  16. package/lib/components/po-accordion/po-accordion-item-header/po-accordion-item-header.component.d.ts +2 -0
  17. package/lib/components/po-accordion/po-accordion-manager/po-accordion-manager.component.d.ts +8 -2
  18. package/lib/components/po-accordion/po-accordion.module.d.ts +2 -1
  19. package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-base.component.d.ts +1 -1
  20. package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-field.interface.d.ts +2 -0
  21. package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-fields.component.d.ts +7 -2
  22. package/lib/components/po-field/po-switch/po-switch.component.d.ts +13 -1
  23. package/lib/components/po-page/po-page-default/po-page-default-base.component.d.ts +1 -0
  24. package/lib/components/po-page/po-page-default/po-page-default.component.d.ts +2 -0
  25. package/lib/components/po-table/po-table-base.component.d.ts +2 -1
  26. package/lib/components/po-table/po-table-detail/po-table-detail.component.d.ts +6 -1
  27. package/package.json +4 -4
  28. package/po-ui-ng-components-17.26.5.tgz +0 -0
  29. package/schematics/ng-add/index.js +1 -1
  30. package/schematics/ng-update/v14/index.js +1 -1
  31. package/schematics/ng-update/v15/index.js +1 -1
  32. package/schematics/ng-update/v16/index.js +1 -1
  33. package/schematics/ng-update/v17/index.js +1 -1
  34. package/schematics/ng-update/v2/index.js +1 -1
  35. package/schematics/ng-update/v3/index.js +1 -1
  36. package/schematics/ng-update/v4/index.js +1 -1
  37. package/schematics/ng-update/v5/index.js +1 -1
  38. package/schematics/ng-update/v6/index.js +1 -1
  39. package/po-ui-ng-components-17.26.3.tgz +0 -0
@@ -125,6 +125,17 @@ export class PoSwitchComponent extends PoFieldModel {
125
125
  get formatModel() {
126
126
  return this._formatModel;
127
127
  }
128
+ /**
129
+ * @optional
130
+ *
131
+ * @description
132
+ *
133
+ * Indica se o status do `model` será escondido visualmente ao lado do switch.
134
+ *
135
+ * > Por padrão será atribuído `false`.
136
+ * @default `false`
137
+ */
138
+ hideLabelStatus = false;
128
139
  /**
129
140
  * @optional
130
141
  *
@@ -246,7 +257,7 @@ export class PoSwitchComponent extends PoFieldModel {
246
257
  } if (rf & 2) {
247
258
  let _t;
248
259
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.switchContainer = _t.first);
249
- } }, inputs: { value: [i0.ɵɵInputFlags.HasDecoratorInputTransform, "p-value", "value", convertToBoolean], formatModel: [i0.ɵɵInputFlags.HasDecoratorInputTransform, "p-format-model", "formatModel", convertToBoolean], labelPosition: [i0.ɵɵInputFlags.None, "p-label-position", "labelPosition"], labelOff: [i0.ɵɵInputFlags.None, "p-label-off", "labelOff"], labelOn: [i0.ɵɵInputFlags.None, "p-label-on", "labelOn"] }, features: [i0.ɵɵProvidersFeature([
260
+ } }, inputs: { value: [i0.ɵɵInputFlags.HasDecoratorInputTransform, "p-value", "value", convertToBoolean], formatModel: [i0.ɵɵInputFlags.HasDecoratorInputTransform, "p-format-model", "formatModel", convertToBoolean], hideLabelStatus: [i0.ɵɵInputFlags.HasDecoratorInputTransform, "p-hide-label-status", "hideLabelStatus", convertToBoolean], labelPosition: [i0.ɵɵInputFlags.None, "p-label-position", "labelPosition"], labelOff: [i0.ɵɵInputFlags.None, "p-label-off", "labelOff"], labelOn: [i0.ɵɵInputFlags.None, "p-label-on", "labelOn"] }, features: [i0.ɵɵProvidersFeature([
250
261
  {
251
262
  provide: NG_VALUE_ACCESSOR,
252
263
  useExisting: forwardRef(() => PoSwitchComponent),
@@ -276,7 +287,7 @@ export class PoSwitchComponent extends PoFieldModel {
276
287
  i0.ɵɵadvance();
277
288
  i0.ɵɵproperty("ngIf", ctx.value === true);
278
289
  i0.ɵɵadvance();
279
- i0.ɵɵproperty("ngIf", ctx.label);
290
+ i0.ɵɵproperty("ngIf", !ctx.hideLabelStatus);
280
291
  i0.ɵɵadvance();
281
292
  i0.ɵɵproperty("p-help", ctx.help)("p-disabled", ctx.disabled);
282
293
  } }, dependencies: [i1.NgIf, i2.PoFieldContainerBottomComponent, i3.PoFieldContainerComponent, i4.PoLabelComponent, i5.PoIconComponent], encapsulation: 2, changeDetection: 0 });
@@ -289,7 +300,7 @@ export class PoSwitchComponent extends PoFieldModel {
289
300
  useExisting: forwardRef(() => PoSwitchComponent),
290
301
  multi: true
291
302
  }
292
- ], template: "<po-field-container [p-disabled]=\"disabled\" [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=\"ICON_OK\"></po-icon>\n </div>\n </div>\n </div>\n\n <po-label\n *ngIf=\"label\"\n class=\"po-switch-label\"\n [p-disabled]=\"disabled\"\n [p-label]=\"value === true ? labelOn : labelOff\"\n (click)=\"eventClick()\"\n >\n </po-label>\n </div>\n </div>\n\n <po-field-container-bottom [p-help]=\"help\" [p-disabled]=\"disabled\"></po-field-container-bottom>\n</po-field-container>\n" }]
303
+ ], template: "<po-field-container [p-disabled]=\"disabled\" [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=\"ICON_OK\"></po-icon>\n </div>\n </div>\n </div>\n\n <po-label\n *ngIf=\"!hideLabelStatus\"\n class=\"po-switch-label\"\n [p-disabled]=\"disabled\"\n [p-label]=\"value === true ? labelOn : labelOff\"\n (click)=\"eventClick()\"\n >\n </po-label>\n </div>\n </div>\n\n <po-field-container-bottom [p-help]=\"help\" [p-disabled]=\"disabled\"></po-field-container-bottom>\n</po-field-container>\n" }]
293
304
  }], () => [{ type: i0.ChangeDetectorRef }], { switchContainer: [{
294
305
  type: ViewChild,
295
306
  args: ['switchContainer', { static: true }]
@@ -299,6 +310,9 @@ export class PoSwitchComponent extends PoFieldModel {
299
310
  }], formatModel: [{
300
311
  type: Input,
301
312
  args: [{ alias: 'p-format-model', transform: convertToBoolean }]
313
+ }], hideLabelStatus: [{
314
+ type: Input,
315
+ args: [{ alias: 'p-hide-label-status', transform: convertToBoolean }]
302
316
  }], labelPosition: [{
303
317
  type: Input,
304
318
  args: ['p-label-position']
@@ -310,4 +324,4 @@ export class PoSwitchComponent extends PoFieldModel {
310
324
  args: ['p-label-on']
311
325
  }] }); })();
312
326
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PoSwitchComponent, { className: "PoSwitchComponent", filePath: "lib/components/po-field/po-switch/po-switch.component.ts", lineNumber: 105 }); })();
313
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tc3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby1zd2l0Y2gvcG8tc3dpdGNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby1zd2l0Y2gvcG8tc3dpdGNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFVBQVUsRUFDVixLQUFLLEVBQ0wsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7SUNFNUQsOEJBQWtGOzs7O0lBS3hGLG9DQU1DO0lBREMscUtBQVMsZUFBQSxtQkFBWSxDQUFBLElBQUM7SUFFeEIsaUJBQVc7OztJQUpULDRDQUF1QixxRUFBQTs7QURSL0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEVHO0FBYUgsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFlBQWlCO0lBNEVsQztJQTNFNEIsZUFBZSxDQUFhO0lBRTVFLEVBQUUsR0FBRyxhQUFhLElBQUksRUFBRSxHQUFHLENBQUM7SUFFNUIsb0NBQW9DO0lBQ3NCLEtBQUssR0FBWSxLQUFLLENBQUM7SUFFekUsU0FBUyxHQUFXLE9BQU8sQ0FBQztJQUM1QixRQUFRLEdBQVcsTUFBTSxDQUFDO0lBQzFCLGNBQWMsR0FBMEIscUJBQXFCLENBQUMsS0FBSyxDQUFDO0lBQ3BFLFlBQVksR0FBWSxLQUFLLENBQUM7SUFFdEM7Ozs7Ozs7Ozs7T0FVRztJQUNILElBQ0ksV0FBVyxDQUFDLE1BQWU7UUFDN0IsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLElBQUksS0FBSyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsSUFBK0IsYUFBYSxDQUFDLFFBQStCO1FBQzFFLElBQUksQ0FBQyxjQUFjLEdBQUcsUUFBUSxJQUFJLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxRQUFRLENBQU0sUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUM7SUFDdEgsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQTBCLFFBQVEsQ0FBQyxLQUFhO1FBQzlDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxJQUFJLE9BQU8sQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBeUIsT0FBTyxDQUFDLEtBQWE7UUFDNUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLElBQUksTUFBTSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELFlBQW9CLGNBQWlDO1FBQ25ELEtBQUssRUFBRSxDQUFDO1FBRFUsbUJBQWMsR0FBZCxjQUFjLENBQW1CO0lBRXJELENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7OztPQWdCRztJQUNILEtBQUs7UUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUM1QztJQUNILENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGdCQUFnQjtRQUNkLFFBQVEsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUMxQixLQUFLLHFCQUFxQixDQUFDLElBQUk7Z0JBQzdCLE9BQU8sTUFBTSxDQUFDO1lBQ2hCLEtBQUsscUJBQXFCLENBQUMsS0FBSztnQkFDOUIsT0FBTyxPQUFPLENBQUM7WUFDakI7Z0JBQ0UsT0FBTyxPQUFPLENBQUM7U0FDbEI7SUFDSCxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQUs7UUFDYixJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssYUFBYSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLGFBQWEsQ0FBQyxLQUFLLEVBQUU7WUFDaEYsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNuQjtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsS0FBVTtRQUNwQixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDcEIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO29CQUNkLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2lCQUNoQztxQkFBTTtvQkFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDakM7YUFDRjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3pCO1lBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDL0I7SUFDSCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVU7UUFDckIsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRTtZQUN4QixJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRTtnQkFDL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUNqRTtpQkFBTTtnQkFDTCxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7YUFDdEI7WUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3BDO0lBQ0gsQ0FBQzsyRUE1SlUsaUJBQWlCOzZEQUFqQixpQkFBaUI7Ozs7OytGQU1VLGdCQUFnQiw4RkFrQlQsZ0JBQWdCLHlPQWhDbEQ7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtvQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztvQkFDaEQsS0FBSyxFQUFFLElBQUk7aUJBQ1o7YUFDRjtZQ3RHSCw2Q0FBMEUsYUFBQSxhQUFBLGdCQUFBO1lBV2xFLHlGQUFRLFlBQVEsSUFBQyw4RUFDUixnQkFBWSxJQURKLHdGQUVOLHFCQUFpQixJQUZYO1lBSWpCLDhCQUE2QixhQUFBO1lBRXpCLDBFQUFrRjtZQUNwRixpQkFBTSxFQUFBLEVBQUE7WUFJViw0RUFPVztZQUNiLGlCQUFNLEVBQUE7WUFHUiwrQ0FBK0Y7WUFDakcsaUJBQXFCOztZQWxDRCx5Q0FBdUIsZ0JBQUEsc0JBQUE7WUFDRCxjQUFrQjtZQUFsQixnQ0FBa0I7WUFDakMsY0FBK0M7WUFBL0MsNkRBQStDO1lBT2xFLGNBQVM7WUFBVCwyQkFBUyxtQ0FBQTtZQUZULHlDQUEyQiwrQkFBQTtZQVNLLGVBQXVEO1lBQXZELDZFQUF1RDtZQUN6RSxjQUFvQjtZQUFwQix5Q0FBb0I7WUFNakMsY0FBVztZQUFYLGdDQUFXO1lBVVMsY0FBZTtZQUFmLGlDQUFlLDRCQUFBOzs7aUZEdUUvQixpQkFBaUI7Y0FaN0IsU0FBUzsyQkFDRSxXQUFXLG1CQUVKLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7b0JBQ1Q7d0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUM7d0JBQ2hELEtBQUssRUFBRSxJQUFJO3FCQUNaO2lCQUNGO2tEQUcrQyxlQUFlO2tCQUE5RCxTQUFTO21CQUFDLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUtZLEtBQUs7a0JBQTlELEtBQUs7bUJBQUMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtZQW1CcEQsV0FBVztrQkFEZCxLQUFLO21CQUFDLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtZQWtCaEMsYUFBYTtrQkFBM0MsS0FBSzttQkFBQyxrQkFBa0I7WUFhQyxRQUFRO2tCQUFqQyxLQUFLO21CQUFDLGFBQWE7WUFhSyxPQUFPO2tCQUEvQixLQUFLO21CQUFDLFlBQVk7O2tGQXBFUixpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBjb252ZXJ0VG9Cb29sZWFuLCB1dWlkIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvdXRpbCc7XG5cbmltcG9ydCB7IFBvRmllbGRNb2RlbCB9IGZyb20gJy4uL3BvLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IFBvS2V5Q29kZUVudW0gfSBmcm9tICcuLy4uLy4uLy4uL2VudW1zL3BvLWtleS1jb2RlLmVudW0nO1xuaW1wb3J0IHsgUG9Td2l0Y2hMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi9wby1zd2l0Y2gtbGFiZWwtcG9zaXRpb24uZW51bSc7XG5cbi8qKlxuICogQGRvY3NFeHRlbmRzIFBvRmllbGRNb2RlbFxuICpcbiAqIEBkZXNjcmlwdGlvblxuICpcbiAqIE8gY29tcG9uZW50ZSBgcG8tc3dpdGNoYCDDqSB1bSBbY2hlY2tib3hdKC9kb2N1bWVudGF0aW9uL3BvLWNoZWNrYm94LWdyb3VwKSBtYWlzIGludHVpdGl2bywgcG9pcyBmYXogYW5hbG9naWEgYSB1bSBpbnRlcnJ1cHRvci5cbiAqIERldmUgc2VyIHVzYWRvIHF1YW5kbyBkZXNlamEtc2UgdHJhbnNtaXRpciBhIGlkZWlhIGRlIGxpZ2FyIC8gZGVzbGlnYXIgdW1hIGZ1bmNpb25hbGlkYWRlIGVzcGVjw61maWNhLlxuICpcbiAqIFBvZGUtc2UgbGlnYXIgb3UgZGVzbGlnYXIgbyBzd2l0Y2ggdXRpbGl6YW5kbyBhIHRlY2xhIGRlIGVzcGHDp28gb3UgbyBjbGlxdWUgZG8gbW91c2UuXG4gKlxuICogTyB0ZXh0byBleGliaWRvIHBvZGUgc2VyIGFsdGVyYWRvIGRlIGFjb3JkbyBjb20gbyB2YWxvciBzZXRhZG8gYXVtZW50YW5kbyBhcyBwb3NzaWJpbGlkYWRlcyBkZSB1c28gZG8gY29tcG9uZW50ZSxcbiAqIHBvcnRhbnRvLCByZWNvbWVuZGEtc2UgaW5mb3JtYXIgdGV4dG9zIHF1ZSBjb250ZXh0dWFsaXplbSBzZXUgdXNvIHBhcmEgcXVlIGZhY2lsaXRlIGEgY29tcHJlZW5zw6NvIGRvIHVzdcOhcmlvLlxuICpcbiAqID4gTyBjb21wb25lbnRlIG7Do28gYWx0ZXJhIG8gdmFsb3IgaW5jaWFsIGluZm9ybWFkbyBubyAqbW9kZWwqLCBwb3J0YW50byBpbmRpY2Etc2UgaW5pY2lhbGl6YS1sbyBjYXNvIHRlciBuZWNlc3NpZGFkZS5cbiAqXG4gKiAjIyMjIEJvYXMgcHLDoXRpY2FzXG4gKlxuICogLSBFdml0ZSBgbGFiZWxzYCBleHRlbnNvcyBxdWUgcXVlYnJhbSBvIGxheW91dCBkbyBgcG8tc3dpdGNoYCwgdXNlIGBsYWJlbHNgIGRpcmV0b3MsIGN1cnRvcyBlIGludHVpdGl2b3MuXG4gKlxuICogIyMjIyBBY2Vzc2liaWxpZGFkZSB0cmF0YWRhIG5vIGNvbXBvbmVudGVcbiAqXG4gKiBBbGd1bWFzIGRpcmV0cml6ZXMgZGUgYWNlc3NpYmlsaWRhZGUgasOhIHPDo28gdHJhdGFkYXMgbm8gY29tcG9uZW50ZSwgaW50ZXJuYW1lbnRlLCBlIG7Do28gcG9kZW0gc2VyIGFsdGVyYWRhcyBwZWxvIHByb3ByaWV0w6FyaW8gZG8gY29udGXDumRvLiBTw6NvIGVsYXM6XG4gKlxuICogLSBRdWFuZG8gZW0gZm9jbywgbyBzd2l0Y2ggw6kgYXRpdmFkbyB1c2FuZG8gYSB0ZWNsYSBkZSBFc3Bhw6dvLiBbVzNDIFdBSS1BUklBIDMuNSBTd2l0Y2ggLSBLZXlib2FyZCBJbnRlcmFjdGlvbl0oaHR0cHM6Ly93d3cudzMub3JnL1dBSS9BUklBL2FwZy9wYXR0ZXJucy9zd2l0Y2gvI2tleWJvYXJkLWludGVyYWN0aW9uLTE5KVxuICogLSBBIMOhcmVhIGRvIGZvY28gcHJlY2lzYXIgdGVyIHVtYSBlc3Blc3N1cmEgZGUgcGVsbyBtZW5vcyAyIHBpeGVscyBDU1MgZSBvIGZvY28gbsOjbyBwb2RlIGZpY2FyIGVzY29uZGlkbyBwb3Igb3V0cm9zIGVsZW1lbnRvcyBkYSB0ZWxhLiBbV0NBRyAyLjQuMTI6IEZvY3VzIEFwcGVhcmFuY2VdKGh0dHBzOi8vd3d3LnczLm9yZy9XQUkvV0NBRzIyL1VuZGVyc3RhbmRpbmcvZm9jdXMtYXBwZWFyYW5jZS1lbmhhbmNlZClcbiAqXG4gKiAjIyMjIFRva2VucyBjdXN0b21pesOhdmVpc1xuICpcbiAqIMOJIHBvc3PDrXZlbCBhbHRlcmFyIG8gZXN0aWxvIGRvIGNvbXBvbmVudGUgdXNhbmRvIG9zIHNlZ3VpbnRlcyB0b2tlbnMgKENTUyk6XG4gKlxuICogPiBQYXJhIG1haW9yZXMgaW5mb3JtYcOnw7VlcywgYWNlc3NlIG8gZ3VpYSBbUGVyc29uYWxpemFuZG8gbyBUZW1hIFBhZHLDo28gY29tIFRva2VucyBDU1NdKGh0dHBzOi8vcG8tdWkuaW8vZ3VpZGVzL3RoZW1lLWN1c3RvbWl6YXRpb24pLlxuICpcbiAqIHwgUHJvcHJpZWRhZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBEZXNjcmnDp8OjbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgVmFsb3IgUGFkcsOjbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXxcbiAqIHwgKipVbmNoZWNrZWQqKiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgYC0tY29sb3ItdW5jaGVja2VkYCAgICAgICAgICAgICAgICAgICAgfCBDb3IgcHJpbmNpcGFsIG5vIGVzdGFkbyBkZXNtYXJjYWRvICAgICAgICAgICAgICAgICAgICB8IGB2YXIoLS1jb2xvci1uZXV0cmFsLWxpZ2h0LTAwKWAgICAgICAgICAgICAgICAgIHxcbiAqIHwgYC0tYm9yZGVyLWNvbG9yYCAgICAgICAgICAgICAgICAgICAgICAgfCBDb3IgZGEgYm9yZGEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGB2YXIoLS1jb2xvci1uZXV0cmFsLWRhcmstNzApYCAgICAgICAgICAgICAgICAgIHxcbiAqIHwgYC0tdHJhY2stdW5jaGVja2VkYCAgICAgICAgICAgICAgICAgICAgfCBDb3IgcHJpbmNpcGFsIGRhIGZhaXhhIG5vIGVzdGFkbyBkZXNtYXJjYWRvICAgICAgICAgICB8IGB2YXIoLS1jb2xvci1uZXV0cmFsLWxpZ2h0LTIwKWAgICAgICAgICAgICAgICAgIHxcbiAqIHwgKipDaGVja2VkKiogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgYC0tY29sb3ItY2hlY2tlZGAgICAgICAgICAgICAgICAgICAgICAgfCBDb3IgcHJpbmNpcGFsIG5vIGVzdGFkbyBzZWxlY2lvbmFkbyAgICAgICAgICAgICAgICAgICB8IGB2YXIoLS1jb2xvci1hY3Rpb24tZGVmYXVsdClgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgYC0tdHJhY2stY2hlY2tlZGAgICAgICAgICAgICAgICAgICAgICAgfCBDb3IgZGEgZmFpeGEgbm8gZXN0YWRvIHNlbGVjaW9uYWRvICAgICAgICAgICAgICAgICAgICB8IGB2YXIoLS1jb2xvci1icmFuZC0wMS1saWdodClgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgKipIb3ZlcioqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgYC0tY29sb3ItdW5jaGVja2VkLWhvdmVyYCAgICAgICAgICAgICAgfCBDb3IgcHJpbmNpcGFsIG5vIGVzdGFkbyBob3ZlciBkZXNtYXJjYWRvICAgICAgICAgICAgICB8IGB2YXIoLS1jb2xvci1hY3Rpb24tcHJlc3NlZClgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgYC0tY29sb3ItY2hlY2tlZC1ob3ZlcmAgICAgICAgICAgICAgICAgfCBDb3IgcHJpbmNpcGFsIG5vIGVzdGFkbyBob3ZlciBtYXJjYWRvICAgICAgICAgICAgICAgICB8IGB2YXIoLS1jb2xvci1hY3Rpb24tcHJlc3NlZClgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgKipGb2N1c2VkKiogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgYC0tb3V0bGluZS1jb2xvci1mb2N1c2VkYCAgICAgICAgICAgICAgfCBDb3IgZG8gb3V0bGluZSBkbyBlc3RhZG8gZGUgZm9jdXMgICAgICAgICAgICAgICAgICAgICB8IGB2YXIoLS1jb2xvci1hY3Rpb24tZm9jdXMpYCAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgKipEaXNhYmxlZCoqICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgYC0tY29sb3ItdW5jaGVja2VkLWRpc2FibGVkYCAgICAgICAgICAgfCBDb3IgcHJpbmNpcGFsIGRvIGRpc2FibGVkIG5vIGVzdGFkbyBkZXNtYXJjYWRvICAgICAgICB8IGB2YXIoLS1jb2xvci1uZXV0cmFsLWxpZ2h0LTIwKWAgICAgICAgICAgICAgICAgIHxcbiAqIHwgYC0tY29sb3ItY2hlY2tlZC1kaXNhYmxlZGAgICAgICAgICAgICAgfCBDb3IgcHJpbmNpcGFsIGRvIGRpc2FibGVkIG5vIGVzdGFkbyBtYXJjYWRvICAgICAgICAgICB8IGB2YXIoLS1jb2xvci1hY3Rpb24tZGlzYWJsZWQpYCAgICAgICAgICAgICAgICAgIHxcbiAqXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tc3dpdGNoLWJhc2ljXCIgdGl0bGU9XCJQTyBTd2l0Y2ggQmFzaWNcIj5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1zd2l0Y2gtYmFzaWMvc2FtcGxlLXBvLXN3aXRjaC1iYXNpYy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tc3dpdGNoLWJhc2ljL3NhbXBsZS1wby1zd2l0Y2gtYmFzaWMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tc3dpdGNoLWxhYnNcIiB0aXRsZT1cIlBPIFN3aXRjaCBMYWJzXCI+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tc3dpdGNoLWxhYnMvc2FtcGxlLXBvLXN3aXRjaC1sYWJzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1zd2l0Y2gtbGFicy9zYW1wbGUtcG8tc3dpdGNoLWxhYnMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1zd2l0Y2gtbGFicy9zYW1wbGUtcG8tc3dpdGNoLWxhYnMuY29tcG9uZW50LmUyZS1zcGVjLnRzXCI+IDwvZmlsZT5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1zd2l0Y2gtbGFicy9zYW1wbGUtcG8tc3dpdGNoLWxhYnMuY29tcG9uZW50LnBvLnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tc3dpdGNoLW9yZGVyXCIgdGl0bGU9XCJQTyBTd2l0Y2ggLSBPcmRlciBTdW1tYXJ5XCI+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tc3dpdGNoLW9yZGVyL3NhbXBsZS1wby1zd2l0Y2gtb3JkZXIuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXN3aXRjaC1vcmRlci9zYW1wbGUtcG8tc3dpdGNoLW9yZGVyLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXN3aXRjaC1vcmRlci1yZWFjdGl2ZS1mb3JtXCIgdGl0bGU9XCJQTyBTd2l0Y2ggLSBPcmRlciBTdW1tYXJ5IFJlYWN0aXZlIEZvcm1cIj5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1zd2l0Y2gtb3JkZXItcmVhY3RpdmUtZm9ybS9zYW1wbGUtcG8tc3dpdGNoLW9yZGVyLXJlYWN0aXZlLWZvcm0uY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXN3aXRjaC1vcmRlci1yZWFjdGl2ZS1mb3JtL3NhbXBsZS1wby1zd2l0Y2gtb3JkZXItcmVhY3RpdmUtZm9ybS5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1zd2l0Y2gnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tc3dpdGNoLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUG9Td2l0Y2hDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUG9Td2l0Y2hDb21wb25lbnQgZXh0ZW5kcyBQb0ZpZWxkTW9kZWw8YW55PiB7XG4gIEBWaWV3Q2hpbGQoJ3N3aXRjaENvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pIHN3aXRjaENvbnRhaW5lcjogRWxlbWVudFJlZjtcblxuICBpZCA9IGBwby1zd2l0Y2hbJHt1dWlkKCl9XWA7XG5cbiAgLy8gUGFyw6JtZXRybyBpbnRlcm5vLCBuw6NvIGRvY3VtZW50YXJcbiAgQElucHV0KHsgYWxpYXM6ICdwLXZhbHVlJywgdHJhbnNmb3JtOiBjb252ZXJ0VG9Cb29sZWFuIH0pIHZhbHVlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfbGFiZWxPZmY6IHN0cmluZyA9ICdmYWxzZSc7XG4gIHByaXZhdGUgX2xhYmVsT246IHN0cmluZyA9ICd0cnVlJztcbiAgcHJpdmF0ZSBfbGFiZWxQb3NpdGlvbjogUG9Td2l0Y2hMYWJlbFBvc2l0aW9uID0gUG9Td2l0Y2hMYWJlbFBvc2l0aW9uLlJpZ2h0O1xuICBwcml2YXRlIF9mb3JtYXRNb2RlbDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIEluZGljYSBzZSBvIGBtb2RlbGAgcmVjZWJlcsOhIG8gdmFsb3IgZm9ybWF0YWRvIHBlbGFzIHByb3ByaWVkYWRlcyBgcC1sYWJlbC1vbmAgZSBgcC1sYWJlbC1vZmZgIG91XG4gICAqIGFwZW5hcyBvIHZhbG9yIHB1cm8gKHNlbSBmb3JtYXRhw6fDo28pLlxuICAgKlxuICAgKiA+IFBvciBwYWRyw6NvIHNlcsOhIGF0cmlidcOtZG8gYGZhbHNlYC5cbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgQElucHV0KHsgYWxpYXM6ICdwLWZvcm1hdC1tb2RlbCcsIHRyYW5zZm9ybTogY29udmVydFRvQm9vbGVhbiB9KVxuICBzZXQgZm9ybWF0TW9kZWwoZm9ybWF0OiBib29sZWFuKSB7XG4gICAgdGhpcy5fZm9ybWF0TW9kZWwgPSBmb3JtYXQgfHwgZmFsc2U7XG4gIH1cblxuICBnZXQgZm9ybWF0TW9kZWwoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Zvcm1hdE1vZGVsO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogUG9zacOnw6NvIGRlIGV4aWJpw6fDo28gZG8gcsOzdHVsbyBxdWUgZmljYSBhbyBsYWRvIGRvIHN3aXRjaC5cbiAgICpcbiAgICogPiBQb3IgcGFkcsOjbyBleGliZSDDoCBkaXJlaXRhLlxuICAgKi9cbiAgQElucHV0KCdwLWxhYmVsLXBvc2l0aW9uJykgc2V0IGxhYmVsUG9zaXRpb24ocG9zaXRpb246IFBvU3dpdGNoTGFiZWxQb3NpdGlvbikge1xuICAgIHRoaXMuX2xhYmVsUG9zaXRpb24gPSBwb3NpdGlvbiBpbiBQb1N3aXRjaExhYmVsUG9zaXRpb24gPyBwYXJzZUludCg8YW55PnBvc2l0aW9uLCAxMCkgOiBQb1N3aXRjaExhYmVsUG9zaXRpb24uUmlnaHQ7XG4gIH1cblxuICBnZXQgbGFiZWxQb3NpdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5fbGFiZWxQb3NpdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBUZXh0byBleGliaWRvIHF1YW5kbyBvIHZhbG9yIGRvIGNvbXBvbmVudGUgZm9yIGBmYWxzZWAuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIEBJbnB1dCgncC1sYWJlbC1vZmYnKSBzZXQgbGFiZWxPZmYobGFiZWw6IHN0cmluZykge1xuICAgIHRoaXMuX2xhYmVsT2ZmID0gbGFiZWwgfHwgJ2ZhbHNlJztcbiAgfVxuXG4gIGdldCBsYWJlbE9mZigpIHtcbiAgICByZXR1cm4gdGhpcy5fbGFiZWxPZmY7XG4gIH1cblxuICAvKipcbiAgICogVGV4dG8gZXhpYmlkbyBxdWFuZG8gbyB2YWxvciBkbyBjb21wb25lbnRlIGZvciBgdHJ1ZWAuXG4gICAqXG4gICAqIEBkZWZhdWx0IGB0cnVlYFxuICAgKi9cbiAgQElucHV0KCdwLWxhYmVsLW9uJykgc2V0IGxhYmVsT24obGFiZWw6IHN0cmluZykge1xuICAgIHRoaXMuX2xhYmVsT24gPSBsYWJlbCB8fCAndHJ1ZSc7XG4gIH1cblxuICBnZXQgbGFiZWxPbigpIHtcbiAgICByZXR1cm4gdGhpcy5fbGFiZWxPbjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGdW7Dp8OjbyBxdWUgYXRyaWJ1aSBmb2NvIGFvIGNvbXBvbmVudGUuXG4gICAqXG4gICAqIFBhcmEgdXRpbGl6w6EtbGEgw6kgbmVjZXNzw6FyaW8gdGVyIGEgaW5zdMOibmNpYSBkbyBjb21wb25lbnRlIG5vIERPTSwgcG9kZW5kbyBzZXIgdXRpbGl6YWRvIG8gVmlld0NoaWxkIGRhIHNlZ3VpbnRlIGZvcm1hOlxuICAgKlxuICAgKiBgYGBcbiAgICogaW1wb3J0IHsgUG9Td2l0Y2hDb21wb25lbnQgfSBmcm9tICdAcG8tdWkvbmctY29tcG9uZW50cyc7XG4gICAqXG4gICAqIC4uLlxuICAgKlxuICAgKiBAVmlld0NoaWxkKFBvU3dpdGNoQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSBzd2l0Y2g6IFBvU3dpdGNoQ29tcG9uZW50O1xuICAgKlxuICAgKiBmb2N1c1N3aXRjaCgpIHtcbiAgICogICB0aGlzLnN3aXRjaC5mb2N1cygpO1xuICAgKiB9XG4gICAqIGBgYFxuICAgKi9cbiAgZm9jdXMoKSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLnN3aXRjaENvbnRhaW5lci5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgb25CbHVyKCkge1xuICAgIHRoaXMub25Ub3VjaGVkPy4oKTtcbiAgfVxuXG4gIGdldExhYmVsUG9zaXRpb24oKSB7XG4gICAgc3dpdGNoICh0aGlzLmxhYmVsUG9zaXRpb24pIHtcbiAgICAgIGNhc2UgUG9Td2l0Y2hMYWJlbFBvc2l0aW9uLkxlZnQ6XG4gICAgICAgIHJldHVybiAnbGVmdCc7XG4gICAgICBjYXNlIFBvU3dpdGNoTGFiZWxQb3NpdGlvbi5SaWdodDpcbiAgICAgICAgcmV0dXJuICdyaWdodCc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ3JpZ2h0JztcbiAgICB9XG4gIH1cblxuICBvbktleURvd24oZXZlbnQpIHtcbiAgICBpZiAoZXZlbnQud2hpY2ggPT09IFBvS2V5Q29kZUVudW0uc3BhY2UgfHwgZXZlbnQua2V5Q29kZSA9PT0gUG9LZXlDb2RlRW51bS5zcGFjZSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuZXZlbnRDbGljaygpO1xuICAgIH1cbiAgfVxuXG4gIGNoYW5nZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodGhpcy52YWx1ZSAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgIGlmICh0aGlzLmZvcm1hdE1vZGVsKSB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgdGhpcy51cGRhdGVNb2RlbCh0aGlzLmxhYmVsT24pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMudXBkYXRlTW9kZWwodGhpcy5sYWJlbE9mZik7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudXBkYXRlTW9kZWwodmFsdWUpO1xuICAgICAgfVxuICAgICAgdGhpcy5lbWl0Q2hhbmdlKHRoaXMudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIGV2ZW50Q2xpY2soKSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmNoYW5nZVZhbHVlKCF0aGlzLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBvbldyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIGlmICh2YWx1ZSAhPT0gdGhpcy52YWx1ZSkge1xuICAgICAgaWYgKHRoaXMuZm9ybWF0TW9kZWwgJiYgISF2YWx1ZSkge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWUudG9Mb3dlckNhc2UoKSA9PT0gdGhpcy5sYWJlbE9uLnRvTG93ZXJDYXNlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnZhbHVlID0gISF2YWx1ZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG59XG4iLCI8cG8tZmllbGQtY29udGFpbmVyIFtwLWRpc2FibGVkXT1cImRpc2FibGVkXCIgW3AtaWRdPVwiaWRcIiBbcC1sYWJlbF09XCJsYWJlbFwiPlxuICA8ZGl2IGNsYXNzPVwicG8tZmllbGQtY29udGFpbmVyLWNvbnRlbnRcIiBbYXR0ci5uYW1lXT1cIm5hbWVcIj5cbiAgICA8ZGl2IGNsYXNzPVwicG8tc3dpdGNoXCIgW2F0dHIuZGF0YS1sYWJlbC1wb3NpdGlvbl09XCJnZXRMYWJlbFBvc2l0aW9uKClcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgI3N3aXRjaENvbnRhaW5lclxuICAgICAgICBjbGFzcz1cInBvLXN3aXRjaC1jb250YWluZXJcIlxuICAgICAgICByb2xlPVwic3dpdGNoXCJcbiAgICAgICAgW2F0dHIuYXJpYS1jaGVja2VkXT1cInZhbHVlXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtpZF09XCJpZFwiXG4gICAgICAgIFt0YWJpbmRleF09XCJkaXNhYmxlZCA/IC0xIDogMFwiXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigpXCJcbiAgICAgICAgKGNsaWNrKT1cImV2ZW50Q2xpY2soKVwiXG4gICAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBvLXN3aXRjaC10cmFja1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwby1zd2l0Y2gtdG9nZ2xlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJ2YWx1ZSA9PT0gdHJ1ZSA/IGxhYmVsT24gOiBsYWJlbE9mZlwiPlxuICAgICAgICAgICAgPHBvLWljb24gKm5nSWY9XCJ2YWx1ZSA9PT0gdHJ1ZVwiIGNsYXNzPVwicG8tc3dpdGNoLWljb25cIiBwLWljb249XCJJQ09OX09LXCI+PC9wby1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8cG8tbGFiZWxcbiAgICAgICAgKm5nSWY9XCJsYWJlbFwiXG4gICAgICAgIGNsYXNzPVwicG8tc3dpdGNoLWxhYmVsXCJcbiAgICAgICAgW3AtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbcC1sYWJlbF09XCJ2YWx1ZSA9PT0gdHJ1ZSA/IGxhYmVsT24gOiBsYWJlbE9mZlwiXG4gICAgICAgIChjbGljayk9XCJldmVudENsaWNrKClcIlxuICAgICAgPlxuICAgICAgPC9wby1sYWJlbD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPHBvLWZpZWxkLWNvbnRhaW5lci1ib3R0b20gW3AtaGVscF09XCJoZWxwXCIgW3AtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj48L3BvLWZpZWxkLWNvbnRhaW5lci1ib3R0b20+XG48L3BvLWZpZWxkLWNvbnRhaW5lcj5cbiJdfQ==
327
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tc3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby1zd2l0Y2gvcG8tc3dpdGNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby1zd2l0Y2gvcG8tc3dpdGNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFVBQVUsRUFDVixLQUFLLEVBQ0wsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7SUNFNUQsOEJBQWtGOzs7O0lBS3hGLG9DQU1DO0lBREMscUtBQVMsZUFBQSxtQkFBWSxDQUFBLElBQUM7SUFFeEIsaUJBQVc7OztJQUpULDRDQUF1QixxRUFBQTs7QURSL0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEVHO0FBYUgsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFlBQWlCO0lBd0ZsQztJQXZGNEIsZUFBZSxDQUFhO0lBRTVFLEVBQUUsR0FBRyxhQUFhLElBQUksRUFBRSxHQUFHLENBQUM7SUFFNUIsb0NBQW9D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b3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgY29udmVydFRvQm9vbGVhbiwgdXVpZCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3V0aWwnO1xuXG5pbXBvcnQgeyBQb0ZpZWxkTW9kZWwgfSBmcm9tICcuLi9wby1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBQb0tleUNvZGVFbnVtIH0gZnJvbSAnLi8uLi8uLi8uLi9lbnVtcy9wby1rZXktY29kZS5lbnVtJztcbmltcG9ydCB7IFBvU3dpdGNoTGFiZWxQb3NpdGlvbiB9IGZyb20gJy4vcG8tc3dpdGNoLWxhYmVsLXBvc2l0aW9uLmVudW0nO1xuXG4vKipcbiAqIEBkb2NzRXh0ZW5kcyBQb0ZpZWxkTW9kZWxcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiBPIGNvbXBvbmVudGUgYHBvLXN3aXRjaGAgw6kgdW0gW2NoZWNrYm94XSgvZG9jdW1lbnRhdGlvbi9wby1jaGVja2JveC1ncm91cCkgbWFpcyBpbnR1aXRpdm8sIHBvaXMgZmF6IGFuYWxvZ2lhIGEgdW0gaW50ZXJydXB0b3IuXG4gKiBEZXZlIHNlciB1c2FkbyBxdWFuZG8gZGVzZWphLXNlIHRyYW5zbWl0aXIgYSBpZGVpYSBkZSBsaWdhciAvIGRlc2xpZ2FyIHVtYSBmdW5jaW9uYWxpZGFkZSBlc3BlY8OtZmljYS5cbiAqXG4gKiBQb2RlLXNlIGxpZ2FyIG91IGRlc2xpZ2FyIG8gc3dpdGNoIHV0aWxpemFuZG8gYSB0ZWNsYSBkZSBlc3Bhw6dvIG91IG8gY2xpcXVlIGRvIG1vdXNlLlxuICpcbiAqIE8gdGV4dG8gZXhpYmlkbyBwb2RlIHNlciBhbHRlcmFkbyBkZSBhY29yZG8gY29tIG8gdmFsb3Igc2V0YWRvIGF1bWVudGFuZG8gYXMgcG9zc2liaWxpZGFkZXMgZGUgdXNvIGRvIGNvbXBvbmVudGUsXG4gKiBwb3J0YW50bywgcmVjb21lbmRhLXNlIGluZm9ybWFyIHRleHRvcyBxdWUgY29udGV4dHVhbGl6ZW0gc2V1IHVzbyBwYXJhIHF1ZSBmYWNpbGl0ZSBhIGNvbXByZWVuc8OjbyBkbyB1c3XDoXJpby5cbiAqXG4gKiA+IE8gY29tcG9uZW50ZSBuw6NvIGFsdGVyYSBvIHZhbG9yIGluY2lhbCBpbmZvcm1hZG8gbm8gKm1vZGVsKiwgcG9ydGFudG8gaW5kaWNhLXNlIGluaWNpYWxpemEtbG8gY2FzbyB0ZXIgbmVjZXNzaWRhZGUuXG4gKlxuICogIyMjIyBCb2FzIHByw6F0aWNhc1xuICpcbiAqIC0gRXZpdGUgYGxhYmVsc2AgZXh0ZW5zb3MgcXVlIHF1ZWJyYW0gbyBsYXlvdXQgZG8gYHBvLXN3aXRjaGAsIHVzZSBgbGFiZWxzYCBkaXJldG9zLCBjdXJ0b3MgZSBpbnR1aXRpdm9zLlxuICpcbiAqICMjIyMgQWNlc3NpYmlsaWRhZGUgdHJhdGFkYSBubyBjb21wb25lbnRlXG4gKlxuICogQWxndW1hcyBkaXJldHJpemVzIGRlIGFjZXNzaWJpbGlkYWRlIGrDoSBzw6NvIHRyYXRhZGFzIG5vIGNvbXBvbmVudGUsIGludGVybmFtZW50ZSwgZSBuw6NvIHBvZGVtIHNlciBhbHRlcmFkYXMgcGVsbyBwcm9wcmlldMOhcmlvIGRvIGNvbnRlw7pkby4gU8OjbyBlbGFzOlxuICpcbiAqIC0gUXVhbmRvIGVtIGZvY28sIG8gc3dpdGNoIMOpIGF0aXZhZG8gdXNhbmRvIGEgdGVjbGEgZGUgRXNwYcOnby4gW1czQyBXQUktQVJJQSAzLjUgU3dpdGNoIC0gS2V5Ym9hcmQgSW50ZXJhY3Rpb25dKGh0dHBzOi8vd3d3LnczLm9yZy9XQUkvQVJJQS9hcGcvcGF0dGVybnMvc3dpdGNoLyNrZXlib2FyZC1pbnRlcmFjdGlvbi0xOSlcbiAqIC0gQSDDoXJlYSBkbyBmb2NvIHByZWNpc2FyIHRlciB1bWEgZXNwZXNzdXJhIGRlIHBlbG8gbWVub3MgMiBwaXhlbHMgQ1NTIGUgbyBmb2NvIG7Do28gcG9kZSBmaWNhciBlc2NvbmRpZG8gcG9yIG91dHJvcyBlbGVtZW50b3MgZGEgdGVsYS4gW1dDQUcgMi40LjEyOiBGb2N1cyBBcHBlYXJhbmNlXShodHRwczovL3d3dy53My5vcmcvV0FJL1dDQUcyMi9VbmRlcnN0YW5kaW5nL2ZvY3VzLWFwcGVhcmFuY2UtZW5oYW5jZWQpXG4gKlxuICogIyMjIyBUb2tlbnMgY3VzdG9taXrDoXZlaXNcbiAqXG4gKiDDiSBwb3Nzw612ZWwgYWx0ZXJhciBvIGVzdGlsbyBkbyBjb21wb25lbnRlIHVzYW5kbyBvcyBzZWd1aW50ZXMgdG9rZW5zIChDU1MpOlxuICpcbiAqID4gUGFyYSBtYWlvcmVzIGluZm9ybWHDp8O1ZXMsIGFjZXNzZSBvIGd1aWEgW1BlcnNvbmFsaXphbmRvIG8gVGVtYSBQYWRyw6NvIGNvbSBUb2tlbnMgQ1NTXShodHRwczovL3BvLXVpLmlvL2d1aWRlcy90aGVtZS1jdXN0b21pemF0aW9uKS5cbiAqXG4gKiB8IFByb3ByaWVkYWRlICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgRGVzY3Jpw6fDo28gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFZhbG9yIFBhZHLDo28gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gKiB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18XG4gKiB8ICoqVW5jaGVja2VkKiogICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gKiB8IGAtLWNvbG9yLXVuY2hlY2tlZGAgICAgICAgICAgICAgICAgICAgIHwgQ29yIHByaW5jaXBhbCBubyBlc3RhZG8gZGVzbWFyY2FkbyAgICAgICAgICAgICAgICAgICAgfCBgdmFyKC0tY29sb3ItbmV1dHJhbC1saWdodC0wMClgICAgICAgICAgICAgICAgICB8XG4gKiB8IGAtLWJvcmRlci1jb2xvcmAgICAgICAgICAgICAgICAgICAgICAgIHwgQ29yIGRhIGJvcmRhICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBgdmFyKC0tY29sb3ItbmV1dHJhbC1kYXJrLTcwKWAgICAgICAgICAgICAgICAgICB8XG4gKiB8IGAtLXRyYWNrLXVuY2hlY2tlZGAgICAgICAgICAgICAgICAgICAgIHwgQ29yIHByaW5jaXBhbCBkYSBmYWl4YSBubyBlc3RhZG8gZGVzbWFyY2FkbyAgICAgICAgICAgfCBgdmFyKC0tY29sb3ItbmV1dHJhbC1saWdodC0yMClgICAgICAgICAgICAgICAgICB8XG4gKiB8ICoqQ2hlY2tlZCoqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gKiB8IGAtLWNvbG9yLWNoZWNrZWRgICAgICAgICAgICAgICAgICAgICAgIHwgQ29yIHByaW5jaXBhbCBubyBlc3RhZG8gc2VsZWNpb25hZG8gICAgICAgICAgICAgICAgICAgfCBgdmFyKC0tY29sb3ItYWN0aW9uLWRlZmF1bHQpYCAgICAgICAgICAgICAgICAgICB8XG4gKiB8IGAtLXRyYWNrLWNoZWNrZWRgICAgICAgICAgICAgICAgICAgICAgIHwgQ29yIGRhIGZhaXhhIG5vIGVzdGFkbyBzZWxlY2lvbmFkbyAgICAgICAgICAgICAgICAgICAgfCBgdmFyKC0tY29sb3ItYnJhbmQtMDEtbGlnaHQpYCAgICAgICAgICAgICAgICAgICB8XG4gKiB8ICoqSG92ZXIqKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gKiB8IGAtLWNvbG9yLXVuY2hlY2tlZC1ob3ZlcmAgICAgICAgICAgICAgIHwgQ29yIHByaW5jaXBhbCBubyBlc3RhZG8gaG92ZXIgZGVzbWFyY2FkbyAgICAgICAgICAgICAgfCBgdmFyKC0tY29sb3ItYWN0aW9uLXByZXNzZWQpYCAgICAgICAgICAgICAgICAgICB8XG4gKiB8IGAtLWNvbG9yLWNoZWNrZWQtaG92ZXJgICAgICAgICAgICAgICAgIHwgQ29yIHByaW5jaXBhbCBubyBlc3RhZG8gaG92ZXIgbWFyY2FkbyAgICAgICAgICAgICAgICAgfCBgdmFyKC0tY29sb3ItYWN0aW9uLXByZXNzZWQpYCAgICAgICAgICAgICAgICAgICB8XG4gKiB8ICoqRm9jdXNlZCoqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gKiB8IGAtLW91dGxpbmUtY29sb3ItZm9jdXNlZGAgICAgICAgICAgICAgIHwgQ29yIGRvIG91dGxpbmUgZG8gZXN0YWRvIGRlIGZvY3VzICAgICAgICAgICAgICAgICAgICAgfCBgdmFyKC0tY29sb3ItYWN0aW9uLWZvY3VzKWAgICAgICAgICAgICAgICAgICAgICB8XG4gKiB8ICoqRGlzYWJsZWQqKiAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gKiB8IGAtLWNvbG9yLXVuY2hlY2tlZC1kaXNhYmxlZGAgICAgICAgICAgIHwgQ29yIHByaW5jaXBhbCBkbyBkaXNhYmxlZCBubyBlc3RhZG8gZGVzbWFyY2FkbyAgICAgICAgfCBgdmFyKC0tY29sb3ItbmV1dHJhbC1saWdodC0yMClgICAgICAgICAgICAgICAgICB8XG4gKiB8IGAtLWNvbG9yLWNoZWNrZWQtZGlzYWJsZWRgICAgICAgICAgICAgIHwgQ29yIHByaW5jaXBhbCBkbyBkaXNhYmxlZCBubyBlc3RhZG8gbWFyY2FkbyAgICAgICAgICAgfCBgdmFyKC0tY29sb3ItYWN0aW9uLWRpc2FibGVkKWAgICAgICAgICAgICAgICAgICB8XG4gKlxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXN3aXRjaC1iYXNpY1wiIHRpdGxlPVwiUE8gU3dpdGNoIEJhc2ljXCI+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tc3dpdGNoLWJhc2ljL3NhbXBsZS1wby1zd2l0Y2gtYmFzaWMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXN3aXRjaC1iYXNpYy9zYW1wbGUtcG8tc3dpdGNoLWJhc2ljLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXN3aXRjaC1sYWJzXCIgdGl0bGU9XCJQTyBTd2l0Y2ggTGFic1wiPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXN3aXRjaC1sYWJzL3NhbXBsZS1wby1zd2l0Y2gtbGFicy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tc3dpdGNoLWxhYnMvc2FtcGxlLXBvLXN3aXRjaC1sYWJzLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tc3dpdGNoLWxhYnMvc2FtcGxlLXBvLXN3aXRjaC1sYWJzLmNvbXBvbmVudC5lMmUtc3BlYy50c1wiPiA8L2ZpbGU+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tc3dpdGNoLWxhYnMvc2FtcGxlLXBvLXN3aXRjaC1sYWJzLmNvbXBvbmVudC5wby50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXN3aXRjaC1vcmRlclwiIHRpdGxlPVwiUE8gU3dpdGNoIC0gT3JkZXIgU3VtbWFyeVwiPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXN3aXRjaC1vcmRlci9zYW1wbGUtcG8tc3dpdGNoLW9yZGVyLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1zd2l0Y2gtb3JkZXIvc2FtcGxlLXBvLXN3aXRjaC1vcmRlci5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1zd2l0Y2gtb3JkZXItcmVhY3RpdmUtZm9ybVwiIHRpdGxlPVwiUE8gU3dpdGNoIC0gT3JkZXIgU3VtbWFyeSBSZWFjdGl2ZSBGb3JtXCI+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tc3dpdGNoLW9yZGVyLXJlYWN0aXZlLWZvcm0vc2FtcGxlLXBvLXN3aXRjaC1vcmRlci1yZWFjdGl2ZS1mb3JtLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1zd2l0Y2gtb3JkZXItcmVhY3RpdmUtZm9ybS9zYW1wbGUtcG8tc3dpdGNoLW9yZGVyLXJlYWN0aXZlLWZvcm0uY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8tc3dpdGNoJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvLXN3aXRjaC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBvU3dpdGNoQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFBvU3dpdGNoQ29tcG9uZW50IGV4dGVuZHMgUG9GaWVsZE1vZGVsPGFueT4ge1xuICBAVmlld0NoaWxkKCdzd2l0Y2hDb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBzd2l0Y2hDb250YWluZXI6IEVsZW1lbnRSZWY7XG5cbiAgaWQgPSBgcG8tc3dpdGNoWyR7dXVpZCgpfV1gO1xuXG4gIC8vIFBhcsOibWV0cm8gaW50ZXJubywgbsOjbyBkb2N1bWVudGFyXG4gIEBJbnB1dCh7IGFsaWFzOiAncC12YWx1ZScsIHRyYW5zZm9ybTogY29udmVydFRvQm9vbGVhbiB9KSB2YWx1ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2xhYmVsT2ZmOiBzdHJpbmcgPSAnZmFsc2UnO1xuICBwcml2YXRlIF9sYWJlbE9uOiBzdHJpbmcgPSAndHJ1ZSc7XG4gIHByaXZhdGUgX2xhYmVsUG9zaXRpb246IFBvU3dpdGNoTGFiZWxQb3NpdGlvbiA9IFBvU3dpdGNoTGFiZWxQb3NpdGlvbi5SaWdodDtcbiAgcHJpdmF0ZSBfZm9ybWF0TW9kZWw6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBJbmRpY2Egc2UgbyBgbW9kZWxgIHJlY2ViZXLDoSBvIHZhbG9yIGZvcm1hdGFkbyBwZWxhcyBwcm9wcmllZGFkZXMgYHAtbGFiZWwtb25gIGUgYHAtbGFiZWwtb2ZmYCBvdVxuICAgKiBhcGVuYXMgbyB2YWxvciBwdXJvIChzZW0gZm9ybWF0YcOnw6NvKS5cbiAgICpcbiAgICogPiBQb3IgcGFkcsOjbyBzZXLDoSBhdHJpYnXDrWRvIGBmYWxzZWAuXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIEBJbnB1dCh7IGFsaWFzOiAncC1mb3JtYXQtbW9kZWwnLCB0cmFuc2Zvcm06IGNvbnZlcnRUb0Jvb2xlYW4gfSlcbiAgc2V0IGZvcm1hdE1vZGVsKGZvcm1hdDogYm9vbGVhbikge1xuICAgIHRoaXMuX2Zvcm1hdE1vZGVsID0gZm9ybWF0IHx8IGZhbHNlO1xuICB9XG5cbiAgZ2V0IGZvcm1hdE1vZGVsKCkge1xuICAgIHJldHVybiB0aGlzLl9mb3JtYXRNb2RlbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIEluZGljYSBzZSBvIHN0YXR1cyBkbyBgbW9kZWxgIHNlcsOhIGVzY29uZGlkbyB2aXN1YWxtZW50ZSBhbyBsYWRvIGRvIHN3aXRjaC5cbiAgICpcbiAgICogPiBQb3IgcGFkcsOjbyBzZXLDoSBhdHJpYnXDrWRvIGBmYWxzZWAuXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIEBJbnB1dCh7IGFsaWFzOiAncC1oaWRlLWxhYmVsLXN0YXR1cycsIHRyYW5zZm9ybTogY29udmVydFRvQm9vbGVhbiB9KSBoaWRlTGFiZWxTdGF0dXM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBQb3Npw6fDo28gZGUgZXhpYmnDp8OjbyBkbyByw7N0dWxvIHF1ZSBmaWNhIGFvIGxhZG8gZG8gc3dpdGNoLlxuICAgKlxuICAgKiA+IFBvciBwYWRyw6NvIGV4aWJlIMOgIGRpcmVpdGEuXG4gICAqL1xuICBASW5wdXQoJ3AtbGFiZWwtcG9zaXRpb24nKSBzZXQgbGFiZWxQb3NpdGlvbihwb3NpdGlvbjogUG9Td2l0Y2hMYWJlbFBvc2l0aW9uKSB7XG4gICAgdGhpcy5fbGFiZWxQb3NpdGlvbiA9IHBvc2l0aW9uIGluIFBvU3dpdGNoTGFiZWxQb3NpdGlvbiA/IHBhcnNlSW50KDxhbnk+cG9zaXRpb24sIDEwKSA6IFBvU3dpdGNoTGFiZWxQb3NpdGlvbi5SaWdodDtcbiAgfVxuXG4gIGdldCBsYWJlbFBvc2l0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLl9sYWJlbFBvc2l0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIFRleHRvIGV4aWJpZG8gcXVhbmRvIG8gdmFsb3IgZG8gY29tcG9uZW50ZSBmb3IgYGZhbHNlYC5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgQElucHV0KCdwLWxhYmVsLW9mZicpIHNldCBsYWJlbE9mZihsYWJlbDogc3RyaW5nKSB7XG4gICAgdGhpcy5fbGFiZWxPZmYgPSBsYWJlbCB8fCAnZmFsc2UnO1xuICB9XG5cbiAgZ2V0IGxhYmVsT2ZmKCkge1xuICAgIHJldHVybiB0aGlzLl9sYWJlbE9mZjtcbiAgfVxuXG4gIC8qKlxuICAgKiBUZXh0byBleGliaWRvIHF1YW5kbyBvIHZhbG9yIGRvIGNvbXBvbmVudGUgZm9yIGB0cnVlYC5cbiAgICpcbiAgICogQGRlZmF1bHQgYHRydWVgXG4gICAqL1xuICBASW5wdXQoJ3AtbGFiZWwtb24nKSBzZXQgbGFiZWxPbihsYWJlbDogc3RyaW5nKSB7XG4gICAgdGhpcy5fbGFiZWxPbiA9IGxhYmVsIHx8ICd0cnVlJztcbiAgfVxuXG4gIGdldCBsYWJlbE9uKCkge1xuICAgIHJldHVybiB0aGlzLl9sYWJlbE9uO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZ1bsOnw6NvIHF1ZSBhdHJpYnVpIGZvY28gYW8gY29tcG9uZW50ZS5cbiAgICpcbiAgICogUGFyYSB1dGlsaXrDoS1sYSDDqSBuZWNlc3PDoXJpbyB0ZXIgYSBpbnN0w6JuY2lhIGRvIGNvbXBvbmVudGUgbm8gRE9NLCBwb2RlbmRvIHNlciB1dGlsaXphZG8gbyBWaWV3Q2hpbGQgZGEgc2VndWludGUgZm9ybWE6XG4gICAqXG4gICAqIGBgYFxuICAgKiBpbXBvcnQgeyBQb1N3aXRjaENvbXBvbmVudCB9IGZyb20gJ0Bwby11aS9uZy1jb21wb25lbnRzJztcbiAgICpcbiAgICogLi4uXG4gICAqXG4gICAqIEBWaWV3Q2hpbGQoUG9Td2l0Y2hDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIHN3aXRjaDogUG9Td2l0Y2hDb21wb25lbnQ7XG4gICAqXG4gICAqIGZvY3VzU3dpdGNoKCkge1xuICAgKiAgIHRoaXMuc3dpdGNoLmZvY3VzKCk7XG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBmb2N1cygpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuc3dpdGNoQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBvbkJsdXIoKSB7XG4gICAgdGhpcy5vblRvdWNoZWQ/LigpO1xuICB9XG5cbiAgZ2V0TGFiZWxQb3NpdGlvbigpIHtcbiAgICBzd2l0Y2ggKHRoaXMubGFiZWxQb3NpdGlvbikge1xuICAgICAgY2FzZSBQb1N3aXRjaExhYmVsUG9zaXRpb24uTGVmdDpcbiAgICAgICAgcmV0dXJuICdsZWZ0JztcbiAgICAgIGNhc2UgUG9Td2l0Y2hMYWJlbFBvc2l0aW9uLlJpZ2h0OlxuICAgICAgICByZXR1cm4gJ3JpZ2h0JztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAncmlnaHQnO1xuICAgIH1cbiAgfVxuXG4gIG9uS2V5RG93bihldmVudCkge1xuICAgIGlmIChldmVudC53aGljaCA9PT0gUG9LZXlDb2RlRW51bS5zcGFjZSB8fCBldmVudC5rZXlDb2RlID09PSBQb0tleUNvZGVFbnVtLnNwYWNlKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5ldmVudENsaWNrKCk7XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlVmFsdWUodmFsdWU6IGFueSkge1xuICAgIGlmICh0aGlzLnZhbHVlICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgaWYgKHRoaXMuZm9ybWF0TW9kZWwpIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUpIHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZU1vZGVsKHRoaXMubGFiZWxPbik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy51cGRhdGVNb2RlbCh0aGlzLmxhYmVsT2ZmKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy51cGRhdGVNb2RlbCh2YWx1ZSk7XG4gICAgICB9XG4gICAgICB0aGlzLmVtaXRDaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgZXZlbnRDbGljaygpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuY2hhbmdlVmFsdWUoIXRoaXMudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIG9uV3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLnZhbHVlKSB7XG4gICAgICBpZiAodGhpcy5mb3JtYXRNb2RlbCAmJiAhIXZhbHVlKSB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZS50b0xvd2VyQ2FzZSgpID09PSB0aGlzLmxhYmVsT24udG9Mb3dlckNhc2UoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudmFsdWUgPSAhIXZhbHVlO1xuICAgICAgfVxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxwby1maWVsZC1jb250YWluZXIgW3AtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbcC1pZF09XCJpZFwiIFtwLWxhYmVsXT1cImxhYmVsXCI+XG4gIDxkaXYgY2xhc3M9XCJwby1maWVsZC1jb250YWluZXItY29udGVudFwiIFthdHRyLm5hbWVdPVwibmFtZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJwby1zd2l0Y2hcIiBbYXR0ci5kYXRhLWxhYmVsLXBvc2l0aW9uXT1cImdldExhYmVsUG9zaXRpb24oKVwiPlxuICAgICAgPGRpdlxuICAgICAgICAjc3dpdGNoQ29udGFpbmVyXG4gICAgICAgIGNsYXNzPVwicG8tc3dpdGNoLWNvbnRhaW5lclwiXG4gICAgICAgIHJvbGU9XCJzd2l0Y2hcIlxuICAgICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwidmFsdWVcIlxuICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgW3RhYmluZGV4XT1cImRpc2FibGVkID8gLTEgOiAwXCJcbiAgICAgICAgKGJsdXIpPVwib25CbHVyKClcIlxuICAgICAgICAoY2xpY2spPVwiZXZlbnRDbGljaygpXCJcbiAgICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudClcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicG8tc3dpdGNoLXRyYWNrXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBvLXN3aXRjaC10b2dnbGVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInZhbHVlID09PSB0cnVlID8gbGFiZWxPbiA6IGxhYmVsT2ZmXCI+XG4gICAgICAgICAgICA8cG8taWNvbiAqbmdJZj1cInZhbHVlID09PSB0cnVlXCIgY2xhc3M9XCJwby1zd2l0Y2gtaWNvblwiIHAtaWNvbj1cIklDT05fT0tcIj48L3BvLWljb24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxwby1sYWJlbFxuICAgICAgICAqbmdJZj1cIiFoaWRlTGFiZWxTdGF0dXNcIlxuICAgICAgICBjbGFzcz1cInBvLXN3aXRjaC1sYWJlbFwiXG4gICAgICAgIFtwLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW3AtbGFiZWxdPVwidmFsdWUgPT09IHRydWUgPyBsYWJlbE9uIDogbGFiZWxPZmZcIlxuICAgICAgICAoY2xpY2spPVwiZXZlbnRDbGljaygpXCJcbiAgICAgID5cbiAgICAgIDwvcG8tbGFiZWw+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxwby1maWVsZC1jb250YWluZXItYm90dG9tIFtwLWhlbHBdPVwiaGVscFwiIFtwLWRpc2FibGVkXT1cImRpc2FibGVkXCI+PC9wby1maWVsZC1jb250YWluZXItYm90dG9tPlxuPC9wby1maWVsZC1jb250YWluZXI+XG4iXX0=
@@ -40,7 +40,7 @@ export class PoPageDefaultBaseComponent {
40
40
  */
41
41
  set actions(actions) {
42
42
  this._actions = Array.isArray(actions) ? actions : [];
43
- this.visibleActions = this.actions.filter(action => action.visible !== false);
43
+ this.visibleActions = this.getVisibleActions();
44
44
  this.setDropdownActions();
45
45
  }
46
46
  get actions() {
@@ -142,4 +142,4 @@ export class PoPageDefaultBaseComponent {
142
142
  type: Input,
143
143
  args: ['p-subtitle']
144
144
  }] }); })();
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1kZWZhdWx0LWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2UvcG8tcGFnZS1kZWZhdWx0L3BvLXBhZ2UtZGVmYXVsdC1iYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBS3ZGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7QUFFdEYsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUc7SUFDMUMsRUFBRSxFQUF5QjtRQUN6QixZQUFZLEVBQUUsZUFBZTtLQUM5QjtJQUNELEVBQUUsRUFBeUI7UUFDekIsWUFBWSxFQUFFLGdCQUFnQjtLQUMvQjtJQUNELEVBQUUsRUFBeUI7UUFDekIsWUFBWSxFQUFFLGNBQWM7S0FDN0I7SUFDRCxFQUFFLEVBQXlCO1FBQ3pCLFlBQVksRUFBRSxpQkFBaUI7S0FDaEM7Q0FDRixDQUFDO0FBRUY7Ozs7R0FJRztBQUVILE1BQU0sT0FBZ0IsMEJBQTBCO0lBQ08sYUFBYSxDQUF5QjtJQUUzRiw2Q0FBNkM7SUFDdEIsVUFBVSxDQUFnQjtJQUVqRCxjQUFjLEdBQXdCLEVBQUUsQ0FBQztJQUUvQixRQUFRLENBQVM7SUFFbkIsUUFBUSxHQUF5QixFQUFFLENBQUM7SUFDcEMsU0FBUyxDQUF3QjtJQUNqQyxNQUFNLENBQVM7SUFFdkI7Ozs7OztPQU1HO0lBQ0gsSUFBd0IsT0FBTyxDQUFDLE9BQTRCO1FBQzFELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDdEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLENBQUM7UUFDOUUsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BZ0NHO0lBQ0gsSUFBeUIsUUFBUSxDQUFDLEtBQTRCO1FBQzVELElBQUksS0FBSyxZQUFZLE1BQU0sSUFBSSxDQUFDLENBQUMsS0FBSyxZQUFZLEtBQUssQ0FBQyxFQUFFO1lBQ3hELElBQUksQ0FBQyxTQUFTLEdBQUc7Z0JBQ2YsR0FBRyw0QkFBNEIsQ0FBQyxlQUFlLENBQUM7Z0JBQ2hELEdBQUcsNEJBQTRCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztnQkFDOUMsR0FBRyxLQUFLO2FBQ1QsQ0FBQztTQUNIO2FBQU07WUFDTCxJQUFJLENBQUMsU0FBUyxHQUFHLDRCQUE0QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUM5RDtJQUNILENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLElBQUksNEJBQTRCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCx3QkFBd0I7SUFDeEIsSUFBc0IsS0FBSyxDQUFDLEtBQWE7UUFDdkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNrQixRQUFRLENBQVM7SUFFdEMsWUFBWSxlQUFrQztRQUM1QyxJQUFJLENBQUMsUUFBUSxHQUFHLGVBQWUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3JELENBQUM7b0ZBckdtQiwwQkFBMEI7NkRBQTFCLDBCQUEwQjsyQkFDbkMsc0JBQXNCOzs7Ozs7aUZBRGIsMEJBQTBCO2NBRC9DLFNBQVM7a0RBRTZDLGFBQWE7a0JBQWpFLFNBQVM7bUJBQUMsc0JBQXNCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBRzVCLFVBQVU7a0JBQWhDLEtBQUs7bUJBQUMsY0FBYztZQWlCRyxPQUFPO2tCQUE5QixLQUFLO21CQUFDLFdBQVc7WUEyQ08sUUFBUTtrQkFBaEMsS0FBSzttQkFBQyxZQUFZO1lBaUJHLEtBQUs7a0JBQTFCLEtBQUs7bUJBQUMsU0FBUztZQWdCSyxRQUFRO2tCQUE1QixLQUFLO21CQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dCwgVmlld0NoaWxkLCBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUG9MYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLy4uLy4uLy4uL3NlcnZpY2VzL3BvLWxhbmd1YWdlL3BvLWxhbmd1YWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgcG9Mb2NhbGVEZWZhdWx0IH0gZnJvbSAnLi8uLi8uLi8uLi9zZXJ2aWNlcy9wby1sYW5ndWFnZS9wby1sYW5ndWFnZS5jb25zdGFudCc7XG5cbmltcG9ydCB7IFBvQnJlYWRjcnVtYiB9IGZyb20gJy4uLy4uL3BvLWJyZWFkY3J1bWIvcG8tYnJlYWRjcnVtYi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9QYWdlQWN0aW9uIH0gZnJvbSAnLi4vcG8tcGFnZS1hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvUGFnZURlZmF1bHRMaXRlcmFscyB9IGZyb20gJy4vcG8tcGFnZS1kZWZhdWx0LWxpdGVyYWxzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1BhZ2VDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vcG8tcGFnZS1jb250ZW50L3BvLXBhZ2UtY29udGVudC5jb21wb25lbnQnO1xuXG5leHBvcnQgY29uc3QgcG9QYWdlRGVmYXVsdExpdGVyYWxzRGVmYXVsdCA9IHtcbiAgZW46IDxQb1BhZ2VEZWZhdWx0TGl0ZXJhbHM+e1xuICAgIG90aGVyQWN0aW9uczogJ090aGVyIGFjdGlvbnMnXG4gIH0sXG4gIGVzOiA8UG9QYWdlRGVmYXVsdExpdGVyYWxzPntcbiAgICBvdGhlckFjdGlvbnM6ICdPdHJhcyBhY2Npb25lcydcbiAgfSxcbiAgcHQ6IDxQb1BhZ2VEZWZhdWx0TGl0ZXJhbHM+e1xuICAgIG90aGVyQWN0aW9uczogJ091dHJhcyBhw6fDtWVzJ1xuICB9LFxuICBydTogPFBvUGFnZURlZmF1bHRMaXRlcmFscz57XG4gICAgb3RoZXJBY3Rpb25zOiAn0JTRgNGD0LPQuNC1INC00LXQudGB0YLQstC40Y8nXG4gIH1cbn07XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogTyBjb21wb25lbnRlIGBwby1wYWdlLWRlZmF1bHRgIMOpIHV0aWxpemFkbyBjb21vIG8gY29udGFpbmVyIHByaW5jaXBhbCBwYXJhIGFzIHRlbGFzIHNlbSB1bSB0ZW1wbGF0ZSBkZWZpbmlkby5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUG9QYWdlRGVmYXVsdEJhc2VDb21wb25lbnQge1xuICBAVmlld0NoaWxkKFBvUGFnZUNvbnRlbnRDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIHBvUGFnZUNvbnRlbnQ6IFBvUGFnZUNvbnRlbnRDb21wb25lbnQ7XG5cbiAgLyoqIE9iamV0byBjb20gcHJvcHJpZWRhZGVzIGRvIGJyZWFkY3J1bWIuICovXG4gIEBJbnB1dCgncC1icmVhZGNydW1iJykgYnJlYWRjcnVtYj86IFBvQnJlYWRjcnVtYjtcblxuICB2aXNpYmxlQWN0aW9uczogQXJyYXk8UG9QYWdlQWN0aW9uPiA9IFtdO1xuXG4gIHByb3RlY3RlZCBsYW5ndWFnZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgX2FjdGlvbnM/OiBBcnJheTxQb1BhZ2VBY3Rpb24+ID0gW107XG4gIHByaXZhdGUgX2xpdGVyYWxzOiBQb1BhZ2VEZWZhdWx0TGl0ZXJhbHM7XG4gIHByaXZhdGUgX3RpdGxlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogTmVzdGEgcHJvcHJpZWRhZGUgZGV2ZSBzZXIgZGVmaW5pZG8gdW0gYXJyYXkgZGUgb2JqZXRvcyBxdWUgaW1wbGVtZW50YW0gYSBpbnRlcmZhY2UgYFBvUGFnZUFjdGlvbmAuXG4gICAqL1xuICBASW5wdXQoJ3AtYWN0aW9ucycpIHNldCBhY3Rpb25zKGFjdGlvbnM6IEFycmF5PFBvUGFnZUFjdGlvbj4pIHtcbiAgICB0aGlzLl9hY3Rpb25zID0gQXJyYXkuaXNBcnJheShhY3Rpb25zKSA/IGFjdGlvbnMgOiBbXTtcbiAgICB0aGlzLnZpc2libGVBY3Rpb25zID0gdGhpcy5hY3Rpb25zLmZpbHRlcihhY3Rpb24gPT4gYWN0aW9uLnZpc2libGUgIT09IGZhbHNlKTtcbiAgICB0aGlzLnNldERyb3Bkb3duQWN0aW9ucygpO1xuICB9XG5cbiAgZ2V0IGFjdGlvbnMoKTogQXJyYXk8UG9QYWdlQWN0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGlvbnM7XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBPYmpldG8gY29tIGFzIGxpdGVyYWlzIHVzYWRhcyBubyBgcG8tcGFnZS1kZWZhdWx0YC5cbiAgICpcbiAgICogRXhpc3RlbSBkdWFzIG1hbmVpcmFzIGRlIGN1c3RvbWl6YXIgbyBjb21wb25lbnRlLCBwYXNzYW5kbyB1bSBvYmpldG8gY29tIHRvZGFzIGFzIGxpdGVyYWlzIGRpc3BvbsOtdmVpczpcbiAgICpcbiAgICogYGBgXG4gICAqICBjb25zdCBjdXN0b21MaXRlcmFsczogUG9QYWdlRGVmYXVsdExpdGVyYWxzID0ge1xuICAgKiAgICBvdGhlckFjdGlvbnM6ICdNYWlzIGHDp8O1ZXMnXG4gICAqICB9O1xuICAgKiBgYGBcbiAgICpcbiAgICogT3UgcGFzc2FuZG8gYXBlbmFzIGFzIGxpdGVyYWlzIHF1ZSBkZXNlamEgY3VzdG9taXphcjpcbiAgICpcbiAgICogYGBgXG4gICAqICBjb25zdCBjdXN0b21MaXRlcmFsczogUG9QYWdlRGVmYXVsdExpdGVyYWxzID0ge1xuICAgKiAgICBvdGhlckFjdGlvbnM6ICdBw6fDtWVzIGRhIHDDoWdpbmEnXG4gICAqICB9O1xuICAgKiBgYGBcbiAgICpcbiAgICogRSBwYXJhIGNhcnJlZ2FyIGFzIGxpdGVyYWlzIGN1c3RvbWl6YWRhcywgYmFzdGEgYXBlbmFzIHBhc3NhciBvIG9iamV0byBwYXJhIG8gY29tcG9uZW50ZS5cbiAgICpcbiAgICogYGBgXG4gICAqIDxwby1wYWdlLWRlZmF1bHRcbiAgICogICBbcC1saXRlcmFsc109XCJjdXN0b21MaXRlcmFsc1wiPlxuICAgKiA8L3BvLXBhZ2UtZGVmYXVsdD5cbiAgICogYGBgXG4gICAqXG4gICAqID4gTyB2YWxvciBwYWRyw6NvIHNlcsOhIHRyYWR1emlkbyBkZSBhY29yZG8gY29tIG8gaWRpb21hIGNvbmZpZ3VyYWRvIG5vIFtgUG9JMThuU2VydmljZWBdKC9kb2N1bWVudGF0aW9uL3BvLWkxOG4pIG91ICpicm93c2VyKi5cbiAgICovXG4gIEBJbnB1dCgncC1saXRlcmFscycpIHNldCBsaXRlcmFscyh2YWx1ZTogUG9QYWdlRGVmYXVsdExpdGVyYWxzKSB7XG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgT2JqZWN0ICYmICEodmFsdWUgaW5zdGFuY2VvZiBBcnJheSkpIHtcbiAgICAgIHRoaXMuX2xpdGVyYWxzID0ge1xuICAgICAgICAuLi5wb1BhZ2VEZWZhdWx0TGl0ZXJhbHNEZWZhdWx0W3BvTG9jYWxlRGVmYXVsdF0sXG4gICAgICAgIC4uLnBvUGFnZURlZmF1bHRMaXRlcmFsc0RlZmF1bHRbdGhpcy5sYW5ndWFnZV0sXG4gICAgICAgIC4uLnZhbHVlXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9saXRlcmFscyA9IHBvUGFnZURlZmF1bHRMaXRlcmFsc0RlZmF1bHRbdGhpcy5sYW5ndWFnZV07XG4gICAgfVxuICB9XG5cbiAgZ2V0IGxpdGVyYWxzKCkge1xuICAgIHJldHVybiB0aGlzLl9saXRlcmFscyB8fCBwb1BhZ2VEZWZhdWx0TGl0ZXJhbHNEZWZhdWx0W3RoaXMubGFuZ3VhZ2VdO1xuICB9XG5cbiAgLyoqIFTDrXR1bG8gZGEgcMOhZ2luYS4gKi9cbiAgQElucHV0KCdwLXRpdGxlJykgc2V0IHRpdGxlKHRpdGxlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl90aXRsZSA9IHRpdGxlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5wb1BhZ2VDb250ZW50LnJlY2FsY3VsYXRlSGVhZGVyU2l6ZSgpKTtcbiAgfVxuXG4gIGdldCB0aXRsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fdGl0bGU7XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBTdWJ0aXR1bG8gZG8gSGVhZGVyIGRhIHDDoWdpbmFcbiAgICovXG4gIEBJbnB1dCgncC1zdWJ0aXRsZScpIHN1YnRpdGxlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IobGFuZ3VhZ2VTZXJ2aWNlOiBQb0xhbmd1YWdlU2VydmljZSkge1xuICAgIHRoaXMubGFuZ3VhZ2UgPSBsYW5ndWFnZVNlcnZpY2UuZ2V0U2hvcnRMYW5ndWFnZSgpO1xuICB9XG5cbiAgLy8gU2V0YSBhIGxpc3RhIGRlIGHDp8O1ZXMgbm8gZHJvcGRvd24uXG4gIGFic3RyYWN0IHNldERyb3Bkb3duQWN0aW9ucygpO1xufVxuIl19
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1kZWZhdWx0LWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2UvcG8tcGFnZS1kZWZhdWx0L3BvLXBhZ2UtZGVmYXVsdC1iYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBS3ZGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7QUFFdEYsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUc7SUFDMUMsRUFBRSxFQUF5QjtRQUN6QixZQUFZLEVBQUUsZUFBZTtLQUM5QjtJQUNELEVBQUUsRUFBeUI7UUFDekIsWUFBWSxFQUFFLGdCQUFnQjtLQUMvQjtJQUNELEVBQUUsRUFBeUI7UUFDekIsWUFBWSxFQUFFLGNBQWM7S0FDN0I7SUFDRCxFQUFFLEVBQXlCO1FBQ3pCLFlBQVksRUFBRSxpQkFBaUI7S0FDaEM7Q0FDRixDQUFDO0FBRUY7Ozs7R0FJRztBQUVILE1BQU0sT0FBZ0IsMEJBQTBCO0lBQ08sYUFBYSxDQUF5QjtJQUUzRiw2Q0FBNkM7SUFDdEIsVUFBVSxDQUFnQjtJQUVqRCxjQUFjLEdBQXdCLEVBQUUsQ0FBQztJQUUvQixRQUFRLENBQVM7SUFFbkIsUUFBUSxHQUF5QixFQUFFLENBQUM7SUFDcEMsU0FBUyxDQUF3QjtJQUNqQyxNQUFNLENBQVM7SUFFdkI7Ozs7OztPQU1HO0lBQ0gsSUFBd0IsT0FBTyxDQUFDLE9BQTRCO1FBQzFELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFdEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FnQ0c7SUFDSCxJQUF5QixRQUFRLENBQUMsS0FBNEI7UUFDNUQsSUFBSSxLQUFLLFlBQVksTUFBTSxJQUFJLENBQUMsQ0FBQyxLQUFLLFlBQVksS0FBSyxDQUFDLEVBQUU7WUFDeEQsSUFBSSxDQUFDLFNBQVMsR0FBRztnQkFDZixHQUFHLDRCQUE0QixDQUFDLGVBQWUsQ0FBQztnQkFDaEQsR0FBRyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2dCQUM5QyxHQUFHLEtBQUs7YUFDVCxDQUFDO1NBQ0g7YUFBTTtZQUNMLElBQUksQ0FBQyxTQUFTLEdBQUcsNEJBQTRCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzlEO0lBQ0gsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsSUFBSSw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELHdCQUF3QjtJQUN4QixJQUFzQixLQUFLLENBQUMsS0FBYTtRQUN2QyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ2tCLFFBQVEsQ0FBUztJQUV0QyxZQUFZLGVBQWtDO1FBQzVDLElBQUksQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDckQsQ0FBQztvRkF0R21CLDBCQUEwQjs2REFBMUIsMEJBQTBCOzJCQUNuQyxzQkFBc0I7Ozs7OztpRkFEYiwwQkFBMEI7Y0FEL0MsU0FBUztrREFFNkMsYUFBYTtrQkFBakUsU0FBUzttQkFBQyxzQkFBc0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7WUFHNUIsVUFBVTtrQkFBaEMsS0FBSzttQkFBQyxjQUFjO1lBaUJHLE9BQU87a0JBQTlCLEtBQUs7bUJBQUMsV0FBVztZQTRDTyxRQUFRO2tCQUFoQyxLQUFLO21CQUFDLFlBQVk7WUFpQkcsS0FBSztrQkFBMUIsS0FBSzttQkFBQyxTQUFTO1lBZ0JLLFFBQVE7a0JBQTVCLEtBQUs7bUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0LCBWaWV3Q2hpbGQsIERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQb0xhbmd1YWdlU2VydmljZSB9IGZyb20gJy4vLi4vLi4vLi4vc2VydmljZXMvcG8tbGFuZ3VhZ2UvcG8tbGFuZ3VhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBwb0xvY2FsZURlZmF1bHQgfSBmcm9tICcuLy4uLy4uLy4uL3NlcnZpY2VzL3BvLWxhbmd1YWdlL3BvLWxhbmd1YWdlLmNvbnN0YW50JztcblxuaW1wb3J0IHsgUG9CcmVhZGNydW1iIH0gZnJvbSAnLi4vLi4vcG8tYnJlYWRjcnVtYi9wby1icmVhZGNydW1iLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1BhZ2VBY3Rpb24gfSBmcm9tICcuLi9wby1wYWdlLWFjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9QYWdlRGVmYXVsdExpdGVyYWxzIH0gZnJvbSAnLi9wby1wYWdlLWRlZmF1bHQtbGl0ZXJhbHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvUGFnZUNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuLi9wby1wYWdlLWNvbnRlbnQvcG8tcGFnZS1jb250ZW50LmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBwb1BhZ2VEZWZhdWx0TGl0ZXJhbHNEZWZhdWx0ID0ge1xuICBlbjogPFBvUGFnZURlZmF1bHRMaXRlcmFscz57XG4gICAgb3RoZXJBY3Rpb25zOiAnT3RoZXIgYWN0aW9ucydcbiAgfSxcbiAgZXM6IDxQb1BhZ2VEZWZhdWx0TGl0ZXJhbHM+e1xuICAgIG90aGVyQWN0aW9uczogJ090cmFzIGFjY2lvbmVzJ1xuICB9LFxuICBwdDogPFBvUGFnZURlZmF1bHRMaXRlcmFscz57XG4gICAgb3RoZXJBY3Rpb25zOiAnT3V0cmFzIGHDp8O1ZXMnXG4gIH0sXG4gIHJ1OiA8UG9QYWdlRGVmYXVsdExpdGVyYWxzPntcbiAgICBvdGhlckFjdGlvbnM6ICfQlNGA0YPQs9C40LUg0LTQtdC50YHRgtCy0LjRjydcbiAgfVxufTtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiBPIGNvbXBvbmVudGUgYHBvLXBhZ2UtZGVmYXVsdGAgw6kgdXRpbGl6YWRvIGNvbW8gbyBjb250YWluZXIgcHJpbmNpcGFsIHBhcmEgYXMgdGVsYXMgc2VtIHVtIHRlbXBsYXRlIGRlZmluaWRvLlxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQb1BhZ2VEZWZhdWx0QmFzZUNvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoUG9QYWdlQ29udGVudENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgcG9QYWdlQ29udGVudDogUG9QYWdlQ29udGVudENvbXBvbmVudDtcblxuICAvKiogT2JqZXRvIGNvbSBwcm9wcmllZGFkZXMgZG8gYnJlYWRjcnVtYi4gKi9cbiAgQElucHV0KCdwLWJyZWFkY3J1bWInKSBicmVhZGNydW1iPzogUG9CcmVhZGNydW1iO1xuXG4gIHZpc2libGVBY3Rpb25zOiBBcnJheTxQb1BhZ2VBY3Rpb24+ID0gW107XG5cbiAgcHJvdGVjdGVkIGxhbmd1YWdlOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBfYWN0aW9ucz86IEFycmF5PFBvUGFnZUFjdGlvbj4gPSBbXTtcbiAgcHJpdmF0ZSBfbGl0ZXJhbHM6IFBvUGFnZURlZmF1bHRMaXRlcmFscztcbiAgcHJpdmF0ZSBfdGl0bGU6IHN0cmluZztcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBOZXN0YSBwcm9wcmllZGFkZSBkZXZlIHNlciBkZWZpbmlkbyB1bSBhcnJheSBkZSBvYmpldG9zIHF1ZSBpbXBsZW1lbnRhbSBhIGludGVyZmFjZSBgUG9QYWdlQWN0aW9uYC5cbiAgICovXG4gIEBJbnB1dCgncC1hY3Rpb25zJykgc2V0IGFjdGlvbnMoYWN0aW9uczogQXJyYXk8UG9QYWdlQWN0aW9uPikge1xuICAgIHRoaXMuX2FjdGlvbnMgPSBBcnJheS5pc0FycmF5KGFjdGlvbnMpID8gYWN0aW9ucyA6IFtdO1xuXG4gICAgdGhpcy52aXNpYmxlQWN0aW9ucyA9IHRoaXMuZ2V0VmlzaWJsZUFjdGlvbnMoKTtcbiAgICB0aGlzLnNldERyb3Bkb3duQWN0aW9ucygpO1xuICB9XG5cbiAgZ2V0IGFjdGlvbnMoKTogQXJyYXk8UG9QYWdlQWN0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGlvbnM7XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBPYmpldG8gY29tIGFzIGxpdGVyYWlzIHVzYWRhcyBubyBgcG8tcGFnZS1kZWZhdWx0YC5cbiAgICpcbiAgICogRXhpc3RlbSBkdWFzIG1hbmVpcmFzIGRlIGN1c3RvbWl6YXIgbyBjb21wb25lbnRlLCBwYXNzYW5kbyB1bSBvYmpldG8gY29tIHRvZGFzIGFzIGxpdGVyYWlzIGRpc3BvbsOtdmVpczpcbiAgICpcbiAgICogYGBgXG4gICAqICBjb25zdCBjdXN0b21MaXRlcmFsczogUG9QYWdlRGVmYXVsdExpdGVyYWxzID0ge1xuICAgKiAgICBvdGhlckFjdGlvbnM6ICdNYWlzIGHDp8O1ZXMnXG4gICAqICB9O1xuICAgKiBgYGBcbiAgICpcbiAgICogT3UgcGFzc2FuZG8gYXBlbmFzIGFzIGxpdGVyYWlzIHF1ZSBkZXNlamEgY3VzdG9taXphcjpcbiAgICpcbiAgICogYGBgXG4gICAqICBjb25zdCBjdXN0b21MaXRlcmFsczogUG9QYWdlRGVmYXVsdExpdGVyYWxzID0ge1xuICAgKiAgICBvdGhlckFjdGlvbnM6ICdBw6fDtWVzIGRhIHDDoWdpbmEnXG4gICAqICB9O1xuICAgKiBgYGBcbiAgICpcbiAgICogRSBwYXJhIGNhcnJlZ2FyIGFzIGxpdGVyYWlzIGN1c3RvbWl6YWRhcywgYmFzdGEgYXBlbmFzIHBhc3NhciBvIG9iamV0byBwYXJhIG8gY29tcG9uZW50ZS5cbiAgICpcbiAgICogYGBgXG4gICAqIDxwby1wYWdlLWRlZmF1bHRcbiAgICogICBbcC1saXRlcmFsc109XCJjdXN0b21MaXRlcmFsc1wiPlxuICAgKiA8L3BvLXBhZ2UtZGVmYXVsdD5cbiAgICogYGBgXG4gICAqXG4gICAqID4gTyB2YWxvciBwYWRyw6NvIHNlcsOhIHRyYWR1emlkbyBkZSBhY29yZG8gY29tIG8gaWRpb21hIGNvbmZpZ3VyYWRvIG5vIFtgUG9JMThuU2VydmljZWBdKC9kb2N1bWVudGF0aW9uL3BvLWkxOG4pIG91ICpicm93c2VyKi5cbiAgICovXG4gIEBJbnB1dCgncC1saXRlcmFscycpIHNldCBsaXRlcmFscyh2YWx1ZTogUG9QYWdlRGVmYXVsdExpdGVyYWxzKSB7XG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgT2JqZWN0ICYmICEodmFsdWUgaW5zdGFuY2VvZiBBcnJheSkpIHtcbiAgICAgIHRoaXMuX2xpdGVyYWxzID0ge1xuICAgICAgICAuLi5wb1BhZ2VEZWZhdWx0TGl0ZXJhbHNEZWZhdWx0W3BvTG9jYWxlRGVmYXVsdF0sXG4gICAgICAgIC4uLnBvUGFnZURlZmF1bHRMaXRlcmFsc0RlZmF1bHRbdGhpcy5sYW5ndWFnZV0sXG4gICAgICAgIC4uLnZhbHVlXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9saXRlcmFscyA9IHBvUGFnZURlZmF1bHRMaXRlcmFsc0RlZmF1bHRbdGhpcy5sYW5ndWFnZV07XG4gICAgfVxuICB9XG5cbiAgZ2V0IGxpdGVyYWxzKCkge1xuICAgIHJldHVybiB0aGlzLl9saXRlcmFscyB8fCBwb1BhZ2VEZWZhdWx0TGl0ZXJhbHNEZWZhdWx0W3RoaXMubGFuZ3VhZ2VdO1xuICB9XG5cbiAgLyoqIFTDrXR1bG8gZGEgcMOhZ2luYS4gKi9cbiAgQElucHV0KCdwLXRpdGxlJykgc2V0IHRpdGxlKHRpdGxlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl90aXRsZSA9IHRpdGxlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5wb1BhZ2VDb250ZW50LnJlY2FsY3VsYXRlSGVhZGVyU2l6ZSgpKTtcbiAgfVxuXG4gIGdldCB0aXRsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fdGl0bGU7XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBTdWJ0aXR1bG8gZG8gSGVhZGVyIGRhIHDDoWdpbmFcbiAgICovXG4gIEBJbnB1dCgncC1zdWJ0aXRsZScpIHN1YnRpdGxlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IobGFuZ3VhZ2VTZXJ2aWNlOiBQb0xhbmd1YWdlU2VydmljZSkge1xuICAgIHRoaXMubGFuZ3VhZ2UgPSBsYW5ndWFnZVNlcnZpY2UuZ2V0U2hvcnRMYW5ndWFnZSgpO1xuICB9XG5cbiAgLy8gU2V0YSBhIGxpc3RhIGRlIGHDp8O1ZXMgbm8gZHJvcGRvd24uXG4gIGFic3RyYWN0IHNldERyb3Bkb3duQWN0aW9ucygpO1xuXG4gIGFic3RyYWN0IGdldFZpc2libGVBY3Rpb25zKCk7XG59XG4iXX0=
@@ -106,6 +106,9 @@ export class PoPageDefaultComponent extends PoPageDefaultBaseComponent {
106
106
  actionIsDisabled(action) {
107
107
  return isTypeof(action.disabled, 'function') ? action.disabled(action) : action.disabled;
108
108
  }
109
+ actionIsVisible(action) {
110
+ return isTypeof(action.visible, 'function') ? action.visible(action) : action.visible;
111
+ }
109
112
  callAction(item) {
110
113
  if (item.url) {
111
114
  isExternalLink(item.url) ? openExternalLink(item.url) : this.router.navigate([item.url]);
@@ -115,6 +118,8 @@ export class PoPageDefaultComponent extends PoPageDefaultBaseComponent {
115
118
  }
116
119
  }
117
120
  hasPageHeader() {
121
+ this.visibleActions = this.getVisibleActions();
122
+ this.setDropdownActions();
118
123
  return !!(this.title ||
119
124
  (this.visibleActions && this.visibleActions.length) ||
120
125
  (this.breadcrumb && this.breadcrumb.items.length));
@@ -124,6 +129,9 @@ export class PoPageDefaultComponent extends PoPageDefaultBaseComponent {
124
129
  this.dropdownActions = this.visibleActions.slice(this.limitPrimaryActions - 1);
125
130
  }
126
131
  }
132
+ getVisibleActions() {
133
+ return this.actions.filter(action => this.actionIsVisible(action) !== false);
134
+ }
127
135
  onResize(event) {
128
136
  const width = event.target.innerWidth;
129
137
  if (width < this.maxWidthMobile) {
@@ -161,4 +169,4 @@ export class PoPageDefaultComponent extends PoPageDefaultBaseComponent {
161
169
  args: [{ selector: 'po-page-default', template: "<po-page>\n <!-- HEADER -->\n <po-page-header *ngIf=\"hasPageHeader()\" [p-breadcrumb]=\"breadcrumb\" [p-title]=\"title\" [p-subtitle]=\"subtitle\">\n <!-- OPERATIONS -->\n <div class=\"po-page-header-actions\">\n <po-dropdown\n *ngIf=\"visibleActions.length > limitPrimaryActions\"\n [p-label]=\"literals.otherActions\"\n [p-actions]=\"dropdownActions\"\n >\n </po-dropdown>\n\n <po-button\n *ngIf=\"visibleActions.length === 3 && visibleActions[2] && !isMobile\"\n [p-danger]=\"visibleActions[2].type === 'danger'\"\n [p-disabled]=\"actionIsDisabled(visibleActions[2])\"\n [p-label]=\"visibleActions[2].label\"\n (p-click)=\"callAction(visibleActions[2])\"\n >\n </po-button>\n\n <po-button\n *ngIf=\"visibleActions[1] && (visibleActions.length === 2 || !isMobile)\"\n [p-disabled]=\"actionIsDisabled(visibleActions[1])\"\n [p-label]=\"visibleActions[1].label\"\n [p-danger]=\"visibleActions[1].type === 'danger'\"\n (p-click)=\"callAction(visibleActions[1])\"\n >\n </po-button>\n\n <po-button\n *ngIf=\"visibleActions[0]\"\n p-kind=\"primary\"\n [p-danger]=\"visibleActions[0].type === 'danger'\"\n [p-disabled]=\"actionIsDisabled(visibleActions[0])\"\n [p-icon]=\"visibleActions[0].icon\"\n [p-label]=\"visibleActions[0].label\"\n (p-click)=\"callAction(visibleActions[0])\"\n >\n </po-button>\n </div>\n </po-page-header>\n\n <!-- CONTENT -->\n <po-page-content>\n <ng-content></ng-content>\n </po-page-content>\n</po-page>\n" }]
162
170
  }], () => [{ type: i0.ViewContainerRef }, { type: i1.PoLanguageService }, { type: i0.Renderer2 }, { type: i2.Router }], null); })();
163
171
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PoPageDefaultComponent, { className: "PoPageDefaultComponent", filePath: "lib/components/po-page/po-page-default/po-page-default.component.ts", lineNumber: 36 }); })();
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1kZWZhdWx0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1wYWdlL3BvLXBhZ2UtZGVmYXVsdC9wby1wYWdlLWRlZmF1bHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2UvcG8tcGFnZS1kZWZhdWx0L3BvLXBhZ2UtZGVmYXVsdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLFNBQVMsRUFBd0QsTUFBTSxlQUFlLENBQUM7QUFLbEgsT0FBTyxFQUFnQixjQUFjLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHL0YsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7Ozs7O0lDSHhFLGlDQUtjOzs7SUFIWixzREFBaUMscUNBQUE7Ozs7SUFLbkMsb0NBTUM7SUFEQyxrTUFBVyxlQUFBLHdDQUEwQixDQUFDLEVBQUUsQ0FBQSxJQUFDO0lBRTNDLGlCQUFZOzs7SUFMVixxRUFBZ0QsaUVBQUEsMkNBQUE7Ozs7SUFPbEQsb0NBTUM7SUFEQyxrTUFBVyxlQUFBLHdDQUEwQixDQUFDLEVBQUUsQ0FBQSxJQUFDO0lBRTNDLGlCQUFZOzs7SUFMViw4RUFBa0QsMkNBQUEsd0RBQUE7Ozs7SUFPcEQscUNBUUM7SUFEQyxtTUFBVyxlQUFBLHdDQUEwQixDQUFDLEVBQUUsQ0FBQSxJQUFDO0lBRTNDLGlCQUFZOzs7SUFOVixxRUFBZ0QsaUVBQUEseUNBQUEsMkNBQUE7OztJQS9CdEQseUNBQThHLGFBQUE7SUFHMUcsd0dBS2MsdUZBQUEsdUZBQUEsdUZBQUE7SUE4QmhCLGlCQUFNLEVBQUE7OztJQXRDZ0MsZ0RBQTJCLHlCQUFBLCtC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QUFHLEtBQUssQ0FBQztZQUN0QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO1lBQzdCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxNQUFNLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDM0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDckIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLENBQUMsQ0FBQztTQUM5QjtJQUNILENBQUM7Z0ZBMUVVLHNCQUFzQjs2REFBdEIsc0JBQXNCOztZQ25DbkMsK0JBQVM7WUFFUCw2RkF1Q2lCO1lBR2pCLHVDQUFpQjtZQUNmLGtCQUF5QjtZQUMzQixpQkFBa0IsRUFBQTs7WUE1Q0QsY0FBcUI7WUFBckIsMENBQXFCOzs7aUZEaUMzQixzQkFBc0I7Y0FKbEMsU0FBUzsyQkFDRSxpQkFBaUI7O2tGQUdoQixzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDb21wb25lbnQsIE9uQ2hhbmdlcywgUmVuZGVyZXIyLCBTaW1wbGVDaGFuZ2UsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IFBvTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi8uLi9zZXJ2aWNlcy9wby1sYW5ndWFnZS9wby1sYW5ndWFnZS5zZXJ2aWNlJztcblxuaW1wb3J0IHsgY2FsbEZ1bmN0aW9uLCBpc0V4dGVybmFsTGluaywgaXNUeXBlb2YsIG9wZW5FeHRlcm5hbExpbmsgfSBmcm9tICcuLi8uLi8uLi91dGlscy91dGlsJztcbmltcG9ydCB7IFBvUGFnZUFjdGlvbiB9IGZyb20gJy4uL3BvLXBhZ2UtYWN0aW9uLmludGVyZmFjZSc7XG5cbmltcG9ydCB7IFBvUGFnZURlZmF1bHRCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1wYWdlLWRlZmF1bHQtYmFzZS5jb21wb25lbnQnO1xuXG4vKipcbiAqIEBkb2NzRXh0ZW5kcyBQb1BhZ2VEZWZhdWx0QmFzZUNvbXBvbmVudFxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXBhZ2UtZGVmYXVsdC1iYXNpY1wiIHRpdGxlPVwiUE8gUGFnZSBEZWZhdWx0IEJhc2ljXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWRlZmF1bHQtYmFzaWMvc2FtcGxlLXBvLXBhZ2UtZGVmYXVsdC1iYXNpYy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWRlZmF1bHQtYmFzaWMvc2FtcGxlLXBvLXBhZ2UtZGVmYXVsdC1iYXNpYy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1wYWdlLWRlZmF1bHQtbGFic1wiIHRpdGxlPVwiUE8gUGFnZSBEZWZhdWx0IExhYnNcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2UtZGVmYXVsdC1sYWJzL3NhbXBsZS1wby1wYWdlLWRlZmF1bHQtbGFicy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWRlZmF1bHQtbGFicy9zYW1wbGUtcG8tcGFnZS1kZWZhdWx0LWxhYnMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tcGFnZS1kZWZhdWx0LWRhc2hib2FyZFwiIHRpdGxlPVwiUE8gUGFnZSBEZWZhdWx0IC0gRGFzaGJvYXJkXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWRlZmF1bHQtZGFzaGJvYXJkL3NhbXBsZS1wby1wYWdlLWRlZmF1bHQtZGFzaGJvYXJkLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2UtZGVmYXVsdC1kYXNoYm9hcmQvc2FtcGxlLXBvLXBhZ2UtZGVmYXVsdC1kYXNoYm9hcmQuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2UtZGVmYXVsdC1kYXNoYm9hcmQvc2FtcGxlLXBvLXBhZ2UtZGVmYXVsdC1kYXNoYm9hcmQuc2VydmljZS50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BvLXBhZ2UtZGVmYXVsdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wby1wYWdlLWRlZmF1bHQuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFBvUGFnZURlZmF1bHRDb21wb25lbnQgZXh0ZW5kcyBQb1BhZ2VEZWZhdWx0QmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcyB7XG4gIGxpbWl0UHJpbWFyeUFjdGlvbnM6IG51bWJlciA9IDM7XG4gIGRyb3Bkb3duQWN0aW9uczogQXJyYXk8UG9QYWdlQWN0aW9uPjtcbiAgaXNNb2JpbGU6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBtYXhXaWR0aE1vYmlsZTogbnVtYmVyID0gNDgwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHZpZXdSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgbGFuZ3VhZ2VTZXJ2aWNlOiBQb0xhbmd1YWdlU2VydmljZSxcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxuICApIHtcbiAgICBzdXBlcihsYW5ndWFnZVNlcnZpY2UpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldElzTW9iaWxlKCk7XG4gICAgdGhpcy5zZXREcm9wZG93bkFjdGlvbnMoKTtcblxuICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKCd3aW5kb3cnLCAncmVzaXplJywgKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgICAgdGhpcy5vblJlc2l6ZShldmVudCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiB7IFtwcm9wTmFtZTogc3RyaW5nXTogU2ltcGxlQ2hhbmdlIH0pIHtcbiAgICB0aGlzLnNldERyb3Bkb3duQWN0aW9ucygpO1xuICB9XG5cbiAgYWN0aW9uSXNEaXNhYmxlZChhY3Rpb246IGFueSkge1xuICAgIHJldHVybiBpc1R5cGVvZihhY3Rpb24uZGlzYWJsZWQsICdmdW5jdGlvbicpID8gYWN0aW9uLmRpc2FibGVkKGFjdGlvbikgOiBhY3Rpb24uZGlzYWJsZWQ7XG4gIH1cblxuICBjYWxsQWN0aW9uKGl0ZW06IFBvUGFnZUFjdGlvbik6IHZvaWQge1xuICAgIGlmIChpdGVtLnVybCkge1xuICAgICAgaXNFeHRlcm5hbExpbmsoaXRlbS51cmwpID8gb3BlbkV4dGVybmFsTGluayhpdGVtLnVybCkgOiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbaXRlbS51cmxdKTtcbiAgICB9IGVsc2UgaWYgKGl0ZW0uYWN0aW9uKSB7XG4gICAgICBpdGVtLmFjdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIGhhc1BhZ2VIZWFkZXIoKSB7XG4gICAgcmV0dXJuICEhKFxuICAgICAgdGhpcy50aXRsZSB8fFxuICAgICAgKHRoaXMudmlzaWJsZUFjdGlvbnMgJiYgdGhpcy52aXNpYmxlQWN0aW9ucy5sZW5ndGgpIHx8XG4gICAgICAodGhpcy5icmVhZGNydW1iICYmIHRoaXMuYnJlYWRjcnVtYi5pdGVtcy5sZW5ndGgpXG4gICAgKTtcbiAgfVxuXG4gIHNldERyb3Bkb3duQWN0aW9ucygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy52aXNpYmxlQWN0aW9ucy5sZW5ndGggPiB0aGlzLmxpbWl0UHJpbWFyeUFjdGlvbnMpIHtcbiAgICAgIHRoaXMuZHJvcGRvd25BY3Rpb25zID0gdGhpcy52aXNpYmxlQWN0aW9ucy5zbGljZSh0aGlzLmxpbWl0UHJpbWFyeUFjdGlvbnMgLSAxKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9uUmVzaXplKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHdpZHRoID0gKGV2ZW50LnRhcmdldCBhcyBXaW5kb3cpLmlubmVyV2lkdGg7XG5cbiAgICBpZiAod2lkdGggPCB0aGlzLm1heFdpZHRoTW9iaWxlKSB7XG4gICAgICB0aGlzLmlzTW9iaWxlID0gdHJ1ZTtcbiAgICAgIHRoaXMubGltaXRQcmltYXJ5QWN0aW9ucyA9IDI7XG4gICAgICB0aGlzLnNldERyb3Bkb3duQWN0aW9ucygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzTW9iaWxlID0gZmFsc2U7XG4gICAgICB0aGlzLmxpbWl0UHJpbWFyeUFjdGlvbnMgPSAzO1xuICAgICAgdGhpcy5zZXREcm9wZG93bkFjdGlvbnMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldElzTW9iaWxlKCk6IHZvaWQge1xuICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA8IHRoaXMubWF4V2lkdGhNb2JpbGUpIHtcbiAgICAgIHRoaXMuaXNNb2JpbGUgPSB0cnVlO1xuICAgICAgdGhpcy5saW1pdFByaW1hcnlBY3Rpb25zID0gMjtcbiAgICB9XG4gIH1cbn1cbiIsIjxwby1wYWdlPlxuICA8IS0tIEhFQURFUiAtLT5cbiAgPHBvLXBhZ2UtaGVhZGVyICpuZ0lmPVwiaGFzUGFnZUhlYWRlcigpXCIgW3AtYnJlYWRjcnVtYl09XCJicmVhZGNydW1iXCIgW3AtdGl0bGVdPVwidGl0bGVcIiBbcC1zdWJ0aXRsZV09XCJzdWJ0aXRsZVwiPlxuICAgIDwhLS0gT1BFUkFUSU9OUyAtLT5cbiAgICA8ZGl2IGNsYXNzPVwicG8tcGFnZS1oZWFkZXItYWN0aW9uc1wiPlxuICAgICAgPHBvLWRyb3Bkb3duXG4gICAgICAgICpuZ0lmPVwidmlzaWJsZUFjdGlvbnMubGVuZ3RoID4gbGltaXRQcmltYXJ5QWN0aW9uc1wiXG4gICAgICAgIFtwLWxhYmVsXT1cImxpdGVyYWxzLm90aGVyQWN0aW9uc1wiXG4gICAgICAgIFtwLWFjdGlvbnNdPVwiZHJvcGRvd25BY3Rpb25zXCJcbiAgICAgID5cbiAgICAgIDwvcG8tZHJvcGRvd24+XG5cbiAgICAgIDxwby1idXR0b25cbiAgICAgICAgKm5nSWY9XCJ2aXNpYmxlQWN0aW9ucy5sZW5ndGggPT09IDMgJiYgdmlzaWJsZUFjdGlvbnNbMl0gJiYgIWlzTW9iaWxlXCJcbiAgICAgICAgW3AtZGFuZ2VyXT1cInZpc2libGVBY3Rpb25zWzJdLnR5cGUgPT09ICdkYW5nZXInXCJcbiAgICAgICAgW3AtZGlzYWJsZWRdPVwiYWN0aW9uSXNEaXNhYmxlZCh2aXNpYmxlQWN0aW9uc1syXSlcIlxuICAgICAgICBbcC1sYWJlbF09XCJ2aXNpYmxlQWN0aW9uc1syXS5sYWJlbFwiXG4gICAgICAgIChwLWNsaWNrKT1cImNhbGxBY3Rpb24odmlzaWJsZUFjdGlvbnNbMl0pXCJcbiAgICAgID5cbiAgICAgIDwvcG8tYnV0dG9uPlxuXG4gICAgICA8cG8tYnV0dG9uXG4gICAgICAgICpuZ0lmPVwidmlzaWJsZUFjdGlvbnNbMV0gJiYgKHZpc2libGVBY3Rpb25zLmxlbmd0aCA9PT0gMiB8fCAhaXNNb2JpbGUpXCJcbiAgICAgICAgW3AtZGlzYWJsZWRdPVwiYWN0aW9uSXNEaXNhYmxlZCh2aXNpYmxlQWN0aW9uc1sxXSlcIlxuICAgICAgICBbcC1sYWJlbF09XCJ2aXNpYmxlQWN0aW9uc1sxXS5sYWJlbFwiXG4gICAgICAgIFtwLWRhbmdlcl09XCJ2aXNpYmxlQWN0aW9uc1sxXS50eXBlID09PSAnZGFuZ2VyJ1wiXG4gICAgICAgIChwLWNsaWNrKT1cImNhbGxBY3Rpb24odmlzaWJsZUFjdGlvbnNbMV0pXCJcbiAgICAgID5cbiAgICAgIDwvcG8tYnV0dG9uPlxuXG4gICAgICA8cG8tYnV0dG9uXG4gICAgICAgICpuZ0lmPVwidmlzaWJsZUFjdGlvbnNbMF1cIlxuICAgICAgICBwLWtpbmQ9XCJwcmltYXJ5XCJcbiAgICAgICAgW3AtZGFuZ2VyXT1cInZpc2libGVBY3Rpb25zWzBdLnR5cGUgPT09ICdkYW5nZXInXCJcbiAgICAgICAgW3AtZGlzYWJsZWRdPVwiYWN0aW9uSXNEaXNhYmxlZCh2aXNpYmxlQWN0aW9uc1swXSlcIlxuICAgICAgICBbcC1pY29uXT1cInZpc2libGVBY3Rpb25zWzBdLmljb25cIlxuICAgICAgICBbcC1sYWJlbF09XCJ2aXNpYmxlQWN0aW9uc1swXS5sYWJlbFwiXG4gICAgICAgIChwLWNsaWNrKT1cImNhbGxBY3Rpb24odmlzaWJsZUFjdGlvbnNbMF0pXCJcbiAgICAgID5cbiAgICAgIDwvcG8tYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L3BvLXBhZ2UtaGVhZGVyPlxuXG4gIDwhLS0gQ09OVEVOVCAtLT5cbiAgPHBvLXBhZ2UtY29udGVudD5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvcG8tcGFnZS1jb250ZW50PlxuPC9wby1wYWdlPlxuIl19
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1kZWZhdWx0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1wYWdlL3BvLXBhZ2UtZGVmYXVsdC9wby1wYWdlLWRlZmF1bHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2UvcG8tcGFnZS1kZWZhdWx0L3BvLXBhZ2UtZGVmYXVsdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLFNBQVMsRUFBd0QsTUFBTSxlQUFlLENBQUM7QUFLbEgsT0FBTyxFQUFnQixjQUFjLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHL0YsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7Ozs7O0lDSHhFLGlDQUtjOzs7SUFIWixzREFBaUMscUNBQUE7Ozs7SUFLbkMsb0NBTUM7SUFEQyxrTUFBVyxlQUFBLHdDQUEwQixDQUFDLEVBQUUsQ0FBQSxJQUFDO0lBRTNDLGlCQUFZOzs7SUFMVixxRUFBZ0QsaUVBQUEsMkNBQUE7Ozs7SUFPbEQsb0NBTUM7SUFEQyxrTUFBVyxlQUFBLHdDQUEwQixDQUFDLEVBQUUsQ0FBQSxJQUFDO0lBRTNDLGlCQUFZOzs7SUFMViw4RUFBa0QsMkNBQUEsd0RBQUE7Ozs7SUFPcEQscUNBUUM7SUFEQyxtTUFBVyxlQUFBLHdDQUEwQixDQUFDLEVBQUUsQ0FBQSxJQUFDO0lBRTNDLGlCQUFZOzs7SUFOVixxRUFBZ0QsaUVBQUEseUNBQUEsMkNBQUE7OztJQS9CdEQseUNBQThHLGFBQUE7SUFHMUcsd0dBS2MsdUZBQUEsdUZBQUEsdUZBQUE7SUE4QmhCLGlCQUFNLEVBQUE7OztJQXRDZ0MsZ0RBQTJCLHlCQUFBLCtC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LGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFTyxRQUFRLENBQUMsS0FBWTtRQUMzQixNQUFNLEtBQUssR0FBSSxLQUFLLENBQUMsTUFBaUIsQ0FBQyxVQUFVLENBQUM7UUFFbEQsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUMvQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUNyQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO1lBQzdCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1NBQzNCO2FBQU07WUFDTCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUN0QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO1lBQzdCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxNQUFNLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDM0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDckIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLENBQUMsQ0FBQztTQUM5QjtJQUNILENBQUM7Z0ZBckZVLHNCQUFzQjs2REFBdEIsc0JBQXNCOztZQ25DbkMsK0JBQVM7WUFFUCw2RkF1Q2lCO1lBR2pCLHVDQUFpQjtZQUNmLGtCQUF5QjtZQUMzQixpQkFBa0IsRUFBQTs7WUE1Q0QsY0FBcUI7WUFBckIsMENBQXFCOzs7aUZEaUMzQixzQkFBc0I7Y0FKbEMsU0FBUzsyQkFDRSxpQkFBaUI7O2tGQUdoQixzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDb21wb25lbnQsIE9uQ2hhbmdlcywgUmVuZGVyZXIyLCBTaW1wbGVDaGFuZ2UsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IFBvTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi8uLi9zZXJ2aWNlcy9wby1sYW5ndWFnZS9wby1sYW5ndWFnZS5zZXJ2aWNlJztcblxuaW1wb3J0IHsgY2FsbEZ1bmN0aW9uLCBpc0V4dGVybmFsTGluaywgaXNUeXBlb2YsIG9wZW5FeHRlcm5hbExpbmsgfSBmcm9tICcuLi8uLi8uLi91dGlscy91dGlsJztcbmltcG9ydCB7IFBvUGFnZUFjdGlvbiB9IGZyb20gJy4uL3BvLXBhZ2UtYWN0aW9uLmludGVyZmFjZSc7XG5cbmltcG9ydCB7IFBvUGFnZURlZmF1bHRCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1wYWdlLWRlZmF1bHQtYmFzZS5jb21wb25lbnQnO1xuXG4vKipcbiAqIEBkb2NzRXh0ZW5kcyBQb1BhZ2VEZWZhdWx0QmFzZUNvbXBvbmVudFxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXBhZ2UtZGVmYXVsdC1iYXNpY1wiIHRpdGxlPVwiUE8gUGFnZSBEZWZhdWx0IEJhc2ljXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWRlZmF1bHQtYmFzaWMvc2FtcGxlLXBvLXBhZ2UtZGVmYXVsdC1iYXNpYy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWRlZmF1bHQtYmFzaWMvc2FtcGxlLXBvLXBhZ2UtZGVmYXVsdC1iYXNpYy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1wYWdlLWRlZmF1bHQtbGFic1wiIHRpdGxlPVwiUE8gUGFnZSBEZWZhdWx0IExhYnNcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2UtZGVmYXVsdC1sYWJzL3NhbXBsZS1wby1wYWdlLWRlZmF1bHQtbGFicy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWRlZmF1bHQtbGFicy9zYW1wbGUtcG8tcGFnZS1kZWZhdWx0LWxhYnMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tcGFnZS1kZWZhdWx0LWRhc2hib2FyZFwiIHRpdGxlPVwiUE8gUGFnZSBEZWZhdWx0IC0gRGFzaGJvYXJkXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWRlZmF1bHQtZGFzaGJvYXJkL3NhbXBsZS1wby1wYWdlLWRlZmF1bHQtZGFzaGJvYXJkLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2UtZGVmYXVsdC1kYXNoYm9hcmQvc2FtcGxlLXBvLXBhZ2UtZGVmYXVsdC1kYXNoYm9hcmQuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2UtZGVmYXVsdC1kYXNoYm9hcmQvc2FtcGxlLXBvLXBhZ2UtZGVmYXVsdC1kYXNoYm9hcmQuc2VydmljZS50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BvLXBhZ2UtZGVmYXVsdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wby1wYWdlLWRlZmF1bHQuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFBvUGFnZURlZmF1bHRDb21wb25lbnQgZXh0ZW5kcyBQb1BhZ2VEZWZhdWx0QmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcyB7XG4gIGxpbWl0UHJpbWFyeUFjdGlvbnM6IG51bWJlciA9IDM7XG4gIGRyb3Bkb3duQWN0aW9uczogQXJyYXk8UG9QYWdlQWN0aW9uPjtcbiAgaXNNb2JpbGU6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBtYXhXaWR0aE1vYmlsZTogbnVtYmVyID0gNDgwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHZpZXdSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgbGFuZ3VhZ2VTZXJ2aWNlOiBQb0xhbmd1YWdlU2VydmljZSxcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxuICApIHtcbiAgICBzdXBlcihsYW5ndWFnZVNlcnZpY2UpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldElzTW9iaWxlKCk7XG4gICAgdGhpcy5zZXREcm9wZG93bkFjdGlvbnMoKTtcblxuICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKCd3aW5kb3cnLCAncmVzaXplJywgKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgICAgdGhpcy5vblJlc2l6ZShldmVudCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiB7IFtwcm9wTmFtZTogc3RyaW5nXTogU2ltcGxlQ2hhbmdlIH0pIHtcbiAgICB0aGlzLnNldERyb3Bkb3duQWN0aW9ucygpO1xuICB9XG5cbiAgYWN0aW9uSXNEaXNhYmxlZChhY3Rpb246IGFueSkge1xuICAgIHJldHVybiBpc1R5cGVvZihhY3Rpb24uZGlzYWJsZWQsICdmdW5jdGlvbicpID8gYWN0aW9uLmRpc2FibGVkKGFjdGlvbikgOiBhY3Rpb24uZGlzYWJsZWQ7XG4gIH1cblxuICBhY3Rpb25Jc1Zpc2libGUoYWN0aW9uOiBhbnkpIHtcbiAgICByZXR1cm4gaXNUeXBlb2YoYWN0aW9uLnZpc2libGUsICdmdW5jdGlvbicpID8gYWN0aW9uLnZpc2libGUoYWN0aW9uKSA6IGFjdGlvbi52aXNpYmxlO1xuICB9XG5cbiAgY2FsbEFjdGlvbihpdGVtOiBQb1BhZ2VBY3Rpb24pOiB2b2lkIHtcbiAgICBpZiAoaXRlbS51cmwpIHtcbiAgICAgIGlzRXh0ZXJuYWxMaW5rKGl0ZW0udXJsKSA/IG9wZW5FeHRlcm5hbExpbmsoaXRlbS51cmwpIDogdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2l0ZW0udXJsXSk7XG4gICAgfSBlbHNlIGlmIChpdGVtLmFjdGlvbikge1xuICAgICAgaXRlbS5hY3Rpb24oKTtcbiAgICB9XG4gIH1cblxuICBoYXNQYWdlSGVhZGVyKCkge1xuICAgIHRoaXMudmlzaWJsZUFjdGlvbnMgPSB0aGlzLmdldFZpc2libGVBY3Rpb25zKCk7XG4gICAgdGhpcy5zZXREcm9wZG93bkFjdGlvbnMoKTtcblxuICAgIHJldHVybiAhIShcbiAgICAgIHRoaXMudGl0bGUgfHxcbiAgICAgICh0aGlzLnZpc2libGVBY3Rpb25zICYmIHRoaXMudmlzaWJsZUFjdGlvbnMubGVuZ3RoKSB8fFxuICAgICAgKHRoaXMuYnJlYWRjcnVtYiAmJiB0aGlzLmJyZWFkY3J1bWIuaXRlbXMubGVuZ3RoKVxuICAgICk7XG4gIH1cblxuICBzZXREcm9wZG93bkFjdGlvbnMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudmlzaWJsZUFjdGlvbnMubGVuZ3RoID4gdGhpcy5saW1pdFByaW1hcnlBY3Rpb25zKSB7XG4gICAgICB0aGlzLmRyb3Bkb3duQWN0aW9ucyA9IHRoaXMudmlzaWJsZUFjdGlvbnMuc2xpY2UodGhpcy5saW1pdFByaW1hcnlBY3Rpb25zIC0gMSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0VmlzaWJsZUFjdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aW9ucy5maWx0ZXIoYWN0aW9uID0+IHRoaXMuYWN0aW9uSXNWaXNpYmxlKGFjdGlvbikgIT09IGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgb25SZXNpemUoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3Qgd2lkdGggPSAoZXZlbnQudGFyZ2V0IGFzIFdpbmRvdykuaW5uZXJXaWR0aDtcblxuICAgIGlmICh3aWR0aCA8IHRoaXMubWF4V2lkdGhNb2JpbGUpIHtcbiAgICAgIHRoaXMuaXNNb2JpbGUgPSB0cnVlO1xuICAgICAgdGhpcy5saW1pdFByaW1hcnlBY3Rpb25zID0gMjtcbiAgICAgIHRoaXMuc2V0RHJvcGRvd25BY3Rpb25zKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNNb2JpbGUgPSBmYWxzZTtcbiAgICAgIHRoaXMubGltaXRQcmltYXJ5QWN0aW9ucyA9IDM7XG4gICAgICB0aGlzLnNldERyb3Bkb3duQWN0aW9ucygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0SXNNb2JpbGUoKTogdm9pZCB7XG4gICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoIDwgdGhpcy5tYXhXaWR0aE1vYmlsZSkge1xuICAgICAgdGhpcy5pc01vYmlsZSA9IHRydWU7XG4gICAgICB0aGlzLmxpbWl0UHJpbWFyeUFjdGlvbnMgPSAyO1xuICAgIH1cbiAgfVxufVxuIiwiPHBvLXBhZ2U+XG4gIDwhLS0gSEVBREVSIC0tPlxuICA8cG8tcGFnZS1oZWFkZXIgKm5nSWY9XCJoYXNQYWdlSGVhZGVyKClcIiBbcC1icmVhZGNydW1iXT1cImJyZWFkY3J1bWJcIiBbcC10aXRsZV09XCJ0aXRsZVwiIFtwLXN1YnRpdGxlXT1cInN1YnRpdGxlXCI+XG4gICAgPCEtLSBPUEVSQVRJT05TIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJwby1wYWdlLWhlYWRlci1hY3Rpb25zXCI+XG4gICAgICA8cG8tZHJvcGRvd25cbiAgICAgICAgKm5nSWY9XCJ2aXNpYmxlQWN0aW9ucy5sZW5ndGggPiBsaW1pdFByaW1hcnlBY3Rpb25zXCJcbiAgICAgICAgW3AtbGFiZWxdPVwibGl0ZXJhbHMub3RoZXJBY3Rpb25zXCJcbiAgICAgICAgW3AtYWN0aW9uc109XCJkcm9wZG93bkFjdGlvbnNcIlxuICAgICAgPlxuICAgICAgPC9wby1kcm9wZG93bj5cblxuICAgICAgPHBvLWJ1dHRvblxuICAgICAgICAqbmdJZj1cInZpc2libGVBY3Rpb25zLmxlbmd0aCA9PT0gMyAmJiB2aXNpYmxlQWN0aW9uc1syXSAmJiAhaXNNb2JpbGVcIlxuICAgICAgICBbcC1kYW5nZXJdPVwidmlzaWJsZUFjdGlvbnNbMl0udHlwZSA9PT0gJ2RhbmdlcidcIlxuICAgICAgICBbcC1kaXNhYmxlZF09XCJhY3Rpb25Jc0Rpc2FibGVkKHZpc2libGVBY3Rpb25zWzJdKVwiXG4gICAgICAgIFtwLWxhYmVsXT1cInZpc2libGVBY3Rpb25zWzJdLmxhYmVsXCJcbiAgICAgICAgKHAtY2xpY2spPVwiY2FsbEFjdGlvbih2aXNpYmxlQWN0aW9uc1syXSlcIlxuICAgICAgPlxuICAgICAgPC9wby1idXR0b24+XG5cbiAgICAgIDxwby1idXR0b25cbiAgICAgICAgKm5nSWY9XCJ2aXNpYmxlQWN0aW9uc1sxXSAmJiAodmlzaWJsZUFjdGlvbnMubGVuZ3RoID09PSAyIHx8ICFpc01vYmlsZSlcIlxuICAgICAgICBbcC1kaXNhYmxlZF09XCJhY3Rpb25Jc0Rpc2FibGVkKHZpc2libGVBY3Rpb25zWzFdKVwiXG4gICAgICAgIFtwLWxhYmVsXT1cInZpc2libGVBY3Rpb25zWzFdLmxhYmVsXCJcbiAgICAgICAgW3AtZGFuZ2VyXT1cInZpc2libGVBY3Rpb25zWzFdLnR5cGUgPT09ICdkYW5nZXInXCJcbiAgICAgICAgKHAtY2xpY2spPVwiY2FsbEFjdGlvbih2aXNpYmxlQWN0aW9uc1sxXSlcIlxuICAgICAgPlxuICAgICAgPC9wby1idXR0b24+XG5cbiAgICAgIDxwby1idXR0b25cbiAgICAgICAgKm5nSWY9XCJ2aXNpYmxlQWN0aW9uc1swXVwiXG4gICAgICAgIHAta2luZD1cInByaW1hcnlcIlxuICAgICAgICBbcC1kYW5nZXJdPVwidmlzaWJsZUFjdGlvbnNbMF0udHlwZSA9PT0gJ2RhbmdlcidcIlxuICAgICAgICBbcC1kaXNhYmxlZF09XCJhY3Rpb25Jc0Rpc2FibGVkKHZpc2libGVBY3Rpb25zWzBdKVwiXG4gICAgICAgIFtwLWljb25dPVwidmlzaWJsZUFjdGlvbnNbMF0uaWNvblwiXG4gICAgICAgIFtwLWxhYmVsXT1cInZpc2libGVBY3Rpb25zWzBdLmxhYmVsXCJcbiAgICAgICAgKHAtY2xpY2spPVwiY2FsbEFjdGlvbih2aXNpYmxlQWN0aW9uc1swXSlcIlxuICAgICAgPlxuICAgICAgPC9wby1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvcG8tcGFnZS1oZWFkZXI+XG5cbiAgPCEtLSBDT05URU5UIC0tPlxuICA8cG8tcGFnZS1jb250ZW50PlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9wby1wYWdlLWNvbnRlbnQ+XG48L3BvLXBhZ2U+XG4iXX0=