@skyux/indicators 8.0.0-alpha.2 → 8.0.0-alpha.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/documentation.json +3435 -2037
- package/esm2020/lib/modules/alert/alert.component.mjs +38 -20
- package/esm2020/lib/modules/alert/alert.module.mjs +4 -4
- package/esm2020/lib/modules/chevron/chevron.component.mjs +3 -3
- package/esm2020/lib/modules/chevron/chevron.module.mjs +4 -4
- package/esm2020/lib/modules/expansion-indicator/expansion-indicator.component.mjs +3 -3
- package/esm2020/lib/modules/expansion-indicator/expansion-indicator.module.mjs +4 -4
- package/esm2020/lib/modules/help-inline/help-inline-aria-expanded.pipe.mjs +16 -0
- package/esm2020/lib/modules/help-inline/help-inline.component.mjs +14 -7
- package/esm2020/lib/modules/help-inline/help-inline.module.mjs +7 -6
- package/esm2020/lib/modules/icon/icon-class-list.pipe.mjs +14 -15
- package/esm2020/lib/modules/icon/icon-resolver.service.mjs +41 -25
- package/esm2020/lib/modules/icon/icon-stack.component.mjs +10 -6
- package/esm2020/lib/modules/icon/icon.component.mjs +10 -6
- package/esm2020/lib/modules/icon/icon.module.mjs +6 -7
- package/esm2020/lib/modules/icon/types/icon-resolved.mjs +2 -0
- package/esm2020/lib/modules/key-info/key-info-label.component.mjs +3 -3
- package/esm2020/lib/modules/key-info/key-info-value.component.mjs +3 -3
- package/esm2020/lib/modules/key-info/key-info.component.mjs +3 -3
- package/esm2020/lib/modules/key-info/key-info.module.mjs +4 -4
- package/esm2020/lib/modules/label/label.component.mjs +37 -21
- package/esm2020/lib/modules/label/label.module.mjs +4 -4
- package/esm2020/lib/modules/shared/sky-indicators-resources.module.mjs +9 -5
- package/esm2020/lib/modules/status-indicator/status-indicator.component.mjs +14 -16
- package/esm2020/lib/modules/status-indicator/status-indicator.module.mjs +4 -4
- package/esm2020/lib/modules/text-highlight/text-highlight.directive.mjs +10 -12
- package/esm2020/lib/modules/text-highlight/text-highlight.module.mjs +4 -4
- package/esm2020/lib/modules/tokens/token.component.mjs +9 -10
- package/esm2020/lib/modules/tokens/tokens.component.mjs +55 -56
- package/esm2020/lib/modules/tokens/tokens.module.mjs +4 -4
- package/esm2020/lib/modules/wait/wait-adapter.service.mjs +3 -3
- package/esm2020/lib/modules/wait/wait-page.component.mjs +3 -3
- package/esm2020/lib/modules/wait/wait.component.mjs +64 -33
- package/esm2020/lib/modules/wait/wait.module.mjs +4 -4
- package/esm2020/lib/modules/wait/wait.service.mjs +16 -44
- package/esm2020/testing/alert-fixture.mjs +6 -6
- package/esm2020/testing/chevron/chevron-harness.mjs +44 -0
- package/esm2020/testing/help-inline/help-inline-harness-filters.mjs +2 -0
- package/esm2020/testing/help-inline/help-inline-harness.mjs +31 -0
- package/esm2020/testing/icon/icon-harness-filters.mjs +2 -0
- package/esm2020/testing/icon/icon-harness.mjs +90 -0
- package/esm2020/testing/label-fixture.mjs +6 -6
- package/esm2020/testing/public-api.mjs +6 -1
- package/esm2020/testing/wait/wait-harness-filters.mjs +1 -1
- package/esm2020/testing/wait-fixture.mjs +6 -6
- package/fesm2015/skyux-indicators-testing.mjs +199 -16
- package/fesm2015/skyux-indicators-testing.mjs.map +1 -1
- package/fesm2015/skyux-indicators.mjs +375 -327
- package/fesm2015/skyux-indicators.mjs.map +1 -1
- package/fesm2020/skyux-indicators-testing.mjs +175 -16
- package/fesm2020/skyux-indicators-testing.mjs.map +1 -1
- package/fesm2020/skyux-indicators.mjs +374 -323
- package/fesm2020/skyux-indicators.mjs.map +1 -1
- package/lib/modules/alert/alert.component.d.ts +5 -4
- package/lib/modules/help-inline/help-inline-aria-expanded.pipe.d.ts +7 -0
- package/lib/modules/help-inline/help-inline.component.d.ts +20 -1
- package/lib/modules/help-inline/help-inline.module.d.ts +7 -6
- package/lib/modules/icon/icon-class-list.pipe.d.ts +2 -3
- package/lib/modules/icon/icon-resolver.service.d.ts +5 -4
- package/lib/modules/icon/icon-stack.component.d.ts +3 -1
- package/lib/modules/icon/icon.component.d.ts +6 -2
- package/lib/modules/icon/icon.module.d.ts +1 -2
- package/lib/modules/icon/types/icon-resolved.d.ts +7 -0
- package/lib/modules/icon/types/icon-type.d.ts +1 -1
- package/lib/modules/icon/types/icon-variant-type.d.ts +1 -1
- package/lib/modules/key-info/key-info-layout-type.d.ts +1 -1
- package/lib/modules/label/label-type.d.ts +1 -1
- package/lib/modules/label/label.component.d.ts +5 -4
- package/lib/modules/shared/indicator-description-type.d.ts +1 -1
- package/lib/modules/shared/indicator-icon-type.d.ts +1 -1
- package/lib/modules/status-indicator/status-indicator.component.d.ts +1 -3
- package/lib/modules/text-highlight/text-highlight.directive.d.ts +1 -3
- package/lib/modules/tokens/token.component.d.ts +0 -1
- package/lib/modules/tokens/tokens.component.d.ts +2 -2
- package/lib/modules/wait/wait.component.d.ts +19 -13
- package/lib/modules/wait/wait.service.d.ts +1 -5
- package/package.json +11 -11
- package/testing/chevron/chevron-harness.d.ts +23 -0
- package/testing/help-inline/help-inline-harness-filters.d.ts +6 -0
- package/testing/help-inline/help-inline-harness.d.ts +22 -0
- package/testing/icon/icon-harness-filters.d.ts +6 -0
- package/testing/icon/icon-harness.d.ts +38 -0
- package/testing/public-api.d.ts +5 -0
- package/testing/wait/wait-harness-filters.d.ts +1 -1
- package/esm2020/lib/modules/wait/wait-page-adapter.service.mjs +0 -26
- package/lib/modules/wait/wait-page-adapter.service.d.ts +0 -10
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
var _SkyTokensComponent_instances, _SkyTokensComponent__disabled, _SkyTokensComponent__dismissible, _SkyTokensComponent__focusable, _SkyTokensComponent__tokens, _SkyTokensComponent__displayWith, _SkyTokensComponent_messageStreamSub, _SkyTokensComponent_ngUnsubscribe,
|
|
1
|
+
var _SkyTokensComponent_instances, _SkyTokensComponent__disabled, _SkyTokensComponent__dismissible, _SkyTokensComponent__focusable, _SkyTokensComponent__tokens, _SkyTokensComponent__displayWith, _SkyTokensComponent_messageStreamSub, _SkyTokensComponent_ngUnsubscribe, _SkyTokensComponent_changeDetector, _SkyTokensComponent__activeIndex, _SkyTokensComponent__messageStream, _SkyTokensComponent_focusPreviousToken, _SkyTokensComponent_focusNextToken, _SkyTokensComponent_focusLastToken, _SkyTokensComponent_focusActiveToken, _SkyTokensComponent_removeActiveToken, _SkyTokensComponent_initMessageStream, _SkyTokensComponent_notifyTokenSelected;
|
|
2
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
3
|
import { animate, style, transition, trigger } from '@angular/animations';
|
|
4
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChildren, } from '@angular/core';
|
|
4
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewChildren, inject, } from '@angular/core';
|
|
5
5
|
import { Subject } from 'rxjs';
|
|
6
6
|
import { takeUntil } from 'rxjs/operators';
|
|
7
7
|
import { SkyTokenComponent } from './token.component';
|
|
@@ -16,54 +16,6 @@ const DISPLAY_WITH_DEFAULT = 'name';
|
|
|
16
16
|
* reserved for other functions, such as the SKY UX Lookup component.
|
|
17
17
|
*/
|
|
18
18
|
export class SkyTokensComponent {
|
|
19
|
-
constructor(changeDetector) {
|
|
20
|
-
_SkyTokensComponent_instances.add(this);
|
|
21
|
-
/**
|
|
22
|
-
* Fires when users navigate through the tokens list with the `Tab` key
|
|
23
|
-
* and attempt to move past the final token in the list.
|
|
24
|
-
*/
|
|
25
|
-
this.focusIndexOverRange = new EventEmitter();
|
|
26
|
-
/**
|
|
27
|
-
* Fires when users navigate through the tokens list with the `Tab` key
|
|
28
|
-
* and attempt to move before the first token in the list.
|
|
29
|
-
*/
|
|
30
|
-
this.focusIndexUnderRange = new EventEmitter();
|
|
31
|
-
/**
|
|
32
|
-
* Fires when users select a token in the list. This event emits the selected token.
|
|
33
|
-
*/
|
|
34
|
-
this.tokenSelected = new EventEmitter();
|
|
35
|
-
/**
|
|
36
|
-
* Fires when the tokens in the list change.
|
|
37
|
-
* This event emits an array of the tokens in the updated list.
|
|
38
|
-
*/
|
|
39
|
-
this.tokensChange = new EventEmitter();
|
|
40
|
-
/**
|
|
41
|
-
* Fires when all animations on the tokens are complete.
|
|
42
|
-
* @internal
|
|
43
|
-
*/
|
|
44
|
-
this.tokensRendered = new EventEmitter();
|
|
45
|
-
_SkyTokensComponent__disabled.set(this, false);
|
|
46
|
-
_SkyTokensComponent__dismissible.set(this, true);
|
|
47
|
-
_SkyTokensComponent__focusable.set(this, true);
|
|
48
|
-
_SkyTokensComponent__tokens.set(this, []);
|
|
49
|
-
_SkyTokensComponent__displayWith.set(this, DISPLAY_WITH_DEFAULT);
|
|
50
|
-
_SkyTokensComponent_messageStreamSub.set(this, void 0);
|
|
51
|
-
_SkyTokensComponent_ngUnsubscribe.set(this, new Subject());
|
|
52
|
-
_SkyTokensComponent__messageStream.set(this, new Subject());
|
|
53
|
-
_SkyTokensComponent_changeDetector.set(this, void 0);
|
|
54
|
-
_SkyTokensComponent__activeIndex.set(this, 0);
|
|
55
|
-
__classPrivateFieldSet(this, _SkyTokensComponent_changeDetector, changeDetector, "f");
|
|
56
|
-
__classPrivateFieldGet(this, _SkyTokensComponent_instances, "m", _SkyTokensComponent_initMessageStream).call(this);
|
|
57
|
-
// Angular calls the trackBy function without applying the component instance's scope.
|
|
58
|
-
// Use a fat-arrow function so the current component instance's trackWith property can
|
|
59
|
-
// be referenced.
|
|
60
|
-
this.trackTokenFn = (_index, item) => {
|
|
61
|
-
if (this.trackWith) {
|
|
62
|
-
return item.value[this.trackWith];
|
|
63
|
-
}
|
|
64
|
-
return item;
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
19
|
/**
|
|
68
20
|
* Whether to disable the tokens list to prevent users from selecting tokens,
|
|
69
21
|
* dismissing tokens, or navigating through the list with the arrow keys. When the tokens list
|
|
@@ -147,6 +99,53 @@ export class SkyTokensComponent {
|
|
|
147
99
|
}
|
|
148
100
|
__classPrivateFieldSet(this, _SkyTokensComponent__activeIndex, value || 0, "f");
|
|
149
101
|
}
|
|
102
|
+
constructor() {
|
|
103
|
+
_SkyTokensComponent_instances.add(this);
|
|
104
|
+
/**
|
|
105
|
+
* Fires when users navigate through the tokens list with the `Tab` key
|
|
106
|
+
* and attempt to move past the final token in the list.
|
|
107
|
+
*/
|
|
108
|
+
this.focusIndexOverRange = new EventEmitter();
|
|
109
|
+
/**
|
|
110
|
+
* Fires when users navigate through the tokens list with the `Tab` key
|
|
111
|
+
* and attempt to move before the first token in the list.
|
|
112
|
+
*/
|
|
113
|
+
this.focusIndexUnderRange = new EventEmitter();
|
|
114
|
+
/**
|
|
115
|
+
* Fires when users select a token in the list. This event emits the selected token.
|
|
116
|
+
*/
|
|
117
|
+
this.tokenSelected = new EventEmitter();
|
|
118
|
+
/**
|
|
119
|
+
* Fires when the tokens in the list change.
|
|
120
|
+
* This event emits an array of the tokens in the updated list.
|
|
121
|
+
*/
|
|
122
|
+
this.tokensChange = new EventEmitter();
|
|
123
|
+
/**
|
|
124
|
+
* Fires when all animations on the tokens are complete.
|
|
125
|
+
* @internal
|
|
126
|
+
*/
|
|
127
|
+
this.tokensRendered = new EventEmitter();
|
|
128
|
+
_SkyTokensComponent__disabled.set(this, false);
|
|
129
|
+
_SkyTokensComponent__dismissible.set(this, true);
|
|
130
|
+
_SkyTokensComponent__focusable.set(this, true);
|
|
131
|
+
_SkyTokensComponent__tokens.set(this, []);
|
|
132
|
+
_SkyTokensComponent__displayWith.set(this, DISPLAY_WITH_DEFAULT);
|
|
133
|
+
_SkyTokensComponent_messageStreamSub.set(this, void 0);
|
|
134
|
+
_SkyTokensComponent_ngUnsubscribe.set(this, new Subject());
|
|
135
|
+
_SkyTokensComponent_changeDetector.set(this, inject(ChangeDetectorRef));
|
|
136
|
+
_SkyTokensComponent__activeIndex.set(this, 0);
|
|
137
|
+
_SkyTokensComponent__messageStream.set(this, new Subject());
|
|
138
|
+
__classPrivateFieldGet(this, _SkyTokensComponent_instances, "m", _SkyTokensComponent_initMessageStream).call(this);
|
|
139
|
+
// Angular calls the trackBy function without applying the component instance's scope.
|
|
140
|
+
// Use a fat-arrow function so the current component instance's trackWith property can
|
|
141
|
+
// be referenced.
|
|
142
|
+
this.trackTokenFn = (_index, item) => {
|
|
143
|
+
if (this.trackWith) {
|
|
144
|
+
return item.value[this.trackWith];
|
|
145
|
+
}
|
|
146
|
+
return item;
|
|
147
|
+
};
|
|
148
|
+
}
|
|
150
149
|
ngOnDestroy() {
|
|
151
150
|
__classPrivateFieldGet(this, _SkyTokensComponent_ngUnsubscribe, "f").next();
|
|
152
151
|
__classPrivateFieldGet(this, _SkyTokensComponent_ngUnsubscribe, "f").complete();
|
|
@@ -190,7 +189,7 @@ export class SkyTokensComponent {
|
|
|
190
189
|
__classPrivateFieldGet(this, _SkyTokensComponent_changeDetector, "f").detectChanges();
|
|
191
190
|
}
|
|
192
191
|
}
|
|
193
|
-
_SkyTokensComponent__disabled = new WeakMap(), _SkyTokensComponent__dismissible = new WeakMap(), _SkyTokensComponent__focusable = new WeakMap(), _SkyTokensComponent__tokens = new WeakMap(), _SkyTokensComponent__displayWith = new WeakMap(), _SkyTokensComponent_messageStreamSub = new WeakMap(), _SkyTokensComponent_ngUnsubscribe = new WeakMap(),
|
|
192
|
+
_SkyTokensComponent__disabled = new WeakMap(), _SkyTokensComponent__dismissible = new WeakMap(), _SkyTokensComponent__focusable = new WeakMap(), _SkyTokensComponent__tokens = new WeakMap(), _SkyTokensComponent__displayWith = new WeakMap(), _SkyTokensComponent_messageStreamSub = new WeakMap(), _SkyTokensComponent_ngUnsubscribe = new WeakMap(), _SkyTokensComponent_changeDetector = new WeakMap(), _SkyTokensComponent__activeIndex = new WeakMap(), _SkyTokensComponent__messageStream = new WeakMap(), _SkyTokensComponent_instances = new WeakSet(), _SkyTokensComponent_focusPreviousToken = function _SkyTokensComponent_focusPreviousToken() {
|
|
194
193
|
this.activeIndex--;
|
|
195
194
|
__classPrivateFieldGet(this, _SkyTokensComponent_instances, "m", _SkyTokensComponent_focusActiveToken).call(this);
|
|
196
195
|
}, _SkyTokensComponent_focusNextToken = function _SkyTokensComponent_focusNextToken() {
|
|
@@ -245,8 +244,8 @@ _SkyTokensComponent__disabled = new WeakMap(), _SkyTokensComponent__dismissible
|
|
|
245
244
|
token,
|
|
246
245
|
});
|
|
247
246
|
};
|
|
248
|
-
SkyTokensComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1
|
|
249
|
-
SkyTokensComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1
|
|
247
|
+
SkyTokensComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyTokensComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
248
|
+
SkyTokensComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: SkyTokensComponent, selector: "sky-tokens", inputs: { disabled: "disabled", dismissible: "dismissible", displayWith: "displayWith", trackWith: "trackWith", focusable: "focusable", tokens: "tokens", messageStream: "messageStream" }, outputs: { focusIndexOverRange: "focusIndexOverRange", focusIndexUnderRange: "focusIndexUnderRange", tokenSelected: "tokenSelected", tokensChange: "tokensChange", tokensRendered: "tokensRendered" }, viewQueries: [{ propertyName: "tokenComponents", predicate: SkyTokenComponent, descendants: true }], ngImport: i0, template: "<div\n class=\"sky-tokens\"\n [@blockAnimationOnLoad]\n [attr.role]=\"tokens.length ? 'grid' : null\"\n>\n <!--\n The role must use square brackets otherwise Angular sets the native 'role'\n attribute as well as the input attribute of the token, which fails accessibility rules.\n -->\n <sky-token\n *ngFor=\"let token of tokens; let i = index; trackBy: trackTokenFn\"\n [@.disabled]=\"!trackWith\"\n [@dismiss]\n [disabled]=\"disabled\"\n [dismissible]=\"dismissible\"\n [focusable]=\"focusable\"\n [role]=\"'row'\"\n (@dismiss.done)=\"animationDone()\"\n (dismiss)=\"removeToken(token)\"\n (click)=\"onTokenClick(token)\"\n (keydown)=\"onTokenKeyDown($event)\"\n (keyup.enter)=\"selectToken(token); $event.preventDefault()\"\n (tokenFocus)=\"activeIndex = i\"\n >\n {{ token.value[displayWith] }}\n </sky-token>\n <div class=\"sky-tokens-content\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.sky-tokens{display:flex;flex-wrap:wrap;align-items:baseline;margin:-2px}.sky-tokens .sky-tokens-content,.sky-tokens ::ng-deep sky-token{flex:0 0 auto;display:inline-flex;padding:2px}.sky-tokens .sky-tokens-content{flex-grow:1;flex-basis:0px}.sky-tokens .sky-tokens-content:before{content:\"\\200b\"}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.SkyTokenComponent, selector: "sky-token", inputs: ["disabled", "ariaLabel", "dismissible", "focusable", "role"], outputs: ["dismiss", "tokenFocus"] }], animations: [
|
|
250
249
|
trigger('blockAnimationOnLoad', [transition(':enter', [])]),
|
|
251
250
|
trigger('dismiss', [
|
|
252
251
|
transition(':enter', [
|
|
@@ -267,7 +266,7 @@ SkyTokensComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
|
|
|
267
266
|
]),
|
|
268
267
|
]),
|
|
269
268
|
], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
270
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1
|
|
269
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyTokensComponent, decorators: [{
|
|
271
270
|
type: Component,
|
|
272
271
|
args: [{ selector: 'sky-tokens', changeDetection: ChangeDetectionStrategy.OnPush, animations: [
|
|
273
272
|
trigger('blockAnimationOnLoad', [transition(':enter', [])]),
|
|
@@ -290,7 +289,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
290
289
|
]),
|
|
291
290
|
]),
|
|
292
291
|
], template: "<div\n class=\"sky-tokens\"\n [@blockAnimationOnLoad]\n [attr.role]=\"tokens.length ? 'grid' : null\"\n>\n <!--\n The role must use square brackets otherwise Angular sets the native 'role'\n attribute as well as the input attribute of the token, which fails accessibility rules.\n -->\n <sky-token\n *ngFor=\"let token of tokens; let i = index; trackBy: trackTokenFn\"\n [@.disabled]=\"!trackWith\"\n [@dismiss]\n [disabled]=\"disabled\"\n [dismissible]=\"dismissible\"\n [focusable]=\"focusable\"\n [role]=\"'row'\"\n (@dismiss.done)=\"animationDone()\"\n (dismiss)=\"removeToken(token)\"\n (click)=\"onTokenClick(token)\"\n (keydown)=\"onTokenKeyDown($event)\"\n (keyup.enter)=\"selectToken(token); $event.preventDefault()\"\n (tokenFocus)=\"activeIndex = i\"\n >\n {{ token.value[displayWith] }}\n </sky-token>\n <div class=\"sky-tokens-content\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.sky-tokens{display:flex;flex-wrap:wrap;align-items:baseline;margin:-2px}.sky-tokens .sky-tokens-content,.sky-tokens ::ng-deep sky-token{flex:0 0 auto;display:inline-flex;padding:2px}.sky-tokens .sky-tokens-content{flex-grow:1;flex-basis:0px}.sky-tokens .sky-tokens-content:before{content:\"\\200b\"}\n"] }]
|
|
293
|
-
}], ctorParameters: function () { return [
|
|
292
|
+
}], ctorParameters: function () { return []; }, propDecorators: { disabled: [{
|
|
294
293
|
type: Input
|
|
295
294
|
}], dismissible: [{
|
|
296
295
|
type: Input
|
|
@@ -318,4 +317,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
318
317
|
type: ViewChildren,
|
|
319
318
|
args: [SkyTokenComponent]
|
|
320
319
|
}] } });
|
|
321
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3NyYy9saWIvbW9kdWxlcy90b2tlbnMvdG9rZW5zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3NyYy9saWIvbW9kdWxlcy90b2tlbnMvdG9rZW5zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFFLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUdOLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7QUFFbkUsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLENBQUM7QUFFcEM7Ozs7R0FJRztBQWtDSCxNQUFNLE9BQU8sa0JBQWtCO0lBcUs3QixZQUFZLGNBQWlDOztRQXRFN0M7OztXQUdHO1FBRUksd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUV0RDs7O1dBR0c7UUFFSSx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXZEOztXQUVHO1FBRUksa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBNkIsQ0FBQztRQUVyRTs7O1dBR0c7UUFFSSxpQkFBWSxHQUFH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akIsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQ0FDbkIsS0FBSyxDQUFDO29DQUNKLE9BQU8sRUFBRSxDQUFDO29DQUNWLEtBQUssRUFBRSxDQUFDO2lDQUNULENBQUM7Z0NBQ0YsT0FBTyxDQUNMLGVBQWUsRUFDZixLQUFLLENBQUM7b0NBQ0osT0FBTyxFQUFFLENBQUM7b0NBQ1YsS0FBSyxFQUFFLEdBQUc7aUNBQ1gsQ0FBQyxDQUNIOzZCQUNGLENBQUM7NEJBQ0YsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQ0FDbkIsT0FBTyxDQUNMLGVBQWUsRUFDZixLQUFLLENBQUM7b0NBQ0osT0FBTyxFQUFFLENBQUM7b0NBQ1YsS0FBSyxFQUFFLENBQUM7aUNBQ1QsQ0FBQyxDQUNIOzZCQUNGLENBQUM7eUJBQ0gsQ0FBQztxQkFDSDt3R0FVVSxRQUFRO3NCQURsQixLQUFLO2dCQWNLLFdBQVc7c0JBRHJCLEtBQUs7Z0JBY0ssV0FBVztzQkFEckIsS0FBSztnQkFjQyxTQUFTO3NCQURmLEtBQUs7Z0JBVUssU0FBUztzQkFEbkIsS0FBSztnQkFhSyxNQUFNO3NCQURoQixLQUFLO2dCQW1CSyxhQUFhO3NCQUR2QixLQUFLO2dCQWVDLG1CQUFtQjtzQkFEekIsTUFBTTtnQkFRQSxvQkFBb0I7c0JBRDFCLE1BQU07Z0JBT0EsYUFBYTtzQkFEbkIsTUFBTTtnQkFRQSxZQUFZO3NCQURsQixNQUFNO2dCQVFBLGNBQWM7c0JBRHBCLE1BQU07Z0JBOEJBLGVBQWU7c0JBRHJCLFlBQVk7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBUcmFja0J5RnVuY3Rpb24sXG4gIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lUb2tlbkNvbXBvbmVudCB9IGZyb20gJy4vdG9rZW4uY29tcG9uZW50JztcbmltcG9ydCB7IFNreVRva2VuIH0gZnJvbSAnLi90eXBlcy90b2tlbic7XG5pbXBvcnQgeyBTa3lUb2tlblNlbGVjdGVkRXZlbnRBcmdzIH0gZnJvbSAnLi90eXBlcy90b2tlbi1zZWxlY3RlZC1ldmVudC1hcmdzJztcbmltcG9ydCB7IFNreVRva2Vuc01lc3NhZ2UgfSBmcm9tICcuL3R5cGVzL3Rva2Vucy1tZXNzYWdlJztcbmltcG9ydCB7IFNreVRva2Vuc01lc3NhZ2VUeXBlIH0gZnJvbSAnLi90eXBlcy90b2tlbnMtbWVzc2FnZS10eXBlJztcblxuY29uc3QgRElTUExBWV9XSVRIX0RFRkFVTFQgPSAnbmFtZSc7XG5cbi8qKlxuICogQ3JlYXRlcyBhIGNvbnRhaW5lciB0aGF0IGVuYWJsZXMgbmF2aWdhdGlvbiBiZXR3ZWVuIHRva2VucyB1c2luZyBrZXlib2FyZCBhcnJvdyBrZXlzLlxuICogVGhpcyBpcyB1c2VmdWwgd2hlbiBjb21iaW5lZCB3aXRoIG90aGVyIGNvbXBvbmVudHMgd2hlcmUgdGhlIDxrYmQ+VGFiPC9rYmQ+IGtleSBpc1xuICogcmVzZXJ2ZWQgZm9yIG90aGVyIGZ1bmN0aW9ucywgc3VjaCBhcyB0aGUgU0tZIFVYIExvb2t1cCBjb21wb25lbnQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS10b2tlbnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vdG9rZW5zLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdG9rZW5zLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignYmxvY2tBbmltYXRpb25PbkxvYWQnLCBbdHJhbnNpdGlvbignOmVudGVyJywgW10pXSksXG4gICAgdHJpZ2dlcignZGlzbWlzcycsIFtcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgIG9wYWNpdHk6IDAsXG4gICAgICAgICAgd2lkdGg6IDAsXG4gICAgICAgIH0pLFxuICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICcxNTBtcyBlYXNlLWluJyxcbiAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICBvcGFjaXR5OiAxLFxuICAgICAgICAgICAgd2lkdGg6ICcqJyxcbiAgICAgICAgICB9KVxuICAgICAgICApLFxuICAgICAgXSksXG4gICAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbXG4gICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgJzE1MG1zIGVhc2UtaW4nLFxuICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAsXG4gICAgICAgICAgICB3aWR0aDogMCxcbiAgICAgICAgICB9KVxuICAgICAgICApLFxuICAgICAgXSksXG4gICAgXSksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVRva2Vuc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGRpc2FibGUgdGhlIHRva2VucyBsaXN0IHRvIHByZXZlbnQgdXNlcnMgZnJvbSBzZWxlY3RpbmcgdG9rZW5zLFxuICAgKiBkaXNtaXNzaW5nIHRva2Vucywgb3IgbmF2aWdhdGluZyB0aHJvdWdoIHRoZSBsaXN0IHdpdGggdGhlIGFycm93IGtleXMuIFdoZW4gdGhlIHRva2VucyBsaXN0XG4gICAqIGlzIGRpc2FibGVkLCB1c2VycyBjYW4gc3RpbGwgcGxhY2UgZm9jdXMgb24gaXRlbXMgaW4gdGhlIGxpc3QgdXNpbmcgdGhlIGBUYWJgIGtleS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfZGlzYWJsZWQgPSAhIXZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jX2Rpc2FibGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdXNlcnMgY2FuIHJlbW92ZSBhIHRva2VuIGZyb20gdGhlIGxpc3QgYnkgc2VsZWN0aW5nIGEgdG9rZW4ncyBjbG9zZSBidXR0b24uXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzbWlzc2libGUodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfZGlzbWlzc2libGUgPSB2YWx1ZSAhPT0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc21pc3NpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfZGlzbWlzc2libGU7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHRva2VuIHByb3BlcnR5IHRvIGRpc3BsYXkgZm9yIGVhY2ggaXRlbSBpbiB0aGUgdG9rZW5zIGxpc3QuXG4gICAqIEBkZWZhdWx0IFwibmFtZVwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRpc3BsYXlXaXRoKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfZGlzcGxheVdpdGggPSB2YWx1ZSB8fCBESVNQTEFZX1dJVEhfREVGQVVMVDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzcGxheVdpdGgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4jX2Rpc3BsYXlXaXRoO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSB0b2tlbiBwcm9wZXJ0eSB0aGF0IHJlcHJlc2VudHMgdGhlIHRva2VuJ3MgdW5pcXVlIGlkZW50aWZpZXIuIFdoZW4gdGhpcyBwcm9wZXJ0eVxuICAgKiBpcyBzZXQsIGFuaW1hdGlvbnMgYXJlIGVuYWJsZWQgd2hlbiBkaXNtaXNzaW5nIHRva2Vucy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0cmFja1dpdGg6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogV2hldGhlciB1c2VycyBjYW4gcGxhY2UgZm9jdXMgb24gdG9rZW5zIGluIHRoZSBsaXN0IHVzaW5nIHRoZSBgVGFiYCBrZXkuXG4gICAqIFRoaXMgZG9lcyBub3QgYWZmZWN0IHRoZSBhYmlsaXR5IG9mIHVzZXJzIHRvIHNlbGVjdCB0b2tlbnMsIGRpc21pc3MgdG9rZW5zLFxuICAgKiBvciBuYXZpZ2F0ZSB0aHJvdWdoIHRoZSBsaXN0IHdpdGggdGhlIGFycm93IGtleXMuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZm9jdXNhYmxlKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2ZvY3VzYWJsZSA9IHZhbHVlICE9PSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZm9jdXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfZm9jdXNhYmxlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBhcnJheSBvZiB0b2tlbnMgdG8gaW5jbHVkZSBpbiB0aGUgbGlzdC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdG9rZW5zKHZhbHVlOiBTa3lUb2tlbltdIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX3Rva2VucyA9IHZhbHVlIHx8IFtdO1xuICAgIC8vIFRoZSBwcmV2aW91cyBiZWhhdmlvciB3YXMgdG8gc2V0IGB0aGlzLl90b2tlbnMgPSB2YWx1ZWAsIHRoZW4gZW1pdCBgdGhpcy5fdG9rZW5zYCxcbiAgICAvLyB3aGljaCB3b3VsZCBlbWl0IGB1bmRlZmluZWRgIGluc3RlYWQgb2YgYSBkZWZhdWx0IHZhbHVlIG9mIGBbXWAgcmV0dXJuZWQgYnkgdGhlXG4gICAgLy8gZ2V0IGFjY2Vzc29yIHdoZW4gc2V0IHRvIGB1bmRlZmluZWRgLiBFbWl0dGluZyBgdmFsdWVgIGluc3RlYWQgb2YgYHRoaXMuI190b2tlbnNPckRlZmF1bHRgXG4gICAgLy8gcHJlc2VydmVzIHRoYXQgYmVoYXZpb3IuXG4gICAgdGhpcy50b2tlbnNDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRva2VucygpOiBTa3lUb2tlbltdIHtcbiAgICByZXR1cm4gdGhpcy4jX3Rva2VucztcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgb2JzZXJ2YWJsZSBvZiBgU2t5VG9rZW5zTWVzc2FnZWAgdGhhdCBjYW4gcGxhY2UgZm9jdXMgb24gYVxuICAgKiBwYXJ0aWN1bGFyIHRva2VuIG9yIHJlbW92ZSB0aGUgYWN0aXZlIHRva2VuIGZyb20gdGhlIGxpc3QuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG1lc3NhZ2VTdHJlYW0odmFsdWU6IFN1YmplY3Q8U2t5VG9rZW5zTWVzc2FnZT4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfbWVzc2FnZVN0cmVhbSA9IHZhbHVlIHx8IG5ldyBTdWJqZWN0PFNreVRva2Vuc01lc3NhZ2U+KCk7XG4gICAgdGhpcy4jaW5pdE1lc3NhZ2VTdHJlYW0oKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbWVzc2FnZVN0cmVhbSgpOiBTdWJqZWN0PFNreVRva2Vuc01lc3NhZ2U+IHtcbiAgICByZXR1cm4gdGhpcy4jX21lc3NhZ2VTdHJlYW07XG4gIH1cblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBuYXZpZ2F0ZSB0aHJvdWdoIHRoZSB0b2tlbnMgbGlzdCB3aXRoIHRoZSBgVGFiYCBrZXlcbiAgICogYW5kIGF0dGVtcHQgdG8gbW92ZSBwYXN0IHRoZSBmaW5hbCB0b2tlbiBpbiB0aGUgbGlzdC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZm9jdXNJbmRleE92ZXJSYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBuYXZpZ2F0ZSB0aHJvdWdoIHRoZSB0b2tlbnMgbGlzdCB3aXRoIHRoZSBgVGFiYCBrZXlcbiAgICogYW5kIGF0dGVtcHQgdG8gbW92ZSBiZWZvcmUgdGhlIGZpcnN0IHRva2VuIGluIHRoZSBsaXN0LlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBmb2N1c0luZGV4VW5kZXJSYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBzZWxlY3QgYSB0b2tlbiBpbiB0aGUgbGlzdC4gVGhpcyBldmVudCBlbWl0cyB0aGUgc2VsZWN0ZWQgdG9rZW4uXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHRva2VuU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNreVRva2VuU2VsZWN0ZWRFdmVudEFyZ3M+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIHRva2VucyBpbiB0aGUgbGlzdCBjaGFuZ2UuXG4gICAqIFRoaXMgZXZlbnQgZW1pdHMgYW4gYXJyYXkgb2YgdGhlIHRva2VucyBpbiB0aGUgdXBkYXRlZCBsaXN0LlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyB0b2tlbnNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNreVRva2VuW10+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gYWxsIGFuaW1hdGlvbnMgb24gdGhlIHRva2VucyBhcmUgY29tcGxldGUuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyB0b2tlbnNSZW5kZXJlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBwdWJsaWMgZ2V0IGFjdGl2ZUluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuI19hY3RpdmVJbmRleDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgYWN0aXZlSW5kZXgodmFsdWU6IG51bWJlcikge1xuICAgIGlmICh2YWx1ZSA+PSB0aGlzLiNfdG9rZW5zLmxlbmd0aCkge1xuICAgICAgdmFsdWUgPSB0aGlzLiNfdG9rZW5zLmxlbmd0aCAtIDE7XG4gICAgICB0aGlzLmZvY3VzSW5kZXhPdmVyUmFuZ2UuZW1pdCgpO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZSA8IDApIHtcbiAgICAgIHZhbHVlID0gMDtcbiAgICAgIHRoaXMuZm9jdXNJbmRleFVuZGVyUmFuZ2UuZW1pdCgpO1xuICAgIH1cblxuICAgIHRoaXMuI19hY3RpdmVJbmRleCA9IHZhbHVlIHx8IDA7XG4gIH1cblxuICBwdWJsaWMgdHJhY2tUb2tlbkZuOiBUcmFja0J5RnVuY3Rpb248U2t5VG9rZW4+O1xuXG4gICNfZGlzYWJsZWQgPSBmYWxzZTtcbiAgI19kaXNtaXNzaWJsZSA9IHRydWU7XG4gICNfZm9jdXNhYmxlID0gdHJ1ZTtcbiAgI190b2tlbnM6IFNreVRva2VuW10gPSBbXTtcbiAgI19kaXNwbGF5V2l0aCA9IERJU1BMQVlfV0lUSF9ERUZBVUxUO1xuXG4gIEBWaWV3Q2hpbGRyZW4oU2t5VG9rZW5Db21wb25lbnQpXG4gIHB1YmxpYyB0b2tlbkNvbXBvbmVudHM6IFF1ZXJ5TGlzdDxTa3lUb2tlbkNvbXBvbmVudD4gfCB1bmRlZmluZWQ7XG5cbiAgI21lc3NhZ2VTdHJlYW1TdWI6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAjX21lc3NhZ2VTdHJlYW0gPSBuZXcgU3ViamVjdDxTa3lUb2tlbnNNZXNzYWdlPigpO1xuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuXG4gICNfYWN0aXZlSW5kZXggPSAwO1xuXG4gIGNvbnN0cnVjdG9yKGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yID0gY2hhbmdlRGV0ZWN0b3I7XG4gICAgdGhpcy4jaW5pdE1lc3NhZ2VTdHJlYW0oKTtcblxuICAgIC8vIEFuZ3VsYXIgY2FsbHMgdGhlIHRyYWNrQnkgZnVuY3Rpb24gd2l0aG91dCBhcHBseWluZyB0aGUgY29tcG9uZW50IGluc3RhbmNlJ3Mgc2NvcGUuXG4gICAgLy8gVXNlIGEgZmF0LWFycm93IGZ1bmN0aW9uIHNvIHRoZSBjdXJyZW50IGNvbXBvbmVudCBpbnN0YW5jZSdzIHRyYWNrV2l0aCBwcm9wZXJ0eSBjYW5cbiAgICAvLyBiZSByZWZlcmVuY2VkLlxuICAgIHRoaXMudHJhY2tUb2tlbkZuID0gKF9pbmRleCwgaXRlbSk6IHVua25vd24gPT4ge1xuICAgICAgaWYgKHRoaXMudHJhY2tXaXRoKSB7XG4gICAgICAgIHJldHVybiBpdGVtLnZhbHVlW3RoaXMudHJhY2tXaXRoXTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGl0ZW07XG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgb25Ub2tlbkNsaWNrKHRva2VuOiBTa3lUb2tlbik6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy4jbm90aWZ5VG9rZW5TZWxlY3RlZCh0b2tlbik7XG4gIH1cblxuICBwdWJsaWMgYW5pbWF0aW9uRG9uZSgpOiB2b2lkIHtcbiAgICB0aGlzLnRva2Vuc1JlbmRlcmVkLmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblRva2VuS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgICAgY2FzZSAnTGVmdCc6XG4gICAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XG4gICAgICAgICAgdGhpcy4jX21lc3NhZ2VTdHJlYW0ubmV4dCh7XG4gICAgICAgICAgICB0eXBlOiBTa3lUb2tlbnNNZXNzYWdlVHlwZS5Gb2N1c1ByZXZpb3VzVG9rZW4sXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdSaWdodCc6XG4gICAgICAgIGNhc2UgJ0Fycm93UmlnaHQnOlxuICAgICAgICAgIHRoaXMuI19tZXNzYWdlU3RyZWFtLm5leHQoe1xuICAgICAgICAgICAgdHlwZTogU2t5VG9rZW5zTWVzc2FnZVR5cGUuRm9jdXNOZXh0VG9rZW4sXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0VG9rZW4odG9rZW46IFNreVRva2VuKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLiNub3RpZnlUb2tlblNlbGVjdGVkKHRva2VuKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlVG9rZW4odG9rZW46IFNreVRva2VuKTogdm9pZCB7XG4gICAgdGhpcy50b2tlbnMgPSB0aGlzLnRva2Vucy5maWx0ZXIoKHQpID0+IHQgIT09IHRva2VuKTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICAjZm9jdXNQcmV2aW91c1Rva2VuKCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZlSW5kZXgtLTtcbiAgICB0aGlzLiNmb2N1c0FjdGl2ZVRva2VuKCk7XG4gIH1cblxuICAjZm9jdXNOZXh0VG9rZW4oKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVJbmRleCsrO1xuICAgIHRoaXMuI2ZvY3VzQWN0aXZlVG9rZW4oKTtcbiAgfVxuXG4gICNmb2N1c0xhc3RUb2tlbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50b2tlbkNvbXBvbmVudHMpIHtcbiAgICAgIHRoaXMuYWN0aXZlSW5kZXggPSB0aGlzLnRva2VuQ29tcG9uZW50cy5sZW5ndGggLSAxO1xuICAgICAgdGhpcy4jZm9jdXNBY3RpdmVUb2tlbigpO1xuICAgIH1cbiAgfVxuXG4gICNmb2N1c0FjdGl2ZVRva2VuKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRva2VuQ29tcG9uZW50cykge1xuICAgICAgY29uc3QgdG9rZW5Db21wb25lbnQgPSB0aGlzLnRva2VuQ29tcG9uZW50cy5maW5kKFxuICAgICAgICAoX2NvbXA6IFNreVRva2VuQ29tcG9uZW50LCBpOiBudW1iZXIpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5hY3RpdmVJbmRleCA9PT0gaTtcbiAgICAgICAgfVxuICAgICAgKTtcblxuICAgICAgaWYgKHRva2VuQ29tcG9uZW50KSB7XG4gICAgICAgIHRva2VuQ29tcG9uZW50LmZvY3VzRWxlbWVudCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNyZW1vdmVBY3RpdmVUb2tlbigpOiB2b2lkIHtcbiAgICBjb25zdCB0b2tlbiA9IHRoaXMudG9rZW5zW3RoaXMuYWN0aXZlSW5kZXhdO1xuICAgIGlmICh0b2tlbikge1xuICAgICAgdGhpcy5yZW1vdmVUb2tlbih0b2tlbik7XG4gICAgfVxuICB9XG5cbiAgI2luaXRNZXNzYWdlU3RyZWFtKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNtZXNzYWdlU3RyZWFtU3ViKSB7XG4gICAgICB0aGlzLiNtZXNzYWdlU3RyZWFtU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgdGhpcy4jbWVzc2FnZVN0cmVhbVN1YiA9IHRoaXMubWVzc2FnZVN0cmVhbVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgobWVzc2FnZTogU2t5VG9rZW5zTWVzc2FnZSkgPT4ge1xuICAgICAgICBzd2l0Y2ggKG1lc3NhZ2UudHlwZSkge1xuICAgICAgICAgIGNhc2UgU2t5VG9rZW5zTWVzc2FnZVR5cGUuRm9jdXNMYXN0VG9rZW46XG4gICAgICAgICAgICB0aGlzLiNmb2N1c0xhc3RUb2tlbigpO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlIFNreVRva2Vuc01lc3NhZ2VUeXBlLkZvY3VzQWN0aXZlVG9rZW46XG4gICAgICAgICAgICB0aGlzLiNmb2N1c0FjdGl2ZVRva2VuKCk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgU2t5VG9rZW5zTWVzc2FnZVR5cGUuRm9jdXNQcmV2aW91c1Rva2VuOlxuICAgICAgICAgICAgdGhpcy4jZm9jdXNQcmV2aW91c1Rva2VuKCk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgU2t5VG9rZW5zTWVzc2FnZVR5cGUuRm9jdXNOZXh0VG9rZW46XG4gICAgICAgICAgICB0aGlzLiNmb2N1c05leHRUb2tlbigpO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlIFNreVRva2Vuc01lc3NhZ2VUeXBlLlJlbW92ZUFjdGl2ZVRva2VuOlxuICAgICAgICAgICAgdGhpcy4jcmVtb3ZlQWN0aXZlVG9rZW4oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gICNub3RpZnlUb2tlblNlbGVjdGVkKHRva2VuOiBTa3lUb2tlbik6IHZvaWQge1xuICAgIHRoaXMudG9rZW5TZWxlY3RlZC5lbWl0KHtcbiAgICAgIHRva2VuLFxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwic2t5LXRva2Vuc1wiXG4gIFtAYmxvY2tBbmltYXRpb25PbkxvYWRdXG4gIFthdHRyLnJvbGVdPVwidG9rZW5zLmxlbmd0aCA/ICdncmlkJyA6IG51bGxcIlxuPlxuICA8IS0tXG4gICAgICBUaGUgcm9sZSBtdXN0IHVzZSBzcXVhcmUgYnJhY2tldHMgb3RoZXJ3aXNlIEFuZ3VsYXIgc2V0cyB0aGUgbmF0aXZlICdyb2xlJ1xuICAgICAgYXR0cmlidXRlIGFzIHdlbGwgYXMgdGhlIGlucHV0IGF0dHJpYnV0ZSBvZiB0aGUgdG9rZW4sIHdoaWNoIGZhaWxzIGFjY2Vzc2liaWxpdHkgcnVsZXMuXG4gICAgLS0+XG4gIDxza3ktdG9rZW5cbiAgICAqbmdGb3I9XCJsZXQgdG9rZW4gb2YgdG9rZW5zOyBsZXQgaSA9IGluZGV4OyB0cmFja0J5OiB0cmFja1Rva2VuRm5cIlxuICAgIFtALmRpc2FibGVkXT1cIiF0cmFja1dpdGhcIlxuICAgIFtAZGlzbWlzc11cbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtkaXNtaXNzaWJsZV09XCJkaXNtaXNzaWJsZVwiXG4gICAgW2ZvY3VzYWJsZV09XCJmb2N1c2FibGVcIlxuICAgIFtyb2xlXT1cIidyb3cnXCJcbiAgICAoQGRpc21pc3MuZG9uZSk9XCJhbmltYXRpb25Eb25lKClcIlxuICAgIChkaXNtaXNzKT1cInJlbW92ZVRva2VuKHRva2VuKVwiXG4gICAgKGNsaWNrKT1cIm9uVG9rZW5DbGljayh0b2tlbilcIlxuICAgIChrZXlkb3duKT1cIm9uVG9rZW5LZXlEb3duKCRldmVudClcIlxuICAgIChrZXl1cC5lbnRlcik9XCJzZWxlY3RUb2tlbih0b2tlbik7ICRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcbiAgICAodG9rZW5Gb2N1cyk9XCJhY3RpdmVJbmRleCA9IGlcIlxuICA+XG4gICAge3sgdG9rZW4udmFsdWVbZGlzcGxheVdpdGhdIH19XG4gIDwvc2t5LXRva2VuPlxuICA8ZGl2IGNsYXNzPVwic2t5LXRva2Vucy1jb250ZW50XCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
320
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3NyYy9saWIvbW9kdWxlcy90b2tlbnMvdG9rZW5zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3NyYy9saWIvbW9kdWxlcy90b2tlbnMvdG9rZW5zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFFLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFHTixZQUFZLEVBQ1osTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUl0RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7OztBQUVuRSxNQUFNLG9CQUFvQixHQUFHLE1BQU0sQ0FBQztBQUVwQzs7OztHQUlHO0FBa0NILE1BQU0sT0FBTyxrQkFBa0I7SUFDN0I7Ozs7O09BS0c7SUFDSCxJQUNXLFFBQVEsQ0FBQyxLQUEwQjtRQUM1Qyx1QkFBQSxJQUFJLGlDQUFjLENBQUMsQ0FBQyxLQUFLLE1BQUEsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sdUJBQUEsSUFBSSxxQ0FBVyxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7O09BR0c7SUFD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VUFBVSxDQUFDLFFBQVEsRUFBRTtnQ0FDbkIsS0FBSyxDQUFDO29DQUNKLE9BQU8sRUFBRSxDQUFDO29DQUNWLEtBQUssRUFBRSxDQUFDO2lDQUNULENBQUM7Z0NBQ0YsT0FBTyxDQUNMLGVBQWUsRUFDZixLQUFLLENBQUM7b0NBQ0osT0FBTyxFQUFFLENBQUM7b0NBQ1YsS0FBSyxFQUFFLEdBQUc7aUNBQ1gsQ0FBQyxDQUNIOzZCQUNGLENBQUM7NEJBQ0YsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQ0FDbkIsT0FBTyxDQUNMLGVBQWUsRUFDZixLQUFLLENBQUM7b0NBQ0osT0FBTyxFQUFFLENBQUM7b0NBQ1YsS0FBSyxFQUFFLENBQUM7aUNBQ1QsQ0FBQyxDQUNIOzZCQUNGLENBQUM7eUJBQ0gsQ0FBQztxQkFDSDswRUFVVSxRQUFRO3NCQURsQixLQUFLO2dCQWNLLFdBQVc7c0JBRHJCLEtBQUs7Z0JBY0ssV0FBVztzQkFEckIsS0FBSztnQkFjQyxTQUFTO3NCQURmLEtBQUs7Z0JBVUssU0FBUztzQkFEbkIsS0FBSztnQkFhSyxNQUFNO3NCQURoQixLQUFLO2dCQW1CSyxhQUFhO3NCQUR2QixLQUFLO2dCQWVDLG1CQUFtQjtzQkFEekIsTUFBTTtnQkFRQSxvQkFBb0I7c0JBRDFCLE1BQU07Z0JBT0EsYUFBYTtzQkFEbkIsTUFBTTtnQkFRQSxZQUFZO3NCQURsQixNQUFNO2dCQVFBLGNBQWM7c0JBRHBCLE1BQU07Z0JBOEJBLGVBQWU7c0JBRHJCLFlBQVk7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBUcmFja0J5RnVuY3Rpb24sXG4gIFZpZXdDaGlsZHJlbixcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVRva2VuQ29tcG9uZW50IH0gZnJvbSAnLi90b2tlbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5VG9rZW4gfSBmcm9tICcuL3R5cGVzL3Rva2VuJztcbmltcG9ydCB7IFNreVRva2VuU2VsZWN0ZWRFdmVudEFyZ3MgfSBmcm9tICcuL3R5cGVzL3Rva2VuLXNlbGVjdGVkLWV2ZW50LWFyZ3MnO1xuaW1wb3J0IHsgU2t5VG9rZW5zTWVzc2FnZSB9IGZyb20gJy4vdHlwZXMvdG9rZW5zLW1lc3NhZ2UnO1xuaW1wb3J0IHsgU2t5VG9rZW5zTWVzc2FnZVR5cGUgfSBmcm9tICcuL3R5cGVzL3Rva2Vucy1tZXNzYWdlLXR5cGUnO1xuXG5jb25zdCBESVNQTEFZX1dJVEhfREVGQVVMVCA9ICduYW1lJztcblxuLyoqXG4gKiBDcmVhdGVzIGEgY29udGFpbmVyIHRoYXQgZW5hYmxlcyBuYXZpZ2F0aW9uIGJldHdlZW4gdG9rZW5zIHVzaW5nIGtleWJvYXJkIGFycm93IGtleXMuXG4gKiBUaGlzIGlzIHVzZWZ1bCB3aGVuIGNvbWJpbmVkIHdpdGggb3RoZXIgY29tcG9uZW50cyB3aGVyZSB0aGUgPGtiZD5UYWI8L2tiZD4ga2V5IGlzXG4gKiByZXNlcnZlZCBmb3Igb3RoZXIgZnVuY3Rpb25zLCBzdWNoIGFzIHRoZSBTS1kgVVggTG9va3VwIGNvbXBvbmVudC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXRva2VucycsXG4gIHRlbXBsYXRlVXJsOiAnLi90b2tlbnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90b2tlbnMuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdibG9ja0FuaW1hdGlvbk9uTG9hZCcsIFt0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXSldKSxcbiAgICB0cmlnZ2VyKCdkaXNtaXNzJywgW1xuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgICB3aWR0aDogMCxcbiAgICAgICAgfSksXG4gICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgJzE1MG1zIGVhc2UtaW4nLFxuICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgICAgICB3aWR0aDogJyonLFxuICAgICAgICAgIH0pXG4gICAgICAgICksXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcbiAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAnMTUwbXMgZWFzZS1pbicsXG4gICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgICAgIHdpZHRoOiAwLFxuICAgICAgICAgIH0pXG4gICAgICAgICksXG4gICAgICBdKSxcbiAgICBdKSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VG9rZW5zQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgdG9rZW5zIGxpc3QgdG8gcHJldmVudCB1c2VycyBmcm9tIHNlbGVjdGluZyB0b2tlbnMsXG4gICAqIGRpc21pc3NpbmcgdG9rZW5zLCBvciBuYXZpZ2F0aW5nIHRocm91Z2ggdGhlIGxpc3Qgd2l0aCB0aGUgYXJyb3cga2V5cy4gV2hlbiB0aGUgdG9rZW5zIGxpc3RcbiAgICogaXMgZGlzYWJsZWQsIHVzZXJzIGNhbiBzdGlsbCBwbGFjZSBmb2N1cyBvbiBpdGVtcyBpbiB0aGUgbGlzdCB1c2luZyB0aGUgYFRhYmAga2V5LlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kaXNhYmxlZCA9ICEhdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfZGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB1c2VycyBjYW4gcmVtb3ZlIGEgdG9rZW4gZnJvbSB0aGUgbGlzdCBieSBzZWxlY3RpbmcgYSB0b2tlbidzIGNsb3NlIGJ1dHRvbi5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNtaXNzaWJsZSh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kaXNtaXNzaWJsZSA9IHZhbHVlICE9PSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzbWlzc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19kaXNtaXNzaWJsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgdG9rZW4gcHJvcGVydHkgdG8gZGlzcGxheSBmb3IgZWFjaCBpdGVtIGluIHRoZSB0b2tlbnMgbGlzdC5cbiAgICogQGRlZmF1bHQgXCJuYW1lXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzcGxheVdpdGgodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kaXNwbGF5V2l0aCA9IHZhbHVlIHx8IERJU1BMQVlfV0lUSF9ERUZBVUxUO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNwbGF5V2l0aCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNfZGlzcGxheVdpdGg7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHRva2VuIHByb3BlcnR5IHRoYXQgcmVwcmVzZW50cyB0aGUgdG9rZW4ncyB1bmlxdWUgaWRlbnRpZmllci4gV2hlbiB0aGlzIHByb3BlcnR5XG4gICAqIGlzIHNldCwgYW5pbWF0aW9ucyBhcmUgZW5hYmxlZCB3aGVuIGRpc21pc3NpbmcgdG9rZW5zLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRyYWNrV2l0aDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHVzZXJzIGNhbiBwbGFjZSBmb2N1cyBvbiB0b2tlbnMgaW4gdGhlIGxpc3QgdXNpbmcgdGhlIGBUYWJgIGtleS5cbiAgICogVGhpcyBkb2VzIG5vdCBhZmZlY3QgdGhlIGFiaWxpdHkgb2YgdXNlcnMgdG8gc2VsZWN0IHRva2VucywgZGlzbWlzcyB0b2tlbnMsXG4gICAqIG9yIG5hdmlnYXRlIHRocm91Z2ggdGhlIGxpc3Qgd2l0aCB0aGUgYXJyb3cga2V5cy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBmb2N1c2FibGUodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfZm9jdXNhYmxlID0gdmFsdWUgIT09IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGdldCBmb2N1c2FibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19mb2N1c2FibGU7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGFycmF5IG9mIHRva2VucyB0byBpbmNsdWRlIGluIHRoZSBsaXN0LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB0b2tlbnModmFsdWU6IFNreVRva2VuW10gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfdG9rZW5zID0gdmFsdWUgfHwgW107XG4gICAgLy8gVGhlIHByZXZpb3VzIGJlaGF2aW9yIHdhcyB0byBzZXQgYHRoaXMuX3Rva2VucyA9IHZhbHVlYCwgdGhlbiBlbWl0IGB0aGlzLl90b2tlbnNgLFxuICAgIC8vIHdoaWNoIHdvdWxkIGVtaXQgYHVuZGVmaW5lZGAgaW5zdGVhZCBvZiBhIGRlZmF1bHQgdmFsdWUgb2YgYFtdYCByZXR1cm5lZCBieSB0aGVcbiAgICAvLyBnZXQgYWNjZXNzb3Igd2hlbiBzZXQgdG8gYHVuZGVmaW5lZGAuIEVtaXR0aW5nIGB2YWx1ZWAgaW5zdGVhZCBvZiBgdGhpcy4jX3Rva2Vuc09yRGVmYXVsdGBcbiAgICAvLyBwcmVzZXJ2ZXMgdGhhdCBiZWhhdmlvci5cbiAgICB0aGlzLnRva2Vuc0NoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdG9rZW5zKCk6IFNreVRva2VuW10ge1xuICAgIHJldHVybiB0aGlzLiNfdG9rZW5zO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBvYnNlcnZhYmxlIG9mIGBTa3lUb2tlbnNNZXNzYWdlYCB0aGF0IGNhbiBwbGFjZSBmb2N1cyBvbiBhXG4gICAqIHBhcnRpY3VsYXIgdG9rZW4gb3IgcmVtb3ZlIHRoZSBhY3RpdmUgdG9rZW4gZnJvbSB0aGUgbGlzdC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbWVzc2FnZVN0cmVhbSh2YWx1ZTogU3ViamVjdDxTa3lUb2tlbnNNZXNzYWdlPiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19tZXNzYWdlU3RyZWFtID0gdmFsdWUgfHwgbmV3IFN1YmplY3Q8U2t5VG9rZW5zTWVzc2FnZT4oKTtcbiAgICB0aGlzLiNpbml0TWVzc2FnZVN0cmVhbSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBtZXNzYWdlU3RyZWFtKCk6IFN1YmplY3Q8U2t5VG9rZW5zTWVzc2FnZT4ge1xuICAgIHJldHVybiB0aGlzLiNfbWVzc2FnZVN0cmVhbTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIG5hdmlnYXRlIHRocm91Z2ggdGhlIHRva2VucyBsaXN0IHdpdGggdGhlIGBUYWJgIGtleVxuICAgKiBhbmQgYXR0ZW1wdCB0byBtb3ZlIHBhc3QgdGhlIGZpbmFsIHRva2VuIGluIHRoZSBsaXN0LlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBmb2N1c0luZGV4T3ZlclJhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIG5hdmlnYXRlIHRocm91Z2ggdGhlIHRva2VucyBsaXN0IHdpdGggdGhlIGBUYWJgIGtleVxuICAgKiBhbmQgYXR0ZW1wdCB0byBtb3ZlIGJlZm9yZSB0aGUgZmlyc3QgdG9rZW4gaW4gdGhlIGxpc3QuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGZvY3VzSW5kZXhVbmRlclJhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIHNlbGVjdCBhIHRva2VuIGluIHRoZSBsaXN0LiBUaGlzIGV2ZW50IGVtaXRzIHRoZSBzZWxlY3RlZCB0b2tlbi5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgdG9rZW5TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5VG9rZW5TZWxlY3RlZEV2ZW50QXJncz4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgdG9rZW5zIGluIHRoZSBsaXN0IGNoYW5nZS5cbiAgICogVGhpcyBldmVudCBlbWl0cyBhbiBhcnJheSBvZiB0aGUgdG9rZW5zIGluIHRoZSB1cGRhdGVkIGxpc3QuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHRva2Vuc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5VG9rZW5bXT4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiBhbGwgYW5pbWF0aW9ucyBvbiB0aGUgdG9rZW5zIGFyZSBjb21wbGV0ZS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHRva2Vuc1JlbmRlcmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHB1YmxpYyBnZXQgYWN0aXZlSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy4jX2FjdGl2ZUluZGV4O1xuICB9XG5cbiAgcHVibGljIHNldCBhY3RpdmVJbmRleCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgaWYgKHZhbHVlID49IHRoaXMuI190b2tlbnMubGVuZ3RoKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMuI190b2tlbnMubGVuZ3RoIC0gMTtcbiAgICAgIHRoaXMuZm9jdXNJbmRleE92ZXJSYW5nZS5lbWl0KCk7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlIDwgMCkge1xuICAgICAgdmFsdWUgPSAwO1xuICAgICAgdGhpcy5mb2N1c0luZGV4VW5kZXJSYW5nZS5lbWl0KCk7XG4gICAgfVxuXG4gICAgdGhpcy4jX2FjdGl2ZUluZGV4ID0gdmFsdWUgfHwgMDtcbiAgfVxuXG4gIHB1YmxpYyB0cmFja1Rva2VuRm46IFRyYWNrQnlGdW5jdGlvbjxTa3lUb2tlbj47XG5cbiAgI19kaXNhYmxlZCA9IGZhbHNlO1xuICAjX2Rpc21pc3NpYmxlID0gdHJ1ZTtcbiAgI19mb2N1c2FibGUgPSB0cnVlO1xuICAjX3Rva2VuczogU2t5VG9rZW5bXSA9IFtdO1xuICAjX2Rpc3BsYXlXaXRoID0gRElTUExBWV9XSVRIX0RFRkFVTFQ7XG5cbiAgQFZpZXdDaGlsZHJlbihTa3lUb2tlbkNvbXBvbmVudClcbiAgcHVibGljIHRva2VuQ29tcG9uZW50czogUXVlcnlMaXN0PFNreVRva2VuQ29tcG9uZW50PiB8IHVuZGVmaW5lZDtcblxuICAjbWVzc2FnZVN0cmVhbVN1YjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI2NoYW5nZURldGVjdG9yID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICAjX2FjdGl2ZUluZGV4ID0gMDtcbiAgI19tZXNzYWdlU3RyZWFtID0gbmV3IFN1YmplY3Q8U2t5VG9rZW5zTWVzc2FnZT4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLiNpbml0TWVzc2FnZVN0cmVhbSgpO1xuXG4gICAgLy8gQW5ndWxhciBjYWxscyB0aGUgdHJhY2tCeSBmdW5jdGlvbiB3aXRob3V0IGFwcGx5aW5nIHRoZSBjb21wb25lbnQgaW5zdGFuY2UncyBzY29wZS5cbiAgICAvLyBVc2UgYSBmYXQtYXJyb3cgZnVuY3Rpb24gc28gdGhlIGN1cnJlbnQgY29tcG9uZW50IGluc3RhbmNlJ3MgdHJhY2tXaXRoIHByb3BlcnR5IGNhblxuICAgIC8vIGJlIHJlZmVyZW5jZWQuXG4gICAgdGhpcy50cmFja1Rva2VuRm4gPSAoX2luZGV4LCBpdGVtKTogdW5rbm93biA9PiB7XG4gICAgICBpZiAodGhpcy50cmFja1dpdGgpIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0udmFsdWVbdGhpcy50cmFja1dpdGhdO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaXRlbTtcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblRva2VuQ2xpY2sodG9rZW46IFNreVRva2VuKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLiNub3RpZnlUb2tlblNlbGVjdGVkKHRva2VuKTtcbiAgfVxuXG4gIHB1YmxpYyBhbmltYXRpb25Eb25lKCk6IHZvaWQge1xuICAgIHRoaXMudG9rZW5zUmVuZGVyZWQuZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIG9uVG9rZW5LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgICBjYXNlICdMZWZ0JzpcbiAgICAgICAgY2FzZSAnQXJyb3dMZWZ0JzpcbiAgICAgICAgICB0aGlzLiNfbWVzc2FnZVN0cmVhbS5uZXh0KHtcbiAgICAgICAgICAgIHR5cGU6IFNreVRva2Vuc01lc3NhZ2VUeXBlLkZvY3VzUHJldmlvdXNUb2tlbixcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ1JpZ2h0JzpcbiAgICAgICAgY2FzZSAnQXJyb3dSaWdodCc6XG4gICAgICAgICAgdGhpcy4jX21lc3NhZ2VTdHJlYW0ubmV4dCh7XG4gICAgICAgICAgICB0eXBlOiBTa3lUb2tlbnNNZXNzYWdlVHlwZS5Gb2N1c05leHRUb2tlbixcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RUb2tlbih0b2tlbjogU2t5VG9rZW4pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuI25vdGlmeVRva2VuU2VsZWN0ZWQodG9rZW4pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVUb2tlbih0b2tlbjogU2t5VG9rZW4pOiB2b2lkIHtcbiAgICB0aGlzLnRva2VucyA9IHRoaXMudG9rZW5zLmZpbHRlcigodCkgPT4gdCAhPT0gdG9rZW4pO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gICNmb2N1c1ByZXZpb3VzVG9rZW4oKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVJbmRleC0tO1xuICAgIHRoaXMuI2ZvY3VzQWN0aXZlVG9rZW4oKTtcbiAgfVxuXG4gICNmb2N1c05leHRUb2tlbigpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZUluZGV4Kys7XG4gICAgdGhpcy4jZm9jdXNBY3RpdmVUb2tlbigpO1xuICB9XG5cbiAgI2ZvY3VzTGFzdFRva2VuKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRva2VuQ29tcG9uZW50cykge1xuICAgICAgdGhpcy5hY3RpdmVJbmRleCA9IHRoaXMudG9rZW5Db21wb25lbnRzLmxlbmd0aCAtIDE7XG4gICAgICB0aGlzLiNmb2N1c0FjdGl2ZVRva2VuKCk7XG4gICAgfVxuICB9XG5cbiAgI2ZvY3VzQWN0aXZlVG9rZW4oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudG9rZW5Db21wb25lbnRzKSB7XG4gICAgICBjb25zdCB0b2tlbkNvbXBvbmVudCA9IHRoaXMudG9rZW5Db21wb25lbnRzLmZpbmQoXG4gICAgICAgIChfY29tcDogU2t5VG9rZW5Db21wb25lbnQsIGk6IG51bWJlcikgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLmFjdGl2ZUluZGV4ID09PSBpO1xuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICBpZiAodG9rZW5Db21wb25lbnQpIHtcbiAgICAgICAgdG9rZW5Db21wb25lbnQuZm9jdXNFbGVtZW50KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI3JlbW92ZUFjdGl2ZVRva2VuKCk6IHZvaWQge1xuICAgIGNvbnN0IHRva2VuID0gdGhpcy50b2tlbnNbdGhpcy5hY3RpdmVJbmRleF07XG4gICAgaWYgKHRva2VuKSB7XG4gICAgICB0aGlzLnJlbW92ZVRva2VuKHRva2VuKTtcbiAgICB9XG4gIH1cblxuICAjaW5pdE1lc3NhZ2VTdHJlYW0oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI21lc3NhZ2VTdHJlYW1TdWIpIHtcbiAgICAgIHRoaXMuI21lc3NhZ2VTdHJlYW1TdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICB0aGlzLiNtZXNzYWdlU3RyZWFtU3ViID0gdGhpcy5tZXNzYWdlU3RyZWFtXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChtZXNzYWdlOiBTa3lUb2tlbnNNZXNzYWdlKSA9PiB7XG4gICAgICAgIHN3aXRjaCAobWVzc2FnZS50eXBlKSB7XG4gICAgICAgICAgY2FzZSBTa3lUb2tlbnNNZXNzYWdlVHlwZS5Gb2N1c0xhc3RUb2tlbjpcbiAgICAgICAgICAgIHRoaXMuI2ZvY3VzTGFzdFRva2VuKCk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgU2t5VG9rZW5zTWVzc2FnZVR5cGUuRm9jdXNBY3RpdmVUb2tlbjpcbiAgICAgICAgICAgIHRoaXMuI2ZvY3VzQWN0aXZlVG9rZW4oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSBTa3lUb2tlbnNNZXNzYWdlVHlwZS5Gb2N1c1ByZXZpb3VzVG9rZW46XG4gICAgICAgICAgICB0aGlzLiNmb2N1c1ByZXZpb3VzVG9rZW4oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSBTa3lUb2tlbnNNZXNzYWdlVHlwZS5Gb2N1c05leHRUb2tlbjpcbiAgICAgICAgICAgIHRoaXMuI2ZvY3VzTmV4dFRva2VuKCk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgU2t5VG9rZW5zTWVzc2FnZVR5cGUuUmVtb3ZlQWN0aXZlVG9rZW46XG4gICAgICAgICAgICB0aGlzLiNyZW1vdmVBY3RpdmVUb2tlbigpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgI25vdGlmeVRva2VuU2VsZWN0ZWQodG9rZW46IFNreVRva2VuKTogdm9pZCB7XG4gICAgdGhpcy50b2tlblNlbGVjdGVkLmVtaXQoe1xuICAgICAgdG9rZW4sXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktdG9rZW5zXCJcbiAgW0BibG9ja0FuaW1hdGlvbk9uTG9hZF1cbiAgW2F0dHIucm9sZV09XCJ0b2tlbnMubGVuZ3RoID8gJ2dyaWQnIDogbnVsbFwiXG4+XG4gIDwhLS1cbiAgICAgIFRoZSByb2xlIG11c3QgdXNlIHNxdWFyZSBicmFja2V0cyBvdGhlcndpc2UgQW5ndWxhciBzZXRzIHRoZSBuYXRpdmUgJ3JvbGUnXG4gICAgICBhdHRyaWJ1dGUgYXMgd2VsbCBhcyB0aGUgaW5wdXQgYXR0cmlidXRlIG9mIHRoZSB0b2tlbiwgd2hpY2ggZmFpbHMgYWNjZXNzaWJpbGl0eSBydWxlcy5cbiAgICAtLT5cbiAgPHNreS10b2tlblxuICAgICpuZ0Zvcj1cImxldCB0b2tlbiBvZiB0b2tlbnM7IGxldCBpID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrVG9rZW5GblwiXG4gICAgW0AuZGlzYWJsZWRdPVwiIXRyYWNrV2l0aFwiXG4gICAgW0BkaXNtaXNzXVxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2Rpc21pc3NpYmxlXT1cImRpc21pc3NpYmxlXCJcbiAgICBbZm9jdXNhYmxlXT1cImZvY3VzYWJsZVwiXG4gICAgW3JvbGVdPVwiJ3JvdydcIlxuICAgIChAZGlzbWlzcy5kb25lKT1cImFuaW1hdGlvbkRvbmUoKVwiXG4gICAgKGRpc21pc3MpPVwicmVtb3ZlVG9rZW4odG9rZW4pXCJcbiAgICAoY2xpY2spPVwib25Ub2tlbkNsaWNrKHRva2VuKVwiXG4gICAgKGtleWRvd24pPVwib25Ub2tlbktleURvd24oJGV2ZW50KVwiXG4gICAgKGtleXVwLmVudGVyKT1cInNlbGVjdFRva2VuKHRva2VuKTsgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICAgICh0b2tlbkZvY3VzKT1cImFjdGl2ZUluZGV4ID0gaVwiXG4gID5cbiAgICB7eyB0b2tlbi52YWx1ZVtkaXNwbGF5V2l0aF0gfX1cbiAgPC9za3ktdG9rZW4+XG4gIDxkaXYgY2xhc3M9XCJza3ktdG9rZW5zLWNvbnRlbnRcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -8,16 +8,16 @@ import { SkyTokensComponent } from './tokens.component';
|
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
export class SkyTokensModule {
|
|
10
10
|
}
|
|
11
|
-
SkyTokensModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1
|
|
12
|
-
SkyTokensModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1
|
|
11
|
+
SkyTokensModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyTokensModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
|
+
SkyTokensModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: SkyTokensModule, declarations: [SkyTokenComponent, SkyTokensComponent], imports: [CommonModule,
|
|
13
13
|
SkyI18nModule,
|
|
14
14
|
SkyIconModule,
|
|
15
15
|
SkyIndicatorsResourcesModule], exports: [SkyTokenComponent, SkyTokensComponent] });
|
|
16
|
-
SkyTokensModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1
|
|
16
|
+
SkyTokensModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyTokensModule, imports: [CommonModule,
|
|
17
17
|
SkyI18nModule,
|
|
18
18
|
SkyIconModule,
|
|
19
19
|
SkyIndicatorsResourcesModule] });
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyTokensModule, decorators: [{
|
|
21
21
|
type: NgModule,
|
|
22
22
|
args: [{
|
|
23
23
|
declarations: [SkyTokenComponent, SkyTokensComponent],
|
|
@@ -213,9 +213,9 @@ _SkyWaitAdapterService_focusableElements = new WeakMap(), _SkyWaitAdapterService
|
|
|
213
213
|
}
|
|
214
214
|
};
|
|
215
215
|
SkyWaitAdapterService.isPageWaitActive = false;
|
|
216
|
-
SkyWaitAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1
|
|
217
|
-
SkyWaitAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1
|
|
218
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1
|
|
216
|
+
SkyWaitAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyWaitAdapterService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
217
|
+
SkyWaitAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyWaitAdapterService });
|
|
218
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyWaitAdapterService, decorators: [{
|
|
219
219
|
type: Injectable
|
|
220
220
|
}], ctorParameters: function () { return [{ type: i0.RendererFactory2 }]; } });
|
|
221
221
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdC1hZGFwdGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvaW5kaWNhdG9ycy9zcmMvbGliL21vZHVsZXMvd2FpdC93YWl0LWFkYXB0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFFTCxVQUFVLEdBSVgsTUFBTSxlQUFlLENBQUM7O0FBRXZCLE1BQU0sWUFBWSxHQU9kLEVBQUUsQ0FBQztBQUVQLHFFQUFxRTtBQUNyRSwyREFBMkQ7QUFDM0Q7OztHQUdHO0FBRUgsTUFBTSxPQUFPLHFCQUFxQjtJQU1oQyxZQUFZLGVBQWlDOztRQUg3QywyREFBOEM7UUFDOUMsa0RBQXFCO1FBR25CLHVCQUFBLElBQUksbUNBQWEsZUFBZSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQUEsQ0FBQztJQUNuRSxDQUFDO0lBRU0sV0FBVztRQUNoQix1QkFBQSxJQUFJLCtFQUFnQixNQUFwQixJQUFJLENBQWtCLENBQUM7SUFDekIsQ0FBQztJQUVNLGFBQWEsQ0FBQyxNQUFrQjtRQUNyQyx1QkFBQSxJQUFJLHVDQUFVLENBQUMsUUFBUSxDQUNyQixNQUFNLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFDbEMsVUFBVSxFQUNWLFVBQVUsQ0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVNLGdCQUFnQixDQUFDLE1BQWtCO1FBQ3hDLHVCQUFBLElBQUksdUNBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVNLFlBQVksQ0FDakIsTUFBa0IsRUFDbEIsVUFBbUIsRUFDbkIsU0FBa0IsRUFDbEIsYUFBc0IsRUFDdEIsZUFBd0I7UUFFeEIsTUFBTSxNQUFNLEdBQUcsVUFBVTtZQUN2QixDQUFDLENBQUMsUUFBUSxDQUFDLElBQUk7WUFDZixD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Q0FBQyxHQUFHLENBQUMsQ0FBQztLQUMxQjtBQUNILENBQUM7QUFsUmEsc0NBQWdCLEdBQUcsS0FBSyxDQUFDO2tIQUQ1QixxQkFBcUI7c0hBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0YWJsZSxcbiAgT25EZXN0cm95LFxuICBSZW5kZXJlcjIsXG4gIFJlbmRlcmVyRmFjdG9yeTIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5jb25zdCBidXN5RWxlbWVudHM6IHtcbiAgW2tleTogc3RyaW5nXToge1xuICAgIGJ1c3lFbDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQ7XG4gICAgbGlzdGVuZXI6ICgpID0+IHZvaWQ7XG4gICAgcmVzdG9yZUZvY3VzRWxlbWVudD86IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkO1xuICAgIHJlc3RvcmVGb2N1c0NoZWNrRWxlbWVudD86IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkO1xuICB9O1xufSA9IHt9O1xuXG4vLyBOZWVkIHRvIGFkZCB0aGUgZm9sbG93aW5nIHRvIGNsYXNzZXMgd2hpY2ggY29udGFpbiBzdGF0aWMgbWV0aG9kcy5cbi8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL25nLXBhY2thZ3IvbmctcGFja2Fnci9pc3N1ZXMvNjQxXG4vKipcbiAqIEBpbnRlcm5hbFxuICogQGR5bmFtaWNcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreVdhaXRBZGFwdGVyU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBzdGF0aWMgaXNQYWdlV2FpdEFjdGl2ZSA9IGZhbHNlO1xuXG4gICNmb2N1c2FibGVFbGVtZW50czogSFRNTEVsZW1lbnRbXSB8IHVuZGVmaW5lZDtcbiAgI3JlbmRlcmVyOiBSZW5kZXJlcjI7XG5cbiAgY29uc3RydWN0b3IocmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyKSB7XG4gICAgdGhpcy4jcmVuZGVyZXIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIodW5kZWZpbmVkLCBudWxsKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNjbGVhckxpc3RlbmVycygpO1xuICB9XG5cbiAgcHVibGljIHNldFdhaXRCb3VuZHMod2FpdEVsOiBFbGVtZW50UmVmKTogdm9pZCB7XG4gICAgdGhpcy4jcmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICB3YWl0RWwubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LFxuICAgICAgJ3Bvc2l0aW9uJyxcbiAgICAgICdyZWxhdGl2ZSdcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZVdhaXRCb3VuZHMod2FpdEVsOiBFbGVtZW50UmVmKTogdm9pZCB7XG4gICAgdGhpcy4jcmVuZGVyZXIucmVtb3ZlU3R5bGUod2FpdEVsLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudCwgJ3Bvc2l0aW9uJyk7XG4gIH1cblxuICBwdWJsaWMgc2V0QnVzeVN0YXRlKFxuICAgIHdhaXRFbDogRWxlbWVudFJlZixcbiAgICBpc0Z1bGxQYWdlOiBib29sZWFuLFxuICAgIGlzV2FpdGluZzogYm9vbGVhbixcbiAgICBpc05vbkJsb2NraW5nOiBib29sZWFuLFxuICAgIHdhaXRDb21wb25lbnRJZD86IHN0cmluZ1xuICApOiB2b2lkIHtcbiAgICBjb25zdCBidXN5RWwgPSBpc0Z1bGxQYWdlXG4gICAgICA/IGRvY3VtZW50LmJvZHlcbiAgICAgIDogd2FpdEVsLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudDtcblxuICAgIGlmICghaXNOb25CbG9ja2luZykge1xuICAgICAgaWYgKGlzV2FpdGluZykge1xuICAgICAgICBsZXQgcmVzdG9yZUZvY3VzRWxlbWVudDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgICAgIGxldCByZXN0b3JlRm9jdXNDaGVja0VsZW1lbnQ6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLiNyZW5kZXJlci5zZXRBdHRyaWJ1dGUoYnVzeUVsLCAnYXJpYS1idXN5JywgJ3RydWUnKTtcblxuICAgICAgICAvLyBSZW1vdmUgZm9jdXMgZnJvbSBwYWdlIHdoZW4gZnVsbCBwYWdlIGJsb2NraW5nIHdhaXRcbiAgICAgICAgaWYgKGlzRnVsbFBhZ2UgfHwgYnVzeUVsLmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpKSB7XG4gICAgICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgIT09IGRvY3VtZW50LmJvZHkpIHtcbiAgICAgICAgICAgIHJlc3RvcmVGb2N1c0VsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLiNjbGVhckRvY3VtZW50Rm9jdXMoKTtcbiAgICAgICAgICByZXN0b3JlRm9jdXNDaGVja0VsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzRnVsbFBhZ2UpIHtcbiAgICAgICAgICBTa3lXYWl0QWRhcHRlclNlcnZpY2UuaXNQYWdlV2FpdEFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgY29uc3QgZW5kTGlzdGVuZXJGdW5jID0gdGhpcy4jcmVuZGVyZXIubGlzdGVuKFxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keSxcbiAgICAgICAgICAgICdrZXlkb3duJyxcbiAgICAgICAgICAgIChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICAgICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgICAgIGlmIChldmVudC5rZXkpIHtcbiAgICAgICAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgICAgICAgIGlmIChldmVudC5rZXkudG9Mb3dlckNhc2UoKSA9PT0gJ3RhYicpIHtcbiAgICAgICAgICAgICAgICAgIChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmJsdXIoKTtcbiAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgdGhpcy4jY2xlYXJEb2N1bWVudEZvY3VzKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGlmICh3YWl0Q29tcG9uZW50SWQpIHtcbiAgICAgICAgICAgIGJ1c3lFbGVtZW50c1t3YWl0Q29tcG9uZW50SWRdID0ge1xuICAgICAgICAgICAgICBsaXN0ZW5lcjogZW5kTGlzdGVuZXJGdW5jLFxuICAgICAgICAgICAgICBidXN5RWw6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgcmVzdG9yZUZvY3VzRWxlbWVudCxcbiAgICAgICAgICAgICAgcmVzdG9yZUZvY3VzQ2hlY2tFbGVtZW50LFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgZW5kTGlzdGVuZXJGdW5jID0gdGhpcy4jcmVuZGVyZXIubGlzdGVuKFxuICAgICAgICAgICAgYnVzeUVsLFxuICAgICAgICAgICAgJ2ZvY3VzaW4nLFxuICAgICAgICAgICAgKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgICAgIGlmICghaXNOb25CbG9ja2luZykge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgICAgICAgICBpZiAoU2t5V2FpdEFkYXB0ZXJTZXJ2aWNlLmlzUGFnZVdhaXRBY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuI2NsZWFyRG9jdW1lbnRGb2N1cygpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAvLyBQcm9wYWdhdGUgdGFiIG5hdmlnYXRpb24gaWYgYXR0ZW1wdGVkIGludG8gd2FpdGVkIGVsZW1lbnRcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcblxuICAgICAgICAgICAgICAgICAgaWYgKHRhcmdldCkge1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQuYmx1cigpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLiNmb2N1c05leHRFbGVtZW50KHRhcmdldCwgdGhpcy4jaXNTaGlmdChldmVudCkpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBpZiAod2FpdENvbXBvbmVudElkKSB7XG4gICAgICAgICAgICBidXN5RWxlbWVudHNbd2FpdENvbXBvbmVudElkXSA9IHtcbiAgICAgICAgICAgICAgbGlzdGVuZXI6IGVuZExpc3RlbmVyRnVuYyxcbiAgICAgICAgICAgICAgYnVzeUVsLFxuICAgICAgICAgICAgICByZXN0b3JlRm9jdXNFbGVtZW50LFxuICAgICAgICAgICAgICByZXN0b3JlRm9jdXNDaGVja0VsZW1lbnQsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy4jcmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKGJ1c3lFbCwgJ2FyaWEtYnVzeScpO1xuXG4gICAgICAgIGlmIChpc0Z1bGxQYWdlKSB7XG4gICAgICAgICAgU2t5V2FpdEFkYXB0ZXJTZXJ2aWNlLmlzUGFnZVdhaXRBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh3YWl0Q29tcG9uZW50SWQgJiYgd2FpdENvbXBvbmVudElkIGluIGJ1c3lFbGVtZW50cykge1xuICAgICAgICAgIGNvbnN0IGJ1c3lFbGVtZW50ID0gYnVzeUVsZW1lbnRzW3dhaXRDb21wb25lbnRJZF07XG5cbiAgICAgICAgICBidXN5RWxlbWVudC5saXN0ZW5lcigpO1xuXG4gICAgICAgICAgLy8gSWYgdGhlcmUgaXMgYSByZXN0b3JlIGZvY3VzIGVsZW1lbnQgYW5kIHRoZSBmb2N1cyBoYXMgbm90IG1vdmVkLCByZXN0b3JlIGZvY3VzLlxuICAgICAgICAgIGlmIChidXN5RWxlbWVudC5yZXN0b3JlRm9jdXNDaGVja0VsZW1lbnQgPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIGJ1c3lFbGVtZW50LnJlc3RvcmVGb2N1c0VsZW1lbnQ/LmZvY3VzKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGVsZXRlIGJ1c3lFbGVtZW50c1t3YWl0Q29tcG9uZW50SWRdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI2ZvY3VzTmV4dEVsZW1lbnQodGFyZ2V0RWxlbWVudDogSFRNTEVsZW1lbnQsIHNoaWZ0S2V5OiBib29sZWFuKTogdm9pZCB7XG4gICAgY29uc3QgZm9jdXNhYmxlID0gdGhpcy4jZ2V0Rm9jdXNhYmxlRWxlbWVudHMoKTtcblxuICAgIC8vIElmIHNoaWZ0IHRhYiwgZ28gaW4gdGhlIG90aGVyIGRpcmVjdGlvblxuICAgIGNvbnN0IG1vZGlmaWVyID0gc2hpZnRLZXkgPyAtMSA6IDE7XG5cbiAgICAvLyBGaW5kIHRoZSBuZXh0IG5hdmlnYWJsZSBlbGVtZW50IHRoYXQgaXNuJ3Qgd2FpdGluZ1xuICAgIGNvbnN0IHN0YXJ0aW5nSW5kZXggPSBmb2N1c2FibGUuaW5kZXhPZih0YXJnZXRFbGVtZW50KTtcbiAgICBsZXQgY3VySW5kZXggPSBzdGFydGluZ0luZGV4ICsgbW9kaWZpZXI7XG4gICAgd2hpbGUgKFxuICAgICAgZm9jdXNhYmxlW2N1ckluZGV4XSAmJlxuICAgICAgdGhpcy4jaXNFbGVtZW50QnVzeU9ySGlkZGVuKGZvY3VzYWJsZVtjdXJJbmRleF0pXG4gICAgKSB7XG4gICAgICBjdXJJbmRleCArPSBtb2RpZmllcjtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBmb2N1c2FibGVbY3VySW5kZXhdICYmXG4gICAgICAhdGhpcy4jaXNFbGVtZW50QnVzeU9ySGlkZGVuKGZvY3VzYWJsZVtjdXJJbmRleF0pXG4gICAgKSB7XG4gICAgICBmb2N1c2FibGVbY3VySW5kZXhdLmZvY3VzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRyeSB3cmFwcGluZyB0aGUgbmF2aWdhdGlvblxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgICAgY3VySW5kZXggPSBtb2RpZmllciA+IDAgPyAwIDogZm9jdXNhYmxlLmxlbmd0aCAtIDE7XG4gICAgICB3aGlsZSAoXG4gICAgICAgIGN1ckluZGV4ICE9PSBzdGFydGluZ0luZGV4ICYmXG4gICAgICAgIGZvY3VzYWJsZVtjdXJJbmRleF0gJiZcbiAgICAgICAgdGhpcy4jaXNFbGVtZW50QnVzeU9ySGlkZGVuKGZvY3VzYWJsZVtjdXJJbmRleF0pXG4gICAgICApIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgLyogc2FuaXR5IGNoZWNrICovXG4gICAgICAgIGN1ckluZGV4ICs9IG1vZGlmaWVyO1xuICAgICAgfVxuXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgLyogc2FuaXR5IGNoZWNrICovXG4gICAgICBpZiAoXG4gICAgICAgIGZvY3VzYWJsZVtjdXJJbmRleF0gJiZcbiAgICAgICAgIXRoaXMuI2lzRWxlbWVudEJ1c3lPckhpZGRlbihmb2N1c2FibGVbY3VySW5kZXhdKVxuICAgICAgKSB7XG4gICAgICAgIGZvY3VzYWJsZVtjdXJJbmRleF0uZm9jdXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIE5vIHZhbGlkIHRhcmdldCwgd2lwZSBmb2N1c1xuICAgICAgICB0aGlzLiNjbGVhckRvY3VtZW50Rm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBjbGVhciBmb2N1c2FibGVFbGVtZW50cyBsaXN0XG4gICAgdGhpcy4jZm9jdXNhYmxlRWxlbWVudHMgPSB1bmRlZmluZWQ7XG4gIH1cblxuICAjaXNTaGlmdChldmVudDogRXZlbnQpOiBib29sZWFuIHtcbiAgICAvLyBEZXRlcm1pbmUgaWYgc2hpZnQrdGFiIHdhcyB1c2VkIGJhc2VkIG9uIGVsZW1lbnQgb3JkZXJcbiAgICBjb25zdCBlbGVtZW50cyA9IHRoaXMuI2dldEZvY3VzYWJsZUVsZW1lbnRzKCkuZmlsdGVyKFxuICAgICAgKGVsZW0pID0+ICF0aGlzLiNpc0VsZW1lbnRIaWRkZW4oZWxlbSlcbiAgICApO1xuXG4gICAgY29uc3QgcHJldmlvdXNJbmQgPSBlbGVtZW50cy5pbmRleE9mKChldmVudCBhcyBhbnkpLnJlbGF0ZWRUYXJnZXQpO1xuICAgIGNvbnN0IGN1cnJlbnRJbmQgPSBlbGVtZW50cy5pbmRleE9mKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgcHJldmlvdXNJbmQgPT09IGN1cnJlbnRJbmQgKyAxIHx8XG4gICAgICAocHJldmlvdXNJbmQgPT09IDAgJiYgY3VycmVudEluZCA9PT0gZWxlbWVudHMubGVuZ3RoIC0gMSkgfHxcbiAgICAgIHByZXZpb3VzSW5kID4gY3VycmVudEluZCB8fFxuICAgICAgIShldmVudCBhcyBhbnkpLnJlbGF0ZWRUYXJnZXRcbiAgICApO1xuICB9XG5cbiAgI2lzRWxlbWVudEhpZGRlbihlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gICAgcmV0dXJuIHN0eWxlLmRpc3BsYXkgPT09ICdub25lJyB8fCBzdHlsZS52aXNpYmlsaXR5ID09PSAnaGlkZGVuJztcbiAgfVxuXG4gICNpc0VsZW1lbnRCdXN5T3JIaWRkZW4oZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy4jaXNFbGVtZW50SGlkZGVuKGVsZW1lbnQpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhidXN5RWxlbWVudHMpKSB7XG4gICAgICBjb25zdCBwYXJlbnRFbGVtZW50ID0gYnVzeUVsZW1lbnRzW2tleV0uYnVzeUVsO1xuICAgICAgaWYgKHBhcmVudEVsZW1lbnQgJiYgcGFyZW50RWxlbWVudC5jb250YWlucyhlbGVtZW50KSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgI2NsZWFyRG9jdW1lbnRGb2N1cygpOiB2b2lkIHtcbiAgICBjb25zdCBhY3RpdmVFbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKGFjdGl2ZUVsZW1lbnQpIHtcbiAgICAgIGFjdGl2ZUVsZW1lbnQuYmx1cigpO1xuICAgIH1cblxuICAgIGRvY3VtZW50LmJvZHkuZm9jdXMoKTtcbiAgfVxuXG4gICNnZXRGb2N1c2FibGVFbGVtZW50cygpOiBIVE1MRWxlbWVudFtdIHtcbiAgICAvLyBLZWVwIHRoaXMgY2FjaGVkIHNvIHdlIGNhbiByZWR1Y2UgcXVlcmllc1xuICAgIGlmICh0aGlzLiNmb2N1c2FibGVFbGVtZW50cykge1xuICAgICAgcmV0dXJuIHRoaXMuI2ZvY3VzYWJsZUVsZW1lbnRzO1xuICAgIH1cblxuICAgIC8vIFNlbGVjdCBhbGwgcG9zc2libGUgZm9jdXNhYmxlIGVsZW1lbnRzXG4gICAgY29uc3QgZm9jdXNhYmxlRWxlbWVudHMgPVxuICAgICAgJ2FbaHJlZl0sICcgK1xuICAgICAgJ2FyZWFbaHJlZl0sICcgK1xuICAgICAgXCJpbnB1dDpub3QoW2Rpc2FibGVkXSk6bm90KFt0YWJpbmRleD0nLTEnXSksIFwiICtcbiAgICAgIFwiYnV0dG9uOm5vdChbZGlzYWJsZWRdKTpub3QoW3RhYmluZGV4PSctMSddKSwgXCIgK1xuICAgICAgXCJzZWxlY3Q6bm90KFtkaXNhYmxlZF0pOm5vdChbdGFiaW5kZXg9Jy0xJ10pLCBcIiArXG4gICAgICBcInRleHRhcmVhOm5vdChbZGlzYWJsZWRdKTpub3QoW3RhYmluZGV4PSctMSddKSwgXCIgK1xuICAgICAgJ2lmcmFtZSwgb2JqZWN0LCBlbWJlZCwgJyArXG4gICAgICBcIipbdGFiaW5kZXhdOm5vdChbdGFiaW5kZXg9Jy0xJ10pLCBcIiArXG4gICAgICAnKltjb250ZW50ZWRpdGFibGU9dHJ1ZV0nO1xuXG4gICAgdGhpcy4jZm9jdXNhYmxlRWxlbWVudHMgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoXG4gICAgICBkb2N1bWVudC5ib2R5LnF1ZXJ5U2VsZWN0b3JBbGwoZm9jdXNhYmxlRWxlbWVudHMpLFxuICAgICAgKGVsZW1lbnQ6IEhUTUxFbGVtZW50KSA9PiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgZWxlbWVudC5vZmZzZXRXaWR0aCA+IDAgfHxcbiAgICAgICAgICBlbGVtZW50Lm9mZnNldEhlaWdodCA+IDAgfHxcbiAgICAgICAgICBlbGVtZW50ID09PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy4jZm9jdXNhYmxlRWxlbWVudHM7XG4gIH1cblxuICAjY2xlYXJMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgU2t5V2FpdEFkYXB0ZXJTZXJ2aWNlLmlzUGFnZVdhaXRBY3RpdmUgPSBmYWxzZTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhidXN5RWxlbWVudHMpKSB7XG4gICAgICBidXN5RWxlbWVudHNba2V5XS5saXN0ZW5lcigpO1xuICAgICAgZGVsZXRlIGJ1c3lFbGVtZW50c1trZXldO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -6,9 +6,9 @@ import * as i1 from "./wait.component";
|
|
|
6
6
|
*/
|
|
7
7
|
export class SkyWaitPageComponent {
|
|
8
8
|
}
|
|
9
|
-
SkyWaitPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1
|
|
10
|
-
SkyWaitPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1
|
|
9
|
+
SkyWaitPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyWaitPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
+
SkyWaitPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: SkyWaitPageComponent, selector: "sky-wait-page", inputs: { hasBlockingWait: "hasBlockingWait", hasNonBlockingWait: "hasNonBlockingWait" }, ngImport: i0, template: "<div class=\"sky-wait-page\">\n <sky-wait\n data-sky-id=\"page-wait-non-blocking\"\n [isFullPage]=\"true\"\n [isNonBlocking]=\"true\"\n [isWaiting]=\"hasNonBlockingWait\"\n >\n </sky-wait>\n <sky-wait\n data-sky-id=\"page-wait-blocking\"\n [isFullPage]=\"true\"\n [isWaiting]=\"hasBlockingWait\"\n >\n </sky-wait>\n</div>\n", styles: [".sky-wait-page ::ng-deep .sky-wait-mask-loading-fixed{z-index:2000}\n"], dependencies: [{ kind: "component", type: i1.SkyWaitComponent, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking", "screenReaderCompletedText"] }] });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyWaitPageComponent, decorators: [{
|
|
12
12
|
type: Component,
|
|
13
13
|
args: [{ selector: 'sky-wait-page', template: "<div class=\"sky-wait-page\">\n <sky-wait\n data-sky-id=\"page-wait-non-blocking\"\n [isFullPage]=\"true\"\n [isNonBlocking]=\"true\"\n [isWaiting]=\"hasNonBlockingWait\"\n >\n </sky-wait>\n <sky-wait\n data-sky-id=\"page-wait-blocking\"\n [isFullPage]=\"true\"\n [isWaiting]=\"hasBlockingWait\"\n >\n </sky-wait>\n</div>\n", styles: [".sky-wait-page ::ng-deep .sky-wait-mask-loading-fixed{z-index:2000}\n"] }]
|
|
14
14
|
}], propDecorators: { hasBlockingWait: [{
|