@skyux/flyout 7.5.0 → 7.6.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/documentation.json +22 -22
- package/esm2020/lib/modules/flyout/flyout-instance.mjs +1 -1
- package/esm2020/lib/modules/flyout/flyout-media-query.service.mjs +5 -5
- package/esm2020/lib/modules/flyout/flyout.component.mjs +7 -7
- package/esm2020/lib/modules/flyout/flyout.service.mjs +5 -5
- package/esm2020/lib/modules/flyout/types/flyout-action.mjs +1 -1
- package/esm2020/lib/modules/flyout/types/flyout-close-args.mjs +1 -1
- package/esm2020/lib/modules/flyout/types/flyout-config-internal.mjs +1 -1
- package/esm2020/lib/modules/flyout/types/flyout-config.mjs +1 -1
- package/esm2020/lib/modules/flyout/types/flyout-permalink.mjs +1 -1
- package/fesm2015/skyux-flyout.mjs +14 -14
- package/fesm2015/skyux-flyout.mjs.map +1 -1
- package/fesm2020/skyux-flyout.mjs +14 -14
- package/fesm2020/skyux-flyout.mjs.map +1 -1
- package/lib/modules/flyout/flyout-instance.d.ts +1 -1
- package/lib/modules/flyout/flyout-media-query.service.d.ts +1 -1
- package/lib/modules/flyout/types/flyout-action.d.ts +3 -3
- package/lib/modules/flyout/types/flyout-close-args.d.ts +2 -2
- package/lib/modules/flyout/types/flyout-config-internal.d.ts +4 -4
- package/lib/modules/flyout/types/flyout-config.d.ts +10 -10
- package/lib/modules/flyout/types/flyout-permalink.d.ts +3 -3
- package/package.json +6 -6
|
@@ -100,7 +100,7 @@ export class SkyFlyoutComponent {
|
|
|
100
100
|
__classPrivateFieldGet(this, _SkyFlyoutComponent_ngUnsubscribe, "f").complete();
|
|
101
101
|
}
|
|
102
102
|
onWindowResize(event) {
|
|
103
|
-
if (__classPrivateFieldGet(this, _SkyFlyoutComponent_flyoutMediaQueryService, "f").
|
|
103
|
+
if (__classPrivateFieldGet(this, _SkyFlyoutComponent_flyoutMediaQueryService, "f").isWidthWithinBreakpoint(event.target.innerWidth, SkyMediaBreakpoints.xs)) {
|
|
104
104
|
__classPrivateFieldGet(this, _SkyFlyoutComponent_instances, "m", _SkyFlyoutComponent_updateBreakpointAndResponsiveClass).call(this, event.target.innerWidth);
|
|
105
105
|
}
|
|
106
106
|
else {
|
|
@@ -345,8 +345,8 @@ _SkyFlyoutComponent_xCoord = new WeakMap(), _SkyFlyoutComponent_windowBufferSize
|
|
|
345
345
|
this.target?.clear();
|
|
346
346
|
}, _SkyFlyoutComponent_updateBreakpointAndResponsiveClass = function _SkyFlyoutComponent_updateBreakpointAndResponsiveClass(width) {
|
|
347
347
|
__classPrivateFieldGet(this, _SkyFlyoutComponent_flyoutMediaQueryService, "f").setBreakpointForWidth(width);
|
|
348
|
-
const
|
|
349
|
-
__classPrivateFieldGet(this, _SkyFlyoutComponent_adapter, "f").setResponsiveClass(__classPrivateFieldGet(this, _SkyFlyoutComponent_elementRef, "f"),
|
|
348
|
+
const newBreakpoint = __classPrivateFieldGet(this, _SkyFlyoutComponent_flyoutMediaQueryService, "f").current;
|
|
349
|
+
__classPrivateFieldGet(this, _SkyFlyoutComponent_adapter, "f").setResponsiveClass(__classPrivateFieldGet(this, _SkyFlyoutComponent_elementRef, "f"), newBreakpoint);
|
|
350
350
|
}, _SkyFlyoutComponent_setFullscreen = function _SkyFlyoutComponent_setFullscreen() {
|
|
351
351
|
if (window.innerWidth - __classPrivateFieldGet(this, _SkyFlyoutComponent_windowBufferSize, "f") < this.config.minWidth) {
|
|
352
352
|
this.isFullscreen = true;
|
|
@@ -383,7 +383,7 @@ _SkyFlyoutComponent_xCoord = new WeakMap(), _SkyFlyoutComponent_windowBufferSize
|
|
|
383
383
|
__classPrivateFieldSet(this, _SkyFlyoutComponent_xCoord, __classPrivateFieldGet(this, _SkyFlyoutComponent_windowBufferSize, "f"), "f");
|
|
384
384
|
__classPrivateFieldGet(this, _SkyFlyoutComponent_instances, "m", _SkyFlyoutComponent_setUserData).call(this);
|
|
385
385
|
}
|
|
386
|
-
if (__classPrivateFieldGet(this, _SkyFlyoutComponent_flyoutMediaQueryService, "f").
|
|
386
|
+
if (__classPrivateFieldGet(this, _SkyFlyoutComponent_flyoutMediaQueryService, "f").isWidthWithinBreakpoint(window.innerWidth, SkyMediaBreakpoints.xs)) {
|
|
387
387
|
__classPrivateFieldGet(this, _SkyFlyoutComponent_instances, "m", _SkyFlyoutComponent_updateBreakpointAndResponsiveClass).call(this, window.innerWidth);
|
|
388
388
|
}
|
|
389
389
|
else {
|
|
@@ -450,7 +450,7 @@ SkyFlyoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
|
|
|
450
450
|
SkyFlyoutAdapterService,
|
|
451
451
|
SkyFlyoutMediaQueryService,
|
|
452
452
|
{ provide: SkyMediaQueryService, useExisting: SkyFlyoutMediaQueryService },
|
|
453
|
-
], viewQueries: [{ propertyName: "flyoutRef", first: true, predicate: ["flyoutRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "target", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "flyoutHeader", first: true, predicate: ["flyoutHeader"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div\n class=\"sky-flyout\"\n tabindex=\"-1\"\n [attr.role]=\"config
|
|
453
|
+
], viewQueries: [{ propertyName: "flyoutRef", first: true, predicate: ["flyoutRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "target", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "flyoutHeader", first: true, predicate: ["flyoutHeader"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div\n class=\"sky-flyout\"\n tabindex=\"-1\"\n [attr.role]=\"config.ariaRole ? config.ariaRole : 'dialog'\"\n [attr.aria-describedby]=\"config.ariaDescribedBy\"\n [attr.aria-label]=\"config.ariaLabel\"\n [attr.aria-labelledby]=\"config.ariaLabelledBy\"\n [attr.aria-modal]=\"\n config.ariaRole === 'dialog' || !config.ariaRole ? true : false\n \"\n [attr.hidden]=\"!instanceReady ? true : undefined\"\n [id]=\"flyoutId\"\n [ngClass]=\"{\n 'sky-flyout-hidden': !isOpen && !isOpening,\n 'sky-flyout-fullscreen': isFullscreen\n }\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-8': 'modern'\n }\"\n (@flyoutState.done)=\"animationDone($event)\"\n [@flyoutState]=\"getAnimationState()\"\n [style.width.px]=\"flyoutWidth\"\n #flyoutRef\n [cdkTrapFocus]=\"enableTrapFocus\"\n [cdkTrapFocusAutoCapture]=\"enableTrapFocusAutoCapture\"\n>\n <div\n class=\"sky-flyout-header\"\n [skyThemeClass]=\"{\n 'sky-padding-squish-large': 'default'\n }\"\n #flyoutHeader\n >\n <div class=\"sky-flyout-header-content\">\n <button\n *skyThemeIf=\"'modern'\"\n class=\"sky-btn sky-btn-icon-borderless sky-margin-inline-sm sky-flyout-header-grab-handle\"\n [attr.aria-label]=\"'skyux_flyout_resize_handle' | skyLibResources\"\n (keydown)=\"onHeaderGrabHandleKeyDown($event)\"\n (mousedown)=\"onHeaderGrabHandleMouseDown($event)\"\n >\n <sky-icon icon=\"tile-drag\" iconType=\"skyux\" size=\"lg\"> </sky-icon>\n </button>\n\n <sky-flyout-iterator\n *ngIf=\"config.showIterator\"\n [nextButtonDisabled]=\"config.iteratorNextButtonDisabled\"\n [previousButtonDisabled]=\"config.iteratorPreviousButtonDisabled\"\n (nextButtonClick)=\"onIteratorNextButtonClick()\"\n (previousButtonClick)=\"onIteratorPreviousButtonClick()\"\n >\n </sky-flyout-iterator>\n </div>\n <div class=\"sky-flyout-header-buttons\">\n <ng-container *ngTemplateOutlet=\"permalinkTemplate\"> </ng-container>\n <ng-container *ngTemplateOutlet=\"primaryActionTemplate\"> </ng-container>\n <button\n class=\"sky-btn sky-flyout-btn-close sky-label-icon-theme-default\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_flyout_close' | skyLibResources\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"close()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"close\"> </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"close\"\n iconType=\"skyux\"\n size=\"lg\"\n >\n </sky-icon>\n </button>\n </div>\n </div>\n <div class=\"sky-flyout-content\">\n <div #target></div>\n </div>\n <div\n class=\"sky-flyout-resize-handle\"\n role=\"separator\"\n tabindex=\"0\"\n type=\"range\"\n [attr.aria-controls]=\"flyoutId\"\n [attr.aria-label]=\"'skyux_flyout_resize_handle' | skyLibResources\"\n [attr.aria-valuemax]=\"config.maxWidth\"\n [attr.aria-valuemin]=\"config.minWidth\"\n [attr.aria-valuenow]=\"flyoutWidth\"\n (keydown)=\"onResizeHandleKeyDown($event)\"\n (mousedown)=\"onResizeHandleMouseDown($event)\"\n ></div>\n</div>\n\n<ng-template #permalinkTemplate>\n <ng-template [ngIf]=\"permalink\">\n <ng-template [ngIf]=\"permalink.url\">\n <a\n class=\"sky-btn sky-flyout-btn-permalink sky-margin-inline-default\"\n [skyHref]=\"permalink.url\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-borderless': 'modern'\n }\"\n (click)=\"close()\"\n >\n {{ permalinkLabel }}\n </a>\n </ng-template>\n <ng-template [ngIf]=\"permalink.route\">\n <a\n class=\"sky-btn sky-flyout-btn-permalink sky-margin-inline-default\"\n [routerLink]=\"permalink.route.commands\"\n [fragment]=\"permalink.route.extras?.fragment\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-borderless': 'modern'\n }\"\n [queryParams]=\"permalink.route.extras?.queryParams\"\n [queryParamsHandling]=\"permalink.route.extras?.queryParamsHandling\"\n [state]=\"permalink.route.extras?.state\"\n (click)=\"close()\"\n >\n {{ permalinkLabel }}\n </a>\n </ng-template>\n </ng-template>\n</ng-template>\n\n<ng-template #primaryActionTemplate>\n <ng-template [ngIf]=\"primaryAction && primaryAction.callback\">\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-flyout-btn-primary-action sky-margin-inline-default\"\n (click)=\"invokePrimaryAction()\"\n >\n {{ primaryActionLabel }}\n </button>\n </ng-template>\n</ng-template>\n", styles: [".sky-flyout{position:fixed;right:0;top:0;bottom:0;height:100%;background-color:#fff;border-left:6px solid #0974a1;z-index:1001}.sky-flyout:focus{outline:none}.sky-flyout.sky-flyout-fullscreen{min-width:100%;max-width:100%}.sky-flyout.sky-flyout-fullscreen .sky-flyout-resize-handle{cursor:initial}.sky-flyout.sky-flyout-hidden{visibility:hidden}.sky-flyout .sky-flyout-input-aria-only{width:0;height:0;padding:0;opacity:0;position:absolute;margin:-1px;border:0;overflow:hidden;clip:rect(0 0 0 0);outline:none}.sky-flyout-resize-handle{-webkit-appearance:none;-moz-appearance:none;height:100%;width:14px;position:absolute;left:-10px;cursor:ew-resize;padding:0;border:0;background:transparent;display:block;top:0;bottom:0;direction:rtl}.sky-flyout-resize-handle::-moz-range-thumb,.sky-flyout-resize-handle::-moz-range-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-ms-thumb,.sky-flyout-resize-handle::-ms-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-header{border-bottom:1px solid #cdcfd2;width:inherit;background:#eeeeef;height:50px;display:flex;position:fixed;z-index:1001;align-items:flex-start}.sky-flyout-header-content{flex-grow:1}.sky-flyout-btn-permalink:hover{text-decoration:none}.sky-flyout-help-shim{padding-right:8px}@media (min-width: 768px){.sky-flyout-help-shim{padding-right:50px}}.sky-flyout-content{overflow-y:auto;margin-top:50px;height:calc(100% - 50px)}:host-context(.sky-theme-modern) .sky-flyout{border-left:0}:host-context(.sky-theme-modern) .sky-flyout-header{border-bottom:none;background:#fff;padding:15px 10px}:host-context(.sky-theme-modern) .sky-flyout-header-grab-handle{cursor:move;cursor:-moz-grab}.sky-theme-modern .sky-flyout{border-left:0}.sky-theme-modern .sky-flyout-header{border-bottom:none;background:#fff;padding:15px 10px}.sky-theme-modern .sky-flyout-header-grab-handle{cursor:move;cursor:-moz-grab}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-flyout{background:#000}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-flyout-header{background:#000}.sky-theme-modern.sky-theme-mode-dark .sky-flyout,.sky-theme-modern.sky-theme-mode-dark .sky-flyout-header{background:#000}\n"], dependencies: [{ kind: "directive", type: i5.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i7.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i8.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i9.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "directive", type: i9.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "directive", type: i10.λ1, selector: "[skyHref]", inputs: ["skyHref", "skyHrefElse"], outputs: ["skyHrefChange"] }, { kind: "component", type: i11.SkyFlyoutIteratorComponent, selector: "sky-flyout-iterator", inputs: ["nextButtonDisabled", "previousButtonDisabled"], outputs: ["previousButtonClick", "nextButtonClick"] }, { kind: "pipe", type: i2.SkyLibResourcesPipe, name: "skyLibResources" }], animations: [
|
|
454
454
|
trigger('flyoutState', [
|
|
455
455
|
state(FLYOUT_OPEN_STATE, style({ transform: 'initial' })),
|
|
456
456
|
state(FLYOUT_CLOSED_STATE, style({ transform: 'translateX(100%)' })),
|
|
@@ -477,7 +477,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
|
|
|
477
477
|
]),
|
|
478
478
|
transition(`* <=> *`, animate('250ms ease-in')),
|
|
479
479
|
]),
|
|
480
|
-
], changeDetection: ChangeDetectionStrategy.Default, template: "<div\n class=\"sky-flyout\"\n tabindex=\"-1\"\n [attr.role]=\"config
|
|
480
|
+
], changeDetection: ChangeDetectionStrategy.Default, template: "<div\n class=\"sky-flyout\"\n tabindex=\"-1\"\n [attr.role]=\"config.ariaRole ? config.ariaRole : 'dialog'\"\n [attr.aria-describedby]=\"config.ariaDescribedBy\"\n [attr.aria-label]=\"config.ariaLabel\"\n [attr.aria-labelledby]=\"config.ariaLabelledBy\"\n [attr.aria-modal]=\"\n config.ariaRole === 'dialog' || !config.ariaRole ? true : false\n \"\n [attr.hidden]=\"!instanceReady ? true : undefined\"\n [id]=\"flyoutId\"\n [ngClass]=\"{\n 'sky-flyout-hidden': !isOpen && !isOpening,\n 'sky-flyout-fullscreen': isFullscreen\n }\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-8': 'modern'\n }\"\n (@flyoutState.done)=\"animationDone($event)\"\n [@flyoutState]=\"getAnimationState()\"\n [style.width.px]=\"flyoutWidth\"\n #flyoutRef\n [cdkTrapFocus]=\"enableTrapFocus\"\n [cdkTrapFocusAutoCapture]=\"enableTrapFocusAutoCapture\"\n>\n <div\n class=\"sky-flyout-header\"\n [skyThemeClass]=\"{\n 'sky-padding-squish-large': 'default'\n }\"\n #flyoutHeader\n >\n <div class=\"sky-flyout-header-content\">\n <button\n *skyThemeIf=\"'modern'\"\n class=\"sky-btn sky-btn-icon-borderless sky-margin-inline-sm sky-flyout-header-grab-handle\"\n [attr.aria-label]=\"'skyux_flyout_resize_handle' | skyLibResources\"\n (keydown)=\"onHeaderGrabHandleKeyDown($event)\"\n (mousedown)=\"onHeaderGrabHandleMouseDown($event)\"\n >\n <sky-icon icon=\"tile-drag\" iconType=\"skyux\" size=\"lg\"> </sky-icon>\n </button>\n\n <sky-flyout-iterator\n *ngIf=\"config.showIterator\"\n [nextButtonDisabled]=\"config.iteratorNextButtonDisabled\"\n [previousButtonDisabled]=\"config.iteratorPreviousButtonDisabled\"\n (nextButtonClick)=\"onIteratorNextButtonClick()\"\n (previousButtonClick)=\"onIteratorPreviousButtonClick()\"\n >\n </sky-flyout-iterator>\n </div>\n <div class=\"sky-flyout-header-buttons\">\n <ng-container *ngTemplateOutlet=\"permalinkTemplate\"> </ng-container>\n <ng-container *ngTemplateOutlet=\"primaryActionTemplate\"> </ng-container>\n <button\n class=\"sky-btn sky-flyout-btn-close sky-label-icon-theme-default\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_flyout_close' | skyLibResources\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"close()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"close\"> </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"close\"\n iconType=\"skyux\"\n size=\"lg\"\n >\n </sky-icon>\n </button>\n </div>\n </div>\n <div class=\"sky-flyout-content\">\n <div #target></div>\n </div>\n <div\n class=\"sky-flyout-resize-handle\"\n role=\"separator\"\n tabindex=\"0\"\n type=\"range\"\n [attr.aria-controls]=\"flyoutId\"\n [attr.aria-label]=\"'skyux_flyout_resize_handle' | skyLibResources\"\n [attr.aria-valuemax]=\"config.maxWidth\"\n [attr.aria-valuemin]=\"config.minWidth\"\n [attr.aria-valuenow]=\"flyoutWidth\"\n (keydown)=\"onResizeHandleKeyDown($event)\"\n (mousedown)=\"onResizeHandleMouseDown($event)\"\n ></div>\n</div>\n\n<ng-template #permalinkTemplate>\n <ng-template [ngIf]=\"permalink\">\n <ng-template [ngIf]=\"permalink.url\">\n <a\n class=\"sky-btn sky-flyout-btn-permalink sky-margin-inline-default\"\n [skyHref]=\"permalink.url\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-borderless': 'modern'\n }\"\n (click)=\"close()\"\n >\n {{ permalinkLabel }}\n </a>\n </ng-template>\n <ng-template [ngIf]=\"permalink.route\">\n <a\n class=\"sky-btn sky-flyout-btn-permalink sky-margin-inline-default\"\n [routerLink]=\"permalink.route.commands\"\n [fragment]=\"permalink.route.extras?.fragment\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-borderless': 'modern'\n }\"\n [queryParams]=\"permalink.route.extras?.queryParams\"\n [queryParamsHandling]=\"permalink.route.extras?.queryParamsHandling\"\n [state]=\"permalink.route.extras?.state\"\n (click)=\"close()\"\n >\n {{ permalinkLabel }}\n </a>\n </ng-template>\n </ng-template>\n</ng-template>\n\n<ng-template #primaryActionTemplate>\n <ng-template [ngIf]=\"primaryAction && primaryAction.callback\">\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-flyout-btn-primary-action sky-margin-inline-default\"\n (click)=\"invokePrimaryAction()\"\n >\n {{ primaryActionLabel }}\n </button>\n </ng-template>\n</ng-template>\n", styles: [".sky-flyout{position:fixed;right:0;top:0;bottom:0;height:100%;background-color:#fff;border-left:6px solid #0974a1;z-index:1001}.sky-flyout:focus{outline:none}.sky-flyout.sky-flyout-fullscreen{min-width:100%;max-width:100%}.sky-flyout.sky-flyout-fullscreen .sky-flyout-resize-handle{cursor:initial}.sky-flyout.sky-flyout-hidden{visibility:hidden}.sky-flyout .sky-flyout-input-aria-only{width:0;height:0;padding:0;opacity:0;position:absolute;margin:-1px;border:0;overflow:hidden;clip:rect(0 0 0 0);outline:none}.sky-flyout-resize-handle{-webkit-appearance:none;-moz-appearance:none;height:100%;width:14px;position:absolute;left:-10px;cursor:ew-resize;padding:0;border:0;background:transparent;display:block;top:0;bottom:0;direction:rtl}.sky-flyout-resize-handle::-moz-range-thumb,.sky-flyout-resize-handle::-moz-range-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-ms-thumb,.sky-flyout-resize-handle::-ms-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-header{border-bottom:1px solid #cdcfd2;width:inherit;background:#eeeeef;height:50px;display:flex;position:fixed;z-index:1001;align-items:flex-start}.sky-flyout-header-content{flex-grow:1}.sky-flyout-btn-permalink:hover{text-decoration:none}.sky-flyout-help-shim{padding-right:8px}@media (min-width: 768px){.sky-flyout-help-shim{padding-right:50px}}.sky-flyout-content{overflow-y:auto;margin-top:50px;height:calc(100% - 50px)}:host-context(.sky-theme-modern) .sky-flyout{border-left:0}:host-context(.sky-theme-modern) .sky-flyout-header{border-bottom:none;background:#fff;padding:15px 10px}:host-context(.sky-theme-modern) .sky-flyout-header-grab-handle{cursor:move;cursor:-moz-grab}.sky-theme-modern .sky-flyout{border-left:0}.sky-theme-modern .sky-flyout-header{border-bottom:none;background:#fff;padding:15px 10px}.sky-theme-modern .sky-flyout-header-grab-handle{cursor:move;cursor:-moz-grab}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-flyout{background:#000}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-flyout-header{background:#000}.sky-theme-modern.sky-theme-mode-dark .sky-flyout,.sky-theme-modern.sky-theme-mode-dark .sky-flyout-header{background:#000}\n"] }]
|
|
481
481
|
}], ctorParameters: function () { return [{ type: i1.SkyFlyoutAdapterService }, { type: i0.ChangeDetectorRef }, { type: i0.Injector }, { type: i0.ComponentFactoryResolver }, { type: i2.SkyLibResourcesService }, { type: i3.SkyFlyoutMediaQueryService }, { type: i0.ElementRef }, { type: i4.SkyUIConfigService }, { type: i0.NgZone }]; }, propDecorators: { flyoutRef: [{
|
|
482
482
|
type: ViewChild,
|
|
483
483
|
args: ['flyoutRef', {
|
|
@@ -500,4 +500,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
|
|
|
500
500
|
type: HostListener,
|
|
501
501
|
args: ['window:resize', ['$event']]
|
|
502
502
|
}] } });
|
|
503
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC9mbHlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZseW91dC9zcmMvbGliL21vZHVsZXMvZmx5b3V0L2ZseW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFFTCxPQUFPLEVBQ1AsS0FBSyxFQUNMLEtBQUssRUFDTCxVQUFVLEVBQ1YsT0FBTyxHQUNSLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsVUFBVSxFQUNWLFlBQVksRUFDWixRQUFRLEVBS1IsU0FBUyxFQUNULGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLG9CQUFvQixHQUVyQixNQUFNLGFBQWEsQ0FBQztBQUdyQixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUUxRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUlsRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQUduRSxNQUFNLGlCQUFpQixHQUFH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M0UsY0FDVzt3QkFDVixPQUFPLENBQUMsYUFBYSxFQUFFOzRCQUNyQixLQUFLLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7NEJBQ3pELEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDOzRCQUNwRSxVQUFVLENBQUMsV0FBVyxFQUFFO2dDQUN0QixLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztnQ0FDeEMsT0FBTyxDQUFDLEdBQUcsQ0FBQzs2QkFDYixDQUFDOzRCQUNGLFVBQVUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO3lCQUNoRCxDQUFDO3FCQUNILG1CQUVnQix1QkFBdUIsQ0FBQyxPQUFPO3lXQWlEekMsU0FBUztzQkFKZixTQUFTO3VCQUFDLFdBQVcsRUFBRTt3QkFDdEIsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLE1BQU0sRUFBRSxJQUFJO3FCQUNiO2dCQU9NLE1BQU07c0JBSlosU0FBUzt1QkFBQyxRQUFRLEVBQUU7d0JBQ25CLElBQUksRUFBRSxnQkFBZ0I7d0JBQ3RCLE1BQU0sRUFBRSxJQUFJO3FCQUNiO2dCQU9NLFlBQVk7c0JBSmxCLFNBQVM7dUJBQUMsY0FBYyxFQUFFO3dCQUN6QixJQUFJLEVBQUUsVUFBVTt3QkFDaEIsTUFBTSxFQUFFLElBQUk7cUJBQ2I7Z0JBNkRNLGNBQWM7c0JBRHBCLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQW5pbWF0aW9uRXZlbnQsXG4gIGFuaW1hdGUsXG4gIHN0YXRlLFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvbixcbiAgdHJpZ2dlcixcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBFbGVtZW50UmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdG9yLFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBUeXBlLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5TWVkaWFCcmVha3BvaW50cyxcbiAgU2t5TWVkaWFRdWVyeVNlcnZpY2UsXG4gIFNreVVJQ29uZmlnU2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5TGliUmVzb3VyY2VzU2VydmljZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcblxuaW1wb3J0IHsgU3ViamVjdCwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwsIHRha2VXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5Rmx5b3V0QWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL2ZseW91dC1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0SW5zdGFuY2UgfSBmcm9tICcuL2ZseW91dC1pbnN0YW5jZSc7XG5pbXBvcnQgeyBTa3lGbHlvdXRNZWRpYVF1ZXJ5U2VydmljZSB9IGZyb20gJy4vZmx5b3V0LW1lZGlhLXF1ZXJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0QWN0aW9uIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtYWN0aW9uJztcbmltcG9ydCB7IFNreUZseW91dEJlZm9yZUNsb3NlSGFuZGxlciB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LWJlZm9yZS1jbG9zZS1oYW5kbGVyJztcbmltcG9ydCB7IFNreUZseW91dENvbmZpZyB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LWNvbmZpZyc7XG5pbXBvcnQgeyBTa3lGbHlvdXRDb25maWdJbnRlcm5hbCB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LWNvbmZpZy1pbnRlcm5hbCc7XG5pbXBvcnQgeyBTa3lGbHlvdXRNZXNzYWdlIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtbWVzc2FnZSc7XG5pbXBvcnQgeyBTa3lGbHlvdXRNZXNzYWdlVHlwZSB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LW1lc3NhZ2UtdHlwZSc7XG5pbXBvcnQgeyBTa3lGbHlvdXRQZXJtYWxpbmsgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1wZXJtYWxpbmsnO1xuXG5jb25zdCBGTFlPVVRfT1BFTl9TVEFURSA9ICdmbHlvdXRPcGVuJztcbmNvbnN0IEZMWU9VVF9DTE9TRURfU1RBVEUgPSAnZmx5b3V0Q2xvc2VkJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1mbHlvdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmx5b3V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmx5b3V0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIFNreUZseW91dEFkYXB0ZXJTZXJ2aWNlLFxuICAgIFNreUZseW91dE1lZGlhUXVlcnlTZXJ2aWNlLFxuICAgIHsgcHJvdmlkZTogU2t5TWVkaWFRdWVyeVNlcnZpY2UsIHVzZUV4aXN0aW5nOiBTa3lGbHlvdXRNZWRpYVF1ZXJ5U2VydmljZSB9LFxuICBdLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignZmx5b3V0U3RhdGUnLCBbXG4gICAgICBzdGF0ZShGTFlPVVRfT1BFTl9TVEFURSwgc3R5bGUoeyB0cmFuc2Zvcm06ICdpbml0aWFsJyB9KSksXG4gICAgICBzdGF0ZShGTFlPVVRfQ0xPU0VEX1NUQVRFLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTAwJSknIH0pKSxcbiAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gKicsIFtcbiAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDEwMCUpJyB9KSxcbiAgICAgICAgYW5pbWF0ZSgyNTApLFxuICAgICAgXSksXG4gICAgICB0cmFuc2l0aW9uKGAqIDw9PiAqYCwgYW5pbWF0ZSgnMjUwbXMgZWFzZS1pbicpKSxcbiAgICBdKSxcbiAgXSxcbiAgLy8gQWxsb3cgYXV0b21hdGljIGNoYW5nZSBkZXRlY3Rpb24gZm9yIGNoaWxkIGNvbXBvbmVudHMuXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5Rmx5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xuICBwdWJsaWMgY29uZmlnOiBTa3lGbHlvdXRDb25maWdJbnRlcm5hbCA9IHtcbiAgICBkZWZhdWx0V2lkdGg6IHdpbmRvdy5pbm5lcldpZHRoIC8gMixcbiAgICBtaW5XaWR0aDogMzIwLFxuICAgIG1heFdpZHRoOiB3aW5kb3cuaW5uZXJXaWR0aCAvIDIsXG4gICAgcHJvdmlkZXJzOiBbXSxcbiAgfTtcbiAgcHVibGljIGVuYWJsZVRyYXBGb2N1cyA9IGZhbHNlO1xuICBwdWJsaWMgZW5hYmxlVHJhcEZvY3VzQXV0b0NhcHR1cmUgPSBmYWxzZTtcbiAgcHVibGljIGZseW91dElkID0gYHNreS1mbHlvdXQtJHsrK25leHRJZH1gO1xuICBwdWJsaWMgZmx5b3V0U3RhdGUgPSBGTFlPVVRfQ0xPU0VEX1NUQVRFO1xuICBwdWJsaWMgaXNPcGVuID0gZmFsc2U7XG4gIHB1YmxpYyBpc09wZW5pbmcgPSBmYWxzZTtcblxuICBwdWJsaWMgZmx5b3V0V2lkdGggPSAwO1xuICBwdWJsaWMgaW5zdGFuY2VSZWFkeSA9IGZhbHNlO1xuICBwdWJsaWMgaXNEcmFnZ2luZyA9IGZhbHNlO1xuICBwdWJsaWMgaXNGdWxsc2NyZWVuID0gZmFsc2U7XG4gIHB1YmxpYyByZXNpemVLZXlDb250cm9sQWN0aXZlID0gZmFsc2U7XG5cbiAgI3hDb29yZCA9IDA7XG4gICN3aW5kb3dCdWZmZXJTaXplID0gMjA7XG5cbiAgcHVibGljIGdldCBtZXNzYWdlU3RyZWFtKCk6IFN1YmplY3Q8U2t5Rmx5b3V0TWVzc2FnZT4ge1xuICAgIHJldHVybiB0aGlzLiNfbWVzc2FnZVN0cmVhbTtcbiAgfVxuXG4gIHB1YmxpYyBwZXJtYWxpbms6IFNreUZseW91dFBlcm1hbGluayA9IHt9O1xuXG4gIHB1YmxpYyBwZXJtYWxpbmtMYWJlbCA9ICcnO1xuXG4gIHB1YmxpYyBwcmltYXJ5QWN0aW9uOiBTa3lGbHlvdXRBY3Rpb24gPSB7fTtcblxuICBwdWJsaWMgcHJpbWFyeUFjdGlvbkxhYmVsID0gJyc7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHdpZHRoU3RlcCA9IDEwO1xuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBWaWV3Q2hpbGQoJ2ZseW91dFJlZicsIHtcbiAgICByZWFkOiBFbGVtZW50UmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHVibGljIGZseW91dFJlZjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCd0YXJnZXQnLCB7XG4gICAgcmVhZDogVmlld0NvbnRhaW5lclJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHB1YmxpYyB0YXJnZXQ6IFZpZXdDb250YWluZXJSZWYgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZCgnZmx5b3V0SGVhZGVyJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwdWJsaWMgZmx5b3V0SGVhZGVyOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gICNmbHlvdXRJbnN0YW5jZTogU2t5Rmx5b3V0SW5zdGFuY2U8YW55PiB8IHVuZGVmaW5lZDtcblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI19tZXNzYWdlU3RyZWFtID0gbmV3IFN1YmplY3Q8U2t5Rmx5b3V0TWVzc2FnZT4oKTtcblxuICAjYWRhcHRlcjogU2t5Rmx5b3V0QWRhcHRlclNlcnZpY2U7XG4gICNjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWY7XG4gICNpbmplY3RvcjogSW5qZWN0b3I7XG4gICNyZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyO1xuICAjcmVzb3VyY2VzU2VydmljZTogU2t5TGliUmVzb3VyY2VzU2VydmljZTtcbiAgI2ZseW91dE1lZGlhUXVlcnlTZXJ2aWNlOiBTa3lGbHlvdXRNZWRpYVF1ZXJ5U2VydmljZTtcbiAgI2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG4gICN1aUNvbmZpZ1NlcnZpY2U6IFNreVVJQ29uZmlnU2VydmljZTtcbiAgI25nWm9uZTogTmdab25lO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGFkYXB0ZXI6IFNreUZseW91dEFkYXB0ZXJTZXJ2aWNlLFxuICAgIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICByZXNvdXJjZXNTZXJ2aWNlOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlLFxuICAgIGZseW91dE1lZGlhUXVlcnlTZXJ2aWNlOiBTa3lGbHlvdXRNZWRpYVF1ZXJ5U2VydmljZSxcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHVpQ29uZmlnU2VydmljZTogU2t5VUlDb25maWdTZXJ2aWNlLFxuICAgIG5nWm9uZTogTmdab25lXG4gICkge1xuICAgIHRoaXMuI2FkYXB0ZXIgPSBhZGFwdGVyO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yID0gY2hhbmdlRGV0ZWN0b3I7XG4gICAgdGhpcy4jaW5qZWN0b3IgPSBpbmplY3RvcjtcbiAgICB0aGlzLiNyZXNvbHZlciA9IHJlc29sdmVyO1xuICAgIHRoaXMuI3Jlc291cmNlc1NlcnZpY2UgPSByZXNvdXJjZXNTZXJ2aWNlO1xuICAgIHRoaXMuI2ZseW91dE1lZGlhUXVlcnlTZXJ2aWNlID0gZmx5b3V0TWVkaWFRdWVyeVNlcnZpY2U7XG4gICAgdGhpcy4jZWxlbWVudFJlZiA9IGVsZW1lbnRSZWY7XG4gICAgdGhpcy4jdWlDb25maWdTZXJ2aWNlID0gdWlDb25maWdTZXJ2aWNlO1xuICAgIHRoaXMuI25nWm9uZSA9IG5nWm9uZTtcblxuICAgIC8vIEFsbCBjb21tYW5kcyBmbG93IHRocm91Z2ggdGhlIG1lc3NhZ2Ugc3RyZWFtLlxuICAgIHRoaXMubWVzc2FnZVN0cmVhbVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgobWVzc2FnZTogU2t5Rmx5b3V0TWVzc2FnZSkgPT4ge1xuICAgICAgICB0aGlzLiNoYW5kbGVJbmNvbWluZ01lc3NhZ2VzKG1lc3NhZ2UpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy5mbHlvdXRIZWFkZXIpIHtcbiAgICAgIHRoaXMuI2FkYXB0ZXIuYWRqdXN0SGVhZGVyRm9ySGVscCh0aGlzLmZseW91dEhlYWRlcik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25XaW5kb3dSZXNpemUoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIHRoaXMuI2ZseW91dE1lZGlhUXVlcnlTZXJ2aWNlLmlzV2lkdGhXaXRoaW5CcmVha3Bpb250KFxuICAgICAgICBldmVudC50YXJnZXQuaW5uZXJXaWR0aCxcbiAgICAgICAgU2t5TWVkaWFCcmVha3BvaW50cy54c1xuICAgICAgKVxuICAgICkge1xuICAgICAgdGhpcy4jdXBkYXRlQnJlYWtwb2ludEFuZFJlc3BvbnNpdmVDbGFzcyhldmVudC50YXJnZXQuaW5uZXJXaWR0aCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI3VwZGF0ZUJyZWFrcG9pbnRBbmRSZXNwb25zaXZlQ2xhc3ModGhpcy5mbHlvdXRXaWR0aCk7XG4gICAgfVxuXG4gICAgdGhpcy4jc2V0RnVsbHNjcmVlbigpO1xuXG4gICAgaWYgKGV2ZW50LnRhcmdldC5pbm5lcldpZHRoIC0gdGhpcy5mbHlvdXRXaWR0aCA8IHRoaXMuI3dpbmRvd0J1ZmZlclNpemUpIHtcbiAgICAgIHRoaXMuZmx5b3V0V2lkdGggPSBldmVudC50YXJnZXQuaW5uZXJXaWR0aCAtIHRoaXMuI3dpbmRvd0J1ZmZlclNpemU7XG4gICAgICB0aGlzLiN4Q29vcmQgPSB0aGlzLiN3aW5kb3dCdWZmZXJTaXplO1xuICAgICAgdGhpcy4jc2V0VXNlckRhdGEoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXR0YWNoPFQ+KFxuICAgIGNvbXBvbmVudDogVHlwZTxUPixcbiAgICBjb25maWc/OiBTa3lGbHlvdXRDb25maWdcbiAgKTogU2t5Rmx5b3V0SW5zdGFuY2U8VD4ge1xuICAgIHRoaXMuI2NsZWFuVGVtcGxhdGUoKTtcblxuICAgIC8vIEVtaXQgdGhlIGNsb3NlZCBldmVudCBvbiBhbnkgcHJldmlvdXNseSBvcGVuZWQgZmx5b3V0IGluc3RhbmNlXG4gICAgaWYgKHRoaXMuI2ZseW91dEluc3RhbmNlKSB7XG4gICAgICB0aGlzLiNub3RpZnlDbG9zZWQoKTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbmZpZyA9IE9iamVjdC5hc3NpZ24oXG4gICAgICB7XG4gICAgICAgIGRlZmF1bHRXaWR0aDogd2luZG93LmlubmVyV2lkdGggLyAyLFxuICAgICAgICBtaW5XaWR0aDogMzIwLFxuICAgICAgICBtYXhXaWR0aDogd2luZG93LmlubmVyV2lkdGggLyAyLFxuICAgICAgICBwcm92aWRlcnM6IFtdLFxuICAgICAgfSxcbiAgICAgIGNvbmZpZ1xuICAgICk7XG4gICAgaWYgKGNvbmZpZz8uZGVmYXVsdFdpZHRoICYmICFjb25maWc/Lm1heFdpZHRoKSB7XG4gICAgICB0aGlzLmNvbmZpZy5tYXhXaWR0aCA9IGNvbmZpZz8uZGVmYXVsdFdpZHRoO1xuICAgIH1cblxuICAgIHRoaXMuY29uZmlnLnNob3dJdGVyYXRvciA9IHRoaXMuY29uZmlnLnNob3dJdGVyYXRvciB8fCBmYWxzZTtcbiAgICB0aGlzLmNvbmZpZy5pdGVyYXRvck5leHRCdXR0b25EaXNhYmxlZCA9XG4gICAgICB0aGlzLmNvbmZpZy5pdGVyYXRvck5leHRCdXR0b25EaXNhYmxlZCB8fCBmYWxzZTtcbiAgICB0aGlzLmNvbmZpZy5pdGVyYXRvclByZXZpb3VzQnV0dG9uRGlzYWJsZWQgPVxuICAgICAgdGhpcy5jb25maWcuaXRlcmF0b3JQcmV2aW91c0J1dHRvbkRpc2FibGVkIHx8IGZhbHNlO1xuXG4gICAgdGhpcy5wZXJtYWxpbmsgPSB0aGlzLmNvbmZpZy5wZXJtYWxpbmsgPz8ge307XG4gICAgdGhpcy5wZXJtYWxpbmtMYWJlbCA9XG4gICAgICB0aGlzLmNvbmZpZy5wZXJtYWxpbmsgJiYgdGhpcy5jb25maWcucGVybWFsaW5rLmxhYmVsXG4gICAgICAgID8gdGhpcy5jb25maWcucGVybWFsaW5rLmxhYmVsXG4gICAgICAgIDogdGhpcy4jZ2V0U3RyaW5nKCdza3l1eF9mbHlvdXRfcGVybWFsaW5rX2J1dHRvbicpO1xuXG4gICAgdGhpcy5wcmltYXJ5QWN0aW9uID0gdGhpcy5jb25maWcucHJpbWFyeUFjdGlvbiA/PyB7fTtcbiAgICB0aGlzLnByaW1hcnlBY3Rpb25MYWJlbCA9XG4gICAgICB0aGlzLmNvbmZpZy5wcmltYXJ5QWN0aW9uICYmIHRoaXMuY29uZmlnLnByaW1hcnlBY3Rpb24ubGFiZWxcbiAgICAgICAgPyB0aGlzLmNvbmZpZy5wcmltYXJ5QWN0aW9uLmxhYmVsXG4gICAgICAgIDogdGhpcy4jZ2V0U3RyaW5nKCdza3l1eF9mbHlvdXRfcHJpbWFyeV9hY3Rpb25fYnV0dG9uJyk7XG5cbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy4jcmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50KTtcblxuICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgIHBhcmVudDogdGhpcy4jaW5qZWN0b3IsXG4gICAgICBwcm92aWRlcnM6IHRoaXMuY29uZmlnLnByb3ZpZGVycyxcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMudGFyZ2V0Py5jcmVhdGVDb21wb25lbnQoXG4gICAgICBmYWN0b3J5LFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgaW5qZWN0b3JcbiAgICApO1xuXG4gICAgLyogc2FmZXR5IGNoZWNrICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKCFjb21wb25lbnRSZWYpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkZseW91dCdzIGludGVybmFsIGNvbXBvbmVudCBjb3VsZCBub3QgYmUgY3JlYXRlZFwiKTtcbiAgICB9XG5cbiAgICB0aGlzLiNmbHlvdXRJbnN0YW5jZSA9IHRoaXMuI2NyZWF0ZUZseW91dEluc3RhbmNlPFQ+KGNvbXBvbmVudFJlZi5pbnN0YW5jZSk7XG5cbiAgICAvLyBUaGlzIGlzIHVzZWQgdG8gZW5zdXJlIHdlIGRvIG5vdCByZW5kZXIgdGhlIGZseW91dCB1bnRpbCB3ZSBoYXZlIGF0dGFjaGVkIHRoZSBjb21wb25lbnQuXG4gICAgLy8gVGhpcyBhbGxvd3MgdGhlIGFyaWEtbGFiZWxsZWRieSB0byBmdW5jdGlvbiBjb3JyZWN0bHkuXG4gICAgdGhpcy5pbnN0YW5jZVJlYWR5ID0gdHJ1ZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcblxuICAgIC8vIE9wZW4gdGhlIGZseW91dCBpbW1lZGlhdGVseS5cbiAgICB0aGlzLm1lc3NhZ2VTdHJlYW0ubmV4dCh7XG4gICAgICB0eXBlOiBTa3lGbHlvdXRNZXNzYWdlVHlwZS5PcGVuLFxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuY29uZmlnLnNldHRpbmdzS2V5KSB7XG4gICAgICB0aGlzLiN1aUNvbmZpZ1NlcnZpY2VcbiAgICAgICAgLmdldENvbmZpZyh0aGlzLmNvbmZpZy5zZXR0aW5nc0tleSlcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZSgodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5mbHlvdXRXaWR0aCkge1xuICAgICAgICAgICAgdGhpcy5mbHlvdXRXaWR0aCA9IHZhbHVlLmZseW91dFdpZHRoO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBCYWQgZGF0YSwgb3IgY29uZmlnIGlzIHRoZSBkZWZhdWx0IGNvbmZpZy5cbiAgICAgICAgICAgIHRoaXMuZmx5b3V0V2lkdGggPSB0aGlzLmNvbmZpZy5kZWZhdWx0V2lkdGg7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuI2NoZWNrSW5pdGlhbFNpemUoKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmx5b3V0V2lkdGggPSB0aGlzLmNvbmZpZy5kZWZhdWx0V2lkdGg7XG4gICAgICB0aGlzLiNjaGVja0luaXRpYWxTaXplKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuI2ZseW91dEluc3RhbmNlO1xuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMubWVzc2FnZVN0cmVhbS5uZXh0KHtcbiAgICAgIHR5cGU6IFNreUZseW91dE1lc3NhZ2VUeXBlLkNsb3NlLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGludm9rZVByaW1hcnlBY3Rpb24oKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMucHJpbWFyeUFjdGlvbi5jYWxsYmFjaykge1xuICAgICAgdGhpcy5wcmltYXJ5QWN0aW9uLmNhbGxiYWNrKCk7XG5cbiAgICAgIGlmICh0aGlzLnByaW1hcnlBY3Rpb24uY2xvc2VBZnRlckludm9raW5nKSB7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHVibGljIGdldEFuaW1hdGlvblN0YXRlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaW5zdGFuY2VSZWFkeSAmJiB0aGlzLmlzT3BlbmluZ1xuICAgICAgPyBGTFlPVVRfT1BFTl9TVEFURVxuICAgICAgOiBGTFlPVVRfQ0xPU0VEX1NUQVRFO1xuICB9XG5cbiAgcHVibGljIGFuaW1hdGlvbkRvbmUoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LnRvU3RhdGUgPT09IEZMWU9VVF9PUEVOX1NUQVRFKSB7XG4gICAgICB0aGlzLmlzT3BlbiA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKGV2ZW50LnRvU3RhdGUgPT09IEZMWU9VVF9DTE9TRURfU1RBVEUpIHtcbiAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgICB0aGlzLiNub3RpZnlDbG9zZWQoKTtcbiAgICAgIHRoaXMuI2NsZWFuVGVtcGxhdGUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25IZWFkZXJHcmFiSGFuZGxlTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5vblJlc2l6ZUhhbmRsZU1vdXNlRG93bihldmVudCk7XG4gIH1cblxuICBwdWJsaWMgb25IZWFkZXJHcmFiSGFuZGxlS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuI2hhbmRsZVJlc2l6ZUtleURvd24oZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIG9uUmVzaXplSGFuZGxlS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuI2hhbmRsZVJlc2l6ZUtleURvd24oZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIG9uUmVzaXplSGFuZGxlTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICh0aGlzLmlzRnVsbHNjcmVlbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaXNEcmFnZ2luZyA9IHRydWU7XG4gICAgdGhpcy4jeENvb3JkID0gZXZlbnQuY2xpZW50WDtcblxuICAgIHRoaXMuI2FkYXB0ZXIudG9nZ2xlSWZyYW1lUG9pbnRlckV2ZW50cyhmYWxzZSk7XG5cbiAgICBmcm9tRXZlbnQoZG9jdW1lbnQsICdtb3VzZW1vdmUnKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VXaGlsZSgoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuaXNEcmFnZ2luZztcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKG1vdmVFdmVudDogYW55KSA9PiB7XG4gICAgICAgIHRoaXMub25Nb3VzZU1vdmUobW92ZUV2ZW50KTtcbiAgICAgIH0pO1xuXG4gICAgZnJvbUV2ZW50KGRvY3VtZW50LCAnbW91c2V1cCcpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVdoaWxlKCgpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5pc0RyYWdnaW5nO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgobW91c2VVcEV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5vbkhhbmRsZVJlbGVhc2UobW91c2VVcEV2ZW50KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uTW91c2VNb3ZlKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgLyogU2FuaXR5IGNoZWNrICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKCF0aGlzLmlzRHJhZ2dpbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBvZmZzZXRYID0gZXZlbnQuY2xpZW50WCAtIHRoaXMuI3hDb29yZDtcbiAgICBsZXQgd2lkdGggPSB0aGlzLmZseW91dFdpZHRoO1xuXG4gICAgd2lkdGggLT0gb2Zmc2V0WDtcblxuICAgIGlmICh3aWR0aCA8IHRoaXMuY29uZmlnLm1pbldpZHRoIHx8IHdpZHRoID4gdGhpcy5jb25maWcubWF4V2lkdGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAod2luZG93LmlubmVyV2lkdGggLSB3aWR0aCA8IHRoaXMuI3dpbmRvd0J1ZmZlclNpemUpIHtcbiAgICAgIHdpZHRoID0gd2luZG93LmlubmVyV2lkdGggLSB0aGlzLiN3aW5kb3dCdWZmZXJTaXplO1xuICAgICAgdGhpcy4jeENvb3JkID0gdGhpcy4jd2luZG93QnVmZmVyU2l6ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jeENvb3JkID0gZXZlbnQuY2xpZW50WDtcbiAgICB9XG5cbiAgICB0aGlzLmZseW91dFdpZHRoID0gd2lkdGg7XG5cbiAgICB0aGlzLiN1cGRhdGVCcmVha3BvaW50QW5kUmVzcG9uc2l2ZUNsYXNzKHRoaXMuZmx5b3V0V2lkdGgpO1xuXG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgb25IYW5kbGVSZWxlYXNlKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzRHJhZ2dpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy4jYWRhcHRlci50b2dnbGVJZnJhbWVQb2ludGVyRXZlbnRzKHRydWUpO1xuICAgICAgICB0aGlzLiNzZXRVc2VyRGF0YSgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25JdGVyYXRvclByZXZpb3VzQnV0dG9uQ2xpY2soKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy4jZmx5b3V0SW5zdGFuY2UpIHtcbiAgICAgIHRoaXMuI2ZseW91dEluc3RhbmNlLml0ZXJhdG9yUHJldmlvdXNCdXR0b25DbGljay5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uSXRlcmF0b3JOZXh0QnV0dG9uQ2xpY2soKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy4jZmx5b3V0SW5zdGFuY2UpIHtcbiAgICAgIHRoaXMuI2ZseW91dEluc3RhbmNlLml0ZXJhdG9yTmV4dEJ1dHRvbkNsaWNrLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICAjY3JlYXRlRmx5b3V0SW5zdGFuY2U8VD4oY29tcG9uZW50OiBUKTogU2t5Rmx5b3V0SW5zdGFuY2U8VD4ge1xuICAgIGNvbnN0IGluc3RhbmNlID0gbmV3IFNreUZseW91dEluc3RhbmNlPFQ+KGNvbXBvbmVudCk7XG5cbiAgICBpbnN0YW5jZS5ob3N0Q29udHJvbGxlclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgobWVzc2FnZTogU2t5Rmx5b3V0TWVzc2FnZSkgPT4ge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTdHJlYW0ubmV4dChtZXNzYWdlKTtcbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuIGluc3RhbmNlO1xuICB9XG5cbiAgI2hhbmRsZUluY29taW5nTWVzc2FnZXMobWVzc2FnZTogU2t5Rmx5b3V0TWVzc2FnZSk6IHZvaWQge1xuICAgIHN3aXRjaCAobWVzc2FnZS50eXBlKSB7XG4gICAgICBjYXNlIFNreUZseW91dE1lc3NhZ2VUeXBlLk9wZW46XG4gICAgICAgIGlmICghdGhpcy5pc09wZW4pIHtcbiAgICAgICAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaXNPcGVuaW5nID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLiNpbml0Rm9jdXNUcmFwKCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNreUZseW91dE1lc3NhZ2VUeXBlLkNsb3NlOlxuICAgICAgICBpZiAoXG4gICAgICAgICAgKHRoaXMuI2ZseW91dEluc3RhbmNlPy5iZWZvcmVDbG9zZSBhcyBTdWJqZWN0PGFueT4pPy5vYnNlcnZlcnNcbiAgICAgICAgICAgIC5sZW5ndGggPT09IDAgfHxcbiAgICAgICAgICBtZXNzYWdlLmRhdGE/Lmlnbm9yZUJlZm9yZUNsb3NlXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmlzT3BlbmluZyA9IGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICh0aGlzLiNmbHlvdXRJbnN0YW5jZT8uYmVmb3JlQ2xvc2UgYXMgU3ViamVjdDxhbnk+KT8ubmV4dChcbiAgICAgICAgICAgIG5ldyBTa3lGbHlvdXRCZWZvcmVDbG9zZUhhbmRsZXIoKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmlzT3BlbiA9IHRydWU7XG4gICAgICAgICAgICAgIHRoaXMuaXNPcGVuaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5Rmx5b3V0TWVzc2FnZVR5cGUuRW5hYmxlSXRlcmF0b3JOZXh0QnV0dG9uOlxuICAgICAgICB0aGlzLmNvbmZpZy5pdGVyYXRvck5leHRCdXR0b25EaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBTa3lGbHlvdXRNZXNzYWdlVHlwZS5FbmFibGVJdGVyYXRvclByZXZpb3VzQnV0dG9uOlxuICAgICAgICB0aGlzLmNvbmZpZy5pdGVyYXRvclByZXZpb3VzQnV0dG9uRGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5Rmx5b3V0TWVzc2FnZVR5cGUuRGlzYWJsZUl0ZXJhdG9yTmV4dEJ1dHRvbjpcbiAgICAgICAgdGhpcy5jb25maWcuaXRlcmF0b3JOZXh0QnV0dG9uRGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBTa3lGbHlvdXRNZXNzYWdlVHlwZS5EaXNhYmxlSXRlcmF0b3JQcmV2aW91c0J1dHRvbjpcbiAgICAgICAgdGhpcy5jb25maWcuaXRlcmF0b3JQcmV2aW91c0J1dHRvbkRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAjbm90aWZ5Q2xvc2VkKCk6IHZvaWQge1xuICAgIHRoaXMuI2ZseW91dEluc3RhbmNlPy5jbG9zZWQuZW1pdCgpO1xuICAgIHRoaXMuI2ZseW91dEluc3RhbmNlPy5jbG9zZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gICNjbGVhblRlbXBsYXRlKCk6IHZvaWQge1xuICAgIHRoaXMudGFyZ2V0Py5jbGVhcigpO1xuICB9XG5cbiAgI3VwZGF0ZUJyZWFrcG9pbnRBbmRSZXNwb25zaXZlQ2xhc3Mod2lkdGg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuI2ZseW91dE1lZGlhUXVlcnlTZXJ2aWNlLnNldEJyZWFrcG9pbnRGb3JXaWR0aCh3aWR0aCk7XG5cbiAgICBjb25zdCBuZXdCcmVha3Bpb250ID0gdGhpcy4jZmx5b3V0TWVkaWFRdWVyeVNlcnZpY2UuY3VycmVudDtcblxuICAgIHRoaXMuI2FkYXB0ZXIuc2V0UmVzcG9uc2l2ZUNsYXNzKHRoaXMuI2VsZW1lbnRSZWYsIG5ld0JyZWFrcGlvbnQpO1xuICB9XG5cbiAgI3NldEZ1bGxzY3JlZW4oKTogdm9pZCB7XG4gICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoIC0gdGhpcy4jd2luZG93QnVmZmVyU2l6ZSA8IHRoaXMuY29uZmlnLm1pbldpZHRoKSB7XG4gICAgICB0aGlzLmlzRnVsbHNjcmVlbiA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNGdWxsc2NyZWVuID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgI3NldFVzZXJEYXRhKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbmZpZy5zZXR0aW5nc0tleSkge1xuICAgICAgdGhpcy4jdWlDb25maWdTZXJ2aWNlXG4gICAgICAgIC5zZXRDb25maWcodGhpcy5jb25maWcuc2V0dGluZ3NLZXksIHtcbiAgICAgICAgICBmbHlvdXRXaWR0aDogdGhpcy5mbHlvdXRXaWR0aCxcbiAgICAgICAgfSlcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICAgICAgICAgKCkgPT4ge30sXG4gICAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdDb3VsZCBub3Qgc2F2ZSBmbHlvdXQgZGF0YS4nKTtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihlcnIpO1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAjY2hlY2tJbml0aWFsU2l6ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mbHlvdXRXaWR0aCA8IHRoaXMuY29uZmlnLm1pbldpZHRoKSB7XG4gICAgICB0aGlzLmZseW91dFdpZHRoID0gdGhpcy5jb25maWcubWluV2lkdGg7XG4gICAgICB0aGlzLiNzZXRVc2VyRGF0YSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5mbHlvdXRXaWR0aCA+IHRoaXMuY29uZmlnLm1heFdpZHRoKSB7XG4gICAgICB0aGlzLmZseW91dFdpZHRoID0gdGhpcy5jb25maWcubWF4V2lkdGg7XG4gICAgICB0aGlzLiNzZXRVc2VyRGF0YSgpO1xuICAgIH1cblxuICAgIC8vIEVuc3VyZSBmbHlvdXQgZG9lcyBub3QgbG9hZCBsYXJnZXIgdGhhbiB0aGUgd2luZG93IGFuZCBpdHMgYnVmZmVyXG4gICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoIC0gdGhpcy5mbHlvdXRXaWR0aCA8IHRoaXMuI3dpbmRvd0J1ZmZlclNpemUpIHtcbiAgICAgIHRoaXMuZmx5b3V0V2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aCAtIHRoaXMuI3dpbmRvd0J1ZmZlclNpemU7XG4gICAgICB0aGlzLiN4Q29vcmQgPSB0aGlzLiN3aW5kb3dCdWZmZXJTaXplO1xuICAgICAgdGhpcy4jc2V0VXNlckRhdGEoKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLiNmbHlvdXRNZWRpYVF1ZXJ5U2VydmljZS5pc1dpZHRoV2l0aGluQnJlYWtwaW9udChcbiAgICAgICAgd2luZG93LmlubmVyV2lkdGgsXG4gICAgICAgIFNreU1lZGlhQnJlYWtwb2ludHMueHNcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHRoaXMuI3VwZGF0ZUJyZWFrcG9pbnRBbmRSZXNwb25zaXZlQ2xhc3Mod2luZG93LmlubmVyV2lkdGgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiN1cGRhdGVCcmVha3BvaW50QW5kUmVzcG9uc2l2ZUNsYXNzKHRoaXMuZmx5b3V0V2lkdGgpO1xuICAgIH1cblxuICAgIHRoaXMuI3NldEZ1bGxzY3JlZW4oKTtcbiAgfVxuXG4gICNnZXRTdHJpbmcoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIC8vIFRPRE86IE5lZWQgdG8gaW1wbGVtZW50IHRoZSBhc3luYyBgZ2V0U3RyaW5nYCBtZXRob2QgaW4gYSBicmVha2luZyBjaGFuZ2UuXG4gICAgcmV0dXJuIHRoaXMuI3Jlc291cmNlc1NlcnZpY2UuZ2V0U3RyaW5nRm9yTG9jYWxlKHsgbG9jYWxlOiAnZW4tVVMnIH0sIGtleSk7XG4gIH1cblxuICAjaGFuZGxlUmVzaXplS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKGV2ZW50LmtleSkge1xuICAgICAgY29uc3Qga2V5UHJlc3NlZCA9IGV2ZW50LmtleS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoJ2Fycm93JywgJycpO1xuICAgICAgc3dpdGNoIChrZXlQcmVzc2VkKSB7XG4gICAgICAgIGNhc2UgJ2VudGVyJzpcbiAgICAgICAgY2FzZSAnICc6XG4gICAgICAgICAgdGhpcy5yZXNpemVLZXlDb250cm9sQWN0aXZlID0gIXRoaXMucmVzaXplS2V5Q29udHJvbEFjdGl2ZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndGFiJzpcbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgIGlmICh0aGlzLnJlc2l6ZUtleUNvbnRyb2xBY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMucmVzaXplS2V5Q29udHJvbEFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgICAgaWYgKHRoaXMucmVzaXplS2V5Q29udHJvbEFjdGl2ZSkge1xuICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICAgIGlmICh0aGlzLmZseW91dFdpZHRoIDwgdGhpcy5jb25maWcubWF4V2lkdGgpIHtcbiAgICAgICAgICAgICAgdGhpcy5mbHlvdXRXaWR0aCA9IE1hdGgubWluKFxuICAgICAgICAgICAgICAgIHRoaXMuZmx5b3V0V2lkdGggKyB0aGlzLndpZHRoU3RlcCxcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5tYXhXaWR0aFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgICAgaWYgKHRoaXMucmVzaXplS2V5Q29udHJvbEFjdGl2ZSkge1xuICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICAgIGlmICh0aGlzLmZseW91dFdpZHRoID4gdGhpcy5jb25maWcubWluV2lkdGgpIHtcbiAgICAgICAgICAgICAgdGhpcy5mbHlvdXRXaWR0aCA9IE1hdGgubWF4KFxuICAgICAgICAgICAgICAgIHRoaXMuZmx5b3V0V2lkdGggLSB0aGlzLndpZHRoU3RlcCxcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5taW5XaWR0aFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcblxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKiBFeGVjdXRlcyBhIGZ1bmN0aW9uIHdoZW4gdGhlIHpvbmUgaXMgc3RhYmxlLiAqL1xuICAjZXhlY3V0ZU9uU3RhYmxlKGZuOiAoKSA9PiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jbmdab25lLmlzU3RhYmxlKSB7XG4gICAgICBmbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNuZ1pvbmUub25TdGFibGUucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoZm4pO1xuICAgIH1cbiAgfVxuXG4gICNpbml0Rm9jdXNUcmFwKCk6IHZvaWQge1xuICAgIHRoaXMuZW5hYmxlVHJhcEZvY3VzQXV0b0NhcHR1cmUgPSBmYWxzZTtcbiAgICB0aGlzLmVuYWJsZVRyYXBGb2N1cyA9IGZhbHNlO1xuICAgIC8vIFdhaXRpbmcgZm9yIHpvbmUgdG8gYmUgc3RhYmxlIHdpbGwgYXZvaWQgRXhwcmVzc2lvbkNoYW5nZUFmdGVyQ2hlY2tlZEVycm9yLlxuICAgIHRoaXMuI2V4ZWN1dGVPblN0YWJsZSgoKSA9PiB7XG4gICAgICB0aGlzLmVuYWJsZVRyYXBGb2N1c0F1dG9DYXB0dXJlID0gdHJ1ZTtcbiAgICAgIHRoaXMuZW5hYmxlVHJhcEZvY3VzID0gdHJ1ZTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInNreS1mbHlvdXRcIlxuICB0YWJpbmRleD1cIi0xXCJcbiAgW2F0dHIucm9sZV09XCJjb25maWc/LmFyaWFSb2xlID8gY29uZmlnLmFyaWFSb2xlIDogJ2RpYWxvZydcIlxuICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImNvbmZpZz8uYXJpYURlc2NyaWJlZEJ5XCJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCJjb25maWc/LmFyaWFMYWJlbFwiXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJjb25maWc/LmFyaWFMYWJlbGxlZEJ5XCJcbiAgW2F0dHIuYXJpYS1tb2RhbF09XCJcbiAgICBjb25maWc/LmFyaWFSb2xlID09PSAnZGlhbG9nJyB8fCAhY29uZmlnPy5hcmlhUm9sZSA/IHRydWUgOiBmYWxzZVxuICBcIlxuICBbYXR0ci5oaWRkZW5dPVwiIWluc3RhbmNlUmVhZHkgPyB0cnVlIDogdW5kZWZpbmVkXCJcbiAgW2lkXT1cImZseW91dElkXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdza3ktZmx5b3V0LWhpZGRlbic6ICFpc09wZW4gJiYgIWlzT3BlbmluZyxcbiAgICAnc2t5LWZseW91dC1mdWxsc2NyZWVuJzogaXNGdWxsc2NyZWVuXG4gIH1cIlxuICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgJ3NreS1zaGFkb3cnOiAnZGVmYXVsdCcsXG4gICAgJ3NreS1lbGV2YXRpb24tOCc6ICdtb2Rlcm4nXG4gIH1cIlxuICAoQGZseW91dFN0YXRlLmRvbmUpPVwiYW5pbWF0aW9uRG9uZSgkZXZlbnQpXCJcbiAgW0BmbHlvdXRTdGF0ZV09XCJnZXRBbmltYXRpb25TdGF0ZSgpXCJcbiAgW3N0eWxlLndpZHRoLnB4XT1cImZseW91dFdpZHRoXCJcbiAgI2ZseW91dFJlZlxuICBbY2RrVHJhcEZvY3VzXT1cImVuYWJsZVRyYXBGb2N1c1wiXG4gIFtjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZV09XCJlbmFibGVUcmFwRm9jdXNBdXRvQ2FwdHVyZVwiXG4+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNreS1mbHlvdXQtaGVhZGVyXCJcbiAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAnc2t5LXBhZGRpbmctc3F1aXNoLWxhcmdlJzogJ2RlZmF1bHQnXG4gICAgfVwiXG4gICAgI2ZseW91dEhlYWRlclxuICA+XG4gICAgPGRpdiBjbGFzcz1cInNreS1mbHlvdXQtaGVhZGVyLWNvbnRlbnRcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKnNreVRoZW1lSWY9XCInbW9kZXJuJ1wiXG4gICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWljb24tYm9yZGVybGVzcyBza3ktbWFyZ2luLWlubGluZS1zbSBza3ktZmx5b3V0LWhlYWRlci1ncmFiLWhhbmRsZVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NreXV4X2ZseW91dF9yZXNpemVfaGFuZGxlJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgIChrZXlkb3duKT1cIm9uSGVhZGVyR3JhYkhhbmRsZUtleURvd24oJGV2ZW50KVwiXG4gICAgICAgIChtb3VzZWRvd24pPVwib25IZWFkZXJHcmFiSGFuZGxlTW91c2VEb3duKCRldmVudClcIlxuICAgICAgPlxuICAgICAgICA8c2t5LWljb24gaWNvbj1cInRpbGUtZHJhZ1wiIGljb25UeXBlPVwic2t5dXhcIiBzaXplPVwibGdcIj4gPC9za3ktaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8c2t5LWZseW91dC1pdGVyYXRvclxuICAgICAgICAqbmdJZj1cImNvbmZpZy5zaG93SXRlcmF0b3JcIlxuICAgICAgICBbbmV4dEJ1dHRvbkRpc2FibGVkXT1cImNvbmZpZy5pdGVyYXRvck5leHRCdXR0b25EaXNhYmxlZFwiXG4gICAgICAgIFtwcmV2aW91c0J1dHRvbkRpc2FibGVkXT1cImNvbmZpZy5pdGVyYXRvclByZXZpb3VzQnV0dG9uRGlzYWJsZWRcIlxuICAgICAgICAobmV4dEJ1dHRvbkNsaWNrKT1cIm9uSXRlcmF0b3JOZXh0QnV0dG9uQ2xpY2soKVwiXG4gICAgICAgIChwcmV2aW91c0J1dHRvbkNsaWNrKT1cIm9uSXRlcmF0b3JQcmV2aW91c0J1dHRvbkNsaWNrKClcIlxuICAgICAgPlxuICAgICAgPC9za3ktZmx5b3V0LWl0ZXJhdG9yPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJza3ktZmx5b3V0LWhlYWRlci1idXR0b25zXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicGVybWFsaW5rVGVtcGxhdGVcIj4gPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicHJpbWFyeUFjdGlvblRlbXBsYXRlXCI+IDwvbmctY29udGFpbmVyPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWZseW91dC1idG4tY2xvc2Ugc2t5LWxhYmVsLWljb24tdGhlbWUtZGVmYXVsdFwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9mbHlvdXRfY2xvc2UnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAgICdza3ktYnRuLWRlZmF1bHQnOiAnZGVmYXVsdCcsXG4gICAgICAgICAgJ3NreS1idG4taWNvbi1ib3JkZXJsZXNzJzogJ21vZGVybidcbiAgICAgICAgfVwiXG4gICAgICAgIChjbGljayk9XCJjbG9zZSgpXCJcbiAgICAgID5cbiAgICAgICAgPHNreS1pY29uICpza3lUaGVtZUlmPVwiJ2RlZmF1bHQnXCIgaWNvbj1cImNsb3NlXCI+IDwvc2t5LWljb24+XG4gICAgICAgIDxza3ktaWNvblxuICAgICAgICAgICpza3lUaGVtZUlmPVwiJ21vZGVybidcIlxuICAgICAgICAgIGljb249XCJjbG9zZVwiXG4gICAgICAgICAgaWNvblR5cGU9XCJza3l1eFwiXG4gICAgICAgICAgc2l6ZT1cImxnXCJcbiAgICAgICAgPlxuICAgICAgICA8L3NreS1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic2t5LWZseW91dC1jb250ZW50XCI+XG4gICAgPGRpdiAjdGFyZ2V0PjwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2t5LWZseW91dC1yZXNpemUtaGFuZGxlXCJcbiAgICByb2xlPVwic2VwYXJhdG9yXCJcbiAgICB0YWJpbmRleD1cIjBcIlxuICAgIHR5cGU9XCJyYW5nZVwiXG4gICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJmbHlvdXRJZFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfZmx5b3V0X3Jlc2l6ZV9oYW5kbGUnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICBbYXR0ci5hcmlhLXZhbHVlbWF4XT1cImNvbmZpZy5tYXhXaWR0aFwiXG4gICAgW2F0dHIuYXJpYS12YWx1ZW1pbl09XCJjb25maWcubWluV2lkdGhcIlxuICAgIFthdHRyLmFyaWEtdmFsdWVub3ddPVwiZmx5b3V0V2lkdGhcIlxuICAgIChrZXlkb3duKT1cIm9uUmVzaXplSGFuZGxlS2V5RG93bigkZXZlbnQpXCJcbiAgICAobW91c2Vkb3duKT1cIm9uUmVzaXplSGFuZGxlTW91c2VEb3duKCRldmVudClcIlxuICA+PC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNwZXJtYWxpbmtUZW1wbGF0ZT5cbiAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cInBlcm1hbGlua1wiPlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJwZXJtYWxpbmsudXJsXCI+XG4gICAgICA8YVxuICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWZseW91dC1idG4tcGVybWFsaW5rIHNreS1tYXJnaW4taW5saW5lLWRlZmF1bHRcIlxuICAgICAgICBbc2t5SHJlZl09XCJwZXJtYWxpbmsudXJsXCJcbiAgICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAgICdza3ktYnRuLWRlZmF1bHQnOiAnZGVmYXVsdCcsXG4gICAgICAgICAgJ3NreS1idG4tYm9yZGVybGVzcyc6ICdtb2Rlcm4nXG4gICAgICAgIH1cIlxuICAgICAgICAoY2xpY2spPVwiY2xvc2UoKVwiXG4gICAgICA+XG4gICAgICAgIHt7IHBlcm1hbGlua0xhYmVsIH19XG4gICAgICA8L2E+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwicGVybWFsaW5rLnJvdXRlXCI+XG4gICAgICA8YVxuICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWZseW91dC1idG4tcGVybWFsaW5rIHNreS1tYXJnaW4taW5saW5lLWRlZmF1bHRcIlxuICAgICAgICBbcm91dGVyTGlua109XCJwZXJtYWxpbmsucm91dGUuY29tbWFuZHNcIlxuICAgICAgICBbZnJhZ21lbnRdPVwicGVybWFsaW5rLnJvdXRlLmV4dHJhcz8uZnJhZ21lbnRcIlxuICAgICAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAgICAgJ3NreS1idG4tZGVmYXVsdCc6ICdkZWZhdWx0JyxcbiAgICAgICAgICAnc2t5LWJ0bi1ib3JkZXJsZXNzJzogJ21vZGVybidcbiAgICAgICAgfVwiXG4gICAgICAgIFtxdWVyeVBhcmFtc109XCJwZXJtYWxpbmsucm91dGUuZXh0cmFzPy5xdWVyeVBhcmFtc1wiXG4gICAgICAgIFtxdWVyeVBhcmFtc0hhbmRsaW5nXT1cInBlcm1hbGluay5yb3V0ZS5leHRyYXM/LnF1ZXJ5UGFyYW1zSGFuZGxpbmdcIlxuICAgICAgICBbc3RhdGVdPVwicGVybWFsaW5rLnJvdXRlLmV4dHJhcz8uc3RhdGVcIlxuICAgICAgICAoY2xpY2spPVwiY2xvc2UoKVwiXG4gICAgICA+XG4gICAgICAgIHt7IHBlcm1hbGlua0xhYmVsIH19XG4gICAgICA8L2E+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjcHJpbWFyeUFjdGlvblRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgW25nSWZdPVwicHJpbWFyeUFjdGlvbiAmJiBwcmltYXJ5QWN0aW9uLmNhbGxiYWNrXCI+XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1mbHlvdXQtYnRuLXByaW1hcnktYWN0aW9uIHNreS1tYXJnaW4taW5saW5lLWRlZmF1bHRcIlxuICAgICAgKGNsaWNrKT1cImludm9rZVByaW1hcnlBY3Rpb24oKVwiXG4gICAgPlxuICAgICAge3sgcHJpbWFyeUFjdGlvbkxhYmVsIH19XG4gICAgPC9idXR0b24+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
503
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC9mbHlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZseW91dC9zcmMvbGliL21vZHVsZXMvZmx5b3V0L2ZseW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFFTCxPQUFPLEVBQ1AsS0FBSyxFQUNMLEtBQUssRUFDTCxVQUFVLEVBQ1YsT0FBTyxHQUNSLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsVUFBVSxFQUNWLFlBQVksRUFDWixRQUFRLEVBS1IsU0FBUyxFQUNULGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLG9CQUFvQixHQUVyQixNQUFNLGFBQWEsQ0FBQztBQUdyQixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUUxRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUlsRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQUduRSxNQUFNLGlCQUFpQixHQUFH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M0UsY0FDVzt3QkFDVixPQUFPLENBQUMsYUFBYSxFQUFFOzRCQUNyQixLQUFLLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7NEJBQ3pELEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDOzRCQUNwRSxVQUFVLENBQUMsV0FBVyxFQUFFO2dDQUN0QixLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztnQ0FDeEMsT0FBTyxDQUFDLEdBQUcsQ0FBQzs2QkFDYixDQUFDOzRCQUNGLFVBQVUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO3lCQUNoRCxDQUFDO3FCQUNILG1CQUVnQix1QkFBdUIsQ0FBQyxPQUFPO3lXQWlEekMsU0FBUztzQkFKZixTQUFTO3VCQUFDLFdBQVcsRUFBRTt3QkFDdEIsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLE1BQU0sRUFBRSxJQUFJO3FCQUNiO2dCQU9NLE1BQU07c0JBSlosU0FBUzt1QkFBQyxRQUFRLEVBQUU7d0JBQ25CLElBQUksRUFBRSxnQkFBZ0I7d0JBQ3RCLE1BQU0sRUFBRSxJQUFJO3FCQUNiO2dCQU9NLFlBQVk7c0JBSmxCLFNBQVM7dUJBQUMsY0FBYyxFQUFFO3dCQUN6QixJQUFJLEVBQUUsVUFBVTt3QkFDaEIsTUFBTSxFQUFFLElBQUk7cUJBQ2I7Z0JBNkRNLGNBQWM7c0JBRHBCLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQW5pbWF0aW9uRXZlbnQsXG4gIGFuaW1hdGUsXG4gIHN0YXRlLFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvbixcbiAgdHJpZ2dlcixcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBFbGVtZW50UmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdG9yLFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBUeXBlLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5TWVkaWFCcmVha3BvaW50cyxcbiAgU2t5TWVkaWFRdWVyeVNlcnZpY2UsXG4gIFNreVVJQ29uZmlnU2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5TGliUmVzb3VyY2VzU2VydmljZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcblxuaW1wb3J0IHsgU3ViamVjdCwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwsIHRha2VXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5Rmx5b3V0QWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL2ZseW91dC1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0SW5zdGFuY2UgfSBmcm9tICcuL2ZseW91dC1pbnN0YW5jZSc7XG5pbXBvcnQgeyBTa3lGbHlvdXRNZWRpYVF1ZXJ5U2VydmljZSB9IGZyb20gJy4vZmx5b3V0LW1lZGlhLXF1ZXJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0QWN0aW9uIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtYWN0aW9uJztcbmltcG9ydCB7IFNreUZseW91dEJlZm9yZUNsb3NlSGFuZGxlciB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LWJlZm9yZS1jbG9zZS1oYW5kbGVyJztcbmltcG9ydCB7IFNreUZseW91dENvbmZpZyB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LWNvbmZpZyc7XG5pbXBvcnQgeyBTa3lGbHlvdXRDb25maWdJbnRlcm5hbCB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LWNvbmZpZy1pbnRlcm5hbCc7XG5pbXBvcnQgeyBTa3lGbHlvdXRNZXNzYWdlIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtbWVzc2FnZSc7XG5pbXBvcnQgeyBTa3lGbHlvdXRNZXNzYWdlVHlwZSB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LW1lc3NhZ2UtdHlwZSc7XG5pbXBvcnQgeyBTa3lGbHlvdXRQZXJtYWxpbmsgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1wZXJtYWxpbmsnO1xuXG5jb25zdCBGTFlPVVRfT1BFTl9TVEFURSA9ICdmbHlvdXRPcGVuJztcbmNvbnN0IEZMWU9VVF9DTE9TRURfU1RBVEUgPSAnZmx5b3V0Q2xvc2VkJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1mbHlvdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmx5b3V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmx5b3V0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIFNreUZseW91dEFkYXB0ZXJTZXJ2aWNlLFxuICAgIFNreUZseW91dE1lZGlhUXVlcnlTZXJ2aWNlLFxuICAgIHsgcHJvdmlkZTogU2t5TWVkaWFRdWVyeVNlcnZpY2UsIHVzZUV4aXN0aW5nOiBTa3lGbHlvdXRNZWRpYVF1ZXJ5U2VydmljZSB9LFxuICBdLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignZmx5b3V0U3RhdGUnLCBbXG4gICAgICBzdGF0ZShGTFlPVVRfT1BFTl9TVEFURSwgc3R5bGUoeyB0cmFuc2Zvcm06ICdpbml0aWFsJyB9KSksXG4gICAgICBzdGF0ZShGTFlPVVRfQ0xPU0VEX1NUQVRFLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTAwJSknIH0pKSxcbiAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gKicsIFtcbiAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDEwMCUpJyB9KSxcbiAgICAgICAgYW5pbWF0ZSgyNTApLFxuICAgICAgXSksXG4gICAgICB0cmFuc2l0aW9uKGAqIDw9PiAqYCwgYW5pbWF0ZSgnMjUwbXMgZWFzZS1pbicpKSxcbiAgICBdKSxcbiAgXSxcbiAgLy8gQWxsb3cgYXV0b21hdGljIGNoYW5nZSBkZXRlY3Rpb24gZm9yIGNoaWxkIGNvbXBvbmVudHMuXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5Rmx5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xuICBwdWJsaWMgY29uZmlnOiBTa3lGbHlvdXRDb25maWdJbnRlcm5hbCA9IHtcbiAgICBkZWZhdWx0V2lkdGg6IHdpbmRvdy5pbm5lcldpZHRoIC8gMixcbiAgICBtaW5XaWR0aDogMzIwLFxuICAgIG1heFdpZHRoOiB3aW5kb3cuaW5uZXJXaWR0aCAvIDIsXG4gICAgcHJvdmlkZXJzOiBbXSxcbiAgfTtcbiAgcHVibGljIGVuYWJsZVRyYXBGb2N1cyA9IGZhbHNlO1xuICBwdWJsaWMgZW5hYmxlVHJhcEZvY3VzQXV0b0NhcHR1cmUgPSBmYWxzZTtcbiAgcHVibGljIGZseW91dElkID0gYHNreS1mbHlvdXQtJHsrK25leHRJZH1gO1xuICBwdWJsaWMgZmx5b3V0U3RhdGUgPSBGTFlPVVRfQ0xPU0VEX1NUQVRFO1xuICBwdWJsaWMgaXNPcGVuID0gZmFsc2U7XG4gIHB1YmxpYyBpc09wZW5pbmcgPSBmYWxzZTtcblxuICBwdWJsaWMgZmx5b3V0V2lkdGggPSAwO1xuICBwdWJsaWMgaW5zdGFuY2VSZWFkeSA9IGZhbHNlO1xuICBwdWJsaWMgaXNEcmFnZ2luZyA9IGZhbHNlO1xuICBwdWJsaWMgaXNGdWxsc2NyZWVuID0gZmFsc2U7XG4gIHB1YmxpYyByZXNpemVLZXlDb250cm9sQWN0aXZlID0gZmFsc2U7XG5cbiAgI3hDb29yZCA9IDA7XG4gICN3aW5kb3dCdWZmZXJTaXplID0gMjA7XG5cbiAgcHVibGljIGdldCBtZXNzYWdlU3RyZWFtKCk6IFN1YmplY3Q8U2t5Rmx5b3V0TWVzc2FnZT4ge1xuICAgIHJldHVybiB0aGlzLiNfbWVzc2FnZVN0cmVhbTtcbiAgfVxuXG4gIHB1YmxpYyBwZXJtYWxpbms6IFNreUZseW91dFBlcm1hbGluayA9IHt9O1xuXG4gIHB1YmxpYyBwZXJtYWxpbmtMYWJlbCA9ICcnO1xuXG4gIHB1YmxpYyBwcmltYXJ5QWN0aW9uOiBTa3lGbHlvdXRBY3Rpb24gPSB7fTtcblxuICBwdWJsaWMgcHJpbWFyeUFjdGlvbkxhYmVsID0gJyc7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHdpZHRoU3RlcCA9IDEwO1xuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBWaWV3Q2hpbGQoJ2ZseW91dFJlZicsIHtcbiAgICByZWFkOiBFbGVtZW50UmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHVibGljIGZseW91dFJlZjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCd0YXJnZXQnLCB7XG4gICAgcmVhZDogVmlld0NvbnRhaW5lclJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHB1YmxpYyB0YXJnZXQ6IFZpZXdDb250YWluZXJSZWYgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZCgnZmx5b3V0SGVhZGVyJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwdWJsaWMgZmx5b3V0SGVhZGVyOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gICNmbHlvdXRJbnN0YW5jZTogU2t5Rmx5b3V0SW5zdGFuY2U8YW55PiB8IHVuZGVmaW5lZDtcblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI19tZXNzYWdlU3RyZWFtID0gbmV3IFN1YmplY3Q8U2t5Rmx5b3V0TWVzc2FnZT4oKTtcblxuICAjYWRhcHRlcjogU2t5Rmx5b3V0QWRhcHRlclNlcnZpY2U7XG4gICNjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWY7XG4gICNpbmplY3RvcjogSW5qZWN0b3I7XG4gICNyZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyO1xuICAjcmVzb3VyY2VzU2VydmljZTogU2t5TGliUmVzb3VyY2VzU2VydmljZTtcbiAgI2ZseW91dE1lZGlhUXVlcnlTZXJ2aWNlOiBTa3lGbHlvdXRNZWRpYVF1ZXJ5U2VydmljZTtcbiAgI2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG4gICN1aUNvbmZpZ1NlcnZpY2U6IFNreVVJQ29uZmlnU2VydmljZTtcbiAgI25nWm9uZTogTmdab25lO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGFkYXB0ZXI6IFNreUZseW91dEFkYXB0ZXJTZXJ2aWNlLFxuICAgIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICByZXNvdXJjZXNTZXJ2aWNlOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlLFxuICAgIGZseW91dE1lZGlhUXVlcnlTZXJ2aWNlOiBTa3lGbHlvdXRNZWRpYVF1ZXJ5U2VydmljZSxcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHVpQ29uZmlnU2VydmljZTogU2t5VUlDb25maWdTZXJ2aWNlLFxuICAgIG5nWm9uZTogTmdab25lXG4gICkge1xuICAgIHRoaXMuI2FkYXB0ZXIgPSBhZGFwdGVyO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yID0gY2hhbmdlRGV0ZWN0b3I7XG4gICAgdGhpcy4jaW5qZWN0b3IgPSBpbmplY3RvcjtcbiAgICB0aGlzLiNyZXNvbHZlciA9IHJlc29sdmVyO1xuICAgIHRoaXMuI3Jlc291cmNlc1NlcnZpY2UgPSByZXNvdXJjZXNTZXJ2aWNlO1xuICAgIHRoaXMuI2ZseW91dE1lZGlhUXVlcnlTZXJ2aWNlID0gZmx5b3V0TWVkaWFRdWVyeVNlcnZpY2U7XG4gICAgdGhpcy4jZWxlbWVudFJlZiA9IGVsZW1lbnRSZWY7XG4gICAgdGhpcy4jdWlDb25maWdTZXJ2aWNlID0gdWlDb25maWdTZXJ2aWNlO1xuICAgIHRoaXMuI25nWm9uZSA9IG5nWm9uZTtcblxuICAgIC8vIEFsbCBjb21tYW5kcyBmbG93IHRocm91Z2ggdGhlIG1lc3NhZ2Ugc3RyZWFtLlxuICAgIHRoaXMubWVzc2FnZVN0cmVhbVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgobWVzc2FnZTogU2t5Rmx5b3V0TWVzc2FnZSkgPT4ge1xuICAgICAgICB0aGlzLiNoYW5kbGVJbmNvbWluZ01lc3NhZ2VzKG1lc3NhZ2UpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy5mbHlvdXRIZWFkZXIpIHtcbiAgICAgIHRoaXMuI2FkYXB0ZXIuYWRqdXN0SGVhZGVyRm9ySGVscCh0aGlzLmZseW91dEhlYWRlcik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25XaW5kb3dSZXNpemUoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIHRoaXMuI2ZseW91dE1lZGlhUXVlcnlTZXJ2aWNlLmlzV2lkdGhXaXRoaW5CcmVha3BvaW50KFxuICAgICAgICBldmVudC50YXJnZXQuaW5uZXJXaWR0aCxcbiAgICAgICAgU2t5TWVkaWFCcmVha3BvaW50cy54c1xuICAgICAgKVxuICAgICkge1xuICAgICAgdGhpcy4jdXBkYXRlQnJlYWtwb2ludEFuZFJlc3BvbnNpdmVDbGFzcyhldmVudC50YXJnZXQuaW5uZXJXaWR0aCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI3VwZGF0ZUJyZWFrcG9pbnRBbmRSZXNwb25zaXZlQ2xhc3ModGhpcy5mbHlvdXRXaWR0aCk7XG4gICAgfVxuXG4gICAgdGhpcy4jc2V0RnVsbHNjcmVlbigpO1xuXG4gICAgaWYgKGV2ZW50LnRhcmdldC5pbm5lcldpZHRoIC0gdGhpcy5mbHlvdXRXaWR0aCA8IHRoaXMuI3dpbmRvd0J1ZmZlclNpemUpIHtcbiAgICAgIHRoaXMuZmx5b3V0V2lkdGggPSBldmVudC50YXJnZXQuaW5uZXJXaWR0aCAtIHRoaXMuI3dpbmRvd0J1ZmZlclNpemU7XG4gICAgICB0aGlzLiN4Q29vcmQgPSB0aGlzLiN3aW5kb3dCdWZmZXJTaXplO1xuICAgICAgdGhpcy4jc2V0VXNlckRhdGEoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXR0YWNoPFQ+KFxuICAgIGNvbXBvbmVudDogVHlwZTxUPixcbiAgICBjb25maWc/OiBTa3lGbHlvdXRDb25maWdcbiAgKTogU2t5Rmx5b3V0SW5zdGFuY2U8VD4ge1xuICAgIHRoaXMuI2NsZWFuVGVtcGxhdGUoKTtcblxuICAgIC8vIEVtaXQgdGhlIGNsb3NlZCBldmVudCBvbiBhbnkgcHJldmlvdXNseSBvcGVuZWQgZmx5b3V0IGluc3RhbmNlXG4gICAgaWYgKHRoaXMuI2ZseW91dEluc3RhbmNlKSB7XG4gICAgICB0aGlzLiNub3RpZnlDbG9zZWQoKTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbmZpZyA9IE9iamVjdC5hc3NpZ24oXG4gICAgICB7XG4gICAgICAgIGRlZmF1bHRXaWR0aDogd2luZG93LmlubmVyV2lkdGggLyAyLFxuICAgICAgICBtaW5XaWR0aDogMzIwLFxuICAgICAgICBtYXhXaWR0aDogd2luZG93LmlubmVyV2lkdGggLyAyLFxuICAgICAgICBwcm92aWRlcnM6IFtdLFxuICAgICAgfSxcbiAgICAgIGNvbmZpZ1xuICAgICk7XG4gICAgaWYgKGNvbmZpZz8uZGVmYXVsdFdpZHRoICYmICFjb25maWc/Lm1heFdpZHRoKSB7XG4gICAgICB0aGlzLmNvbmZpZy5tYXhXaWR0aCA9IGNvbmZpZz8uZGVmYXVsdFdpZHRoO1xuICAgIH1cblxuICAgIHRoaXMuY29uZmlnLnNob3dJdGVyYXRvciA9IHRoaXMuY29uZmlnLnNob3dJdGVyYXRvciB8fCBmYWxzZTtcbiAgICB0aGlzLmNvbmZpZy5pdGVyYXRvck5leHRCdXR0b25EaXNhYmxlZCA9XG4gICAgICB0aGlzLmNvbmZpZy5pdGVyYXRvck5leHRCdXR0b25EaXNhYmxlZCB8fCBmYWxzZTtcbiAgICB0aGlzLmNvbmZpZy5pdGVyYXRvclByZXZpb3VzQnV0dG9uRGlzYWJsZWQgPVxuICAgICAgdGhpcy5jb25maWcuaXRlcmF0b3JQcmV2aW91c0J1dHRvbkRpc2FibGVkIHx8IGZhbHNlO1xuXG4gICAgdGhpcy5wZXJtYWxpbmsgPSB0aGlzLmNvbmZpZy5wZXJtYWxpbmsgPz8ge307XG4gICAgdGhpcy5wZXJtYWxpbmtMYWJlbCA9XG4gICAgICB0aGlzLmNvbmZpZy5wZXJtYWxpbmsgJiYgdGhpcy5jb25maWcucGVybWFsaW5rLmxhYmVsXG4gICAgICAgID8gdGhpcy5jb25maWcucGVybWFsaW5rLmxhYmVsXG4gICAgICAgIDogdGhpcy4jZ2V0U3RyaW5nKCdza3l1eF9mbHlvdXRfcGVybWFsaW5rX2J1dHRvbicpO1xuXG4gICAgdGhpcy5wcmltYXJ5QWN0aW9uID0gdGhpcy5jb25maWcucHJpbWFyeUFjdGlvbiA/PyB7fTtcbiAgICB0aGlzLnByaW1hcnlBY3Rpb25MYWJlbCA9XG4gICAgICB0aGlzLmNvbmZpZy5wcmltYXJ5QWN0aW9uICYmIHRoaXMuY29uZmlnLnByaW1hcnlBY3Rpb24ubGFiZWxcbiAgICAgICAgPyB0aGlzLmNvbmZpZy5wcmltYXJ5QWN0aW9uLmxhYmVsXG4gICAgICAgIDogdGhpcy4jZ2V0U3RyaW5nKCdza3l1eF9mbHlvdXRfcHJpbWFyeV9hY3Rpb25fYnV0dG9uJyk7XG5cbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy4jcmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50KTtcblxuICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgIHBhcmVudDogdGhpcy4jaW5qZWN0b3IsXG4gICAgICBwcm92aWRlcnM6IHRoaXMuY29uZmlnLnByb3ZpZGVycyxcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMudGFyZ2V0Py5jcmVhdGVDb21wb25lbnQoXG4gICAgICBmYWN0b3J5LFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgaW5qZWN0b3JcbiAgICApO1xuXG4gICAgLyogc2FmZXR5IGNoZWNrICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKCFjb21wb25lbnRSZWYpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkZseW91dCdzIGludGVybmFsIGNvbXBvbmVudCBjb3VsZCBub3QgYmUgY3JlYXRlZFwiKTtcbiAgICB9XG5cbiAgICB0aGlzLiNmbHlvdXRJbnN0YW5jZSA9IHRoaXMuI2NyZWF0ZUZseW91dEluc3RhbmNlPFQ+KGNvbXBvbmVudFJlZi5pbnN0YW5jZSk7XG5cbiAgICAvLyBUaGlzIGlzIHVzZWQgdG8gZW5zdXJlIHdlIGRvIG5vdCByZW5kZXIgdGhlIGZseW91dCB1bnRpbCB3ZSBoYXZlIGF0dGFjaGVkIHRoZSBjb21wb25lbnQuXG4gICAgLy8gVGhpcyBhbGxvd3MgdGhlIGFyaWEtbGFiZWxsZWRieSB0byBmdW5jdGlvbiBjb3JyZWN0bHkuXG4gICAgdGhpcy5pbnN0YW5jZVJlYWR5ID0gdHJ1ZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcblxuICAgIC8vIE9wZW4gdGhlIGZseW91dCBpbW1lZGlhdGVseS5cbiAgICB0aGlzLm1lc3NhZ2VTdHJlYW0ubmV4dCh7XG4gICAgICB0eXBlOiBTa3lGbHlvdXRNZXNzYWdlVHlwZS5PcGVuLFxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuY29uZmlnLnNldHRpbmdzS2V5KSB7XG4gICAgICB0aGlzLiN1aUNvbmZpZ1NlcnZpY2VcbiAgICAgICAgLmdldENvbmZpZyh0aGlzLmNvbmZpZy5zZXR0aW5nc0tleSlcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZSgodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5mbHlvdXRXaWR0aCkge1xuICAgICAgICAgICAgdGhpcy5mbHlvdXRXaWR0aCA9IHZhbHVlLmZseW91dFdpZHRoO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBCYWQgZGF0YSwgb3IgY29uZmlnIGlzIHRoZSBkZWZhdWx0IGNvbmZpZy5cbiAgICAgICAgICAgIHRoaXMuZmx5b3V0V2lkdGggPSB0aGlzLmNvbmZpZy5kZWZhdWx0V2lkdGg7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuI2NoZWNrSW5pdGlhbFNpemUoKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmx5b3V0V2lkdGggPSB0aGlzLmNvbmZpZy5kZWZhdWx0V2lkdGg7XG4gICAgICB0aGlzLiNjaGVja0luaXRpYWxTaXplKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuI2ZseW91dEluc3RhbmNlO1xuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMubWVzc2FnZVN0cmVhbS5uZXh0KHtcbiAgICAgIHR5cGU6IFNreUZseW91dE1lc3NhZ2VUeXBlLkNsb3NlLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGludm9rZVByaW1hcnlBY3Rpb24oKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMucHJpbWFyeUFjdGlvbi5jYWxsYmFjaykge1xuICAgICAgdGhpcy5wcmltYXJ5QWN0aW9uLmNhbGxiYWNrKCk7XG5cbiAgICAgIGlmICh0aGlzLnByaW1hcnlBY3Rpb24uY2xvc2VBZnRlckludm9raW5nKSB7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHVibGljIGdldEFuaW1hdGlvblN0YXRlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaW5zdGFuY2VSZWFkeSAmJiB0aGlzLmlzT3BlbmluZ1xuICAgICAgPyBGTFlPVVRfT1BFTl9TVEFURVxuICAgICAgOiBGTFlPVVRfQ0xPU0VEX1NUQVRFO1xuICB9XG5cbiAgcHVibGljIGFuaW1hdGlvbkRvbmUoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LnRvU3RhdGUgPT09IEZMWU9VVF9PUEVOX1NUQVRFKSB7XG4gICAgICB0aGlzLmlzT3BlbiA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKGV2ZW50LnRvU3RhdGUgPT09IEZMWU9VVF9DTE9TRURfU1RBVEUpIHtcbiAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgICB0aGlzLiNub3RpZnlDbG9zZWQoKTtcbiAgICAgIHRoaXMuI2NsZWFuVGVtcGxhdGUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25IZWFkZXJHcmFiSGFuZGxlTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5vblJlc2l6ZUhhbmRsZU1vdXNlRG93bihldmVudCk7XG4gIH1cblxuICBwdWJsaWMgb25IZWFkZXJHcmFiSGFuZGxlS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuI2hhbmRsZVJlc2l6ZUtleURvd24oZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIG9uUmVzaXplSGFuZGxlS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuI2hhbmRsZVJlc2l6ZUtleURvd24oZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIG9uUmVzaXplSGFuZGxlTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICh0aGlzLmlzRnVsbHNjcmVlbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaXNEcmFnZ2luZyA9IHRydWU7XG4gICAgdGhpcy4jeENvb3JkID0gZXZlbnQuY2xpZW50WDtcblxuICAgIHRoaXMuI2FkYXB0ZXIudG9nZ2xlSWZyYW1lUG9pbnRlckV2ZW50cyhmYWxzZSk7XG5cbiAgICBmcm9tRXZlbnQoZG9jdW1lbnQsICdtb3VzZW1vdmUnKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VXaGlsZSgoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuaXNEcmFnZ2luZztcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKG1vdmVFdmVudDogYW55KSA9PiB7XG4gICAgICAgIHRoaXMub25Nb3VzZU1vdmUobW92ZUV2ZW50KTtcbiAgICAgIH0pO1xuXG4gICAgZnJvbUV2ZW50KGRvY3VtZW50LCAnbW91c2V1cCcpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVdoaWxlKCgpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5pc0RyYWdnaW5nO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgobW91c2VVcEV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5vbkhhbmRsZVJlbGVhc2UobW91c2VVcEV2ZW50KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uTW91c2VNb3ZlKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgLyogU2FuaXR5IGNoZWNrICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKCF0aGlzLmlzRHJhZ2dpbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBvZmZzZXRYID0gZXZlbnQuY2xpZW50WCAtIHRoaXMuI3hDb29yZDtcbiAgICBsZXQgd2lkdGggPSB0aGlzLmZseW91dFdpZHRoO1xuXG4gICAgd2lkdGggLT0gb2Zmc2V0WDtcblxuICAgIGlmICh3aWR0aCA8IHRoaXMuY29uZmlnLm1pbldpZHRoIHx8IHdpZHRoID4gdGhpcy5jb25maWcubWF4V2lkdGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAod2luZG93LmlubmVyV2lkdGggLSB3aWR0aCA8IHRoaXMuI3dpbmRvd0J1ZmZlclNpemUpIHtcbiAgICAgIHdpZHRoID0gd2luZG93LmlubmVyV2lkdGggLSB0aGlzLiN3aW5kb3dCdWZmZXJTaXplO1xuICAgICAgdGhpcy4jeENvb3JkID0gdGhpcy4jd2luZG93QnVmZmVyU2l6ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jeENvb3JkID0gZXZlbnQuY2xpZW50WDtcbiAgICB9XG5cbiAgICB0aGlzLmZseW91dFdpZHRoID0gd2lkdGg7XG5cbiAgICB0aGlzLiN1cGRhdGVCcmVha3BvaW50QW5kUmVzcG9uc2l2ZUNsYXNzKHRoaXMuZmx5b3V0V2lkdGgpO1xuXG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgb25IYW5kbGVSZWxlYXNlKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzRHJhZ2dpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy4jYWRhcHRlci50b2dnbGVJZnJhbWVQb2ludGVyRXZlbnRzKHRydWUpO1xuICAgICAgICB0aGlzLiNzZXRVc2VyRGF0YSgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25JdGVyYXRvclByZXZpb3VzQnV0dG9uQ2xpY2soKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy4jZmx5b3V0SW5zdGFuY2UpIHtcbiAgICAgIHRoaXMuI2ZseW91dEluc3RhbmNlLml0ZXJhdG9yUHJldmlvdXNCdXR0b25DbGljay5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uSXRlcmF0b3JOZXh0QnV0dG9uQ2xpY2soKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy4jZmx5b3V0SW5zdGFuY2UpIHtcbiAgICAgIHRoaXMuI2ZseW91dEluc3RhbmNlLml0ZXJhdG9yTmV4dEJ1dHRvbkNsaWNrLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICAjY3JlYXRlRmx5b3V0SW5zdGFuY2U8VD4oY29tcG9uZW50OiBUKTogU2t5Rmx5b3V0SW5zdGFuY2U8VD4ge1xuICAgIGNvbnN0IGluc3RhbmNlID0gbmV3IFNreUZseW91dEluc3RhbmNlPFQ+KGNvbXBvbmVudCk7XG5cbiAgICBpbnN0YW5jZS5ob3N0Q29udHJvbGxlclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgobWVzc2FnZTogU2t5Rmx5b3V0TWVzc2FnZSkgPT4ge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTdHJlYW0ubmV4dChtZXNzYWdlKTtcbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuIGluc3RhbmNlO1xuICB9XG5cbiAgI2hhbmRsZUluY29taW5nTWVzc2FnZXMobWVzc2FnZTogU2t5Rmx5b3V0TWVzc2FnZSk6IHZvaWQge1xuICAgIHN3aXRjaCAobWVzc2FnZS50eXBlKSB7XG4gICAgICBjYXNlIFNreUZseW91dE1lc3NhZ2VUeXBlLk9wZW46XG4gICAgICAgIGlmICghdGhpcy5pc09wZW4pIHtcbiAgICAgICAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaXNPcGVuaW5nID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLiNpbml0Rm9jdXNUcmFwKCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNreUZseW91dE1lc3NhZ2VUeXBlLkNsb3NlOlxuICAgICAgICBpZiAoXG4gICAgICAgICAgKHRoaXMuI2ZseW91dEluc3RhbmNlPy5iZWZvcmVDbG9zZSBhcyBTdWJqZWN0PGFueT4pPy5vYnNlcnZlcnNcbiAgICAgICAgICAgIC5sZW5ndGggPT09IDAgfHxcbiAgICAgICAgICBtZXNzYWdlLmRhdGE/Lmlnbm9yZUJlZm9yZUNsb3NlXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmlzT3BlbmluZyA9IGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICh0aGlzLiNmbHlvdXRJbnN0YW5jZT8uYmVmb3JlQ2xvc2UgYXMgU3ViamVjdDxhbnk+KT8ubmV4dChcbiAgICAgICAgICAgIG5ldyBTa3lGbHlvdXRCZWZvcmVDbG9zZUhhbmRsZXIoKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmlzT3BlbiA9IHRydWU7XG4gICAgICAgICAgICAgIHRoaXMuaXNPcGVuaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5Rmx5b3V0TWVzc2FnZVR5cGUuRW5hYmxlSXRlcmF0b3JOZXh0QnV0dG9uOlxuICAgICAgICB0aGlzLmNvbmZpZy5pdGVyYXRvck5leHRCdXR0b25EaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBTa3lGbHlvdXRNZXNzYWdlVHlwZS5FbmFibGVJdGVyYXRvclByZXZpb3VzQnV0dG9uOlxuICAgICAgICB0aGlzLmNvbmZpZy5pdGVyYXRvclByZXZpb3VzQnV0dG9uRGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5Rmx5b3V0TWVzc2FnZVR5cGUuRGlzYWJsZUl0ZXJhdG9yTmV4dEJ1dHRvbjpcbiAgICAgICAgdGhpcy5jb25maWcuaXRlcmF0b3JOZXh0QnV0dG9uRGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBTa3lGbHlvdXRNZXNzYWdlVHlwZS5EaXNhYmxlSXRlcmF0b3JQcmV2aW91c0J1dHRvbjpcbiAgICAgICAgdGhpcy5jb25maWcuaXRlcmF0b3JQcmV2aW91c0J1dHRvbkRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAjbm90aWZ5Q2xvc2VkKCk6IHZvaWQge1xuICAgIHRoaXMuI2ZseW91dEluc3RhbmNlPy5jbG9zZWQuZW1pdCgpO1xuICAgIHRoaXMuI2ZseW91dEluc3RhbmNlPy5jbG9zZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gICNjbGVhblRlbXBsYXRlKCk6IHZvaWQge1xuICAgIHRoaXMudGFyZ2V0Py5jbGVhcigpO1xuICB9XG5cbiAgI3VwZGF0ZUJyZWFrcG9pbnRBbmRSZXNwb25zaXZlQ2xhc3Mod2lkdGg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuI2ZseW91dE1lZGlhUXVlcnlTZXJ2aWNlLnNldEJyZWFrcG9pbnRGb3JXaWR0aCh3aWR0aCk7XG5cbiAgICBjb25zdCBuZXdCcmVha3BvaW50ID0gdGhpcy4jZmx5b3V0TWVkaWFRdWVyeVNlcnZpY2UuY3VycmVudDtcblxuICAgIHRoaXMuI2FkYXB0ZXIuc2V0UmVzcG9uc2l2ZUNsYXNzKHRoaXMuI2VsZW1lbnRSZWYsIG5ld0JyZWFrcG9pbnQpO1xuICB9XG5cbiAgI3NldEZ1bGxzY3JlZW4oKTogdm9pZCB7XG4gICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoIC0gdGhpcy4jd2luZG93QnVmZmVyU2l6ZSA8IHRoaXMuY29uZmlnLm1pbldpZHRoKSB7XG4gICAgICB0aGlzLmlzRnVsbHNjcmVlbiA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNGdWxsc2NyZWVuID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgI3NldFVzZXJEYXRhKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbmZpZy5zZXR0aW5nc0tleSkge1xuICAgICAgdGhpcy4jdWlDb25maWdTZXJ2aWNlXG4gICAgICAgIC5zZXRDb25maWcodGhpcy5jb25maWcuc2V0dGluZ3NLZXksIHtcbiAgICAgICAgICBmbHlvdXRXaWR0aDogdGhpcy5mbHlvdXRXaWR0aCxcbiAgICAgICAgfSlcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICAgICAgICAgKCkgPT4ge30sXG4gICAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdDb3VsZCBub3Qgc2F2ZSBmbHlvdXQgZGF0YS4nKTtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihlcnIpO1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAjY2hlY2tJbml0aWFsU2l6ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mbHlvdXRXaWR0aCA8IHRoaXMuY29uZmlnLm1pbldpZHRoKSB7XG4gICAgICB0aGlzLmZseW91dFdpZHRoID0gdGhpcy5jb25maWcubWluV2lkdGg7XG4gICAgICB0aGlzLiNzZXRVc2VyRGF0YSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5mbHlvdXRXaWR0aCA+IHRoaXMuY29uZmlnLm1heFdpZHRoKSB7XG4gICAgICB0aGlzLmZseW91dFdpZHRoID0gdGhpcy5jb25maWcubWF4V2lkdGg7XG4gICAgICB0aGlzLiNzZXRVc2VyRGF0YSgpO1xuICAgIH1cblxuICAgIC8vIEVuc3VyZSBmbHlvdXQgZG9lcyBub3QgbG9hZCBsYXJnZXIgdGhhbiB0aGUgd2luZG93IGFuZCBpdHMgYnVmZmVyXG4gICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoIC0gdGhpcy5mbHlvdXRXaWR0aCA8IHRoaXMuI3dpbmRvd0J1ZmZlclNpemUpIHtcbiAgICAgIHRoaXMuZmx5b3V0V2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aCAtIHRoaXMuI3dpbmRvd0J1ZmZlclNpemU7XG4gICAgICB0aGlzLiN4Q29vcmQgPSB0aGlzLiN3aW5kb3dCdWZmZXJTaXplO1xuICAgICAgdGhpcy4jc2V0VXNlckRhdGEoKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLiNmbHlvdXRNZWRpYVF1ZXJ5U2VydmljZS5pc1dpZHRoV2l0aGluQnJlYWtwb2ludChcbiAgICAgICAgd2luZG93LmlubmVyV2lkdGgsXG4gICAgICAgIFNreU1lZGlhQnJlYWtwb2ludHMueHNcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHRoaXMuI3VwZGF0ZUJyZWFrcG9pbnRBbmRSZXNwb25zaXZlQ2xhc3Mod2luZG93LmlubmVyV2lkdGgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiN1cGRhdGVCcmVha3BvaW50QW5kUmVzcG9uc2l2ZUNsYXNzKHRoaXMuZmx5b3V0V2lkdGgpO1xuICAgIH1cblxuICAgIHRoaXMuI3NldEZ1bGxzY3JlZW4oKTtcbiAgfVxuXG4gICNnZXRTdHJpbmcoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIC8vIFRPRE86IE5lZWQgdG8gaW1wbGVtZW50IHRoZSBhc3luYyBgZ2V0U3RyaW5nYCBtZXRob2QgaW4gYSBicmVha2luZyBjaGFuZ2UuXG4gICAgcmV0dXJuIHRoaXMuI3Jlc291cmNlc1NlcnZpY2UuZ2V0U3RyaW5nRm9yTG9jYWxlKHsgbG9jYWxlOiAnZW4tVVMnIH0sIGtleSk7XG4gIH1cblxuICAjaGFuZGxlUmVzaXplS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKGV2ZW50LmtleSkge1xuICAgICAgY29uc3Qga2V5UHJlc3NlZCA9IGV2ZW50LmtleS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoJ2Fycm93JywgJycpO1xuICAgICAgc3dpdGNoIChrZXlQcmVzc2VkKSB7XG4gICAgICAgIGNhc2UgJ2VudGVyJzpcbiAgICAgICAgY2FzZSAnICc6XG4gICAgICAgICAgdGhpcy5yZXNpemVLZXlDb250cm9sQWN0aXZlID0gIXRoaXMucmVzaXplS2V5Q29udHJvbEFjdGl2ZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndGFiJzpcbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgIGlmICh0aGlzLnJlc2l6ZUtleUNvbnRyb2xBY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMucmVzaXplS2V5Q29udHJvbEFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgICAgaWYgKHRoaXMucmVzaXplS2V5Q29udHJvbEFjdGl2ZSkge1xuICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICAgIGlmICh0aGlzLmZseW91dFdpZHRoIDwgdGhpcy5jb25maWcubWF4V2lkdGgpIHtcbiAgICAgICAgICAgICAgdGhpcy5mbHlvdXRXaWR0aCA9IE1hdGgubWluKFxuICAgICAgICAgICAgICAgIHRoaXMuZmx5b3V0V2lkdGggKyB0aGlzLndpZHRoU3RlcCxcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5tYXhXaWR0aFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgICAgaWYgKHRoaXMucmVzaXplS2V5Q29udHJvbEFjdGl2ZSkge1xuICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICAgIGlmICh0aGlzLmZseW91dFdpZHRoID4gdGhpcy5jb25maWcubWluV2lkdGgpIHtcbiAgICAgICAgICAgICAgdGhpcy5mbHlvdXRXaWR0aCA9IE1hdGgubWF4KFxuICAgICAgICAgICAgICAgIHRoaXMuZmx5b3V0V2lkdGggLSB0aGlzLndpZHRoU3RlcCxcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5taW5XaWR0aFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcblxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKiBFeGVjdXRlcyBhIGZ1bmN0aW9uIHdoZW4gdGhlIHpvbmUgaXMgc3RhYmxlLiAqL1xuICAjZXhlY3V0ZU9uU3RhYmxlKGZuOiAoKSA9PiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jbmdab25lLmlzU3RhYmxlKSB7XG4gICAgICBmbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNuZ1pvbmUub25TdGFibGUucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoZm4pO1xuICAgIH1cbiAgfVxuXG4gICNpbml0Rm9jdXNUcmFwKCk6IHZvaWQge1xuICAgIHRoaXMuZW5hYmxlVHJhcEZvY3VzQXV0b0NhcHR1cmUgPSBmYWxzZTtcbiAgICB0aGlzLmVuYWJsZVRyYXBGb2N1cyA9IGZhbHNlO1xuICAgIC8vIFdhaXRpbmcgZm9yIHpvbmUgdG8gYmUgc3RhYmxlIHdpbGwgYXZvaWQgRXhwcmVzc2lvbkNoYW5nZUFmdGVyQ2hlY2tlZEVycm9yLlxuICAgIHRoaXMuI2V4ZWN1dGVPblN0YWJsZSgoKSA9PiB7XG4gICAgICB0aGlzLmVuYWJsZVRyYXBGb2N1c0F1dG9DYXB0dXJlID0gdHJ1ZTtcbiAgICAgIHRoaXMuZW5hYmxlVHJhcEZvY3VzID0gdHJ1ZTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInNreS1mbHlvdXRcIlxuICB0YWJpbmRleD1cIi0xXCJcbiAgW2F0dHIucm9sZV09XCJjb25maWcuYXJpYVJvbGUgPyBjb25maWcuYXJpYVJvbGUgOiAnZGlhbG9nJ1wiXG4gIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiY29uZmlnLmFyaWFEZXNjcmliZWRCeVwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiY29uZmlnLmFyaWFMYWJlbFwiXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJjb25maWcuYXJpYUxhYmVsbGVkQnlcIlxuICBbYXR0ci5hcmlhLW1vZGFsXT1cIlxuICAgIGNvbmZpZy5hcmlhUm9sZSA9PT0gJ2RpYWxvZycgfHwgIWNvbmZpZy5hcmlhUm9sZSA/IHRydWUgOiBmYWxzZVxuICBcIlxuICBbYXR0ci5oaWRkZW5dPVwiIWluc3RhbmNlUmVhZHkgPyB0cnVlIDogdW5kZWZpbmVkXCJcbiAgW2lkXT1cImZseW91dElkXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdza3ktZmx5b3V0LWhpZGRlbic6ICFpc09wZW4gJiYgIWlzT3BlbmluZyxcbiAgICAnc2t5LWZseW91dC1mdWxsc2NyZWVuJzogaXNGdWxsc2NyZWVuXG4gIH1cIlxuICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgJ3NreS1zaGFkb3cnOiAnZGVmYXVsdCcsXG4gICAgJ3NreS1lbGV2YXRpb24tOCc6ICdtb2Rlcm4nXG4gIH1cIlxuICAoQGZseW91dFN0YXRlLmRvbmUpPVwiYW5pbWF0aW9uRG9uZSgkZXZlbnQpXCJcbiAgW0BmbHlvdXRTdGF0ZV09XCJnZXRBbmltYXRpb25TdGF0ZSgpXCJcbiAgW3N0eWxlLndpZHRoLnB4XT1cImZseW91dFdpZHRoXCJcbiAgI2ZseW91dFJlZlxuICBbY2RrVHJhcEZvY3VzXT1cImVuYWJsZVRyYXBGb2N1c1wiXG4gIFtjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZV09XCJlbmFibGVUcmFwRm9jdXNBdXRvQ2FwdHVyZVwiXG4+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNreS1mbHlvdXQtaGVhZGVyXCJcbiAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAnc2t5LXBhZGRpbmctc3F1aXNoLWxhcmdlJzogJ2RlZmF1bHQnXG4gICAgfVwiXG4gICAgI2ZseW91dEhlYWRlclxuICA+XG4gICAgPGRpdiBjbGFzcz1cInNreS1mbHlvdXQtaGVhZGVyLWNvbnRlbnRcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKnNreVRoZW1lSWY9XCInbW9kZXJuJ1wiXG4gICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWljb24tYm9yZGVybGVzcyBza3ktbWFyZ2luLWlubGluZS1zbSBza3ktZmx5b3V0LWhlYWRlci1ncmFiLWhhbmRsZVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NreXV4X2ZseW91dF9yZXNpemVfaGFuZGxlJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgIChrZXlkb3duKT1cIm9uSGVhZGVyR3JhYkhhbmRsZUtleURvd24oJGV2ZW50KVwiXG4gICAgICAgIChtb3VzZWRvd24pPVwib25IZWFkZXJHcmFiSGFuZGxlTW91c2VEb3duKCRldmVudClcIlxuICAgICAgPlxuICAgICAgICA8c2t5LWljb24gaWNvbj1cInRpbGUtZHJhZ1wiIGljb25UeXBlPVwic2t5dXhcIiBzaXplPVwibGdcIj4gPC9za3ktaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8c2t5LWZseW91dC1pdGVyYXRvclxuICAgICAgICAqbmdJZj1cImNvbmZpZy5zaG93SXRlcmF0b3JcIlxuICAgICAgICBbbmV4dEJ1dHRvbkRpc2FibGVkXT1cImNvbmZpZy5pdGVyYXRvck5leHRCdXR0b25EaXNhYmxlZFwiXG4gICAgICAgIFtwcmV2aW91c0J1dHRvbkRpc2FibGVkXT1cImNvbmZpZy5pdGVyYXRvclByZXZpb3VzQnV0dG9uRGlzYWJsZWRcIlxuICAgICAgICAobmV4dEJ1dHRvbkNsaWNrKT1cIm9uSXRlcmF0b3JOZXh0QnV0dG9uQ2xpY2soKVwiXG4gICAgICAgIChwcmV2aW91c0J1dHRvbkNsaWNrKT1cIm9uSXRlcmF0b3JQcmV2aW91c0J1dHRvbkNsaWNrKClcIlxuICAgICAgPlxuICAgICAgPC9za3ktZmx5b3V0LWl0ZXJhdG9yPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJza3ktZmx5b3V0LWhlYWRlci1idXR0b25zXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicGVybWFsaW5rVGVtcGxhdGVcIj4gPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicHJpbWFyeUFjdGlvblRlbXBsYXRlXCI+IDwvbmctY29udGFpbmVyPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWZseW91dC1idG4tY2xvc2Ugc2t5LWxhYmVsLWljb24tdGhlbWUtZGVmYXVsdFwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9mbHlvdXRfY2xvc2UnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAgICdza3ktYnRuLWRlZmF1bHQnOiAnZGVmYXVsdCcsXG4gICAgICAgICAgJ3NreS1idG4taWNvbi1ib3JkZXJsZXNzJzogJ21vZGVybidcbiAgICAgICAgfVwiXG4gICAgICAgIChjbGljayk9XCJjbG9zZSgpXCJcbiAgICAgID5cbiAgICAgICAgPHNreS1pY29uICpza3lUaGVtZUlmPVwiJ2RlZmF1bHQnXCIgaWNvbj1cImNsb3NlXCI+IDwvc2t5LWljb24+XG4gICAgICAgIDxza3ktaWNvblxuICAgICAgICAgICpza3lUaGVtZUlmPVwiJ21vZGVybidcIlxuICAgICAgICAgIGljb249XCJjbG9zZVwiXG4gICAgICAgICAgaWNvblR5cGU9XCJza3l1eFwiXG4gICAgICAgICAgc2l6ZT1cImxnXCJcbiAgICAgICAgPlxuICAgICAgICA8L3NreS1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic2t5LWZseW91dC1jb250ZW50XCI+XG4gICAgPGRpdiAjdGFyZ2V0PjwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2t5LWZseW91dC1yZXNpemUtaGFuZGxlXCJcbiAgICByb2xlPVwic2VwYXJhdG9yXCJcbiAgICB0YWJpbmRleD1cIjBcIlxuICAgIHR5cGU9XCJyYW5nZVwiXG4gICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJmbHlvdXRJZFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfZmx5b3V0X3Jlc2l6ZV9oYW5kbGUnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICBbYXR0ci5hcmlhLXZhbHVlbWF4XT1cImNvbmZpZy5tYXhXaWR0aFwiXG4gICAgW2F0dHIuYXJpYS12YWx1ZW1pbl09XCJjb25maWcubWluV2lkdGhcIlxuICAgIFthdHRyLmFyaWEtdmFsdWVub3ddPVwiZmx5b3V0V2lkdGhcIlxuICAgIChrZXlkb3duKT1cIm9uUmVzaXplSGFuZGxlS2V5RG93bigkZXZlbnQpXCJcbiAgICAobW91c2Vkb3duKT1cIm9uUmVzaXplSGFuZGxlTW91c2VEb3duKCRldmVudClcIlxuICA+PC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNwZXJtYWxpbmtUZW1wbGF0ZT5cbiAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cInBlcm1hbGlua1wiPlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJwZXJtYWxpbmsudXJsXCI+XG4gICAgICA8YVxuICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWZseW91dC1idG4tcGVybWFsaW5rIHNreS1tYXJnaW4taW5saW5lLWRlZmF1bHRcIlxuICAgICAgICBbc2t5SHJlZl09XCJwZXJtYWxpbmsudXJsXCJcbiAgICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAgICdza3ktYnRuLWRlZmF1bHQnOiAnZGVmYXVsdCcsXG4gICAgICAgICAgJ3NreS1idG4tYm9yZGVybGVzcyc6ICdtb2Rlcm4nXG4gICAgICAgIH1cIlxuICAgICAgICAoY2xpY2spPVwiY2xvc2UoKVwiXG4gICAgICA+XG4gICAgICAgIHt7IHBlcm1hbGlua0xhYmVsIH19XG4gICAgICA8L2E+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwicGVybWFsaW5rLnJvdXRlXCI+XG4gICAgICA8YVxuICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWZseW91dC1idG4tcGVybWFsaW5rIHNreS1tYXJnaW4taW5saW5lLWRlZmF1bHRcIlxuICAgICAgICBbcm91dGVyTGlua109XCJwZXJtYWxpbmsucm91dGUuY29tbWFuZHNcIlxuICAgICAgICBbZnJhZ21lbnRdPVwicGVybWFsaW5rLnJvdXRlLmV4dHJhcz8uZnJhZ21lbnRcIlxuICAgICAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAgICAgJ3NreS1idG4tZGVmYXVsdCc6ICdkZWZhdWx0JyxcbiAgICAgICAgICAnc2t5LWJ0bi1ib3JkZXJsZXNzJzogJ21vZGVybidcbiAgICAgICAgfVwiXG4gICAgICAgIFtxdWVyeVBhcmFtc109XCJwZXJtYWxpbmsucm91dGUuZXh0cmFzPy5xdWVyeVBhcmFtc1wiXG4gICAgICAgIFtxdWVyeVBhcmFtc0hhbmRsaW5nXT1cInBlcm1hbGluay5yb3V0ZS5leHRyYXM/LnF1ZXJ5UGFyYW1zSGFuZGxpbmdcIlxuICAgICAgICBbc3RhdGVdPVwicGVybWFsaW5rLnJvdXRlLmV4dHJhcz8uc3RhdGVcIlxuICAgICAgICAoY2xpY2spPVwiY2xvc2UoKVwiXG4gICAgICA+XG4gICAgICAgIHt7IHBlcm1hbGlua0xhYmVsIH19XG4gICAgICA8L2E+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjcHJpbWFyeUFjdGlvblRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgW25nSWZdPVwicHJpbWFyeUFjdGlvbiAmJiBwcmltYXJ5QWN0aW9uLmNhbGxiYWNrXCI+XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1mbHlvdXQtYnRuLXByaW1hcnktYWN0aW9uIHNreS1tYXJnaW4taW5saW5lLWRlZmF1bHRcIlxuICAgICAgKGNsaWNrKT1cImludm9rZVByaW1hcnlBY3Rpb24oKVwiXG4gICAgPlxuICAgICAge3sgcHJpbWFyeUFjdGlvbkxhYmVsIH19XG4gICAgPC9idXR0b24+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var _SkyFlyoutService_instances, _SkyFlyoutService_host, _SkyFlyoutService_removeAfterClosed, _SkyFlyoutService_isOpening, _SkyFlyoutService_ngUnsubscribe, _SkyFlyoutService_coreAdapter, _SkyFlyoutService_windowRef, _SkyFlyoutService_dynamicComponentService, _SkyFlyoutService_router, _SkyFlyoutService_ngZone, _SkyFlyoutService_createHostComponent, _SkyFlyoutService_removeHostComponent, _SkyFlyoutService_addListeners,
|
|
1
|
+
var _SkyFlyoutService_instances, _SkyFlyoutService_host, _SkyFlyoutService_removeAfterClosed, _SkyFlyoutService_isOpening, _SkyFlyoutService_ngUnsubscribe, _SkyFlyoutService_coreAdapter, _SkyFlyoutService_windowRef, _SkyFlyoutService_dynamicComponentService, _SkyFlyoutService_router, _SkyFlyoutService_ngZone, _SkyFlyoutService_createHostComponent, _SkyFlyoutService_removeHostComponent, _SkyFlyoutService_addListeners, _SkyFlyoutService_removeListeners;
|
|
2
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
3
|
import { Injectable, } from '@angular/core';
|
|
4
4
|
import { NavigationStart } from '@angular/router';
|
|
@@ -33,7 +33,7 @@ export class SkyFlyoutService {
|
|
|
33
33
|
__classPrivateFieldSet(this, _SkyFlyoutService_ngZone, ngZone, "f");
|
|
34
34
|
}
|
|
35
35
|
ngOnDestroy() {
|
|
36
|
-
__classPrivateFieldGet(this, _SkyFlyoutService_instances, "m",
|
|
36
|
+
__classPrivateFieldGet(this, _SkyFlyoutService_instances, "m", _SkyFlyoutService_removeListeners).call(this);
|
|
37
37
|
if (__classPrivateFieldGet(this, _SkyFlyoutService_host, "f")) {
|
|
38
38
|
__classPrivateFieldGet(this, _SkyFlyoutService_instances, "m", _SkyFlyoutService_removeHostComponent).call(this);
|
|
39
39
|
}
|
|
@@ -145,13 +145,13 @@ _SkyFlyoutService_host = new WeakMap(), _SkyFlyoutService_removeAfterClosed = ne
|
|
|
145
145
|
}
|
|
146
146
|
});
|
|
147
147
|
flyout.closed.pipe(take(1)).subscribe(() => {
|
|
148
|
-
__classPrivateFieldGet(this, _SkyFlyoutService_instances, "m",
|
|
148
|
+
__classPrivateFieldGet(this, _SkyFlyoutService_instances, "m", _SkyFlyoutService_removeListeners).call(this);
|
|
149
149
|
if (__classPrivateFieldGet(this, _SkyFlyoutService_removeAfterClosed, "f")) {
|
|
150
150
|
__classPrivateFieldGet(this, _SkyFlyoutService_instances, "m", _SkyFlyoutService_removeHostComponent).call(this);
|
|
151
151
|
}
|
|
152
152
|
});
|
|
153
153
|
}
|
|
154
|
-
},
|
|
154
|
+
}, _SkyFlyoutService_removeListeners = function _SkyFlyoutService_removeListeners() {
|
|
155
155
|
__classPrivateFieldGet(this, _SkyFlyoutService_ngUnsubscribe, "f").next(true);
|
|
156
156
|
__classPrivateFieldGet(this, _SkyFlyoutService_ngUnsubscribe, "f").unsubscribe();
|
|
157
157
|
__classPrivateFieldSet(this, _SkyFlyoutService_ngUnsubscribe, new Subject(), "f");
|
|
@@ -164,4 +164,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
|
|
|
164
164
|
providedIn: 'any',
|
|
165
165
|
}]
|
|
166
166
|
}], ctorParameters: function () { return [{ type: i1.SkyCoreAdapterService }, { type: i1.SkyAppWindowRef }, { type: i1.SkyDynamicComponentService }, { type: i2.Router }, { type: i0.NgZone }]; } });
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZmx5b3V0L3NyYy9saWIvbW9kdWxlcy9mbHlvdXQvZmx5b3V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBRUwsVUFBVSxHQUlYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQU8xRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUl4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7OztBQUVuRTs7OztHQUlHO0FBSUgsTUFBTSxPQUFPLGdCQUFnQjtJQVkzQixZQUNFLFdBQWtDLEVBQ2xDLFNBQTBCLEVBQzFCLHVCQUFtRCxFQUNuRCxNQUFjLEVBQ2QsTUFBYzs7UUFoQmhCLHlDQUFvRDtRQUNwRCw4Q0FBcUIsS0FBSyxFQUFDO1FBQzNCLHNDQUFhLEtBQUssRUFBQztRQUNuQiwwQ0FBaUIsSUFBSSxPQUFPLEVBQVcsRUFBQztRQUV4QyxnREFBb0M7UUFDcEMsOENBQTRCO1FBQzVCLDREQUFxRDtRQUNyRCwyQ0FBZ0I7UUFDaEIsMkNBQWdCO1FBU2QsdUJBQUEsSUFBSSxpQ0FBZ0IsV0FBVyxNQUFBLENBQUM7UUFDaEMsdUJBQUEsSUFBSSwrQkFBYyxTQUFTLE1BQUEsQ0FBQztRQUM1Qix1QkFBQSxJQUFJLDZDQUE0Qix1QkFBdUIsTUFBQSxDQUFDO1FBQ3hELHVCQUFBLElBQUksNEJBQVcsTUFBTSxNQUFBLENBQUM7UUFDdEIsdUJBQUEsSUFB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LElBQUksdUNBQXNCLEtBQUssTUFBQSxDQUFDO1FBQ2hDLGNBQWMsQ0FBQyxhQUFhO2FBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQUEsSUFBSSx1Q0FBZSxDQUFDLENBQUM7YUFDcEMsU0FBUyxDQUFDLENBQUMsT0FBeUIsRUFBRSxFQUFFO1lBQ3ZDLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUU7Z0JBQy9DLHVCQUFBLElBQUksdUNBQXNCLElBQUksTUFBQSxDQUFDO2dCQUMvQix1QkFBQSxJQUFJLCtCQUFjLEtBQUssTUFBQSxDQUFDO2FBQ3pCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFTCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3pDLHVCQUFBLElBQUkscUVBQWdCLE1BQXBCLElBQUksQ0FBa0IsQ0FBQztZQUN2QixJQUFJLHVCQUFBLElBQUksMkNBQW1CLEVBQUU7Z0JBQzNCLHVCQUFBLElBQUksMEVBQXFCLE1BQXpCLElBQUksQ0FBdUIsQ0FBQzthQUM3QjtRQUNILENBQUMsQ0FBQyxDQUFDO0tBQ0o7QUFDSCxDQUFDO0lBR0MsdUJBQUEsSUFBSSx1Q0FBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQix1QkFBQSxJQUFJLHVDQUFlLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEMsdUJBQUEsSUFBSSxtQ0FBa0IsSUFBSSxPQUFPLEVBQVcsTUFBQSxDQUFDO0FBQy9DLENBQUM7OEdBcExVLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBRmYsS0FBSzs0RkFFTixnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50UmVmLFxuICBJbmplY3RhYmxlLFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgVHlwZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBTa3lBcHBXaW5kb3dSZWYsXG4gIFNreUNvcmVBZGFwdGVyU2VydmljZSxcbiAgU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2UsXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgU3ViamVjdCwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwsIHRha2VXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5Rmx5b3V0SW5zdGFuY2UgfSBmcm9tICcuL2ZseW91dC1pbnN0YW5jZSc7XG5pbXBvcnQgeyBTa3lGbHlvdXRDb21wb25lbnQgfSBmcm9tICcuL2ZseW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0Q2xvc2VBcmdzIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtY2xvc2UtYXJncyc7XG5pbXBvcnQgeyBTa3lGbHlvdXRDb25maWcgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1jb25maWcnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0TWVzc2FnZSB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LW1lc3NhZ2UnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0TWVzc2FnZVR5cGUgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1tZXNzYWdlLXR5cGUnO1xuXG4vKipcbiAqIExhdW5jaGVzIGZseW91dHMgYW5kIHByb3ZpZGVzIGEgY29tbW9uIGxvb2sgYW5kIGZlZWwuXG4gKiBUaGlzIHNlcnZpY2UgZHluYW1pY2FsbHkgZ2VuZXJhdGVzIHRoZSBmbHlvdXQgY29tcG9uZW50IGFuZCBhcHBlbmRzIGl0IGRpcmVjdGx5IHRvIHRoZVxuICogZG9jdW1lbnQncyBgYm9keWAgZWxlbWVudC4gVGhlIGBTa3lGbHlvdXRJbnN0YW5jZWAgY2xhc3Mgd2F0Y2hlcyBmb3IgYW5kIHRyaWdnZXJzIGZseW91dCBldmVudHMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ2FueScsXG59KVxuZXhwb3J0IGNsYXNzIFNreUZseW91dFNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAjaG9zdDogQ29tcG9uZW50UmVmPFNreUZseW91dENvbXBvbmVudD4gfCB1bmRlZmluZWQ7XG4gICNyZW1vdmVBZnRlckNsb3NlZCA9IGZhbHNlO1xuICAjaXNPcGVuaW5nID0gZmFsc2U7XG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAjY29yZUFkYXB0ZXI6IFNreUNvcmVBZGFwdGVyU2VydmljZTtcbiAgI3dpbmRvd1JlZjogU2t5QXBwV2luZG93UmVmO1xuICAjZHluYW1pY0NvbXBvbmVudFNlcnZpY2U6IFNreUR5bmFtaWNDb21wb25lbnRTZXJ2aWNlO1xuICAjcm91dGVyOiBSb3V0ZXI7XG4gICNuZ1pvbmU6IE5nWm9uZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjb3JlQWRhcHRlcjogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICAgIHdpbmRvd1JlZjogU2t5QXBwV2luZG93UmVmLFxuICAgIGR5bmFtaWNDb21wb25lbnRTZXJ2aWNlOiBTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZSxcbiAgICByb3V0ZXI6IFJvdXRlcixcbiAgICBuZ1pvbmU6IE5nWm9uZVxuICApIHtcbiAgICB0aGlzLiNjb3JlQWRhcHRlciA9IGNvcmVBZGFwdGVyO1xuICAgIHRoaXMuI3dpbmRvd1JlZiA9IHdpbmRvd1JlZjtcbiAgICB0aGlzLiNkeW5hbWljQ29tcG9uZW50U2VydmljZSA9IGR5bmFtaWNDb21wb25lbnRTZXJ2aWNlO1xuICAgIHRoaXMuI3JvdXRlciA9IHJvdXRlcjtcbiAgICB0aGlzLiNuZ1pvbmUgPSBuZ1pvbmU7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jcmVtb3ZlTGlzdG5lcnMoKTtcbiAgICBpZiAodGhpcy4jaG9zdCkge1xuICAgICAgdGhpcy4jcmVtb3ZlSG9zdENvbXBvbmVudCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIGZseW91dC4gVGhpcyBtZXRob2QgYWxzbyByZW1vdmVzIHRoZSBmbHlvdXQncyBIVE1MIGVsZW1lbnRzIGZyb20gdGhlIERPTS5cbiAgICogQHBhcmFtIGFyZ3MgQXJndW1lbnRzIHVzZWQgd2hlbiBjbG9zaW5nIHRoZSBmbHlvdXQuXG4gICAqL1xuICBwdWJsaWMgY2xvc2UoYXJncz86IFNreUZseW91dENsb3NlQXJncyk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNob3N0ICYmICF0aGlzLiNpc09wZW5pbmcpIHtcbiAgICAgIHRoaXMuI2hvc3QuaW5zdGFuY2UubWVzc2FnZVN0cmVhbS5uZXh0KHtcbiAgICAgICAgdHlwZTogU2t5Rmx5b3V0TWVzc2FnZVR5cGUuQ2xvc2UsXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBpZ25vcmVCZWZvcmVDbG9zZTogYXJncyA/IGFyZ3MuaWdub3JlQmVmb3JlQ2xvc2UgOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVucyBhIGZseW91dCBhbmQgZGlzcGxheXMgdGhlIHNwZWNpZmllZCBjb21wb25lbnQuXG4gICAqIEBwYXJhbSBjb21wb25lbnQgU3BlY2lmaWVzIHRoZSBjb21wb25lbnQgdG8gcmVuZGVyLlxuICAgKiBAcGFyYW0gY29uZmlnIFNwZWNpZmllcyB0aGUgZmx5b3V0IGNvbmZpZ3VyYXRpb24gcGFzc2VkIHRvIHRoZSBzcGVjaWZpZWQgY29tcG9uZW50J3MgY29uc3RydWN0b3IuXG4gICAqL1xuICBwdWJsaWMgb3BlbjxUPihcbiAgICBjb21wb25lbnQ6IFR5cGU8VD4sXG4gICAgY29uZmlnPzogU2t5Rmx5b3V0Q29uZmlnXG4gICk6IFNreUZseW91dEluc3RhbmNlPFQ+IHtcbiAgICAvLyBpc09wZW5pbmcgZmxhZyB3aWxsIHByZXZlbnQgY2xvc2UoKSBmcm9tIGZpcmluZyB3aGVuIG9wZW4oKSBpcyBhbHNvIGZpcmVkLlxuICAgIHRoaXMuI2lzT3BlbmluZyA9IHRydWU7XG4gICAgdGhpcy4jd2luZG93UmVmLm5hdGl2ZVdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuI2lzT3BlbmluZyA9IGZhbHNlO1xuICAgIH0pO1xuXG4gICAgaWYgKCF0aGlzLiNob3N0KSB7XG4gICAgICB0aGlzLiNob3N0ID0gdGhpcy4jY3JlYXRlSG9zdENvbXBvbmVudCgpO1xuXG4gICAgICB0aGlzLiNyb3V0ZXIuZXZlbnRzXG4gICAgICAgIC5waXBlKHRha2VXaGlsZSgoKSA9PiB0aGlzLiNob3N0ICE9PSB1bmRlZmluZWQpKVxuICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuXG4gICAgICAgICAgICAvLyBTYW5pdHkgY2hlY2sgLSBpZiB0aGUgaG9zdCBzdGlsbCBleGlzdHMgYWZ0ZXIgYW5pbWF0aW9ucyBzaG91bGQgaGF2ZSBjb21wbGV0ZWQgLSByZW1vdmUgaG9zdFxuICAgICAgICAgICAgdGhpcy4jbmdab25lLm9uU3RhYmxlLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHRoaXMuI2hvc3QpIHtcbiAgICAgICAgICAgICAgICB0aGlzLiNyZW1vdmVIb3N0Q29tcG9uZW50KCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgZmx5b3V0ID0gdGhpcy4jaG9zdC5pbnN0YW5jZS5hdHRhY2goY29tcG9uZW50LCBjb25maWcpO1xuXG4gICAgdGhpcy4jYWRkTGlzdGVuZXJzKGZseW91dCk7XG5cbiAgICByZXR1cm4gZmx5b3V0O1xuICB9XG5cbiAgI2NyZWF0ZUhvc3RDb21wb25lbnQoKTogQ29tcG9uZW50UmVmPFNreUZseW91dENvbXBvbmVudD4ge1xuICAgIHRoaXMuI2hvc3QgPVxuICAgICAgdGhpcy4jZHluYW1pY0NvbXBvbmVudFNlcnZpY2UuY3JlYXRlQ29tcG9uZW50KFNreUZseW91dENvbXBvbmVudCk7XG4gICAgcmV0dXJuIHRoaXMuI2hvc3Q7XG4gIH1cblxuICAjcmVtb3ZlSG9zdENvbXBvbmVudCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jaG9zdCkge1xuICAgICAgdGhpcy4jZHluYW1pY0NvbXBvbmVudFNlcnZpY2UucmVtb3ZlQ29tcG9uZW50KHRoaXMuI2hvc3QpO1xuICAgICAgdGhpcy4jaG9zdCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICAjYWRkTGlzdGVuZXJzPFQ+KGZseW91dDogU2t5Rmx5b3V0SW5zdGFuY2U8VD4pOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLiNob3N0KSB7XG4gICAgICBjb25zdCBmbHlvdXRJbnN0YW5jZSA9IHRoaXMuI2hvc3QuaW5zdGFuY2U7XG5cbiAgICAgIGxldCBkb0Nsb3NlID0gZmFsc2U7XG5cbiAgICAgIC8qKlxuICAgICAgICogSGFuZGxlcyB3aGVuIHRvIGNsb3NlIGEgZmx5b3V0LlxuICAgICAgICogTm90ZTogV2UncmUgdXNpbmcgYG1vdXNldXBgIGluIG9yZGVyIHRvIGNhcHR1cmUgdGhlIHBhcmVudCBvZiBjZXJ0YWluIHRhcmdldHMgdGhhdCB3aWxsIGJlXG4gICAgICAgKiBkZWxldGVkIGltbWVkaWF0ZWx5IGFmdGVyIGJlaW5nIGNsaWNrZWQuIElmIHdlIHVzZSBgY2xpY2tgLCB0aGUgZXZlbnQgaXMgZmlyZWQgYWZ0ZXIgdGhlXG4gICAgICAgKiBlbGVtZW50IGlzIHJlbW92ZWQgZnJvbSB0aGUgRE9NIG1ha2luZyBpdCBpbXBvc3NpYmxlIHRvIGNoZWNrIHRoZSBwYXJlbnQncyB6LWluZGV4XG4gICAgICAgKiByZWxhdGl2ZSB0byB0aGUgZmx5b3V0J3MgY29udGFpbmVyLlxuICAgICAgICovXG4gICAgICBmcm9tRXZlbnQoZG9jdW1lbnQsICdtb3VzZXVwJylcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKChldmVudDogRXZlbnQpID0+IHtcbiAgICAgICAgICBkb0Nsb3NlID0gZmFsc2U7XG5cbiAgICAgICAgICBpZiAodGhpcy4jaG9zdD8uaW5zdGFuY2UuaXNEcmFnZ2luZykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChmbHlvdXRJbnN0YW5jZS5mbHlvdXRSZWY/Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IGlzQWJvdmUgPVxuICAgICAgICAgICAgZXZlbnQudGFyZ2V0ID09PSBkb2N1bWVudCB8fCAhZXZlbnQudGFyZ2V0XG4gICAgICAgICAgICAgID8gZmFsc2VcbiAgICAgICAgICAgICAgOiB0aGlzLiNjb3JlQWRhcHRlci5pc1RhcmdldEFib3ZlRWxlbWVudChcbiAgICAgICAgICAgICAgICAgIGV2ZW50LnRhcmdldCxcbiAgICAgICAgICAgICAgICAgIGZseW91dEluc3RhbmNlLmZseW91dFJlZj8ubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgIGlmICghaXNBYm92ZSkge1xuICAgICAgICAgICAgZG9DbG9zZSA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgLyoqXG4gICAgICAgKiBDaGVjayBpZiB3ZSBzaG91bGQgY2xvc2UgdGhlIGZseW91dCBzcGVjaWZpY2FsbHkgb24gYSBgY2xpY2tgIGV2ZW50IHNvIHRoYXQgd2UgY2FuIGtlZXBcbiAgICAgICAqIGl0IG9wZW4gd2hlbiBjb25zdW1lcnMgZmlyZSBhbm90aGVyIGBjbGlja2AgZXZlbnQgb24gYSB0cmlnZ2VyIGJ1dHRvbi4gU2luY2UgdGhlIGNvbnN1bWVyXG4gICAgICAgKiB3aWxsIGxpa2VseSB1c2UgYSBgY2xpY2tgIGV2ZW50IHRvIG9wZW4gdGhlIGZseW91dCwgd2Ugd2FudCB0byB3YWl0IGZvciB0aGF0IGV2ZW50IHRvIGZpcmVcbiAgICAgICAqIGJlZm9yZSBkZXRlcm1pbmluZyBpZiB0aGUgZmx5b3V0IHNob3VsZCBiZSBjbG9zZWQuXG4gICAgICAgKi9cbiAgICAgIGZyb21FdmVudChkb2N1bWVudCwgJ2NsaWNrJylcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICBpZiAoZG9DbG9zZSkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgIHRoaXMuI3JlbW92ZUFmdGVyQ2xvc2VkID0gZmFsc2U7XG4gICAgICBmbHlvdXRJbnN0YW5jZS5tZXNzYWdlU3RyZWFtXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgobWVzc2FnZTogU2t5Rmx5b3V0TWVzc2FnZSkgPT4ge1xuICAgICAgICAgIGlmIChtZXNzYWdlLnR5cGUgPT09IFNreUZseW91dE1lc3NhZ2VUeXBlLkNsb3NlKSB7XG4gICAgICAgICAgICB0aGlzLiNyZW1vdmVBZnRlckNsb3NlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLiNpc09wZW5pbmcgPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICBmbHlvdXQuY2xvc2VkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy4jcmVtb3ZlTGlzdG5lcnMoKTtcbiAgICAgICAgaWYgKHRoaXMuI3JlbW92ZUFmdGVyQ2xvc2VkKSB7XG4gICAgICAgICAgdGhpcy4jcmVtb3ZlSG9zdENvbXBvbmVudCgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAjcmVtb3ZlTGlzdG5lcnMoKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KHRydWUpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUudW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgfVxufVxuIl19
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZmx5b3V0L3NyYy9saWIvbW9kdWxlcy9mbHlvdXQvZmx5b3V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBRUwsVUFBVSxHQUlYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQU8xRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUl4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7OztBQUVuRTs7OztHQUlHO0FBSUgsTUFBTSxPQUFPLGdCQUFnQjtJQVkzQixZQUNFLFdBQWtDLEVBQ2xDLFNBQTBCLEVBQzFCLHVCQUFtRCxFQUNuRCxNQUFjLEVBQ2QsTUFBYzs7UUFoQmhCLHlDQUFvRDtRQUNwRCw4Q0FBcUIsS0FBSyxFQUFDO1FBQzNCLHNDQUFhLEtBQUssRUFBQztRQUNuQiwwQ0FBaUIsSUFBSSxPQUFPLEVBQVcsRUFBQztRQUV4QyxnREFBb0M7UUFDcEMsOENBQTRCO1FBQzVCLDREQUFxRDtRQUNyRCwyQ0FBZ0I7UUFDaEIsMkNBQWdCO1FBU2QsdUJBQUEsSUFBSSxpQ0FBZ0IsV0FBVyxNQUFBLENBQUM7UUFDaEMsdUJBQUEsSUFBSSwrQkFBYyxTQUFTLE1BQUEsQ0FBQztRQUM1Qix1QkFBQSxJQUFJLDZDQUE0Qix1QkFBdUIsTUFBQSxDQUFDO1FBQ3hELHVCQUFBLElBQUksNEJBQVcsTUFBTSxNQUFBLENBQUM7UUFDdEIsdUJBQUEsSUFB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LElBQUksdUNBQXNCLEtBQUssTUFBQSxDQUFDO1FBQ2hDLGNBQWMsQ0FBQyxhQUFhO2FBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQUEsSUFBSSx1Q0FBZSxDQUFDLENBQUM7YUFDcEMsU0FBUyxDQUFDLENBQUMsT0FBeUIsRUFBRSxFQUFFO1lBQ3ZDLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUU7Z0JBQy9DLHVCQUFBLElBQUksdUNBQXNCLElBQUksTUFBQSxDQUFDO2dCQUMvQix1QkFBQSxJQUFJLCtCQUFjLEtBQUssTUFBQSxDQUFDO2FBQ3pCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFTCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3pDLHVCQUFBLElBQUksc0VBQWlCLE1BQXJCLElBQUksQ0FBbUIsQ0FBQztZQUN4QixJQUFJLHVCQUFBLElBQUksMkNBQW1CLEVBQUU7Z0JBQzNCLHVCQUFBLElBQUksMEVBQXFCLE1BQXpCLElBQUksQ0FBdUIsQ0FBQzthQUM3QjtRQUNILENBQUMsQ0FBQyxDQUFDO0tBQ0o7QUFDSCxDQUFDO0lBR0MsdUJBQUEsSUFBSSx1Q0FBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQix1QkFBQSxJQUFJLHVDQUFlLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEMsdUJBQUEsSUFBSSxtQ0FBa0IsSUFBSSxPQUFPLEVBQVcsTUFBQSxDQUFDO0FBQy9DLENBQUM7OEdBcExVLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBRmYsS0FBSzs0RkFFTixnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50UmVmLFxuICBJbmplY3RhYmxlLFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgVHlwZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBTa3lBcHBXaW5kb3dSZWYsXG4gIFNreUNvcmVBZGFwdGVyU2VydmljZSxcbiAgU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2UsXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgU3ViamVjdCwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwsIHRha2VXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5Rmx5b3V0SW5zdGFuY2UgfSBmcm9tICcuL2ZseW91dC1pbnN0YW5jZSc7XG5pbXBvcnQgeyBTa3lGbHlvdXRDb21wb25lbnQgfSBmcm9tICcuL2ZseW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0Q2xvc2VBcmdzIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtY2xvc2UtYXJncyc7XG5pbXBvcnQgeyBTa3lGbHlvdXRDb25maWcgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1jb25maWcnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0TWVzc2FnZSB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LW1lc3NhZ2UnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0TWVzc2FnZVR5cGUgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1tZXNzYWdlLXR5cGUnO1xuXG4vKipcbiAqIExhdW5jaGVzIGZseW91dHMgYW5kIHByb3ZpZGVzIGEgY29tbW9uIGxvb2sgYW5kIGZlZWwuXG4gKiBUaGlzIHNlcnZpY2UgZHluYW1pY2FsbHkgZ2VuZXJhdGVzIHRoZSBmbHlvdXQgY29tcG9uZW50IGFuZCBhcHBlbmRzIGl0IGRpcmVjdGx5IHRvIHRoZVxuICogZG9jdW1lbnQncyBgYm9keWAgZWxlbWVudC4gVGhlIGBTa3lGbHlvdXRJbnN0YW5jZWAgY2xhc3Mgd2F0Y2hlcyBmb3IgYW5kIHRyaWdnZXJzIGZseW91dCBldmVudHMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ2FueScsXG59KVxuZXhwb3J0IGNsYXNzIFNreUZseW91dFNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAjaG9zdDogQ29tcG9uZW50UmVmPFNreUZseW91dENvbXBvbmVudD4gfCB1bmRlZmluZWQ7XG4gICNyZW1vdmVBZnRlckNsb3NlZCA9IGZhbHNlO1xuICAjaXNPcGVuaW5nID0gZmFsc2U7XG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAjY29yZUFkYXB0ZXI6IFNreUNvcmVBZGFwdGVyU2VydmljZTtcbiAgI3dpbmRvd1JlZjogU2t5QXBwV2luZG93UmVmO1xuICAjZHluYW1pY0NvbXBvbmVudFNlcnZpY2U6IFNreUR5bmFtaWNDb21wb25lbnRTZXJ2aWNlO1xuICAjcm91dGVyOiBSb3V0ZXI7XG4gICNuZ1pvbmU6IE5nWm9uZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjb3JlQWRhcHRlcjogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICAgIHdpbmRvd1JlZjogU2t5QXBwV2luZG93UmVmLFxuICAgIGR5bmFtaWNDb21wb25lbnRTZXJ2aWNlOiBTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZSxcbiAgICByb3V0ZXI6IFJvdXRlcixcbiAgICBuZ1pvbmU6IE5nWm9uZVxuICApIHtcbiAgICB0aGlzLiNjb3JlQWRhcHRlciA9IGNvcmVBZGFwdGVyO1xuICAgIHRoaXMuI3dpbmRvd1JlZiA9IHdpbmRvd1JlZjtcbiAgICB0aGlzLiNkeW5hbWljQ29tcG9uZW50U2VydmljZSA9IGR5bmFtaWNDb21wb25lbnRTZXJ2aWNlO1xuICAgIHRoaXMuI3JvdXRlciA9IHJvdXRlcjtcbiAgICB0aGlzLiNuZ1pvbmUgPSBuZ1pvbmU7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jcmVtb3ZlTGlzdGVuZXJzKCk7XG4gICAgaWYgKHRoaXMuI2hvc3QpIHtcbiAgICAgIHRoaXMuI3JlbW92ZUhvc3RDb21wb25lbnQoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBmbHlvdXQuIFRoaXMgbWV0aG9kIGFsc28gcmVtb3ZlcyB0aGUgZmx5b3V0J3MgSFRNTCBlbGVtZW50cyBmcm9tIHRoZSBET00uXG4gICAqIEBwYXJhbSBhcmdzIEFyZ3VtZW50cyB1c2VkIHdoZW4gY2xvc2luZyB0aGUgZmx5b3V0LlxuICAgKi9cbiAgcHVibGljIGNsb3NlKGFyZ3M/OiBTa3lGbHlvdXRDbG9zZUFyZ3MpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jaG9zdCAmJiAhdGhpcy4jaXNPcGVuaW5nKSB7XG4gICAgICB0aGlzLiNob3N0Lmluc3RhbmNlLm1lc3NhZ2VTdHJlYW0ubmV4dCh7XG4gICAgICAgIHR5cGU6IFNreUZseW91dE1lc3NhZ2VUeXBlLkNsb3NlLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgaWdub3JlQmVmb3JlQ2xvc2U6IGFyZ3MgPyBhcmdzLmlnbm9yZUJlZm9yZUNsb3NlIDogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogT3BlbnMgYSBmbHlvdXQgYW5kIGRpc3BsYXlzIHRoZSBzcGVjaWZpZWQgY29tcG9uZW50LlxuICAgKiBAcGFyYW0gY29tcG9uZW50IFNwZWNpZmllcyB0aGUgY29tcG9uZW50IHRvIHJlbmRlci5cbiAgICogQHBhcmFtIGNvbmZpZyBTcGVjaWZpZXMgdGhlIGZseW91dCBjb25maWd1cmF0aW9uIHBhc3NlZCB0byB0aGUgc3BlY2lmaWVkIGNvbXBvbmVudCdzIGNvbnN0cnVjdG9yLlxuICAgKi9cbiAgcHVibGljIG9wZW48VD4oXG4gICAgY29tcG9uZW50OiBUeXBlPFQ+LFxuICAgIGNvbmZpZz86IFNreUZseW91dENvbmZpZ1xuICApOiBTa3lGbHlvdXRJbnN0YW5jZTxUPiB7XG4gICAgLy8gaXNPcGVuaW5nIGZsYWcgd2lsbCBwcmV2ZW50IGNsb3NlKCkgZnJvbSBmaXJpbmcgd2hlbiBvcGVuKCkgaXMgYWxzbyBmaXJlZC5cbiAgICB0aGlzLiNpc09wZW5pbmcgPSB0cnVlO1xuICAgIHRoaXMuI3dpbmRvd1JlZi5uYXRpdmVXaW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLiNpc09wZW5pbmcgPSBmYWxzZTtcbiAgICB9KTtcblxuICAgIGlmICghdGhpcy4jaG9zdCkge1xuICAgICAgdGhpcy4jaG9zdCA9IHRoaXMuI2NyZWF0ZUhvc3RDb21wb25lbnQoKTtcblxuICAgICAgdGhpcy4jcm91dGVyLmV2ZW50c1xuICAgICAgICAucGlwZSh0YWtlV2hpbGUoKCkgPT4gdGhpcy4jaG9zdCAhPT0gdW5kZWZpbmVkKSlcbiAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcblxuICAgICAgICAgICAgLy8gU2FuaXR5IGNoZWNrIC0gaWYgdGhlIGhvc3Qgc3RpbGwgZXhpc3RzIGFmdGVyIGFuaW1hdGlvbnMgc2hvdWxkIGhhdmUgY29tcGxldGVkIC0gcmVtb3ZlIGhvc3RcbiAgICAgICAgICAgIHRoaXMuI25nWm9uZS5vblN0YWJsZS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0aGlzLiNob3N0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy4jcmVtb3ZlSG9zdENvbXBvbmVudCgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IGZseW91dCA9IHRoaXMuI2hvc3QuaW5zdGFuY2UuYXR0YWNoKGNvbXBvbmVudCwgY29uZmlnKTtcblxuICAgIHRoaXMuI2FkZExpc3RlbmVycyhmbHlvdXQpO1xuXG4gICAgcmV0dXJuIGZseW91dDtcbiAgfVxuXG4gICNjcmVhdGVIb3N0Q29tcG9uZW50KCk6IENvbXBvbmVudFJlZjxTa3lGbHlvdXRDb21wb25lbnQ+IHtcbiAgICB0aGlzLiNob3N0ID1cbiAgICAgIHRoaXMuI2R5bmFtaWNDb21wb25lbnRTZXJ2aWNlLmNyZWF0ZUNvbXBvbmVudChTa3lGbHlvdXRDb21wb25lbnQpO1xuICAgIHJldHVybiB0aGlzLiNob3N0O1xuICB9XG5cbiAgI3JlbW92ZUhvc3RDb21wb25lbnQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI2hvc3QpIHtcbiAgICAgIHRoaXMuI2R5bmFtaWNDb21wb25lbnRTZXJ2aWNlLnJlbW92ZUNvbXBvbmVudCh0aGlzLiNob3N0KTtcbiAgICAgIHRoaXMuI2hvc3QgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgI2FkZExpc3RlbmVyczxUPihmbHlvdXQ6IFNreUZseW91dEluc3RhbmNlPFQ+KTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy4jaG9zdCkge1xuICAgICAgY29uc3QgZmx5b3V0SW5zdGFuY2UgPSB0aGlzLiNob3N0Lmluc3RhbmNlO1xuXG4gICAgICBsZXQgZG9DbG9zZSA9IGZhbHNlO1xuXG4gICAgICAvKipcbiAgICAgICAqIEhhbmRsZXMgd2hlbiB0byBjbG9zZSBhIGZseW91dC5cbiAgICAgICAqIE5vdGU6IFdlJ3JlIHVzaW5nIGBtb3VzZXVwYCBpbiBvcmRlciB0byBjYXB0dXJlIHRoZSBwYXJlbnQgb2YgY2VydGFpbiB0YXJnZXRzIHRoYXQgd2lsbCBiZVxuICAgICAgICogZGVsZXRlZCBpbW1lZGlhdGVseSBhZnRlciBiZWluZyBjbGlja2VkLiBJZiB3ZSB1c2UgYGNsaWNrYCwgdGhlIGV2ZW50IGlzIGZpcmVkIGFmdGVyIHRoZVxuICAgICAgICogZWxlbWVudCBpcyByZW1vdmVkIGZyb20gdGhlIERPTSBtYWtpbmcgaXQgaW1wb3NzaWJsZSB0byBjaGVjayB0aGUgcGFyZW50J3Mgei1pbmRleFxuICAgICAgICogcmVsYXRpdmUgdG8gdGhlIGZseW91dCdzIGNvbnRhaW5lci5cbiAgICAgICAqL1xuICAgICAgZnJvbUV2ZW50KGRvY3VtZW50LCAnbW91c2V1cCcpXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgICAgICAgZG9DbG9zZSA9IGZhbHNlO1xuXG4gICAgICAgICAgaWYgKHRoaXMuI2hvc3Q/Lmluc3RhbmNlLmlzRHJhZ2dpbmcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZmx5b3V0SW5zdGFuY2UuZmx5b3V0UmVmPy5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBpc0Fib3ZlID1cbiAgICAgICAgICAgIGV2ZW50LnRhcmdldCA9PT0gZG9jdW1lbnQgfHwgIWV2ZW50LnRhcmdldFxuICAgICAgICAgICAgICA/IGZhbHNlXG4gICAgICAgICAgICAgIDogdGhpcy4jY29yZUFkYXB0ZXIuaXNUYXJnZXRBYm92ZUVsZW1lbnQoXG4gICAgICAgICAgICAgICAgICBldmVudC50YXJnZXQsXG4gICAgICAgICAgICAgICAgICBmbHlvdXRJbnN0YW5jZS5mbHlvdXRSZWY/Lm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICBpZiAoIWlzQWJvdmUpIHtcbiAgICAgICAgICAgIGRvQ2xvc2UgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgIC8qKlxuICAgICAgICogQ2hlY2sgaWYgd2Ugc2hvdWxkIGNsb3NlIHRoZSBmbHlvdXQgc3BlY2lmaWNhbGx5IG9uIGEgYGNsaWNrYCBldmVudCBzbyB0aGF0IHdlIGNhbiBrZWVwXG4gICAgICAgKiBpdCBvcGVuIHdoZW4gY29uc3VtZXJzIGZpcmUgYW5vdGhlciBgY2xpY2tgIGV2ZW50IG9uIGEgdHJpZ2dlciBidXR0b24uIFNpbmNlIHRoZSBjb25zdW1lclxuICAgICAgICogd2lsbCBsaWtlbHkgdXNlIGEgYGNsaWNrYCBldmVudCB0byBvcGVuIHRoZSBmbHlvdXQsIHdlIHdhbnQgdG8gd2FpdCBmb3IgdGhhdCBldmVudCB0byBmaXJlXG4gICAgICAgKiBiZWZvcmUgZGV0ZXJtaW5pbmcgaWYgdGhlIGZseW91dCBzaG91bGQgYmUgY2xvc2VkLlxuICAgICAgICovXG4gICAgICBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgaWYgKGRvQ2xvc2UpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICB0aGlzLiNyZW1vdmVBZnRlckNsb3NlZCA9IGZhbHNlO1xuICAgICAgZmx5b3V0SW5zdGFuY2UubWVzc2FnZVN0cmVhbVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKG1lc3NhZ2U6IFNreUZseW91dE1lc3NhZ2UpID0+IHtcbiAgICAgICAgICBpZiAobWVzc2FnZS50eXBlID09PSBTa3lGbHlvdXRNZXNzYWdlVHlwZS5DbG9zZSkge1xuICAgICAgICAgICAgdGhpcy4jcmVtb3ZlQWZ0ZXJDbG9zZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy4jaXNPcGVuaW5nID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgZmx5b3V0LmNsb3NlZC5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuI3JlbW92ZUxpc3RlbmVycygpO1xuICAgICAgICBpZiAodGhpcy4jcmVtb3ZlQWZ0ZXJDbG9zZWQpIHtcbiAgICAgICAgICB0aGlzLiNyZW1vdmVIb3N0Q29tcG9uZW50KCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gICNyZW1vdmVMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KHRydWUpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUudW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgfVxufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC90eXBlcy9mbHlvdXQtYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNreUZseW91dEFjdGlvbiB7XG4gIC8qKlxuICAgKiBUaGUgYnV0dG9uJ3MgbGFiZWwuXG4gICAqL1xuICBsYWJlbD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGV4ZWN1dGUgd2hlbiB0aGUgYnV0dG9uIGlzIGNsaWNrZWQuXG4gICAqL1xuICBjYWxsYmFjaz86ICgpID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gY2xvc2UgdGhlIGZseW91dCBhZnRlciB0aGUgYnV0dG9uIGlzIGNsaWNrZWQuXG4gICAqL1xuICBjbG9zZUFmdGVySW52b2tpbmc/OiBib29sZWFuO1xufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWNsb3NlLWFyZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZmx5b3V0L3NyYy9saWIvbW9kdWxlcy9mbHlvdXQvdHlwZXMvZmx5b3V0LWNsb3NlLWFyZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQXJndW1lbnRzIHVzZWQgd2hlbiBjbG9zaW5nIGEgZmx5b3V0IHByb2dyYW1tYXRpY2FsbHkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2t5Rmx5b3V0Q2xvc2VBcmdzIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGBTa3lGbHlvdXRCZWZvcmVDbG9zZUhhbmRsZXJgIGlzIGlnbm9yZWQgd2hlbiBjbG9zaW5nIGEgZmx5b3V0LlxuICAgKi9cbiAgaWdub3JlQmVmb3JlQ2xvc2U/OiBib29sZWFuO1xufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWNvbmZpZy1pbnRlcm5hbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC90eXBlcy9mbHlvdXQtY29uZmlnLWludGVybmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lGbHlvdXRDb25maWcgfSBmcm9tICcuL2ZseW91dC1jb25maWcnO1xuXG4vKipcbiAqIFR5cGUgdG8gcmVwcmVzZW50IHRoZSBmbHlvdXQgY29uZmlndXJhdGlvbiBhZnRlciBkZWZhdWx0IHZhbHVlcyBoYXZlIGJlZW4gYXBwbGllZC5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNreUZseW91dENvbmZpZ0ludGVybmFsIGV4dGVuZHMgU2t5Rmx5b3V0Q29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IHdpZHRoIG9mIHRoZSBmbHlvdXQgY29udGFpbmVyLiBJZiB5b3UgZG8gbm90IHByb3ZpZGUgYSB3aWR0aCxcbiAgICogdGhlIGZseW91dCBkZWZhdWx0cyB0byBoYWxmIHRoZSB3aWR0aCBvZiBpdHMgY29udGFpbmVyLlxuICAgKi9cbiAgZGVmYXVsdFdpZHRoOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIHJlc2l6ZSB3aWR0aCBvZiB0aGUgZmx5b3V0IGNvbnRhaW5lci5cbiAgICogQGRlZmF1bHQgMzIwXG4gICAqL1xuICBtaW5XaWR0aDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSByZXNpemUgd2lkdGggb2YgdGhlIGZseW91dCBjb250YWluZXIuXG4gICAqIEBkZWZhdWx0IGRlZmF1bHRXaWR0aFxuICAgKi9cbiAgbWF4V2lkdGg6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIGFycmF5IG9mIGN1c3RvbSBwcm92aWRlcnMgdG8gcGFzcyB0byB0aGUgY29tcG9uZW50J3MgY29uc3RydWN0b3IuXG4gICAqL1xuICBwcm92aWRlcnM6IGFueVtdO1xufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC90eXBlcy9mbHlvdXQtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lGbHlvdXRBY3Rpb24gfSBmcm9tICcuL2ZseW91dC1hY3Rpb24nO1xuaW1wb3J0IHsgU2t5Rmx5b3V0UGVybWFsaW5rIH0gZnJvbSAnLi9mbHlvdXQtcGVybWFsaW5rJztcblxuLyoqXG4gKiBTcGVjaWZpZXMgdGhlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyB0byBzZXQgdXAgYSBmbHlvdXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2t5Rmx5b3V0Q29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBIVE1MIGVsZW1lbnQgSUQgKHdpdGhvdXQgdGhlIGxlYWRpbmcgYCNgKSBvZiB0aGUgZWxlbWVudCB0aGF0IGRlc2NyaWJlc1xuICAgKiB0aGUgZmx5b3V0LiBUaGlzIHNldHMgdGhlIGZseW91dCdzIGBhcmlhLWRlc2NyaWJlZGJ5YCBhdHRyaWJ1dGVcbiAgICogW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9sZWFybi9hY2Nlc3NpYmlsaXR5KS5cbiAgICogVGhlIGRlc2NyaXB0aW9uIHR5cGljYWxseSBpbmNsdWRlcyB0ZXh0IG9uIHRoZSBmbHlvdXQgYnV0IG5vdCBvbiBpdGVtcyB0aGF0IHVzZXJzXG4gICAqIGludGVyYWN0IHdpdGgsIHN1Y2ggYXMgYnV0dG9ucyBhbmQgZm9ybXMuXG4gICAqL1xuICBhcmlhRGVzY3JpYmVkQnk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBUklBIGxhYmVsIGZvciB0aGUgZmx5b3V0LiBUaGlzIHNldHMgdGhlIGZseW91dHMncyBgYXJpYS1sYWJlbGAgYXR0cmlidXRlXG4gICAqIFt0byBzdXBwb3J0IGFjY2Vzc2liaWxpdHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vYWNjZXNzaWJpbGl0eSkuXG4gICAqIElmIHRoZSBmbHlvdXQgaW5jbHVkZXMgYSB2aXNpYmxlIGxhYmVsLCB1c2UgYGFyaWFMYWJlbGxlZEJ5YCBpbnN0ZWFkLlxuICAgKi9cbiAgYXJpYUxhYmVsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgSFRNTCBlbGVtZW50IElEICh3aXRob3V0IHRoZSBsZWFkaW5nIGAjYCkgb2YgdGhlIGVsZW1lbnQgdGhhdCBsYWJlbHNcbiAgICogdGhlIGZseW91dC4gVGhpcyBzZXRzIHRoZSBmbHlvdXQncyBgYXJpYS1sYWJlbGxlZGJ5YCBhdHRyaWJ1dGVcbiAgICogW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9sZWFybi9hY2Nlc3NpYmlsaXR5KS5cbiAgICogSWYgdGhlIGZseW91dCBkb2VzIG5vdCBpbmNsdWRlIGEgdmlzaWJsZSBsYWJlbCwgdXNlIGBhcmlhTGFiZWxgIGluc3RlYWQuXG4gICAqL1xuICBhcmlhTGFiZWxsZWRCeT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEFSSUEgcm9sZSBmb3IgdGhlIGZseW91dFxuICAgKiBbdG8gc3VwcG9ydCBhY2Nlc3NpYmlsaXR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2FjY2Vzc2liaWxpdHkpXG4gICAqIGJ5IGluZGljYXRpbmcgaG93IHRoZSBmbHlvdXQgZnVuY3Rpb25zIGFuZCB3aGF0IGl0IGNvbnRyb2xzLiBGb3IgaW5mb3JtYXRpb24gYWJvdXQgaG93XG4gICAqIGFuIEFSSUEgcm9sZSBpbmRpY2F0ZXMgd2hhdCBhbiBpdGVtIHJlcHJlc2VudHMgb24gYSB3ZWIgcGFnZSxcbiAgICogc2VlIHRoZSBbV0FJLUFSSUEgcm9sZXMgbW9kZWxdKGh0dHBzOi8vd3d3LnczLm9yZy9XQUkvUEYvYXJpYS9yb2xlcykuXG4gICAqIEBkZWZhdWx0IGRpYWxvZ1xuICAgKiBAZGVwcmVjYXRlZCBTaW5jZSB2ZXJzaW9uIGA1LjEuMGAuIENvbnN1bWVycyBzaG91bGQgdXNlIHRoZSBkZWZhdWx0IGBkaWFsb2dgIHJvbGUgdG8gZW5zdXJlIGFcbiAgICogcHJvcGVyIGFjY2Vzc2liaWxpdHkgaW1wbGVtZW50YXRpb24uXG4gICAqL1xuICBhcmlhUm9sZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRlZmF1bHQgd2lkdGggb2YgdGhlIGZseW91dCBjb250YWluZXIuIElmIHlvdSBkbyBub3QgcHJvdmlkZSBhIHdpZHRoLFxuICAgKiB0aGUgZmx5b3V0IGRlZmF1bHRzIHRvIGhhbGYgdGhlIHdpZHRoIG9mIGl0cyBjb250YWluZXIuXG4gICAqL1xuICBkZWZhdWx0V2lkdGg/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIHJlc2l6ZSB3aWR0aCBvZiB0aGUgZmx5b3V0IGNvbnRhaW5lci5cbiAgICogQGRlZmF1bHQgMzIwXG4gICAqL1xuICBtaW5XaWR0aD86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG1heGltdW0gcmVzaXplIHdpZHRoIG9mIHRoZSBmbHlvdXQgY29udGFpbmVyLlxuICAgKiBAZGVmYXVsdCBkZWZhdWx0V2lkdGhcbiAgICovXG4gIG1heFdpZHRoPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBEaXNwbGF5cyBhIHBlcm1hbGluayBidXR0b24gaW4gdGhlIGZseW91dCBoZWFkZXIgdGhhdCBuYXZpZ2F0ZXMgdXNlcnMgdG8gdGhlIFVSTFxuICAgKiAob3IgYXBwbGljYXRpb24gcm91dGUpIHJlcHJlc2VudGF0aXZlIG9mIHRoZSBmbHlvdXQncyBjb250ZW50cy5cbiAgICovXG4gIHBlcm1hbGluaz86IFNreUZseW91dFBlcm1hbGluaztcblxuICAvKipcbiAgICogRGlzcGxheXMgYSBjb25maWd1cmFibGUgYnV0dG9uIGluIHRoZSBmbHlvdXQgaGVhZGVyLlxuICAgKi9cbiAgcHJpbWFyeUFjdGlvbj86IFNreUZseW91dEFjdGlvbjtcblxuICAvKipcbiAgICogVGhlIGFycmF5IG9mIGN1c3RvbSBwcm92aWRlcnMgdG8gcGFzcyB0byB0aGUgY29tcG9uZW50J3MgY29uc3RydWN0b3IuXG4gICAqL1xuICBwcm92aWRlcnM/OiBhbnlbXTtcblxuICAvKipcbiAgICogV2hldGhlciB0byBkaXNwbGF5IGl0ZXJhdG9yIGJ1dHRvbnMgaW4gdGhlIGZseW91dCBoZWFkZXJcbiAgICogdG8gYWNjZXNzIHRoZSBuZXh0IGFuZCBwcmV2aW91cyByZWNvcmRzIGluIGEgcmVjb3JkIHNldC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNob3dJdGVyYXRvcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERpc2FibGVzIHRoZSBwcmV2aW91cyBpdGVyYXRvciBidXR0b24gaW4gdGhlIGZseW91dCBoZWFkZXIgdGhhdCBhY2Nlc3Nlc1xuICAgKiB0aGUgcHJldmlvdXMgcmVjb3JkIGluIGEgcmVjb3JkIHNldC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIGl0ZXJhdG9yUHJldmlvdXNCdXR0b25EaXNhYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERpc2FibGVzIHRoZSBuZXh0IGl0ZXJhdG9yIGJ1dHRvbiBpbiB0aGUgZmx5b3V0IGhlYWRlciB0aGF0IGFjY2Vzc2VzIHRoZSBuZXh0IHJlY29yZFxuICAgKiBpbiBhIHJlY29yZCBzZXQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBpdGVyYXRvck5leHRCdXR0b25EaXNhYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUga2V5IGZvciB0aGUgVUkgQ29uZmlnIFNlcnZpY2UgdG8gcmV0cmlldmUgc3RvcmVkIHNldHRpbmdzIGZyb20gYSBkYXRhYmFzZS5cbiAgICogVGhlIFVJIENvbmZpZyBTZXJ2aWNlIHNhdmVzIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MgZm9yIHVzZXJzIHRvIHByZXNlcnZlIHRoZSB3aWR0aCBvZlxuICAgKiB0aGUgZmx5b3V0LiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgVUkgQ29uZmlnIFNlcnZpY2UsXG4gICAqIHNlZSBbdGhlIHN0aWNreSBzZXR0aW5ncyBkb2N1bWVudGF0aW9uXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2dldC1zdGFydGVkL3N0aWNreS1zZXR0aW5ncykuXG4gICAqL1xuICBzZXR0aW5nc0tleT86IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LXBlcm1hbGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC90eXBlcy9mbHlvdXQtcGVybWFsaW5rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOYXZpZ2F0aW9uRXh0cmFzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuZXhwb3J0IGludGVyZmFjZSBTa3lGbHlvdXRQZXJtYWxpbmsge1xuICAvKipcbiAgICogVGhlIHRleHQgbGFiZWwgZm9yIHRoZSBwZXJtYWxpbmsgYnV0dG9uLlxuICAgKi9cbiAgbGFiZWw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBvYmplY3QgdGhhdCByZXByZXNlbnRzIHRoZVxuICAgKiBbQW5ndWxhciBhcHBsaWNhdGlvbiByb3V0ZV0oaHR0cHM6Ly9hbmd1bGFyLmlvL2FwaS9yb3V0ZXIvUm91dGVyI25hdmlnYXRlKS5cbiAgICogVGhlIG9iamVjdCBpbmNsdWRlcyB0d28gcHJvcGVydGllcyB0aGF0IGFyZSBtYXBwZWQgdG8gQW5ndWxhcidzXG4gICAqIGBSb3V0ZXIubmF2aWdhdGUoY29tbWFuZHMsIGV4dHJhcz8pYCBtZXRob2QuXG4gICAqL1xuICByb3V0ZT86IHtcbiAgICBjb21tYW5kczogYW55W107XG4gICAgZXh0cmFzPzogTmF2aWdhdGlvbkV4dHJhcztcbiAgfTtcblxuICAvKipcbiAgICogVGhlIGV4dGVybmFsIFVSTCBmb3IgdGhlIHBlcm1hbGluay5cbiAgICovXG4gIHVybD86IHN0cmluZztcbn1cbiJdfQ==
|