barsa-sap-ui 0.0.2 → 0.0.4

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 (42) hide show
  1. package/esm2020/lib/barsa-asp-viewer/barsa-asp-viewer.component.mjs +2 -2
  2. package/esm2020/lib/barsa-sap-ui-routing.module.mjs +1 -1
  3. package/esm2020/lib/barsa-sap-ui.module.mjs +22 -23
  4. package/esm2020/lib/barsa-table-row/barsa-table-row.component.mjs +1 -1
  5. package/esm2020/lib/column-matrix-renderer/column-matrix-renderer.component.mjs +1 -1
  6. package/esm2020/lib/column-renderer/column-renderer.component.mjs +1 -1
  7. package/esm2020/lib/hyperlink/hyperlink.component.mjs +3 -3
  8. package/esm2020/lib/index.mjs +63 -60
  9. package/esm2020/lib/layout-control/layout-control.component.mjs +17 -2
  10. package/esm2020/lib/layout-wizard/layout-wizard.component.mjs +2 -2
  11. package/esm2020/lib/ly-horizontal-layout/ly-horizontal-layout.component.mjs +2 -2
  12. package/esm2020/lib/ly-layout-container/ly-layout-container.component.mjs +3 -3
  13. package/esm2020/lib/ly-layout-panel/ly-layout-panel.component.mjs +3 -3
  14. package/esm2020/lib/ly-tab-page/ly-tab-page.component.mjs +3 -3
  15. package/esm2020/lib/ly-vertical-layout/ly-vertical-layout.component.mjs +3 -3
  16. package/esm2020/lib/mask/mask.component.mjs +2 -2
  17. package/esm2020/lib/no-data/no-data.component.mjs +2 -2
  18. package/esm2020/lib/report-new-top-form/report-new-top-form.component.mjs +2 -2
  19. package/esm2020/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.mjs +1 -1
  20. package/esm2020/lib/ui-color-ui/ui-color-ui.component.mjs +2 -2
  21. package/esm2020/lib/ui-date-range-ex/ui-date-range-ex.component.mjs +2 -2
  22. package/esm2020/lib/ui-graph/ui-graph.component.mjs +1 -1
  23. package/esm2020/lib/ui-picture-file/ui-picture-file.component.mjs +2 -2
  24. package/esm2020/lib/ul-notify-popup/ul-notify-popup.component.mjs +2 -2
  25. package/esm2020/public-api.mjs +1 -2
  26. package/fesm2015/barsa-sap-ui.mjs +172 -183
  27. package/fesm2015/barsa-sap-ui.mjs.map +1 -1
  28. package/fesm2020/barsa-sap-ui.mjs +172 -183
  29. package/fesm2020/barsa-sap-ui.mjs.map +1 -1
  30. package/lib/barsa-asp-viewer/barsa-asp-viewer.component.d.ts +1 -1
  31. package/lib/barsa-sap-ui.module.d.ts +25 -26
  32. package/lib/index.d.ts +3 -4
  33. package/lib/layout-control/layout-control.component.d.ts +5 -2
  34. package/lib/no-data/no-data.component.d.ts +1 -1
  35. package/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.d.ts +1 -1
  36. package/lib/ui-date-range-ex/ui-date-range-ex.component.d.ts +1 -1
  37. package/lib/ui-graph/ui-graph.component.d.ts +1 -1
  38. package/lib/ul-notify-popup/ul-notify-popup.component.d.ts +1 -1
  39. package/package.json +2 -2
  40. package/public-api.d.ts +0 -1
  41. package/esm2020/lib/barsa-base-layout/barsa-base-layout.component.mjs +0 -34
  42. package/lib/barsa-base-layout/barsa-base-layout.component.d.ts +0 -18
@@ -25,10 +25,10 @@ export class LyVerticalLayoutComponent extends LayoutItemBaseComponent {
25
25
  }
26
26
  }
