@mintplayer/ng-bootstrap 15.24.1 → 15.25.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/dock/src/dock/dock.component.d.ts +3 -1
- package/dock/src/dock-panel-header/dock-panel-header.component.d.ts +5 -4
- package/dock/src/index.d.ts +1 -0
- package/dock/src/panes/content-pane.d.ts +1 -0
- package/dock/src/panes/dock-pane.d.ts +1 -0
- package/dock/src/panes/document-host-pane.d.ts +1 -0
- package/dock/src/panes/floating-pane.d.ts +2 -1
- package/dock/src/panes/split-pane.d.ts +1 -0
- package/dock/src/panes/tab-group-pane.d.ts +1 -0
- package/dock/src/services/dock/dock.service.d.ts +14 -0
- package/dock/src/services/index.d.ts +1 -0
- package/esm2020/dock/src/dock/dock.component.mjs +10 -2
- package/esm2020/dock/src/dock-panel-header/dock-panel-header.component.mjs +202 -96
- package/esm2020/dock/src/index.mjs +2 -1
- package/esm2020/dock/src/panes/content-pane.mjs +4 -1
- package/esm2020/dock/src/panes/dock-pane.mjs +1 -1
- package/esm2020/dock/src/panes/document-host-pane.mjs +4 -1
- package/esm2020/dock/src/panes/floating-pane.mjs +7 -2
- package/esm2020/dock/src/panes/split-pane.mjs +4 -1
- package/esm2020/dock/src/panes/tab-group-pane.mjs +4 -1
- package/esm2020/dock/src/services/dock/dock.service.mjs +56 -0
- package/esm2020/dock/src/services/index.mjs +2 -0
- package/esm2020/list-group/src/list-group-item/list-group-item.component.mjs +9 -7
- package/esm2020/resizable/src/resize-glyph/resize-glyph.directive.mjs +1 -1
- package/esm2020/treeview/index.mjs +2 -0
- package/esm2020/treeview/mintplayer-ng-bootstrap-treeview.mjs +5 -0
- package/esm2020/treeview/src/index.mjs +4 -0
- package/esm2020/treeview/src/treeview/treeview.component.mjs +46 -0
- package/esm2020/treeview/src/treeview-item/treeview-item.component.mjs +27 -0
- package/esm2020/treeview/src/treeview.module.mjs +21 -0
- package/fesm2015/mintplayer-ng-bootstrap-dock.mjs +287 -111
- package/fesm2015/mintplayer-ng-bootstrap-dock.mjs.map +1 -1
- package/fesm2015/mintplayer-ng-bootstrap-list-group.mjs +8 -6
- package/fesm2015/mintplayer-ng-bootstrap-list-group.mjs.map +1 -1
- package/fesm2015/mintplayer-ng-bootstrap-resizable.mjs.map +1 -1
- package/fesm2015/mintplayer-ng-bootstrap-treeview.mjs +93 -0
- package/fesm2015/mintplayer-ng-bootstrap-treeview.mjs.map +1 -0
- package/fesm2020/mintplayer-ng-bootstrap-dock.mjs +285 -111
- package/fesm2020/mintplayer-ng-bootstrap-dock.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap-list-group.mjs +8 -6
- package/fesm2020/mintplayer-ng-bootstrap-list-group.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap-resizable.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap-treeview.mjs +91 -0
- package/fesm2020/mintplayer-ng-bootstrap-treeview.mjs.map +1 -0
- package/list-group/src/list-group-item/list-group-item.component.d.ts +2 -4
- package/package.json +10 -2
- package/resizable/src/resize-glyph/resize-glyph.directive.d.ts +1 -1
- package/treeview/index.d.ts +1 -0
- package/treeview/src/index.d.ts +3 -0
- package/treeview/src/treeview/treeview.component.d.ts +16 -0
- package/treeview/src/treeview-item/treeview-item.component.d.ts +10 -0
- package/treeview/src/treeview.module.d.ts +11 -0
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { OnDestroy, QueryList } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject, Subject } from 'rxjs';
|
|
2
|
+
import { BehaviorSubject, Observable, Subject } from 'rxjs';
|
|
3
3
|
import { BsDockPanelComponent } from '../dock-panel/dock-panel.component';
|
|
4
4
|
import { BsDockLayout } from '../interfaces/dock-layout';
|
|
5
5
|
import { BsDockPaneRendererComponent } from '../dock-pane-renderer/dock-pane-renderer.component';
|
|
6
|
+
import { Parentified } from '@mintplayer/parentify';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
export declare class BsDockComponent implements OnDestroy {
|
|
8
9
|
constructor();
|
|
@@ -15,6 +16,7 @@ export declare class BsDockComponent implements OnDestroy {
|
|
|
15
16
|
set floatingPanes(value: QueryList<BsDockPaneRendererComponent>);
|
|
16
17
|
positionAbsolute: boolean;
|
|
17
18
|
positionPx: number;
|
|
19
|
+
parentifiedLayout$: Observable<Parentified<BsDockLayout>>;
|
|
18
20
|
destroyed$: Subject<unknown>;
|
|
19
21
|
ngOnDestroy(): void;
|
|
20
22
|
static ɵfac: i0.ɵɵFactoryDeclaration<BsDockComponent, never>;
|
|
@@ -2,20 +2,21 @@ import { ElementRef } from '@angular/core';
|
|
|
2
2
|
import { BsDockPanelComponent } from '../dock-panel/dock-panel.component';
|
|
3
3
|
import { BsDockComponent } from '../dock/dock.component';
|
|
4
4
|
import { BsDockPane } from '../panes/dock-pane';
|
|
5
|
-
import { RemoveFromPaneResult } from '../interfaces/remove-from-pane-result';
|
|
6
5
|
import { DragOperation } from '../interfaces/drag-operation';
|
|
6
|
+
import { BsDockService } from '../services/dock/dock.service';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export declare class BsDockPanelHeaderComponent {
|
|
9
9
|
private dockPanel;
|
|
10
10
|
private dock;
|
|
11
|
+
private dockService;
|
|
11
12
|
private element;
|
|
12
|
-
constructor(dockPanel: BsDockPanelComponent, dock: BsDockComponent, element: ElementRef<HTMLElement>);
|
|
13
|
+
constructor(dockPanel: BsDockPanelComponent, dock: BsDockComponent, dockService: BsDockService, element: ElementRef<HTMLElement>);
|
|
13
14
|
isMouseDown: boolean;
|
|
14
15
|
dragOperation?: DragOperation;
|
|
15
|
-
|
|
16
|
+
isDragging: boolean;
|
|
16
17
|
onMouseDown(ev: MouseEvent): void;
|
|
17
18
|
onMouseMove(ev: MouseEvent): void;
|
|
18
|
-
|
|
19
|
+
removeFromPaneBis(host: BsDockPane, pane: BsDockPane): void;
|
|
19
20
|
onMouseUp(ev: Event): void;
|
|
20
21
|
dBlock: boolean;
|
|
21
22
|
static ɵfac: i0.ɵɵFactoryDeclaration<BsDockPanelHeaderComponent, never>;
|
package/dock/src/index.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { BsDockPane } from "./dock-pane";
|
|
2
2
|
import { Point } from "../interfaces/point";
|
|
3
3
|
import { Size } from "../interfaces/size";
|
|
4
|
-
export declare class BsFloatingPane {
|
|
4
|
+
export declare class BsFloatingPane extends BsDockPane {
|
|
5
5
|
constructor(data?: Partial<BsFloatingPane>);
|
|
6
6
|
pane?: BsDockPane;
|
|
7
7
|
size?: Size;
|
|
8
8
|
location?: Point;
|
|
9
|
+
get isEmpty(): boolean;
|
|
9
10
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BsDockPane } from '../../panes/dock-pane';
|
|
2
|
+
import { BsDockLayout } from '../../interfaces/dock-layout';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class BsDockService {
|
|
5
|
+
buildTraces(layout: BsDockLayout): PaneTraceResult[];
|
|
6
|
+
private buildTracesPrivate;
|
|
7
|
+
private getChildPanes;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BsDockService, never>;
|
|
9
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<BsDockService>;
|
|
10
|
+
}
|
|
11
|
+
export interface PaneTraceResult {
|
|
12
|
+
trace: BsDockPane[];
|
|
13
|
+
finished: boolean;
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './dock/dock.service';
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { Component, ContentChildren, ViewChildren, Input, QueryList, HostBinding } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject, Subject, takeUntil } from 'rxjs';
|
|
2
|
+
import { BehaviorSubject, map, Subject, takeUntil } from 'rxjs';
|
|
3
3
|
import { BsDockPanelComponent } from '../dock-panel/dock-panel.component';
|
|
4
4
|
import { BsTabGroupPane } from '../panes/tab-group-pane';
|
|
5
5
|
import { BsDocumentHost } from '../panes/document-host-pane';
|
|
6
|
+
import { BsContentPane } from '../panes/content-pane';
|
|
7
|
+
import { BsFloatingPane } from '../panes/floating-pane';
|
|
8
|
+
import { BsSplitPane } from '../panes/split-pane';
|
|
9
|
+
import { deepClone } from '@mintplayer/parentify';
|
|
6
10
|
import * as i0 from "@angular/core";
|
|
7
11
|
import * as i1 from "@angular/common";
|
|
8
12
|
import * as i2 from "../dock-pane-renderer/dock-pane-renderer.component";
|
|
@@ -30,6 +34,10 @@ export class BsDockComponent {
|
|
|
30
34
|
.subscribe((floating) => {
|
|
31
35
|
floating.forEach((panel) => panel.moveToOverlay());
|
|
32
36
|
});
|
|
37
|
+
this.parentifiedLayout$ = this.layout$.pipe(map(layout => deepClone(layout, true,
|
|
38
|
+
// []
|
|
39
|
+
[BsContentPane, BsDocumentHost, BsFloatingPane, BsSplitPane, BsTabGroupPane], true)));
|
|
40
|
+
this.parentifiedLayout$.pipe(takeUntil(this.destroyed$)).subscribe(console.log);
|
|
33
41
|
}
|
|
34
42
|
set panels(value) {
|
|
35
43
|
this.panels$.next(value.toArray());
|
|
@@ -77,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
77
85
|
type: HostBinding,
|
|
78
86
|
args: ['style.right']
|
|
79
87
|
}] } });
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL2RvY2svc3JjL2RvY2svZG9jay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL2RvY2svc3JjL2RvY2svZG9jay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFFLGVBQWUsRUFBbUMsR0FBRyxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0csT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFHMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUdsRCxPQUFPLEVBQWUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFPL0QsTUFBTSxPQUFPLGVBQWU7SUFDMUI7UUErQkEsZ0JBQWdCO1FBQ2hCLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBeUIsRUFBRSxDQUFDLENBQUM7UUFhMUQsWUFBWTtRQUVaLGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBZ0MsRUFBRSxDQUFDLENBQUM7UUFNbkUscUJBQWdCLEdBQUcsSUFBSSxDQUFD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ZW4sIElucHV0LCBPbkRlc3Ryb3ksIFF1ZXJ5TGlzdCwgSG9zdEJpbmRpbmcgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgY29tYmluZUxhdGVzdEFsbCwgbWFwLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJzRG9ja1BhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vZG9jay1wYW5lbC9kb2NrLXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFUGFuZVR5cGUgfSBmcm9tICcuLi9lbnVtcy9wYW5lLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBCc0RvY2tMYXlvdXQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2RvY2stbGF5b3V0JztcbmltcG9ydCB7IEJzVGFiR3JvdXBQYW5lIH0gZnJvbSAnLi4vcGFuZXMvdGFiLWdyb3VwLXBhbmUnO1xuaW1wb3J0IHsgQnNEb2N1bWVudEhvc3QgfSBmcm9tICcuLi9wYW5lcy9kb2N1bWVudC1ob3N0LXBhbmUnO1xuaW1wb3J0IHsgQnNDb250ZW50UGFuZSB9IGZyb20gJy4uL3BhbmVzL2NvbnRlbnQtcGFuZSc7XG5pbXBvcnQgeyBCc0Zsb2F0aW5nUGFuZSB9IGZyb20gJy4uL3BhbmVzL2Zsb2F0aW5nLXBhbmUnO1xuaW1wb3J0IHsgQnNTcGxpdFBhbmUgfSBmcm9tICcuLi9wYW5lcy9zcGxpdC1wYW5lJztcbmltcG9ydCB7IEJzRG9ja1BhbmVSZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4uL2RvY2stcGFuZS1yZW5kZXJlci9kb2NrLXBhbmUtcmVuZGVyZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBQYXJlbnRpZmllZCwgZGVlcENsb25lIH0gZnJvbSAnQG1pbnRwbGF5ZXIvcGFyZW50aWZ5JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnMtZG9jaycsXG4gIHRlbXBsYXRlVXJsOiAnLi9kb2NrLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZG9jay5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJzRG9ja0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGNvbnN0IHRhYnMgPSBuZXcgQnNUYWJHcm91cFBhbmUoKTtcbiAgICBjb25zdCBkb2NIb3N0ID0gbmV3IEJzRG9jdW1lbnRIb3N0KCk7XG4gICAgZG9jSG9zdC5yb290UGFuZSA9IHRhYnM7XG5cbiAgICB0aGlzLmxheW91dCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEJzRG9ja0xheW91dD4oe1xuICAgICAgcm9vdFBhbmU6IGRvY0hvc3QsXG4gICAgICBmbG9hdGluZ1BhbmVzOiBbXVxuICAgIH0pO1xuXG4gICAgLy8gY29tYmluZUxhdGVzdChbdGhpcy5sYXlvdXQkLCB0aGlzLnBhbmVscyRdKVxuICAgIC8vICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCkpXG4gICAgLy8gICAuc3Vic2NyaWJlKChbbGF5b3V0LCBwYW5lbHNdKSA9PiB7XG4gICAgICAgIFxuICAgIC8vICAgfSlcblxuICAgIHRoaXMuZmxvYXRpbmckLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCkpXG4gICAgICAuc3Vic2NyaWJlKChmbG9hdGluZykgPT4ge1xuICAgICAgICBmbG9hdGluZy5mb3JFYWNoKChwYW5lbCkgPT4gcGFuZWwubW92ZVRvT3ZlcmxheSgpKTtcbiAgICAgIH0pO1xuICAgICAgXG4gICAgdGhpcy5wYXJlbnRpZmllZExheW91dCQgPSB0aGlzLmxheW91dCQucGlwZShtYXAobGF5b3V0ID0+IGRlZXBDbG9uZShcbiAgICAgIGxheW91dCwgdHJ1ZSxcbiAgICAgIC8vIFtdXG4gICAgICBbQnNDb250ZW50UGFuZSwgQnNEb2N1bWVudEhvc3QsIEJzRmxvYXRpbmdQYW5lLCBCc1NwbGl0UGFuZSwgQnNUYWJHcm91cFBhbmVdLFxuICAgICAgdHJ1ZVxuICAgICkpKTtcblxuICAgIHRoaXMucGFyZW50aWZpZWRMYXlvdXQkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCkpLnN1YnNjcmliZShjb25zb2xlLmxvZyk7XG4gIH1cblxuICAvLyNyZWdpb24gUGFuZWxzXG4gIHBhbmVscyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEJzRG9ja1BhbmVsQ29tcG9uZW50W10+KFtdKTtcbiAgQENvbnRlbnRDaGlsZHJlbihCc0RvY2tQYW5lbENvbXBvbmVudCkgc2V0IHBhbmVscyh2YWx1ZTogUXVlcnlMaXN0PEJzRG9ja1BhbmVsQ29tcG9uZW50Pikge1xuICAgIHRoaXMucGFuZWxzJC5uZXh0KHZhbHVlLnRvQXJyYXkoKSk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG4gIC8vI3JlZ2lvbiBMYXlvdXRcbiAgbGF5b3V0JDogQmVoYXZpb3JTdWJqZWN0PEJzRG9ja0xheW91dD47XG4gIHB1YmxpYyBnZXQgbGF5b3V0KCkge1xuICAgIHJldHVybiB0aGlzLmxheW91dCQudmFsdWU7XG4gIH1cbiAgQElucHV0KCkgcHVibGljIHNldCBsYXlvdXQodmFsdWU6IEJzRG9ja0xheW91dCkge1xuICAgIHRoaXMubGF5b3V0JC5uZXh0KHZhbHVlKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICBmbG9hdGluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEJzRG9ja1BhbmVSZW5kZXJlckNvbXBvbmVudFtdPihbXSk7XG4gIEBWaWV3Q2hpbGRyZW4oJ2Zsb2F0aW5nJykgc2V0IGZsb2F0aW5nUGFuZXModmFsdWU6IFF1ZXJ5TGlzdDxCc0RvY2tQYW5lUmVuZGVyZXJDb21wb25lbnQ+KSB7XG4gICAgdGhpcy5mbG9hdGluZyQubmV4dCh2YWx1ZS50b0FycmF5KCkpO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5wb3NpdGlvbi1hYnNvbHV0ZScpXG4gIHBvc2l0aW9uQWJzb2x1dGUgPSB0cnVlO1xuXG4gIEBIb3N0QmluZGluZygnc3R5bGUudG9wJylcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5sZWZ0JylcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5ib3R0b20nKVxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLnJpZ2h0JylcbiAgcG9zaXRpb25QeCA9IDA7XG5cbiAgcGFyZW50aWZpZWRMYXlvdXQkOiBPYnNlcnZhYmxlPFBhcmVudGlmaWVkPEJzRG9ja0xheW91dD4+O1xuXG4gIGRlc3Ryb3llZCQgPSBuZXcgU3ViamVjdCgpO1xuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCh0cnVlKTtcbiAgICB0aGlzLmZsb2F0aW5nJC52YWx1ZS5mb3JFYWNoKHBhbmVsID0+IHBhbmVsLmRpc3Bvc2VPdmVybGF5KCkpO1xuICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48bmctY29udGFpbmVyICpuZ0lmPVwiKGxheW91dCQgfCBhc3luYykgYXMgbGF5b3V0XCI+XG4gICAgPGJzLWRvY2stcGFuZS1yZW5kZXJlciBbbGF5b3V0XT1cImxheW91dC5yb290UGFuZVwiPjwvYnMtZG9jay1wYW5lLXJlbmRlcmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcGFuZSBvZiBsYXlvdXQuZmxvYXRpbmdQYW5lc1wiPlxuICAgICAgICA8YnMtZG9jay1wYW5lLXJlbmRlcmVyICNmbG9hdGluZyAqbmdJZj1cInBhbmUucGFuZVwiIFtsYXlvdXRdPVwicGFuZVwiPjwvYnMtZG9jay1wYW5lLXJlbmRlcmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG48IS0tIDxicy1zcGxpdHRlcj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcGFuZWwgb2YgKHBhbmVscyQgfCBhc3luYylcIj5cbiAgICAgICAgPGJzLXNwbGl0LXBhbmVsPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwicGFuZWwucG9ydGFsXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9icy1zcGxpdC1wYW5lbD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvYnMtc3BsaXR0ZXI+IC0tPlxuIl19
|