@spicainternational/ngx-sds-components 5.32.0 → 5.33.1
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.
- package/esm2020/src/lib/avatar/avatar-group.component.mjs +6 -3
- package/esm2020/src/lib/date-picker/date-picker.component.mjs +2 -1
- package/esm2020/src/lib/tooltip/tooltip.directive.mjs +10 -2
- package/esm2020/src/lib/tooltip/utils/index.mjs +2 -0
- package/esm2020/src/lib/tooltip/utils/tooltip.utils.mjs +17 -0
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-avatar.mjs +5 -2
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-avatar.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +1 -0
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-tooltip.mjs +25 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-tooltip.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-avatar.mjs +5 -2
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-avatar.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +1 -0
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-tooltip.mjs +25 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-tooltip.mjs.map +1 -1
- package/package.json +1 -1
- package/src/lib/avatar/avatar-group.component.d.ts +1 -0
- package/src/lib/tooltip/utils/index.d.ts +1 -0
- package/src/lib/tooltip/utils/tooltip.utils.d.ts +5 -0
|
@@ -53,12 +53,15 @@ export class SdsAvatarGroupComponent {
|
|
|
53
53
|
this.dropdownTargetId = this.overflowElementUUID + index;
|
|
54
54
|
this.showDropdown = true;
|
|
55
55
|
}
|
|
56
|
+
stopEventPropagation(event) {
|
|
57
|
+
event.stopPropagation();
|
|
58
|
+
}
|
|
56
59
|
}
|
|
57
60
|
SdsAvatarGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsAvatarGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
58
|
-
SdsAvatarGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: SdsAvatarGroupComponent, selector: "sds-avatar-group", inputs: { stacked: "stacked", max: "max", size: "size", borderColor: "borderColor", avatars: "avatars", dropdownContents: "dropdownContents", dropdownMaxHeight: "dropdownMaxHeight" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"d-flex avatar-group-container\">\r\n <sds-avatar *ngFor=\"let avatar of inflow; let i = index\"\r\n [id]=\"overflowElementUUID + i\"\r\n [text]=\"avatar.text\"\r\n [colorKey]=\"avatar.colorKey\"\r\n [borderColor]=\"borderColor\"\r\n [borderStyle]=\"avatar.borderStyle ? avatar.borderStyle : 'none'\"\r\n cursor=\"pointer\"\r\n [pictureUri]=\"avatar.pictureUri ?? ''\"\r\n [showHint]=\"true\"\r\n [size]=\"size\"\r\n [style.margin-right.rem]=\"stacked ? size/-3 : size/15\"\r\n (click)=\"onOverflowClicked($event, i, avatar)\"\r\n >\r\n </sds-avatar>\r\n\r\n <sds-avatar\r\n *ngIf=\"showOverflow\"\r\n [id]=\"overflowElementUUID + '-1'\"\r\n class=\"overflow\"\r\n [initialsText]=\"overflowCountDisplay\"\r\n [borderColor]=\"borderColor\"\r\n [borderStyle]=\"overFlowBorderStyle\"\r\n cursor=\"pointer\"\r\n [size]=\"size\"\r\n (click)=\"onOverflowClicked($event, -1, undefined)\"\r\n >\r\n </sds-avatar>\r\n\r\n <dx-popover\r\n target=\"#{{dropdownTargetId}}\"\r\n [(visible)]=\"showDropdown\"\r\n [wrapperAttr]=\"{ class: 'sds-avatar-group-overflow-popover' }\"\r\n [maxHeight]=\"dropdownMaxHeight\"\r\n >\r\n <dx-scroll-view\r\n showScrollbar=\"always\">\r\n <div class=\"overflow-avatars-container rounded\">\r\n <div *ngFor=\"let avatar of (dropdownContents === 'all' ? avatars : overflow)\"\r\n class=\"d-flex align-items-center p-1 my-1 mx-1 overflow-avatar-container\" >\r\n <sds-avatar\r\n [text]=\"avatar.text\"\r\n [colorKey]=\"avatar.colorKey\"\r\n [borderStyle]=\"avatar.borderStyle ? avatar.borderStyle : 'none'\"\r\n [pictureUri]=\"avatar.pictureUri ?? ''\"\r\n borderColor=\"transparent\"\r\n [size]=\"1.8\"\r\n >\r\n </sds-avatar>\r\n <div \r\n class=\"ms-2 ps-1\"\r\n [class.sds-fw-600] = \"dropdownInitiator && dropdownInitiator.colorKey === avatar.colorKey\"\r\n >\r\n {{avatar.text}}\r\n </div>\r\n </div>\r\n </div>\r\n </dx-scroll-view>\r\n </dx-popover>\r\n</div>\r\n", styles: [".avatar-group-container{flex-wrap:wrap;gap:.25rem}.avatar-group-container .overflow{cursor:pointer!important}.overflow-avatars-container{cursor:default}::ng-deep .sds-avatar-group-overflow-popover .dx-popup-content{padding:.25rem;font-size:1rem}\n"], components: [{ type: i1.SdsAvatarComponent, selector: "sds-avatar", inputs: ["text", "colorKey", "pictureUri", "showHint", "borderStyle", "borderColor", "initialsText", "cursor", "size"] }, { type: i2.DxPopoverComponent, selector: "dx-popover", inputs: ["animation", "closeOnOutsideClick", "container", "contentTemplate", "copyRootClassesToWrapper", "deferRendering", "disabled", "elementAttr", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showEvent", "showTitle", "target", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "onTitleRendered", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "disabledChange", "elementAttrChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showEventChange", "showTitleChange", "targetChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { type: i3.DxScrollViewComponent, selector: "dx-scroll-view", inputs: ["bounceEnabled", "direction", "disabled", "elementAttr", "height", "pulledDownText", "pullingDownText", "reachBottomText", "refreshingText", "rtlEnabled", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "onPullDown", "onReachBottom", "onScroll", "onUpdated", "bounceEnabledChange", "directionChange", "disabledChange", "elementAttrChange", "heightChange", "pulledDownTextChange", "pullingDownTextChange", "reachBottomTextChange", "refreshingTextChange", "rtlEnabledChange", "scrollByContentChange", "scrollByThumbChange", "showScrollbarChange", "useNativeChange", "widthChange"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
61
|
+
SdsAvatarGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: SdsAvatarGroupComponent, selector: "sds-avatar-group", inputs: { stacked: "stacked", max: "max", size: "size", borderColor: "borderColor", avatars: "avatars", dropdownContents: "dropdownContents", dropdownMaxHeight: "dropdownMaxHeight" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"d-flex avatar-group-container\">\r\n <sds-avatar *ngFor=\"let avatar of inflow; let i = index\"\r\n [id]=\"overflowElementUUID + i\"\r\n [text]=\"avatar.text\"\r\n [colorKey]=\"avatar.colorKey\"\r\n [borderColor]=\"borderColor\"\r\n [borderStyle]=\"avatar.borderStyle ? avatar.borderStyle : 'none'\"\r\n cursor=\"pointer\"\r\n [pictureUri]=\"avatar.pictureUri ?? ''\"\r\n [showHint]=\"true\"\r\n [size]=\"size\"\r\n [style.margin-right.rem]=\"stacked ? size/-3 : size/15\"\r\n (click)=\"onOverflowClicked($event, i, avatar)\"\r\n (mousedown)=\"stopEventPropagation($event)\"\r\n >\r\n </sds-avatar>\r\n\r\n <sds-avatar\r\n *ngIf=\"showOverflow\"\r\n [id]=\"overflowElementUUID + '-1'\"\r\n class=\"overflow\"\r\n [initialsText]=\"overflowCountDisplay\"\r\n [borderColor]=\"borderColor\"\r\n [borderStyle]=\"overFlowBorderStyle\"\r\n cursor=\"pointer\"\r\n [size]=\"size\"\r\n (click)=\"onOverflowClicked($event, -1, undefined)\"\r\n (mousedown)=\"stopEventPropagation($event)\"\r\n >\r\n </sds-avatar>\r\n\r\n <dx-popover\r\n target=\"#{{dropdownTargetId}}\"\r\n [(visible)]=\"showDropdown\"\r\n [wrapperAttr]=\"{ class: 'sds-avatar-group-overflow-popover' }\"\r\n [maxHeight]=\"dropdownMaxHeight\"\r\n >\r\n <dx-scroll-view\r\n showScrollbar=\"always\">\r\n <div class=\"overflow-avatars-container rounded\">\r\n <div *ngFor=\"let avatar of (dropdownContents === 'all' ? avatars : overflow)\"\r\n class=\"d-flex align-items-center p-1 my-1 mx-1 overflow-avatar-container\" >\r\n <sds-avatar\r\n [text]=\"avatar.text\"\r\n [colorKey]=\"avatar.colorKey\"\r\n [borderStyle]=\"avatar.borderStyle ? avatar.borderStyle : 'none'\"\r\n [pictureUri]=\"avatar.pictureUri ?? ''\"\r\n borderColor=\"transparent\"\r\n [size]=\"1.8\"\r\n >\r\n </sds-avatar>\r\n <div \r\n class=\"ms-2 ps-1\"\r\n [class.sds-fw-600] = \"dropdownInitiator && dropdownInitiator.colorKey === avatar.colorKey\"\r\n >\r\n {{avatar.text}}\r\n </div>\r\n </div>\r\n </div>\r\n </dx-scroll-view>\r\n </dx-popover>\r\n</div>\r\n", styles: [".avatar-group-container{flex-wrap:wrap;gap:.25rem}.avatar-group-container .overflow{cursor:pointer!important}.overflow-avatars-container{cursor:default}::ng-deep .sds-avatar-group-overflow-popover .dx-popup-content{padding:.25rem;font-size:1rem}\n"], components: [{ type: i1.SdsAvatarComponent, selector: "sds-avatar", inputs: ["text", "colorKey", "pictureUri", "showHint", "borderStyle", "borderColor", "initialsText", "cursor", "size"] }, { type: i2.DxPopoverComponent, selector: "dx-popover", inputs: ["animation", "closeOnOutsideClick", "container", "contentTemplate", "copyRootClassesToWrapper", "deferRendering", "disabled", "elementAttr", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showEvent", "showTitle", "target", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "onTitleRendered", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "disabledChange", "elementAttrChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showEventChange", "showTitleChange", "targetChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { type: i3.DxScrollViewComponent, selector: "dx-scroll-view", inputs: ["bounceEnabled", "direction", "disabled", "elementAttr", "height", "pulledDownText", "pullingDownText", "reachBottomText", "refreshingText", "rtlEnabled", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "onPullDown", "onReachBottom", "onScroll", "onUpdated", "bounceEnabledChange", "directionChange", "disabledChange", "elementAttrChange", "heightChange", "pulledDownTextChange", "pullingDownTextChange", "reachBottomTextChange", "refreshingTextChange", "rtlEnabledChange", "scrollByContentChange", "scrollByThumbChange", "showScrollbarChange", "useNativeChange", "widthChange"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
59
62
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsAvatarGroupComponent, decorators: [{
|
|
60
63
|
type: Component,
|
|
61
|
-
args: [{ selector: 'sds-avatar-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"d-flex avatar-group-container\">\r\n <sds-avatar *ngFor=\"let avatar of inflow; let i = index\"\r\n [id]=\"overflowElementUUID + i\"\r\n [text]=\"avatar.text\"\r\n [colorKey]=\"avatar.colorKey\"\r\n [borderColor]=\"borderColor\"\r\n [borderStyle]=\"avatar.borderStyle ? avatar.borderStyle : 'none'\"\r\n cursor=\"pointer\"\r\n [pictureUri]=\"avatar.pictureUri ?? ''\"\r\n [showHint]=\"true\"\r\n [size]=\"size\"\r\n [style.margin-right.rem]=\"stacked ? size/-3 : size/15\"\r\n (click)=\"onOverflowClicked($event, i, avatar)\"\r\n >\r\n </sds-avatar>\r\n\r\n <sds-avatar\r\n *ngIf=\"showOverflow\"\r\n [id]=\"overflowElementUUID + '-1'\"\r\n class=\"overflow\"\r\n [initialsText]=\"overflowCountDisplay\"\r\n [borderColor]=\"borderColor\"\r\n [borderStyle]=\"overFlowBorderStyle\"\r\n cursor=\"pointer\"\r\n [size]=\"size\"\r\n (click)=\"onOverflowClicked($event, -1, undefined)\"\r\n >\r\n </sds-avatar>\r\n\r\n <dx-popover\r\n target=\"#{{dropdownTargetId}}\"\r\n [(visible)]=\"showDropdown\"\r\n [wrapperAttr]=\"{ class: 'sds-avatar-group-overflow-popover' }\"\r\n [maxHeight]=\"dropdownMaxHeight\"\r\n >\r\n <dx-scroll-view\r\n showScrollbar=\"always\">\r\n <div class=\"overflow-avatars-container rounded\">\r\n <div *ngFor=\"let avatar of (dropdownContents === 'all' ? avatars : overflow)\"\r\n class=\"d-flex align-items-center p-1 my-1 mx-1 overflow-avatar-container\" >\r\n <sds-avatar\r\n [text]=\"avatar.text\"\r\n [colorKey]=\"avatar.colorKey\"\r\n [borderStyle]=\"avatar.borderStyle ? avatar.borderStyle : 'none'\"\r\n [pictureUri]=\"avatar.pictureUri ?? ''\"\r\n borderColor=\"transparent\"\r\n [size]=\"1.8\"\r\n >\r\n </sds-avatar>\r\n <div \r\n class=\"ms-2 ps-1\"\r\n [class.sds-fw-600] = \"dropdownInitiator && dropdownInitiator.colorKey === avatar.colorKey\"\r\n >\r\n {{avatar.text}}\r\n </div>\r\n </div>\r\n </div>\r\n </dx-scroll-view>\r\n </dx-popover>\r\n</div>\r\n", styles: [".avatar-group-container{flex-wrap:wrap;gap:.25rem}.avatar-group-container .overflow{cursor:pointer!important}.overflow-avatars-container{cursor:default}::ng-deep .sds-avatar-group-overflow-popover .dx-popup-content{padding:.25rem;font-size:1rem}\n"] }]
|
|
64
|
+
args: [{ selector: 'sds-avatar-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"d-flex avatar-group-container\">\r\n <sds-avatar *ngFor=\"let avatar of inflow; let i = index\"\r\n [id]=\"overflowElementUUID + i\"\r\n [text]=\"avatar.text\"\r\n [colorKey]=\"avatar.colorKey\"\r\n [borderColor]=\"borderColor\"\r\n [borderStyle]=\"avatar.borderStyle ? avatar.borderStyle : 'none'\"\r\n cursor=\"pointer\"\r\n [pictureUri]=\"avatar.pictureUri ?? ''\"\r\n [showHint]=\"true\"\r\n [size]=\"size\"\r\n [style.margin-right.rem]=\"stacked ? size/-3 : size/15\"\r\n (click)=\"onOverflowClicked($event, i, avatar)\"\r\n (mousedown)=\"stopEventPropagation($event)\"\r\n >\r\n </sds-avatar>\r\n\r\n <sds-avatar\r\n *ngIf=\"showOverflow\"\r\n [id]=\"overflowElementUUID + '-1'\"\r\n class=\"overflow\"\r\n [initialsText]=\"overflowCountDisplay\"\r\n [borderColor]=\"borderColor\"\r\n [borderStyle]=\"overFlowBorderStyle\"\r\n cursor=\"pointer\"\r\n [size]=\"size\"\r\n (click)=\"onOverflowClicked($event, -1, undefined)\"\r\n (mousedown)=\"stopEventPropagation($event)\"\r\n >\r\n </sds-avatar>\r\n\r\n <dx-popover\r\n target=\"#{{dropdownTargetId}}\"\r\n [(visible)]=\"showDropdown\"\r\n [wrapperAttr]=\"{ class: 'sds-avatar-group-overflow-popover' }\"\r\n [maxHeight]=\"dropdownMaxHeight\"\r\n >\r\n <dx-scroll-view\r\n showScrollbar=\"always\">\r\n <div class=\"overflow-avatars-container rounded\">\r\n <div *ngFor=\"let avatar of (dropdownContents === 'all' ? avatars : overflow)\"\r\n class=\"d-flex align-items-center p-1 my-1 mx-1 overflow-avatar-container\" >\r\n <sds-avatar\r\n [text]=\"avatar.text\"\r\n [colorKey]=\"avatar.colorKey\"\r\n [borderStyle]=\"avatar.borderStyle ? avatar.borderStyle : 'none'\"\r\n [pictureUri]=\"avatar.pictureUri ?? ''\"\r\n borderColor=\"transparent\"\r\n [size]=\"1.8\"\r\n >\r\n </sds-avatar>\r\n <div \r\n class=\"ms-2 ps-1\"\r\n [class.sds-fw-600] = \"dropdownInitiator && dropdownInitiator.colorKey === avatar.colorKey\"\r\n >\r\n {{avatar.text}}\r\n </div>\r\n </div>\r\n </div>\r\n </dx-scroll-view>\r\n </dx-popover>\r\n</div>\r\n", styles: [".avatar-group-container{flex-wrap:wrap;gap:.25rem}.avatar-group-container .overflow{cursor:pointer!important}.overflow-avatars-container{cursor:default}::ng-deep .sds-avatar-group-overflow-popover .dx-popup-content{padding:.25rem;font-size:1rem}\n"] }]
|
|
62
65
|
}], ctorParameters: function () { return []; }, propDecorators: { stacked: [{
|
|
63
66
|
type: Input
|
|
64
67
|
}], max: [{
|
|
@@ -74,4 +77,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
|
|
|
74
77
|
}], dropdownMaxHeight: [{
|
|
75
78
|
type: Input
|
|
76
79
|
}] } });
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL2F2YXRhci9hdmF0YXItZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvYXZhdGFyL2F2YXRhci1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBb0MsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVM1RyxNQUFNLE9BQU8sdUJBQXVCO0lBdUJoQztRQUNJLDhEQUE4RDtRQWpCbEQscUJBQWdCLEdBQXVCLEtBQUssQ0FBQztRQUM3QyxzQkFBaUIsR0FBVyxFQUFFLENBQUM7UUFZeEMscUJBQWdCLEdBQVcsRUFBRSxDQUFDO1FBTWpDLGlGQUFpRjtRQUVqRixJQUFJLENBQUMsbUJBQW1CLEdBQUcsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQzFFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxNQUFNLENBQUM7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNkLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFDO1lBQ3JDLElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUMxQixJQUFJLE9BQU8sR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDMUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2dCQUM3QyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQ3JFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQzthQUNwRztpQkFBTTtnQkFDSCxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDbkM7U0FDSjtJQUNMLENBQUM7SUFFRCxRQUFRLEtBQVUsQ0FBQztJQUVaLGlCQUFpQixDQUFDLEtBQWlCLEVBQUUsS0FBYSxFQUFFLE1BQW9CO1FBQzNFLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV4QixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxVQUFVLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3BFLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1lBQzFCLE9BQU87U0FDVjtRQUVELE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztRQUM3RCxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLG1CQUFtQixFQUFFO1lBQ3BFLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1lBQzFCLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUM7UUFDaEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDekQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDN0IsQ0FBQzs7b0hBMUVRLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLHFRQ1RwQyxpK0VBNERBOzJGRG5EYSx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0ksa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU07MEVBSS9CLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsR0FBRztzQkFBbEIsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBQ1UsaUJBQWlCO3NCQUFoQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEF2YXRhck1vZGVsIH0gZnJvbSAnLi9hdmF0YXItZ3JvdXAubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Nkcy1hdmF0YXItZ3JvdXAnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2F2YXRhci1ncm91cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9hdmF0YXItZ3JvdXAuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZHNBdmF0YXJHcm91cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuXHJcbiAgICBASW5wdXQoKSBwdWJsaWMgc3RhY2tlZDtcclxuICAgIEBJbnB1dCgpIHB1YmxpYyBtYXg/OiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSBwdWJsaWMgc2l6ZTogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgcHVibGljIGJvcmRlckNvbG9yPzogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgcHVibGljIGF2YXRhcnM6IEFycmF5PEF2YXRhck1vZGVsPjtcclxuICAgIEBJbnB1dCgpIHB1YmxpYyBkcm9wZG93bkNvbnRlbnRzOiAnYWxsJyB8ICdvdmVyZmxvdycgPSAnYWxsJztcclxuICAgIEBJbnB1dCgpIHB1YmxpYyBkcm9wZG93bk1heEhlaWdodDogc3RyaW5nID0gJyc7XHJcblxyXG4gICAgcHVibGljIG92ZXJmbG93OiBBcnJheTxBdmF0YXJNb2RlbD47XHJcbiAgICBwdWJsaWMgaW5mbG93OiBBcnJheTxBdmF0YXJNb2RlbD47XHJcblxyXG4gICAgcHVibGljIG92ZXJmbG93Q291bnREaXNwbGF5OiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgb3ZlckZsb3dCb3JkZXJTdHlsZTogJ3NvbGlkJyB8ICdub25lJztcclxuXHJcbiAgICBwdWJsaWMgb3ZlcmZsb3dFbGVtZW50VVVJRDogc3RyaW5nO1xyXG4gICAgcHVibGljIHNob3dEcm9wZG93bjogYm9vbGVhbjtcclxuICAgIHB1YmxpYyBzaG93T3ZlcmZsb3c6IGJvb2xlYW47XHJcblxyXG4gICAgcHVibGljIGRyb3Bkb3duVGFyZ2V0SWQ6IHN0cmluZyA9ICcnO1xyXG4gICAgcHVibGljIGRyb3Bkb3duSW5pdGlhdG9yPzogQXZhdGFyTW9kZWw7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgLy8gdGhpcy5vdmVyZmxvd0VsZW1lbnRVVUlEID0gJ3Nkcy1hZy0nICsgY3J5cHRvLnJhbmRvbVVVSUQoKTtcclxuXHJcbiAgICAgICAgLy8gaW5pdCB2YWx1ZXMgaW4gY29uc3RydWN0b3Igc28gc3Rvcnlib29rIGRvZXNuJ3QgaGF2ZSBpc3N1ZXMgd2l0aCBpbml0aWFsIHN0YXRlXHJcblxyXG4gICAgICAgIHRoaXMub3ZlcmZsb3dFbGVtZW50VVVJRCA9IGBzZHMtYWctJHtNYXRoLmNlaWwoTWF0aC5yYW5kb20oKSAqIDEwMDAwMDApfWA7XHJcbiAgICAgICAgdGhpcy5vdmVyRmxvd0JvcmRlclN0eWxlID0gJ25vbmUnO1xyXG4gICAgICAgIHRoaXMuc2hvd0Ryb3Bkb3duID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zaG93T3ZlcmZsb3cgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmF2YXRhcnMgPSBbXTtcclxuICAgICAgICB0aGlzLm92ZXJmbG93ID0gW107XHJcbiAgICAgICAgdGhpcy5pbmZsb3cgPSBbXTtcclxuICAgICAgICB0aGlzLm92ZXJmbG93Q291bnREaXNwbGF5ID0gJyc7XHJcbiAgICAgICAgdGhpcy5zaXplID0gMjtcclxuICAgICAgICB0aGlzLnN0YWNrZWQgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGNoYW5nZXNbJ2F2YXRhcnMnXSB8fCBjaGFuZ2VzWydtYXgnXSl7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLm1heCAmJiB0aGlzLmF2YXRhcnMpIHtcclxuICAgICAgICAgICAgICAgIGxldCBhdmF0YXJzID0gWy4uLnRoaXMuYXZhdGFyc107XHJcbiAgICAgICAgICAgICAgICB0aGlzLmluZmxvdyA9IGF2YXRhcnMuc3BsaWNlKDAsIHRoaXMubWF4KTtcclxuICAgICAgICAgICAgICAgIHRoaXMub3ZlcmZsb3cgPSBhdmF0YXJzO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zaG93T3ZlcmZsb3cgPSB0aGlzLm92ZXJmbG93Lmxlbmd0aCA+IDA7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm92ZXJmbG93Q291bnREaXNwbGF5ID0gYCske01hdGgubWluKDk5LCB0aGlzLm92ZXJmbG93Lmxlbmd0aCl9YDtcclxuICAgICAgICAgICAgICAgIHRoaXMub3ZlckZsb3dCb3JkZXJTdHlsZSA9IHRoaXMuYXZhdGFycy5maWx0ZXIoeCA9PiB4LmJvcmRlclN0eWxlKS5sZW5ndGggPiAwID8gJ3NvbGlkJyA6ICdub25lJztcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5mbG93ID0gWy4uLnRoaXMuYXZhdGFyc107XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7fVxyXG5cclxuICAgIHB1YmxpYyBvbk92ZXJmbG93Q2xpY2tlZChldmVudDogTW91c2VFdmVudCwgaW5kZXg6IG51bWJlciwgYXZhdGFyPzogQXZhdGFyTW9kZWwpIHtcclxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuZHJvcGRvd25Db250ZW50cyA9PT0gJ292ZXJmbG93JyAmJiB0aGlzLm92ZXJmbG93Lmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICB0aGlzLnNob3dEcm9wZG93biA9IGZhbHNlO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBuZXdEcm9wZG93blRhcmdldElkID0gdGhpcy5vdmVyZmxvd0VsZW1lbnRVVUlEICsgaW5kZXg7XHJcbiAgICAgICAgaWYgKHRoaXMuc2hvd0Ryb3Bkb3duICYmIHRoaXMuZHJvcGRvd25UYXJnZXRJZCA9PT0gbmV3RHJvcGRvd25UYXJnZXRJZCkge1xyXG4gICAgICAgICAgICB0aGlzLnNob3dEcm9wZG93biA9IGZhbHNlO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmRyb3Bkb3duSW5pdGlhdG9yID0gYXZhdGFyO1xyXG4gICAgICAgIHRoaXMuZHJvcGRvd25UYXJnZXRJZCA9IHRoaXMub3ZlcmZsb3dFbGVtZW50VVVJRCArIGluZGV4O1xyXG4gICAgICAgIHRoaXMuc2hvd0Ryb3Bkb3duID0gdHJ1ZTtcclxuICAgIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZC1mbGV4IGF2YXRhci1ncm91cC1jb250YWluZXJcIj5cclxuICAgIDxzZHMtYXZhdGFyICpuZ0Zvcj1cImxldCBhdmF0YXIgb2YgaW5mbG93OyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICBbaWRdPVwib3ZlcmZsb3dFbGVtZW50VVVJRCArIGlcIlxyXG4gICAgICAgIFt0ZXh0XT1cImF2YXRhci50ZXh0XCJcclxuICAgICAgICBbY29sb3JLZXldPVwiYXZhdGFyLmNvbG9yS2V5XCJcclxuICAgICAgICBbYm9yZGVyQ29sb3JdPVwiYm9yZGVyQ29sb3JcIlxyXG4gICAgICAgIFtib3JkZXJTdHlsZV09XCJhdmF0YXIuYm9yZGVyU3R5bGUgPyBhdmF0YXIuYm9yZGVyU3R5bGUgOiAnbm9uZSdcIlxyXG4gICAgICAgIGN1cnNvcj1cInBvaW50ZXJcIlxyXG4gICAgICAgIFtwaWN0dXJlVXJpXT1cImF2YXRhci5waWN0dXJlVXJpID8/ICcnXCJcclxuICAgICAgICBbc2hvd0hpbnRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW3NpemVdPVwic2l6ZVwiXHJcbiAgICAgICAgW3N0eWxlLm1hcmdpbi1yaWdodC5yZW1dPVwic3RhY2tlZCA/IHNpemUvLTMgOiBzaXplLzE1XCJcclxuICAgICAgICAoY2xpY2spPVwib25PdmVyZmxvd0NsaWNrZWQoJGV2ZW50LCBpLCBhdmF0YXIpXCJcclxuICAgICAgICA+XHJcbiAgICA8L3Nkcy1hdmF0YXI+XHJcblxyXG4gICAgPHNkcy1hdmF0YXJcclxuICAgICAgICAqbmdJZj1cInNob3dPdmVyZmxvd1wiXHJcbiAgICAgICAgW2lkXT1cIm92ZXJmbG93RWxlbWVudFVVSUQgKyAnLTEnXCJcclxuICAgICAgICBjbGFzcz1cIm92ZXJmbG93XCJcclxuICAgICAgICBbaW5pdGlhbHNUZXh0XT1cIm92ZXJmbG93Q291bnREaXNwbGF5XCJcclxuICAgICAgICBbYm9yZGVyQ29sb3JdPVwiYm9yZGVyQ29sb3JcIlxyXG4gICAgICAgIFtib3JkZXJTdHlsZV09XCJvdmVyRmxvd0JvcmRlclN0eWxlXCJcclxuICAgICAgICBjdXJzb3I9XCJwb2ludGVyXCJcclxuICAgICAgICBbc2l6ZV09XCJzaXplXCJcclxuICAgICAgICAoY2xpY2spPVwib25PdmVyZmxvd0NsaWNrZWQoJGV2ZW50LCAtMSwgdW5kZWZpbmVkKVwiXHJcbiAgICA+XHJcbiAgICA8L3Nkcy1hdmF0YXI+XHJcblxyXG4gICAgPGR4LXBvcG92ZXJcclxuICAgICAgICB0YXJnZXQ9XCIje3tkcm9wZG93blRhcmdldElkfX1cIlxyXG4gICAgICAgIFsodmlzaWJsZSldPVwic2hvd0Ryb3Bkb3duXCJcclxuICAgICAgICBbd3JhcHBlckF0dHJdPVwieyBjbGFzczogJ3Nkcy1hdmF0YXItZ3JvdXAtb3ZlcmZsb3ctcG9wb3ZlcicgfVwiXHJcbiAgICAgICAgW21heEhlaWdodF09XCJkcm9wZG93bk1heEhlaWdodFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDxkeC1zY3JvbGwtdmlld1xyXG4gICAgICAgICAgICBzaG93U2Nyb2xsYmFyPVwiYWx3YXlzXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdmF0YXJzLWNvbnRhaW5lciByb3VuZGVkXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBhdmF0YXIgb2YgKGRyb3Bkb3duQ29udGVudHMgPT09ICdhbGwnID8gYXZhdGFycyA6IG92ZXJmbG93KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHAtMSBteS0xIG14LTEgb3ZlcmZsb3ctYXZhdGFyLWNvbnRhaW5lclwiID5cclxuICAgICAgICAgICAgICAgICAgICA8c2RzLWF2YXRhclxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGV4dF09XCJhdmF0YXIudGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcktleV09XCJhdmF0YXIuY29sb3JLZXlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYm9yZGVyU3R5bGVdPVwiYXZhdGFyLmJvcmRlclN0eWxlID8gYXZhdGFyLmJvcmRlclN0eWxlIDogJ25vbmUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3BpY3R1cmVVcmldPVwiYXZhdGFyLnBpY3R1cmVVcmkgPz8gJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXJDb2xvcj1cInRyYW5zcGFyZW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3NpemVdPVwiMS44XCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zZHMtYXZhdGFyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXMtMiBwcy0xXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnNkcy1mdy02MDBdID0gXCJkcm9wZG93bkluaXRpYXRvciAmJiBkcm9wZG93bkluaXRpYXRvci5jb2xvcktleSA9PT0gYXZhdGFyLmNvbG9yS2V5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7e2F2YXRhci50ZXh0fX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2R4LXNjcm9sbC12aWV3PlxyXG4gICAgPC9keC1wb3BvdmVyPlxyXG48L2Rpdj5cclxuIl19
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL2F2YXRhci9hdmF0YXItZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvYXZhdGFyL2F2YXRhci1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBb0MsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVM1RyxNQUFNLE9BQU8sdUJBQXVCO0lBdUJoQztRQUNJLDhEQUE4RDtRQWpCbEQscUJBQWdCLEdBQXVCLEtBQUssQ0FBQztRQUM3QyxzQkFBaUIsR0FBVyxFQUFFLENBQUM7UUFZeEMscUJBQWdCLEdBQVcsRUFBRSxDQUFDO1FBTWpDLGlGQUFpRjtRQUVqRixJQUFJLENBQUMsbUJBQW1CLEdBQUcsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQzFFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxNQUFNLENBQUM7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNkLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFDO1lBQ3JDLElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUMxQixJQUFJLE9BQU8sR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDMUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2dCQUM3QyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQ3JFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQzthQUNwRztpQkFBTTtnQkFDSCxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDbkM7U0FDSjtJQUNMLENBQUM7SUFFRCxRQUFRLEtBQVUsQ0FBQztJQUVaLGlCQUFpQixDQUFDLEtBQWlCLEVBQUUsS0FBYSxFQUFFLE1BQW9CO1FBQzNFLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV4QixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxVQUFVLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3BFLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1lBQzFCLE9BQU87U0FDVjtRQUVELE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztRQUM3RCxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLG1CQUFtQixFQUFFO1lBQ3BFLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1lBQzFCLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUM7UUFDaEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDekQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDN0IsQ0FBQztJQUVNLG9CQUFvQixDQUFDLEtBQWlCO1FBQ3pDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUM1QixDQUFDOztvSEE5RVEsdUJBQXVCO3dHQUF2Qix1QkFBdUIscVFDVHBDLGlsRkE4REE7MkZEckRhLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDSSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTTswRUFJL0IsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxHQUFHO3NCQUFsQixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLGdCQUFnQjtzQkFBL0IsS0FBSztnQkFDVSxpQkFBaUI7c0JBQWhDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQXZhdGFyTW9kZWwgfSBmcm9tICcuL2F2YXRhci1ncm91cC5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc2RzLWF2YXRhci1ncm91cCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXZhdGFyLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2F2YXRhci1ncm91cC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkc0F2YXRhckdyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG5cclxuICAgIEBJbnB1dCgpIHB1YmxpYyBzdGFja2VkO1xyXG4gICAgQElucHV0KCkgcHVibGljIG1heD86IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIHB1YmxpYyBzaXplOiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSBwdWJsaWMgYm9yZGVyQ29sb3I/OiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBwdWJsaWMgYXZhdGFyczogQXJyYXk8QXZhdGFyTW9kZWw+O1xyXG4gICAgQElucHV0KCkgcHVibGljIGRyb3Bkb3duQ29udGVudHM6ICdhbGwnIHwgJ292ZXJmbG93JyA9ICdhbGwnO1xyXG4gICAgQElucHV0KCkgcHVibGljIGRyb3Bkb3duTWF4SGVpZ2h0OiBzdHJpbmcgPSAnJztcclxuXHJcbiAgICBwdWJsaWMgb3ZlcmZsb3c6IEFycmF5PEF2YXRhck1vZGVsPjtcclxuICAgIHB1YmxpYyBpbmZsb3c6IEFycmF5PEF2YXRhck1vZGVsPjtcclxuXHJcbiAgICBwdWJsaWMgb3ZlcmZsb3dDb3VudERpc3BsYXk6IHN0cmluZztcclxuICAgIHB1YmxpYyBvdmVyRmxvd0JvcmRlclN0eWxlOiAnc29saWQnIHwgJ25vbmUnO1xyXG5cclxuICAgIHB1YmxpYyBvdmVyZmxvd0VsZW1lbnRVVUlEOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgc2hvd0Ryb3Bkb3duOiBib29sZWFuO1xyXG4gICAgcHVibGljIHNob3dPdmVyZmxvdzogYm9vbGVhbjtcclxuXHJcbiAgICBwdWJsaWMgZHJvcGRvd25UYXJnZXRJZDogc3RyaW5nID0gJyc7XHJcbiAgICBwdWJsaWMgZHJvcGRvd25Jbml0aWF0b3I/OiBBdmF0YXJNb2RlbDtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICAvLyB0aGlzLm92ZXJmbG93RWxlbWVudFVVSUQgPSAnc2RzLWFnLScgKyBjcnlwdG8ucmFuZG9tVVVJRCgpO1xyXG5cclxuICAgICAgICAvLyBpbml0IHZhbHVlcyBpbiBjb25zdHJ1Y3RvciBzbyBzdG9yeWJvb2sgZG9lc24ndCBoYXZlIGlzc3VlcyB3aXRoIGluaXRpYWwgc3RhdGVcclxuXHJcbiAgICAgICAgdGhpcy5vdmVyZmxvd0VsZW1lbnRVVUlEID0gYHNkcy1hZy0ke01hdGguY2VpbChNYXRoLnJhbmRvbSgpICogMTAwMDAwMCl9YDtcclxuICAgICAgICB0aGlzLm92ZXJGbG93Qm9yZGVyU3R5bGUgPSAnbm9uZSc7XHJcbiAgICAgICAgdGhpcy5zaG93RHJvcGRvd24gPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNob3dPdmVyZmxvdyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuYXZhdGFycyA9IFtdO1xyXG4gICAgICAgIHRoaXMub3ZlcmZsb3cgPSBbXTtcclxuICAgICAgICB0aGlzLmluZmxvdyA9IFtdO1xyXG4gICAgICAgIHRoaXMub3ZlcmZsb3dDb3VudERpc3BsYXkgPSAnJztcclxuICAgICAgICB0aGlzLnNpemUgPSAyO1xyXG4gICAgICAgIHRoaXMuc3RhY2tlZCA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBpZiAoY2hhbmdlc1snYXZhdGFycyddIHx8IGNoYW5nZXNbJ21heCddKXtcclxuICAgICAgICAgICAgaWYgKHRoaXMubWF4ICYmIHRoaXMuYXZhdGFycykge1xyXG4gICAgICAgICAgICAgICAgbGV0IGF2YXRhcnMgPSBbLi4udGhpcy5hdmF0YXJzXTtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5mbG93ID0gYXZhdGFycy5zcGxpY2UoMCwgdGhpcy5tYXgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vdmVyZmxvdyA9IGF2YXRhcnM7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dPdmVyZmxvdyA9IHRoaXMub3ZlcmZsb3cubGVuZ3RoID4gMDtcclxuICAgICAgICAgICAgICAgIHRoaXMub3ZlcmZsb3dDb3VudERpc3BsYXkgPSBgKyR7TWF0aC5taW4oOTksIHRoaXMub3ZlcmZsb3cubGVuZ3RoKX1gO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vdmVyRmxvd0JvcmRlclN0eWxlID0gdGhpcy5hdmF0YXJzLmZpbHRlcih4ID0+IHguYm9yZGVyU3R5bGUpLmxlbmd0aCA+IDAgPyAnc29saWQnIDogJ25vbmUnO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbmZsb3cgPSBbLi4udGhpcy5hdmF0YXJzXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHt9XHJcblxyXG4gICAgcHVibGljIG9uT3ZlcmZsb3dDbGlja2VkKGV2ZW50OiBNb3VzZUV2ZW50LCBpbmRleDogbnVtYmVyLCBhdmF0YXI/OiBBdmF0YXJNb2RlbCkge1xyXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5kcm9wZG93bkNvbnRlbnRzID09PSAnb3ZlcmZsb3cnICYmIHRoaXMub3ZlcmZsb3cubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd0Ryb3Bkb3duID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IG5ld0Ryb3Bkb3duVGFyZ2V0SWQgPSB0aGlzLm92ZXJmbG93RWxlbWVudFVVSUQgKyBpbmRleDtcclxuICAgICAgICBpZiAodGhpcy5zaG93RHJvcGRvd24gJiYgdGhpcy5kcm9wZG93blRhcmdldElkID09PSBuZXdEcm9wZG93blRhcmdldElkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd0Ryb3Bkb3duID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuZHJvcGRvd25Jbml0aWF0b3IgPSBhdmF0YXI7XHJcbiAgICAgICAgdGhpcy5kcm9wZG93blRhcmdldElkID0gdGhpcy5vdmVyZmxvd0VsZW1lbnRVVUlEICsgaW5kZXg7XHJcbiAgICAgICAgdGhpcy5zaG93RHJvcGRvd24gPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdG9wRXZlbnRQcm9wYWdhdGlvbihldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJkLWZsZXggYXZhdGFyLWdyb3VwLWNvbnRhaW5lclwiPlxyXG4gICAgPHNkcy1hdmF0YXIgKm5nRm9yPVwibGV0IGF2YXRhciBvZiBpbmZsb3c7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgIFtpZF09XCJvdmVyZmxvd0VsZW1lbnRVVUlEICsgaVwiXHJcbiAgICAgICAgW3RleHRdPVwiYXZhdGFyLnRleHRcIlxyXG4gICAgICAgIFtjb2xvcktleV09XCJhdmF0YXIuY29sb3JLZXlcIlxyXG4gICAgICAgIFtib3JkZXJDb2xvcl09XCJib3JkZXJDb2xvclwiXHJcbiAgICAgICAgW2JvcmRlclN0eWxlXT1cImF2YXRhci5ib3JkZXJTdHlsZSA/IGF2YXRhci5ib3JkZXJTdHlsZSA6ICdub25lJ1wiXHJcbiAgICAgICAgY3Vyc29yPVwicG9pbnRlclwiXHJcbiAgICAgICAgW3BpY3R1cmVVcmldPVwiYXZhdGFyLnBpY3R1cmVVcmkgPz8gJydcIlxyXG4gICAgICAgIFtzaG93SGludF09XCJ0cnVlXCJcclxuICAgICAgICBbc2l6ZV09XCJzaXplXCJcclxuICAgICAgICBbc3R5bGUubWFyZ2luLXJpZ2h0LnJlbV09XCJzdGFja2VkID8gc2l6ZS8tMyA6IHNpemUvMTVcIlxyXG4gICAgICAgIChjbGljayk9XCJvbk92ZXJmbG93Q2xpY2tlZCgkZXZlbnQsIGksIGF2YXRhcilcIlxyXG4gICAgICAgIChtb3VzZWRvd24pPVwic3RvcEV2ZW50UHJvcGFnYXRpb24oJGV2ZW50KVwiXHJcbiAgICAgICAgPlxyXG4gICAgPC9zZHMtYXZhdGFyPlxyXG5cclxuICAgIDxzZHMtYXZhdGFyXHJcbiAgICAgICAgKm5nSWY9XCJzaG93T3ZlcmZsb3dcIlxyXG4gICAgICAgIFtpZF09XCJvdmVyZmxvd0VsZW1lbnRVVUlEICsgJy0xJ1wiXHJcbiAgICAgICAgY2xhc3M9XCJvdmVyZmxvd1wiXHJcbiAgICAgICAgW2luaXRpYWxzVGV4dF09XCJvdmVyZmxvd0NvdW50RGlzcGxheVwiXHJcbiAgICAgICAgW2JvcmRlckNvbG9yXT1cImJvcmRlckNvbG9yXCJcclxuICAgICAgICBbYm9yZGVyU3R5bGVdPVwib3ZlckZsb3dCb3JkZXJTdHlsZVwiXHJcbiAgICAgICAgY3Vyc29yPVwicG9pbnRlclwiXHJcbiAgICAgICAgW3NpemVdPVwic2l6ZVwiXHJcbiAgICAgICAgKGNsaWNrKT1cIm9uT3ZlcmZsb3dDbGlja2VkKCRldmVudCwgLTEsIHVuZGVmaW5lZClcIlxyXG4gICAgICAgIChtb3VzZWRvd24pPVwic3RvcEV2ZW50UHJvcGFnYXRpb24oJGV2ZW50KVwiXHJcbiAgICA+XHJcbiAgICA8L3Nkcy1hdmF0YXI+XHJcblxyXG4gICAgPGR4LXBvcG92ZXJcclxuICAgICAgICB0YXJnZXQ9XCIje3tkcm9wZG93blRhcmdldElkfX1cIlxyXG4gICAgICAgIFsodmlzaWJsZSldPVwic2hvd0Ryb3Bkb3duXCJcclxuICAgICAgICBbd3JhcHBlckF0dHJdPVwieyBjbGFzczogJ3Nkcy1hdmF0YXItZ3JvdXAtb3ZlcmZsb3ctcG9wb3ZlcicgfVwiXHJcbiAgICAgICAgW21heEhlaWdodF09XCJkcm9wZG93bk1heEhlaWdodFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDxkeC1zY3JvbGwtdmlld1xyXG4gICAgICAgICAgICBzaG93U2Nyb2xsYmFyPVwiYWx3YXlzXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdmF0YXJzLWNvbnRhaW5lciByb3VuZGVkXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBhdmF0YXIgb2YgKGRyb3Bkb3duQ29udGVudHMgPT09ICdhbGwnID8gYXZhdGFycyA6IG92ZXJmbG93KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHAtMSBteS0xIG14LTEgb3ZlcmZsb3ctYXZhdGFyLWNvbnRhaW5lclwiID5cclxuICAgICAgICAgICAgICAgICAgICA8c2RzLWF2YXRhclxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGV4dF09XCJhdmF0YXIudGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcktleV09XCJhdmF0YXIuY29sb3JLZXlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYm9yZGVyU3R5bGVdPVwiYXZhdGFyLmJvcmRlclN0eWxlID8gYXZhdGFyLmJvcmRlclN0eWxlIDogJ25vbmUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3BpY3R1cmVVcmldPVwiYXZhdGFyLnBpY3R1cmVVcmkgPz8gJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXJDb2xvcj1cInRyYW5zcGFyZW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3NpemVdPVwiMS44XCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zZHMtYXZhdGFyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXMtMiBwcy0xXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnNkcy1mdy02MDBdID0gXCJkcm9wZG93bkluaXRpYXRvciAmJiBkcm9wZG93bkluaXRpYXRvci5jb2xvcktleSA9PT0gYXZhdGFyLmNvbG9yS2V5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7e2F2YXRhci50ZXh0fX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2R4LXNjcm9sbC12aWV3PlxyXG4gICAgPC9keC1wb3BvdmVyPlxyXG48L2Rpdj5cclxuIl19
|