@acorex/components 7.5.1 → 7.8.0
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/badge/lib/badge.component.d.ts +3 -3
- package/button/lib/button-item.component.d.ts +3 -1
- package/calendar/lib/calendar.component.d.ts +6 -4
- package/chips/lib/chips.component.d.ts +1 -1
- package/collapse/lib/collapse.component.d.ts +15 -2
- package/collapse/lib/collapse.module.d.ts +2 -1
- package/common/index.d.ts +1 -0
- package/common/lib/classes/datalist.class.d.ts +0 -31
- package/common/lib/classes/datasource.class.d.ts +55 -0
- package/common/lib/classes/styles.class.d.ts +1 -1
- package/common/lib/components/interactive-component.class.d.ts +1 -7
- package/common/lib/components/selection-base.component.class.d.ts +4 -6
- package/common/lib/directives/ripple.directive.d.ts +2 -1
- package/datetime-box/lib/datetime-box.component.d.ts +2 -1
- package/datetime-input/lib/datetime-input.component.d.ts +2 -1
- package/esm2022/action-sheet/lib/action-sheet.component.mjs +2 -2
- package/esm2022/alert/lib/alert.component.mjs +4 -5
- package/esm2022/avatar/lib/avatar.component.mjs +4 -4
- package/esm2022/badge/lib/badge.component.mjs +6 -6
- package/esm2022/button/lib/button-item.component.mjs +12 -3
- package/esm2022/button/lib/button.component.mjs +2 -2
- package/esm2022/button-group/lib/button-group.component.mjs +2 -2
- package/esm2022/calendar/lib/calendar.class.mjs +1 -58
- package/esm2022/calendar/lib/calendar.component.mjs +27 -16
- package/esm2022/chips/lib/chips.component.mjs +4 -4
- package/esm2022/collapse/lib/collapse-group.component.mjs +8 -4
- package/esm2022/collapse/lib/collapse.component.mjs +63 -15
- package/esm2022/collapse/lib/collapse.module.mjs +5 -4
- package/esm2022/color-box/lib/color-box.module.mjs +1 -1
- package/esm2022/common/index.mjs +2 -1
- package/esm2022/common/lib/classes/datalist.class.mjs +2 -41
- package/esm2022/common/lib/classes/datasource.class.mjs +106 -0
- package/esm2022/common/lib/classes/styles.class.mjs +1 -1
- package/esm2022/common/lib/components/interactive-component.class.mjs +13 -13
- package/esm2022/common/lib/components/selection-base.component.class.mjs +55 -27
- package/esm2022/common/lib/directives/ripple.directive.mjs +14 -8
- package/esm2022/datetime-box/lib/datetime-box.component.mjs +6 -3
- package/esm2022/datetime-input/lib/datetime-input.component.mjs +11 -4
- package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +3 -3
- package/esm2022/list/lib/list.component.mjs +34 -60
- package/esm2022/menu/index.mjs +1 -2
- package/esm2022/menu/lib/class/root-menu.class.mjs +1 -1
- package/esm2022/menu/lib/menu-item/menu-item.component.mjs +60 -18
- package/esm2022/menu/lib/menu.component.mjs +37 -342
- package/esm2022/menu/lib/menu.module.mjs +3 -4
- package/esm2022/notification/lib/notification.component.mjs +2 -2
- package/esm2022/otp/lib/otp.component.mjs +4 -3
- package/esm2022/otp/lib/otp.module.mjs +4 -3
- package/esm2022/picker/lib/picker.component.mjs +2 -2
- package/esm2022/progress-bar/lib/progress-bar.component.mjs +2 -2
- package/esm2022/range-slider/lib/range-slider.component.mjs +2 -2
- package/esm2022/routing-progress/lib/routing-progress.component.mjs +3 -3
- package/esm2022/search-box/lib/search-box.component.mjs +5 -4
- package/esm2022/select-box/index.mjs +2 -2
- package/esm2022/select-box/lib/select-box.component.mjs +168 -308
- package/esm2022/select-box/lib/select-box.module.mjs +5 -6
- package/esm2022/selection-list/lib/selection-list.component.mjs +11 -1
- package/esm2022/side-menu/acorex-components-side-menu.mjs +5 -0
- package/esm2022/side-menu/index.mjs +4 -0
- package/esm2022/side-menu/lib/side-menu-item/side-menu-item.compoent.mjs +116 -0
- package/esm2022/side-menu/lib/side-menu.component.mjs +15 -0
- package/esm2022/side-menu/lib/side-menu.module.mjs +23 -0
- package/esm2022/skeleton/acorex-components-skeleton.mjs +5 -0
- package/esm2022/skeleton/index.mjs +3 -0
- package/esm2022/skeleton/lib/skeleton.component.mjs +24 -0
- package/esm2022/skeleton/lib/skeleton.module.mjs +18 -0
- package/esm2022/tabs/lib/tab-item.component.mjs +9 -2
- package/esm2022/tag/lib/tag.component.mjs +6 -12
- package/esm2022/toast/lib/toast.component.mjs +3 -3
- package/fesm2022/acorex-components-action-sheet.mjs +2 -2
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +3 -4
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs +3 -3
- package/fesm2022/acorex-components-avatar.mjs.map +1 -1
- package/fesm2022/acorex-components-badge.mjs +5 -5
- package/fesm2022/acorex-components-badge.mjs.map +1 -1
- package/fesm2022/acorex-components-button-group.mjs +2 -2
- package/fesm2022/acorex-components-button-group.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +13 -4
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +27 -73
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-chips.mjs +3 -3
- package/fesm2022/acorex-components-chips.mjs.map +1 -1
- package/fesm2022/acorex-components-collapse.mjs +74 -21
- package/fesm2022/acorex-components-collapse.mjs.map +1 -1
- package/fesm2022/acorex-components-color-box.mjs.map +1 -1
- package/fesm2022/acorex-components-common.mjs +161 -62
- package/fesm2022/acorex-components-common.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs +5 -2
- package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-input.mjs +10 -3
- package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs +2 -2
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +33 -59
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +78 -381
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +2 -2
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-otp.mjs +6 -4
- package/fesm2022/acorex-components-otp.mjs.map +1 -1
- package/fesm2022/acorex-components-picker.mjs +2 -2
- package/fesm2022/acorex-components-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-progress-bar.mjs +2 -2
- package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +2 -2
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-routing-progress.mjs +2 -2
- package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-search-box.mjs +4 -4
- package/fesm2022/acorex-components-search-box.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +96 -417
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +10 -0
- package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2022/acorex-components-side-menu.mjs +153 -0
- package/fesm2022/acorex-components-side-menu.mjs.map +1 -0
- package/fesm2022/acorex-components-skeleton.mjs +46 -0
- package/fesm2022/acorex-components-skeleton.mjs.map +1 -0
- package/fesm2022/acorex-components-tabs.mjs +8 -1
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag.mjs +5 -11
- package/fesm2022/acorex-components-tag.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +2 -2
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/list/lib/list.component.d.ts +11 -23
- package/menu/index.d.ts +0 -1
- package/menu/lib/class/root-menu.class.d.ts +2 -0
- package/menu/lib/menu-item/menu-item.component.d.ts +19 -6
- package/menu/lib/menu.component.d.ts +10 -40
- package/menu/lib/menu.module.d.ts +7 -8
- package/mixin/lib/base-components.class.d.ts +2 -2
- package/mixin/lib/base-menu-mixin.class.d.ts +5 -5
- package/mixin/lib/button-mixin.class.d.ts +2 -2
- package/mixin/lib/clickable-mixin.class.d.ts +2 -2
- package/mixin/lib/color-look-mixing.class.d.ts +2 -2
- package/mixin/lib/datalist-component.class.d.ts +10 -10
- package/mixin/lib/dropdown-mixin.class.d.ts +2 -2
- package/mixin/lib/interactive-mixin.class.d.ts +4 -4
- package/mixin/lib/mixin.class.d.ts +61 -61
- package/mixin/lib/page-component.class.d.ts +2 -2
- package/mixin/lib/selection-component.class.d.ts +2 -2
- package/mixin/lib/sizable-mixin.class.d.ts +2 -2
- package/mixin/lib/textbox-mixin.class.d.ts +2 -2
- package/mixin/lib/value-mixin.class.d.ts +8 -8
- package/otp/lib/otp.module.d.ts +2 -1
- package/package.json +13 -7
- package/search-box/lib/search-box.component.d.ts +2 -1
- package/select-box/index.d.ts +1 -1
- package/select-box/lib/select-box.component.d.ts +37 -59
- package/select-box/lib/select-box.module.d.ts +14 -15
- package/selection-list/lib/selection-list.component.d.ts +3 -0
- package/side-menu/README.md +3 -0
- package/side-menu/index.d.ts +3 -0
- package/side-menu/lib/side-menu-item/side-menu-item.compoent.d.ts +37 -0
- package/side-menu/lib/side-menu.component.d.ts +8 -0
- package/side-menu/lib/side-menu.module.d.ts +10 -0
- package/skeleton/README.md +3 -0
- package/skeleton/index.d.ts +2 -0
- package/skeleton/lib/skeleton.component.d.ts +8 -0
- package/skeleton/lib/skeleton.module.d.ts +8 -0
- package/tabs/lib/tab-item.component.d.ts +2 -1
- package/tag/lib/tag.component.d.ts +3 -4
- package/context-menu/README.md +0 -3
- package/context-menu/index.d.ts +0 -2
- package/context-menu/lib/context-menu.component.d.ts +0 -34
- package/context-menu/lib/context-menu.module.d.ts +0 -13
- package/esm2022/context-menu/acorex-components-context-menu.mjs +0 -5
- package/esm2022/context-menu/index.mjs +0 -3
- package/esm2022/context-menu/lib/context-menu.component.mjs +0 -262
- package/esm2022/context-menu/lib/context-menu.module.mjs +0 -26
- package/esm2022/menu/lib/menu2.component.mjs +0 -45
- package/esm2022/select-box/lib/select-box2.component.mjs +0 -191
- package/fesm2022/acorex-components-context-menu.mjs +0 -290
- package/fesm2022/acorex-components-context-menu.mjs.map +0 -1
- package/menu/lib/menu2.component.d.ts +0 -12
- package/select-box/lib/select-box2.component.d.ts +0 -44
@@ -1,8 +1,8 @@
|
|
1
|
-
import {
|
1
|
+
import { MXColorLookComponent } from '@acorex/components/common';
|
2
2
|
import * as i0 from "@angular/core";
|
3
|
-
export declare class AXBadgeComponent extends
|
3
|
+
export declare class AXBadgeComponent extends MXColorLookComponent {
|
4
4
|
text: string;
|
5
5
|
private get __hostClass();
|
6
6
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXBadgeComponent, never>;
|
7
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AXBadgeComponent, "ax-badge", never, { "color": { "alias": "color"; "required": false; }; "text": { "alias": "text"; "required": false; }; }, {}, never, ["ax-prefix", "ax-suffix"], false, never>;
|
7
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AXBadgeComponent, "ax-badge", never, { "color": { "alias": "color"; "required": false; }; "look": { "alias": "look"; "required": false; }; "text": { "alias": "text"; "required": false; }; }, {}, never, ["ax-prefix", "ax-suffix"], false, never>;
|
8
8
|
}
|
@@ -1,4 +1,5 @@
|
|
1
|
-
import { MXColorComponent, MXInteractiveComponent } from '@acorex/components/common';
|
1
|
+
import { AXClickEvent, MXColorComponent, MXInteractiveComponent } from '@acorex/components/common';
|
2
|
+
import { EventEmitter } from '@angular/core';
|
2
3
|
import * as i0 from "@angular/core";
|
3
4
|
declare const AXButtonItemComponent_base: import("polytype").Polytype.ClusteredConstructor<[typeof MXInteractiveComponent, typeof MXColorComponent]>;
|
4
5
|
export declare class AXButtonItemComponent extends AXButtonItemComponent_base {
|
@@ -9,6 +10,7 @@ export declare class AXButtonItemComponent extends AXButtonItemComponent_base {
|
|
9
10
|
divided: boolean;
|
10
11
|
data: unknown;
|
11
12
|
name: string;
|
13
|
+
onClick: EventEmitter<AXClickEvent>;
|
12
14
|
private __hostClick;
|
13
15
|
private __hostFocus;
|
14
16
|
private __hostBlur;
|
@@ -1,6 +1,7 @@
|
|
1
|
-
import { AXClickEvent,
|
1
|
+
import { AXClickEvent, MXComponentOptionChanged, MXInteractiveComponent, MXValueComponent } from '@acorex/components/common';
|
2
2
|
import { AXDateTime, AXDateTimeRange } from '@acorex/core/dateTime';
|
3
3
|
import { AXCalendarView, AXCalendarViewSlot, AXCalendarViewType, MXCalendarBaseComponent } from './calendar.class';
|
4
|
+
import { AXUnsubscriber } from '@acorex/core/utils';
|
4
5
|
import * as i0 from "@angular/core";
|
5
6
|
declare const AXCalendarComponent_base: import("polytype").Polytype.ClusteredConstructor<[{
|
6
7
|
new (): MXValueComponent<Date>;
|
@@ -18,17 +19,18 @@ export declare class AXCalendarComponent extends AXCalendarComponent_base {
|
|
18
19
|
protected _dayNames: string[];
|
19
20
|
private _initValues;
|
20
21
|
private _refresh;
|
21
|
-
constructor();
|
22
|
+
constructor(unsubscriber: AXUnsubscriber);
|
22
23
|
protected ngOnInit(): void;
|
23
24
|
protected ngAfterViewInit(): void;
|
25
|
+
protected ngOnDestroy(): void;
|
24
26
|
render(): void;
|
25
27
|
protected _handlePrevClick(): void;
|
26
28
|
protected _handleNextClick(): void;
|
27
29
|
protected _handleSlotClick(e: MouseEvent, slot: AXCalendarViewSlot): void;
|
28
30
|
protected _handleNavClick(e: AXClickEvent | any, view: AXCalendarViewType): void;
|
29
31
|
toggleView(): void;
|
30
|
-
protected
|
31
|
-
|
32
|
+
protected internalOptionChanged(e: MXComponentOptionChanged): void;
|
33
|
+
protected internalValueChanged(value?: Date): void;
|
32
34
|
protected _handleGoToday(): void;
|
33
35
|
next(): void;
|
34
36
|
prev(): void;
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { MXColorComponent } from '@acorex/components/common';
|
2
2
|
import * as i0 from "@angular/core";
|
3
3
|
export declare class AXChipsComponent extends MXColorComponent {
|
4
|
-
look: '
|
4
|
+
look: 'solid' | 'outline' | 'twotone';
|
5
5
|
text: string;
|
6
6
|
constructor();
|
7
7
|
private get __hostClass();
|
@@ -1,12 +1,15 @@
|
|
1
1
|
import { AXClickEvent, MXInteractiveComponent } from '@acorex/components/common';
|
2
2
|
import { EventEmitter, TemplateRef } from '@angular/core';
|
3
3
|
import * as i0 from "@angular/core";
|
4
|
+
export declare class AXCollapseClickEvent extends AXClickEvent {
|
5
|
+
handled: boolean;
|
6
|
+
}
|
4
7
|
export declare class AXCollapseComponent extends MXInteractiveComponent {
|
5
8
|
/**
|
6
9
|
* Fires each time the user clicks the panel header.
|
7
10
|
* @event
|
8
11
|
*/
|
9
|
-
onClick: EventEmitter<
|
12
|
+
onClick: EventEmitter<AXCollapseClickEvent>;
|
10
13
|
isCollapsedChange: EventEmitter<any>;
|
11
14
|
private _isCollapsed;
|
12
15
|
/**
|
@@ -16,8 +19,18 @@ export declare class AXCollapseComponent extends MXInteractiveComponent {
|
|
16
19
|
set isCollapsed(v: boolean);
|
17
20
|
caption: string;
|
18
21
|
icon: string;
|
22
|
+
private _isLoading;
|
23
|
+
/**
|
24
|
+
* Providing a boolean value for its collapse state
|
25
|
+
*/
|
26
|
+
get isLoading(): boolean;
|
27
|
+
set isLoading(v: boolean);
|
19
28
|
headerTemplate: TemplateRef<any>;
|
20
29
|
handleHeaderClick(e: MouseEvent): void;
|
30
|
+
open(): void;
|
31
|
+
close(): void;
|
32
|
+
toggle(): void;
|
33
|
+
get __hostClass(): string[];
|
21
34
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXCollapseComponent, never>;
|
22
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AXCollapseComponent, "ax-collapse", never, { "isCollapsed": { "alias": "isCollapsed"; "required": false; }; "caption": { "alias": "caption"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "headerTemplate": { "alias": "headerTemplate"; "required": false; }; }, { "isCollapsedChange": "isCollapsedChange"; }, never, ["*"], false, never>;
|
35
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AXCollapseComponent, "ax-collapse", never, { "disabled": { "alias": "disabled"; "required": false; }; "isCollapsed": { "alias": "isCollapsed"; "required": false; }; "caption": { "alias": "caption"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "headerTemplate": { "alias": "headerTemplate"; "required": false; }; }, { "onClick": "onClick"; "isCollapsedChange": "isCollapsedChange"; }, never, ["*"], false, never>;
|
23
36
|
}
|
@@ -2,8 +2,9 @@ import * as i0 from "@angular/core";
|
|
2
2
|
import * as i1 from "./collapse.component";
|
3
3
|
import * as i2 from "./collapse-group.component";
|
4
4
|
import * as i3 from "@angular/common";
|
5
|
+
import * as i4 from "@acorex/components/loading";
|
5
6
|
export declare class AXCollapseModule {
|
6
7
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXCollapseModule, never>;
|
7
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<AXCollapseModule, [typeof i1.AXCollapseComponent, typeof i2.AXCollapseGroupComponent], [typeof i3.CommonModule], [typeof i1.AXCollapseComponent, typeof i2.AXCollapseGroupComponent]>;
|
8
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AXCollapseModule, [typeof i1.AXCollapseComponent, typeof i2.AXCollapseGroupComponent], [typeof i3.CommonModule, typeof i4.AXLoadingModule], [typeof i1.AXCollapseComponent, typeof i2.AXCollapseGroupComponent]>;
|
8
9
|
static ɵinj: i0.ɵɵInjectorDeclaration<AXCollapseModule>;
|
9
10
|
}
|
package/common/index.d.ts
CHANGED
@@ -5,6 +5,7 @@ export * from './lib/types/range';
|
|
5
5
|
export * from './lib/types/selection-mode';
|
6
6
|
export * from './lib/classes/components.class';
|
7
7
|
export * from './lib/classes/datalist.class';
|
8
|
+
export * from './lib/classes/datasource.class';
|
8
9
|
export * from './lib/classes/events.class';
|
9
10
|
export * from './lib/classes/styles.class';
|
10
11
|
export * from './lib/common.module';
|
@@ -1,4 +1,3 @@
|
|
1
|
-
import { BehaviorSubject } from 'rxjs';
|
2
1
|
export interface AXDataListQuery {
|
3
2
|
take?: number;
|
4
3
|
skip?: number;
|
@@ -10,33 +9,3 @@ export interface AXDataListFetchCallbackResult {
|
|
10
9
|
}
|
11
10
|
export type AXDataListFetchDataCallback = (e: AXDataListQuery) => Promise<AXDataListFetchCallbackResult>;
|
12
11
|
export type AXDataListItems = Array<any> | AXDataListFetchDataCallback;
|
13
|
-
export interface AXDataSourceQuery {
|
14
|
-
take?: number;
|
15
|
-
skip?: number;
|
16
|
-
searchQuery?: string;
|
17
|
-
}
|
18
|
-
export interface AXDataSourceCallbackResult<T> {
|
19
|
-
items: Array<T>;
|
20
|
-
total: number;
|
21
|
-
}
|
22
|
-
export type AXDataSourceLoadCallback<T> = (e: AXDataSourceQuery) => Promise<AXDataSourceCallbackResult<T>>;
|
23
|
-
export type AXDataSourceByKeyCallback<T> = (key: unknown) => Promise<T>;
|
24
|
-
export interface AXDateSourceConfig<T = unknown> {
|
25
|
-
key: string;
|
26
|
-
pageSize: number;
|
27
|
-
load: AXDataSourceLoadCallback<T>;
|
28
|
-
byKey: AXDataSourceByKeyCallback<T>;
|
29
|
-
}
|
30
|
-
export declare class AXDateSource<T = unknown> {
|
31
|
-
private config;
|
32
|
-
private _totalCount;
|
33
|
-
private _items;
|
34
|
-
get items(): T[];
|
35
|
-
private fetchedPages;
|
36
|
-
private _query;
|
37
|
-
loadingChanged: BehaviorSubject<boolean>;
|
38
|
-
dataStream: BehaviorSubject<T[]>;
|
39
|
-
constructor(config: AXDateSourceConfig<T>);
|
40
|
-
fetchPage(page: number): Promise<void>;
|
41
|
-
}
|
42
|
-
export declare function convertArrayToDataSource<T>(key: string, items: T[]): AXDateSource;
|
@@ -0,0 +1,55 @@
|
|
1
|
+
import { ListIterateeCustom } from "lodash";
|
2
|
+
import { Subject } from "rxjs";
|
3
|
+
export type AXDateSourceFilterPredicate<T> = ListIterateeCustom<T, boolean>;
|
4
|
+
export interface AXDataSourceQuery<T> {
|
5
|
+
take?: number;
|
6
|
+
skip?: number;
|
7
|
+
predicate?: AXDateSourceFilterPredicate<T>;
|
8
|
+
}
|
9
|
+
export interface AXDataSourceCallbackResult<T> {
|
10
|
+
items: Array<T>;
|
11
|
+
total: number;
|
12
|
+
}
|
13
|
+
export type AXDataSourceLoadCallback<T> = (e: AXDataSourceQuery<T>) => Promise<AXDataSourceCallbackResult<T>>;
|
14
|
+
export type AXDataSourceByKeyCallback<T> = (key: unknown) => Promise<T>;
|
15
|
+
export interface AXDateSourceConfig<T = unknown> {
|
16
|
+
key?: string;
|
17
|
+
pageSize: number;
|
18
|
+
load: AXDataSourceLoadCallback<T>;
|
19
|
+
byKey?: AXDataSourceByKeyCallback<T>;
|
20
|
+
}
|
21
|
+
export interface AXDateSourceChangedEvent<T = unknown> {
|
22
|
+
cachedItems: Array<T>;
|
23
|
+
items: Array<T>;
|
24
|
+
totalCount: number;
|
25
|
+
totalPages: number;
|
26
|
+
page: number;
|
27
|
+
}
|
28
|
+
export declare class AXDateSource<T = unknown> {
|
29
|
+
config: AXDateSourceConfig<T>;
|
30
|
+
private _totalCount;
|
31
|
+
private get totalCount();
|
32
|
+
private get totalPages();
|
33
|
+
private _cachedItems;
|
34
|
+
get cachedItems(): T[];
|
35
|
+
private _items;
|
36
|
+
get items(): T[];
|
37
|
+
private fetchedPages;
|
38
|
+
private _page;
|
39
|
+
private _query;
|
40
|
+
onChanged: Subject<AXDateSourceChangedEvent<T>>;
|
41
|
+
onLoadingChanged: Subject<boolean>;
|
42
|
+
private _isLoading;
|
43
|
+
get isLoading(): boolean;
|
44
|
+
constructor(config: AXDateSourceConfig<T>);
|
45
|
+
private load;
|
46
|
+
private setLoadingState;
|
47
|
+
setPage(page: number): void;
|
48
|
+
filter(predicate?: AXDateSourceFilterPredicate<T>): void;
|
49
|
+
reset(): void;
|
50
|
+
find(key: unknown): T | Promise<T>;
|
51
|
+
}
|
52
|
+
export declare function convertArrayToDataSource<T>(items: T[], options?: {
|
53
|
+
key: string;
|
54
|
+
pageSize: number;
|
55
|
+
}): AXDateSource;
|
@@ -3,6 +3,6 @@ export declare const AX_STYLE_COLOR_TYPES: string[];
|
|
3
3
|
* A token that specifies the color style of component.
|
4
4
|
*/
|
5
5
|
export type AXStyleColorType = 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info' | 'ghost';
|
6
|
-
export type AXStyleLookType = 'solid' | 'blank' | 'outline' | 'flat' | 'fill' | 'none';
|
6
|
+
export type AXStyleLookType = 'solid' | 'blank' | 'outline' | 'twotone' | 'flat' | 'fill' | 'none';
|
7
7
|
export declare const AX_LOCATIONS: string[];
|
8
8
|
export type AXLocation = 'bottom-start' | 'bottom-center' | 'bottom-end' | 'top-start' | 'top-center' | 'top-end' | 'center-end' | 'center-start';
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { EventEmitter } from '@angular/core';
|
2
|
-
import {
|
2
|
+
import { AXFocusEvent } from '../classes/events.class';
|
3
3
|
import { MXBaseComponent } from './base-component.class';
|
4
4
|
export declare class MXInteractiveComponent extends MXBaseComponent {
|
5
5
|
protected onTouchedCallback: () => void;
|
@@ -33,12 +33,6 @@ export declare class MXInteractiveComponent extends MXBaseComponent {
|
|
33
33
|
*/
|
34
34
|
onBlur: EventEmitter<AXFocusEvent>;
|
35
35
|
protected emitOnBlurEvent(e: FocusEvent): void;
|
36
|
-
/**
|
37
|
-
* Fires each time the user clicks the button.
|
38
|
-
* @event
|
39
|
-
*/
|
40
|
-
onClick: EventEmitter<AXClickEvent>;
|
41
|
-
protected emitOnClickEvent(e: MouseEvent): void;
|
42
36
|
focus(): void;
|
43
37
|
blur(): void;
|
44
38
|
/**
|
@@ -11,9 +11,6 @@ export declare abstract class MXSelectionValueComponent<T = unknown> extends MXV
|
|
11
11
|
private _textField;
|
12
12
|
get textField(): string;
|
13
13
|
set textField(v: string);
|
14
|
-
private _hintField;
|
15
|
-
get hintField(): string;
|
16
|
-
set hintField(v: string);
|
17
14
|
private _disabledField;
|
18
15
|
get disabledField(): string;
|
19
16
|
set disabledField(v: string);
|
@@ -22,10 +19,11 @@ export declare abstract class MXSelectionValueComponent<T = unknown> extends MXV
|
|
22
19
|
set multiple(v: boolean);
|
23
20
|
_selectedItems: unknown[];
|
24
21
|
get selectedItems(): unknown[];
|
25
|
-
internalSetValue(value: unknown):
|
22
|
+
internalSetValue(value: unknown): any;
|
26
23
|
emitOnValueChangedEvent(oldValue?: unknown, newValue?: unknown): void;
|
27
|
-
abstract getItemByKey(key: unknown): unknown
|
28
|
-
|
24
|
+
abstract getItemByKey(key: unknown): unknown | Promise<unknown>;
|
25
|
+
private _cacheList;
|
26
|
+
protected normalizeItemsList(items: unknown[], findBykey?: boolean): unknown[];
|
29
27
|
private normalizeItem;
|
30
28
|
private _normalizeSelectedItems;
|
31
29
|
unselectItems(...items: T[]): void;
|
@@ -2,9 +2,10 @@ import { ElementRef, OnDestroy } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
3
3
|
export declare class AXRippleDirective implements OnDestroy {
|
4
4
|
private el;
|
5
|
+
axRippleColor: string;
|
5
6
|
constructor(el: ElementRef<HTMLElement>);
|
6
7
|
ngOnDestroy(): void;
|
7
8
|
private createRipple;
|
8
9
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXRippleDirective, never>;
|
9
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<AXRippleDirective, "[axRipple]", never, {}, {}, never, never, false, never>;
|
10
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<AXRippleDirective, "[axRipple]", never, { "axRippleColor": { "alias": "axRippleColor"; "required": false; }; }, {}, never, never, false, never>;
|
10
11
|
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { AXCalendarNavigateEvent, MXCalendarBaseComponent } from '@acorex/components/calendar';
|
2
|
-
import { MXInputBaseValueComponent, MXLookComponent } from '@acorex/components/common';
|
2
|
+
import { AXClickEvent, MXInputBaseValueComponent, MXLookComponent } from '@acorex/components/common';
|
3
3
|
import { AXDateTimeInputComponent } from '@acorex/components/datetime-input';
|
4
4
|
import { AXDateTimePickerComponent } from '@acorex/components/datetime-picker';
|
5
5
|
import { AXDropdownBoxComponent, MXDropdownBoxBaseComponent } from '@acorex/components/dropdown';
|
@@ -29,6 +29,7 @@ export declare class AXDateTimeBoxComponent extends AXDateTimeBoxComponent_base
|
|
29
29
|
protected _handleOnClosedEvent(): void;
|
30
30
|
protected _handleCalendarOnNavigate(e: AXCalendarNavigateEvent): void;
|
31
31
|
internalValueChanged(): void;
|
32
|
+
protected _handleInputOnClick(e: AXClickEvent): void;
|
32
33
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXDateTimeBoxComponent, never>;
|
33
34
|
static ɵcmp: i0.ɵɵComponentDeclaration<AXDateTimeBoxComponent, "ax-datetime-box", never, { "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "minValue": { "alias": "minValue"; "required": false; }; "maxValue": { "alias": "maxValue"; "required": false; }; "value": { "alias": "value"; "required": false; }; "state": { "alias": "state"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "type": { "alias": "type"; "required": false; }; "look": { "alias": "look"; "required": false; }; "format": { "alias": "format"; "required": false; }; }, { "valueChange": "valueChange"; "stateChange": "stateChange"; "onValueChanged": "onValueChanged"; "onBlur": "onBlur"; "onFocus": "onFocus"; "readonlyChange": "readonlyChange"; "disabledChange": "disabledChange"; "formatChange": "formatChange"; }, never, ["ax-prefix", "ax-clear-button", "ax-suffix", "ax-validation-rule"], false, never>;
|
34
35
|
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { MXInputBaseValueComponent } from '@acorex/components/common';
|
1
|
+
import { AXClickEvent, MXInputBaseValueComponent } from '@acorex/components/common';
|
2
2
|
import { ElementRef, EventEmitter } from '@angular/core';
|
3
3
|
import * as i0 from "@angular/core";
|
4
4
|
export declare class AXDateTimeInputComponent extends MXInputBaseValueComponent<Date> {
|
@@ -23,6 +23,7 @@ export declare class AXDateTimeInputComponent extends MXInputBaseValueComponent<
|
|
23
23
|
get maxValue(): Date;
|
24
24
|
set maxValue(v: Date);
|
25
25
|
formatChange: EventEmitter<string>;
|
26
|
+
onClick: EventEmitter<AXClickEvent>;
|
26
27
|
private _format;
|
27
28
|
get format(): string;
|
28
29
|
set format(v: string);
|
@@ -71,7 +71,7 @@ export class AXActionSheetComponent extends MXBaseComponent {
|
|
71
71
|
provide: AXFocusableComponent,
|
72
72
|
useExisting: AXActionSheetComponent,
|
73
73
|
},
|
74
|
-
], usesInheritance: true, ngImport: i0, template: "<ax-header *ngIf=\"data.header\">\n <ax-prefix>\n <ax-title>{{ data.title }}</ax-title>\n <ax-sub-title *ngIf=\"data.subTitle\">{{ data.subTitle }}</ax-sub-title>\n </ax-prefix>\n <ax-suffix>\n <ax-close-button *ngIf=\"data.closeButton\"></ax-close-button>\n </ax-suffix>\n</ax-header>\n<ng-template [cdkPortalOutlet]=\"_selectedPortal\" (attached)=\"_handleAttched($event)\"></ng-template>\n<div class=\"ax-action-sheet-items\">\n <ng-container *ngFor=\"let item of data.items\">\n <div\n class=\"ax-action-sheet-item ax-{{ item.color }}\"\n [class.ax-state-disabled]=\"item.disabled\"\n tabindex=\"0\"\n (click)=\"onItemClick(item)\"\n >\n <span class=\"item-icon\" *ngIf=\"item.icon\" [class]=\"item.icon\"></span>\n <span class=\"item-text\">{{ item.text }}</span>\n </div>\n </ng-container>\n</div>\n", styles: ["
|
74
|
+
], usesInheritance: true, ngImport: i0, template: "<ax-header *ngIf=\"data.header\">\n <ax-prefix>\n <ax-title>{{ data.title }}</ax-title>\n <ax-sub-title *ngIf=\"data.subTitle\">{{ data.subTitle }}</ax-sub-title>\n </ax-prefix>\n <ax-suffix>\n <ax-close-button *ngIf=\"data.closeButton\"></ax-close-button>\n </ax-suffix>\n</ax-header>\n<ng-template [cdkPortalOutlet]=\"_selectedPortal\" (attached)=\"_handleAttched($event)\"></ng-template>\n<div class=\"ax-action-sheet-items\">\n <ng-container *ngFor=\"let item of data.items\">\n <div\n class=\"ax-action-sheet-item ax-{{ item.color }}\"\n [class.ax-state-disabled]=\"item.disabled\"\n tabindex=\"0\"\n (click)=\"onItemClick(item)\"\n >\n <span class=\"item-icon\" *ngIf=\"item.icon\" [class]=\"item.icon\"></span>\n <span class=\"item-text\">{{ item.text }}</span>\n </div>\n </ng-container>\n</div>\n", styles: ["ax-action-sheet{display:block}@media (max-width: 599px){ax-action-sheet{width:100vw}}@media (min-width: 600px){ax-action-sheet{width:75vw}}@media (min-width: 1200px){ax-action-sheet{width:30vw}}@media (min-width: 1800px){ax-action-sheet{width:25vw}}ax-action-sheet ax-header{padding:1rem;font-size:1.125rem;font-weight:500;border-bottom:1px solid;border-color:rgba(var(--ax-color-border-default))}ax-action-sheet ax-header ax-prefix,ax-action-sheet ax-header ax-suffix{display:flex;flex-direction:column;justify-content:flex-start}ax-action-sheet ax-header ax-prefix{align-items:flex-start}ax-action-sheet ax-header ax-suffix{align-items:flex-end}@media (max-width: 599px){ax-action-sheet ax-header{font-size:1rem}}ax-action-sheet .ax-action-sheet-items{padding:.5rem 0}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item{-webkit-user-select:none;user-select:none;cursor:pointer;padding:.75rem 1rem;display:flex}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item:hover{background-color:rgba(var(--ax-color-on-surface))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item .item-icon{font-size:1.5rem;margin-inline-end:.75rem}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-primary{color:rgba(var(--ax-color-primary-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-secondary{color:rgba(var(--ax-color-secondary-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-success{color:rgba(var(--ax-color-success-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-warning{color:rgba(var(--ax-color-warning-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-danger{color:rgba(var(--ax-color-danger-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-info{color:rgba(var(--ax-color-info-500))}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i4.AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["icon"] }, { kind: "component", type: i4.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title , ax-sub-title" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
75
75
|
}
|
76
76
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXActionSheetComponent, decorators: [{
|
77
77
|
type: Component,
|
@@ -84,7 +84,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImpor
|
|
84
84
|
provide: AXFocusableComponent,
|
85
85
|
useExisting: AXActionSheetComponent,
|
86
86
|
},
|
87
|
-
], template: "<ax-header *ngIf=\"data.header\">\n <ax-prefix>\n <ax-title>{{ data.title }}</ax-title>\n <ax-sub-title *ngIf=\"data.subTitle\">{{ data.subTitle }}</ax-sub-title>\n </ax-prefix>\n <ax-suffix>\n <ax-close-button *ngIf=\"data.closeButton\"></ax-close-button>\n </ax-suffix>\n</ax-header>\n<ng-template [cdkPortalOutlet]=\"_selectedPortal\" (attached)=\"_handleAttched($event)\"></ng-template>\n<div class=\"ax-action-sheet-items\">\n <ng-container *ngFor=\"let item of data.items\">\n <div\n class=\"ax-action-sheet-item ax-{{ item.color }}\"\n [class.ax-state-disabled]=\"item.disabled\"\n tabindex=\"0\"\n (click)=\"onItemClick(item)\"\n >\n <span class=\"item-icon\" *ngIf=\"item.icon\" [class]=\"item.icon\"></span>\n <span class=\"item-text\">{{ item.text }}</span>\n </div>\n </ng-container>\n</div>\n", styles: ["
|
87
|
+
], template: "<ax-header *ngIf=\"data.header\">\n <ax-prefix>\n <ax-title>{{ data.title }}</ax-title>\n <ax-sub-title *ngIf=\"data.subTitle\">{{ data.subTitle }}</ax-sub-title>\n </ax-prefix>\n <ax-suffix>\n <ax-close-button *ngIf=\"data.closeButton\"></ax-close-button>\n </ax-suffix>\n</ax-header>\n<ng-template [cdkPortalOutlet]=\"_selectedPortal\" (attached)=\"_handleAttched($event)\"></ng-template>\n<div class=\"ax-action-sheet-items\">\n <ng-container *ngFor=\"let item of data.items\">\n <div\n class=\"ax-action-sheet-item ax-{{ item.color }}\"\n [class.ax-state-disabled]=\"item.disabled\"\n tabindex=\"0\"\n (click)=\"onItemClick(item)\"\n >\n <span class=\"item-icon\" *ngIf=\"item.icon\" [class]=\"item.icon\"></span>\n <span class=\"item-text\">{{ item.text }}</span>\n </div>\n </ng-container>\n</div>\n", styles: ["ax-action-sheet{display:block}@media (max-width: 599px){ax-action-sheet{width:100vw}}@media (min-width: 600px){ax-action-sheet{width:75vw}}@media (min-width: 1200px){ax-action-sheet{width:30vw}}@media (min-width: 1800px){ax-action-sheet{width:25vw}}ax-action-sheet ax-header{padding:1rem;font-size:1.125rem;font-weight:500;border-bottom:1px solid;border-color:rgba(var(--ax-color-border-default))}ax-action-sheet ax-header ax-prefix,ax-action-sheet ax-header ax-suffix{display:flex;flex-direction:column;justify-content:flex-start}ax-action-sheet ax-header ax-prefix{align-items:flex-start}ax-action-sheet ax-header ax-suffix{align-items:flex-end}@media (max-width: 599px){ax-action-sheet ax-header{font-size:1rem}}ax-action-sheet .ax-action-sheet-items{padding:.5rem 0}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item{-webkit-user-select:none;user-select:none;cursor:pointer;padding:.75rem 1rem;display:flex}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item:hover{background-color:rgba(var(--ax-color-on-surface))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item .item-icon{font-size:1.5rem;margin-inline-end:.75rem}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-primary{color:rgba(var(--ax-color-primary-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-secondary{color:rgba(var(--ax-color-secondary-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-success{color:rgba(var(--ax-color-success-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-warning{color:rgba(var(--ax-color-warning-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-danger{color:rgba(var(--ax-color-danger-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-info{color:rgba(var(--ax-color-info-500))}\n"] }]
|
88
88
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
89
89
|
type: Inject,
|
90
90
|
args: [DIALOG_DATA]
|
@@ -19,8 +19,7 @@ export class AXAlertComponent extends MXColorComponent {
|
|
19
19
|
* @ignore
|
20
20
|
*/
|
21
21
|
get __hostClass() {
|
22
|
-
|
23
|
-
return `ax-alert ax-none ${_class}`;
|
22
|
+
return `ax-alert ax-none ax-${this.color}-solid`;
|
24
23
|
}
|
25
24
|
get timeOut() {
|
26
25
|
return this._timeOut;
|
@@ -158,11 +157,11 @@ export class AXAlertComponent extends MXColorComponent {
|
|
158
157
|
this.onOptionChanged?.unsubscribe();
|
159
158
|
}
|
160
159
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXAlertComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
161
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.9", type: AXAlertComponent, selector: "ax-alert", inputs: { color: "color", timeOut: "timeOut", visible: "visible" }, outputs: { colorChange: "colorChange", onClosed: "onClosed" }, host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXClosbaleComponent, useExisting: AXAlertComponent }], queries: [{ propertyName: "_iconComp", first: true, predicate: ["ax-icon"], descendants: true }, { propertyName: "_titleComp", first: true, predicate: ["ax-title"], descendants: true }, { propertyName: "_contentComp", first: true, predicate: ["ax-content"], descendants: true }, { propertyName: "_footerComp", first: true, predicate: ["ax-footer"], descendants: true }, { propertyName: "_buttonComps", predicate: AXButtonComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"_showInline; else elseTpl\">\n <div class=\"ax-alert-inline\">\n <div class=\"ax-alert-icon\">\n <ng-container [ngTemplateOutlet]=\"icon\"></ng-container>\n </div>\n <div class=\"ax-alert-title\">\n <ng-container [ngTemplateOutlet]=\"title\"></ng-container>\n </div>\n <div class=\"ax-alert-buttons\">\n <ng-container [ngTemplateOutlet]=\"buttons\"></ng-container>\n </div>\n <ng-container [ngTemplateOutlet]=\"closeButton\"></ng-container>\n </div>\n</ng-container>\n\n<ng-template #elseTpl>\n <div class=\"ax-alert-block\">\n <div class=\"ax-alert-icon\">\n <ng-container [ngTemplateOutlet]=\"icon\"></ng-container>\n </div>\n <div class=\"ax-alert-content\">\n <div class=\"ax-alert-title\">\n <ng-container [ngTemplateOutlet]=\"title\"></ng-container>\n </div>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"footer\"></ng-container>\n </div>\n <div><ng-container [ngTemplateOutlet]=\"closeButton\"></ng-container></div>\n </div>\n</ng-template>\n<div class=\"ax-alert-progress\" [style.animation-duration.ms]=\"timeOut\" *ngIf=\"timeOut\"></div>\n\n<ng-template #buttons>\n <ng-content select=\"ax-button\"> </ng-content>\n</ng-template>\n<ng-template #closeButton>\n <ng-content select=\"ax-close-button\"> </ng-content>\n</ng-template>\n<ng-template #title>\n <ng-content select=\"ax-title\"> </ng-content>\n</ng-template>\n<ng-template #icon>\n <ng-content select=\"ax-icon\"> </ng-content>\n</ng-template>\n<ng-template #content>\n <ng-content select=\"ax-content\"> </ng-content>\n</ng-template>\n<ng-template #footer>\n <ng-content select=\"ax-footer\"> </ng-content>\n</ng-template>\n", styles: [".ax-dark ax-alert.ax-primary-
|
160
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.9", type: AXAlertComponent, selector: "ax-alert", inputs: { color: "color", timeOut: "timeOut", visible: "visible" }, outputs: { colorChange: "colorChange", onClosed: "onClosed" }, host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXClosbaleComponent, useExisting: AXAlertComponent }], queries: [{ propertyName: "_iconComp", first: true, predicate: ["ax-icon"], descendants: true }, { propertyName: "_titleComp", first: true, predicate: ["ax-title"], descendants: true }, { propertyName: "_contentComp", first: true, predicate: ["ax-content"], descendants: true }, { propertyName: "_footerComp", first: true, predicate: ["ax-footer"], descendants: true }, { propertyName: "_buttonComps", predicate: AXButtonComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"_showInline; else elseTpl\">\n <div class=\"ax-alert-inline\">\n <div class=\"ax-alert-icon\">\n <ng-container [ngTemplateOutlet]=\"icon\"></ng-container>\n </div>\n <div class=\"ax-alert-title\">\n <ng-container [ngTemplateOutlet]=\"title\"></ng-container>\n </div>\n <div class=\"ax-alert-buttons\">\n <ng-container [ngTemplateOutlet]=\"buttons\"></ng-container>\n </div>\n <ng-container [ngTemplateOutlet]=\"closeButton\"></ng-container>\n </div>\n</ng-container>\n\n<ng-template #elseTpl>\n <div class=\"ax-alert-block\">\n <div class=\"ax-alert-icon\">\n <ng-container [ngTemplateOutlet]=\"icon\"></ng-container>\n </div>\n <div class=\"ax-alert-content\">\n <div class=\"ax-alert-title\">\n <ng-container [ngTemplateOutlet]=\"title\"></ng-container>\n </div>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"footer\"></ng-container>\n </div>\n <div><ng-container [ngTemplateOutlet]=\"closeButton\"></ng-container></div>\n </div>\n</ng-template>\n<div class=\"ax-alert-progress\" [style.animation-duration.ms]=\"timeOut\" *ngIf=\"timeOut\"></div>\n\n<ng-template #buttons>\n <ng-content select=\"ax-button\"> </ng-content>\n</ng-template>\n<ng-template #closeButton>\n <ng-content select=\"ax-close-button\"> </ng-content>\n</ng-template>\n<ng-template #title>\n <ng-content select=\"ax-title\"> </ng-content>\n</ng-template>\n<ng-template #icon>\n <ng-content select=\"ax-icon\"> </ng-content>\n</ng-template>\n<ng-template #content>\n <ng-content select=\"ax-content\"> </ng-content>\n</ng-template>\n<ng-template #footer>\n <ng-content select=\"ax-footer\"> </ng-content>\n</ng-template>\n", styles: [".ax-dark ax-alert.ax-primary-solid{background-color:rgba(var(--ax-color-primary-900),.25);border-color:rgba(var(--ax-color-primary-500))}.ax-dark ax-alert.ax-primary-solid ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-primary-solid .ax-alert-progress{background-color:rgba(var(--ax-color-primary-fore))}.ax-dark ax-alert.ax-secondary-solid{background-color:rgba(var(--ax-color-secondary-900),.25);border-color:rgba(var(--ax-color-secondary-500))}.ax-dark ax-alert.ax-secondary-solid ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-secondary-solid .ax-alert-progress{background-color:rgba(var(--ax-color-secondary-fore))}.ax-dark ax-alert.ax-success-solid{background-color:rgba(var(--ax-color-success-900),.25);border-color:rgba(var(--ax-color-success-500))}.ax-dark ax-alert.ax-success-solid ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-success-solid .ax-alert-progress{background-color:rgba(var(--ax-color-success-fore))}.ax-dark ax-alert.ax-warning-solid{background-color:rgba(var(--ax-color-warning-900),.25);border-color:rgba(var(--ax-color-warning-500))}.ax-dark ax-alert.ax-warning-solid ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-warning-solid .ax-alert-progress{background-color:rgba(var(--ax-color-warning-fore))}.ax-dark ax-alert.ax-danger-solid{background-color:rgba(var(--ax-color-danger-900),.25);border-color:rgba(var(--ax-color-danger-500))}.ax-dark ax-alert.ax-danger-solid ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-danger-solid .ax-alert-progress{background-color:rgba(var(--ax-color-danger-fore))}.ax-dark ax-alert.ax-info-solid{background-color:rgba(var(--ax-color-info-900),.25);border-color:rgba(var(--ax-color-info-500))}.ax-dark ax-alert.ax-info-solid ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-info-solid .ax-alert-progress{background-color:rgba(var(--ax-color-info-fore))}ax-alert{position:relative;padding:1rem;border-radius:var(--ax-rounded-border-default);border:1px solid;border-color:rgba(var(--ax-color-border-default));font-size:.875rem;display:flex;gap:1rem;overflow:hidden}ax-alert .ax-alert-inline{display:flex;align-items:center;align-content:center;flex:1}ax-alert .ax-alert-block{display:flex}ax-alert .ax-alert-block .ax-alert-content{display:flex;flex-direction:column}ax-alert .ax-alert-block .ax-alert-content ax-content:not(:empty){margin-top:.5rem}ax-alert .ax-alert-block .ax-alert-content ax-footer{margin-top:1rem}ax-alert .ax-alert-icon{border-radius:99rem;display:grid;font-size:1.25rem;line-height:1.25rem;padding-inline-end:.5rem}ax-alert .ax-alert-buttons{padding-inline-start:1rem}ax-alert .ax-alert-title{display:flex;flex-direction:column;flex:1}ax-alert .ax-alert-title ax-title{font-size:.875rem;line-height:1.25rem;font-weight:500}ax-alert .ax-alert-progress{width:0px;height:.25rem;position:absolute;inset-inline-start:0px;bottom:0;animation-duration:4s;animation-timing-function:linear;animation-name:progressBar}@keyframes progressBar{0%{width:100%}to{width:0%}}ax-alert.ax-primary-solid{background-color:rgba(var(--ax-color-primary-100));border-color:rgba(var(--ax-color-primary-500))}ax-alert.ax-primary-solid ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-primary-solid ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-primary-solid .ax-alert-icon{color:rgba(var(--ax-color-primary-500))}ax-alert.ax-primary-solid .ax-alert-progress{background-color:rgba(var(--ax-color-primary-900))}ax-alert.ax-secondary-solid{background-color:rgba(var(--ax-color-secondary-100));border-color:rgba(var(--ax-color-secondary-500))}ax-alert.ax-secondary-solid ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-secondary-solid ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-secondary-solid .ax-alert-icon{color:rgba(var(--ax-color-secondary-500))}ax-alert.ax-secondary-solid .ax-alert-progress{background-color:rgba(var(--ax-color-secondary-900))}ax-alert.ax-success-solid{background-color:rgba(var(--ax-color-success-100));border-color:rgba(var(--ax-color-success-500))}ax-alert.ax-success-solid ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-success-solid ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-success-solid .ax-alert-icon{color:rgba(var(--ax-color-success-500))}ax-alert.ax-success-solid .ax-alert-progress{background-color:rgba(var(--ax-color-success-900))}ax-alert.ax-warning-solid{background-color:rgba(var(--ax-color-warning-100));border-color:rgba(var(--ax-color-warning-500))}ax-alert.ax-warning-solid ax-button[class$=blank]{color:rgba(var(--ax-color-warning-fore))}ax-alert.ax-warning-solid ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-warning-solid ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-warning-solid .ax-alert-icon{color:rgba(var(--ax-color-warning-500))}ax-alert.ax-warning-solid .ax-alert-progress{background-color:rgba(var(--ax-color-warning-900))}ax-alert.ax-danger-solid{background-color:rgba(var(--ax-color-danger-100));border-color:rgba(var(--ax-color-danger-500))}ax-alert.ax-danger-solid ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-danger-solid ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-danger-solid .ax-alert-icon{color:rgba(var(--ax-color-danger-500))}ax-alert.ax-danger-solid .ax-alert-progress{background-color:rgba(var(--ax-color-danger-900))}ax-alert.ax-info-solid{background-color:rgba(var(--ax-color-info-100));border-color:rgba(var(--ax-color-info-500))}ax-alert.ax-info-solid ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-info-solid ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-info-solid .ax-alert-icon{color:rgba(var(--ax-color-info-500))}ax-alert.ax-info-solid .ax-alert-progress{background-color:rgba(var(--ax-color-info-900))}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
162
161
|
}
|
163
162
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXAlertComponent, decorators: [{
|
164
163
|
type: Component,
|
165
|
-
args: [{ selector: 'ax-alert', inputs: ['color'], outputs: ['colorChange'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: AXClosbaleComponent, useExisting: AXAlertComponent }], template: "<ng-container *ngIf=\"_showInline; else elseTpl\">\n <div class=\"ax-alert-inline\">\n <div class=\"ax-alert-icon\">\n <ng-container [ngTemplateOutlet]=\"icon\"></ng-container>\n </div>\n <div class=\"ax-alert-title\">\n <ng-container [ngTemplateOutlet]=\"title\"></ng-container>\n </div>\n <div class=\"ax-alert-buttons\">\n <ng-container [ngTemplateOutlet]=\"buttons\"></ng-container>\n </div>\n <ng-container [ngTemplateOutlet]=\"closeButton\"></ng-container>\n </div>\n</ng-container>\n\n<ng-template #elseTpl>\n <div class=\"ax-alert-block\">\n <div class=\"ax-alert-icon\">\n <ng-container [ngTemplateOutlet]=\"icon\"></ng-container>\n </div>\n <div class=\"ax-alert-content\">\n <div class=\"ax-alert-title\">\n <ng-container [ngTemplateOutlet]=\"title\"></ng-container>\n </div>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"footer\"></ng-container>\n </div>\n <div><ng-container [ngTemplateOutlet]=\"closeButton\"></ng-container></div>\n </div>\n</ng-template>\n<div class=\"ax-alert-progress\" [style.animation-duration.ms]=\"timeOut\" *ngIf=\"timeOut\"></div>\n\n<ng-template #buttons>\n <ng-content select=\"ax-button\"> </ng-content>\n</ng-template>\n<ng-template #closeButton>\n <ng-content select=\"ax-close-button\"> </ng-content>\n</ng-template>\n<ng-template #title>\n <ng-content select=\"ax-title\"> </ng-content>\n</ng-template>\n<ng-template #icon>\n <ng-content select=\"ax-icon\"> </ng-content>\n</ng-template>\n<ng-template #content>\n <ng-content select=\"ax-content\"> </ng-content>\n</ng-template>\n<ng-template #footer>\n <ng-content select=\"ax-footer\"> </ng-content>\n</ng-template>\n", styles: [".ax-dark ax-alert.ax-primary-
|
164
|
+
args: [{ selector: 'ax-alert', inputs: ['color'], outputs: ['colorChange'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: AXClosbaleComponent, useExisting: AXAlertComponent }], template: "<ng-container *ngIf=\"_showInline; else elseTpl\">\n <div class=\"ax-alert-inline\">\n <div class=\"ax-alert-icon\">\n <ng-container [ngTemplateOutlet]=\"icon\"></ng-container>\n </div>\n <div class=\"ax-alert-title\">\n <ng-container [ngTemplateOutlet]=\"title\"></ng-container>\n </div>\n <div class=\"ax-alert-buttons\">\n <ng-container [ngTemplateOutlet]=\"buttons\"></ng-container>\n </div>\n <ng-container [ngTemplateOutlet]=\"closeButton\"></ng-container>\n </div>\n</ng-container>\n\n<ng-template #elseTpl>\n <div class=\"ax-alert-block\">\n <div class=\"ax-alert-icon\">\n <ng-container [ngTemplateOutlet]=\"icon\"></ng-container>\n </div>\n <div class=\"ax-alert-content\">\n <div class=\"ax-alert-title\">\n <ng-container [ngTemplateOutlet]=\"title\"></ng-container>\n </div>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"footer\"></ng-container>\n </div>\n <div><ng-container [ngTemplateOutlet]=\"closeButton\"></ng-container></div>\n </div>\n</ng-template>\n<div class=\"ax-alert-progress\" [style.animation-duration.ms]=\"timeOut\" *ngIf=\"timeOut\"></div>\n\n<ng-template #buttons>\n <ng-content select=\"ax-button\"> </ng-content>\n</ng-template>\n<ng-template #closeButton>\n <ng-content select=\"ax-close-button\"> </ng-content>\n</ng-template>\n<ng-template #title>\n <ng-content select=\"ax-title\"> </ng-content>\n</ng-template>\n<ng-template #icon>\n <ng-content select=\"ax-icon\"> </ng-content>\n</ng-template>\n<ng-template #content>\n <ng-content select=\"ax-content\"> </ng-content>\n</ng-template>\n<ng-template #footer>\n <ng-content select=\"ax-footer\"> </ng-content>\n</ng-template>\n", styles: [".ax-dark ax-alert.ax-primary-solid{background-color:rgba(var(--ax-color-primary-900),.25);border-color:rgba(var(--ax-color-primary-500))}.ax-dark ax-alert.ax-primary-solid ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-primary-solid .ax-alert-progress{background-color:rgba(var(--ax-color-primary-fore))}.ax-dark ax-alert.ax-secondary-solid{background-color:rgba(var(--ax-color-secondary-900),.25);border-color:rgba(var(--ax-color-secondary-500))}.ax-dark ax-alert.ax-secondary-solid ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-secondary-solid .ax-alert-progress{background-color:rgba(var(--ax-color-secondary-fore))}.ax-dark ax-alert.ax-success-solid{background-color:rgba(var(--ax-color-success-900),.25);border-color:rgba(var(--ax-color-success-500))}.ax-dark ax-alert.ax-success-solid ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-success-solid .ax-alert-progress{background-color:rgba(var(--ax-color-success-fore))}.ax-dark ax-alert.ax-warning-solid{background-color:rgba(var(--ax-color-warning-900),.25);border-color:rgba(var(--ax-color-warning-500))}.ax-dark ax-alert.ax-warning-solid ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-warning-solid .ax-alert-progress{background-color:rgba(var(--ax-color-warning-fore))}.ax-dark ax-alert.ax-danger-solid{background-color:rgba(var(--ax-color-danger-900),.25);border-color:rgba(var(--ax-color-danger-500))}.ax-dark ax-alert.ax-danger-solid ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-danger-solid .ax-alert-progress{background-color:rgba(var(--ax-color-danger-fore))}.ax-dark ax-alert.ax-info-solid{background-color:rgba(var(--ax-color-info-900),.25);border-color:rgba(var(--ax-color-info-500))}.ax-dark ax-alert.ax-info-solid ax-button[class$=blank]{color:rgba(var(--ax-color-text-default))}.ax-dark ax-alert.ax-info-solid .ax-alert-progress{background-color:rgba(var(--ax-color-info-fore))}ax-alert{position:relative;padding:1rem;border-radius:var(--ax-rounded-border-default);border:1px solid;border-color:rgba(var(--ax-color-border-default));font-size:.875rem;display:flex;gap:1rem;overflow:hidden}ax-alert .ax-alert-inline{display:flex;align-items:center;align-content:center;flex:1}ax-alert .ax-alert-block{display:flex}ax-alert .ax-alert-block .ax-alert-content{display:flex;flex-direction:column}ax-alert .ax-alert-block .ax-alert-content ax-content:not(:empty){margin-top:.5rem}ax-alert .ax-alert-block .ax-alert-content ax-footer{margin-top:1rem}ax-alert .ax-alert-icon{border-radius:99rem;display:grid;font-size:1.25rem;line-height:1.25rem;padding-inline-end:.5rem}ax-alert .ax-alert-buttons{padding-inline-start:1rem}ax-alert .ax-alert-title{display:flex;flex-direction:column;flex:1}ax-alert .ax-alert-title ax-title{font-size:.875rem;line-height:1.25rem;font-weight:500}ax-alert .ax-alert-progress{width:0px;height:.25rem;position:absolute;inset-inline-start:0px;bottom:0;animation-duration:4s;animation-timing-function:linear;animation-name:progressBar}@keyframes progressBar{0%{width:100%}to{width:0%}}ax-alert.ax-primary-solid{background-color:rgba(var(--ax-color-primary-100));border-color:rgba(var(--ax-color-primary-500))}ax-alert.ax-primary-solid ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-primary-solid ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-primary-solid .ax-alert-icon{color:rgba(var(--ax-color-primary-500))}ax-alert.ax-primary-solid .ax-alert-progress{background-color:rgba(var(--ax-color-primary-900))}ax-alert.ax-secondary-solid{background-color:rgba(var(--ax-color-secondary-100));border-color:rgba(var(--ax-color-secondary-500))}ax-alert.ax-secondary-solid ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-secondary-solid ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-secondary-solid .ax-alert-icon{color:rgba(var(--ax-color-secondary-500))}ax-alert.ax-secondary-solid .ax-alert-progress{background-color:rgba(var(--ax-color-secondary-900))}ax-alert.ax-success-solid{background-color:rgba(var(--ax-color-success-100));border-color:rgba(var(--ax-color-success-500))}ax-alert.ax-success-solid ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-success-solid ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-success-solid .ax-alert-icon{color:rgba(var(--ax-color-success-500))}ax-alert.ax-success-solid .ax-alert-progress{background-color:rgba(var(--ax-color-success-900))}ax-alert.ax-warning-solid{background-color:rgba(var(--ax-color-warning-100));border-color:rgba(var(--ax-color-warning-500))}ax-alert.ax-warning-solid ax-button[class$=blank]{color:rgba(var(--ax-color-warning-fore))}ax-alert.ax-warning-solid ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-warning-solid ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-warning-solid .ax-alert-icon{color:rgba(var(--ax-color-warning-500))}ax-alert.ax-warning-solid .ax-alert-progress{background-color:rgba(var(--ax-color-warning-900))}ax-alert.ax-danger-solid{background-color:rgba(var(--ax-color-danger-100));border-color:rgba(var(--ax-color-danger-500))}ax-alert.ax-danger-solid ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-danger-solid ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-danger-solid .ax-alert-icon{color:rgba(var(--ax-color-danger-500))}ax-alert.ax-danger-solid .ax-alert-progress{background-color:rgba(var(--ax-color-danger-900))}ax-alert.ax-info-solid{background-color:rgba(var(--ax-color-info-100));border-color:rgba(var(--ax-color-info-500))}ax-alert.ax-info-solid ax-title{color:rgba(var(--ax-color-text-default))}ax-alert.ax-info-solid ax-content{color:rgba(var(--ax-color-text-default))}ax-alert.ax-info-solid .ax-alert-icon{color:rgba(var(--ax-color-info-500))}ax-alert.ax-info-solid .ax-alert-progress{background-color:rgba(var(--ax-color-info-900))}\n"] }]
|
166
165
|
}], propDecorators: { _iconComp: [{
|
167
166
|
type: ContentChild,
|
168
167
|
args: ['ax-icon']
|
@@ -188,4 +187,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImpor
|
|
188
187
|
}], visible: [{
|
189
188
|
type: Input
|
190
189
|
}] } });
|
191
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FsZXJ0L3NyYy9saWIvYWxlcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FsZXJ0L3NyYy9saWIvYWxlcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFXLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0YsT0FBTyxFQUFFLDJCQUEyQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFdEcsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQzs7O0FBRXZCOzs7O0dBSUc7QUFXSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsZ0JBQWdCO0lBVnREOztRQTBCWSxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUc5QixhQUFRLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7S0F1Sy9EO0lBbEtDOztPQUVHO0lBQ0gsSUFDSSxXQUFXO1FBQ2IsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxVQUFVLENBQUM7UUFDMUMsT0FBTyxvQkFBb0IsTUFBTSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUdELElBQ1csT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQVcsT0FBTyxDQUFDLENBQVM7UUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNiLElBQUksRUFBRSxT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QUFXLEVBQUUsSUFBSSxFQUFFO2dCQUkvQyxVQUFVO3NCQURuQixZQUFZO3VCQUFDLFVBQVU7Z0JBSWQsWUFBWTtzQkFEckIsWUFBWTt1QkFBQyxZQUFZO2dCQUloQixXQUFXO3NCQURwQixZQUFZO3VCQUFDLFdBQVc7Z0JBTXpCLFFBQVE7c0JBRFAsTUFBTTtnQkFVSCxXQUFXO3NCQURkLFdBQVc7dUJBQUMsT0FBTztnQkFRVCxPQUFPO3NCQURqQixLQUFLO2dCQTZCSyxPQUFPO3NCQURqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCdXR0b25Db21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYQ2xvc2JhbGVDb21wb25lbnQsIEFYRXZlbnQsIE1YQ29sb3JDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yR2VuZXJpY0NvbXBvbmVudCwgQVhEZWNvcmF0b3JJY29uQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFJlZ3VsYXIgZGVzY3JpcHRpb25cbiAqXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1hbGVydCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbGVydC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FsZXJ0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGlucHV0czogWydjb2xvciddLFxuICBvdXRwdXRzOiBbJ2NvbG9yQ2hhbmdlJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEFYQ2xvc2JhbGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWEFsZXJ0Q29tcG9uZW50IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBBWEFsZXJ0Q29tcG9uZW50IGV4dGVuZHMgTVhDb2xvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQENvbnRlbnRDaGlsZCgnYXgtaWNvbicpXG4gIHByaXZhdGUgX2ljb25Db21wOiBBWERlY29yYXRvckljb25Db21wb25lbnQ7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihBWEJ1dHRvbkNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwcml2YXRlIF9idXR0b25Db21wcyE6IFF1ZXJ5TGlzdDxBWEJ1dHRvbkNvbXBvbmVudD47XG5cbiAgQENvbnRlbnRDaGlsZCgnYXgtdGl0bGUnKVxuICBwcm90ZWN0ZWQgX3RpdGxlQ29tcCE6IEFYRGVjb3JhdG9yR2VuZXJpY0NvbXBvbmVudDtcblxuICBAQ29udGVudENoaWxkKCdheC1jb250ZW50JylcbiAgcHJvdGVjdGVkIF9jb250ZW50Q29tcCE6IEFYRGVjb3JhdG9yR2VuZXJpY0NvbXBvbmVudDtcblxuICBAQ29udGVudENoaWxkKCdheC1mb290ZXInKVxuICBwcm90ZWN0ZWQgX2Zvb3RlckNvbXAhOiBBWERlY29yYXRvckdlbmVyaWNDb21wb25lbnQ7XG5cbiAgcHJvdGVjdGVkIF9zaG93SW5saW5lID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpXG4gIG9uQ2xvc2VkOiBFdmVudEVtaXR0ZXI8QVhFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYRXZlbnQ+KCk7XG5cbiAgcHJpdmF0ZSBfY3VzdG9tSWNvbjogc3RyaW5nO1xuICBwcml2YXRlIF90aW1lT3V0UmVmOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IF9faG9zdENsYXNzKCk6IHN0cmluZyB7XG4gICAgY29uc3QgX2NsYXNzID0gYGF4LSR7dGhpcy5jb2xvcn0tZGVmYXVsdGA7XG4gICAgcmV0dXJuIGBheC1hbGVydCBheC1ub25lICR7X2NsYXNzfWA7XG4gIH1cblxuICBwcml2YXRlIF90aW1lT3V0OiBudW1iZXI7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgdGltZU91dCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl90aW1lT3V0O1xuICB9XG4gIHB1YmxpYyBzZXQgdGltZU91dCh2OiBudW1iZXIpIHtcbiAgICB0aGlzLnNldE9wdGlvbih7XG4gICAgICBuYW1lOiAndGltZU91dCcsXG4gICAgICB2YWx1ZTogdixcbiAgICAgIGJlZm9yZUNhbGxiYWNrOiAob2xkVmFsdWUsIG5ld1ZhbHVlKSA9PiB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLl90aW1lT3V0UmVmKTtcbiAgICAgICAgcmV0dXJuIG5ld1ZhbHVlO1xuICAgICAgfSxcbiAgICAgIGFmdGVyQ2FsbGJhY2s6IChvbGRWYWx1ZSwgbmV3VmFsdWUpID0+IHtcbiAgICAgICAgaWYgKG5ld1ZhbHVlKSB7XG4gICAgICAgICAgdGhpcy5fdGltZU91dFJlZiA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICB9LCB0aGlzLnRpbWVPdXQpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfb2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXI7XG5cbiAgcHJvdGVjdGVkIF92aXNpYmxlOiBib29sZWFuO1xuICAvKipcbiAgICogIHNldCB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgQWxlcnRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgfVxuICBwdWJsaWMgc2V0IHZpc2libGUodjogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLl92aXNpYmxlICE9IHYpIHtcbiAgICAgIHRoaXMuX3Zpc2libGUgPSB2O1xuICAgICAgY29uc3QgaG9zdCA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKTtcbiAgICAgIGlmICh2KSB7XG4gICAgICAgIGhvc3QuY2xhc3NMaXN0LnJlbW92ZSgnYXgtc3RhdGUtaGlkZGVuJyk7XG4gICAgICAgIGhvc3QuY2xhc3NMaXN0LmFkZCgnYXgtc3RhdGUtdmlzaWJsZScpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaG9zdC5jbGFzc0xpc3QuYWRkKCdheC1zdGF0ZS1oaWRkZW4nKTtcbiAgICAgICAgaG9zdC5jbGFzc0xpc3QudG9nZ2xlKCdheC1zdGF0ZS12aXNpYmxlJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICBjb25zdCBjb25maWcgPSB7IGF0dHJpYnV0ZXM6IGZhbHNlLCBjaGlsZExpc3Q6IHRydWUsIHN1YnRyZWU6IHRydWUgfTtcbiAgICBjb25zdCBjYWxsYmFjayA9IChtdXRhdGlvbkxpc3QpID0+IHtcbiAgICAgIGZvciAoY29uc3QgbXV0YXRpb24gb2YgbXV0YXRpb25MaXN0KSB7XG4gICAgICAgIGlmIChtdXRhdGlvbi50eXBlID09PSAnY2hpbGRMaXN0Jykge1xuICAgICAgICAgIHRoaXMuX3NldExheW91dCgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcblxuICAgIC8vIENyZWF0ZSBhbiBvYnNlcnZlciBpbnN0YW5jZSBsaW5rZWQgdG8gdGhlIGNhbGxiYWNrIGZ1bmN0aW9uXG4gICAgaWYgKHR5cGVvZiBNdXRhdGlvbk9ic2VydmVyICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgdGhpcy5fb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcihjYWxsYmFjayk7XG4gICAgfVxuXG4gICAgLy8gU3RhcnQgb2JzZXJ2aW5nIHRoZSB0YXJnZXQgbm9kZSBmb3IgY29uZmlndXJlZCBtdXRhdGlvbnNcbiAgICB0aGlzLl9vYnNlcnZlci5vYnNlcnZlKHRoaXMuZ2V0SG9zdEVsZW1lbnQoKSwgY29uZmlnKTtcbiAgICAvL1xuICAgIHRoaXMub25PcHRpb25DaGFuZ2VkLnN1YnNjcmliZSh0aGlzLl9oYW5kbGVPbk9wdGlvbkNoYW5nZWQuYmluZCh0aGlzKSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMudmlzaWJsZSA9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XG4gICAgfVxuICAgIC8vXG4gICAgdGhpcy5fY3VzdG9tSWNvbiA9IHRoaXMuX2ljb25Db21wPy5pY29uO1xuICAgIHRoaXMuX3NldExheW91dCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0TGF5b3V0KCkge1xuICAgIHRoaXMuX3NldEljb24oKTtcbiAgICB0aGlzLl9hcHBseUJ1dHRvblN0eWxlKCk7XG4gICAgdGhpcy5fc2hvd0lubGluZSA9IHRoaXMuX2NvbnRlbnRDb21wID09IG51bGwgJiYgdGhpcy5fZm9vdGVyQ29tcCA9PSBudWxsO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9oYW5kbGVPbk9wdGlvbkNoYW5nZWQoKSB7XG4gICAgdGhpcy5fc2V0SWNvbigpO1xuICAgIHRoaXMuX2FwcGx5QnV0dG9uU3R5bGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldEljb24oKSB7XG4gICAgaWYgKCF0aGlzLl9pY29uQ29tcCB8fCB0aGlzLl9pY29uQ29tcC5nZXRIb3N0RWxlbWVudCgpLmZpcnN0RWxlbWVudENoaWxkKSByZXR1cm47XG5cbiAgICBzd2l0Y2ggKHRoaXMuY29sb3IpIHtcbiAgICAgIGNhc2UgJ3N1Y2Nlc3MnOlxuICAgICAgICB0aGlzLl9pY29uQ29tcC5pY29uID0gJ2F4LWljb24gYXgtaWNvbi1jaGVjay1jaXJjbGUtZmlsbCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZGFuZ2VyJzpcbiAgICAgICAgdGhpcy5faWNvbkNvbXAuaWNvbiA9ICdheC1pY29uIGF4LWljb24tZXJyb3ItZmlsbCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnd2FybmluZyc6XG4gICAgICAgIHRoaXMuX2ljb25Db21wLmljb24gPSAnYXgtaWNvbiBheC1pY29uLXdhcm5pbmctZmlsbCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnaW5mbyc6XG4gICAgICAgIHRoaXMuX2ljb25Db21wLmljb24gPSAnYXgtaWNvbiBheC1pY29uLWluZm8nO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMuX2ljb25Db21wLmljb24gPSB0aGlzLl9jdXN0b21JY29uIHx8ICdheC1pY29uIGF4LWljb24tY2hlY2stY2lyY2xlLWZpbGwnO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9hcHBseUJ1dHRvblN0eWxlKCkge1xuICAgIC8vIHRoaXMuX2J1dHRvbkNvbXBzPy5mb3JFYWNoKChjOiBBWEJ1dHRvbkNvbXBvbmVudCkgPT4ge1xuICAgIC8vICAgYy5jb2xvciA9IHRoaXMuY29sb3I7XG4gICAgLy8gICBjLmdldEhvc3RFbGVtZW50KCkuY2xhc3NMaXN0LmFkZCgnYXgtc20nKTtcbiAgICAvLyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgUmVtb3ZlIHRoZSBhbGVydCBmcm9tIHRoZSBjb250YWluZXJcbiAgICovXG4gIGNsb3NlKCk6IHZvaWQge1xuICAgIGNvbnN0IGhvc3QgPSB0aGlzLmdldEhvc3RFbGVtZW50KCk7XG4gICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgY29uc3QgZnVuYyA9ICgpID0+IHtcbiAgICAgIGhvc3QucGFyZW50RWxlbWVudD8ucmVtb3ZlQ2hpbGQoaG9zdCk7XG4gICAgICB0aGlzLm9uQ2xvc2VkLmVtaXQoe1xuICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICB9KTtcbiAgICAgIGhvc3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigndHJhbnNpdGlvbmVuZCcsIGZ1bmMpO1xuICAgIH07XG4gICAgaG9zdC5hZGRFdmVudExpc3RlbmVyKCd0cmFuc2l0aW9uZW5kJywgZnVuYyk7XG4gIH1cblxuICAvKipcbiAgICogIEhpZGUgdGhlIGFsZXJ0XG4gICAqL1xuICBoaWRlKCk6IHZvaWQge1xuICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqICBTaG93IHRoZSBhbGVydFxuICAgKi9cbiAgc2hvdygpIHtcbiAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fb2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLm9uT3B0aW9uQ2hhbmdlZD8udW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9zaG93SW5saW5lOyBlbHNlIGVsc2VUcGxcIj5cbiAgPGRpdiBjbGFzcz1cImF4LWFsZXJ0LWlubGluZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJheC1hbGVydC1pY29uXCI+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImljb25cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtYWxlcnQtdGl0bGVcIj5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwidGl0bGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtYWxlcnQtYnV0dG9uc1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJidXR0b25zXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjbG9zZUJ1dHRvblwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2Vsc2VUcGw+XG4gIDxkaXYgY2xhc3M9XCJheC1hbGVydC1ibG9ja1wiPlxuICAgIDxkaXYgY2xhc3M9XCJheC1hbGVydC1pY29uXCI+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImljb25cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtYWxlcnQtY29udGVudFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImF4LWFsZXJ0LXRpdGxlXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwidGl0bGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImZvb3RlclwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXY+PG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjbG9zZUJ1dHRvblwiPjwvbmctY29udGFpbmVyPjwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG48ZGl2IGNsYXNzPVwiYXgtYWxlcnQtcHJvZ3Jlc3NcIiBbc3R5bGUuYW5pbWF0aW9uLWR1cmF0aW9uLm1zXT1cInRpbWVPdXRcIiAqbmdJZj1cInRpbWVPdXRcIj48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNidXR0b25zPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1idXR0b25cIj4gPC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjY2xvc2VCdXR0b24+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LWNsb3NlLWJ1dHRvblwiPiA8L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICN0aXRsZT5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtdGl0bGVcIj4gPC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjaWNvbj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtaWNvblwiPiA8L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1jb250ZW50XCI+IDwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2Zvb3Rlcj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtZm9vdGVyXCI+IDwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
190
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FsZXJ0L3NyYy9saWIvYWxlcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FsZXJ0L3NyYy9saWIvYWxlcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFXLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0YsT0FBTyxFQUFFLDJCQUEyQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFdEcsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQzs7O0FBRXZCOzs7O0dBSUc7QUFXSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsZ0JBQWdCO0lBVnREOztRQTBCWSxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUc5QixhQUFRLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7S0FzSy9EO0lBaktDOztPQUVHO0lBQ0gsSUFDSSxXQUFXO1FBQ2IsT0FBTyx1QkFBdUIsSUFBSSxDQUFDLEtBQUssUUFBUSxDQUFDO0lBQ25ELENBQUM7SUFHRCxJQUNXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxJQUFXLE9BQU8sQ0FBQyxDQUFTO1FBQzFCLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDYixJQUFJLEVBQUUsU0FBUztZQUNmLEtBQUssRUFBRSxDQUFDO1lBQ1IsY0FBYyxFQUFFLENB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WTt1QkFBQyxVQUFVO2dCQUlkLFlBQVk7c0JBRHJCLFlBQVk7dUJBQUMsWUFBWTtnQkFJaEIsV0FBVztzQkFEcEIsWUFBWTt1QkFBQyxXQUFXO2dCQU16QixRQUFRO3NCQURQLE1BQU07Z0JBVUgsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU87Z0JBT1QsT0FBTztzQkFEakIsS0FBSztnQkE2QkssT0FBTztzQkFEakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWENsb3NiYWxlQ29tcG9uZW50LCBBWEV2ZW50LCBNWENvbG9yQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBBWERlY29yYXRvckdlbmVyaWNDb21wb25lbnQsIEFYRGVjb3JhdG9ySWNvbkNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBSZWd1bGFyIGRlc2NyaXB0aW9uXG4gKlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtYWxlcnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWxlcnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hbGVydC5jb21wb25lbnQuc2NzcyddLFxuICBpbnB1dHM6IFsnY29sb3InXSxcbiAgb3V0cHV0czogWydjb2xvckNoYW5nZSddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWENsb3NiYWxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhBbGVydENvbXBvbmVudCB9XSxcbn0pXG5leHBvcnQgY2xhc3MgQVhBbGVydENvbXBvbmVudCBleHRlbmRzIE1YQ29sb3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBDb250ZW50Q2hpbGQoJ2F4LWljb24nKVxuICBwcml2YXRlIF9pY29uQ29tcDogQVhEZWNvcmF0b3JJY29uQ29tcG9uZW50O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oQVhCdXR0b25Db21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHJpdmF0ZSBfYnV0dG9uQ29tcHMhOiBRdWVyeUxpc3Q8QVhCdXR0b25Db21wb25lbnQ+O1xuXG4gIEBDb250ZW50Q2hpbGQoJ2F4LXRpdGxlJylcbiAgcHJvdGVjdGVkIF90aXRsZUNvbXAhOiBBWERlY29yYXRvckdlbmVyaWNDb21wb25lbnQ7XG5cbiAgQENvbnRlbnRDaGlsZCgnYXgtY29udGVudCcpXG4gIHByb3RlY3RlZCBfY29udGVudENvbXAhOiBBWERlY29yYXRvckdlbmVyaWNDb21wb25lbnQ7XG5cbiAgQENvbnRlbnRDaGlsZCgnYXgtZm9vdGVyJylcbiAgcHJvdGVjdGVkIF9mb290ZXJDb21wITogQVhEZWNvcmF0b3JHZW5lcmljQ29tcG9uZW50O1xuXG4gIHByb3RlY3RlZCBfc2hvd0lubGluZSA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKVxuICBvbkNsb3NlZDogRXZlbnRFbWl0dGVyPEFYRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWEV2ZW50PigpO1xuXG4gIHByaXZhdGUgX2N1c3RvbUljb246IHN0cmluZztcbiAgcHJpdmF0ZSBfdGltZU91dFJlZjogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBfX2hvc3RDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBgYXgtYWxlcnQgYXgtbm9uZSBheC0ke3RoaXMuY29sb3J9LXNvbGlkYDtcbiAgfVxuXG4gIHByaXZhdGUgX3RpbWVPdXQ6IG51bWJlcjtcbiAgQElucHV0KClcbiAgcHVibGljIGdldCB0aW1lT3V0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3RpbWVPdXQ7XG4gIH1cbiAgcHVibGljIHNldCB0aW1lT3V0KHY6IG51bWJlcikge1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICd0aW1lT3V0JyxcbiAgICAgIHZhbHVlOiB2LFxuICAgICAgYmVmb3JlQ2FsbGJhY2s6IChvbGRWYWx1ZSwgbmV3VmFsdWUpID0+IHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVPdXRSZWYpO1xuICAgICAgICByZXR1cm4gbmV3VmFsdWU7XG4gICAgICB9LFxuICAgICAgYWZ0ZXJDYWxsYmFjazogKG9sZFZhbHVlLCBuZXdWYWx1ZSkgPT4ge1xuICAgICAgICBpZiAobmV3VmFsdWUpIHtcbiAgICAgICAgICB0aGlzLl90aW1lT3V0UmVmID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgIH0sIHRoaXMudGltZU91dCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9vYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlcjtcblxuICBwcm90ZWN0ZWQgX3Zpc2libGU6IGJvb2xlYW47XG4gIC8qKlxuICAgKiAgc2V0IHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBBbGVydFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xuICB9XG4gIHB1YmxpYyBzZXQgdmlzaWJsZSh2OiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuX3Zpc2libGUgIT0gdikge1xuICAgICAgdGhpcy5fdmlzaWJsZSA9IHY7XG4gICAgICBjb25zdCBob3N0ID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpO1xuICAgICAgaWYgKHYpIHtcbiAgICAgICAgaG9zdC5jbGFzc0xpc3QucmVtb3ZlKCdheC1zdGF0ZS1oaWRkZW4nKTtcbiAgICAgICAgaG9zdC5jbGFzc0xpc3QuYWRkKCdheC1zdGF0ZS12aXNpYmxlJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBob3N0LmNsYXNzTGlzdC5hZGQoJ2F4LXN0YXRlLWhpZGRlbicpO1xuICAgICAgICBob3N0LmNsYXNzTGlzdC50b2dnbGUoJ2F4LXN0YXRlLXZpc2libGUnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIGNvbnN0IGNvbmZpZyA9IHsgYXR0cmlidXRlczogZmFsc2UsIGNoaWxkTGlzdDogdHJ1ZSwgc3VidHJlZTogdHJ1ZSB9O1xuICAgIGNvbnN0IGNhbGxiYWNrID0gKG11dGF0aW9uTGlzdCkgPT4ge1xuICAgICAgZm9yIChjb25zdCBtdXRhdGlvbiBvZiBtdXRhdGlvbkxpc3QpIHtcbiAgICAgICAgaWYgKG11dGF0aW9uLnR5cGUgPT09ICdjaGlsZExpc3QnKSB7XG4gICAgICAgICAgdGhpcy5fc2V0TGF5b3V0KCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgLy8gQ3JlYXRlIGFuIG9ic2VydmVyIGluc3RhbmNlIGxpbmtlZCB0byB0aGUgY2FsbGJhY2sgZnVuY3Rpb25cbiAgICBpZiAodHlwZW9mIE11dGF0aW9uT2JzZXJ2ZXIgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICB0aGlzLl9vYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKGNhbGxiYWNrKTtcbiAgICB9XG5cbiAgICAvLyBTdGFydCBvYnNlcnZpbmcgdGhlIHRhcmdldCBub2RlIGZvciBjb25maWd1cmVkIG11dGF0aW9uc1xuICAgIHRoaXMuX29ic2VydmVyLm9ic2VydmUodGhpcy5nZXRIb3N0RWxlbWVudCgpLCBjb25maWcpO1xuICAgIC8vXG4gICAgdGhpcy5vbk9wdGlvbkNoYW5nZWQuc3Vic2NyaWJlKHRoaXMuX2hhbmRsZU9uT3B0aW9uQ2hhbmdlZC5iaW5kKHRoaXMpKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAodGhpcy52aXNpYmxlID09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgICB9XG4gICAgLy9cbiAgICB0aGlzLl9jdXN0b21JY29uID0gdGhpcy5faWNvbkNvbXA/Lmljb247XG4gICAgdGhpcy5fc2V0TGF5b3V0KCk7XG4gIH1cblxuICBwcml2YXRlIF9zZXRMYXlvdXQoKSB7XG4gICAgdGhpcy5fc2V0SWNvbigpO1xuICAgIHRoaXMuX2FwcGx5QnV0dG9uU3R5bGUoKTtcbiAgICB0aGlzLl9zaG93SW5saW5lID0gdGhpcy5fY29udGVudENvbXAgPT0gbnVsbCAmJiB0aGlzLl9mb290ZXJDb21wID09IG51bGw7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2hhbmRsZU9uT3B0aW9uQ2hhbmdlZCgpIHtcbiAgICB0aGlzLl9zZXRJY29uKCk7XG4gICAgdGhpcy5fYXBwbHlCdXR0b25TdHlsZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0SWNvbigpIHtcbiAgICBpZiAoIXRoaXMuX2ljb25Db21wIHx8IHRoaXMuX2ljb25Db21wLmdldEhvc3RFbGVtZW50KCkuZmlyc3RFbGVtZW50Q2hpbGQpIHJldHVybjtcblxuICAgIHN3aXRjaCAodGhpcy5jb2xvcikge1xuICAgICAgY2FzZSAnc3VjY2Vzcyc6XG4gICAgICAgIHRoaXMuX2ljb25Db21wLmljb24gPSAnYXgtaWNvbiBheC1pY29uLWNoZWNrLWNpcmNsZS1maWxsJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdkYW5nZXInOlxuICAgICAgICB0aGlzLl9pY29uQ29tcC5pY29uID0gJ2F4LWljb24gYXgtaWNvbi1lcnJvci1maWxsJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd3YXJuaW5nJzpcbiAgICAgICAgdGhpcy5faWNvbkNvbXAuaWNvbiA9ICdheC1pY29uIGF4LWljb24td2FybmluZy1maWxsJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdpbmZvJzpcbiAgICAgICAgdGhpcy5faWNvbkNvbXAuaWNvbiA9ICdheC1pY29uIGF4LWljb24taW5mbyc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy5faWNvbkNvbXAuaWNvbiA9IHRoaXMuX2N1c3RvbUljb24gfHwgJ2F4LWljb24gYXgtaWNvbi1jaGVjay1jaXJjbGUtZmlsbCc7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2FwcGx5QnV0dG9uU3R5bGUoKSB7XG4gICAgLy8gdGhpcy5fYnV0dG9uQ29tcHM/LmZvckVhY2goKGM6IEFYQnV0dG9uQ29tcG9uZW50KSA9PiB7XG4gICAgLy8gICBjLmNvbG9yID0gdGhpcy5jb2xvcjtcbiAgICAvLyAgIGMuZ2V0SG9zdEVsZW1lbnQoKS5jbGFzc0xpc3QuYWRkKCdheC1zbScpO1xuICAgIC8vIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqICBSZW1vdmUgdGhlIGFsZXJ0IGZyb20gdGhlIGNvbnRhaW5lclxuICAgKi9cbiAgY2xvc2UoKTogdm9pZCB7XG4gICAgY29uc3QgaG9zdCA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKTtcbiAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICBjb25zdCBmdW5jID0gKCkgPT4ge1xuICAgICAgaG9zdC5wYXJlbnRFbGVtZW50Py5yZW1vdmVDaGlsZChob3N0KTtcbiAgICAgIHRoaXMub25DbG9zZWQuZW1pdCh7XG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgIH0pO1xuICAgICAgaG9zdC5yZW1vdmVFdmVudExpc3RlbmVyKCd0cmFuc2l0aW9uZW5kJywgZnVuYyk7XG4gICAgfTtcbiAgICBob3N0LmFkZEV2ZW50TGlzdGVuZXIoJ3RyYW5zaXRpb25lbmQnLCBmdW5jKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgSGlkZSB0aGUgYWxlcnRcbiAgICovXG4gIGhpZGUoKTogdm9pZCB7XG4gICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogIFNob3cgdGhlIGFsZXJ0XG4gICAqL1xuICBzaG93KCkge1xuICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9vYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIHRoaXMub25PcHRpb25DaGFuZ2VkPy51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiX3Nob3dJbmxpbmU7IGVsc2UgZWxzZVRwbFwiPlxuICA8ZGl2IGNsYXNzPVwiYXgtYWxlcnQtaW5saW5lXCI+XG4gICAgPGRpdiBjbGFzcz1cImF4LWFsZXJ0LWljb25cIj5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaWNvblwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJheC1hbGVydC10aXRsZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0aXRsZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJheC1hbGVydC1idXR0b25zXCI+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImJ1dHRvbnNcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNsb3NlQnV0dG9uXCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjZWxzZVRwbD5cbiAgPGRpdiBjbGFzcz1cImF4LWFsZXJ0LWJsb2NrXCI+XG4gICAgPGRpdiBjbGFzcz1cImF4LWFsZXJ0LWljb25cIj5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaWNvblwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJheC1hbGVydC1jb250ZW50XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtYWxlcnQtdGl0bGVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0aXRsZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZm9vdGVyXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdj48bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNsb3NlQnV0dG9uXCI+PC9uZy1jb250YWluZXI+PC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjxkaXYgY2xhc3M9XCJheC1hbGVydC1wcm9ncmVzc1wiIFtzdHlsZS5hbmltYXRpb24tZHVyYXRpb24ubXNdPVwidGltZU91dFwiICpuZ0lmPVwidGltZU91dFwiPjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2J1dHRvbnM+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LWJ1dHRvblwiPiA8L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNjbG9zZUJ1dHRvbj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtY2xvc2UtYnV0dG9uXCI+IDwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI3RpdGxlPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJheC10aXRsZVwiPiA8L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNpY29uPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1pY29uXCI+IDwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LWNvbnRlbnRcIj4gPC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjZm9vdGVyPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1mb290ZXJcIj4gPC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|