@sumaris-net/ngx-components 1.6.2 → 1.6.3
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/bundles/sumaris-net.ngx-components.umd.js +477 -201
- package/bundles/sumaris-net.ngx-components.umd.js.map +1 -1
- package/bundles/sumaris-net.ngx-components.umd.min.js +2 -2
- package/bundles/sumaris-net.ngx-components.umd.min.js.map +1 -1
- package/doc/changelog.md +7 -0
- package/esm2015/src/app/core/auth/modal/modal-auth.js +21 -9
- package/esm2015/src/app/shared/form/field.model.js +1 -1
- package/esm2015/src/app/shared/material/autocomplete/material.autocomplete.js +81 -88
- package/esm2015/src/app/shared/material/autocomplete/testing/autocomplete.test.js +2 -2
- package/esm2015/src/app/shared/material/chips/material.chips.js +336 -79
- package/esm2015/src/app/shared/material/chips/testing/chips.test.js +7 -4
- package/esm2015/src/app/shared/material/swipe/material.swipe.js +5 -5
- package/esm2015/src/app/shared/material/swipe/testing/swipe.test.js +2 -2
- package/fesm2015/sumaris-net.ngx-components.js +442 -179
- package/fesm2015/sumaris-net.ngx-components.js.map +1 -1
- package/package.json +1 -1
- package/src/app/core/auth/modal/modal-auth.d.ts +12 -5
- package/src/app/shared/form/field.model.d.ts +2 -1
- package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +35 -35
- package/src/app/shared/material/chips/material.chips.d.ts +35 -10
- package/src/app/shared/material/swipe/material.swipe.d.ts +2 -2
- package/sumaris-net.ngx-components.metadata.json +1 -1
package/doc/changelog.md
CHANGED
|
@@ -167,3 +167,10 @@
|
|
|
167
167
|
# 1.5.8
|
|
168
168
|
|
|
169
169
|
[fix] When deleting rows selection, make sure to confirm edited row first
|
|
170
|
+
|
|
171
|
+
# 1.6.3
|
|
172
|
+
|
|
173
|
+
[enh] EntitiesTableDateSource: Add 'fetchMore()' function (usable when dataService fill LoadResult.fetchMore)
|
|
174
|
+
[fix] Auth modal: show error (e.g. when bad credentials)
|
|
175
|
+
[fix] MatChipsField: rename 'compareWith' in 'equals'
|
|
176
|
+
[fix] MatSwipeField: rename 'compareWith' in 'equals'
|
|
@@ -4,11 +4,18 @@ import { ModalController } from '@ionic/angular';
|
|
|
4
4
|
import { AccountService } from '../../services/account.service';
|
|
5
5
|
import { firstNotNilPromise } from '../../../shared/observables';
|
|
6
6
|
export class AuthModal {
|
|
7
|
-
constructor(accountService, viewCtrl,
|
|
7
|
+
constructor(accountService, viewCtrl, cd) {
|
|
8
8
|
this.accountService = accountService;
|
|
9
9
|
this.viewCtrl = viewCtrl;
|
|
10
|
-
this.
|
|
11
|
-
|
|
10
|
+
this.cd = cd;
|
|
11
|
+
}
|
|
12
|
+
get loading() {
|
|
13
|
+
var _a;
|
|
14
|
+
return (_a = this.form) === null || _a === void 0 ? void 0 : _a.loading;
|
|
15
|
+
}
|
|
16
|
+
ngOnInit() {
|
|
17
|
+
this.form.markAsReady({ emitEvent: false });
|
|
18
|
+
this.form.markAsLoaded();
|
|
12
19
|
}
|
|
13
20
|
cancel() {
|
|
14
21
|
this.viewCtrl.dismiss();
|
|
@@ -18,10 +25,10 @@ export class AuthModal {
|
|
|
18
25
|
if (this.form.disabled)
|
|
19
26
|
return;
|
|
20
27
|
if (!this.form.valid) {
|
|
21
|
-
this.form.
|
|
28
|
+
this.form.markAllAsTouched();
|
|
22
29
|
return;
|
|
23
30
|
}
|
|
24
|
-
this.
|
|
31
|
+
this.markAsLoading();
|
|
25
32
|
try {
|
|
26
33
|
const data = this.form.value;
|
|
27
34
|
// Disable the form
|
|
@@ -30,9 +37,8 @@ export class AuthModal {
|
|
|
30
37
|
return this.viewCtrl.dismiss(account);
|
|
31
38
|
}
|
|
32
39
|
catch (err) {
|
|
33
|
-
this.loading = false;
|
|
34
40
|
this.form.error = err && err.message || err;
|
|
35
|
-
this.
|
|
41
|
+
this.markAsLoaded();
|
|
36
42
|
// Enable the form
|
|
37
43
|
this.form.enable();
|
|
38
44
|
// Reset form error on next changes
|
|
@@ -45,7 +51,13 @@ export class AuthModal {
|
|
|
45
51
|
});
|
|
46
52
|
}
|
|
47
53
|
markForCheck() {
|
|
48
|
-
this.
|
|
54
|
+
this.cd.markForCheck();
|
|
55
|
+
}
|
|
56
|
+
markAsLoading(opts) {
|
|
57
|
+
this.form.markAsLoading(opts);
|
|
58
|
+
}
|
|
59
|
+
markAsLoaded(opts) {
|
|
60
|
+
this.form.markAsLoaded(opts);
|
|
49
61
|
}
|
|
50
62
|
}
|
|
51
63
|
AuthModal.decorators = [
|
|
@@ -63,4 +75,4 @@ AuthModal.ctorParameters = () => [
|
|
|
63
75
|
AuthModal.propDecorators = {
|
|
64
76
|
form: [{ type: ViewChild, args: ['form', { static: true },] }]
|
|
65
77
|
};
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9hdXRoL21vZGFsL21vZGFsLWF1dGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQ3ZHLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFFOUQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFVL0QsTUFBTSxPQUFPLFNBQVM7SUFRcEIsWUFBb0IsY0FBOEIsRUFDOUIsUUFBeUIsRUFDekIsRUFBcUI7UUFGckIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ3pCLE9BQUUsR0FBRixFQUFFLENBQW1CO0lBRXpDLENBQUM7SUFWRCxJQUFJLE9BQU87O1FBQ1QsYUFBTyxJQUFJLENBQUMsSUFBSSwwQ0FBRSxPQUFPLENBQUM7SUFDNUIsQ0FBQztJQVVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFSyxRQUFROztZQUNaLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRO2dCQUFFLE9BQU87WUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQzdCLE9BQU87YUFDUjtZQUNELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUVyQixJQUFJO2dCQUNGLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO2dCQUU3QixtQkFBbUI7Z0JBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBRXBCLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3RELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDdkM7WUFDRCxPQUFPLEdBQUcsRUFBRTtnQkFDVixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUM7Z0JBQzVDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFFcEIsa0JBQWtCO2dCQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUVuQixtQ0FBbUM7Z0JBQ25DLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7b0JBQ3hELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztvQkFDdkIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUN0QixDQUFDLENBQUMsQ0FBQztnQkFFSCxPQUFPO2FBQ1I7UUFDSCxDQUFDO0tBQUE7SUFFUyxZQUFZO1FBQ3BCLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVTLGFBQWEsQ0FBQyxJQUE0QjtRQUNsRCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRVMsWUFBWSxDQUFDLElBQTRCO1FBQ2pELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7OztZQXhFRixTQUFTLFNBQUM7Z0JBQ1QsMG1EQUE4QjtnQkFFOUIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2hEOzs7WUFYTyxjQUFjO1lBRGQsZUFBZTtZQURVLGlCQUFpQjs7O21CQW9CL0MsU0FBUyxTQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01vZGFsQ29udHJvbGxlcn0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHtBY2NvdW50U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvYWNjb3VudC5zZXJ2aWNlJztcbmltcG9ydCB7QXV0aEZvcm19IGZyb20gJy4uL2Zvcm0vZm9ybS1hdXRoJztcbmltcG9ydCB7Zmlyc3ROb3ROaWxQcm9taXNlfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHtDb25maWdTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb25maWcuc2VydmljZSc7XG5pbXBvcnQge0NPUkVfQ09ORklHX09QVElPTlN9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbmZpZy9jb3JlLmNvbmZpZyc7XG5pbXBvcnQge0NvbmZpZ3VyYXRpb259IGZyb20gJy4uLy4uL3NlcnZpY2VzL21vZGVsL2NvbmZpZy5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJ21vZGFsLWF1dGguaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21vZGFsLWF1dGguc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBdXRoTW9kYWwgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGdldCBsb2FkaW5nKCkge1xuICAgIHJldHVybiB0aGlzLmZvcm0/LmxvYWRpbmc7XG4gIH1cblxuICBAVmlld0NoaWxkKCdmb3JtJywgeyBzdGF0aWM6IHRydWUgfSkgcHJpdmF0ZSBmb3JtOiBBdXRoRm9ybTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFjY291bnRTZXJ2aWNlOiBBY2NvdW50U2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSB2aWV3Q3RybDogTW9kYWxDb250cm9sbGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICAgICAgICAgICApIHtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZm9ybS5tYXJrQXNSZWFkeSh7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgIHRoaXMuZm9ybS5tYXJrQXNMb2FkZWQoKTtcbiAgfVxuXG4gIGNhbmNlbCgpIHtcbiAgICB0aGlzLnZpZXdDdHJsLmRpc21pc3MoKTtcbiAgfVxuXG4gIGFzeW5jIGRvU3VibWl0KCk6IFByb21pc2U8YW55PiB7XG4gICAgaWYgKHRoaXMuZm9ybS5kaXNhYmxlZCkgcmV0dXJuO1xuICAgIGlmICghdGhpcy5mb3JtLnZhbGlkKSB7XG4gICAgICB0aGlzLmZvcm0ubWFya0FsbEFzVG91Y2hlZCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLm1hcmtBc0xvYWRpbmcoKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBkYXRhID0gdGhpcy5mb3JtLnZhbHVlO1xuXG4gICAgICAvLyBEaXNhYmxlIHRoZSBmb3JtXG4gICAgICB0aGlzLmZvcm0uZGlzYWJsZSgpO1xuXG4gICAgICBjb25zdCBhY2NvdW50ID0gYXdhaXQgdGhpcy5hY2NvdW50U2VydmljZS5sb2dpbihkYXRhKTtcbiAgICAgIHJldHVybiB0aGlzLnZpZXdDdHJsLmRpc21pc3MoYWNjb3VudCk7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMuZm9ybS5lcnJvciA9IGVyciAmJiBlcnIubWVzc2FnZSB8fCBlcnI7XG4gICAgICB0aGlzLm1hcmtBc0xvYWRlZCgpO1xuXG4gICAgICAvLyBFbmFibGUgdGhlIGZvcm1cbiAgICAgIHRoaXMuZm9ybS5lbmFibGUoKTtcblxuICAgICAgLy8gUmVzZXQgZm9ybSBlcnJvciBvbiBuZXh0IGNoYW5nZXNcbiAgICAgIGZpcnN0Tm90TmlsUHJvbWlzZSh0aGlzLmZvcm0uZm9ybS52YWx1ZUNoYW5nZXMpLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLmZvcm0uZXJyb3IgPSBudWxsO1xuICAgICAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgbWFya0ZvckNoZWNrKCkge1xuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbWFya0FzTG9hZGluZyhvcHRzPzoge2VtaXRFdmVudD86IGJvb2xlYW59KSB7XG4gICAgdGhpcy5mb3JtLm1hcmtBc0xvYWRpbmcob3B0cyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbWFya0FzTG9hZGVkKG9wdHM/OiB7ZW1pdEV2ZW50PzogYm9vbGVhbn0pIHtcbiAgICB0aGlzLmZvcm0ubWFya0FzTG9hZGVkKG9wdHMpO1xuICB9XG59XG4iXX0=
|
|
@@ -22,4 +22,4 @@ export class FormFieldValuesHolder {
|
|
|
22
22
|
return isNotNil(data[definition.key]) ? data[definition.key] : (definition.defaultValue || undefined);
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9mb3JtL2ZpZWxkLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFtQ3RDLE1BQU0sT0FBZ0IscUJBQXFCO0lBQ3pDLFlBQVksQ0FBQyxJQUFlLEVBQUUsVUFBK0I7UUFDM0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDekMsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLEtBQUssS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBUyxFQUFFLFVBQStCO1FBQ2pELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVMsRUFBRSxVQUErQjtRQUNyRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN6QyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVE7WUFBRSxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLFNBQVMsQ0FBQztRQUNwRixPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzNELENBQUM7SUFFRCxZQUFZLENBQUMsSUFBUyxFQUFFLFVBQStCO1FBQ3JELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sS0FBSyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksU0FBUyxDQUFDO0lBQ2hELENBQUM7SUFFRCxHQUFHLENBQWEsSUFBUyxFQUFFLFVBQStCO1FBQ3hELE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsWUFBWSxJQUFJLFNBQVMsQ0FBQyxDQUFDO0lBQ3hHLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7T2JqZWN0TWFwLCBQcm9wZXJ0eX0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHtpc05vdE5pbH0gZnJvbSAnLi4vZnVuY3Rpb25zJztcbmltcG9ydCB7SW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNYXRBdXRvY29tcGxldGVGaWVsZEFkZE9wdGlvbnN9IGZyb20gJy4uL21hdGVyaWFsL2F1dG9jb21wbGV0ZS9tYXRlcmlhbC5hdXRvY29tcGxldGUnO1xuXG5leHBvcnQgZGVjbGFyZSB0eXBlIERpc3BsYXlGbiA9IChvYmo6IGFueSkgPT4gc3RyaW5nO1xuXG5leHBvcnQgZGVjbGFyZSB0eXBlIEVxdWFsc0ZuID0gKG8xOiBhbnksIG8yOiBhbnkpID0+IGJvb2xlYW47XG5cbmV4cG9ydCBkZWNsYXJlIHR5cGUgQ29tcGFyZUZuID0gKG8xOiBhbnksIG8yOiBhbnkpID0+IG51bWJlcjtcblxuZXhwb3J0IGRlY2xhcmUgdHlwZSBGb3JtRmllbGRUeXBlID0gJ2ludGVnZXInIHwgJ2RvdWJsZScgfCAnYm9vbGVhbicgfCAnc3RyaW5nJyB8ICdlbnVtJyB8ICdjb2xvcicgfCAncGVlcicgfCAnZW50aXR5JyB8ICdlbnRpdGllcycgfCAnZGF0ZScgfCAnZGF0ZVRpbWUnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRm9ybUZpZWxkRGVmaW5pdGlvbjxUID0gYW55PiB7XG4gIGtleTogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICBtaW5WYWx1ZT86IG51bWJlcjtcbiAgbWF4VmFsdWU/OiBudW1iZXI7XG4gIG1heGltdW1OdW1iZXJEZWNpbWFscz86IG51bWJlcjtcbiAgZGVmYXVsdFZhbHVlPzogYW55O1xuICBpc1RyYW5zaWVudD86IGJvb2xlYW47IC8vIFVzZWZ1bCBvbmx5IGZvciByZW1vdGUgY29uZmlndXJhdGlvblxuICB2YWx1ZXM/OiAoc3RyaW5nfFByb3BlcnR5KVtdIHwgSW5qZWN0aW9uVG9rZW48KHN0cmluZ3xQcm9wZXJ0eSlbXT47XG4gIHR5cGU6IEZvcm1GaWVsZFR5cGU7XG4gIGF1dG9jb21wbGV0ZT86IE1hdEF1dG9jb21wbGV0ZUZpZWxkQWRkT3B0aW9uczxUPjtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICByZXF1aXJlZD86IGJvb2xlYW47XG4gIGV4dHJhPzoge1xuICAgIFtrZXk6IHN0cmluZ106IHtcbiAgICAgIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgICAgIHJlcXVpcmVkOiBib29sZWFuO1xuICAgIH07XG4gIH07XG59XG5leHBvcnQgZGVjbGFyZSB0eXBlIEZvcm1GaWVsZERlZmluaXRpb25NYXAgPSBPYmplY3RNYXA8Rm9ybUZpZWxkRGVmaW5pdGlvbj47XG5cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZvcm1GaWVsZFZhbHVlc0hvbGRlciB7XG4gIGdldEFzQm9vbGVhbihkYXRhOiBPYmplY3RNYXAsIGRlZmluaXRpb246IEZvcm1GaWVsZERlZmluaXRpb24pOiBib29sZWFuIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0KGRhdGEsIGRlZmluaXRpb24pO1xuICAgIHJldHVybiBpc05vdE5pbCh2YWx1ZSkgPyAodmFsdWUgJiYgdmFsdWUgIT09ICdmYWxzZScpIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0QXNJbnQoZGF0YTogYW55LCBkZWZpbml0aW9uOiBGb3JtRmllbGREZWZpbml0aW9uKTogbnVtYmVyIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0KGRhdGEsIGRlZmluaXRpb24pO1xuICAgIHJldHVybiBpc05vdE5pbCh2YWx1ZSkgPyBwYXJzZUludCh2YWx1ZSkgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXRBc051bWJlcnMoZGF0YTogYW55LCBkZWZpbml0aW9uOiBGb3JtRmllbGREZWZpbml0aW9uKTogbnVtYmVyW10ge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXQoZGF0YSwgZGVmaW5pdGlvbik7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHJldHVybiB2YWx1ZS5zcGxpdCgnLCcpLm1hcChwYXJzZUZsb2F0KSB8fCB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIGlzTm90TmlsKHZhbHVlKSA/IFtwYXJzZUZsb2F0KHZhbHVlKV0gOiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXRBc1N0cmluZ3MoZGF0YTogYW55LCBkZWZpbml0aW9uOiBGb3JtRmllbGREZWZpbml0aW9uKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXQoZGF0YSwgZGVmaW5pdGlvbik7XG4gICAgcmV0dXJuIHZhbHVlICYmIHZhbHVlLnNwbGl0KCcsJykgfHwgdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0PFQgPSBzdHJpbmc+KGRhdGE6IGFueSwgZGVmaW5pdGlvbjogRm9ybUZpZWxkRGVmaW5pdGlvbik6IFQge1xuICAgIHJldHVybiBpc05vdE5pbChkYXRhW2RlZmluaXRpb24ua2V5XSkgPyBkYXRhW2RlZmluaXRpb24ua2V5XSA6IChkZWZpbml0aW9uLmRlZmF1bHRWYWx1ZSB8fCB1bmRlZmluZWQpO1xuICB9XG59XG4iXX0=
|