@snabcentr/client-ui 0.16.2 → 0.17.0
Sign up to get free protection for your applications and to get access to all the features.
- package/catalog/price-card/sc-price-card.component.d.ts +31 -22
- package/catalog/sc-catalog.module.d.ts +1 -1
- package/esm2020/catalog/price-card/sc-price-card.component.mjs +31 -13
- package/esm2020/catalog/sc-catalog.module.mjs +7 -4
- package/esm2020/files/files-and-documents/files-and-documents.component.mjs +60 -0
- package/esm2020/files/files-and-documents.module.mjs +7 -7
- package/esm2020/files/index.mjs +3 -3
- package/esm2020/public-api.mjs +2 -2
- package/esm2020/tokens/index.mjs +2 -1
- package/esm2020/tokens/sc-min-length-search-term.mjs +6 -0
- package/fesm2015/snabcentr-client-ui.mjs +44 -21
- package/fesm2015/snabcentr-client-ui.mjs.map +1 -1
- package/fesm2020/snabcentr-client-ui.mjs +43 -20
- package/fesm2020/snabcentr-client-ui.mjs.map +1 -1
- package/files/{files-and-documents.component.d.ts → files-and-documents/files-and-documents.component.d.ts} +2 -2
- package/files/files-and-documents.module.d.ts +1 -1
- package/files/index.d.ts +2 -2
- package/package.json +1 -1
- package/public-api.d.ts +1 -1
- package/styles/tailwind/tailwind.scss +6 -9
- package/tokens/index.d.ts +1 -0
- package/tokens/sc-min-length-search-term.d.ts +5 -0
- package/esm2020/files/files-and-documents.component.mjs +0 -60
@@ -1,7 +1,7 @@
|
|
1
1
|
import { ScFilesService } from '@snabcentr/client-core';
|
2
2
|
import { Observable } from 'rxjs';
|
3
|
-
import {
|
4
|
-
import {
|
3
|
+
import { TreeNode } from '../interfaces/tree-node';
|
4
|
+
import { TreeIconService } from '../services/tree-icon.service';
|
5
5
|
import * as i0 from "@angular/core";
|
6
6
|
/**
|
7
7
|
* Компонент файлов и документов.
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import * as i0 from "@angular/core";
|
2
|
-
import * as i1 from "./files-and-documents.component";
|
2
|
+
import * as i1 from "./files-and-documents/files-and-documents.component";
|
3
3
|
import * as i2 from "./directives/tree.directive";
|
4
4
|
import * as i3 from "./directives/tree-top.directive";
|
5
5
|
import * as i4 from "./file-tree-item/file-tree-item.component";
|
package/files/index.d.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
export * from './files-and-documents.component';
|
2
|
-
export * from './files-and-documents.module';
|
1
|
+
export * from './files-and-documents/files-and-documents.component';
|
3
2
|
export * from './services';
|
4
3
|
export * from './directives';
|
5
4
|
export * from './interfaces/tree-node';
|
5
|
+
export * from './files-and-documents.module';
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
@@ -772,6 +772,11 @@ video {
|
|
772
772
|
display: none;
|
773
773
|
}
|
774
774
|
|
775
|
+
.size-6 {
|
776
|
+
width: 1.5rem;
|
777
|
+
height: 1.5rem;
|
778
|
+
}
|
779
|
+
|
775
780
|
.\!h-20 {
|
776
781
|
height: 5rem !important;
|
777
782
|
}
|
@@ -836,10 +841,6 @@ video {
|
|
836
841
|
height: 14rem;
|
837
842
|
}
|
838
843
|
|
839
|
-
.h-6 {
|
840
|
-
height: 1.5rem;
|
841
|
-
}
|
842
|
-
|
843
844
|
.h-8 {
|
844
845
|
height: 2rem;
|
845
846
|
}
|
@@ -896,10 +897,6 @@ video {
|
|
896
897
|
width: 10rem;
|
897
898
|
}
|
898
899
|
|
899
|
-
.w-6 {
|
900
|
-
width: 1.5rem;
|
901
|
-
}
|
902
|
-
|
903
900
|
.w-8 {
|
904
901
|
width: 2rem;
|
905
902
|
}
|
@@ -912,7 +909,7 @@ video {
|
|
912
909
|
width: 100%;
|
913
910
|
}
|
914
911
|
|
915
|
-
.min-w
|
912
|
+
.min-w-40 {
|
916
913
|
min-width: 10rem;
|
917
914
|
}
|
918
915
|
|
package/tokens/index.d.ts
CHANGED
@@ -1,60 +0,0 @@
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';
|
2
|
-
import { TUI_TREE_LOADING, TUI_TREE_LOADER } from '@taiga-ui/kit';
|
3
|
-
import { map } from 'rxjs';
|
4
|
-
import { TreeLoaderService } from './services/tree-loader.service';
|
5
|
-
import * as i0 from "@angular/core";
|
6
|
-
import * as i1 from "./services/tree-icon.service";
|
7
|
-
import * as i2 from "@snabcentr/client-core";
|
8
|
-
import * as i3 from "@angular/common";
|
9
|
-
import * as i4 from "@taiga-ui/kit";
|
10
|
-
import * as i5 from "@taiga-ui/core";
|
11
|
-
import * as i6 from "./directives/tree.directive";
|
12
|
-
import * as i7 from "./directives/tree-top.directive";
|
13
|
-
/**
|
14
|
-
* Компонент файлов и документов.
|
15
|
-
*/
|
16
|
-
export class FilesAndDocumentsComponent {
|
17
|
-
/**
|
18
|
-
* Инициализирует экземпляр класса {@link FilesAndDocumentsComponent}.
|
19
|
-
*
|
20
|
-
* @param loading Объект отвечающий за значок загрузки, в момент раскрытия элемента дерева.
|
21
|
-
* @param iconService Сервис для определения и назначения значка элементу дерева.
|
22
|
-
* @param filesService Сервис для загрузки файлов.
|
23
|
-
*/
|
24
|
-
constructor(loading, iconService, filesService) {
|
25
|
-
this.loading = loading;
|
26
|
-
this.iconService = iconService;
|
27
|
-
this.filesService = filesService;
|
28
|
-
/**
|
29
|
-
* Данные визуализации и их начальное получение.
|
30
|
-
*/
|
31
|
-
this.data$ = this.filesService.getFiles().pipe(map((data) => data.map((item) => ({
|
32
|
-
text: item.name,
|
33
|
-
icon: this.iconService.getIconName(item),
|
34
|
-
hasChildren: this.iconService.hasChildren(item),
|
35
|
-
createdAt: item.createdAt,
|
36
|
-
id: item.id,
|
37
|
-
link: item.link
|
38
|
-
}))));
|
39
|
-
}
|
40
|
-
}
|
41
|
-
FilesAndDocumentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FilesAndDocumentsComponent, deps: [{ token: TUI_TREE_LOADING }, { token: i1.TreeIconService }, { token: i2.ScFilesService }], target: i0.ɵɵFactoryTarget.Component });
|
42
|
-
FilesAndDocumentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FilesAndDocumentsComponent, selector: "sc-files-and-documents", providers: [
|
43
|
-
{
|
44
|
-
provide: TUI_TREE_LOADER,
|
45
|
-
useClass: TreeLoaderService
|
46
|
-
}
|
47
|
-
], ngImport: i0, template: "<ng-container *ngIf=\"data$ | async as data; else skeleton\">\n <tui-tree\n *ngFor=\"let node of data\"\n #tree=\"scTree\"\n scTree\n [scTopNodeText]=\"node.text\"\n [scTopNodeIcon]=\"node.icon\"\n [scTopNodeLink]=\"node.link\"\n [scTopNodeChilds]=\"node.hasChildren\"\n [scTopNodeParent]=\"node.id\"\n [scTopNodeDate]=\"node.createdAt\"\n [childrenHandler]=\"tree.childrenHandler\"\n [content]=\"content\"\n [map]=\"tree.map\"\n [tuiTreeController]=\"false\"\n [value]=\"tree.service.data$ | async\"\n (toggled)=\"tree.onToggled($event)\"\n class=\"overflow-hidden\"\n ></tui-tree>\n</ng-container>\n\n<ng-template #content let-item>\n <tui-loader *ngIf=\"item === loading; else text\" class=\"w-8 my-4\"></tui-loader>\n <ng-template #text>\n <tui-svg [src]=\"item.icon\" class=\"tui-space_right-2\"></tui-svg>\n <a tuiLink [pseudo]=\"true\" *ngIf=\"item.link\" href=\"{{ item.link }}\" class=\"grow\">{{ item.text }}</a>\n <p *ngIf=\"!item.link\" class=\"grow\">{{ item.text }}</p>\n <p>{{ item.createdAt }}</p>\n </ng-template>\n</ng-template>\n\n<ng-template #skeleton>\n <div class=\"flex flex-col gap-2\">\n <div *ngFor=\"let _ of [].constructor(7)\" class=\"flex items-center gap-2\">\n <div class=\"tui-skeleton h-6 w-6\"></div>\n <div class=\"tui-skeleton h-4 w-40\"></div>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.TuiTreeComponent, selector: "tui-tree[value]", inputs: ["value", "trackBy", "content"] }, { kind: "directive", type: i4.TuiTreeChildrenDirective, selector: "tui-tree[childrenHandler]", inputs: ["childrenHandler"] }, { kind: "directive", type: i4.TuiTreeControllerDirective, selector: "[tuiTreeController][map]", inputs: ["tuiTreeController", "map"], outputs: ["toggled"], exportAs: ["tuiTreeController"] }, { kind: "component", type: i5.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { kind: "component", type: i5.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { kind: "component", type: i5.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }, { kind: "directive", type: i6.TreeDirective, selector: "[scTree]", exportAs: ["scTree"] }, { kind: "directive", type: i7.TreeTopDirective, selector: "[scTopNodeText]", inputs: ["scTopNodeText", "scTopNodeIcon", "scTopNodeLink", "scTopNodeChilds", "scTopNodeParent", "scTopNodeDate"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FilesAndDocumentsComponent, decorators: [{
|
49
|
-
type: Component,
|
50
|
-
args: [{ selector: 'sc-files-and-documents', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
51
|
-
{
|
52
|
-
provide: TUI_TREE_LOADER,
|
53
|
-
useClass: TreeLoaderService
|
54
|
-
}
|
55
|
-
], template: "<ng-container *ngIf=\"data$ | async as data; else skeleton\">\n <tui-tree\n *ngFor=\"let node of data\"\n #tree=\"scTree\"\n scTree\n [scTopNodeText]=\"node.text\"\n [scTopNodeIcon]=\"node.icon\"\n [scTopNodeLink]=\"node.link\"\n [scTopNodeChilds]=\"node.hasChildren\"\n [scTopNodeParent]=\"node.id\"\n [scTopNodeDate]=\"node.createdAt\"\n [childrenHandler]=\"tree.childrenHandler\"\n [content]=\"content\"\n [map]=\"tree.map\"\n [tuiTreeController]=\"false\"\n [value]=\"tree.service.data$ | async\"\n (toggled)=\"tree.onToggled($event)\"\n class=\"overflow-hidden\"\n ></tui-tree>\n</ng-container>\n\n<ng-template #content let-item>\n <tui-loader *ngIf=\"item === loading; else text\" class=\"w-8 my-4\"></tui-loader>\n <ng-template #text>\n <tui-svg [src]=\"item.icon\" class=\"tui-space_right-2\"></tui-svg>\n <a tuiLink [pseudo]=\"true\" *ngIf=\"item.link\" href=\"{{ item.link }}\" class=\"grow\">{{ item.text }}</a>\n <p *ngIf=\"!item.link\" class=\"grow\">{{ item.text }}</p>\n <p>{{ item.createdAt }}</p>\n </ng-template>\n</ng-template>\n\n<ng-template #skeleton>\n <div class=\"flex flex-col gap-2\">\n <div *ngFor=\"let _ of [].constructor(7)\" class=\"flex items-center gap-2\">\n <div class=\"tui-skeleton h-6 w-6\"></div>\n <div class=\"tui-skeleton h-4 w-40\"></div>\n </div>\n </div>\n</ng-template>\n" }]
|
56
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
57
|
-
type: Inject,
|
58
|
-
args: [TUI_TREE_LOADING]
|
59
|
-
}] }, { type: i1.TreeIconService }, { type: i2.ScFilesService }]; } });
|
60
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXMtYW5kLWRvY3VtZW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvZmlsZXMvZmlsZXMtYW5kLWRvY3VtZW50cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvZmlsZXMvZmlsZXMtYW5kLWRvY3VtZW50cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxFLE9BQU8sRUFBYyxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7OztBQUduRTs7R0FFRztBQVlILE1BQU0sT0FBTywwQkFBMEI7SUFpQm5DOzs7Ozs7T0FNRztJQUNILFlBQTZELE9BQWdCLEVBQWtCLFdBQTRCLEVBQW1CLFlBQTRCO1FBQTdHLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFBa0IsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBQW1CLGlCQUFZLEdBQVosWUFBWSxDQUFnQjtRQXZCMUs7O1dBRUc7UUFDSSxVQUFLLEdBQTJCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUNwRSxHQUFHLENBQUMsQ0FBQyxJQUFzQixFQUFFLEVBQUUsQ0FDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNoQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ3hDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7WUFDL0MsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNYLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtTQUNsQixDQUFDLENBQUMsQ0FDTixDQUNKLENBQUM7SUFTMkssQ0FBQzs7dUhBeEJySywwQkFBMEIsa0JBd0JSLGdCQUFnQjsyR0F4QmxDLDBCQUEwQixpREFQeEI7UUFDUDtZQUNJLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLFFBQVEsRUFBRSxpQkFBaUI7U0FDOUI7S0FDSiwwQkNwQkwsNitDQXVDQTsyRkRqQmEsMEJBQTBCO2tCQVh0QyxTQUFTOytCQUNJLHdCQUF3QixtQkFFakIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsZUFBZTs0QkFDeEIsUUFBUSxFQUFFLGlCQUFpQjt5QkFDOUI7cUJBQ0o7OzBCQTBCbUIsTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRVSV9UUkVFX0xPQURJTkcsIFRVSV9UUkVFX0xPQURFUiB9IGZyb20gJ0B0YWlnYS11aS9raXQnO1xuaW1wb3J0IHsgU2NEb2N1bWVudEluZm8sIFNjRmlsZXNTZXJ2aWNlIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRyZWVJY29uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdHJlZS1pY29uLnNlcnZpY2UnO1xuaW1wb3J0IHsgVHJlZUxvYWRlclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3RyZWUtbG9hZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVHJlZU5vZGUgfSBmcm9tICcuL2ludGVyZmFjZXMvdHJlZS1ub2RlJztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0YTQsNC50LvQvtCyINC4INC00L7QutGD0LzQtdC90YLQvtCyLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLWZpbGVzLWFuZC1kb2N1bWVudHMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWxlcy1hbmQtZG9jdW1lbnRzLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX1RSRUVfTE9BREVSLFxuICAgICAgICAgICAgdXNlQ2xhc3M6IFRyZWVMb2FkZXJTZXJ2aWNlXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVzQW5kRG9jdW1lbnRzQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiDQlNCw0L3QvdGL0LUg0LLQuNC30YPQsNC70LjQt9Cw0YbQuNC4INC4INC40YUg0L3QsNGH0LDQu9GM0L3QvtC1INC/0L7Qu9GD0YfQtdC90LjQtS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZGF0YSQ6IE9ic2VydmFibGU8VHJlZU5vZGVbXT4gPSB0aGlzLmZpbGVzU2VydmljZS5nZXRGaWxlcygpLnBpcGUoXG4gICAgICAgIG1hcCgoZGF0YTogU2NEb2N1bWVudEluZm9bXSkgPT5cbiAgICAgICAgICAgIGRhdGEubWFwKChpdGVtKSA9PiAoe1xuICAgICAgICAgICAgICAgIHRleHQ6IGl0ZW0ubmFtZSxcbiAgICAgICAgICAgICAgICBpY29uOiB0aGlzLmljb25TZXJ2aWNlLmdldEljb25OYW1lKGl0ZW0pLFxuICAgICAgICAgICAgICAgIGhhc0NoaWxkcmVuOiB0aGlzLmljb25TZXJ2aWNlLmhhc0NoaWxkcmVuKGl0ZW0pLFxuICAgICAgICAgICAgICAgIGNyZWF0ZWRBdDogaXRlbS5jcmVhdGVkQXQsXG4gICAgICAgICAgICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICAgICAgICAgICAgbGluazogaXRlbS5saW5rXG4gICAgICAgICAgICB9KSlcbiAgICAgICAgKVxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIEZpbGVzQW5kRG9jdW1lbnRzQ29tcG9uZW50fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBsb2FkaW5nINCe0LHRitC10LrRgiDQvtGC0LLQtdGH0LDRjtGJ0LjQuSDQt9CwINC30L3QsNGH0L7QuiDQt9Cw0LPRgNGD0LfQutC4LCDQsiDQvNC+0LzQtdC90YIg0YDQsNGB0LrRgNGL0YLQuNGPINGN0LvQtdC80LXQvdGC0LAg0LTQtdGA0LXQstCwLlxuICAgICAqIEBwYXJhbSBpY29uU2VydmljZSDQodC10YDQstC40YEg0LTQu9GPINC+0L/RgNC10LTQtdC70LXQvdC40Y8g0Lgg0L3QsNC30L3QsNGH0LXQvdC40Y8g0LfQvdCw0YfQutCwINGN0LvQtdC80LXQvdGC0YMg0LTQtdGA0LXQstCwLlxuICAgICAqIEBwYXJhbSBmaWxlc1NlcnZpY2Ug0KHQtdGA0LLQuNGBINC00LvRjyDQt9Cw0LPRgNGD0LfQutC4INGE0LDQudC70L7Qsi5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoQEluamVjdChUVUlfVFJFRV9MT0FESU5HKSBwdWJsaWMgcmVhZG9ubHkgbG9hZGluZzogdW5rbm93biwgcHVibGljIHJlYWRvbmx5IGljb25TZXJ2aWNlOiBUcmVlSWNvblNlcnZpY2UsIHByaXZhdGUgcmVhZG9ubHkgZmlsZXNTZXJ2aWNlOiBTY0ZpbGVzU2VydmljZSkge31cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhJCB8IGFzeW5jIGFzIGRhdGE7IGVsc2Ugc2tlbGV0b25cIj5cbiAgICA8dHVpLXRyZWVcbiAgICAgICAgKm5nRm9yPVwibGV0IG5vZGUgb2YgZGF0YVwiXG4gICAgICAgICN0cmVlPVwic2NUcmVlXCJcbiAgICAgICAgc2NUcmVlXG4gICAgICAgIFtzY1RvcE5vZGVUZXh0XT1cIm5vZGUudGV4dFwiXG4gICAgICAgIFtzY1RvcE5vZGVJY29uXT1cIm5vZGUuaWNvblwiXG4gICAgICAgIFtzY1RvcE5vZGVMaW5rXT1cIm5vZGUubGlua1wiXG4gICAgICAgIFtzY1RvcE5vZGVDaGlsZHNdPVwibm9kZS5oYXNDaGlsZHJlblwiXG4gICAgICAgIFtzY1RvcE5vZGVQYXJlbnRdPVwibm9kZS5pZFwiXG4gICAgICAgIFtzY1RvcE5vZGVEYXRlXT1cIm5vZGUuY3JlYXRlZEF0XCJcbiAgICAgICAgW2NoaWxkcmVuSGFuZGxlcl09XCJ0cmVlLmNoaWxkcmVuSGFuZGxlclwiXG4gICAgICAgIFtjb250ZW50XT1cImNvbnRlbnRcIlxuICAgICAgICBbbWFwXT1cInRyZWUubWFwXCJcbiAgICAgICAgW3R1aVRyZWVDb250cm9sbGVyXT1cImZhbHNlXCJcbiAgICAgICAgW3ZhbHVlXT1cInRyZWUuc2VydmljZS5kYXRhJCB8IGFzeW5jXCJcbiAgICAgICAgKHRvZ2dsZWQpPVwidHJlZS5vblRvZ2dsZWQoJGV2ZW50KVwiXG4gICAgICAgIGNsYXNzPVwib3ZlcmZsb3ctaGlkZGVuXCJcbiAgICA+PC90dWktdHJlZT5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnQgbGV0LWl0ZW0+XG4gICAgPHR1aS1sb2FkZXIgKm5nSWY9XCJpdGVtID09PSBsb2FkaW5nOyBlbHNlIHRleHRcIiBjbGFzcz1cInctOCBteS00XCI+PC90dWktbG9hZGVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjdGV4dD5cbiAgICAgICAgPHR1aS1zdmcgW3NyY109XCJpdGVtLmljb25cIiBjbGFzcz1cInR1aS1zcGFjZV9yaWdodC0yXCI+PC90dWktc3ZnPlxuICAgICAgICA8YSB0dWlMaW5rIFtwc2V1ZG9dPVwidHJ1ZVwiICpuZ0lmPVwiaXRlbS5saW5rXCIgaHJlZj1cInt7IGl0ZW0ubGluayB9fVwiIGNsYXNzPVwiZ3Jvd1wiPnt7IGl0ZW0udGV4dCB9fTwvYT5cbiAgICAgICAgPHAgKm5nSWY9XCIhaXRlbS5saW5rXCIgY2xhc3M9XCJncm93XCI+e3sgaXRlbS50ZXh0IH19PC9wPlxuICAgICAgICA8cD57eyBpdGVtLmNyZWF0ZWRBdCB9fTwvcD5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNza2VsZXRvbj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtMlwiPlxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBfIG9mIFtdLmNvbnN0cnVjdG9yKDcpXCIgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR1aS1za2VsZXRvbiBoLTYgdy02XCI+PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHVpLXNrZWxldG9uIGgtNCB3LTQwXCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|