ngx-tethys 16.1.13 → 16.1.14
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/CHANGELOG.md +15 -0
- package/anchor/anchor.component.d.ts +11 -4
- package/anchor/style/anchor.scss +65 -21
- package/date-picker/picker.component.d.ts +0 -2
- package/esm2022/anchor/anchor.component.mjs +41 -15
- package/esm2022/date-picker/picker.component.mjs +4 -15
- package/esm2022/date-picker/picker.util.mjs +2 -2
- package/esm2022/version.mjs +2 -2
- package/fesm2022/ngx-tethys-anchor.mjs +39 -13
- package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-picker.mjs +5 -15
- package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys.mjs +1 -1
- package/fesm2022/ngx-tethys.mjs.map +1 -1
- package/input/styles/input-group.scss +27 -5
- package/package.json +1 -1
- package/schematics/version.d.ts +1 -1
- package/schematics/version.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [16.1.14](https://github.com/atinc/ngx-tethys/compare/16.1.13...16.1.14) (2023-11-20)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* **date-picker:** adjust updateReadableDate function INFR-10167 ([#2900](https://github.com/atinc/ngx-tethys/issues/2900)) ([4c2f14a](https://github.com/atinc/ngx-tethys/commit/4c2f14a59e86264e39343497dbae8aee4fba7440))
|
|
11
|
+
* **input:** adjust left margin of prefix element and right margin of suffix element #INFR-10515 ([8ad60ce](https://github.com/atinc/ngx-tethys/commit/8ad60ce0272e6fbc1313f37ce763455f6d13f1ec)), closes [#INFR-10515](https://github.com/atinc/ngx-tethys/issues/INFR-10515)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* **anchor:** support horizontal display #INFR-10451 ([#2901](https://github.com/atinc/ngx-tethys/issues/2901)) ([bb5d10a](https://github.com/atinc/ngx-tethys/commit/bb5d10a5dde4832a496c24137750e635fead2ec5)), closes [#INFR-10451](https://github.com/atinc/ngx-tethys/issues/INFR-10451)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
5
20
|
## [16.1.13](https://github.com/atinc/ngx-tethys/compare/16.1.12...16.1.13) (2023-11-16)
|
|
6
21
|
|
|
7
22
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Platform } from '@angular/cdk/platform';
|
|
2
|
-
import { AfterViewInit, ChangeDetectorRef, EventEmitter, NgZone, OnChanges, OnDestroy, Renderer2, SimpleChanges } from '@angular/core';
|
|
3
|
-
import { ThyAnchorLinkComponent } from './anchor-link.component';
|
|
2
|
+
import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, NgZone, OnChanges, OnDestroy, Renderer2, SimpleChanges } from '@angular/core';
|
|
4
3
|
import { ThyScrollService } from 'ngx-tethys/core';
|
|
4
|
+
import { ThyAnchorLinkComponent } from './anchor-link.component';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
/**
|
|
7
7
|
* 锚点组件
|
|
@@ -14,6 +14,7 @@ export declare class ThyAnchorComponent implements OnDestroy, AfterViewInit, OnC
|
|
|
14
14
|
private zone;
|
|
15
15
|
private renderer;
|
|
16
16
|
private scrollService;
|
|
17
|
+
private elementRef;
|
|
17
18
|
private ink;
|
|
18
19
|
/**
|
|
19
20
|
* 固定模式
|
|
@@ -32,6 +33,11 @@ export declare class ThyAnchorComponent implements OnDestroy, AfterViewInit, OnC
|
|
|
32
33
|
* @type string | HTMLElement
|
|
33
34
|
*/
|
|
34
35
|
thyContainer?: string | HTMLElement;
|
|
36
|
+
/**
|
|
37
|
+
* 设置导航方向
|
|
38
|
+
* @type 'vertical' | 'horizontal'
|
|
39
|
+
*/
|
|
40
|
+
thyDirection: 'vertical' | 'horizontal';
|
|
35
41
|
/**
|
|
36
42
|
* 点击项触发
|
|
37
43
|
*/
|
|
@@ -49,12 +55,13 @@ export declare class ThyAnchorComponent implements OnDestroy, AfterViewInit, OnC
|
|
|
49
55
|
private animating;
|
|
50
56
|
private destroy$;
|
|
51
57
|
private handleScrollTimeoutID;
|
|
52
|
-
constructor(document: any, cdr: ChangeDetectorRef, platform: Platform, zone: NgZone, renderer: Renderer2, scrollService: ThyScrollService);
|
|
58
|
+
constructor(document: any, cdr: ChangeDetectorRef, platform: Platform, zone: NgZone, renderer: Renderer2, scrollService: ThyScrollService, elementRef: ElementRef);
|
|
53
59
|
registerLink(link: ThyAnchorLinkComponent): void;
|
|
54
60
|
unregisterLink(link: ThyAnchorLinkComponent): void;
|
|
55
61
|
private getContainer;
|
|
56
62
|
ngAfterViewInit(): void;
|
|
57
63
|
ngOnDestroy(): void;
|
|
64
|
+
private warningPrompt;
|
|
58
65
|
private registerScrollEvent;
|
|
59
66
|
handleScroll(): void;
|
|
60
67
|
private clearActive;
|
|
@@ -63,5 +70,5 @@ export declare class ThyAnchorComponent implements OnDestroy, AfterViewInit, OnC
|
|
|
63
70
|
handleScrollTo(linkComponent: ThyAnchorLinkComponent): void;
|
|
64
71
|
ngOnChanges(changes: SimpleChanges): void;
|
|
65
72
|
static ɵfac: i0.ɵɵFactoryDeclaration<ThyAnchorComponent, never>;
|
|
66
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ThyAnchorComponent, "thy-anchor", ["thyAnchor"], { "thyAffix": { "alias": "thyAffix"; "required": false; }; "thyBounds": { "alias": "thyBounds"; "required": false; }; "thyOffsetTop": { "alias": "thyOffsetTop"; "required": false; }; "thyContainer": { "alias": "thyContainer"; "required": false; }; }, { "thyClick": "thyClick"; "thyScroll": "thyScroll"; }, never, ["*"], true, never>;
|
|
73
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ThyAnchorComponent, "thy-anchor", ["thyAnchor"], { "thyAffix": { "alias": "thyAffix"; "required": false; }; "thyBounds": { "alias": "thyBounds"; "required": false; }; "thyOffsetTop": { "alias": "thyOffsetTop"; "required": false; }; "thyContainer": { "alias": "thyContainer"; "required": false; }; "thyDirection": { "alias": "thyDirection"; "required": false; }; }, { "thyClick": "thyClick"; "thyScroll": "thyScroll"; }, never, ["*"], true, never>;
|
|
67
74
|
}
|
package/anchor/style/anchor.scss
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@use
|
|
1
|
+
@use '../../styles/variables';
|
|
2
2
|
|
|
3
3
|
$anchor-border-width: 2px;
|
|
4
4
|
|
|
@@ -7,30 +7,74 @@ $anchor-border-width: 2px;
|
|
|
7
7
|
padding-left: $anchor-border-width;
|
|
8
8
|
|
|
9
9
|
&-wrapper {
|
|
10
|
-
margin-
|
|
11
|
-
padding-
|
|
10
|
+
margin-block-start: -4px;
|
|
11
|
+
padding-block-start: 4px;
|
|
12
12
|
overflow: auto;
|
|
13
13
|
background-color: variables.$white;
|
|
14
|
-
}
|
|
15
14
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
15
|
+
&:not(&-horizontal) {
|
|
16
|
+
.thy-anchor {
|
|
17
|
+
&-ink {
|
|
18
|
+
position: absolute;
|
|
19
|
+
top: 0;
|
|
20
|
+
left: 0;
|
|
21
|
+
height: 100%;
|
|
22
|
+
|
|
23
|
+
&::before {
|
|
24
|
+
position: relative;
|
|
25
|
+
display: block;
|
|
26
|
+
width: $anchor-border-width;
|
|
27
|
+
height: 100%;
|
|
28
|
+
margin: 0 auto;
|
|
29
|
+
background-color: variables.$nav-border-color;
|
|
30
|
+
content: ' ';
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
&-full {
|
|
34
|
+
position: absolute;
|
|
35
|
+
border-left: $anchor-border-width solid variables.$primary;
|
|
36
|
+
transition: top 0.2s ease-in-out;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
29
40
|
}
|
|
30
|
-
&-
|
|
31
|
-
position:
|
|
32
|
-
|
|
33
|
-
|
|
41
|
+
&-horizontal {
|
|
42
|
+
position: relative;
|
|
43
|
+
|
|
44
|
+
.thy-anchor {
|
|
45
|
+
display: flex;
|
|
46
|
+
overflow-x: scroll;
|
|
47
|
+
scrollbar-width: none;
|
|
48
|
+
|
|
49
|
+
&-ink {
|
|
50
|
+
position: absolute;
|
|
51
|
+
bottom: 0;
|
|
52
|
+
left: 0;
|
|
53
|
+
width: 100%;
|
|
54
|
+
height: 2px;
|
|
55
|
+
|
|
56
|
+
&::before {
|
|
57
|
+
position: relative;
|
|
58
|
+
display: block;
|
|
59
|
+
width: 100%;
|
|
60
|
+
height: $anchor-border-width;
|
|
61
|
+
margin: 0 auto;
|
|
62
|
+
background-color: variables.$nav-border-color;
|
|
63
|
+
content: ' ';
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
&-full {
|
|
67
|
+
position: absolute;
|
|
68
|
+
bottom: 0;
|
|
69
|
+
border-top: $anchor-border-width solid variables.$primary;
|
|
70
|
+
transition: left 0.2s ease-in-out, width 0.2s ease-in-out;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
&-link-title {
|
|
74
|
+
padding-left: 8px;
|
|
75
|
+
padding-right: 8px;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
34
78
|
}
|
|
35
79
|
}
|
|
36
80
|
|
|
@@ -5,7 +5,6 @@ import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter } from '@ang
|
|
|
5
5
|
import { DateHelperService } from './date-helper.service';
|
|
6
6
|
import { CompatibleValue, RangePartType } from './inner-types';
|
|
7
7
|
import { ThyDateGranularity } from './standard-types';
|
|
8
|
-
import { BehaviorSubject } from 'rxjs';
|
|
9
8
|
import * as i0 from "@angular/core";
|
|
10
9
|
/**
|
|
11
10
|
* @private
|
|
@@ -43,7 +42,6 @@ export declare class ThyPickerComponent implements AfterViewInit {
|
|
|
43
42
|
private innerFormat;
|
|
44
43
|
private innerValue;
|
|
45
44
|
entering: boolean;
|
|
46
|
-
readableValue$: BehaviorSubject<string>;
|
|
47
45
|
prefixCls: string;
|
|
48
46
|
animationOpenState: boolean;
|
|
49
47
|
overlayOpen: boolean;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
|
2
2
|
import { Platform } from '@angular/cdk/platform';
|
|
3
3
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Inject, Input, NgZone, Output, Renderer2, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
4
|
-
import {
|
|
4
|
+
import { Subject, fromEvent } from 'rxjs';
|
|
5
5
|
import { takeUntil, throttleTime } from 'rxjs/operators';
|
|
6
|
-
import {
|
|
7
|
-
import { InputBoolean, InputNumber, ThyScrollService } from 'ngx-tethys/core';
|
|
8
|
-
import { DOCUMENT, NgIf, NgTemplateOutlet, NgStyle } from '@angular/common';
|
|
6
|
+
import { DOCUMENT, NgClass, NgIf, NgStyle, NgTemplateOutlet } from '@angular/common';
|
|
9
7
|
import { ThyAffixComponent } from 'ngx-tethys/affix';
|
|
8
|
+
import { InputBoolean, InputNumber, ThyScrollService } from 'ngx-tethys/core';
|
|
9
|
+
import { getOffset } from 'ngx-tethys/util';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
import * as i1 from "@angular/cdk/platform";
|
|
12
12
|
import * as i2 from "ngx-tethys/core";
|
|
@@ -16,13 +16,14 @@ const sharpMatcherRegx = /#([^#]+)$/;
|
|
|
16
16
|
* @name thy-anchor
|
|
17
17
|
*/
|
|
18
18
|
export class ThyAnchorComponent {
|
|
19
|
-
constructor(document, cdr, platform, zone, renderer, scrollService) {
|
|
19
|
+
constructor(document, cdr, platform, zone, renderer, scrollService, elementRef) {
|
|
20
20
|
this.document = document;
|
|
21
21
|
this.cdr = cdr;
|
|
22
22
|
this.platform = platform;
|
|
23
23
|
this.zone = zone;
|
|
24
24
|
this.renderer = renderer;
|
|
25
25
|
this.scrollService = scrollService;
|
|
26
|
+
this.elementRef = elementRef;
|
|
26
27
|
/**
|
|
27
28
|
* 固定模式
|
|
28
29
|
*/
|
|
@@ -35,6 +36,11 @@ export class ThyAnchorComponent {
|
|
|
35
36
|
* 缓冲的偏移量阈值
|
|
36
37
|
*/
|
|
37
38
|
this.thyOffsetTop = undefined;
|
|
39
|
+
/**
|
|
40
|
+
* 设置导航方向
|
|
41
|
+
* @type 'vertical' | 'horizontal'
|
|
42
|
+
*/
|
|
43
|
+
this.thyDirection = 'vertical';
|
|
38
44
|
/**
|
|
39
45
|
* 点击项触发
|
|
40
46
|
*/
|
|
@@ -60,6 +66,7 @@ export class ThyAnchorComponent {
|
|
|
60
66
|
return this.container || window;
|
|
61
67
|
}
|
|
62
68
|
ngAfterViewInit() {
|
|
69
|
+
this.warningPrompt();
|
|
63
70
|
this.registerScrollEvent();
|
|
64
71
|
}
|
|
65
72
|
ngOnDestroy() {
|
|
@@ -67,6 +74,14 @@ export class ThyAnchorComponent {
|
|
|
67
74
|
this.destroy$.next();
|
|
68
75
|
this.destroy$.complete();
|
|
69
76
|
}
|
|
77
|
+
warningPrompt() {
|
|
78
|
+
if (this.thyDirection === 'horizontal') {
|
|
79
|
+
const hasChildren = this.links.some(link => Array.from(link?.elementRef?.nativeElement?.childNodes)?.some((item) => item?.className.includes('thy-anchor-link')));
|
|
80
|
+
if (hasChildren) {
|
|
81
|
+
console.warn("Anchor link nesting is not supported when 'Anchor' direction is horizontal.");
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
70
85
|
registerScrollEvent() {
|
|
71
86
|
if (!this.platform.isBrowser) {
|
|
72
87
|
return;
|
|
@@ -124,8 +139,11 @@ export class ThyAnchorComponent {
|
|
|
124
139
|
this.clearActive();
|
|
125
140
|
linkComponent.setActive();
|
|
126
141
|
const linkNode = linkComponent.getLinkTitleElement();
|
|
127
|
-
this.
|
|
128
|
-
this.ink.nativeElement.style.
|
|
142
|
+
const horizontalAnchor = this.thyDirection === 'horizontal';
|
|
143
|
+
this.ink.nativeElement.style.top = horizontalAnchor ? '' : `${linkNode.offsetTop}px`;
|
|
144
|
+
this.ink.nativeElement.style.height = horizontalAnchor ? '' : `${linkNode.clientHeight}px`;
|
|
145
|
+
this.ink.nativeElement.style.left = horizontalAnchor ? `${linkNode.offsetLeft}px` : '';
|
|
146
|
+
this.ink.nativeElement.style.width = horizontalAnchor ? `${linkNode.clientWidth}px` : '';
|
|
129
147
|
this.visible = true;
|
|
130
148
|
this.setVisible();
|
|
131
149
|
this.thyScroll.emit(linkComponent);
|
|
@@ -171,13 +189,16 @@ export class ThyAnchorComponent {
|
|
|
171
189
|
this.registerScrollEvent();
|
|
172
190
|
}
|
|
173
191
|
}
|
|
174
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ThyAnchorComponent, deps: [{ token: DOCUMENT }, { token: i0.ChangeDetectorRef }, { token: i1.Platform }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i2.ThyScrollService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
175
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: ThyAnchorComponent, isStandalone: true, selector: "thy-anchor", inputs: { thyAffix: "thyAffix", thyBounds: "thyBounds", thyOffsetTop: "thyOffsetTop", thyContainer: "thyContainer" }, outputs: { thyClick: "thyClick", thyScroll: "thyScroll" }, viewQueries: [{ propertyName: "ink", first: true, predicate: ["ink"], descendants: true }], exportAs: ["thyAnchor"], usesOnChanges: true, ngImport: i0, template: `
|
|
192
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ThyAnchorComponent, deps: [{ token: DOCUMENT }, { token: i0.ChangeDetectorRef }, { token: i1.Platform }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i2.ThyScrollService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
193
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: ThyAnchorComponent, isStandalone: true, selector: "thy-anchor", inputs: { thyAffix: "thyAffix", thyBounds: "thyBounds", thyOffsetTop: "thyOffsetTop", thyContainer: "thyContainer", thyDirection: "thyDirection" }, outputs: { thyClick: "thyClick", thyScroll: "thyScroll" }, viewQueries: [{ propertyName: "ink", first: true, predicate: ["ink"], descendants: true }], exportAs: ["thyAnchor"], usesOnChanges: true, ngImport: i0, template: `
|
|
176
194
|
<thy-affix *ngIf="thyAffix; else content" [thyOffsetTop]="thyOffsetTop" [thyContainer]="container">
|
|
177
195
|
<ng-template [ngTemplateOutlet]="content"></ng-template>
|
|
178
196
|
</thy-affix>
|
|
179
197
|
<ng-template #content>
|
|
180
|
-
<div
|
|
198
|
+
<div
|
|
199
|
+
class="thy-anchor-wrapper"
|
|
200
|
+
[ngClass]="{ 'thy-anchor-wrapper-horizontal': thyDirection === 'horizontal' }"
|
|
201
|
+
[ngStyle]="wrapperStyle">
|
|
181
202
|
<div class="thy-anchor">
|
|
182
203
|
<div class="thy-anchor-ink">
|
|
183
204
|
<div class="thy-anchor-ink-full" #ink></div>
|
|
@@ -186,7 +207,7 @@ export class ThyAnchorComponent {
|
|
|
186
207
|
</div>
|
|
187
208
|
</div>
|
|
188
209
|
</ng-template>
|
|
189
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyAffixComponent, selector: "thy-affix", inputs: ["thyContainer", "thyOffsetTop", "thyOffsetBottom"], outputs: ["thyChange"], exportAs: ["thyAffix"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
210
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyAffixComponent, selector: "thy-affix", inputs: ["thyContainer", "thyOffsetTop", "thyOffsetBottom"], outputs: ["thyChange"], exportAs: ["thyAffix"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
190
211
|
}
|
|
191
212
|
__decorate([
|
|
192
213
|
InputBoolean(),
|
|
@@ -211,7 +232,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
|
|
|
211
232
|
<ng-template [ngTemplateOutlet]="content"></ng-template>
|
|
212
233
|
</thy-affix>
|
|
213
234
|
<ng-template #content>
|
|
214
|
-
<div
|
|
235
|
+
<div
|
|
236
|
+
class="thy-anchor-wrapper"
|
|
237
|
+
[ngClass]="{ 'thy-anchor-wrapper-horizontal': thyDirection === 'horizontal' }"
|
|
238
|
+
[ngStyle]="wrapperStyle">
|
|
215
239
|
<div class="thy-anchor">
|
|
216
240
|
<div class="thy-anchor-ink">
|
|
217
241
|
<div class="thy-anchor-ink-full" #ink></div>
|
|
@@ -224,12 +248,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
|
|
|
224
248
|
encapsulation: ViewEncapsulation.None,
|
|
225
249
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
226
250
|
standalone: true,
|
|
227
|
-
imports: [NgIf, ThyAffixComponent, NgTemplateOutlet, NgStyle]
|
|
251
|
+
imports: [NgIf, ThyAffixComponent, NgTemplateOutlet, NgStyle, NgClass]
|
|
228
252
|
}]
|
|
229
253
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
230
254
|
type: Inject,
|
|
231
255
|
args: [DOCUMENT]
|
|
232
|
-
}] }, { type: i0.ChangeDetectorRef }, { type: i1.Platform }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i2.ThyScrollService }]; }, propDecorators: { ink: [{
|
|
256
|
+
}] }, { type: i0.ChangeDetectorRef }, { type: i1.Platform }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i2.ThyScrollService }, { type: i0.ElementRef }]; }, propDecorators: { ink: [{
|
|
233
257
|
type: ViewChild,
|
|
234
258
|
args: ['ink']
|
|
235
259
|
}], thyAffix: [{
|
|
@@ -240,9 +264,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
|
|
|
240
264
|
type: Input
|
|
241
265
|
}], thyContainer: [{
|
|
242
266
|
type: Input
|
|
267
|
+
}], thyDirection: [{
|
|
268
|
+
type: Input
|
|
243
269
|
}], thyClick: [{
|
|
244
270
|
type: Output
|
|
245
271
|
}], thyScroll: [{
|
|
246
272
|
type: Output
|
|
247
273
|
}] } });
|
|
248
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5jaG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hbmNob3IvYW5jaG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUdOLE1BQU0sRUFDTixTQUFTLEVBRVQsU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBT3JELE1BQU0sZ0JBQWdCLEdBQUcsV0FBVyxDQUFDO0FBRXJDOzs7R0FHRztBQXlCSCxNQUFNLE9BQU8sa0JBQWtCO0lBb0QzQixZQUM4QixRQUFhLEVBQy9CLEdBQXNCLEVBQ3RCLFFBQWtCLEVBQ2xCLElBQVksRUFDWixRQUFtQixFQUNuQixhQUErQjtRQUxiLGFBQVEsR0FBUixRQUFRLENBQUs7UUFDL0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtR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QkFPTixTQUFTO3NCQUZSLEtBQUs7Z0JBU04sWUFBWTtzQkFGWCxLQUFLO2dCQVFHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBS2EsUUFBUTtzQkFBMUIsTUFBTTtnQkFLWSxTQUFTO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3V0cHV0LFxuICAgIFJlbmRlcmVyMixcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsLCB0aHJvdHRsZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFRoeUFuY2hvckxpbmtDb21wb25lbnQgfSBmcm9tICcuL2FuY2hvci1saW5rLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBnZXRPZmZzZXQgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgSW5wdXRCb29sZWFuLCBJbnB1dE51bWJlciwgVGh5U2Nyb2xsU2VydmljZSB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgeyBET0NVTUVOVCwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCwgTmdTdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUaHlBZmZpeENvbXBvbmVudCB9IGZyb20gJ25neC10ZXRoeXMvYWZmaXgnO1xuXG5pbnRlcmZhY2UgU2VjdGlvbiB7XG4gICAgbGlua0NvbXBvbmVudDogVGh5QW5jaG9yTGlua0NvbXBvbmVudDtcbiAgICB0b3A6IG51bWJlcjtcbn1cblxuY29uc3Qgc2hhcnBNYXRjaGVyUmVneCA9IC8jKFteI10rKSQvO1xuXG4vKipcbiAqIOmUmueCuee7hOS7tlxuICogQG5hbWUgdGh5LWFuY2hvclxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1hbmNob3InLFxuICAgIGV4cG9ydEFzOiAndGh5QW5jaG9yJyxcbiAgICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8dGh5LWFmZml4ICpuZ0lmPVwidGh5QWZmaXg7IGVsc2UgY29udGVudFwiIFt0aHlPZmZzZXRUb3BdPVwidGh5T2Zmc2V0VG9wXCIgW3RoeUNvbnRhaW5lcl09XCJjb250YWluZXJcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC90aHktYWZmaXg+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aHktYW5jaG9yLXdyYXBwZXJcIiBbbmdTdHlsZV09XCJ3cmFwcGVyU3R5bGVcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGh5LWFuY2hvclwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGh5LWFuY2hvci1pbmtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aHktYW5jaG9yLWluay1mdWxsXCIgI2luaz48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIGAsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBUaHlBZmZpeENvbXBvbmVudCwgTmdUZW1wbGF0ZU91dGxldCwgTmdTdHlsZV1cbn0pXG5leHBvcnQgY2xhc3MgVGh5QW5jaG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuICAgIEBWaWV3Q2hpbGQoJ2luaycpIHByaXZhdGUgaW5rITogRWxlbWVudFJlZjtcblxuICAgIC8qKlxuICAgICAqIOWbuuWumuaooeW8j1xuICAgICAqL1xuICAgIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSB0aHlBZmZpeCA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDplJrngrnljLrln5/ovrnnlYzvvIzljZXkvY3vvJpweFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQElucHV0TnVtYmVyKClcbiAgICB0aHlCb3VuZHMgPSA1O1xuXG4gICAgLyoqXG4gICAgICog57yT5Yay55qE5YGP56e76YeP6ZiI5YC8XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASW5wdXROdW1iZXIoKVxuICAgIHRoeU9mZnNldFRvcD86IG51bWJlciA9IHVuZGVmaW5lZDtcblxuICAgIC8qKlxuICAgICAqIOaMh+Wumua7muWKqOeahOWuueWZqFxuICAgICAqIEB0eXBlIHN0cmluZyB8IEhUTUxFbGVtZW50XG4gICAgICovXG4gICAgQElucHV0KCkgdGh5Q29udGFpbmVyPzogc3RyaW5nIHwgSFRNTEVsZW1lbnQ7XG5cbiAgICAvKipcbiAgICAgKiDngrnlh7vpobnop6blj5FcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgdGh5Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPFRoeUFuY2hvckxpbmtDb21wb25lbnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDmu5rliqjliLDmn5DplJrngrnml7bop6blj5FcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgdGh5U2Nyb2xsID0gbmV3IEV2ZW50RW1pdHRlcjxUaHlBbmNob3JMaW5rQ29tcG9uZW50PigpO1xuXG4gICAgdmlzaWJsZSA9IGZhbHNlO1xuXG4gICAgd3JhcHBlclN0eWxlID0geyAnbWF4LWhlaWdodCc6ICcxMDB2aCcgfTtcblxuICAgIGNvbnRhaW5lcj86IEhUTUxFbGVtZW50IHwgV2luZG93O1xuXG4gICAgcHJpdmF0ZSBsaW5rczogVGh5QW5jaG9yTGlua0NvbXBvbmVudFtdID0gW107XG5cbiAgICBwcml2YXRlIGFuaW1hdGluZyA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBwcml2YXRlIGhhbmRsZVNjcm9sbFRpbWVvdXRJRCA9IC0xO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IGFueSxcbiAgICAgICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHBsYXRmb3JtOiBQbGF0Zm9ybSxcbiAgICAgICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSBzY3JvbGxTZXJ2aWNlOiBUaHlTY3JvbGxTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgcmVnaXN0ZXJMaW5rKGxpbms6IFRoeUFuY2hvckxpbmtDb21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5saW5rcy5wdXNoKGxpbmspO1xuICAgIH1cblxuICAgIHVucmVnaXN0ZXJMaW5rKGxpbms6IFRoeUFuY2hvckxpbmtDb21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5saW5rcy5zcGxpY2UodGhpcy5saW5rcy5pbmRleE9mKGxpbmspLCAxKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENvbnRhaW5lcigpOiBIVE1MRWxlbWVudCB8IFdpbmRvdyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRhaW5lciB8fCB3aW5kb3c7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlZ2lzdGVyU2Nyb2xsRXZlbnQoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuaGFuZGxlU2Nyb2xsVGltZW91dElEKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlZ2lzdGVyU2Nyb2xsRXZlbnQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5wbGF0Zm9ybS5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIGZyb21FdmVudCh0aGlzLmdldENvbnRhaW5lcigpLCAnc2Nyb2xsJywgeyBwYXNzaXZlOiB0cnVlIH0pXG4gICAgICAgICAgICAgICAgLnBpcGUodGhyb3R0bGVUaW1lKDUwKSwgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5oYW5kbGVTY3JvbGwoKSk7XG4gICAgICAgIH0pO1xuICAgICAgICAvLyBCcm93c2VyIHdvdWxkIG1haW50YWluIHRoZSBzY3JvbGxpbmcgcG9zaXRpb24gd2hlbiByZWZyZXNoaW5nLlxuICAgICAgICAvLyBTbyB3ZSBoYXZlIHRvIGRlbGF5IGNhbGN1bGF0aW9uIGluIGF2b2lkIG9mIGdldHRpbmcgYSBpbmNvcnJlY3QgcmVzdWx0LlxuICAgICAgICB0aGlzLmhhbmRsZVNjcm9sbFRpbWVvdXRJRCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5oYW5kbGVTY3JvbGwoKSk7XG4gICAgfVxuXG4gICAgaGFuZGxlU2Nyb2xsKCk6IHZvaWQge1xuICAgICAgICBpZiAodHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZpbmVkJyB8fCB0aGlzLmFuaW1hdGluZykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lcjogSFRNTEVsZW1lbnQgPSB0aGlzLmNvbnRhaW5lciBpbnN0YW5jZW9mIEhUTUxFbGVtZW50ID8gdGhpcy5jb250YWluZXIgOiB0aGlzLmRvY3VtZW50O1xuXG4gICAgICAgIGNvbnN0IHNlY3Rpb25zOiBTZWN0aW9uW10gPSBbXTtcbiAgICAgICAgY29uc3Qgc2NvcGUgPSAodGhpcy50aHlPZmZzZXRUb3AgfHwgMCkgKyB0aGlzLnRoeUJvdW5kcztcbiAgICAgICAgdGhpcy5saW5rcy5mb3JFYWNoKGxpbmtDb21wb25lbnQgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2hhcnBMaW5rTWF0Y2ggPSBzaGFycE1hdGNoZXJSZWd4LmV4ZWMobGlua0NvbXBvbmVudC50aHlIcmVmLnRvU3RyaW5nKCkpO1xuICAgICAgICAgICAgaWYgKCFzaGFycExpbmtNYXRjaCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKGAjJHtzaGFycExpbmtNYXRjaFsxXX1gKSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgIGlmICh0YXJnZXQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0b3AgPSBnZXRPZmZzZXQodGFyZ2V0LCB0aGlzLmdldENvbnRhaW5lcigpKS50b3A7XG4gICAgICAgICAgICAgICAgaWYgKHRvcCA8IHNjb3BlKSB7XG4gICAgICAgICAgICAgICAgICAgIHNlY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGlua0NvbXBvbmVudFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudmlzaWJsZSA9ICEhc2VjdGlvbnMubGVuZ3RoO1xuICAgICAgICBpZiAoIXRoaXMudmlzaWJsZSkge1xuICAgICAgICAgICAgdGhpcy5jbGVhckFjdGl2ZSgpO1xuICAgICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgbWF4U2VjdGlvbiA9IHNlY3Rpb25zLnJlZHVjZSgocHJldiwgY3VycikgPT4gKGN1cnIudG9wID4gcHJldi50b3AgPyBjdXJyIDogcHJldikpO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVBY3RpdmUobWF4U2VjdGlvbi5saW5rQ29tcG9uZW50KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNldFZpc2libGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsZWFyQWN0aXZlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxpbmtzLmZvckVhY2goaSA9PiB7XG4gICAgICAgICAgICBpLnVuc2V0QWN0aXZlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlQWN0aXZlKGxpbmtDb21wb25lbnQ6IFRoeUFuY2hvckxpbmtDb21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbGVhckFjdGl2ZSgpO1xuICAgICAgICBsaW5rQ29tcG9uZW50LnNldEFjdGl2ZSgpO1xuICAgICAgICBjb25zdCBsaW5rTm9kZSA9IGxpbmtDb21wb25lbnQuZ2V0TGlua1RpdGxlRWxlbWVudCgpO1xuXG4gICAgICAgIHRoaXMuaW5rLm5hdGl2ZUVsZW1lbnQuc3R5bGUudG9wID0gYCR7bGlua05vZGUub2Zmc2V0VG9wfXB4YDtcbiAgICAgICAgdGhpcy5pbmsubmF0aXZlRWxlbWVudC5zdHlsZS5oZWlnaHQgPSBgJHtsaW5rTm9kZS5jbGllbnRIZWlnaHR9cHhgO1xuICAgICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICAgICAgICB0aGlzLnNldFZpc2libGUoKTtcbiAgICAgICAgdGhpcy50aHlTY3JvbGwuZW1pdChsaW5rQ29tcG9uZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFZpc2libGUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZpc2libGUgPSB0aGlzLnZpc2libGU7XG4gICAgICAgIGNvbnN0IHZpc2libGVDbGFzc25hbWUgPSAndmlzaWJsZSc7XG4gICAgICAgIGlmICh0aGlzLmluaykge1xuICAgICAgICAgICAgaWYgKHZpc2libGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuaW5rLm5hdGl2ZUVsZW1lbnQsIHZpc2libGVDbGFzc25hbWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuaW5rLm5hdGl2ZUVsZW1lbnQsIHZpc2libGVDbGFzc25hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFuZGxlU2Nyb2xsVG8obGlua0NvbXBvbmVudDogVGh5QW5jaG9yTGlua0NvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb250YWluZXI6IEhUTUxFbGVtZW50ID0gdGhpcy5jb250YWluZXIgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCA/IHRoaXMuY29udGFpbmVyIDogdGhpcy5kb2N1bWVudDtcbiAgICAgICAgY29uc3QgbGlua0VsZW1lbnQ6IEhUTUxFbGVtZW50ID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IobGlua0NvbXBvbmVudC50aHlIcmVmKTtcbiAgICAgICAgaWYgKCFsaW5rRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hbmltYXRpbmcgPSB0cnVlO1xuICAgICAgICBjb25zdCBjb250YWluZXJTY3JvbGxUb3AgPSB0aGlzLnNjcm9sbFNlcnZpY2UuZ2V0U2Nyb2xsKHRoaXMuZ2V0Q29udGFpbmVyKCkpO1xuICAgICAgICBjb25zdCBlbGVtZW50T2Zmc2V0VG9wID0gZ2V0T2Zmc2V0KGxpbmtFbGVtZW50LCB0aGlzLmdldENvbnRhaW5lcigpKS50b3A7XG4gICAgICAgIGNvbnN0IHRhcmdldFNjcm9sbFRvcCA9IGNvbnRhaW5lclNjcm9sbFRvcCArIGVsZW1lbnRPZmZzZXRUb3AgLSAodGhpcy50aHlPZmZzZXRUb3AgfHwgMCk7XG4gICAgICAgIHRoaXMuc2Nyb2xsU2VydmljZS5zY3JvbGxUbyh0aGlzLmdldENvbnRhaW5lcigpLCB0YXJnZXRTY3JvbGxUb3AsIHVuZGVmaW5lZCwgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hbmltYXRpbmcgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuaGFuZGxlQWN0aXZlKGxpbmtDb21wb25lbnQpO1xuICAgICAgICB0aGlzLnRoeUNsaWNrLmVtaXQobGlua0NvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IHRoeU9mZnNldFRvcCwgdGh5Q29udGFpbmVyIH0gPSBjaGFuZ2VzO1xuICAgICAgICBpZiAodGh5T2Zmc2V0VG9wKSB7XG4gICAgICAgICAgICB0aGlzLndyYXBwZXJTdHlsZSA9IHtcbiAgICAgICAgICAgICAgICAnbWF4LWhlaWdodCc6IGBjYWxjKDEwMHZoIC0gJHt0aGlzLnRoeU9mZnNldFRvcH1weClgXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aHlDb250YWluZXIgJiYgdGhpcy50aHlDb250YWluZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMudGh5Q29udGFpbmVyO1xuICAgICAgICAgICAgdGhpcy5jb250YWluZXIgPSB0eXBlb2YgY29udGFpbmVyID09PSAnc3RyaW5nJyA/IHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3Rvcihjb250YWluZXIpIDogY29udGFpbmVyO1xuICAgICAgICAgICAgdGhpcy5yZWdpc3RlclNjcm9sbEV2ZW50KCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
274
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5jaG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hbmNob3IvYW5jaG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUdOLE1BQU0sRUFDTixTQUFTLEVBRVQsU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpELE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQVE1QyxNQUFNLGdCQUFnQixHQUFHLFdBQVcsQ0FBQztBQUVyQzs7O0dBR0c7QUE0QkgsTUFBTSxPQUFPLGtCQUFrQjtJQTBEM0IsWUFDOEIsUUFBYSxFQUMvQixHQUFzQixFQUN0QixRQUFrQixFQUNsQixJQUFZLEVBQ1osUUFBbUIsRUFDbkIsYUFBK0IsRUFDL0IsVUFBc0I7UUFOSixhQUFRLEdBQVIsUUFBUSxDQUFLO1FBQy9CLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RC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QyxLQUFLO2dCQU9OLFNBQVM7c0JBRlIsS0FBSztnQkFTTixZQUFZO3NCQUZYLEtBQUs7Z0JBUUcsWUFBWTtzQkFBcEIsS0FBSztnQkFNRyxZQUFZO3NCQUFwQixLQUFLO2dCQUthLFFBQVE7c0JBQTFCLE1BQU07Z0JBS1ksU0FBUztzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dCxcbiAgICBSZW5kZXJlcjIsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCwgdGhyb3R0bGVUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBET0NVTUVOVCwgTmdDbGFzcywgTmdJZiwgTmdTdHlsZSwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUaHlBZmZpeENvbXBvbmVudCB9IGZyb20gJ25neC10ZXRoeXMvYWZmaXgnO1xuaW1wb3J0IHsgSW5wdXRCb29sZWFuLCBJbnB1dE51bWJlciwgVGh5U2Nyb2xsU2VydmljZSB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgeyBnZXRPZmZzZXQgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgVGh5QW5jaG9yTGlua0NvbXBvbmVudCB9IGZyb20gJy4vYW5jaG9yLWxpbmsuY29tcG9uZW50JztcblxuaW50ZXJmYWNlIFNlY3Rpb24ge1xuICAgIGxpbmtDb21wb25lbnQ6IFRoeUFuY2hvckxpbmtDb21wb25lbnQ7XG4gICAgdG9wOiBudW1iZXI7XG59XG5cbmNvbnN0IHNoYXJwTWF0Y2hlclJlZ3ggPSAvIyhbXiNdKykkLztcblxuLyoqXG4gKiDplJrngrnnu4Tku7ZcbiAqIEBuYW1lIHRoeS1hbmNob3JcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktYW5jaG9yJyxcbiAgICBleHBvcnRBczogJ3RoeUFuY2hvcicsXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPHRoeS1hZmZpeCAqbmdJZj1cInRoeUFmZml4OyBlbHNlIGNvbnRlbnRcIiBbdGh5T2Zmc2V0VG9wXT1cInRoeU9mZnNldFRvcFwiIFt0aHlDb250YWluZXJdPVwiY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudFwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvdGh5LWFmZml4PlxuICAgICAgICA8bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0aHktYW5jaG9yLXdyYXBwZXJcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3RoeS1hbmNob3Itd3JhcHBlci1ob3Jpem9udGFsJzogdGh5RGlyZWN0aW9uID09PSAnaG9yaXpvbnRhbCcgfVwiXG4gICAgICAgICAgICAgICAgW25nU3R5bGVdPVwid3JhcHBlclN0eWxlXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRoeS1hbmNob3JcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRoeS1hbmNob3ItaW5rXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGh5LWFuY2hvci1pbmstZnVsbFwiICNpbms+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICBgLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgVGh5QWZmaXhDb21wb25lbnQsIE5nVGVtcGxhdGVPdXRsZXQsIE5nU3R5bGUsIE5nQ2xhc3NdXG59KVxuZXhwb3J0IGNsYXNzIFRoeUFuY2hvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcbiAgICBAVmlld0NoaWxkKCdpbmsnKSBwcml2YXRlIGluayE6IEVsZW1lbnRSZWY7XG5cbiAgICAvKipcbiAgICAgKiDlm7rlrprmqKHlvI9cbiAgICAgKi9cbiAgICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgdGh5QWZmaXggPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICog6ZSa54K55Yy65Z+f6L6555WM77yM5Y2V5L2N77yacHhcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBJbnB1dE51bWJlcigpXG4gICAgdGh5Qm91bmRzID0gNTtcblxuICAgIC8qKlxuICAgICAqIOe8k+WGsueahOWBj+enu+mHj+mYiOWAvFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQElucHV0TnVtYmVyKClcbiAgICB0aHlPZmZzZXRUb3A/OiBudW1iZXIgPSB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiDmjIflrprmu5rliqjnmoTlrrnlmahcbiAgICAgKiBAdHlwZSBzdHJpbmcgfCBIVE1MRWxlbWVudFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUNvbnRhaW5lcj86IHN0cmluZyB8IEhUTUxFbGVtZW50O1xuXG4gICAgLyoqXG4gICAgICog6K6+572u5a+86Iiq5pa55ZCRXG4gICAgICogQHR5cGUgJ3ZlcnRpY2FsJyB8ICdob3Jpem9udGFsJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeURpcmVjdGlvbjogJ3ZlcnRpY2FsJyB8ICdob3Jpem9udGFsJyA9ICd2ZXJ0aWNhbCc7XG5cbiAgICAvKipcbiAgICAgKiDngrnlh7vpobnop6blj5FcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgdGh5Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPFRoeUFuY2hvckxpbmtDb21wb25lbnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDmu5rliqjliLDmn5DplJrngrnml7bop6blj5FcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgdGh5U2Nyb2xsID0gbmV3IEV2ZW50RW1pdHRlcjxUaHlBbmNob3JMaW5rQ29tcG9uZW50PigpO1xuXG4gICAgdmlzaWJsZSA9IGZhbHNlO1xuXG4gICAgd3JhcHBlclN0eWxlID0geyAnbWF4LWhlaWdodCc6ICcxMDB2aCcgfTtcblxuICAgIGNvbnRhaW5lcj86IEhUTUxFbGVtZW50IHwgV2luZG93O1xuXG4gICAgcHJpdmF0ZSBsaW5rczogVGh5QW5jaG9yTGlua0NvbXBvbmVudFtdID0gW107XG5cbiAgICBwcml2YXRlIGFuaW1hdGluZyA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBwcml2YXRlIGhhbmRsZVNjcm9sbFRpbWVvdXRJRCA9IC0xO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IGFueSxcbiAgICAgICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHBsYXRmb3JtOiBQbGF0Zm9ybSxcbiAgICAgICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSBzY3JvbGxTZXJ2aWNlOiBUaHlTY3JvbGxTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcbiAgICApIHt9XG5cbiAgICByZWdpc3RlckxpbmsobGluazogVGh5QW5jaG9yTGlua0NvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxpbmtzLnB1c2gobGluayk7XG4gICAgfVxuXG4gICAgdW5yZWdpc3RlckxpbmsobGluazogVGh5QW5jaG9yTGlua0NvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxpbmtzLnNwbGljZSh0aGlzLmxpbmtzLmluZGV4T2YobGluayksIDEpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q29udGFpbmVyKCk6IEhUTUxFbGVtZW50IHwgV2luZG93IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGFpbmVyIHx8IHdpbmRvdztcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMud2FybmluZ1Byb21wdCgpO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyU2Nyb2xsRXZlbnQoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuaGFuZGxlU2Nyb2xsVGltZW91dElEKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHdhcm5pbmdQcm9tcHQoKSB7XG4gICAgICAgIGlmICh0aGlzLnRoeURpcmVjdGlvbiA9PT0gJ2hvcml6b250YWwnKSB7XG4gICAgICAgICAgICBjb25zdCBoYXNDaGlsZHJlbiA9IHRoaXMubGlua3Muc29tZShsaW5rID0+XG4gICAgICAgICAgICAgICAgQXJyYXkuZnJvbShsaW5rPy5lbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50Py5jaGlsZE5vZGVzKT8uc29tZSgoaXRlbTogSFRNTEVsZW1lbnQpID0+XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0/LmNsYXNzTmFtZS5pbmNsdWRlcygndGh5LWFuY2hvci1saW5rJylcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiQW5jaG9yIGxpbmsgbmVzdGluZyBpcyBub3Qgc3VwcG9ydGVkIHdoZW4gJ0FuY2hvcicgZGlyZWN0aW9uIGlzIGhvcml6b250YWwuXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWdpc3RlclNjcm9sbEV2ZW50KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMucGxhdGZvcm0uaXNCcm93c2VyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBmcm9tRXZlbnQodGhpcy5nZXRDb250YWluZXIoKSwgJ3Njcm9sbCcsIHsgcGFzc2l2ZTogdHJ1ZSB9KVxuICAgICAgICAgICAgICAgIC5waXBlKHRocm90dGxlVGltZSg1MCksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuaGFuZGxlU2Nyb2xsKCkpO1xuICAgICAgICB9KTtcbiAgICAgICAgLy8gQnJvd3NlciB3b3VsZCBtYWludGFpbiB0aGUgc2Nyb2xsaW5nIHBvc2l0aW9uIHdoZW4gcmVmcmVzaGluZy5cbiAgICAgICAgLy8gU28gd2UgaGF2ZSB0byBkZWxheSBjYWxjdWxhdGlvbiBpbiBhdm9pZCBvZiBnZXR0aW5nIGEgaW5jb3JyZWN0IHJlc3VsdC5cbiAgICAgICAgdGhpcy5oYW5kbGVTY3JvbGxUaW1lb3V0SUQgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMuaGFuZGxlU2Nyb2xsKCkpO1xuICAgIH1cblxuICAgIGhhbmRsZVNjcm9sbCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHR5cGVvZiBkb2N1bWVudCA9PT0gJ3VuZGVmaW5lZCcgfHwgdGhpcy5hbmltYXRpbmcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjb250YWluZXI6IEhUTUxFbGVtZW50ID0gdGhpcy5jb250YWluZXIgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCA/IHRoaXMuY29udGFpbmVyIDogdGhpcy5kb2N1bWVudDtcblxuICAgICAgICBjb25zdCBzZWN0aW9uczogU2VjdGlvbltdID0gW107XG4gICAgICAgIGNvbnN0IHNjb3BlID0gKHRoaXMudGh5T2Zmc2V0VG9wIHx8IDApICsgdGhpcy50aHlCb3VuZHM7XG4gICAgICAgIHRoaXMubGlua3MuZm9yRWFjaChsaW5rQ29tcG9uZW50ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNoYXJwTGlua01hdGNoID0gc2hhcnBNYXRjaGVyUmVneC5leGVjKGxpbmtDb21wb25lbnQudGh5SHJlZi50b1N0cmluZygpKTtcbiAgICAgICAgICAgIGlmICghc2hhcnBMaW5rTWF0Y2gpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB0YXJnZXQgPSBjb250YWluZXIucXVlcnlTZWxlY3RvcihgIyR7c2hhcnBMaW5rTWF0Y2hbMV19YCkgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICBpZiAodGFyZ2V0KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdG9wID0gZ2V0T2Zmc2V0KHRhcmdldCwgdGhpcy5nZXRDb250YWluZXIoKSkudG9wO1xuICAgICAgICAgICAgICAgIGlmICh0b3AgPCBzY29wZSkge1xuICAgICAgICAgICAgICAgICAgICBzZWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtDb21wb25lbnRcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnZpc2libGUgPSAhIXNlY3Rpb25zLmxlbmd0aDtcbiAgICAgICAgaWYgKCF0aGlzLnZpc2libGUpIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJBY3RpdmUoKTtcbiAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IG1heFNlY3Rpb24gPSBzZWN0aW9ucy5yZWR1Y2UoKHByZXYsIGN1cnIpID0+IChjdXJyLnRvcCA+IHByZXYudG9wID8gY3VyciA6IHByZXYpKTtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQWN0aXZlKG1heFNlY3Rpb24ubGlua0NvbXBvbmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXRWaXNpYmxlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbGVhckFjdGl2ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5saW5rcy5mb3JFYWNoKGkgPT4ge1xuICAgICAgICAgICAgaS51bnNldEFjdGl2ZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZUFjdGl2ZShsaW5rQ29tcG9uZW50OiBUaHlBbmNob3JMaW5rQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xlYXJBY3RpdmUoKTtcbiAgICAgICAgbGlua0NvbXBvbmVudC5zZXRBY3RpdmUoKTtcbiAgICAgICAgY29uc3QgbGlua05vZGUgPSBsaW5rQ29tcG9uZW50LmdldExpbmtUaXRsZUVsZW1lbnQoKTtcbiAgICAgICAgY29uc3QgaG9yaXpvbnRhbEFuY2hvciA9IHRoaXMudGh5RGlyZWN0aW9uID09PSAnaG9yaXpvbnRhbCc7XG5cbiAgICAgICAgdGhpcy5pbmsubmF0aXZlRWxlbWVudC5zdHlsZS50b3AgPSBob3Jpem9udGFsQW5jaG9yID8gJycgOiBgJHtsaW5rTm9kZS5vZmZzZXRUb3B9cHhgO1xuICAgICAgICB0aGlzLmluay5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCA9IGhvcml6b250YWxBbmNob3IgPyAnJyA6IGAke2xpbmtOb2RlLmNsaWVudEhlaWdodH1weGA7XG4gICAgICAgIHRoaXMuaW5rLm5hdGl2ZUVsZW1lbnQuc3R5bGUubGVmdCA9IGhvcml6b250YWxBbmNob3IgPyBgJHtsaW5rTm9kZS5vZmZzZXRMZWZ0fXB4YCA6ICcnO1xuICAgICAgICB0aGlzLmluay5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID0gaG9yaXpvbnRhbEFuY2hvciA/IGAke2xpbmtOb2RlLmNsaWVudFdpZHRofXB4YCA6ICcnO1xuICAgICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICAgICAgICB0aGlzLnNldFZpc2libGUoKTtcbiAgICAgICAgdGhpcy50aHlTY3JvbGwuZW1pdChsaW5rQ29tcG9uZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFZpc2libGUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZpc2libGUgPSB0aGlzLnZpc2libGU7XG4gICAgICAgIGNvbnN0IHZpc2libGVDbGFzc25hbWUgPSAndmlzaWJsZSc7XG4gICAgICAgIGlmICh0aGlzLmluaykge1xuICAgICAgICAgICAgaWYgKHZpc2libGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuaW5rLm5hdGl2ZUVsZW1lbnQsIHZpc2libGVDbGFzc25hbWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuaW5rLm5hdGl2ZUVsZW1lbnQsIHZpc2libGVDbGFzc25hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFuZGxlU2Nyb2xsVG8obGlua0NvbXBvbmVudDogVGh5QW5jaG9yTGlua0NvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb250YWluZXI6IEhUTUxFbGVtZW50ID0gdGhpcy5jb250YWluZXIgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCA/IHRoaXMuY29udGFpbmVyIDogdGhpcy5kb2N1bWVudDtcbiAgICAgICAgY29uc3QgbGlua0VsZW1lbnQ6IEhUTUxFbGVtZW50ID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IobGlua0NvbXBvbmVudC50aHlIcmVmKTtcbiAgICAgICAgaWYgKCFsaW5rRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hbmltYXRpbmcgPSB0cnVlO1xuICAgICAgICBjb25zdCBjb250YWluZXJTY3JvbGxUb3AgPSB0aGlzLnNjcm9sbFNlcnZpY2UuZ2V0U2Nyb2xsKHRoaXMuZ2V0Q29udGFpbmVyKCkpO1xuICAgICAgICBjb25zdCBlbGVtZW50T2Zmc2V0VG9wID0gZ2V0T2Zmc2V0KGxpbmtFbGVtZW50LCB0aGlzLmdldENvbnRhaW5lcigpKS50b3A7XG4gICAgICAgIGNvbnN0IHRhcmdldFNjcm9sbFRvcCA9IGNvbnRhaW5lclNjcm9sbFRvcCArIGVsZW1lbnRPZmZzZXRUb3AgLSAodGhpcy50aHlPZmZzZXRUb3AgfHwgMCk7XG4gICAgICAgIHRoaXMuc2Nyb2xsU2VydmljZS5zY3JvbGxUbyh0aGlzLmdldENvbnRhaW5lcigpLCB0YXJnZXRTY3JvbGxUb3AsIHVuZGVmaW5lZCwgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hbmltYXRpbmcgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuaGFuZGxlQWN0aXZlKGxpbmtDb21wb25lbnQpO1xuICAgICAgICB0aGlzLnRoeUNsaWNrLmVtaXQobGlua0NvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IHRoeU9mZnNldFRvcCwgdGh5Q29udGFpbmVyIH0gPSBjaGFuZ2VzO1xuICAgICAgICBpZiAodGh5T2Zmc2V0VG9wKSB7XG4gICAgICAgICAgICB0aGlzLndyYXBwZXJTdHlsZSA9IHtcbiAgICAgICAgICAgICAgICAnbWF4LWhlaWdodCc6IGBjYWxjKDEwMHZoIC0gJHt0aGlzLnRoeU9mZnNldFRvcH1weClgXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aHlDb250YWluZXIgJiYgdGhpcy50aHlDb250YWluZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMudGh5Q29udGFpbmVyO1xuICAgICAgICAgICAgdGhpcy5jb250YWluZXIgPSB0eXBlb2YgY29udGFpbmVyID09PSAnc3RyaW5nJyA/IHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3Rvcihjb250YWluZXIpIDogY29udGFpbmVyO1xuICAgICAgICAgICAgdGhpcy5yZWdpc3RlclNjcm9sbEV2ZW50KCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|