27
27
  LyVerticalLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: LyVerticalLayoutComponent, deps: [{ token: i1.FormPanelService }, { token: i1.LayoutService, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
28
- LyVerticalLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: LyVerticalLayoutComponent, selector: "bsu-ly-vertical-layout", inputs: { maxLabelWidth: "maxLabelWidth" }, host: { properties: { "style.flex": "this.flex", "style.flex-direction": "this.flexDirection", "style.flex-wrap": "this.flexWrap" } }, viewQueries: [{ propertyName: "viewRef", first: true, predicate: ["viewRefTemplate"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngFor=\"let item of config | filterToolbarControl\">\n <ng-container [ngSwitch]=\"item.xtype\">\n <ng-container *ngSwitchCase=\"'Ly.LayoutTabPanel'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LyLayoutPanelComponent', selector: 'bsu-ly-tab-container' }\n \"\n ></ng-container>\n <!-- <bsu-ly-tab-container [config]=\"item\"></bsu-ly-tab-container> -->\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.LayoutPanel'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LyLayoutPanelComponent', selector: 'bsu-ly-layout-panel' }\n \"\n ></ng-container>\n <!-- <bsu-ly-layout-panel [config]=\"item\"></bsu-ly-layout-panel> -->\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.LayoutContainer'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n name: 'LyLayoutContainerComponent',\n selector: 'bsu-ly-layout-container'\n }\n \"\n ></ng-container>\n <!-- <bsu-ly-layout-container [config]=\"item\"></bsu-ly-layout-container> -->\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.EmptySpace'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LyEmptySpaceComponent', selector: 'bsu-ly-empty-space' }\n \"\n ></ng-container>\n <!-- <bsu-ly-empty-space [config]=\"item\"></bsu-ly-empty-space> -->\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.SimpleLabel'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LySimpleLabelComponent', selector: 'bsu-ly-simple-label' }\n \"\n ></ng-container>\n <!-- <bsu-ly-simple-label [config]=\"item\"></bsu-ly-simple-label> -->\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.LayoutLine'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LyLineComponent', selector: 'bsu-ly-line' }\n \"\n ></ng-container>\n <!-- <bsu-ly-line [isVertical]=\"item.IsVertical\"></bsu-ly-line> -->\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.LayoutJoin'\">\n <ng-container *ngIf=\"item.Type === 'HorizontalJoin'; else verticalJoin\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-ly-horizontal-layout',\n name: 'LyLayoutHorizontalComponent'\n }\n \"\n ></ng-container>\n <!-- <bsu-ly-horizontal-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-horizontal-layout> -->\n </ng-container>\n <ng-template #verticalJoin>\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-ly-vertical-layout',\n name: 'LyLayoutVerticalComponent'\n }\n \"\n ></ng-container>\n <!-- <bsu-ly-vertical-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-vertical-layout> -->\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.LayoutControl'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-layout-control',\n name: 'LayoutControlComponent'\n }\n \"\n ></ng-container>\n <!-- <bsu-layout-control [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-layout-control> -->\n </ng-container>\n </ng-container>\n</ng-container>\n<ng-template #dynamicLayout let-config let-selector=\"selector\" let-name=\"name\">\n\n <bnrc-dynamic-layout\n [config]=\"config\"\n [selector]=\"selector\"\n [name]=\"name\"\n [module]=\"'BarsaSapUi'\"\n [moduleFileName]=\"'BarsaSapUi'\"\n [maxLabelWidth]=\"maxLabelWidth\"\n >\n </bnrc-dynamic-layout>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i1.DynamicLayoutComponent, selector: "bnrc-dynamic-layout", inputs: ["selector", "module", "name", "parameters", "moduleFileName", "flex", "config", "maxLabelWidth", "hasHorizontalText", "isSearchPanel"] }, { kind: "pipe", type: i1.FilterToolbarControlPipe, name: "filterToolbarControl" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
28
+ LyVerticalLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: LyVerticalLayoutComponent, selector: "bsu-ly-vertical-layout", inputs: { maxLabelWidth: "maxLabelWidth" }, host: { properties: { "style.flex": "this.flex", "style.flex-direction": "this.flexDirection", "style.flex-wrap": "this.flexWrap" } }, viewQueries: [{ propertyName: "viewRef", first: true, predicate: ["viewRefTemplate"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngFor=\"let item of config | filterToolbarControl\">\n <ng-container [ngSwitch]=\"item.xtype\">\n <ng-container *ngSwitchCase=\"'Ly.LayoutTabPanel'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LyLayoutPanelComponent', selector: 'bsu-ly-tab-container' }\n \"\n ></ng-container>\n <!-- <bsu-ly-tab-container [config]=\"item\"></bsu-ly-tab-container> -->\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.LayoutPanel'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LyLayoutPanelComponent', selector: 'bsu-ly-layout-panel' }\n \"\n ></ng-container>\n <!-- <bsu-ly-layout-panel [config]=\"item\"></bsu-ly-layout-panel> -->\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.LayoutContainer'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n name: 'LyLayoutContainerComponent',\n selector: 'bsu-ly-layout-container'\n }\n \"\n ></ng-container>\n <!-- <bsu-ly-layout-container [config]=\"item\"></bsu-ly-layout-container> -->\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.EmptySpace'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LyEmptySpaceComponent', selector: 'bsu-ly-empty-space' }\n \"\n ></ng-container>\n <!-- <bsu-ly-empty-space [config]=\"item\"></bsu-ly-empty-space> -->\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.SimpleLabel'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LySimpleLabelComponent', selector: 'bsu-ly-simple-label' }\n \"\n ></ng-container>\n <!-- <bsu-ly-simple-label [config]=\"item\"></bsu-ly-simple-label> -->\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.LayoutLine'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LyLineComponent', selector: 'bsu-ly-line' }\n \"\n ></ng-container>\n <!-- <bsu-ly-line [isVertical]=\"item.IsVertical\"></bsu-ly-line> -->\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.LayoutJoin'\">\n <ng-container *ngIf=\"item.Type === 'HorizontalJoin'; else verticalJoin\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-ly-horizontal-layout',\n name: 'LyLayoutHorizontalComponent'\n }\n \"\n ></ng-container>\n <!-- <bsu-ly-horizontal-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-horizontal-layout> -->\n </ng-container>\n <ng-template #verticalJoin>\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-ly-vertical-layout',\n name: 'LyLayoutVerticalComponent'\n }\n \"\n ></ng-container>\n <!-- <bsu-ly-vertical-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-vertical-layout> -->\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.LayoutControl'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-layout-control',\n name: 'LayoutControlComponent'\n }\n \"\n ></ng-container>\n <!-- <bsu-layout-control [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-layout-control> -->\n </ng-container>\n </ng-container>\n</ng-container>\n<ng-template #dynamicLayout let-config let-selector=\"selector\" let-name=\"name\">\n <bnrc-dynamic-layout\n [config]=\"config\"\n [selector]=\"selector\"\n [name]=\"name\"\n [module]=\"'BarsaSapUi'\"\n [moduleFileName]=\"'BarsaSapUi'\"\n [maxLabelWidth]=\"maxLabelWidth\"\n >\n </bnrc-dynamic-layout>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i1.DynamicLayoutComponent, selector: "bnrc-dynamic-layout", inputs: ["selector", "module", "name", "parameters", "moduleFileName", "flex", "config", "maxLabelWidth", "hasHorizontalText", "isSearchPanel"] }, { kind: "pipe", type: i1.FilterToolbarControlPipe, name: "filterToolbarControl" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
29
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: LyVerticalLayoutComponent, decorators: [{
30
30
  type: Component,
31
- args: [{ selector: 'bsu-ly-vertical-layout', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngFor=\"let item of config | filterToolbarControl\">\n <ng-container [ngSwitch]=\"item.xtype\">\n <ng-container *ngSwitchCase=\"'Ly.LayoutTabPanel'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LyLayoutPanelComponent', selector: 'bsu-ly-tab-container' }\n \"\n ></ng-container>\n <!-- <bsu-ly-tab-container [config]=\"item\"></bsu-ly-tab-container> -->\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.LayoutPanel'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LyLayoutPanelComponent', selector: 'bsu-ly-layout-panel' }\n \"\n ></ng-container>\n <!-- <bsu-ly-layout-panel [config]=\"item\"></bsu-ly-layout-panel> -->\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.LayoutContainer'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n name: 'LyLayoutContainerComponent',\n selector: 'bsu-ly-layout-container'\n }\n \"\n ></ng-container>\n <!-- <bsu-ly-layout-container [config]=\"item\"></bsu-ly-layout-container> -->\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.EmptySpace'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LyEmptySpaceComponent', selector: 'bsu-ly-empty-space' }\n \"\n ></ng-container>\n <!-- <bsu-ly-empty-space [config]=\"item\"></bsu-ly-empty-space> -->\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.SimpleLabel'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LySimpleLabelComponent', selector: 'bsu-ly-simple-label' }\n \"\n ></ng-container>\n <!-- <bsu-ly-simple-label [config]=\"item\"></bsu-ly-simple-label> -->\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.LayoutLine'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LyLineComponent', selector: 'bsu-ly-line' }\n \"\n ></ng-container>\n <!-- <bsu-ly-line [isVertical]=\"item.IsVertical\"></bsu-ly-line> -->\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.LayoutJoin'\">\n <ng-container *ngIf=\"item.Type === 'HorizontalJoin'; else verticalJoin\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-ly-horizontal-layout',\n name: 'LyLayoutHorizontalComponent'\n }\n \"\n ></ng-container>\n <!-- <bsu-ly-horizontal-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-horizontal-layout> -->\n </ng-container>\n <ng-template #verticalJoin>\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-ly-vertical-layout',\n name: 'LyLayoutVerticalComponent'\n }\n \"\n ></ng-container>\n <!-- <bsu-ly-vertical-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-vertical-layout> -->\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.LayoutControl'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-layout-control',\n name: 'LayoutControlComponent'\n }\n \"\n ></ng-container>\n <!-- <bsu-layout-control [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-layout-control> -->\n </ng-container>\n </ng-container>\n</ng-container>\n<ng-template #dynamicLayout let-config let-selector=\"selector\" let-name=\"name\">\n\n <bnrc-dynamic-layout\n [config]=\"config\"\n [selector]=\"selector\"\n [name]=\"name\"\n [module]=\"'BarsaSapUi'\"\n [moduleFileName]=\"'BarsaSapUi'\"\n [maxLabelWidth]=\"maxLabelWidth\"\n >\n </bnrc-dynamic-layout>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column}\n"] }]
31
+ args: [{ selector: 'bsu-ly-vertical-layout', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngFor=\"let item of config | filterToolbarControl\">\n <ng-container [ngSwitch]=\"item.xtype\">\n <ng-container *ngSwitchCase=\"'Ly.LayoutTabPanel'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LyLayoutPanelComponent', selector: 'bsu-ly-tab-container' }\n \"\n ></ng-container>\n <!-- <bsu-ly-tab-container [config]=\"item\"></bsu-ly-tab-container> -->\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.LayoutPanel'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LyLayoutPanelComponent', selector: 'bsu-ly-layout-panel' }\n \"\n ></ng-container>\n <!-- <bsu-ly-layout-panel [config]=\"item\"></bsu-ly-layout-panel> -->\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.LayoutContainer'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n name: 'LyLayoutContainerComponent',\n selector: 'bsu-ly-layout-container'\n }\n \"\n ></ng-container>\n <!-- <bsu-ly-layout-container [config]=\"item\"></bsu-ly-layout-container> -->\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.EmptySpace'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LyEmptySpaceComponent', selector: 'bsu-ly-empty-space' }\n \"\n ></ng-container>\n <!-- <bsu-ly-empty-space [config]=\"item\"></bsu-ly-empty-space> -->\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.SimpleLabel'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LySimpleLabelComponent', selector: 'bsu-ly-simple-label' }\n \"\n ></ng-container>\n <!-- <bsu-ly-simple-label [config]=\"item\"></bsu-ly-simple-label> -->\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.LayoutLine'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: { $implicit: item, name: 'LyLineComponent', selector: 'bsu-ly-line' }\n \"\n ></ng-container>\n <!-- <bsu-ly-line [isVertical]=\"item.IsVertical\"></bsu-ly-line> -->\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.LayoutJoin'\">\n <ng-container *ngIf=\"item.Type === 'HorizontalJoin'; else verticalJoin\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-ly-horizontal-layout',\n name: 'LyLayoutHorizontalComponent'\n }\n \"\n ></ng-container>\n <!-- <bsu-ly-horizontal-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-horizontal-layout> -->\n </ng-container>\n <ng-template #verticalJoin>\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-ly-vertical-layout',\n name: 'LyLayoutVerticalComponent'\n }\n \"\n ></ng-container>\n <!-- <bsu-ly-vertical-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-vertical-layout> -->\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Ly.LayoutControl'\">\n <ng-container\n *ngTemplateOutlet=\"\n dynamicLayout;\n context: {\n $implicit: item,\n selector: 'bsu-layout-control',\n name: 'LayoutControlComponent'\n }\n \"\n ></ng-container>\n <!-- <bsu-layout-control [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-layout-control> -->\n </ng-container>\n </ng-container>\n</ng-container>\n<ng-template #dynamicLayout let-config let-selector=\"selector\" let-name=\"name\">\n <bnrc-dynamic-layout\n [config]=\"config\"\n [selector]=\"selector\"\n [name]=\"name\"\n [module]=\"'BarsaSapUi'\"\n [moduleFileName]=\"'BarsaSapUi'\"\n [maxLabelWidth]=\"maxLabelWidth\"\n >\n </bnrc-dynamic-layout>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column}\n"] }]
32
32
  }], ctorParameters: function () { return [{ type: i1.FormPanelService }, { type: i1.LayoutService, decorators: [{
33
33
  type: SkipSelf
34
34
  }] }]; }, propDecorators: { flex: [{
@@ -46,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
46
46
  type: ViewChild,
47
47
  args: ['viewRefTemplate', { read: ViewContainerRef, static: true }]
48
48
  }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHktdmVydGljYWwtbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2x5LXZlcnRpY2FsLWxheW91dC9seS12ZXJ0aWNhbC1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvbHktdmVydGljYWwtbGF5b3V0L2x5LXZlcnRpY2FsLWxheW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUVMLFFBQVEsRUFDUixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ25CLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSx1QkFBdUIsRUFBbUMsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQVFoRyxNQUFNLE9BQU8seUJBQTBCLFNBQVEsdUJBQXVCO0lBUWxFLFlBQXNCLGdCQUFrQyxFQUFzQixhQUE0QjtRQUN0RyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUROLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFBc0Isa0JBQWEsR0FBYixhQUFhLENBQWU7UUFOckUsa0JBQWEsR0FBRyxRQUFRLENBQUM7UUFRMUQseUdBQXlHO1FBQ3pHLGtDQUFrQztRQUNsQyw4QkFBOEI7UUFDOUIsSUFBSTtRQUVKLGFBQWEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxlQUFlO1FBQ1gsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7O3NIQXpCUSx5QkFBeUI7MEdBQXpCLHlCQUF5Qix3VUFLSSxnQkFBZ0Isa0VDekIxRCx1aEtBbUhBOzJGRC9GYSx5QkFBeUI7a0JBTnJDLFNBQVM7K0JBQ0ksd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNOzswQkFVWSxRQUFROzRDQVB4QyxJQUFJO3NCQUE5QixXQUFXO3VCQUFDLFlBQVk7Z0JBQ1ksYUFBYTtzQkFBakQsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBQ0gsUUFBUTtzQkFBdkMsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBQ3JCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ2tFLE9BQU87c0JBQTlFLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIFNraXBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBMYXlvdXRJdGVtQmFzZUNvbXBvbmVudCwgTGF5b3V0U2VydmljZSwgRm9ybVBhbmVsU2VydmljZSB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdic3UtbHktdmVydGljYWwtbGF5b3V0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbHktdmVydGljYWwtbGF5b3V0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9seS12ZXJ0aWNhbC1sYXlvdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBMeVZlcnRpY2FsTGF5b3V0Q29tcG9uZW50IGV4dGVuZHMgTGF5b3V0SXRlbUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUuZmxleCcpIGZsZXg7XG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5mbGV4LWRpcmVjdGlvbicpIGZsZXhEaXJlY3Rpb24gPSAnY29sdW1uJztcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmZsZXgtd3JhcCcpIGZsZXhXcmFwO1xuICAgIEBJbnB1dCgpIG1heExhYmVsV2lkdGg6IG51bWJlcjtcbiAgICBAVmlld0NoaWxkKCd2aWV3UmVmVGVtcGxhdGUnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KSB2aWV3UmVmOiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gICAgc2VhcmNoUGFuZWxJc09iamVjdDogYm9vbGVhbjtcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZm9ybVBhbmVsU2VydmljZTogRm9ybVBhbmVsU2VydmljZSwgQFNraXBTZWxmKCkgcHJpdmF0ZSBsYXlvdXRTZXJ2aWNlOiBMYXlvdXRTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKGZvcm1QYW5lbFNlcnZpY2UpO1xuICAgICAgICAvLyBpZiAodGhpcy5pc1NlYXJjaFBhbmVsICYmICF0aGlzLnNlYXJjaFBhbmVsSXNPYmplY3QpIHsgLy8gY29tbWVudGVkIGJlY2F1c2UgaXQgc2hvdyBzZWFyY2ggcGFuZWwgZGlydHlcbiAgICAgICAgLy8gICAgIHRoaXMuZmxleERpcmVjdGlvbiA9ICdyb3cnO1xuICAgICAgICAvLyAgICAgdGhpcy5mbGV4V3JhcCA9ICd3cmFwJztcbiAgICAgICAgLy8gfVxuXG4gICAgICAgIGxheW91dFNlcnZpY2UuYWRkSG9yaXpvbnRhbCh0aGlzLmlkKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5mbGV4ID0gdGhpcy5jb25maWcuQm91bmRzLndpZHRoO1xuICAgIH1cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2UucmVtb3ZlSG9yaXpvbnRhbCh0aGlzLmlkKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNvbmZpZyB8IGZpbHRlclRvb2xiYXJDb250cm9sXCI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiaXRlbS54dHlwZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInTHkuTGF5b3V0VGFiUGFuZWwnXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgICAgZHluYW1pY0xheW91dDtcbiAgICAgICAgICAgICAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0sIG5hbWU6ICdMeUxheW91dFBhbmVsQ29tcG9uZW50Jywgc2VsZWN0b3I6ICdic3UtbHktdGFiLWNvbnRhaW5lcicgfVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8IS0tIDxic3UtbHktdGFiLWNvbnRhaW5lciBbY29uZmlnXT1cIml0ZW1cIj48L2JzdS1seS10YWItY29udGFpbmVyPiAtLT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidMeS5MYXlvdXRQYW5lbCdcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICBkeW5hbWljTGF5b3V0O1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSwgbmFtZTogJ0x5TGF5b3V0UGFuZWxDb21wb25lbnQnLCBzZWxlY3RvcjogJ2JzdS1seS1sYXlvdXQtcGFuZWwnIH1cbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPCEtLSA8YnN1LWx5LWxheW91dC1wYW5lbCBbY29uZmlnXT1cIml0ZW1cIj48L2JzdS1seS1sYXlvdXQtcGFuZWw+IC0tPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ0x5LkxheW91dENvbnRhaW5lcidcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICBkeW5hbWljTGF5b3V0O1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGl0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnTHlMYXlvdXRDb250YWluZXJDb21wb25lbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3I6ICdic3UtbHktbGF5b3V0LWNvbnRhaW5lcidcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8IS0tIDxic3UtbHktbGF5b3V0LWNvbnRhaW5lciBbY29uZmlnXT1cIml0ZW1cIj48L2JzdS1seS1sYXlvdXQtY29udGFpbmVyPiAtLT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidMeS5FbXB0eVNwYWNlJ1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgICAgIGR5bmFtaWNMYXlvdXQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtLCBuYW1lOiAnTHlFbXB0eVNwYWNlQ29tcG9uZW50Jywgc2VsZWN0b3I6ICdic3UtbHktZW1wdHktc3BhY2UnIH1cbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPCEtLSA8YnN1LWx5LWVtcHR5LXNwYWNlIFtjb25maWddPVwiaXRlbVwiPjwvYnN1LWx5LWVtcHR5LXNwYWNlPiAtLT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidMeS5TaW1wbGVMYWJlbCdcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICBkeW5hbWljTGF5b3V0O1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSwgbmFtZTogJ0x5U2ltcGxlTGFiZWxDb21wb25lbnQnLCBzZWxlY3RvcjogJ2JzdS1seS1zaW1wbGUtbGFiZWwnIH1cbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPCEtLSA8YnN1LWx5LXNpbXBsZS1sYWJlbCBbY29uZmlnXT1cIml0ZW1cIj48L2JzdS1seS1zaW1wbGUtbGFiZWw+IC0tPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ0x5LkxheW91dExpbmUnXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgICAgZHluYW1pY0xheW91dDtcbiAgICAgICAgICAgICAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0sIG5hbWU6ICdMeUxpbmVDb21wb25lbnQnLCBzZWxlY3RvcjogJ2JzdS1seS1saW5lJyB9XG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwhLS0gPGJzdS1seS1saW5lIFtpc1ZlcnRpY2FsXT1cIml0ZW0uSXNWZXJ0aWNhbFwiPjwvYnN1LWx5LWxpbmU+IC0tPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ0x5LkxheW91dEpvaW4nXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5UeXBlID09PSAnSG9yaXpvbnRhbEpvaW4nOyBlbHNlIHZlcnRpY2FsSm9pblwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGR5bmFtaWNMYXlvdXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBpdGVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdG9yOiAnYnN1LWx5LWhvcml6b250YWwtbGF5b3V0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnTHlMYXlvdXRIb3Jpem9udGFsQ29tcG9uZW50J1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8IS0tIDxic3UtbHktaG9yaXpvbnRhbC1sYXlvdXQgW2NvbmZpZ109XCJpdGVtXCIgW21heExhYmVsV2lkdGhdPVwibWF4TGFiZWxXaWR0aFwiPjwvYnN1LWx5LWhvcml6b250YWwtbGF5b3V0PiAtLT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICN2ZXJ0aWNhbEpvaW4+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgZHluYW1pY0xheW91dDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGl0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3I6ICdic3UtbHktdmVydGljYWwtbGF5b3V0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnTHlMYXlvdXRWZXJ0aWNhbENvbXBvbmVudCdcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPCEtLSA8YnN1LWx5LXZlcnRpY2FsLWxheW91dCBbY29uZmlnXT1cIml0ZW1cIiBbbWF4TGFiZWxXaWR0aF09XCJtYXhMYWJlbFdpZHRoXCI+PC9ic3UtbHktdmVydGljYWwtbGF5b3V0PiAtLT5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInTHkuTGF5b3V0Q29udHJvbCdcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICBkeW5hbWljTGF5b3V0O1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGl0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RvcjogJ2JzdS1sYXlvdXQtY29udHJvbCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnTGF5b3V0Q29udHJvbENvbXBvbmVudCdcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8IS0tIDxic3UtbGF5b3V0LWNvbnRyb2wgW2NvbmZpZ109XCJpdGVtXCIgW21heExhYmVsV2lkdGhdPVwibWF4TGFiZWxXaWR0aFwiPjwvYnN1LWxheW91dC1jb250cm9sPiAtLT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbjxuZy10ZW1wbGF0ZSAjZHluYW1pY0xheW91dCBsZXQtY29uZmlnIGxldC1zZWxlY3Rvcj1cInNlbGVjdG9yXCIgbGV0LW5hbWU9XCJuYW1lXCI+XG5cbiAgICA8Ym5yYy1keW5hbWljLWxheW91dFxuICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gICAgICAgIFtzZWxlY3Rvcl09XCJzZWxlY3RvclwiXG4gICAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgICBbbW9kdWxlXT1cIidCYXJzYVNhcFVpJ1wiXG4gICAgICAgIFttb2R1bGVGaWxlTmFtZV09XCInQmFyc2FTYXBVaSdcIlxuICAgICAgICBbbWF4TGFiZWxXaWR0aF09XCJtYXhMYWJlbFdpZHRoXCJcbiAgICA+XG4gICAgPC9ibnJjLWR5bmFtaWMtbGF5b3V0PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHktdmVydGljYWwtbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2x5LXZlcnRpY2FsLWxheW91dC9seS12ZXJ0aWNhbC1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvbHktdmVydGljYWwtbGF5b3V0L2x5LXZlcnRpY2FsLWxheW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUVMLFFBQVEsRUFDUixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ25CLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSx1QkFBdUIsRUFBbUMsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQVFoRyxNQUFNLE9BQU8seUJBQTBCLFNBQVEsdUJBQXVCO0lBUWxFLFlBQXNCLGdCQUFrQyxFQUFzQixhQUE0QjtRQUN0RyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUROLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFBc0Isa0JBQWEsR0FBYixhQUFhLENBQWU7UUFOckUsa0JBQWEsR0FBRyxRQUFRLENBQUM7UUFRMUQseUdBQXlHO1FBQ3pHLGtDQUFrQztRQUNsQyw4QkFBOEI7UUFDOUIsSUFBSTtRQUVKLGFBQWEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxlQUFlO1FBQ1gsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7O3NIQXpCUSx5QkFBeUI7MEdBQXpCLHlCQUF5Qix3VUFLSSxnQkFBZ0Isa0VDekIxRCxxaEtBa0hBOzJGRDlGYSx5QkFBeUI7a0JBTnJDLFNBQVM7K0JBQ0ksd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNOzswQkFVWSxRQUFROzRDQVB4QyxJQUFJO3NCQUE5QixXQUFXO3VCQUFDLFlBQVk7Z0JBQ1ksYUFBYTtzQkFBakQsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBQ0gsUUFBUTtzQkFBdkMsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBQ3JCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ2tFLE9BQU87c0JBQTlFLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIFNraXBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBMYXlvdXRJdGVtQmFzZUNvbXBvbmVudCwgTGF5b3V0U2VydmljZSwgRm9ybVBhbmVsU2VydmljZSB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdic3UtbHktdmVydGljYWwtbGF5b3V0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbHktdmVydGljYWwtbGF5b3V0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9seS12ZXJ0aWNhbC1sYXlvdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBMeVZlcnRpY2FsTGF5b3V0Q29tcG9uZW50IGV4dGVuZHMgTGF5b3V0SXRlbUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUuZmxleCcpIGZsZXg7XG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5mbGV4LWRpcmVjdGlvbicpIGZsZXhEaXJlY3Rpb24gPSAnY29sdW1uJztcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmZsZXgtd3JhcCcpIGZsZXhXcmFwO1xuICAgIEBJbnB1dCgpIG1heExhYmVsV2lkdGg6IG51bWJlcjtcbiAgICBAVmlld0NoaWxkKCd2aWV3UmVmVGVtcGxhdGUnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KSB2aWV3UmVmOiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gICAgc2VhcmNoUGFuZWxJc09iamVjdDogYm9vbGVhbjtcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZm9ybVBhbmVsU2VydmljZTogRm9ybVBhbmVsU2VydmljZSwgQFNraXBTZWxmKCkgcHJpdmF0ZSBsYXlvdXRTZXJ2aWNlOiBMYXlvdXRTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKGZvcm1QYW5lbFNlcnZpY2UpO1xuICAgICAgICAvLyBpZiAodGhpcy5pc1NlYXJjaFBhbmVsICYmICF0aGlzLnNlYXJjaFBhbmVsSXNPYmplY3QpIHsgLy8gY29tbWVudGVkIGJlY2F1c2UgaXQgc2hvdyBzZWFyY2ggcGFuZWwgZGlydHlcbiAgICAgICAgLy8gICAgIHRoaXMuZmxleERpcmVjdGlvbiA9ICdyb3cnO1xuICAgICAgICAvLyAgICAgdGhpcy5mbGV4V3JhcCA9ICd3cmFwJztcbiAgICAgICAgLy8gfVxuXG4gICAgICAgIGxheW91dFNlcnZpY2UuYWRkSG9yaXpvbnRhbCh0aGlzLmlkKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5mbGV4ID0gdGhpcy5jb25maWcuQm91bmRzLndpZHRoO1xuICAgIH1cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2UucmVtb3ZlSG9yaXpvbnRhbCh0aGlzLmlkKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNvbmZpZyB8IGZpbHRlclRvb2xiYXJDb250cm9sXCI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiaXRlbS54dHlwZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInTHkuTGF5b3V0VGFiUGFuZWwnXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgICAgZHluYW1pY0xheW91dDtcbiAgICAgICAgICAgICAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0sIG5hbWU6ICdMeUxheW91dFBhbmVsQ29tcG9uZW50Jywgc2VsZWN0b3I6ICdic3UtbHktdGFiLWNvbnRhaW5lcicgfVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8IS0tIDxic3UtbHktdGFiLWNvbnRhaW5lciBbY29uZmlnXT1cIml0ZW1cIj48L2JzdS1seS10YWItY29udGFpbmVyPiAtLT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidMeS5MYXlvdXRQYW5lbCdcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICBkeW5hbWljTGF5b3V0O1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSwgbmFtZTogJ0x5TGF5b3V0UGFuZWxDb21wb25lbnQnLCBzZWxlY3RvcjogJ2JzdS1seS1sYXlvdXQtcGFuZWwnIH1cbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPCEtLSA8YnN1LWx5LWxheW91dC1wYW5lbCBbY29uZmlnXT1cIml0ZW1cIj48L2JzdS1seS1sYXlvdXQtcGFuZWw+IC0tPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ0x5LkxheW91dENvbnRhaW5lcidcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICBkeW5hbWljTGF5b3V0O1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGl0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnTHlMYXlvdXRDb250YWluZXJDb21wb25lbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3I6ICdic3UtbHktbGF5b3V0LWNvbnRhaW5lcidcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8IS0tIDxic3UtbHktbGF5b3V0LWNvbnRhaW5lciBbY29uZmlnXT1cIml0ZW1cIj48L2JzdS1seS1sYXlvdXQtY29udGFpbmVyPiAtLT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidMeS5FbXB0eVNwYWNlJ1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgICAgIGR5bmFtaWNMYXlvdXQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtLCBuYW1lOiAnTHlFbXB0eVNwYWNlQ29tcG9uZW50Jywgc2VsZWN0b3I6ICdic3UtbHktZW1wdHktc3BhY2UnIH1cbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPCEtLSA8YnN1LWx5LWVtcHR5LXNwYWNlIFtjb25maWddPVwiaXRlbVwiPjwvYnN1LWx5LWVtcHR5LXNwYWNlPiAtLT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidMeS5TaW1wbGVMYWJlbCdcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICBkeW5hbWljTGF5b3V0O1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSwgbmFtZTogJ0x5U2ltcGxlTGFiZWxDb21wb25lbnQnLCBzZWxlY3RvcjogJ2JzdS1seS1zaW1wbGUtbGFiZWwnIH1cbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPCEtLSA8YnN1LWx5LXNpbXBsZS1sYWJlbCBbY29uZmlnXT1cIml0ZW1cIj48L2JzdS1seS1zaW1wbGUtbGFiZWw+IC0tPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ0x5LkxheW91dExpbmUnXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgICAgZHluYW1pY0xheW91dDtcbiAgICAgICAgICAgICAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0sIG5hbWU6ICdMeUxpbmVDb21wb25lbnQnLCBzZWxlY3RvcjogJ2JzdS1seS1saW5lJyB9XG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwhLS0gPGJzdS1seS1saW5lIFtpc1ZlcnRpY2FsXT1cIml0ZW0uSXNWZXJ0aWNhbFwiPjwvYnN1LWx5LWxpbmU+IC0tPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ0x5LkxheW91dEpvaW4nXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5UeXBlID09PSAnSG9yaXpvbnRhbEpvaW4nOyBlbHNlIHZlcnRpY2FsSm9pblwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGR5bmFtaWNMYXlvdXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBpdGVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdG9yOiAnYnN1LWx5LWhvcml6b250YWwtbGF5b3V0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnTHlMYXlvdXRIb3Jpem9udGFsQ29tcG9uZW50J1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8IS0tIDxic3UtbHktaG9yaXpvbnRhbC1sYXlvdXQgW2NvbmZpZ109XCJpdGVtXCIgW21heExhYmVsV2lkdGhdPVwibWF4TGFiZWxXaWR0aFwiPjwvYnN1LWx5LWhvcml6b250YWwtbGF5b3V0PiAtLT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICN2ZXJ0aWNhbEpvaW4+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgZHluYW1pY0xheW91dDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGl0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3I6ICdic3UtbHktdmVydGljYWwtbGF5b3V0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnTHlMYXlvdXRWZXJ0aWNhbENvbXBvbmVudCdcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPCEtLSA8YnN1LWx5LXZlcnRpY2FsLWxheW91dCBbY29uZmlnXT1cIml0ZW1cIiBbbWF4TGFiZWxXaWR0aF09XCJtYXhMYWJlbFdpZHRoXCI+PC9ic3UtbHktdmVydGljYWwtbGF5b3V0PiAtLT5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInTHkuTGF5b3V0Q29udHJvbCdcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICBkeW5hbWljTGF5b3V0O1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGl0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RvcjogJ2JzdS1sYXlvdXQtY29udHJvbCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnTGF5b3V0Q29udHJvbENvbXBvbmVudCdcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8IS0tIDxic3UtbGF5b3V0LWNvbnRyb2wgW2NvbmZpZ109XCJpdGVtXCIgW21heExhYmVsV2lkdGhdPVwibWF4TGFiZWxXaWR0aFwiPjwvYnN1LWxheW91dC1jb250cm9sPiAtLT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbjxuZy10ZW1wbGF0ZSAjZHluYW1pY0xheW91dCBsZXQtY29uZmlnIGxldC1zZWxlY3Rvcj1cInNlbGVjdG9yXCIgbGV0LW5hbWU9XCJuYW1lXCI+XG4gICAgPGJucmMtZHluYW1pYy1sYXlvdXRcbiAgICAgICAgW2NvbmZpZ109XCJjb25maWdcIlxuICAgICAgICBbc2VsZWN0b3JdPVwic2VsZWN0b3JcIlxuICAgICAgICBbbmFtZV09XCJuYW1lXCJcbiAgICAgICAgW21vZHVsZV09XCInQmFyc2FTYXBVaSdcIlxuICAgICAgICBbbW9kdWxlRmlsZU5hbWVdPVwiJ0JhcnNhU2FwVWknXCJcbiAgICAgICAgW21heExhYmVsV2lkdGhdPVwibWF4TGFiZWxXaWR0aFwiXG4gICAgPlxuICAgIDwvYm5yYy1keW5hbWljLWxheW91dD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -10,10 +10,10 @@ export class MaskComponent extends BaseComponent {
10
10
  }
11
11
  }
12
12
  MaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: MaskComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
13
- MaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: MaskComponent, selector: "bsu-mask", inputs: { size: "size", marginTop: "marginTop" }, usesInheritance: true, ngImport: i0, template: "<!-- <ui5-busyindicator active size=\"Medium\" ></ui5-busyindicator> -->\n\n<fd-busy-indicator [style.margin-top]=\"marginTop ?? '20%'\" [loading]=\"true\" [size]=\"size\"></fd-busy-indicator>\n", styles: [":host{width:100%;height:100%;position:absolute;left:0;top:0;z-index:100;display:flex;align-items:start;justify-content:center;background-color:#cccccc6e}\n"], dependencies: [{ kind: "component", type: i1.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "title", "label", "ariaLive"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13
+ MaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: MaskComponent, selector: "bsu-mask", inputs: { size: "size", marginTop: "marginTop" }, usesInheritance: true, ngImport: i0, template: "<!-- <ui5-busyindicator active size=\"Medium\" ></ui5-busyindicator> -->\n\n<fd-busy-indicator [style.margin-top]=\"marginTop ?? '20%'\" [loading]=\"true\" [size]=\"size\"></fd-busy-indicator>\n", styles: [":host{width:100%;height:100%;position:absolute;left:0;top:0;z-index:100;display:flex;align-items:flex-start;justify-content:center;background-color:#cccccc6e}\n"], dependencies: [{ kind: "component", type: i1.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "title", "label", "ariaLive"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
14
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: MaskComponent, decorators: [{
15
15
  type: Component,
16
- args: [{ selector: 'bsu-mask', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- <ui5-busyindicator active size=\"Medium\" ></ui5-busyindicator> -->\n\n<fd-busy-indicator [style.margin-top]=\"marginTop ?? '20%'\" [loading]=\"true\" [size]=\"size\"></fd-busy-indicator>\n", styles: [":host{width:100%;height:100%;position:absolute;left:0;top:0;z-index:100;display:flex;align-items:start;justify-content:center;background-color:#cccccc6e}\n"] }]
16
+ args: [{ selector: 'bsu-mask', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- <ui5-busyindicator active size=\"Medium\" ></ui5-busyindicator> -->\n\n<fd-busy-indicator [style.margin-top]=\"marginTop ?? '20%'\" [loading]=\"true\" [size]=\"size\"></fd-busy-indicator>\n", styles: [":host{width:100%;height:100%;position:absolute;left:0;top:0;z-index:100;display:flex;align-items:flex-start;justify-content:center;background-color:#cccccc6e}\n"] }]
17
17
  }], propDecorators: { size: [{
18
18
  type: Input
19
19
  }], marginTop: [{
@@ -1,5 +1,5 @@
1
1
  import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { BaseComponent } from 'dist/barsa-novin-ray-core';
2
+ import { BaseComponent } from 'barsa-novin-ray-core';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@fundamental-ngx/core/illustrated-message";
5
5
  import * as i2 from "barsa-novin-ray-core";
@@ -17,4 +17,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
17
17
  type: Component,
18
18
  args: [{ selector: 'bsu-no-data', changeDetection: ChangeDetectionStrategy.OnPush, template: "<tr style=\"text-align: center\">\n <td colspan=\"75%\" style=\"padding: 10px\">\n <!-- <span>{{ 'NoData' | bbbTranslate }}</span> -->\n <figure fd-illustrated-message [svgConfig]=\"sceneConfig\">\n <figcaption fd-illustrated-message-figcaption>\n <h3 fd-illustrated-message-title>{{ 'NoData' | bbbTranslate }}</h3>\n <p fd-illustrated-message-text>{{ 'NoDataAtThisTime' | bbbTranslate }}</p>\n </figcaption>\n <!-- <fd-illustrated-message-actions>\n <button fd-button label=\"Action One\"></button>\n <button fd-button label=\"Action Two\"></button>\n </fd-illustrated-message-actions> -->\n </figure>\n </td>\n</tr>\n", styles: [":host{width:100%;display:flex;justify-content:center}figure{max-height:200px}\n"] }]
19
19
  }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tZGF0YS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9uby1kYXRhL25vLWRhdGEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvbm8tZGF0YS9uby1kYXRhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7O0FBUTFELE1BQU0sT0FBTyxlQUFnQixTQUFRLGFBQWE7SUFObEQ7O1FBT0ksZ0JBQVcsR0FBYztZQUNyQixLQUFLLEVBQUUsRUFBRSxHQUFHLEVBQUUsMEJBQTBCLEVBQUUsRUFBRSxFQUFFLHlCQUF5QixFQUFFO1NBQzVFLENBQUM7S0FDTDs7NEdBSlksZUFBZTtnR0FBZixlQUFlLDBFQ1g1QixndkJBZUE7MkZESmEsZUFBZTtrQkFOM0IsU0FBUzsrQkFDSSxhQUFhLG1CQUdOLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdmdDb25maWcgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xuXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnZGlzdC9iYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnN1LW5vLWRhdGEnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uby1kYXRhLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9uby1kYXRhLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTm9EYXRhQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gICAgc2NlbmVDb25maWc6IFN2Z0NvbmZpZyA9IHtcbiAgICAgICAgc2NlbmU6IHsgdXJsOiAnYXNzZXRzL3N2Zy9lbXB0eS1ib3guc3ZnJywgaWQ6ICdzYXBJbGx1cy1TY2VuZS1Ob01haWwtMScgfVxuICAgIH07XG59XG4iLCI8dHIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXJcIj5cbiAgICA8dGQgY29sc3Bhbj1cIjc1JVwiIHN0eWxlPVwicGFkZGluZzogMTBweFwiPlxuICAgICAgICA8IS0tIDxzcGFuPnt7ICdOb0RhdGEnIHwgYmJiVHJhbnNsYXRlIH19PC9zcGFuPiAtLT5cbiAgICAgICAgPGZpZ3VyZSBmZC1pbGx1c3RyYXRlZC1tZXNzYWdlIFtzdmdDb25maWddPVwic2NlbmVDb25maWdcIj5cbiAgICAgICAgICAgIDxmaWdjYXB0aW9uIGZkLWlsbHVzdHJhdGVkLW1lc3NhZ2UtZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgICA8aDMgZmQtaWxsdXN0cmF0ZWQtbWVzc2FnZS10aXRsZT57eyAnTm9EYXRhJyB8IGJiYlRyYW5zbGF0ZSB9fTwvaDM+XG4gICAgICAgICAgICAgICAgPHAgZmQtaWxsdXN0cmF0ZWQtbWVzc2FnZS10ZXh0Pnt7ICdOb0RhdGFBdFRoaXNUaW1lJyB8IGJiYlRyYW5zbGF0ZSB9fTwvcD5cbiAgICAgICAgICAgIDwvZmlnY2FwdGlvbj5cbiAgICAgICAgICAgIDwhLS0gPGZkLWlsbHVzdHJhdGVkLW1lc3NhZ2UtYWN0aW9ucz5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIGZkLWJ1dHRvbiBsYWJlbD1cIkFjdGlvbiBPbmVcIj48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIGZkLWJ1dHRvbiBsYWJlbD1cIkFjdGlvbiBUd29cIj48L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZmQtaWxsdXN0cmF0ZWQtbWVzc2FnZS1hY3Rpb25zPiAtLT5cbiAgICAgICAgPC9maWd1cmU+XG4gICAgPC90ZD5cbjwvdHI+XG4iXX0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tZGF0YS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9uby1kYXRhL25vLWRhdGEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvbm8tZGF0YS9uby1kYXRhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7O0FBUXJELE1BQU0sT0FBTyxlQUFnQixTQUFRLGFBQWE7SUFObEQ7O1FBT0ksZ0JBQVcsR0FBYztZQUNyQixLQUFLLEVBQUUsRUFBRSxHQUFHLEVBQUUsMEJBQTBCLEVBQUUsRUFBRSxFQUFFLHlCQUF5QixFQUFFO1NBQzVFLENBQUM7S0FDTDs7NEdBSlksZUFBZTtnR0FBZixlQUFlLDBFQ1g1QixndkJBZUE7MkZESmEsZUFBZTtrQkFOM0IsU0FBUzsrQkFDSSxhQUFhLG1CQUdOLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdmdDb25maWcgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xuXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JzdS1uby1kYXRhJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbm8tZGF0YS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbm8tZGF0YS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE5vRGF0YUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICAgIHNjZW5lQ29uZmlnOiBTdmdDb25maWcgPSB7XG4gICAgICAgIHNjZW5lOiB7IHVybDogJ2Fzc2V0cy9zdmcvZW1wdHktYm94LnN2ZycsIGlkOiAnc2FwSWxsdXMtU2NlbmUtTm9NYWlsLTEnIH1cbiAgICB9O1xufVxuIiwiPHRyIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+XG4gICAgPHRkIGNvbHNwYW49XCI3NSVcIiBzdHlsZT1cInBhZGRpbmc6IDEwcHhcIj5cbiAgICAgICAgPCEtLSA8c3Bhbj57eyAnTm9EYXRhJyB8IGJiYlRyYW5zbGF0ZSB9fTwvc3Bhbj4gLS0+XG4gICAgICAgIDxmaWd1cmUgZmQtaWxsdXN0cmF0ZWQtbWVzc2FnZSBbc3ZnQ29uZmlnXT1cInNjZW5lQ29uZmlnXCI+XG4gICAgICAgICAgICA8ZmlnY2FwdGlvbiBmZC1pbGx1c3RyYXRlZC1tZXNzYWdlLWZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgPGgzIGZkLWlsbHVzdHJhdGVkLW1lc3NhZ2UtdGl0bGU+e3sgJ05vRGF0YScgfCBiYmJUcmFuc2xhdGUgfX08L2gzPlxuICAgICAgICAgICAgICAgIDxwIGZkLWlsbHVzdHJhdGVkLW1lc3NhZ2UtdGV4dD57eyAnTm9EYXRhQXRUaGlzVGltZScgfCBiYmJUcmFuc2xhdGUgfX08L3A+XG4gICAgICAgICAgICA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICA8IS0tIDxmZC1pbGx1c3RyYXRlZC1tZXNzYWdlLWFjdGlvbnM+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBmZC1idXR0b24gbGFiZWw9XCJBY3Rpb24gT25lXCI+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBmZC1idXR0b24gbGFiZWw9XCJBY3Rpb24gVHdvXCI+PC9idXR0b24+XG4gICAgICAgICAgICA8L2ZkLWlsbHVzdHJhdGVkLW1lc3NhZ2UtYWN0aW9ucz4gLS0+XG4gICAgICAgIDwvZmlndXJlPlxuICAgIDwvdGQ+XG48L3RyPlxuIl19
@@ -46,10 +46,10 @@ export class ReportNewTopFormComponent extends BaseViewItemPropsComponent {
46
46
  }
47
47
  }
48
48
  ReportNewTopFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ReportNewTopFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
49
- ReportNewTopFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: ReportNewTopFormComponent, selector: "bsu-report-new-top-form", inputs: { selectedMo: "selectedMo" }, outputs: { add: "add", save: "save" }, providers: [FormPanelService], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<bsu-ly-layout-container-of-root\n *ngIf=\"layout$ | async as layout94\"\n [config]=\"layout94\"\n [isPanel]=\"false\"\n [isRoot]=\"true\"\n></bsu-ly-layout-container-of-root>\n<div>\n <button\n fd-button\n [disabled]=\"!!selectedMo\"\n [fdType]=\"'standard'\"\n [label]=\"'New' | bbbTranslate\"\n [glyph]=\"'pull-down'\"\n (click)=\"onAdd()\"\n ></button>\n <button\n fd-button\n (click)=\"onSave()\"\n [disabled]=\"!selectedMo\"\n [fdType]=\"'standard'\"\n [label]=\"'Save' | bbbTranslate\"\n [glyph]=\"'save'\"\n ></button>\n</div>\n", styles: [":host{display:flex;flex-direction:column;align-items:end}button{margin:.3rem 5px .5rem;max-width:170px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i3.LyLayoutContainerOfRootComponent, selector: "bsu-ly-layout-container-of-root" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
49
+ ReportNewTopFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: ReportNewTopFormComponent, selector: "bsu-report-new-top-form", inputs: { selectedMo: "selectedMo" }, outputs: { add: "add", save: "save" }, providers: [FormPanelService], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<bsu-ly-layout-container-of-root\n *ngIf=\"layout$ | async as layout94\"\n [config]=\"layout94\"\n [isPanel]=\"false\"\n [isRoot]=\"true\"\n></bsu-ly-layout-container-of-root>\n<div>\n <button\n fd-button\n [disabled]=\"!!selectedMo\"\n [fdType]=\"'standard'\"\n [label]=\"'New' | bbbTranslate\"\n [glyph]=\"'pull-down'\"\n (click)=\"onAdd()\"\n ></button>\n <button\n fd-button\n (click)=\"onSave()\"\n [disabled]=\"!selectedMo\"\n [fdType]=\"'standard'\"\n [label]=\"'Save' | bbbTranslate\"\n [glyph]=\"'save'\"\n ></button>\n</div>\n", styles: [":host{display:flex;flex-direction:column;align-items:flex-end}button{margin:.3rem 5px .5rem;max-width:170px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i3.LyLayoutContainerOfRootComponent, selector: "bsu-ly-layout-container-of-root" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
50
50
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ReportNewTopFormComponent, decorators: [{
51
51
  type: Component,
52
- args: [{ selector: 'bsu-report-new-top-form', changeDetection: ChangeDetectionStrategy.OnPush, providers: [FormPanelService], template: "<bsu-ly-layout-container-of-root\n *ngIf=\"layout$ | async as layout94\"\n [config]=\"layout94\"\n [isPanel]=\"false\"\n [isRoot]=\"true\"\n></bsu-ly-layout-container-of-root>\n<div>\n <button\n fd-button\n [disabled]=\"!!selectedMo\"\n [fdType]=\"'standard'\"\n [label]=\"'New' | bbbTranslate\"\n [glyph]=\"'pull-down'\"\n (click)=\"onAdd()\"\n ></button>\n <button\n fd-button\n (click)=\"onSave()\"\n [disabled]=\"!selectedMo\"\n [fdType]=\"'standard'\"\n [label]=\"'Save' | bbbTranslate\"\n [glyph]=\"'save'\"\n ></button>\n</div>\n", styles: [":host{display:flex;flex-direction:column;align-items:end}button{margin:.3rem 5px .5rem;max-width:170px}\n"] }]
52
+ args: [{ selector: 'bsu-report-new-top-form', changeDetection: ChangeDetectionStrategy.OnPush, providers: [FormPanelService], template: "<bsu-ly-layout-container-of-root\n *ngIf=\"layout$ | async as layout94\"\n [config]=\"layout94\"\n [isPanel]=\"false\"\n [isRoot]=\"true\"\n></bsu-ly-layout-container-of-root>\n<div>\n <button\n fd-button\n [disabled]=\"!!selectedMo\"\n [fdType]=\"'standard'\"\n [label]=\"'New' | bbbTranslate\"\n [glyph]=\"'pull-down'\"\n (click)=\"onAdd()\"\n ></button>\n <button\n fd-button\n (click)=\"onSave()\"\n [disabled]=\"!selectedMo\"\n [fdType]=\"'standard'\"\n [label]=\"'Save' | bbbTranslate\"\n [glyph]=\"'save'\"\n ></button>\n</div>\n", styles: [":host{display:flex;flex-direction:column;align-items:flex-end}button{margin:.3rem 5px .5rem;max-width:170px}\n"] }]
53
53
  }], propDecorators: { selectedMo: [{
54
54
  type: Input
55
55
  }], add: [{
@@ -11,4 +11,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
11
11
  type: Component,
12
12
  args: [{ selector: 'bsu-ui-asp-report-viewer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *untilInView=\"el\">\n <bsu-barsa-asp-viewer\n [context]=\"context\"\n [style.min-height.px]=\"parentHeight\"\n [parentHeight]=\"parentHeight\"\n ></bsu-barsa-asp-viewer>\n</ng-container>\n", styles: [":host{display:block;width:100%;height:100%}\n"] }]
13
13
  }] });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYXNwLXJlcG9ydC12aWV3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktYXNwLXJlcG9ydC12aWV3ZXIvdWktYXNwLXJlcG9ydC12aWV3ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktYXNwLXJlcG9ydC12aWV3ZXIvdWktYXNwLXJlcG9ydC12aWV3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7OztBQVEzRSxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsd0JBQWlEOzt1SEFBcEYsMEJBQTBCOzJHQUExQiwwQkFBMEIsdUZDWHZDLHdPQU9BOzJGRElhLDBCQUEwQjtrQkFOdEMsU0FBUzsrQkFDSSwwQkFBMEIsbUJBR25CLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nIH0gZnJvbSAnZGlzdC9iYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5pbXBvcnQgeyBTYXBVaVJlcG9ydEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9zYXAtdWktcmVwb3J0LWJhc2UuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdic3UtdWktYXNwLXJlcG9ydC12aWV3ZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi91aS1hc3AtcmVwb3J0LXZpZXdlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktYXNwLXJlcG9ydC12aWV3ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBVaUFzcFJlcG9ydFZpZXdlckNvbXBvbmVudCBleHRlbmRzIFNhcFVpUmVwb3J0QmFzZUNvbXBvbmVudDxVaVJlcG9ydFZpZXdCYXNlU2V0dGluZz4ge31cbiIsIjxuZy1jb250YWluZXIgKnVudGlsSW5WaWV3PVwiZWxcIj5cbiAgICA8YnN1LWJhcnNhLWFzcC12aWV3ZXJcbiAgICAgICAgW2NvbnRleHRdPVwiY29udGV4dFwiXG4gICAgICAgIFtzdHlsZS5taW4taGVpZ2h0LnB4XT1cInBhcmVudEhlaWdodFwiXG4gICAgICAgIFtwYXJlbnRIZWlnaHRdPVwicGFyZW50SGVpZ2h0XCJcbiAgICA+PC9ic3UtYmFyc2EtYXNwLXZpZXdlcj5cbjwvbmctY29udGFpbmVyPlxuIl19
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYXNwLXJlcG9ydC12aWV3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktYXNwLXJlcG9ydC12aWV3ZXIvdWktYXNwLXJlcG9ydC12aWV3ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktYXNwLXJlcG9ydC12aWV3ZXIvdWktYXNwLXJlcG9ydC12aWV3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7OztBQVEzRSxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsd0JBQWlEOzt1SEFBcEYsMEJBQTBCOzJHQUExQiwwQkFBMEIsdUZDWHZDLHdPQU9BOzJGRElhLDBCQUEwQjtrQkFOdEMsU0FBUzsrQkFDSSwwQkFBMEIsbUJBR25CLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuaW1wb3J0IHsgU2FwVWlSZXBvcnRCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vc2FwLXVpLXJlcG9ydC1iYXNlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnN1LXVpLWFzcC1yZXBvcnQtdmlld2VyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktYXNwLXJlcG9ydC12aWV3ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3VpLWFzcC1yZXBvcnQtdmlld2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVWlBc3BSZXBvcnRWaWV3ZXJDb21wb25lbnQgZXh0ZW5kcyBTYXBVaVJlcG9ydEJhc2VDb21wb25lbnQ8VWlSZXBvcnRWaWV3QmFzZVNldHRpbmc+IHt9XG4iLCI8bmctY29udGFpbmVyICp1bnRpbEluVmlldz1cImVsXCI+XG4gICAgPGJzdS1iYXJzYS1hc3Atdmlld2VyXG4gICAgICAgIFtjb250ZXh0XT1cImNvbnRleHRcIlxuICAgICAgICBbc3R5bGUubWluLWhlaWdodC5weF09XCJwYXJlbnRIZWlnaHRcIlxuICAgICAgICBbcGFyZW50SGVpZ2h0XT1cInBhcmVudEhlaWdodFwiXG4gICAgPjwvYnN1LWJhcnNhLWFzcC12aWV3ZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -42,9 +42,9 @@ export class UiColorUiComponent extends FieldBaseComponent {
42
42
  }
43
43
  }
44
44
  UiColorUiComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: UiColorUiComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
45
- UiColorUiComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: UiColorUiComponent, selector: "bsu-ui-color-ui", usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"readonly$ | async; else editable\" class=\"read-only\">\r\n <div [style.background-color]=\"value\"></div>\r\n <span>{{ value }}</span>\r\n <button\r\n fd-button\r\n [cdkCopyToClipboard]=\"value\"\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"'copy'\"\r\n aria-label=\"copy\"\r\n title=\"copy\"\r\n ></button>\r\n</div>\r\n\r\n<ng-template #editable>\r\n <fd-popover #popover>\r\n <fd-popover-control>\r\n <button [style.background-color]=\"value\" fd-button></button>\r\n </fd-popover-control>\r\n\r\n <fd-popover-body>\r\n <color-chrome\r\n *ngIf=\"!isVisibleSwatches\"\r\n [color]=\"value\"\r\n className=\"color-box\"\r\n (colorChange)=\"onColorChang($event)\"\r\n ></color-chrome>\r\n <color-swatches\r\n *ngIf=\"isVisibleSwatches\"\r\n [color]=\"value\"\r\n (colorChange)=\"onColorChang($event)\"\r\n ></color-swatches>\r\n <fd-toolbar style=\"background-color: white\">\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n (click)=\"onCancel(popover)\"\r\n [compact]=\"true\"\r\n ></button>\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [label]=\"'Ok' | bbbTranslate\"\r\n (click)=\"onApply(popover)\"\r\n [compact]=\"true\"\r\n ></button>\r\n <fd-toolbar-spacer></fd-toolbar-spacer>\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [label]=\"switchText\"\r\n (click)=\"onSwatchClick()\"\r\n [compact]=\"true\"\r\n ></button>\r\n </fd-toolbar>\r\n </fd-popover-body>\r\n </fd-popover>\r\n</ng-template>\r\n", styles: [".read-only{display:flex;justify-content:start;column-gap:3px}.read-only div{width:25px;height:20px;border-radius:5px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: i2.DeprecatedButtonContentDensityDirective, selector: "[fd-button][compact]" }, { kind: "component", type: i3.PopoverControlComponent, selector: "fd-popover-control" }, { kind: "component", type: i3.PopoverBodyComponent, selector: "fd-popover-body" }, { kind: "component", type: i3.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "component", type: i4.ToolbarComponent, selector: "fd-toolbar", inputs: ["class", "shouldOverflow", "fdType", "hasTitle", "title", "active", "clearBorder", "forceOverflow", "tabindex"] }, { kind: "directive", type: i4.ToolbarItemDirective, selector: "[fd-toolbar-item]" }, { kind: "component", type: i4.ToolbarSpacerComponent, selector: "fd-toolbar-spacer", inputs: ["width", "class", "fixed"] }, { kind: "component", type: i5.SwatchesComponent, selector: "color-swatches", inputs: ["width", "height", "colors", "zDepth", "radius", "background"] }, { kind: "component", type: i6.ChromeComponent, selector: "color-chrome", inputs: ["disableAlpha"] }, { kind: "directive", type: i7.CdkCopyToClipboard, selector: "[cdkCopyToClipboard]", inputs: ["cdkCopyToClipboard", "cdkCopyToClipboardAttempts"], outputs: ["cdkCopyToClipboardCopied"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
45
+ UiColorUiComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: UiColorUiComponent, selector: "bsu-ui-color-ui", usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"readonly$ | async; else editable\" class=\"read-only\">\r\n <div [style.background-color]=\"value\"></div>\r\n <span>{{ value }}</span>\r\n <button\r\n fd-button\r\n [cdkCopyToClipboard]=\"value\"\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"'copy'\"\r\n aria-label=\"copy\"\r\n title=\"copy\"\r\n ></button>\r\n</div>\r\n\r\n<ng-template #editable>\r\n <fd-popover #popover>\r\n <fd-popover-control>\r\n <button [style.background-color]=\"value\" fd-button></button>\r\n </fd-popover-control>\r\n\r\n <fd-popover-body>\r\n <color-chrome\r\n *ngIf=\"!isVisibleSwatches\"\r\n [color]=\"value\"\r\n className=\"color-box\"\r\n (colorChange)=\"onColorChang($event)\"\r\n ></color-chrome>\r\n <color-swatches\r\n *ngIf=\"isVisibleSwatches\"\r\n [color]=\"value\"\r\n (colorChange)=\"onColorChang($event)\"\r\n ></color-swatches>\r\n <fd-toolbar style=\"background-color: white\">\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n (click)=\"onCancel(popover)\"\r\n [compact]=\"true\"\r\n ></button>\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [label]=\"'Ok' | bbbTranslate\"\r\n (click)=\"onApply(popover)\"\r\n [compact]=\"true\"\r\n ></button>\r\n <fd-toolbar-spacer></fd-toolbar-spacer>\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [label]=\"switchText\"\r\n (click)=\"onSwatchClick()\"\r\n [compact]=\"true\"\r\n ></button>\r\n </fd-toolbar>\r\n </fd-popover-body>\r\n </fd-popover>\r\n</ng-template>\r\n", styles: [".read-only{display:flex;justify-content:flex-start;column-gap:3px}.read-only div{width:25px;height:20px;border-radius:5px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: i2.DeprecatedButtonContentDensityDirective, selector: "[fd-button][compact]" }, { kind: "component", type: i3.PopoverControlComponent, selector: "fd-popover-control" }, { kind: "component", type: i3.PopoverBodyComponent, selector: "fd-popover-body" }, { kind: "component", type: i3.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "component", type: i4.ToolbarComponent, selector: "fd-toolbar", inputs: ["class", "shouldOverflow", "fdType", "hasTitle", "title", "active", "clearBorder", "forceOverflow", "tabindex"] }, { kind: "directive", type: i4.ToolbarItemDirective, selector: "[fd-toolbar-item]" }, { kind: "component", type: i4.ToolbarSpacerComponent, selector: "fd-toolbar-spacer", inputs: ["width", "class", "fixed"] }, { kind: "component", type: i5.SwatchesComponent, selector: "color-swatches", inputs: ["width", "height", "colors", "zDepth", "radius", "background"] }, { kind: "component", type: i6.ChromeComponent, selector: "color-chrome", inputs: ["disableAlpha"] }, { kind: "directive", type: i7.CdkCopyToClipboard, selector: "[cdkCopyToClipboard]", inputs: ["cdkCopyToClipboard", "cdkCopyToClipboardAttempts"], outputs: ["cdkCopyToClipboardCopied"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
46
46
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: UiColorUiComponent, decorators: [{
47
47
  type: Component,
48
- args: [{ selector: 'bsu-ui-color-ui', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"readonly$ | async; else editable\" class=\"read-only\">\r\n <div [style.background-color]=\"value\"></div>\r\n <span>{{ value }}</span>\r\n <button\r\n fd-button\r\n [cdkCopyToClipboard]=\"value\"\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"'copy'\"\r\n aria-label=\"copy\"\r\n title=\"copy\"\r\n ></button>\r\n</div>\r\n\r\n<ng-template #editable>\r\n <fd-popover #popover>\r\n <fd-popover-control>\r\n <button [style.background-color]=\"value\" fd-button></button>\r\n </fd-popover-control>\r\n\r\n <fd-popover-body>\r\n <color-chrome\r\n *ngIf=\"!isVisibleSwatches\"\r\n [color]=\"value\"\r\n className=\"color-box\"\r\n (colorChange)=\"onColorChang($event)\"\r\n ></color-chrome>\r\n <color-swatches\r\n *ngIf=\"isVisibleSwatches\"\r\n [color]=\"value\"\r\n (colorChange)=\"onColorChang($event)\"\r\n ></color-swatches>\r\n <fd-toolbar style=\"background-color: white\">\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n (click)=\"onCancel(popover)\"\r\n [compact]=\"true\"\r\n ></button>\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [label]=\"'Ok' | bbbTranslate\"\r\n (click)=\"onApply(popover)\"\r\n [compact]=\"true\"\r\n ></button>\r\n <fd-toolbar-spacer></fd-toolbar-spacer>\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [label]=\"switchText\"\r\n (click)=\"onSwatchClick()\"\r\n [compact]=\"true\"\r\n ></button>\r\n </fd-toolbar>\r\n </fd-popover-body>\r\n </fd-popover>\r\n</ng-template>\r\n", styles: [".read-only{display:flex;justify-content:start;column-gap:3px}.read-only div{width:25px;height:20px;border-radius:5px}\n"] }]
48
+ args: [{ selector: 'bsu-ui-color-ui', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"readonly$ | async; else editable\" class=\"read-only\">\r\n <div [style.background-color]=\"value\"></div>\r\n <span>{{ value }}</span>\r\n <button\r\n fd-button\r\n [cdkCopyToClipboard]=\"value\"\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"'copy'\"\r\n aria-label=\"copy\"\r\n title=\"copy\"\r\n ></button>\r\n</div>\r\n\r\n<ng-template #editable>\r\n <fd-popover #popover>\r\n <fd-popover-control>\r\n <button [style.background-color]=\"value\" fd-button></button>\r\n </fd-popover-control>\r\n\r\n <fd-popover-body>\r\n <color-chrome\r\n *ngIf=\"!isVisibleSwatches\"\r\n [color]=\"value\"\r\n className=\"color-box\"\r\n (colorChange)=\"onColorChang($event)\"\r\n ></color-chrome>\r\n <color-swatches\r\n *ngIf=\"isVisibleSwatches\"\r\n [color]=\"value\"\r\n (colorChange)=\"onColorChang($event)\"\r\n ></color-swatches>\r\n <fd-toolbar style=\"background-color: white\">\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n (click)=\"onCancel(popover)\"\r\n [compact]=\"true\"\r\n ></button>\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [label]=\"'Ok' | bbbTranslate\"\r\n (click)=\"onApply(popover)\"\r\n [compact]=\"true\"\r\n ></button>\r\n <fd-toolbar-spacer></fd-toolbar-spacer>\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [label]=\"switchText\"\r\n (click)=\"onSwatchClick()\"\r\n [compact]=\"true\"\r\n ></button>\r\n </fd-toolbar>\r\n </fd-popover-body>\r\n </fd-popover>\r\n</ng-template>\r\n", styles: [".read-only{display:flex;justify-content:flex-start;column-gap:3px}.read-only div{width:25px;height:20px;border-radius:5px}\n"] }]
49
49
  }] });
50
50
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktY29sb3ItdWkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktY29sb3ItdWkvdWktY29sb3ItdWkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktY29sb3ItdWkvdWktY29sb3ItdWkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUczRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7OztBQVExRCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsa0JBQWtCO0lBTjFEOztRQU9JLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUUxQixlQUFVLEdBQUcsZ0JBQWdCLENBQUM7S0ErQmpDO0lBN0JHLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDaEMsSUFBSSxPQUFPLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLENBQUM7YUFDOUU7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxhQUFhO1FBQ1QsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBQ2pELElBQUksQ0FBQyxVQUFVLEdBQUcsWUFBWSxDQUFDO0lBQ25DLENBQUM7SUFFRCxPQUFPLENBQUMsT0FBeUI7UUFDN0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELFFBQVEsQ0FBQyxPQUF5QjtRQUM5QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDaEMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxZQUFZLENBQUMsTUFBTTtRQUNmLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO0lBQ2hDLENBQUM7OytHQWpDUSxrQkFBa0I7bUdBQWxCLGtCQUFrQiw4RUNYL0IsaWxFQTBEQTsyRkQvQ2Esa0JBQWtCO2tCQU45QixTQUFTOytCQUNJLGlCQUFpQixtQkFHVix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcblxuaW1wb3J0IHsgRmllbGRCYXNlQ29tcG9uZW50IH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JzdS11aS1jb2xvci11aScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VpLWNvbG9yLXVpLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi91aS1jb2xvci11aS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFVpQ29sb3JVaUNvbXBvbmVudCBleHRlbmRzIEZpZWxkQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgaXNWaXNpYmxlU3dhdGNoZXMgPSBmYWxzZTtcbiAgICBzZWxlY3RlZENvbG9yOiBzdHJpbmc7XG4gICAgc3dpdGNoVGV4dCA9ICfYsdmG2q8g2YfYp9uMINm+24zYtNmB2LHYtic7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENvbG9yID0gdGhpcy52YWx1ZTtcbiAgICAgICAgdGhpcy5kaXNhYmxlJC5zdWJzY3JpYmUoKGRpc2FibGUpID0+IHtcbiAgICAgICAgICAgIGlmIChkaXNhYmxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIyLnNldFN0eWxlKHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQsICdwb2ludGVyLWV2ZW50cycsICdub25lJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uU3dhdGNoQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNWaXNpYmxlU3dhdGNoZXMgPSAhdGhpcy5pc1Zpc2libGVTd2F0Y2hlcztcbiAgICAgICAgdGhpcy5zd2l0Y2hUZXh0ID0gJ9in2YbYqtiu2KfYqCDYsdmG2q8nO1xuICAgIH1cblxuICAgIG9uQXBwbHkocG9wb3ZlcjogUG9wb3ZlckNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5zZWxlY3RlZENvbG9yO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgICAgIHBvcG92ZXIuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBvbkNhbmNlbChwb3BvdmVyOiBQb3BvdmVyQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb2xvciA9IHRoaXMudmFsdWU7XG4gICAgICAgIHBvcG92ZXIuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBvbkNvbG9yQ2hhbmcoJGV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb2xvciA9ICRldmVudDtcbiAgICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwicmVhZG9ubHkkIHwgYXN5bmM7IGVsc2UgZWRpdGFibGVcIiBjbGFzcz1cInJlYWQtb25seVwiPlxyXG4gICAgPGRpdiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJ2YWx1ZVwiPjwvZGl2PlxyXG4gICAgPHNwYW4+e3sgdmFsdWUgfX08L3NwYW4+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgW2Nka0NvcHlUb0NsaXBib2FyZF09XCJ2YWx1ZVwiXHJcbiAgICAgICAgW2ZkVHlwZV09XCIndHJhbnNwYXJlbnQnXCJcclxuICAgICAgICBbZ2x5cGhdPVwiJ2NvcHknXCJcclxuICAgICAgICBhcmlhLWxhYmVsPVwiY29weVwiXHJcbiAgICAgICAgdGl0bGU9XCJjb3B5XCJcclxuICAgID48L2J1dHRvbj5cclxuPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgI2VkaXRhYmxlPlxyXG4gICAgPGZkLXBvcG92ZXIgI3BvcG92ZXI+XHJcbiAgICAgICAgPGZkLXBvcG92ZXItY29udHJvbD5cclxuICAgICAgICAgICAgPGJ1dHRvbiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJ2YWx1ZVwiIGZkLWJ1dHRvbj48L2J1dHRvbj5cclxuICAgICAgICA8L2ZkLXBvcG92ZXItY29udHJvbD5cclxuXHJcbiAgICAgICAgPGZkLXBvcG92ZXItYm9keT5cclxuICAgICAgICAgICAgPGNvbG9yLWNocm9tZVxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhaXNWaXNpYmxlU3dhdGNoZXNcIlxyXG4gICAgICAgICAgICAgICAgW2NvbG9yXT1cInZhbHVlXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImNvbG9yLWJveFwiXHJcbiAgICAgICAgICAgICAgICAoY29sb3JDaGFuZ2UpPVwib25Db2xvckNoYW5nKCRldmVudClcIlxyXG4gICAgICAgICAgICA+PC9jb2xvci1jaHJvbWU+XHJcbiAgICAgICAgICAgIDxjb2xvci1zd2F0Y2hlc1xyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpc1Zpc2libGVTd2F0Y2hlc1wiXHJcbiAgICAgICAgICAgICAgICBbY29sb3JdPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgKGNvbG9yQ2hhbmdlKT1cIm9uQ29sb3JDaGFuZygkZXZlbnQpXCJcclxuICAgICAgICAgICAgPjwvY29sb3Itc3dhdGNoZXM+XHJcbiAgICAgICAgICAgIDxmZC10b29sYmFyIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogd2hpdGVcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cclxuICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0NhbmNlbCcgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNhbmNlbChwb3BvdmVyKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NvbXBhY3RdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICA+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidPaycgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkFwcGx5KHBvcG92ZXIpXCJcclxuICAgICAgICAgICAgICAgICAgICBbY29tcGFjdF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxmZC10b29sYmFyLXNwYWNlcj48L2ZkLXRvb2xiYXItc3BhY2VyPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxyXG4gICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJzd2l0Y2hUZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Td2F0Y2hDbGljaygpXCJcclxuICAgICAgICAgICAgICAgICAgICBbY29tcGFjdF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9mZC10b29sYmFyPlxyXG4gICAgICAgIDwvZmQtcG9wb3Zlci1ib2R5PlxyXG4gICAgPC9mZC1wb3BvdmVyPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { Component, ViewChild, ChangeDetectionStrategy } from '@angular/core';
2
- import { FieldBaseComponent, BarsaApi, DateService, DateShamsiService, LogService, DateMiladiService, DateHijriService, DateRanges } from 'dist/barsa-novin-ray-core';
2
+ import { FieldBaseComponent, BarsaApi, DateService, DateShamsiService, LogService, DateMiladiService, DateHijriService, DateRanges } from 'barsa-novin-ray-core';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
5
5
  import * as i2 from "@angular/forms";
@@ -191,4 +191,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
191
191
  type: ViewChild,
192
192
  args: ['alert']
193
193
  }] } });
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZGF0ZS1yYW5nZS1leC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91aS1kYXRlLXJhbmdlLWV4L3VpLWRhdGUtcmFuZ2UtZXguY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZGF0ZS1yYW5nZS1leC91aS1kYXRlLXJhbmdlLWV4LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsU0FBUyxFQUFVLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxHLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsUUFBUSxFQUNSLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsVUFBVSxFQUNWLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsVUFBVSxFQUNiLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7OztBQUduQyxTQUFTLGNBQWMsQ0FBQyxVQUFzQjtJQUMxQyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQztJQUMvQyxRQUFRLE9BQU8sRUFBRTtRQUNiLEtBQUssT0FBTztZQUNSLE9BQU8sSUFBSSxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3QyxLQUFLLE9BQU87WUFDUixPQUFPLElBQUksZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDNUM7WUFDSSxPQUFPLElBQUksaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7S0FDaEQ7QUFDTCxDQUFDO0FBZUQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGtCQUFrQjtJQWI5RDs7UUFrQkksYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLFVBQUssR0FBUSxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDakQsZUFBVSxH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QUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3RDLE1BQU07WUFDVixLQUFLLE9BQU87Z0JBQ1IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2pDLE1BQU07WUFDVixLQUFLLFdBQVc7Z0JBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3JDLE1BQU07WUFDVixLQUFLLFVBQVU7Z0JBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU07WUFDVixLQUFLLFVBQVU7Z0JBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU07WUFDVixLQUFLLFVBQVU7Z0JBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU07WUFDVixLQUFLLFdBQVc7Z0JBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3JDLE1BQU07WUFDVixLQUFLLFdBQVc7Z0JBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3JDLE1BQU07WUFDVixLQUFLLFdBQVc7Z0JBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3JDLE1BQU07WUFDVixLQUFLLFVBQVU7Z0JBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU07WUFDVixLQUFLLFVBQVU7Z0JBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU07WUFDVixLQUFLLFVBQVU7Z0JBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU07WUFDVjtnQkFDSSxJ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QUNaLENBQUM7O21IQXRLUSxzQkFBc0I7dUdBQXRCLHNCQUFzQiwrQ0FScEI7UUFDUDtZQUNJLE9BQU8sRUFBRSxXQUFXO1lBQ3BCLFVBQVUsRUFBRSxjQUFjO1lBQzFCLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQztTQUNyQjtLQUNKLHlWQ3JDTCw2bUVBNERBOzJGRHJCYSxzQkFBc0I7a0JBYmxDLFNBQVM7K0JBQ0ksc0JBQXNCLG1CQUdmLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLFdBQVc7NEJBQ3BCLFVBQVUsRUFBRSxjQUFjOzRCQUMxQixJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUM7eUJBQ3JCO3FCQUNKOzhCQUc2QixlQUFlO3NCQUE1QyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFDWSxPQUFPO3NCQUE5QyxTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ2xCLEtBQUs7c0JBQXhCLFNBQVM7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgVmlld0NoaWxkLCBPbkluaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gICAgRmllbGRCYXNlQ29tcG9uZW50LFxuICAgIEJhcnNhQXBpLFxuICAgIERhdGVTZXJ2aWNlLFxuICAgIERhdGVTaGFtc2lTZXJ2aWNlLFxuICAgIExvZ1NlcnZpY2UsXG4gICAgRGF0ZU1pbGFkaVNlcnZpY2UsXG4gICAgRGF0ZUhpanJpU2VydmljZSxcbiAgICBEYXRlUmFuZ2VzXG59IGZyb20gJ2Rpc3QvYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuaW1wb3J0IHsgQWxlcnRDb21wb25lbnQsIFBvcG92ZXJDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xuXG5mdW5jdGlvbiBnZXREYXRlU2VydmljZShsb2dTZXJ2aWNlOiBMb2dTZXJ2aWNlKTogRGF0ZVNlcnZpY2Uge1xuICAgIGNvbnN0IGN1bHR1cmUgPSBCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLkN1bHR1cmU7XG4gICAgc3dpdGNoIChjdWx0dXJlKSB7XG4gICAgICAgIGNhc2UgJ2ZhLUlSJzpcbiAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZVNoYW1zaVNlcnZpY2UobG9nU2VydmljZSk7XG4gICAgICAgIGNhc2UgJ2FyLUFFJzpcbiAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZUhpanJpU2VydmljZShsb2dTZXJ2aWNlKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZU1pbGFkaVNlcnZpY2UobG9nU2VydmljZSk7XG4gICAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JzdS11aS1kYXRlLXJhbmdlLWV4JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktZGF0ZS1yYW5nZS1leC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktZGF0ZS1yYW5nZS1leC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBEYXRlU2VydmljZSxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGdldERhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgZGVwczogW0xvZ1NlcnZpY2VdXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFVpRGF0ZVJhbmdlRXhDb21wb25lbnQgZXh0ZW5kcyBGaWVsZEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBWaWV3Q2hpbGQoJ2RhdGVSYW5nZVBpY2tlcicpIGRhdGVSYW5nZVBpY2tlcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gICAgQFZpZXdDaGlsZCgncG9wb3ZlcicsIHsgc3RhdGljOiB0cnVlIH0pIHBvcG92ZXI6IFBvcG92ZXJDb21wb25lbnQ7XG4gICAgQFZpZXdDaGlsZCgnYWxlcnQnKSBhbGVydDogQWxlcnRDb21wb25lbnQ7XG5cbiAgICB2YWx1ZVN0ciA9ICcnO1xuICAgIHZhbHVlOiBhbnkgPSBuZXcgQmFyc2FBcGkuQ29tbW9uLkRhdGVSYW5nZURhdGEoKTtcbiAgICBkYXRlUmFuZ2VzID0gRGF0ZVJhbmdlcztcbiAgICBpc09wZW5Qb3BvdmVyOiBib29sZWFuO1xuXG4gICAgZ2V0IF9pc1ZhbGlkUG9wb3ZlcigpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgbW9kZSA9IHRoaXMudmFsdWUuRGF0ZVJhbmdlVHlwZTtcbiAgICAgICAgcmV0dXJuIC9XZWVrfERheXxUb2RheXxSYW5nZS8udGVzdChtb2RlKSAmJiB0aGlzLnZhbHVlU3RyICE9PSAnJztcbiAgICB9XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5jb250ZXh0LnZhbHVlID0gdGhpcy52YWx1ZSA9IHRoaXMuX2RlZmF1bHRWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9kZWNvcmF0ZURhdGVSYW5nZVBpY2tlcigpO1xuICAgIH1cblxuICAgIG9uRGF0ZVJhbmdlVHlwZUNoYW5nZShkYXRlUmFuZ2VUeXBlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NldFZhbHVlU3RyKGRhdGVSYW5nZVR5cGUucmVwbGFjZSgnRGF0ZVJfJywgJycpKTtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgIH1cbiAgICBvbkRhdGVSYW5nZUNoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZWw6IGFueSA9IHRoaXMuZGF0ZVJhbmdlUGlja2VyLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIHRoaXMudmFsdWUuRmlyc3REYXRlID0gZWwuZmlyc3REYXRlVmFsdWU7XG4gICAgICAgIHRoaXMudmFsdWUuU2Vjb25kRGF0ZSA9IGVsLmxhc3REYXRlVmFsdWU7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICAgICAgY29uc3QgZmlyc3REYXRlU3RyID0gdGhpcy5fZGF0ZVNlcnZpY2UuZ2V0RGF0ZVN0cmluZyh0aGlzLnZhbHVlLkZpcnN0RGF0ZSwgdHJ1ZSwgZmFsc2UpO1xuICAgICAgICBjb25zdCBzZWNvbmREYXRlU3RyID0gdGhpcy5fZGF0ZVNlcnZpY2UuZ2V0RGF0ZVN0cmluZyh0aGlzLnZhbHVlLlNlY29uZERhdGUsIHRydWUsIGZhbHNlKTtcbiAgICAgICAgdGhpcy52YWx1ZVN0ciA9IGZpcnN0RGF0ZVN0ciArICcg2KrYpyAnICsgc2Vjb25kRGF0ZVN0cjtcbiAgICB9XG5cbiAgICBvbk9wZW5Qb3BvdmVyKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5faXNWYWxpZFBvcG92ZXIgJiYgdGhpcy5faXNWYWxpZFBvcG92ZXIpIHtcbiAgICAgICAgICAgIHRoaXMucG9wb3Zlci5vcGVuKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3NldFZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5jb250ZXh0LnZhbHVlID0gdmFsdWUgPSB0aGlzLl9kZWZhdWx0VmFsdWUodmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3NldFZhbHVlU3RyKHZhbHVlLkRhdGVSYW5nZVR5cGUpO1xuICAgICAgICBzdXBlci5fc2V0VmFsdWUodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9kZWZhdWx0VmFsdWUodmFsdWUpOiBhbnkge1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IHtcbiAgICAgICAgICAgICAgICBEYXRlUmFuZ2VUeXBlOiAnTm9uZSdcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgICBwcml2YXRlIF9zZXRWYWx1ZVN0cihkYXRlUmFuZ2VUeXBlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZS5EYXRlUmFuZ2VUeXBlID0gZGF0ZVJhbmdlVHlwZTtcbiAgICAgICAgc3dpdGNoIChkYXRlUmFuZ2VUeXBlKSB7XG4gICAgICAgICAgICBjYXNlICdTcGVjaWZpY1JhbmdlJzpcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlU3RyID0gJyc7XG4gICAgICAgICAgICAgICAgdGhpcy5fZGVjb3JhdGVEYXRlUmFuZ2VQaWNrZXIoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBjYXNlICdEYXlzQmVmb3JlJzpcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlU3RyID0gdGhpcy5fZ2V0RGF5c0JlZm9yZSgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnVG9kYXknOlxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVTdHIgPSB0aGlzLl9nZXRUb2RheSgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnRGF5c0FmdGVyJzpcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlU3RyID0gdGhpcy5fZ2V0RGF5c0FmdGVyKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdQcmV2V2Vlayc6XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZVN0ciA9IHRoaXMuX2dldFByZXZXZWVrKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdUaGlzV2Vlayc6XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZVN0ciA9IHRoaXMuX2dldFRoaXNXZWVrKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdOZXh0V2Vlayc6XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZVN0ciA9IHRoaXMuX2dldE5leHRXZWVrKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdQcmV2TW9udGgnOlxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVTdHIgPSB0aGlzLl9nZXRQcmV2TW9udGgoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ1RoaXNNb250aCc6XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZVN0ciA9IHRoaXMuX2dldFRoaXNNb250aCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnTmV4dE1vbnRoJzpcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlU3RyID0gdGhpcy5fZ2V0TmV4dE1vbnRoKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdQcmV2WWVhcic6XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZVN0ciA9IHRoaXMuX2dldFByZXZZZWFyKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdUaGlzWWVhcic6XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZVN0ciA9IHRoaXMuX2dldFRoaXNZZWFyKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdOZXh0WWVhcic6XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZVN0ciA9IHRoaXMuX2dldE5leHRZZWFyKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVTdHIgPSBCYXJzYUFwaS5CQkIuRGF0ZVJfTm9uZTtcbiAgICAgICAgICAgICAgICB0aGlzLl9kZWNvcmF0ZURhdGVSYW5nZVBpY2tlcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0VG9kYXkoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEJhcnNhQXBpLkJCQi5EYXRlUl9Ub2RheSArICc6ICcgKyB0aGlzLl9kYXRlU2VydmljZS5nZXREYXlTdHIoJ1RvZGF5Jyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0VGhpc1dlZWsoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEJhcnNhQXBpLkJCQi5EYXRlUl9UaGlzV2VlayArICc6ICcgKyB0aGlzLl9kYXRlU2VydmljZS5nZXRXZWVrU3RyKCdUaGlzV2VlaycpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldFRoaXNNb250aCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gQmFyc2FBcGkuQkJCLkRhdGVSX1RoaXNNb250aCArICc6ICcgKyB0aGlzLl9kYXRlU2VydmljZS5nZXRNb250aFN0cignVGhpc01vbnRoJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0VGhpc1llYXIoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEJhcnNhQXBpLkJCQi5EYXRlUl9UaGlzWWVhciArICc6ICcgKyB0aGlzLl9kYXRlU2VydmljZS5nZXRZZWFyU3RyKCdUaGlzWWVhcicpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldERheXNCZWZvcmUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEJhcnNhQXBpLkJCQi5EYXRlUl9EYXlzQmVmb3JlICsgJzogJyArIHRoaXMuX2RhdGVTZXJ2aWNlLmdldERheVN0cignRGF5c0JlZm9yZScpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldFByZXZXZWVrKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBCYXJzYUFwaS5CQkIuRGF0ZVJfUHJldldlZWsgKyAnOiAnICsgdGhpcy5fZGF0ZVNlcnZpY2UuZ2V0V2Vla1N0cignUHJldldlZWsnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRQcmV2TW9udGgoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEJhcnNhQXBpLkJCQi5EYXRlUl9QcmV2TW9udGggKyAnOiAnICsgdGhpcy5fZGF0ZVNlcnZpY2UuZ2V0TW9udGhTdHIoJ1ByZXZNb250aCcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldFByZXZZZWFyKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBCYXJzYUFwaS5CQkIuRGF0ZVJfUHJldlllYXIgKyAnOiAnICsgdGhpcy5fZGF0ZVNlcnZpY2UuZ2V0WWVhclN0cignUHJldlllYXInKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXREYXlzQWZ0ZXIoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEJhcnNhQXBpLkJCQi5EYXRlUl9EYXlzQWZ0ZXIgKyAnOiAnICsgdGhpcy5fZGF0ZVNlcnZpY2UuZ2V0RGF5U3RyKCdEYXlzQWZ0ZXInKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXROZXh0V2VlaygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gQmFyc2FBcGkuQkJCLkRhdGVSX05leHRXZWVrICsgJzogJyArIHRoaXMuX2RhdGVTZXJ2aWNlLmdldFdlZWtTdHIoJ05leHRXZWVrJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0TmV4dE1vbnRoKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBCYXJzYUFwaS5CQkIuRGF0ZVJfTmV4dE1vbnRoICsgJzogJyArIHRoaXMuX2RhdGVTZXJ2aWNlLmdldE1vbnRoU3RyKCdOZXh0TW9udGgnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXROZXh0WWVhcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gQmFyc2FBcGkuQkJCLkRhdGVSX05leHRZZWFyICsgJzogJyArIHRoaXMuX2RhdGVTZXJ2aWNlLmdldFllYXJTdHIoJ05leHRZZWFyJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZGVjb3JhdGVEYXRlUmFuZ2VQaWNrZXIoKTogdm9pZCB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZWxEYXRlUmFuZ2VQaWNrZXIgPSB0aGlzLmRhdGVSYW5nZVBpY2tlcj8ubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgIGlmIChlbERhdGVSYW5nZVBpY2tlcikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHVpNUlucHV0RWwgPSBlbERhdGVSYW5nZVBpY2tlci5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCcudWk1LWRhdGUtcGlja2VyLWlucHV0Jyk7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIyLnNldEF0dHJpYnV0ZShcbiAgICAgICAgICAgICAgICAgICAgdWk1SW5wdXRFbCxcbiAgICAgICAgICAgICAgICAgICAgJ3N0eWxlJyxcbiAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7IGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAnXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgNTAwKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwidmFsdWU/LkRhdGVSYW5nZVR5cGUgPT09ICdTcGVjaWZpY1JhbmdlJzsgZWxzZSBpbnB1dFwiPlxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1jb250YWluZXJcIj5cbiAgICAgICAgPHVpNS1kYXRlcmFuZ2UtcGlja2VyXG4gICAgICAgICAgICBpZD1cIm15ZGF0ZXJhbmdlLXBpY2tlcjFcIlxuICAgICAgICAgICAgKG1vdXNlb3Zlcik9XCJvbk9wZW5Qb3BvdmVyKClcIlxuICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwicG9wb3Zlci5jbG9zZSgpXCJcbiAgICAgICAgICAgICNkYXRlUmFuZ2VQaWNrZXJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwib25EYXRlUmFuZ2VDaGFuZ2UoKVwiXG4gICAgICAgICAgICBmb3JtYXQtcGF0dGVybj1cInl5eXkvTU0vZGRcIlxuICAgICAgICAgICAgW2F0dHIucmVhZG9ubHldPVwiKHJlYWRvbmx5JCB8IGFzeW5jKSA9PT0gdHJ1ZSA/IHRydWUgOiBudWxsXCJcbiAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cIihkaXNhYmxlJCB8IGFzeW5jKSA9PT0gdHJ1ZSA/IHRydWUgOiBudWxsXCJcbiAgICAgICAgICAgIFtwcmltYXJ5Q2FsZW5kYXJUeXBlXT1cIlNldHRpbmcuQ2FsZW5kYXJUeXBlICE9PSAnR3JlZ29yaWFuJyA/ICdQZXJzaWFuJyA6IFNldHRpbmcuQ2FsZW5kYXJUeXBlXCJcbiAgICAgICAgPlxuICAgICAgICA8L3VpNS1kYXRlcmFuZ2UtcGlja2VyPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cImJ0bi1kcm9wLWRvd25cIlxuICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICBbZmRUeXBlXT1cIidzdGFuZGFyZCdcIlxuICAgICAgICAgICAgW2dseXBoXT1cIidzbGltLWFycm93LWRvd24nXCJcbiAgICAgICAgICAgIChjbGljayk9XCJwb3BvdmVyLm9wZW4oKVwiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuPG5nLXRlbXBsYXRlICNpbnB1dD5cbiAgICA8IS0tIDxpbnB1dCBmZC1mb3JtLWNvbnRyb2wgWyhuZ01vZGVsKV09XCJ2YWx1ZVN0clwiIFtmZC1pbmxpbmUtaGVscF09XCJ2YWx1ZVN0clwiIFtyZWFkT25seV09XCJ0cnVlXCIgLz4gLS0+XG5cbiAgICA8ZmQtaW5wdXQtZ3JvdXBcbiAgICAgICAgcGxhY2VtZW50PVwiYWZ0ZXJcIlxuICAgICAgICBnbHlwaD1cInNsaW0tYXJyb3ctZG93blwiXG4gICAgICAgIGdseXBoQXJpYUxhYmVsPVwiU2VsZWN0IERhdGUgUmFuZ2VcIlxuICAgICAgICBbYnV0dG9uXT1cInRydWVcIlxuICAgICAgICBbbmdNb2RlbF09XCJ2YWx1ZVN0clwiXG4gICAgICAgIChhZGRPbkJ1dHRvbkNsaWNrZWQpPVwicG9wb3Zlci5vcGVuKClcIlxuICAgID5cbiAgICA8L2ZkLWlucHV0LWdyb3VwPlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSA8YnV0dG9uIGZkLWJ1dHRvbj5cbiAgICA8ZmQtc2VsZWN0ICh2YWx1ZUNoYW5nZSk9XCJvbkRhdGVSYW5nZVR5cGVDaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgICA8ZmQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZGF0ZVJhbmdlc1wiIFt2YWx1ZV09XCJvcHRpb25cIj57eyBvcHRpb24gfCBiYmJUcmFuc2xhdGUgfX08L2ZkLW9wdGlvbj5cbiAgICA8L2ZkLXNlbGVjdD5cbjwvYnV0dG9uPiAtLT5cblxuPGZkLXBvcG92ZXJcbiAgICAjcG9wb3ZlclxuICAgIHN0eWxlPVwiZGlzcGxheTogYmxvY2tcIlxuICAgIFtmaWxsQ29udHJvbE1vZGVdPVwiJ2F0LWxlYXN0J1wiXG4gICAgcGxhY2VtZW50PVwiYm90dG9tLXN0YXJ0XCJcbiAgICBbKGlzT3BlbildPVwiaXNPcGVuUG9wb3ZlclwiXG4+XG4gICAgPGZkLXBvcG92ZXItYm9keT5cbiAgICAgICAgPHVsIGZkLWxpc3Q+XG4gICAgICAgICAgICA8bGkgZmQtbGlzdC1pdGVtICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZGF0ZVJhbmdlc1wiIChjbGljayk9XCJwb3BvdmVyLmNsb3NlKCk7IG9uRGF0ZVJhbmdlVHlwZUNoYW5nZShvcHRpb24pXCI+XG4gICAgICAgICAgICAgICAgPGEgZmQtbGlzdC1saW5rPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1saXN0LXRpdGxlPnt7IG9wdGlvbiB8IGJiYlRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgIDwvZmQtcG9wb3Zlci1ib2R5PlxuPC9mZC1wb3BvdmVyPlxuIl19
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZGF0ZS1yYW5nZS1leC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91aS1kYXRlLXJhbmdlLWV4L3VpLWRhdGUtcmFuZ2UtZXguY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZGF0ZS1yYW5nZS1leC91aS1kYXRlLXJhbmdlLWV4LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsU0FBUyxFQUFVLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxHLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsUUFBUSxFQUNSLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsVUFBVSxFQUNWLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsVUFBVSxFQUNiLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7OztBQUc5QixTQUFTLGNBQWMsQ0FBQyxVQUFzQjtJQUMxQyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQztJQUMvQyxRQUFRLE9BQU8sRUFBRTtRQUNiLEtBQUssT0FBTztZQUNSLE9BQU8sSUFBSSxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3QyxLQUFLLE9BQU87WUFDUixPQUFPLElBQUksZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDNUM7WUFDSSxPQUFPLElBQUksaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7S0FDaEQ7QUFDTCxDQUFDO0FBZUQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGtCQUFrQjtJQWI5RDs7UUFrQkksYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLFVBQUssR0FBUSxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDakQsZUFBVSxH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QUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3RDLE1BQU07WUFDVixLQUFLLE9BQU87Z0JBQ1IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2pDLE1BQU07WUFDVixLQUFLLFdBQVc7Z0JBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3JDLE1BQU07WUFDVixLQUFLLFVBQVU7Z0JBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU07WUFDVixLQUFLLFVBQVU7Z0JBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU07WUFDVixLQUFLLFVBQVU7Z0JBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU07WUFDVixLQUFLLFdBQVc7Z0JBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3JDLE1BQU07WUFDVixLQUFLLFdBQVc7Z0JBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3JDLE1BQU07WUFDVixLQUFLLFdBQVc7Z0JBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3JDLE1BQU07WUFDVixLQUFLLFVBQVU7Z0JBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU07WUFDVixLQUFLLFVBQVU7Z0JBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU07WUFDVixLQUFLLFVBQVU7Z0JBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU07WUFDVjtnQkFDSSxJ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QUNaLENBQUM7O21IQXRLUSxzQkFBc0I7dUdBQXRCLHNCQUFzQiwrQ0FScEI7UUFDUDtZQUNJLE9BQU8sRUFBRSxXQUFXO1lBQ3BCLFVBQVUsRUFBRSxjQUFjO1lBQzFCLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQztTQUNyQjtLQUNKLHlWQ3JDTCw2bUVBNERBOzJGRHJCYSxzQkFBc0I7a0JBYmxDLFNBQVM7K0JBQ0ksc0JBQXNCLG1CQUdmLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLFdBQVc7NEJBQ3BCLFVBQVUsRUFBRSxjQUFjOzRCQUMxQixJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUM7eUJBQ3JCO3FCQUNKOzhCQUc2QixlQUFlO3NCQUE1QyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFDWSxPQUFPO3NCQUE5QyxTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ2xCLEtBQUs7c0JBQXhCLFNBQVM7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgVmlld0NoaWxkLCBPbkluaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gICAgRmllbGRCYXNlQ29tcG9uZW50LFxuICAgIEJhcnNhQXBpLFxuICAgIERhdGVTZXJ2aWNlLFxuICAgIERhdGVTaGFtc2lTZXJ2aWNlLFxuICAgIExvZ1NlcnZpY2UsXG4gICAgRGF0ZU1pbGFkaVNlcnZpY2UsXG4gICAgRGF0ZUhpanJpU2VydmljZSxcbiAgICBEYXRlUmFuZ2VzXG59IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcbmltcG9ydCB7IEFsZXJ0Q29tcG9uZW50LCBQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcblxuZnVuY3Rpb24gZ2V0RGF0ZVNlcnZpY2UobG9nU2VydmljZTogTG9nU2VydmljZSk6IERhdGVTZXJ2aWNlIHtcbiAgICBjb25zdCBjdWx0dXJlID0gQmFyc2FBcGkuTG9naW5Gb3JtRGF0YS5DdWx0dXJlO1xuICAgIHN3aXRjaCAoY3VsdHVyZSkge1xuICAgICAgICBjYXNlICdmYS1JUic6XG4gICAgICAgICAgICByZXR1cm4gbmV3IERhdGVTaGFtc2lTZXJ2aWNlKGxvZ1NlcnZpY2UpO1xuICAgICAgICBjYXNlICdhci1BRSc6XG4gICAgICAgICAgICByZXR1cm4gbmV3IERhdGVIaWpyaVNlcnZpY2UobG9nU2VydmljZSk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gbmV3IERhdGVNaWxhZGlTZXJ2aWNlKGxvZ1NlcnZpY2UpO1xuICAgIH1cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdic3UtdWktZGF0ZS1yYW5nZS1leCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VpLWRhdGUtcmFuZ2UtZXguY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3VpLWRhdGUtcmFuZ2UtZXguY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiBnZXREYXRlU2VydmljZSxcbiAgICAgICAgICAgIGRlcHM6IFtMb2dTZXJ2aWNlXVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBVaURhdGVSYW5nZUV4Q29tcG9uZW50IGV4dGVuZHMgRmllbGRCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBAVmlld0NoaWxkKCdkYXRlUmFuZ2VQaWNrZXInKSBkYXRlUmFuZ2VQaWNrZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuICAgIEBWaWV3Q2hpbGQoJ3BvcG92ZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBwb3BvdmVyOiBQb3BvdmVyQ29tcG9uZW50O1xuICAgIEBWaWV3Q2hpbGQoJ2FsZXJ0JykgYWxlcnQ6IEFsZXJ0Q29tcG9uZW50O1xuXG4gICAgdmFsdWVTdHIgPSAnJztcbiAgICB2YWx1ZTogYW55ID0gbmV3IEJhcnNhQXBpLkNvbW1vbi5EYXRlUmFuZ2VEYXRhKCk7XG4gICAgZGF0ZVJhbmdlcyA9IERhdGVSYW5nZXM7XG4gICAgaXNPcGVuUG9wb3ZlcjogYm9vbGVhbjtcblxuICAgIGdldCBfaXNWYWxpZFBvcG92ZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IG1vZGUgPSB0aGlzLnZhbHVlLkRhdGVSYW5nZVR5cGU7XG4gICAgICAgIHJldHVybiAvV2Vla3xEYXl8VG9kYXl8UmFuZ2UvLnRlc3QobW9kZSkgJiYgdGhpcy52YWx1ZVN0ciAhPT0gJyc7XG4gICAgfVxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICBpZiAoIXRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC52YWx1ZSA9IHRoaXMudmFsdWUgPSB0aGlzLl9kZWZhdWx0VmFsdWUodGhpcy52YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZGVjb3JhdGVEYXRlUmFuZ2VQaWNrZXIoKTtcbiAgICB9XG5cbiAgICBvbkRhdGVSYW5nZVR5cGVDaGFuZ2UoZGF0ZVJhbmdlVHlwZSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZXRWYWx1ZVN0cihkYXRlUmFuZ2VUeXBlLnJlcGxhY2UoJ0RhdGVSXycsICcnKSk7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICB9XG4gICAgb25EYXRlUmFuZ2VDaGFuZ2UoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGVsOiBhbnkgPSB0aGlzLmRhdGVSYW5nZVBpY2tlci5uYXRpdmVFbGVtZW50O1xuICAgICAgICB0aGlzLnZhbHVlLkZpcnN0RGF0ZSA9IGVsLmZpcnN0RGF0ZVZhbHVlO1xuICAgICAgICB0aGlzLnZhbHVlLlNlY29uZERhdGUgPSBlbC5sYXN0RGF0ZVZhbHVlO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgICAgIGNvbnN0IGZpcnN0RGF0ZVN0ciA9IHRoaXMuX2RhdGVTZXJ2aWNlLmdldERhdGVTdHJpbmcodGhpcy52YWx1ZS5GaXJzdERhdGUsIHRydWUsIGZhbHNlKTtcbiAgICAgICAgY29uc3Qgc2Vjb25kRGF0ZVN0ciA9IHRoaXMuX2RhdGVTZXJ2aWNlLmdldERhdGVTdHJpbmcodGhpcy52YWx1ZS5TZWNvbmREYXRlLCB0cnVlLCBmYWxzZSk7XG4gICAgICAgIHRoaXMudmFsdWVTdHIgPSBmaXJzdERhdGVTdHIgKyAnINiq2KcgJyArIHNlY29uZERhdGVTdHI7XG4gICAgfVxuXG4gICAgb25PcGVuUG9wb3ZlcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2lzVmFsaWRQb3BvdmVyICYmIHRoaXMuX2lzVmFsaWRQb3BvdmVyKSB7XG4gICAgICAgICAgICB0aGlzLnBvcG92ZXIub3BlbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9zZXRWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC52YWx1ZSA9IHZhbHVlID0gdGhpcy5fZGVmYXVsdFZhbHVlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9zZXRWYWx1ZVN0cih2YWx1ZS5EYXRlUmFuZ2VUeXBlKTtcbiAgICAgICAgc3VwZXIuX3NldFZhbHVlKHZhbHVlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfZGVmYXVsdFZhbHVlKHZhbHVlKTogYW55IHtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgdmFsdWUgPSB7XG4gICAgICAgICAgICAgICAgRGF0ZVJhbmdlVHlwZTogJ05vbmUnXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfc2V0VmFsdWVTdHIoZGF0ZVJhbmdlVHlwZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUuRGF0ZVJhbmdlVHlwZSA9IGRhdGVSYW5nZVR5cGU7XG4gICAgICAgIHN3aXRjaCAoZGF0ZVJhbmdlVHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnU3BlY2lmaWNSYW5nZSc6XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZVN0ciA9ICcnO1xuICAgICAgICAgICAgICAgIHRoaXMuX2RlY29yYXRlRGF0ZVJhbmdlUGlja2VyKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgY2FzZSAnRGF5c0JlZm9yZSc6XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZVN0ciA9IHRoaXMuX2dldERheXNCZWZvcmUoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ1RvZGF5JzpcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlU3RyID0gdGhpcy5fZ2V0VG9kYXkoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ0RheXNBZnRlcic6XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZVN0ciA9IHRoaXMuX2dldERheXNBZnRlcigpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnUHJldldlZWsnOlxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVTdHIgPSB0aGlzLl9nZXRQcmV2V2VlaygpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnVGhpc1dlZWsnOlxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVTdHIgPSB0aGlzLl9nZXRUaGlzV2VlaygpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnTmV4dFdlZWsnOlxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVTdHIgPSB0aGlzLl9nZXROZXh0V2VlaygpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnUHJldk1vbnRoJzpcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlU3RyID0gdGhpcy5fZ2V0UHJldk1vbnRoKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdUaGlzTW9udGgnOlxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVTdHIgPSB0aGlzLl9nZXRUaGlzTW9udGgoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ05leHRNb250aCc6XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZVN0ciA9IHRoaXMuX2dldE5leHRNb250aCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnUHJldlllYXInOlxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVTdHIgPSB0aGlzLl9nZXRQcmV2WWVhcigpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnVGhpc1llYXInOlxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVTdHIgPSB0aGlzLl9nZXRUaGlzWWVhcigpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnTmV4dFllYXInOlxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVTdHIgPSB0aGlzLl9nZXROZXh0WWVhcigpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlU3RyID0gQmFyc2FBcGkuQkJCLkRhdGVSX05vbmU7XG4gICAgICAgICAgICAgICAgdGhpcy5fZGVjb3JhdGVEYXRlUmFuZ2VQaWNrZXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2dldFRvZGF5KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBCYXJzYUFwaS5CQkIuRGF0ZVJfVG9kYXkgKyAnOiAnICsgdGhpcy5fZGF0ZVNlcnZpY2UuZ2V0RGF5U3RyKCdUb2RheScpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldFRoaXNXZWVrKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBCYXJzYUFwaS5CQkIuRGF0ZVJfVGhpc1dlZWsgKyAnOiAnICsgdGhpcy5fZGF0ZVNlcnZpY2UuZ2V0V2Vla1N0cignVGhpc1dlZWsnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRUaGlzTW9udGgoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEJhcnNhQXBpLkJCQi5EYXRlUl9UaGlzTW9udGggKyAnOiAnICsgdGhpcy5fZGF0ZVNlcnZpY2UuZ2V0TW9udGhTdHIoJ1RoaXNNb250aCcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldFRoaXNZZWFyKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBCYXJzYUFwaS5CQkIuRGF0ZVJfVGhpc1llYXIgKyAnOiAnICsgdGhpcy5fZGF0ZVNlcnZpY2UuZ2V0WWVhclN0cignVGhpc1llYXInKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXREYXlzQmVmb3JlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBCYXJzYUFwaS5CQkIuRGF0ZVJfRGF5c0JlZm9yZSArICc6ICcgKyB0aGlzLl9kYXRlU2VydmljZS5nZXREYXlTdHIoJ0RheXNCZWZvcmUnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRQcmV2V2VlaygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gQmFyc2FBcGkuQkJCLkRhdGVSX1ByZXZXZWVrICsgJzogJyArIHRoaXMuX2RhdGVTZXJ2aWNlLmdldFdlZWtTdHIoJ1ByZXZXZWVrJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0UHJldk1vbnRoKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBCYXJzYUFwaS5CQkIuRGF0ZVJfUHJldk1vbnRoICsgJzogJyArIHRoaXMuX2RhdGVTZXJ2aWNlLmdldE1vbnRoU3RyKCdQcmV2TW9udGgnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRQcmV2WWVhcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gQmFyc2FBcGkuQkJCLkRhdGVSX1ByZXZZZWFyICsgJzogJyArIHRoaXMuX2RhdGVTZXJ2aWNlLmdldFllYXJTdHIoJ1ByZXZZZWFyJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0RGF5c0FmdGVyKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBCYXJzYUFwaS5CQkIuRGF0ZVJfRGF5c0FmdGVyICsgJzogJyArIHRoaXMuX2RhdGVTZXJ2aWNlLmdldERheVN0cignRGF5c0FmdGVyJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0TmV4dFdlZWsoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEJhcnNhQXBpLkJCQi5EYXRlUl9OZXh0V2VlayArICc6ICcgKyB0aGlzLl9kYXRlU2VydmljZS5nZXRXZWVrU3RyKCdOZXh0V2VlaycpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldE5leHRNb250aCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gQmFyc2FBcGkuQkJCLkRhdGVSX05leHRNb250aCArICc6ICcgKyB0aGlzLl9kYXRlU2VydmljZS5nZXRNb250aFN0cignTmV4dE1vbnRoJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0TmV4dFllYXIoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEJhcnNhQXBpLkJCQi5EYXRlUl9OZXh0WWVhciArICc6ICcgKyB0aGlzLl9kYXRlU2VydmljZS5nZXRZZWFyU3RyKCdOZXh0WWVhcicpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2RlY29yYXRlRGF0ZVJhbmdlUGlja2VyKCk6IHZvaWQge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsRGF0ZVJhbmdlUGlja2VyID0gdGhpcy5kYXRlUmFuZ2VQaWNrZXI/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICBpZiAoZWxEYXRlUmFuZ2VQaWNrZXIpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB1aTVJbnB1dEVsID0gZWxEYXRlUmFuZ2VQaWNrZXIuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcignLnVpNS1kYXRlLXBpY2tlci1pbnB1dCcpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyMi5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgICAgICAgICAgIHVpNUlucHV0RWwsXG4gICAgICAgICAgICAgICAgICAgICdzdHlsZScsXG4gICAgICAgICAgICAgICAgICAgICdib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOyBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwJ1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIDUwMCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInZhbHVlPy5EYXRlUmFuZ2VUeXBlID09PSAnU3BlY2lmaWNSYW5nZSc7IGVsc2UgaW5wdXRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtY29udGFpbmVyXCI+XG4gICAgICAgIDx1aTUtZGF0ZXJhbmdlLXBpY2tlclxuICAgICAgICAgICAgaWQ9XCJteWRhdGVyYW5nZS1waWNrZXIxXCJcbiAgICAgICAgICAgIChtb3VzZW92ZXIpPVwib25PcGVuUG9wb3ZlcigpXCJcbiAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cInBvcG92ZXIuY2xvc2UoKVwiXG4gICAgICAgICAgICAjZGF0ZVJhbmdlUGlja2VyXG4gICAgICAgICAgICAoY2hhbmdlKT1cIm9uRGF0ZVJhbmdlQ2hhbmdlKClcIlxuICAgICAgICAgICAgZm9ybWF0LXBhdHRlcm49XCJ5eXl5L01NL2RkXCJcbiAgICAgICAgICAgIFthdHRyLnJlYWRvbmx5XT1cIihyZWFkb25seSQgfCBhc3luYykgPT09IHRydWUgPyB0cnVlIDogbnVsbFwiXG4gICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCIoZGlzYWJsZSQgfCBhc3luYykgPT09IHRydWUgPyB0cnVlIDogbnVsbFwiXG4gICAgICAgICAgICBbcHJpbWFyeUNhbGVuZGFyVHlwZV09XCJTZXR0aW5nLkNhbGVuZGFyVHlwZSAhPT0gJ0dyZWdvcmlhbicgPyAnUGVyc2lhbicgOiBTZXR0aW5nLkNhbGVuZGFyVHlwZVwiXG4gICAgICAgID5cbiAgICAgICAgPC91aTUtZGF0ZXJhbmdlLXBpY2tlcj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJidG4tZHJvcC1kb3duXCJcbiAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgW2ZkVHlwZV09XCInc3RhbmRhcmQnXCJcbiAgICAgICAgICAgIFtnbHlwaF09XCInc2xpbS1hcnJvdy1kb3duJ1wiXG4gICAgICAgICAgICAoY2xpY2spPVwicG9wb3Zlci5vcGVuKClcIlxuICAgICAgICA+PC9idXR0b24+XG4gICAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbjxuZy10ZW1wbGF0ZSAjaW5wdXQ+XG4gICAgPCEtLSA8aW5wdXQgZmQtZm9ybS1jb250cm9sIFsobmdNb2RlbCldPVwidmFsdWVTdHJcIiBbZmQtaW5saW5lLWhlbHBdPVwidmFsdWVTdHJcIiBbcmVhZE9ubHldPVwidHJ1ZVwiIC8+IC0tPlxuXG4gICAgPGZkLWlucHV0LWdyb3VwXG4gICAgICAgIHBsYWNlbWVudD1cImFmdGVyXCJcbiAgICAgICAgZ2x5cGg9XCJzbGltLWFycm93LWRvd25cIlxuICAgICAgICBnbHlwaEFyaWFMYWJlbD1cIlNlbGVjdCBEYXRlIFJhbmdlXCJcbiAgICAgICAgW2J1dHRvbl09XCJ0cnVlXCJcbiAgICAgICAgW25nTW9kZWxdPVwidmFsdWVTdHJcIlxuICAgICAgICAoYWRkT25CdXR0b25DbGlja2VkKT1cInBvcG92ZXIub3BlbigpXCJcbiAgICA+XG4gICAgPC9mZC1pbnB1dC1ncm91cD5cbjwvbmctdGVtcGxhdGU+XG5cbjwhLS0gPGJ1dHRvbiBmZC1idXR0b24+XG4gICAgPGZkLXNlbGVjdCAodmFsdWVDaGFuZ2UpPVwib25EYXRlUmFuZ2VUeXBlQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgPGZkLW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGRhdGVSYW5nZXNcIiBbdmFsdWVdPVwib3B0aW9uXCI+e3sgb3B0aW9uIHwgYmJiVHJhbnNsYXRlIH19PC9mZC1vcHRpb24+XG4gICAgPC9mZC1zZWxlY3Q+XG48L2J1dHRvbj4gLS0+XG5cbjxmZC1wb3BvdmVyXG4gICAgI3BvcG92ZXJcbiAgICBzdHlsZT1cImRpc3BsYXk6IGJsb2NrXCJcbiAgICBbZmlsbENvbnRyb2xNb2RlXT1cIidhdC1sZWFzdCdcIlxuICAgIHBsYWNlbWVudD1cImJvdHRvbS1zdGFydFwiXG4gICAgWyhpc09wZW4pXT1cImlzT3BlblBvcG92ZXJcIlxuPlxuICAgIDxmZC1wb3BvdmVyLWJvZHk+XG4gICAgICAgIDx1bCBmZC1saXN0PlxuICAgICAgICAgICAgPGxpIGZkLWxpc3QtaXRlbSAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGRhdGVSYW5nZXNcIiAoY2xpY2spPVwicG9wb3Zlci5jbG9zZSgpOyBvbkRhdGVSYW5nZVR5cGVDaGFuZ2Uob3B0aW9uKVwiPlxuICAgICAgICAgICAgICAgIDxhIGZkLWxpc3QtbGluaz5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbGlzdC10aXRsZT57eyBvcHRpb24gfCBiYmJUcmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgPC91bD5cbiAgICA8L2ZkLXBvcG92ZXItYm9keT5cbjwvZmQtcG9wb3Zlcj5cbiJdfQ==
@@ -13,4 +13,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
13
13
  type: Component,
14
14
  args: [{ selector: 'bsu-ui-graph', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div id=\"graph\"></div>\r\n", styles: [":host{display:block}:host div{min-height:800px;width:100%}\n"] }]
15
15
  }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZ3JhcGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZ3JhcGgvdWktZ3JhcGguY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZ3JhcGgvdWktZ3JhcGguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQix1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBUTNFLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSx3QkFBaUQ7SUFDbkYsZUFBZTtRQUNYLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQixDQUFDOzs2R0FKUSxnQkFBZ0I7aUdBQWhCLGdCQUFnQiwyRUNYN0IsOEJBQ0E7MkZEVWEsZ0JBQWdCO2tCQU41QixTQUFTOytCQUNJLGNBQWMsbUJBR1AsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVWlSZXBvcnRWaWV3QmFzZVNldHRpbmcgfSBmcm9tICdkaXN0L2JhcnNhLW5vdmluLXJheS1jb3JlJztcbmltcG9ydCB7IFNhcFVpUmVwb3J0QmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL3NhcC11aS1yZXBvcnQtYmFzZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JzdS11aS1ncmFwaCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VpLWdyYXBoLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi91aS1ncmFwaC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFVpR3JhcGhDb21wb25lbnQgZXh0ZW5kcyBTYXBVaVJlcG9ydEJhc2VDb21wb25lbnQ8VWlSZXBvcnRWaWV3QmFzZVNldHRpbmc+IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICAgICAgdGhpcy5jb250ZXh0LkRyYXcoJ2dyYXBoJyk7XG4gICAgfVxufVxuIiwiPGRpdiBpZD1cImdyYXBoXCI+PC9kaXY+XHJcbiJdfQ==
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZ3JhcGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZ3JhcGgvdWktZ3JhcGguY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZ3JhcGgvdWktZ3JhcGguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQix1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBUTNFLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSx3QkFBaUQ7SUFDbkYsZUFBZTtRQUNYLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQixDQUFDOzs2R0FKUSxnQkFBZ0I7aUdBQWhCLGdCQUFnQiwyRUNYN0IsOEJBQ0E7MkZEVWEsZ0JBQWdCO2tCQU41QixTQUFTOytCQUNJLGNBQWMsbUJBR1AsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVWlSZXBvcnRWaWV3QmFzZVNldHRpbmcgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5pbXBvcnQgeyBTYXBVaVJlcG9ydEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9zYXAtdWktcmVwb3J0LWJhc2UuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdic3UtdWktZ3JhcGgnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi91aS1ncmFwaC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktZ3JhcGguY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBVaUdyYXBoQ29tcG9uZW50IGV4dGVuZHMgU2FwVWlSZXBvcnRCYXNlQ29tcG9uZW50PFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nPiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgICAgIHRoaXMuY29udGV4dC5EcmF3KCdncmFwaCcpO1xuICAgIH1cbn1cbiIsIjxkaXYgaWQ9XCJncmFwaFwiPjwvZGl2PlxyXG4iXX0=
@@ -83,10 +83,10 @@ export class UiPictureFileComponent extends FieldBaseComponent {
83
83
  }
84
84
  }
85
85
  UiPictureFileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: UiPictureFileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
86
- UiPictureFileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: UiPictureFileComponent, selector: "bsu-ui-picture-file", inputs: { imageUrl: "imageUrl", sizeMode: "sizeMode" }, providers: [UploadService], usesInheritance: true, ngImport: i0, template: "<div\n [style.max-height.px]=\"Setting.SizeMode === '2' ? null : layoutInfo.ControlBounds.height\"\n [class.no-inlineEdit]=\"!inlineEdit\"\n [class.inlineEdit]=\"inlineEdit\"\n>\n <div *ngIf=\"!((disableOrReadonly$ | async) === true || Setting.IsReadOnly === true)\">\n <fd-toolbar [fdType]=\"'transparent'\">\n <fd-file-uploader\n #uploader\n fd-toolbar-item\n [style.display]=\"'none'\"\n [id]=\"id\"\n [name]=\"'uploader_' + id\"\n [placeholder]=\"'AttachPicture' | bbbTranslate\"\n [buttonLabel]=\"'AttachPicture' | bbbTranslate\"\n [buttonAriaLabel]=\"'AttachPicture' | bbbTranslate\"\n [accept]=\"validExtensions\"\n [(ngModel)]=\"files\"\n [multiple]=\"false\"\n (selectedFilesChanged)=\"onFileSelection($event)\"\n ></fd-file-uploader>\n <button\n fd-toolbar-item\n fd-button\n [disabled]=\"this.value && value?.IsDeleted !== true\"\n glyph=\"attachment\"\n [fdType]=\"'transparent'\"\n (click)=\"uploader.open()\"\n ></button>\n <button\n class=\"delete\"\n fd-button\n fd-toolbar-item\n [disabled]=\"!this.value || value?.IsDeleted\"\n glyph=\"delete\"\n [fdType]=\"'transparent'\"\n (click)=\"onFileDeleted(uploader)\"\n ></button>\n\n <ng-container *ngIf=\"uploadState$ | async as uploadState\">\n <ng-container *ngIf=\"uploadState !== 'Complete'\">\n <fdp-slider\n fd-toolbar-item\n [id]=\"id + '1'\"\n [name]=\"'slider_' + id\"\n [value]=\"progress$ | async\"\n [min]=\"0\"\n [max]=\"100\"\n [step]=\"1\"\n >\n </fdp-slider>\n <button\n *ngIf=\"uploadState === 'Uploading'\"\n fd-toolbar-item\n fd-button\n glyph=\"stop\"\n fdType=\"transparent\"\n (click)=\"onTerminate()\"\n ></button>\n <button\n *ngIf=\"uploadState === 'Error'\"\n fd-toolbar-item\n fd-button\n glyph=\"refresh\"\n [fdType]=\"'transparent'\"\n (click)=\"onRetry()\"\n ></button>\n </ng-container>\n </ng-container>\n </fd-toolbar>\n </div>\n <div\n *ngIf=\"!inlineEdit; else avatarTemplate\"\n [style.max-height.px]=\"Setting.SizeMode === '0' ? layoutInfo.ControlBounds.height : null\"\n [style.max-width.px]=\"Setting.SizeMode === '0' ? layoutInfo.ControlBounds.width : null\"\n [style.text-align]=\"Setting.SizeMode === '3' ? 'center' : null\"\n >\n <img\n *ngIf=\"(value && imageUrl) || Setting.HasDefaultPicture\"\n [src]=\"imageUrl\"\n [ngClass]=\"Setting.SizeMode === '1' ? 'cover' : 'contain'\"\n [style.height.px]=\"Setting.SizeMode !== '2' ? layoutInfo.ControlBounds.height : null\"\n />\n </div>\n <ng-template #avatarTemplate>\n <fd-avatar [size]=\"'m'\" [image]=\"imageUrl\"></fd-avatar>\n </ng-template>\n</div>\n<bsu-mask *ngIf=\"uploading$ | async\"></bsu-mask>\n", styles: [":host{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;overflow:hidden;margin-bottom:.25rem;margin-top:.1875rem}:host ::ng-deep .fd-slider__handle{display:none}:host ::ng-deep .delete button{border-color:transparent!important;background-color:transparent!important}img{width:100%}.pic-wrapper{background-repeat:no-repeat;background-position:center}.cover{max-width:100%;max-height:100%;min-height:100%;width:100%;height:100%;background-size:cover}.contain{max-width:100%;max-height:100%;min-height:100%;width:auto;height:100%;background-size:contain}.no-inlineEdit{min-height:140px;width:100%;position:relative;display:flex;flex-direction:column}.inlineEdit{width:100%;position:relative;display:flex;flex-direction:row-reverse;align-items:end;justify-content:start}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "backgroundImage", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.FileUploaderComponent, selector: "fd-file-uploader", inputs: ["disabled", "required", "multiple", "accept", "dragndrop", "maxFileSize", "minFileSize", "id", "ariaLabel", "ariaLabelledBy", "placeholder", "buttonLabel", "buttonAriaLabel", "state", "fileLimit", "inputHidden", "width"], outputs: ["selectedFilesChanged", "selectedInvalidFiles", "onDragEnter", "onDragLeave"] }, { kind: "component", type: i6.ToolbarComponent, selector: "fd-toolbar", inputs: ["class", "shouldOverflow", "fdType", "hasTitle", "title", "active", "clearBorder", "forceOverflow", "tabindex"] }, { kind: "directive", type: i6.ToolbarItemDirective, selector: "[fd-toolbar-item]" }, { kind: "component", type: i7.SliderComponent, selector: "fdp-slider", inputs: ["class", "min", "max", "step", "jump", "tickmarksBetweenLabels", "mode", "showTicks", "showTicksLabels", "customValues", "tooltipMode", "hideProgressBar", "value"], outputs: ["sliderChange"] }, { kind: "component", type: i8.MaskComponent, selector: "bsu-mask", inputs: ["size", "marginTop"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i9.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
86
+ UiPictureFileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: UiPictureFileComponent, selector: "bsu-ui-picture-file", inputs: { imageUrl: "imageUrl", sizeMode: "sizeMode" }, providers: [UploadService], usesInheritance: true, ngImport: i0, template: "<div\n [style.max-height.px]=\"Setting.SizeMode === '2' ? null : layoutInfo.ControlBounds.height\"\n [class.no-inlineEdit]=\"!inlineEdit\"\n [class.inlineEdit]=\"inlineEdit\"\n>\n <div *ngIf=\"!((disableOrReadonly$ | async) === true || Setting.IsReadOnly === true)\">\n <fd-toolbar [fdType]=\"'transparent'\">\n <fd-file-uploader\n #uploader\n fd-toolbar-item\n [style.display]=\"'none'\"\n [id]=\"id\"\n [name]=\"'uploader_' + id\"\n [placeholder]=\"'AttachPicture' | bbbTranslate\"\n [buttonLabel]=\"'AttachPicture' | bbbTranslate\"\n [buttonAriaLabel]=\"'AttachPicture' | bbbTranslate\"\n [accept]=\"validExtensions\"\n [(ngModel)]=\"files\"\n [multiple]=\"false\"\n (selectedFilesChanged)=\"onFileSelection($event)\"\n ></fd-file-uploader>\n <button\n fd-toolbar-item\n fd-button\n [disabled]=\"this.value && value?.IsDeleted !== true\"\n glyph=\"attachment\"\n [fdType]=\"'transparent'\"\n (click)=\"uploader.open()\"\n ></button>\n <button\n class=\"delete\"\n fd-button\n fd-toolbar-item\n [disabled]=\"!this.value || value?.IsDeleted\"\n glyph=\"delete\"\n [fdType]=\"'transparent'\"\n (click)=\"onFileDeleted(uploader)\"\n ></button>\n\n <ng-container *ngIf=\"uploadState$ | async as uploadState\">\n <ng-container *ngIf=\"uploadState !== 'Complete'\">\n <fdp-slider\n fd-toolbar-item\n [id]=\"id + '1'\"\n [name]=\"'slider_' + id\"\n [value]=\"progress$ | async\"\n [min]=\"0\"\n [max]=\"100\"\n [step]=\"1\"\n >\n </fdp-slider>\n <button\n *ngIf=\"uploadState === 'Uploading'\"\n fd-toolbar-item\n fd-button\n glyph=\"stop\"\n fdType=\"transparent\"\n (click)=\"onTerminate()\"\n ></button>\n <button\n *ngIf=\"uploadState === 'Error'\"\n fd-toolbar-item\n fd-button\n glyph=\"refresh\"\n [fdType]=\"'transparent'\"\n (click)=\"onRetry()\"\n ></button>\n </ng-container>\n </ng-container>\n </fd-toolbar>\n </div>\n <div\n *ngIf=\"!inlineEdit; else avatarTemplate\"\n [style.max-height.px]=\"Setting.SizeMode === '0' ? layoutInfo.ControlBounds.height : null\"\n [style.max-width.px]=\"Setting.SizeMode === '0' ? layoutInfo.ControlBounds.width : null\"\n [style.text-align]=\"Setting.SizeMode === '3' ? 'center' : null\"\n >\n <img\n *ngIf=\"(value && imageUrl) || Setting.HasDefaultPicture\"\n [src]=\"imageUrl\"\n [ngClass]=\"Setting.SizeMode === '1' ? 'cover' : 'contain'\"\n [style.height.px]=\"Setting.SizeMode !== '2' ? layoutInfo.ControlBounds.height : null\"\n />\n </div>\n <ng-template #avatarTemplate>\n <fd-avatar [size]=\"'m'\" [image]=\"imageUrl\"></fd-avatar>\n </ng-template>\n</div>\n<bsu-mask *ngIf=\"uploading$ | async\"></bsu-mask>\n", styles: [":host{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;overflow:hidden;margin-bottom:.25rem;margin-top:.1875rem}:host ::ng-deep .fd-slider__handle{display:none}:host ::ng-deep .delete button{border-color:transparent!important;background-color:transparent!important}img{width:100%}.pic-wrapper{background-repeat:no-repeat;background-position:center}.cover{max-width:100%;max-height:100%;min-height:100%;width:100%;height:100%;background-size:cover}.contain{max-width:100%;max-height:100%;min-height:100%;width:auto;height:100%;background-size:contain}.no-inlineEdit{min-height:140px;width:100%;position:relative;display:flex;flex-direction:column}.inlineEdit{width:100%;position:relative;display:flex;flex-direction:row-reverse;align-items:end;justify-content:flex-start}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "backgroundImage", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.FileUploaderComponent, selector: "fd-file-uploader", inputs: ["disabled", "required", "multiple", "accept", "dragndrop", "maxFileSize", "minFileSize", "id", "ariaLabel", "ariaLabelledBy", "placeholder", "buttonLabel", "buttonAriaLabel", "state", "fileLimit", "inputHidden", "width"], outputs: ["selectedFilesChanged", "selectedInvalidFiles", "onDragEnter", "onDragLeave"] }, { kind: "component", type: i6.ToolbarComponent, selector: "fd-toolbar", inputs: ["class", "shouldOverflow", "fdType", "hasTitle", "title", "active", "clearBorder", "forceOverflow", "tabindex"] }, { kind: "directive", type: i6.ToolbarItemDirective, selector: "[fd-toolbar-item]" }, { kind: "component", type: i7.SliderComponent, selector: "fdp-slider", inputs: ["class", "min", "max", "step", "jump", "tickmarksBetweenLabels", "mode", "showTicks", "showTicksLabels", "customValues", "tooltipMode", "hideProgressBar", "value"], outputs: ["sliderChange"] }, { kind: "component", type: i8.MaskComponent, selector: "bsu-mask", inputs: ["size", "marginTop"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i9.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
87
87
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: UiPictureFileComponent, decorators: [{
88
88
  type: Component,
89
- args: [{ selector: 'bsu-ui-picture-file', changeDetection: ChangeDetectionStrategy.OnPush, providers: [UploadService], template: "<div\n [style.max-height.px]=\"Setting.SizeMode === '2' ? null : layoutInfo.ControlBounds.height\"\n [class.no-inlineEdit]=\"!inlineEdit\"\n [class.inlineEdit]=\"inlineEdit\"\n>\n <div *ngIf=\"!((disableOrReadonly$ | async) === true || Setting.IsReadOnly === true)\">\n <fd-toolbar [fdType]=\"'transparent'\">\n <fd-file-uploader\n #uploader\n fd-toolbar-item\n [style.display]=\"'none'\"\n [id]=\"id\"\n [name]=\"'uploader_' + id\"\n [placeholder]=\"'AttachPicture' | bbbTranslate\"\n [buttonLabel]=\"'AttachPicture' | bbbTranslate\"\n [buttonAriaLabel]=\"'AttachPicture' | bbbTranslate\"\n [accept]=\"validExtensions\"\n [(ngModel)]=\"files\"\n [multiple]=\"false\"\n (selectedFilesChanged)=\"onFileSelection($event)\"\n ></fd-file-uploader>\n <button\n fd-toolbar-item\n fd-button\n [disabled]=\"this.value && value?.IsDeleted !== true\"\n glyph=\"attachment\"\n [fdType]=\"'transparent'\"\n (click)=\"uploader.open()\"\n ></button>\n <button\n class=\"delete\"\n fd-button\n fd-toolbar-item\n [disabled]=\"!this.value || value?.IsDeleted\"\n glyph=\"delete\"\n [fdType]=\"'transparent'\"\n (click)=\"onFileDeleted(uploader)\"\n ></button>\n\n <ng-container *ngIf=\"uploadState$ | async as uploadState\">\n <ng-container *ngIf=\"uploadState !== 'Complete'\">\n <fdp-slider\n fd-toolbar-item\n [id]=\"id + '1'\"\n [name]=\"'slider_' + id\"\n [value]=\"progress$ | async\"\n [min]=\"0\"\n [max]=\"100\"\n [step]=\"1\"\n >\n </fdp-slider>\n <button\n *ngIf=\"uploadState === 'Uploading'\"\n fd-toolbar-item\n fd-button\n glyph=\"stop\"\n fdType=\"transparent\"\n (click)=\"onTerminate()\"\n ></button>\n <button\n *ngIf=\"uploadState === 'Error'\"\n fd-toolbar-item\n fd-button\n glyph=\"refresh\"\n [fdType]=\"'transparent'\"\n (click)=\"onRetry()\"\n ></button>\n </ng-container>\n </ng-container>\n </fd-toolbar>\n </div>\n <div\n *ngIf=\"!inlineEdit; else avatarTemplate\"\n [style.max-height.px]=\"Setting.SizeMode === '0' ? layoutInfo.ControlBounds.height : null\"\n [style.max-width.px]=\"Setting.SizeMode === '0' ? layoutInfo.ControlBounds.width : null\"\n [style.text-align]=\"Setting.SizeMode === '3' ? 'center' : null\"\n >\n <img\n *ngIf=\"(value && imageUrl) || Setting.HasDefaultPicture\"\n [src]=\"imageUrl\"\n [ngClass]=\"Setting.SizeMode === '1' ? 'cover' : 'contain'\"\n [style.height.px]=\"Setting.SizeMode !== '2' ? layoutInfo.ControlBounds.height : null\"\n />\n </div>\n <ng-template #avatarTemplate>\n <fd-avatar [size]=\"'m'\" [image]=\"imageUrl\"></fd-avatar>\n </ng-template>\n</div>\n<bsu-mask *ngIf=\"uploading$ | async\"></bsu-mask>\n", styles: [":host{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;overflow:hidden;margin-bottom:.25rem;margin-top:.1875rem}:host ::ng-deep .fd-slider__handle{display:none}:host ::ng-deep .delete button{border-color:transparent!important;background-color:transparent!important}img{width:100%}.pic-wrapper{background-repeat:no-repeat;background-position:center}.cover{max-width:100%;max-height:100%;min-height:100%;width:100%;height:100%;background-size:cover}.contain{max-width:100%;max-height:100%;min-height:100%;width:auto;height:100%;background-size:contain}.no-inlineEdit{min-height:140px;width:100%;position:relative;display:flex;flex-direction:column}.inlineEdit{width:100%;position:relative;display:flex;flex-direction:row-reverse;align-items:end;justify-content:start}\n"] }]
89
+ args: [{ selector: 'bsu-ui-picture-file', changeDetection: ChangeDetectionStrategy.OnPush, providers: [UploadService], template: "<div\n [style.max-height.px]=\"Setting.SizeMode === '2' ? null : layoutInfo.ControlBounds.height\"\n [class.no-inlineEdit]=\"!inlineEdit\"\n [class.inlineEdit]=\"inlineEdit\"\n>\n <div *ngIf=\"!((disableOrReadonly$ | async) === true || Setting.IsReadOnly === true)\">\n <fd-toolbar [fdType]=\"'transparent'\">\n <fd-file-uploader\n #uploader\n fd-toolbar-item\n [style.display]=\"'none'\"\n [id]=\"id\"\n [name]=\"'uploader_' + id\"\n [placeholder]=\"'AttachPicture' | bbbTranslate\"\n [buttonLabel]=\"'AttachPicture' | bbbTranslate\"\n [buttonAriaLabel]=\"'AttachPicture' | bbbTranslate\"\n [accept]=\"validExtensions\"\n [(ngModel)]=\"files\"\n [multiple]=\"false\"\n (selectedFilesChanged)=\"onFileSelection($event)\"\n ></fd-file-uploader>\n <button\n fd-toolbar-item\n fd-button\n [disabled]=\"this.value && value?.IsDeleted !== true\"\n glyph=\"attachment\"\n [fdType]=\"'transparent'\"\n (click)=\"uploader.open()\"\n ></button>\n <button\n class=\"delete\"\n fd-button\n fd-toolbar-item\n [disabled]=\"!this.value || value?.IsDeleted\"\n glyph=\"delete\"\n [fdType]=\"'transparent'\"\n (click)=\"onFileDeleted(uploader)\"\n ></button>\n\n <ng-container *ngIf=\"uploadState$ | async as uploadState\">\n <ng-container *ngIf=\"uploadState !== 'Complete'\">\n <fdp-slider\n fd-toolbar-item\n [id]=\"id + '1'\"\n [name]=\"'slider_' + id\"\n [value]=\"progress$ | async\"\n [min]=\"0\"\n [max]=\"100\"\n [step]=\"1\"\n >\n </fdp-slider>\n <button\n *ngIf=\"uploadState === 'Uploading'\"\n fd-toolbar-item\n fd-button\n glyph=\"stop\"\n fdType=\"transparent\"\n (click)=\"onTerminate()\"\n ></button>\n <button\n *ngIf=\"uploadState === 'Error'\"\n fd-toolbar-item\n fd-button\n glyph=\"refresh\"\n [fdType]=\"'transparent'\"\n (click)=\"onRetry()\"\n ></button>\n </ng-container>\n </ng-container>\n </fd-toolbar>\n </div>\n <div\n *ngIf=\"!inlineEdit; else avatarTemplate\"\n [style.max-height.px]=\"Setting.SizeMode === '0' ? layoutInfo.ControlBounds.height : null\"\n [style.max-width.px]=\"Setting.SizeMode === '0' ? layoutInfo.ControlBounds.width : null\"\n [style.text-align]=\"Setting.SizeMode === '3' ? 'center' : null\"\n >\n <img\n *ngIf=\"(value && imageUrl) || Setting.HasDefaultPicture\"\n [src]=\"imageUrl\"\n [ngClass]=\"Setting.SizeMode === '1' ? 'cover' : 'contain'\"\n [style.height.px]=\"Setting.SizeMode !== '2' ? layoutInfo.ControlBounds.height : null\"\n />\n </div>\n <ng-template #avatarTemplate>\n <fd-avatar [size]=\"'m'\" [image]=\"imageUrl\"></fd-avatar>\n </ng-template>\n</div>\n<bsu-mask *ngIf=\"uploading$ | async\"></bsu-mask>\n", styles: [":host{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;overflow:hidden;margin-bottom:.25rem;margin-top:.1875rem}:host ::ng-deep .fd-slider__handle{display:none}:host ::ng-deep .delete button{border-color:transparent!important;background-color:transparent!important}img{width:100%}.pic-wrapper{background-repeat:no-repeat;background-position:center}.cover{max-width:100%;max-height:100%;min-height:100%;width:100%;height:100%;background-size:cover}.contain{max-width:100%;max-height:100%;min-height:100%;width:auto;height:100%;background-size:contain}.no-inlineEdit{min-height:140px;width:100%;position:relative;display:flex;flex-direction:column}.inlineEdit{width:100%;position:relative;display:flex;flex-direction:row-reverse;align-items:end;justify-content:flex-start}\n"] }]
90
90
  }], propDecorators: { imageUrl: [{
91
91
  type: Input
92
92
  }], sizeMode: [{
@@ -1,5 +1,5 @@
1
1
  import { ChangeDetectionStrategy, Component, ViewChild } from '@angular/core';
2
- import { BarsaApi, BaseComponent } from 'dist/barsa-novin-ray-core';
2
+ import { BarsaApi, BaseComponent } from 'barsa-novin-ray-core';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@fundamental-ngx/core";
5
5
  import * as i2 from "@angular/platform-browser";
@@ -111,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
111
111
  type: ViewChild,
112
112
  args: ['popup', { static: true }]
113
113
  }] } });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWwtbm90aWZ5LXBvcHVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL3VsLW5vdGlmeS1wb3B1cC91bC1ub3RpZnktcG9wdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWwtbm90aWZ5LXBvcHVwL3VsLW5vdGlmeS1wb3B1cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFzQyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbEgsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7OztBQTBCcEUsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGFBQWE7SUFvQnJELFlBQ1ksb0JBQXlDLEVBQ3pDLEVBQWMsRUFDZCxRQUFtQixFQUNuQixZQUEwQjtRQUVsQyxLQUFLLEVBQUUsQ0FBQztRQUxBLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBcUI7UUFDekMsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsaUJBQVksR0FBWixZQUFZLENBQWM7UUF0QnRDLG1CQUFjLEdBQWtCO1lBQzVCLEtBQUssRUFBRSxJQUFJO1lBQ1gsS0FBSyxFQUFFLElBQUk7WUFDWCxLQUFLLEVBQUUsSUFBSTtZQUNYLElBQUksRUFBRSxLQUFLO1lBQ1gsS0FBSyxFQUFFLElBQUk7WUFDWCxRQUFRLEVBQUUsSUFBSTtZQUNkLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLEtBQUssRUFBRSxJQUFJO1lBQ1gsUUFBUSxFQUFFLGFBQWE7WUFDdkIsU0FBUyxFQUFFLFNBQVM7WUFDcEIsSUFBSSxFQUFFLFFBQVE7WUFDZCwwQkFB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QztJQUN4RCxDQUFDOzttSEE5R1Esc0JBQXNCO3VHQUF0QixzQkFBc0Isd01DN0JuQyx1bkNBMEJBOzJGREdhLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDSSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTTtzTEFHVCxhQUFhO3NCQUFsRCxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBSZW5kZXJlcjIsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uQ29uZmlnLCBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcbmltcG9ydCB7IEJhcnNhQXBpLCBCYXNlQ29tcG9uZW50IH0gZnJvbSAnZGlzdC9iYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5cbmludGVyZmFjZSBOb3RpZnlPcHRpb25zIHtcbiAgICBTb3VuZDogYm9vbGVhbjsgLy8gU291bmQgb2Ygbm90aWZpY2F0aW9uLiBTZXQgdGhpcyBmYWxzZSB0byBkaXNhYmxlIHNvdW5kLlxuICAgIEltYWdlOiBzdHJpbmcgfCBudWxsOyAvLyBJbWFnZSBzb3VyY2Ugc3RyaW5nXG4gICAgVGl0bGU6IHN0cmluZyB8IG51bGw7IC8vIFRpdGxlIG9mIG5vdGlmaWNhdGlvbi4gSWYgeW91IGRvIG5vdCBpbmNsdWRlIHRoZSB0aXRsZSBpbiBvcHRpb25zIGl0IHdpbGwgYXV0b21hdGljYWxseSB0YWtlcyBpdHMgdmFsdWVcbiAgICBJY29uOiBib29sZWFuOyAvLyBJY29uIG9mIG5vdGlmaWNhdGlvbi4gTGVhdmUgYXMgaXMgZm9yIGRlZmF1bHQgaWNvbiBvciBzZXQgY3VzdG9tIHN0cmluZ1xuICAgIERlbGF5OiBudW1iZXI7IC8vIEhpZGUgbm90aWZpY2F0aW9uIGFmdGVyIHRoaXMgdGltZSAoaW4gbWlsaXNlY29uZHMpXG4gICAgQ2xvc2FibGU6IGJvb2xlYW47IC8vIE1ha2Ugbm90aWZpY2F0aW9ucyBjbG9zYWJsZVxuICAgIERlbGF5SW5kaWNhdG9yOiBib29sZWFuOyAvLyBTaG93IHRpbWVyIGluZGljYXRvclxuICAgIENsb3NlT25DbGljazogYm9vbGVhbjsgLy8gQ2xvc2Ugbm90aWZpY2F0aW9ucyBieSBjbGlja2luZyBvbiB0aGVtXG4gICAgSXNSdGw6IGJvb2xlYW47XG4gICAgUG9zaXRpb246IHN0cmluZyB8IG9iamVjdDsgLy8gQXZhaWxhYmxlIG9wdGlvbnM6IFwidG9wIGxlZnRcIiwgXCJ0b3AgcmlnaHRcIiwgXCJib3R0b20gbGVmdFwiLCBcImJvdHRvbSByaWdodFwiLCBcImNlbnRlciB0b3BcIiwgXCJjZW50ZXIgYm90dG9tXCJcbiAgICBTb3VuZFBhdGg6IHN0cmluZzsgLy8gVGhlIGZvbGRlciBwYXRoIHdoZXJlIHNvdW5kcyBhcmUgbG9jYXRlZFxuICAgIFNpemU6IHN0cmluZzsgLy8gbm9ybWFsLCBtaW5pLCBsYXJnZVxuICAgIENvbnRpbnVlRGVsYXlPbkluYWN0aXZlVGFiOiBib29sZWFuOyAvLyBDb250aW51ZSBkZWxheSB3aGVuIGJyb3dzZXIgdGFiIGlzIGluYWN0aXZlXG4gICAgV2lkdGg6IG51bWJlcjsgLy8gV2lkdGggb2Ygbm90aWZpY2F0aW9uIGJveFxuICAgIE1lc3NhZ2VIZWlnaHQ6IG51bWJlcjsgLy8gTm90aWZpY2F0aW9uIG1lc3NhZ2UgbWF4aW11bSBoZWlnaHQuXG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnN1LXVsLW5vdGlmeS1wb3B1cCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VsLW5vdGlmeS1wb3B1cC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdWwtbm90aWZ5LXBvcHVwLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVWxOb3RpZnlQb3B1cENvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICAgIEBWaWV3Q2hpbGQoJ3BvcHVwJywgeyBzdGF0aWM6IHRydWUgfSkgcG9wdXBUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBkZWZhdWx0T3B0aW9uczogTm90aWZ5T3B0aW9ucyA9IHtcbiAgICAgICAgU291bmQ6IHRydWUsXG4gICAgICAgIEltYWdlOiBudWxsLFxuICAgICAgICBUaXRsZTogbnVsbCxcbiAgICAgICAgSWNvbjogZmFsc2UsXG4gICAgICAgIERlbGF5OiA1MDAwLFxuICAgICAgICBDbG9zYWJsZTogdHJ1ZSxcbiAgICAgICAgRGVsYXlJbmRpY2F0b3I6IHRydWUsXG4gICAgICAgIENsb3NlT25DbGljazogdHJ1ZSxcbiAgICAgICAgSXNSdGw6IHRydWUsXG4gICAgICAgIFBvc2l0aW9uOiAnYm90dG9tIGxlZnQnLFxuICAgICAgICBTb3VuZFBhdGg6ICdzb3VuZHMvJyxcbiAgICAgICAgU2l6ZTogJ25vcm1hbCcsXG4gICAgICAgIENvbnRpbnVlRGVsYXlPbkluYWN0aXZlVGFiOiB0cnVlLFxuICAgICAgICBXaWR0aDogODAwLFxuICAgICAgICBNZXNzYWdlSGVpZ2h0OiA2MFxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBwcml2YXRlIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIEJhcnNhQXBpLlVsLk5vdGlmeVBvcHVwLm9uKHtcbiAgICAgICAgICAgIFNob3c6IHRoaXMuX3Nob3dQb3B1cC5iaW5kKHRoaXMpXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3Nob3dQb3B1cChtc2csIHRpdGxlLCB0eXBlLCBpbWFnZSwgbW8sIHVpT3B0aW9uczogTm90aWZ5T3B0aW9ucywgb3RoZXJPcHRpb25zKTogdm9pZCB7XG4gICAgICAgIHVpT3B0aW9ucyA9IHRoaXMuX2dldFVpT3B0aW9ucyh1aU9wdGlvbnMpO1xuICAgICAgICBjb25zdCBjYWxsYmFjayA9IHRoaXMuX2dldE5vdGlmeUNhbGxiYWNrKG1vLCBvdGhlck9wdGlvbnMpO1xuICAgICAgICBjb25zdCBub3RpZmljYXRpb25Db25maWcgPSB0aGlzLl9nZXROb3RpZmljYXRpb25Db25maWcoaW1hZ2UsIHRpdGxlLCB1aU9wdGlvbnMsIG1zZywgY2FsbGJhY2spO1xuICAgICAgICBjb25zdCBub3RpZmljYXRpb25SZWYgPSB0aGlzLl9ub3RpZmljYXRpb25TZXJ2aWNlLm9wZW4odGhpcy5wb3B1cFRlbXBsYXRlLCBub3RpZmljYXRpb25Db25maWcpO1xuICAgICAgICB0aGlzLl9ub3RpZmljYXRpb25TZXJ2aWNlLm5vdGlmaWNhdGlvbnMuZm9yRWFjaChcbiAgICAgICAgICAgIChjKSA9PiAoYy5ub3RpZmljYXRpb25Db21wb25lbnQuaW5zdGFuY2UuY2xvc2VPbk5hdmlnYXRpb24gPSBmYWxzZSlcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5fc2V0Tm90aWZ5UG9zaXRpb24odWlPcHRpb25zLlBvc2l0aW9uKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiBub3RpZmljYXRpb25SZWYuZGlzbWlzcygnZGlzbWlzc2VkJyksIHVpT3B0aW9ucy5EZWxheSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0VWlPcHRpb25zKHVpT3B0aW9uczogTm90aWZ5T3B0aW9ucyk6IE5vdGlmeU9wdGlvbnMge1xuICAgICAgICBpZiAodWlPcHRpb25zKSB7XG4gICAgICAgICAgICByZXR1cm4geyAuLi50aGlzLmRlZmF1bHRPcHRpb25zLCAuLi51aU9wdGlvbnMgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmRlZmF1bHRPcHRpb25zO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0Tm90aWZpY2F0aW9uQ29uZmlnKFxuICAgICAgICBpbWFnZSxcbiAgICAgICAgdGl0bGUsXG4gICAgICAgIHVpT3B0aW9uczogTm90aWZ5T3B0aW9ucyxcbiAgICAgICAgbXNnLFxuICAgICAgICBjYWxsYmFjazogKCkgPT4gdm9pZFxuICAgICk6IE5vdGlmaWNhdGlvbkNvbmZpZyB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpZDogJ3Rlc3RfaWRfbm90aWZ5JyxcbiAgICAgICAgICAgIGNvbnRhaW5lcjogdGhpcy5lbC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgIGltYWdlLFxuICAgICAgICAgICAgICAgIHRpdGxlLFxuICAgICAgICAgICAgICAgIENsb3NhYmxlOiB1aU9wdGlvbnMuQ2xvc2FibGUsXG4gICAgICAgICAgICAgICAgaXNSdGw6IHVpT3B0aW9ucy5Jc1J0bCxcbiAgICAgICAgICAgICAgICBtc2c6IHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKG1zZyksXG4gICAgICAgICAgICAgICAgY2FsbGJhY2tcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB3aWR0aDogdWlPcHRpb25zLldpZHRoLnRvU3RyaW5nKCkgKyAncHgnXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0Tm90aWZ5Q2FsbGJhY2sobW8sIG90aGVyT3B0aW9ucyk6ICgpID0+IHZvaWQge1xuICAgICAgICBsZXQgY2FsbGJhY2sgPSAoKTogdm9pZCA9PiB7fTtcbiAgICAgICAgaWYgKG1vKSB7XG4gICAgICAgICAgICBjYWxsYmFjayA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICBCYXJzYUFwaS5Cdy5Gb3JtLlNob3coe1xuICAgICAgICAgICAgICAgICAgICBNbzogbW9cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSBpZiAob3RoZXJPcHRpb25zKSB7XG4gICAgICAgICAgICBjYWxsYmFjayA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICBCYXJzYUFwaS5Cdy5Gb3JtLlNob3coe1xuICAgICAgICAgICAgICAgICAgICBNb0lkOiBvdGhlck9wdGlvbnMuTW9JZCxcbiAgICAgICAgICAgICAgICAgICAgVHlwZURlZklkOiBvdGhlck9wdGlvbnMuVHlwZURlZklkXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjYWxsYmFjaztcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXROb3RpZnlQb3NpdGlvbihwb3NpdGlvbik6IHZvaWQge1xuICAgICAgICBjb25zdCBub3RpZnlDb250YWluZXIgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignZmQtbm90aWZpY2F0aW9uLWNvbnRhaW5lcicpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKG5vdGlmeUNvbnRhaW5lciwgJ3Vuc2V0LXBvc2l0aW9ucycpO1xuICAgICAgICBjb25zdCBpc1N0cmluZyA9IHR5cGVvZiBwb3NpdGlvbiA9PT0gJ3N0cmluZyc7XG4gICAgICAgIGlzU3RyaW5nID8gdGhpcy5fc2V0Q3NzQ2xhc3MocG9zaXRpb24sIG5vdGlmeUNvbnRhaW5lcikgOiB0aGlzLl9zZXRTdHlsZShub3RpZnlDb250YWluZXIsIHBvc2l0aW9uKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXRDc3NDbGFzcyhwb3NpdGlvbiwgbm90aWZ5Q29udGFpbmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNzc0NsYXNzID0gcG9zaXRpb24ucmVwbGFjZSgnICcsICctJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3Mobm90aWZ5Q29udGFpbmVyLCBjc3NDbGFzcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2V0U3R5bGUobm90aWZ5Q29udGFpbmVyLCBwb3NpdGlvbik6IHZvaWQge1xuICAgICAgICBjb25zdCBsZWZ0ID0gcG9zaXRpb24ubGVmdC50b1N0cmluZygpICsgJ3B4JztcbiAgICAgICAgY29uc3QgdG9wID0gcG9zaXRpb24udG9wLnRvU3RyaW5nKCkgKyAncHgnO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKG5vdGlmeUNvbnRhaW5lciwgJ2xlZnQnLCBsZWZ0KTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShub3RpZnlDb250YWluZXIsICd0b3AnLCB0b3ApO1xuICAgIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSBsZXQtbm90aWZpY2F0aW9uICNwb3B1cD5cclxuICAgIDxmZC1ub3RpZmljYXRpb24tYm9keSBbZGlyXT1cIm5vdGlmaWNhdGlvbi5kYXRhPy5pc1J0bCA/ICdydGwnIDogJ2x0cidcIiAoY2xpY2spPVwibm90aWZpY2F0aW9uLmRhdGE/LmNhbGxiYWNrKClcIj5cclxuICAgICAgICA8ZmQtYXZhdGFyIFtjaXJjbGVdPVwidHJ1ZVwiIHNpemU9XCJ4c1wiIFtpbWFnZV09XCJub3RpZmljYXRpb24uZGF0YT8uaW1hZ2VcIj48L2ZkLWF2YXRhcj5cclxuICAgICAgICA8ZmQtbm90aWZpY2F0aW9uLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgIDxmZC1ub3RpZmljYXRpb24taGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBmZC1ub3RpZmljYXRpb24taW5kaWNhdG9yIHR5cGU9XCJzdWNjZXNzXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8aDIgZmQtbm90aWZpY2F0aW9uLXRpdGxlIFt1bnJlYWRdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IG5vdGlmaWNhdGlvbi5kYXRhPy50aXRsZSB9fVxyXG4gICAgICAgICAgICAgICAgPC9oMj5cclxuICAgICAgICAgICAgPC9mZC1ub3RpZmljYXRpb24taGVhZGVyPlxyXG5cclxuICAgICAgICAgICAgPHAgZmQtbm90aWZpY2F0aW9uLXBhcmFncmFwaCBbaW5uZXJIdG1sXT1cIm5vdGlmaWNhdGlvbi5kYXRhPy5tc2dcIj48L3A+XHJcbiAgICAgICAgPC9mZC1ub3RpZmljYXRpb24tY29udGVudD5cclxuXHJcbiAgICAgICAgPGZkLW5vdGlmaWNhdGlvbi1hY3Rpb25zPlxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICBmZC1idXR0b25cclxuICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcclxuICAgICAgICAgICAgICAgIGdseXBoPVwiZGVjbGluZVwiXHJcbiAgICAgICAgICAgICAgICB0aXRsZT1cImNsb3NlXCJcclxuICAgICAgICAgICAgICAgIFtjb21wYWN0XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5vdGlmaWNhdGlvbi5jbG9zZSgpXCJcclxuICAgICAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgICAgIDwvZmQtbm90aWZpY2F0aW9uLWFjdGlvbnM+XHJcbiAgICA8L2ZkLW5vdGlmaWNhdGlvbi1ib2R5PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWwtbm90aWZ5LXBvcHVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL3VsLW5vdGlmeS1wb3B1cC91bC1ub3RpZnktcG9wdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWwtbm90aWZ5LXBvcHVwL3VsLW5vdGlmeS1wb3B1cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFzQyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbEgsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7OztBQTBCL0QsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGFBQWE7SUFvQnJELFlBQ1ksb0JBQXlDLEVBQ3pDLEVBQWMsRUFDZCxRQUFtQixFQUNuQixZQUEwQjtRQUVsQyxLQUFLLEVBQUUsQ0FBQztRQUxBLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBcUI7UUFDekMsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsaUJBQVksR0FBWixZQUFZLENBQWM7UUF0QnRDLG1CQUFjLEdBQWtCO1lBQzVCLEtBQUssRUFBRSxJQUFJO1lBQ1gsS0FBSyxFQUFFLElBQUk7WUFDWCxLQUFLLEVBQUUsSUFBSTtZQUNYLElBQUksRUFBRSxLQUFLO1lBQ1gsS0FBSyxFQUFFLElBQUk7WUFDWCxRQUFRLEVBQUUsSUFBSTtZQUNkLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLEtBQUssRUFBRSxJQUFJO1lBQ1gsUUFBUSxFQUFFLGFBQWE7WUFDdkIsU0FBUyxFQUFFLFNBQVM7WUFDcEIsSUFBSSxFQUFFLFFBQVE7WUFDZCwwQkFB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QztJQUN4RCxDQUFDOzttSEE5R1Esc0JBQXNCO3VHQUF0QixzQkFBc0Isd01DN0JuQyx1bkNBMEJBOzJGREdhLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDSSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTTtzTEFHVCxhQUFhO3NCQUFsRCxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBSZW5kZXJlcjIsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uQ29uZmlnLCBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcbmltcG9ydCB7IEJhcnNhQXBpLCBCYXNlQ29tcG9uZW50IH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5pbnRlcmZhY2UgTm90aWZ5T3B0aW9ucyB7XG4gICAgU291bmQ6IGJvb2xlYW47IC8vIFNvdW5kIG9mIG5vdGlmaWNhdGlvbi4gU2V0IHRoaXMgZmFsc2UgdG8gZGlzYWJsZSBzb3VuZC5cbiAgICBJbWFnZTogc3RyaW5nIHwgbnVsbDsgLy8gSW1hZ2Ugc291cmNlIHN0cmluZ1xuICAgIFRpdGxlOiBzdHJpbmcgfCBudWxsOyAvLyBUaXRsZSBvZiBub3RpZmljYXRpb24uIElmIHlvdSBkbyBub3QgaW5jbHVkZSB0aGUgdGl0bGUgaW4gb3B0aW9ucyBpdCB3aWxsIGF1dG9tYXRpY2FsbHkgdGFrZXMgaXRzIHZhbHVlXG4gICAgSWNvbjogYm9vbGVhbjsgLy8gSWNvbiBvZiBub3RpZmljYXRpb24uIExlYXZlIGFzIGlzIGZvciBkZWZhdWx0IGljb24gb3Igc2V0IGN1c3RvbSBzdHJpbmdcbiAgICBEZWxheTogbnVtYmVyOyAvLyBIaWRlIG5vdGlmaWNhdGlvbiBhZnRlciB0aGlzIHRpbWUgKGluIG1pbGlzZWNvbmRzKVxuICAgIENsb3NhYmxlOiBib29sZWFuOyAvLyBNYWtlIG5vdGlmaWNhdGlvbnMgY2xvc2FibGVcbiAgICBEZWxheUluZGljYXRvcjogYm9vbGVhbjsgLy8gU2hvdyB0aW1lciBpbmRpY2F0b3JcbiAgICBDbG9zZU9uQ2xpY2s6IGJvb2xlYW47IC8vIENsb3NlIG5vdGlmaWNhdGlvbnMgYnkgY2xpY2tpbmcgb24gdGhlbVxuICAgIElzUnRsOiBib29sZWFuO1xuICAgIFBvc2l0aW9uOiBzdHJpbmcgfCBvYmplY3Q7IC8vIEF2YWlsYWJsZSBvcHRpb25zOiBcInRvcCBsZWZ0XCIsIFwidG9wIHJpZ2h0XCIsIFwiYm90dG9tIGxlZnRcIiwgXCJib3R0b20gcmlnaHRcIiwgXCJjZW50ZXIgdG9wXCIsIFwiY2VudGVyIGJvdHRvbVwiXG4gICAgU291bmRQYXRoOiBzdHJpbmc7IC8vIFRoZSBmb2xkZXIgcGF0aCB3aGVyZSBzb3VuZHMgYXJlIGxvY2F0ZWRcbiAgICBTaXplOiBzdHJpbmc7IC8vIG5vcm1hbCwgbWluaSwgbGFyZ2VcbiAgICBDb250aW51ZURlbGF5T25JbmFjdGl2ZVRhYjogYm9vbGVhbjsgLy8gQ29udGludWUgZGVsYXkgd2hlbiBicm93c2VyIHRhYiBpcyBpbmFjdGl2ZVxuICAgIFdpZHRoOiBudW1iZXI7IC8vIFdpZHRoIG9mIG5vdGlmaWNhdGlvbiBib3hcbiAgICBNZXNzYWdlSGVpZ2h0OiBudW1iZXI7IC8vIE5vdGlmaWNhdGlvbiBtZXNzYWdlIG1heGltdW0gaGVpZ2h0LlxufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JzdS11bC1ub3RpZnktcG9wdXAnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi91bC1ub3RpZnktcG9wdXAuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3VsLW5vdGlmeS1wb3B1cC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFVsTm90aWZ5UG9wdXBDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgICBAVmlld0NoaWxkKCdwb3B1cCcsIHsgc3RhdGljOiB0cnVlIH0pIHBvcHVwVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgZGVmYXVsdE9wdGlvbnM6IE5vdGlmeU9wdGlvbnMgPSB7XG4gICAgICAgIFNvdW5kOiB0cnVlLFxuICAgICAgICBJbWFnZTogbnVsbCxcbiAgICAgICAgVGl0bGU6IG51bGwsXG4gICAgICAgIEljb246IGZhbHNlLFxuICAgICAgICBEZWxheTogNTAwMCxcbiAgICAgICAgQ2xvc2FibGU6IHRydWUsXG4gICAgICAgIERlbGF5SW5kaWNhdG9yOiB0cnVlLFxuICAgICAgICBDbG9zZU9uQ2xpY2s6IHRydWUsXG4gICAgICAgIElzUnRsOiB0cnVlLFxuICAgICAgICBQb3NpdGlvbjogJ2JvdHRvbSBsZWZ0JyxcbiAgICAgICAgU291bmRQYXRoOiAnc291bmRzLycsXG4gICAgICAgIFNpemU6ICdub3JtYWwnLFxuICAgICAgICBDb250aW51ZURlbGF5T25JbmFjdGl2ZVRhYjogdHJ1ZSxcbiAgICAgICAgV2lkdGg6IDgwMCxcbiAgICAgICAgTWVzc2FnZUhlaWdodDogNjBcbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX25vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSBkb21TYW5pdGl6ZXI6IERvbVNhbml0aXplclxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICBCYXJzYUFwaS5VbC5Ob3RpZnlQb3B1cC5vbih7XG4gICAgICAgICAgICBTaG93OiB0aGlzLl9zaG93UG9wdXAuYmluZCh0aGlzKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zaG93UG9wdXAobXNnLCB0aXRsZSwgdHlwZSwgaW1hZ2UsIG1vLCB1aU9wdGlvbnM6IE5vdGlmeU9wdGlvbnMsIG90aGVyT3B0aW9ucyk6IHZvaWQge1xuICAgICAgICB1aU9wdGlvbnMgPSB0aGlzLl9nZXRVaU9wdGlvbnModWlPcHRpb25zKTtcbiAgICAgICAgY29uc3QgY2FsbGJhY2sgPSB0aGlzLl9nZXROb3RpZnlDYWxsYmFjayhtbywgb3RoZXJPcHRpb25zKTtcbiAgICAgICAgY29uc3Qgbm90aWZpY2F0aW9uQ29uZmlnID0gdGhpcy5fZ2V0Tm90aWZpY2F0aW9uQ29uZmlnKGltYWdlLCB0aXRsZSwgdWlPcHRpb25zLCBtc2csIGNhbGxiYWNrKTtcbiAgICAgICAgY29uc3Qgbm90aWZpY2F0aW9uUmVmID0gdGhpcy5fbm90aWZpY2F0aW9uU2VydmljZS5vcGVuKHRoaXMucG9wdXBUZW1wbGF0ZSwgbm90aWZpY2F0aW9uQ29uZmlnKTtcbiAgICAgICAgdGhpcy5fbm90aWZpY2F0aW9uU2VydmljZS5ub3RpZmljYXRpb25zLmZvckVhY2goXG4gICAgICAgICAgICAoYykgPT4gKGMubm90aWZpY2F0aW9uQ29tcG9uZW50Lmluc3RhbmNlLmNsb3NlT25OYXZpZ2F0aW9uID0gZmFsc2UpXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX3NldE5vdGlmeVBvc2l0aW9uKHVpT3B0aW9ucy5Qb3NpdGlvbik7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gbm90aWZpY2F0aW9uUmVmLmRpc21pc3MoJ2Rpc21pc3NlZCcpLCB1aU9wdGlvbnMuRGVsYXkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldFVpT3B0aW9ucyh1aU9wdGlvbnM6IE5vdGlmeU9wdGlvbnMpOiBOb3RpZnlPcHRpb25zIHtcbiAgICAgICAgaWYgKHVpT3B0aW9ucykge1xuICAgICAgICAgICAgcmV0dXJuIHsgLi4udGhpcy5kZWZhdWx0T3B0aW9ucywgLi4udWlPcHRpb25zIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kZWZhdWx0T3B0aW9ucztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2dldE5vdGlmaWNhdGlvbkNvbmZpZyhcbiAgICAgICAgaW1hZ2UsXG4gICAgICAgIHRpdGxlLFxuICAgICAgICB1aU9wdGlvbnM6IE5vdGlmeU9wdGlvbnMsXG4gICAgICAgIG1zZyxcbiAgICAgICAgY2FsbGJhY2s6ICgpID0+IHZvaWRcbiAgICApOiBOb3RpZmljYXRpb25Db25maWcge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaWQ6ICd0ZXN0X2lkX25vdGlmeScsXG4gICAgICAgICAgICBjb250YWluZXI6IHRoaXMuZWwubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICBpbWFnZSxcbiAgICAgICAgICAgICAgICB0aXRsZSxcbiAgICAgICAgICAgICAgICBDbG9zYWJsZTogdWlPcHRpb25zLkNsb3NhYmxlLFxuICAgICAgICAgICAgICAgIGlzUnRsOiB1aU9wdGlvbnMuSXNSdGwsXG4gICAgICAgICAgICAgICAgbXNnOiB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChtc2cpLFxuICAgICAgICAgICAgICAgIGNhbGxiYWNrXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgd2lkdGg6IHVpT3B0aW9ucy5XaWR0aC50b1N0cmluZygpICsgJ3B4J1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldE5vdGlmeUNhbGxiYWNrKG1vLCBvdGhlck9wdGlvbnMpOiAoKSA9PiB2b2lkIHtcbiAgICAgICAgbGV0IGNhbGxiYWNrID0gKCk6IHZvaWQgPT4ge307XG4gICAgICAgIGlmIChtbykge1xuICAgICAgICAgICAgY2FsbGJhY2sgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgQmFyc2FBcGkuQncuRm9ybS5TaG93KHtcbiAgICAgICAgICAgICAgICAgICAgTW86IG1vXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2UgaWYgKG90aGVyT3B0aW9ucykge1xuICAgICAgICAgICAgY2FsbGJhY2sgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgQmFyc2FBcGkuQncuRm9ybS5TaG93KHtcbiAgICAgICAgICAgICAgICAgICAgTW9JZDogb3RoZXJPcHRpb25zLk1vSWQsXG4gICAgICAgICAgICAgICAgICAgIFR5cGVEZWZJZDogb3RoZXJPcHRpb25zLlR5cGVEZWZJZFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY2FsbGJhY2s7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2V0Tm90aWZ5UG9zaXRpb24ocG9zaXRpb24pOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgbm90aWZ5Q29udGFpbmVyID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2ZkLW5vdGlmaWNhdGlvbi1jb250YWluZXInKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhub3RpZnlDb250YWluZXIsICd1bnNldC1wb3NpdGlvbnMnKTtcbiAgICAgICAgY29uc3QgaXNTdHJpbmcgPSB0eXBlb2YgcG9zaXRpb24gPT09ICdzdHJpbmcnO1xuICAgICAgICBpc1N0cmluZyA/IHRoaXMuX3NldENzc0NsYXNzKHBvc2l0aW9uLCBub3RpZnlDb250YWluZXIpIDogdGhpcy5fc2V0U3R5bGUobm90aWZ5Q29udGFpbmVyLCBwb3NpdGlvbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2V0Q3NzQ2xhc3MocG9zaXRpb24sIG5vdGlmeUNvbnRhaW5lcik6IHZvaWQge1xuICAgICAgICBjb25zdCBjc3NDbGFzcyA9IHBvc2l0aW9uLnJlcGxhY2UoJyAnLCAnLScpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKG5vdGlmeUNvbnRhaW5lciwgY3NzQ2xhc3MpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NldFN0eWxlKG5vdGlmeUNvbnRhaW5lciwgcG9zaXRpb24pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbGVmdCA9IHBvc2l0aW9uLmxlZnQudG9TdHJpbmcoKSArICdweCc7XG4gICAgICAgIGNvbnN0IHRvcCA9IHBvc2l0aW9uLnRvcC50b1N0cmluZygpICsgJ3B4JztcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShub3RpZnlDb250YWluZXIsICdsZWZ0JywgbGVmdCk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUobm90aWZ5Q29udGFpbmVyLCAndG9wJywgdG9wKTtcbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGUgbGV0LW5vdGlmaWNhdGlvbiAjcG9wdXA+XHJcbiAgICA8ZmQtbm90aWZpY2F0aW9uLWJvZHkgW2Rpcl09XCJub3RpZmljYXRpb24uZGF0YT8uaXNSdGwgPyAncnRsJyA6ICdsdHInXCIgKGNsaWNrKT1cIm5vdGlmaWNhdGlvbi5kYXRhPy5jYWxsYmFjaygpXCI+XHJcbiAgICAgICAgPGZkLWF2YXRhciBbY2lyY2xlXT1cInRydWVcIiBzaXplPVwieHNcIiBbaW1hZ2VdPVwibm90aWZpY2F0aW9uLmRhdGE/LmltYWdlXCI+PC9mZC1hdmF0YXI+XHJcbiAgICAgICAgPGZkLW5vdGlmaWNhdGlvbi1jb250ZW50PlxyXG4gICAgICAgICAgICA8ZmQtbm90aWZpY2F0aW9uLWhlYWRlcj5cclxuICAgICAgICAgICAgICAgIDxkaXYgZmQtbm90aWZpY2F0aW9uLWluZGljYXRvciB0eXBlPVwic3VjY2Vzc1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGgyIGZkLW5vdGlmaWNhdGlvbi10aXRsZSBbdW5yZWFkXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBub3RpZmljYXRpb24uZGF0YT8udGl0bGUgfX1cclxuICAgICAgICAgICAgICAgIDwvaDI+XHJcbiAgICAgICAgICAgIDwvZmQtbm90aWZpY2F0aW9uLWhlYWRlcj5cclxuXHJcbiAgICAgICAgICAgIDxwIGZkLW5vdGlmaWNhdGlvbi1wYXJhZ3JhcGggW2lubmVySHRtbF09XCJub3RpZmljYXRpb24uZGF0YT8ubXNnXCI+PC9wPlxyXG4gICAgICAgIDwvZmQtbm90aWZpY2F0aW9uLWNvbnRlbnQ+XHJcblxyXG4gICAgICAgIDxmZC1ub3RpZmljYXRpb24tYWN0aW9ucz5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXHJcbiAgICAgICAgICAgICAgICBnbHlwaD1cImRlY2xpbmVcIlxyXG4gICAgICAgICAgICAgICAgdGl0bGU9XCJjbG9zZVwiXHJcbiAgICAgICAgICAgICAgICBbY29tcGFjdF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJub3RpZmljYXRpb24uY2xvc2UoKVwiXHJcbiAgICAgICAgICAgID48L2J1dHRvbj5cclxuICAgICAgICA8L2ZkLW5vdGlmaWNhdGlvbi1hY3Rpb25zPlxyXG4gICAgPC9mZC1ub3RpZmljYXRpb24tYm9keT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19