@gravitee/ui-particles-angular 10.1.0 → 10.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/gio-license/gio-license.directive.mjs +10 -4
- package/esm2022/lib/gio-license/gio-license.service.mjs +4 -3
- package/fesm2022/gravitee-ui-particles-angular.mjs +11 -5
- package/fesm2022/gravitee-ui-particles-angular.mjs.map +1 -1
- package/lib/gio-license/gio-license.directive.d.ts +3 -2
- package/lib/gio-license/gio-license.service.d.ts +8 -2
- package/package.json +1 -1
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { Directive, Input } from '@angular/core';
|
|
17
17
|
import { filter, map, takeUntil, tap } from 'rxjs/operators';
|
|
18
|
-
import { Subject } from 'rxjs';
|
|
18
|
+
import { of, Subject } from 'rxjs';
|
|
19
|
+
import { isLicensePluginOptions } from './gio-license.service';
|
|
19
20
|
import { GioLicenseDialogComponent } from './gio-license-dialog/gio-license-dialog.component';
|
|
20
21
|
import * as i0 from "@angular/core";
|
|
21
22
|
import * as i1 from "./gio-license.service";
|
|
@@ -32,8 +33,7 @@ export class GioLicenseDirective {
|
|
|
32
33
|
this.onClick = this.click.bind(this);
|
|
33
34
|
}
|
|
34
35
|
ngOnInit() {
|
|
35
|
-
this.
|
|
36
|
-
.isMissingFeature$(this.gioLicense)
|
|
36
|
+
this.isMissingFeature$()
|
|
37
37
|
.pipe(tap(() => {
|
|
38
38
|
this.elRef.nativeElement.removeEventListener('click', this.onClick, true);
|
|
39
39
|
}), filter(notAllowed => this.gioLicense != null && notAllowed), map(() => this.licenseService.getFeatureInfo(this.gioLicense)), tap(featureInfo => {
|
|
@@ -45,6 +45,12 @@ export class GioLicenseDirective {
|
|
|
45
45
|
this.trialURL = this.licenseService.getTrialURL(this.gioLicense);
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
|
+
isMissingFeature$() {
|
|
49
|
+
if (isLicensePluginOptions(this.gioLicense)) {
|
|
50
|
+
return of(!this.gioLicense.deployed);
|
|
51
|
+
}
|
|
52
|
+
return this.licenseService.isMissingFeature$(this.gioLicense);
|
|
53
|
+
}
|
|
48
54
|
ngOnDestroy() {
|
|
49
55
|
this.elRef.nativeElement.removeEventListener('click', this.onClick, true);
|
|
50
56
|
this.unsubscribe$.next(false);
|
|
@@ -77,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
77
83
|
}], ctorParameters: function () { return [{ type: i1.GioLicenseService }, { type: i2.MatDialog }, { type: i0.ElementRef }]; }, propDecorators: { gioLicense: [{
|
|
78
84
|
type: Input
|
|
79
85
|
}] } });
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWxpY2Vuc2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcGFydGljbGVzLWFuZ3VsYXIvc3JjL2xpYi9naW8tbGljZW5zZS9naW8tbGljZW5zZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdELE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRW5DLE9BQU8sRUFBa0Msc0JBQXNCLEVBQXdDLE1BQU0sdUJBQXVCLENBQUM7QUFDckksT0FBTyxFQUFFLHlCQUF5QixFQUF3QixNQUFNLG1EQUFtRCxDQUFDOzs7O0FBS3BILE1BQU0sT0FBTyxtQkFBbUI7SUFVOUIsWUFBNkIsY0FBaUMsRUFBbUIsU0FBb0IsRUFBVSxLQUFpQjtRQUFuRyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFBbUIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUFVLFVBQUssR0FBTCxLQUFLLENBQVk7UUFSekgsZUFBVSxHQUEwQyxFQUFFLENBQUM7UUFFdEQsZ0JBQVcsR0FBZ0IsRUFBRSxDQUFDO1FBQzlCLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFFZCxpQkFBWSxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO1FBQ3hELFlBQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUUyRixDQUFDO0lBRTdILFFBQVE7UUFDYixJQUFJLENBQUMsaUJBQWlCLEVBQUU7YUFDckIsSUFBSSxDQUNILEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM1RSxDQUFDLENBQUMsRUFDRixNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksSUFBSSxVQUFVLENBQUMsRUFDM0QsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUM5RCxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7WUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDekUsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FDN0I7YUFDQSxTQUFTLEVBQUUsQ0FBQztRQUVmLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUU7WUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDbEU7SUFDSCxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksc0JBQXNCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQzNDLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN0QztRQUNELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU8sS0FBSyxDQUFDLE1BQW9CO1FBQ2hDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN4QixNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFekIsSUFBSSxDQUFDLFNBQVM7YUFDWCxJQUFJLENBQTJELHlCQUF5QixFQUFFO1lBQ3pGLElBQUksRUFBRTtnQkFDSixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7Z0JBQzdCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTthQUN4QjtZQUNELElBQUksRUFBRSxhQUFhO1lBQ25CLEVBQUUsRUFBRSxrQkFBa0I7U0FDdkIsQ0FBQzthQUNELFdBQVcsRUFBRTthQUNiLFNBQVMsRUFBRSxDQUFDO1FBQ2YsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOytHQTlEVSxtQkFBbUI7bUdBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFIL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztpQkFDekI7eUpBR1EsVUFBVTtzQkFEaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZlYXR1cmVJbmZvLCBHaW9MaWNlbnNlU2VydmljZSwgaXNMaWNlbnNlUGx1Z2luT3B0aW9ucywgTGljZW5zZU9wdGlvbnMsIExpY2Vuc2VQbHVnaW5PcHRpb25zIH0gZnJvbSAnLi9naW8tbGljZW5zZS5zZXJ2aWNlJztcbmltcG9ydCB7IEdpb0xpY2Vuc2VEaWFsb2dDb21wb25lbnQsIEdpb0xpY2Vuc2VEaWFsb2dEYXRhIH0gZnJvbSAnLi9naW8tbGljZW5zZS1kaWFsb2cvZ2lvLWxpY2Vuc2UtZGlhbG9nLmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tnaW9MaWNlbnNlXScsXG59KVxuZXhwb3J0IGNsYXNzIEdpb0xpY2Vuc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnaW9MaWNlbnNlOiBMaWNlbnNlT3B0aW9ucyB8IExpY2Vuc2VQbHVnaW5PcHRpb25zID0ge307XG5cbiAgcHJpdmF0ZSBmZWF0dXJlSW5mbzogRmVhdHVyZUluZm8gPSB7fTtcbiAgcHJpdmF0ZSB0cmlhbFVSTCA9ICcnO1xuXG4gIHByaXZhdGUgdW5zdWJzY3JpYmUkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgcHJpdmF0ZSBvbkNsaWNrID0gdGhpcy5jbGljay5iaW5kKHRoaXMpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbGljZW5zZVNlcnZpY2U6IEdpb0xpY2Vuc2VTZXJ2aWNlLCBwcml2YXRlIHJlYWRvbmx5IG1hdERpYWxvZzogTWF0RGlhbG9nLCBwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlzTWlzc2luZ0ZlYXR1cmUkKClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMub25DbGljaywgdHJ1ZSk7XG4gICAgICAgIH0pLFxuICAgICAgICBmaWx0ZXIobm90QWxsb3dlZCA9PiB0aGlzLmdpb0xpY2Vuc2UgIT0gbnVsbCAmJiBub3RBbGxvd2VkKSxcbiAgICAgICAgbWFwKCgpID0+IHRoaXMubGljZW5zZVNlcnZpY2UuZ2V0RmVhdHVyZUluZm8odGhpcy5naW9MaWNlbnNlKSksXG4gICAgICAgIHRhcChmZWF0dXJlSW5mbyA9PiB7XG4gICAgICAgICAgdGhpcy5mZWF0dXJlSW5mbyA9IGZlYXR1cmVJbmZvO1xuICAgICAgICAgIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMub25DbGljaywgdHJ1ZSk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgaWYgKHRoaXMuZ2lvTGljZW5zZT8uZmVhdHVyZSkge1xuICAgICAgdGhpcy50cmlhbFVSTCA9IHRoaXMubGljZW5zZVNlcnZpY2UuZ2V0VHJpYWxVUkwodGhpcy5naW9MaWNlbnNlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzTWlzc2luZ0ZlYXR1cmUkKCkge1xuICAgIGlmIChpc0xpY2Vuc2VQbHVnaW5PcHRpb25zKHRoaXMuZ2lvTGljZW5zZSkpIHtcbiAgICAgIHJldHVybiBvZighdGhpcy5naW9MaWNlbnNlLmRlcGxveWVkKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubGljZW5zZVNlcnZpY2UuaXNNaXNzaW5nRmVhdHVyZSQodGhpcy5naW9MaWNlbnNlKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLm9uQ2xpY2ssIHRydWUpO1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLm5leHQoZmFsc2UpO1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIGNsaWNrKCRldmVudDogUG9pbnRlckV2ZW50KSB7XG4gICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgdGhpcy5tYXREaWFsb2dcbiAgICAgIC5vcGVuPEdpb0xpY2Vuc2VEaWFsb2dDb21wb25lbnQsIEdpb0xpY2Vuc2VEaWFsb2dEYXRhLCBib29sZWFuPihHaW9MaWNlbnNlRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBmZWF0dXJlSW5mbzogdGhpcy5mZWF0dXJlSW5mbyxcbiAgICAgICAgICB0cmlhbFVSTDogdGhpcy50cmlhbFVSTCxcbiAgICAgICAgfSxcbiAgICAgICAgcm9sZTogJ2FsZXJ0ZGlhbG9nJyxcbiAgICAgICAgaWQ6ICdnaW9MaWNlbnNlRGlhbG9nJyxcbiAgICAgIH0pXG4gICAgICAuYWZ0ZXJDbG9zZWQoKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { Inject, Injectable } from '@angular/core';
|
|
2
2
|
import { of } from 'rxjs';
|
|
3
3
|
import { map, shareReplay, switchMap } from 'rxjs/operators';
|
|
4
|
-
import { isEmpty } from 'lodash';
|
|
4
|
+
import { has, isEmpty } from 'lodash';
|
|
5
5
|
import { GioLicenseDialogComponent } from './gio-license-dialog/gio-license-dialog.component';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "@angular/common/http";
|
|
8
8
|
import * as i2 from "@angular/material/dialog";
|
|
9
|
+
export const isLicensePluginOptions = (licenseOptions) => has(licenseOptions, 'deployed');
|
|
9
10
|
export class GioLicenseService {
|
|
10
11
|
constructor(http, licenseConfiguration, matDialog) {
|
|
11
12
|
this.http = http;
|
|
@@ -83,7 +84,7 @@ export class GioLicenseService {
|
|
|
83
84
|
return this.getLicense$().pipe(map(license => (license.expiresAt ? new Date(license.expiresAt) : undefined)));
|
|
84
85
|
}
|
|
85
86
|
isExpired$() {
|
|
86
|
-
return this.
|
|
87
|
+
return this.getLicense$().pipe(map(license => license?.isExpired === true));
|
|
87
88
|
}
|
|
88
89
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GioLicenseService, deps: [{ token: i1.HttpClient }, { token: 'LicenseConfiguration' }, { token: i2.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
89
90
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GioLicenseService, providedIn: 'root' }); }
|
|
@@ -97,4 +98,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
97
98
|
type: Inject,
|
|
98
99
|
args: ['LicenseConfiguration']
|
|
99
100
|
}] }, { type: i2.MatDialog }]; } });
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWxpY2Vuc2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBhcnRpY2xlcy1hbmd1bGFyL3NyYy9saWIvZ2lvLWxpY2Vuc2UvZ2lvLWxpY2Vuc2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQkEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRWpDLE9BQU8sRUFBRSx5QkFBeUIsRUFBd0IsTUFBTSxtREFBbUQsQ0FBQzs7OztBQTBDcEgsTUFBTSxPQUFPLGlCQUFpQjtJQUc1QixZQUNtQixJQUFnQixFQUVoQixvQkFBMEMsRUFDMUMsU0FBb0I7UUFIcEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUVoQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFFckMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBVSxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEcsQ0FBQztJQUVNLFdBQVc7UUFDaEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxjQUEwQztRQUNqRSxJQUFJLGNBQWMsRUFBRSxPQUFPLElBQUksSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLE9BQU8sRUFBRTtZQUMvRCxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNsQjtR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QUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN0RyxDQUFDOytHQXBHVSxpQkFBaUIsNENBS2xCLHNCQUFzQjttSEFMckIsaUJBQWlCLGNBRmhCLE1BQU07OzRGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU1JLE1BQU07MkJBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB7IEdpb0xpY2Vuc2VEaWFsb2dDb21wb25lbnQsIEdpb0xpY2Vuc2VEaWFsb2dEYXRhIH0gZnJvbSAnLi9naW8tbGljZW5zZS1kaWFsb2cvZ2lvLWxpY2Vuc2UtZGlhbG9nLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB0eXBlIExpY2Vuc2UgPSB7XG4gIHRpZXI6IHN0cmluZztcbiAgcGFja3M6IEFycmF5PHN0cmluZz47XG4gIGZlYXR1cmVzOiBBcnJheTxzdHJpbmc+O1xuICBleHBpcmVzQXQ/OiBEYXRlO1xuICBzY29wZT86IHN0cmluZztcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGljZW5zZUNvbmZpZ3VyYXRpb24ge1xuICByZXNvdXJjZVVSTDogc3RyaW5nO1xuICBmZWF0dXJlSW5mb0RhdGE6IFJlY29yZDxzdHJpbmcsIEZlYXR1cmVJbmZvPjtcbiAgdHJpYWxSZXNvdXJjZVVSTDogc3RyaW5nO1xuICB1dG1Tb3VyY2U/OiBzdHJpbmc7XG4gIHV0bUNhbXBhaWduPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVUTSB7XG4gIHNvdXJjZTogc3RyaW5nO1xuICBtZWRpdW06IHN0cmluZztcbiAgY2FtcGFpZ246IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaWNlbnNlT3B0aW9ucyB7XG4gIC8vIFdlIHVzZWQgZmVhdHVyZSBuYW1lIGFzIHV0bV9tZWRpdW1cbiAgZmVhdHVyZT86IHN0cmluZztcbiAgLy8gT3B0aW9uYWwsIHVzZWZ1bCBpZiBuZWVkIGEgY29udGV4dCBpbiB1dG0gY2FtcGFpZ24gKHV0bV9jb250ZW50KVxuICBjb250ZXh0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVJbmZvIHtcbiAgaW1hZ2U/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICB0aXRsZT86IHN0cmluZztcbiAgdHJpYWxCdXR0b25MYWJlbD86IHN0cmluZztcbiAgaGlkZURheXM/OiBib29sZWFuO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgR2lvTGljZW5zZVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGxvYWRMaWNlbnNlJDogT2JzZXJ2YWJsZTxMaWNlbnNlPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsXG4gICAgQEluamVjdCgnTGljZW5zZUNvbmZpZ3VyYXRpb24nKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGljZW5zZUNvbmZpZ3VyYXRpb246IExpY2Vuc2VDb25maWd1cmF0aW9uLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbWF0RGlhbG9nOiBNYXREaWFsb2csXG4gICkge1xuICAgIHRoaXMubG9hZExpY2Vuc2UkID0gdGhpcy5odHRwLmdldDxMaWNlbnNlPihsaWNlbnNlQ29uZmlndXJhdGlvbi5yZXNvdXJjZVVSTCkucGlwZShzaGFyZVJlcGxheSgxKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGljZW5zZSQoKTogT2JzZXJ2YWJsZTxMaWNlbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMubG9hZExpY2Vuc2UkO1xuICB9XG5cbiAgcHVibGljIGlzTWlzc2luZ0ZlYXR1cmUkKGxpY2Vuc2VPcHRpb25zOiBMaWNlbnNlT3B0aW9ucyB8IHVuZGVmaW5lZCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGlmIChsaWNlbnNlT3B0aW9ucz8uZmVhdHVyZSA9PSBudWxsIHx8ICFsaWNlbnNlT3B0aW9ucz8uZmVhdHVyZSkge1xuICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaXNFeHBpcmVkJCgpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoaXNFeHBpcmVkID0+IHtcbiAgICAgICAgaWYgKGlzRXhwaXJlZCkge1xuICAgICAgICAgIHJldHVybiBvZihpc0V4cGlyZWQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmdldExpY2Vuc2UkKCkucGlwZShtYXAobGljZW5zZSA9PiBsaWNlbnNlID09IG51bGwgfHwgIWxpY2Vuc2UuZmVhdHVyZXMuc29tZShmZWF0ID0+IGZlYXQgPT09IGxpY2Vuc2VPcHRpb25zLmZlYXR1cmUpKSk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGhhc0FsbEZlYXR1cmVzJChsaWNlbnNlT3B0aW9uczogTGljZW5zZU9wdGlvbnNbXSB8IHVuZGVmaW5lZCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGlmICghbGljZW5zZU9wdGlvbnMgfHwgaXNFbXB0eShsaWNlbnNlT3B0aW9ucykpIHtcbiAgICAgIHJldHVybiBvZih0cnVlKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaXNFeHBpcmVkJCgpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoaXNFeHBpcmVkID0+IHtcbiAgICAgICAgY29uc3QgZmVhdHVyZXNEZWZpbmVkID0gbGljZW5zZU9wdGlvbnMuc29tZShvID0+ICEhby5mZWF0dXJlKTtcbiAgICAgICAgaWYgKGlzRXhwaXJlZCAmJiBmZWF0dXJlc0RlZmluZWQpIHtcbiAgICAgICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmdldExpY2Vuc2UkKCkucGlwZShcbiAgICAgICAgICBtYXAobGljZW5zZSA9PiBsaWNlbnNlICE9IG51bGwgJiYgbGljZW5zZU9wdGlvbnMuZXZlcnkobyA9PiBsaWNlbnNlLmZlYXR1cmVzLnNvbWUoZmVhdCA9PiBmZWF0ID09PSBvLmZlYXR1cmUpKSksXG4gICAgICAgICk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldEZlYXR1cmVJbmZvKGxpY2Vuc2VPcHRpb25zOiBMaWNlbnNlT3B0aW9ucyk6IEZlYXR1cmVJbmZvIHtcbiAgICBpZiAoIWxpY2Vuc2VPcHRpb25zLmZlYXR1cmUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgZmVhdHVyZSBpcyB1bmRlZmluZWRgKTtcbiAgICB9XG4gICAgY29uc3QgZmVhdHVyZUluZm8gPSB0aGlzLmxpY2Vuc2VDb25maWd1cmF0aW9uLmZlYXR1cmVJbmZvRGF0YVtsaWNlbnNlT3B0aW9ucy5mZWF0dXJlXTtcbiAgICBpZiAoIWZlYXR1cmVJbmZvKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBVbmtub3duIEZlYXR1cmUgdmFsdWUgJHtsaWNlbnNlT3B0aW9ucy5mZWF0dXJlfS4gRXhwZWN0ZWQgb25lIG9mICR7T2JqZWN0LmtleXModGhpcy5saWNlbnNlQ29uZmlndXJhdGlvbi5mZWF0dXJlSW5mb0RhdGEpfWAsXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gZmVhdHVyZUluZm87XG4gIH1cblxuICBwdWJsaWMgZ2V0VHJpYWxVUkwobGljZW5zZU9wdGlvbnM6IExpY2Vuc2VPcHRpb25zKTogc3RyaW5nIHtcbiAgICBpZiAoIWxpY2Vuc2VPcHRpb25zLmZlYXR1cmUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgZmVhdHVyZSBpcyB1bmRlZmluZWRgKTtcbiAgICB9XG4gICAgY29uc3QgdXJsUGFyYW1zID1cbiAgICAgIHRoaXMubGljZW5zZUNvbmZpZ3VyYXRpb24udXRtU291cmNlIHx8IHRoaXMubGljZW5zZUNvbmZpZ3VyYXRpb24udXRtQ2FtcGFpZ25cbiAgICAgICAgPyBgP3V0bV9zb3VyY2U9JHt0aGlzLmxpY2Vuc2VDb25maWd1cmF0aW9uLnV0bVNvdXJjZX0mdXRtX21lZGl1bT0ke2xpY2Vuc2VPcHRpb25zLmZlYXR1cmV9JnV0bV9jYW1wYWlnbj0ke3RoaXMubGljZW5zZUNvbmZpZ3VyYXRpb24udXRtQ2FtcGFpZ259YFxuICAgICAgICA6ICcnO1xuICAgIGNvbnN0IGNvbnRleHQgPSB1cmxQYXJhbXMubGVuZ3RoID4gMCAmJiBsaWNlbnNlT3B0aW9ucy5jb250ZXh0ID8gYCZ1dG1fY29udGVudD0ke2xpY2Vuc2VPcHRpb25zLmNvbnRleHR9YCA6ICcnO1xuICAgIHJldHVybiBgJHt0aGlzLmxpY2Vuc2VDb25maWd1cmF0aW9uLnRyaWFsUmVzb3VyY2VVUkx9JHt1cmxQYXJhbXN9JHtjb250ZXh0fWA7XG4gIH1cblxuICBwdWJsaWMgaXNPRU0kKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmdldExpY2Vuc2UkKCkucGlwZShtYXAobGljZW5zZSA9PiBsaWNlbnNlICE9PSBudWxsICYmIGxpY2Vuc2UuZmVhdHVyZXMuaW5jbHVkZXMoJ29lbS1jdXN0b21pemF0aW9uJykpKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuRGlhbG9nKGxpY2Vuc2VPcHRpb25zOiBMaWNlbnNlT3B0aW9ucywgZXZlbnQ/OiBFdmVudCkge1xuICAgIGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBldmVudD8ucHJldmVudERlZmF1bHQoKTtcbiAgICBjb25zdCBmZWF0dXJlSW5mbyA9IHRoaXMuZ2V0RmVhdHVyZUluZm8obGljZW5zZU9wdGlvbnMpO1xuICAgIGNvbnN0IHRyaWFsVVJMID0gdGhpcy5nZXRUcmlhbFVSTChsaWNlbnNlT3B0aW9ucyk7XG4gICAgcmV0dXJuIHRoaXMubWF0RGlhbG9nXG4gICAgICAub3BlbjxHaW9MaWNlbnNlRGlhbG9nQ29tcG9uZW50LCBHaW9MaWNlbnNlRGlhbG9nRGF0YSwgYm9vbGVhbj4oR2lvTGljZW5zZURpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgZmVhdHVyZUluZm8sXG4gICAgICAgICAgdHJpYWxVUkwsXG4gICAgICAgIH0sXG4gICAgICAgIHJvbGU6ICdhbGVydGRpYWxvZycsXG4gICAgICAgIGlkOiAnZ2lvTGljZW5zZURpYWxvZycsXG4gICAgICB9KVxuICAgICAgLmFmdGVyQ2xvc2VkKClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRFeHBpcmVzQXQkKCk6IE9ic2VydmFibGU8RGF0ZSB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLmdldExpY2Vuc2UkKCkucGlwZShtYXAobGljZW5zZSA9PiAobGljZW5zZS5leHBpcmVzQXQgPyBuZXcgRGF0ZShsaWNlbnNlLmV4cGlyZXNBdCkgOiB1bmRlZmluZWQpKSk7XG4gIH1cblxuICBwdWJsaWMgaXNFeHBpcmVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRFeHBpcmVzQXQkKCkucGlwZShtYXAoZXhwaXJlc0F0ID0+ICEhZXhwaXJlc0F0ICYmIGV4cGlyZXNBdC52YWx1ZU9mKCkgPCBEYXRlLm5vdygpKSk7XG4gIH1cbn1cbiJdfQ==
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWxpY2Vuc2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBhcnRpY2xlcy1hbmd1bGFyL3NyYy9saWIvZ2lvLWxpY2Vuc2UvZ2lvLWxpY2Vuc2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQkEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUV0QyxPQUFPLEVBQUUseUJBQXlCLEVBQXdCLE1BQU0sbURBQW1ELENBQUM7Ozs7QUF1Q3BILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLENBQUMsY0FBOEIsRUFBMEMsRUFBRSxDQUMvRyxHQUFHLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBYWxDLE1BQU0sT0FBTyxpQkFBaUI7SUFHNUIsWUFDbUIsSUFBZ0IsRUFFaEIsb0JBQTBDLEVBQzFDLFNBQW9CO1FBSHBCLFNBQUksR0FBSixJQUFJLENBQVk7UUFFaEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBRXJDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVUsb0JBQW9CLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BHLENBQUM7SUFFTSxXQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRU0saUJBQWlCLENBQUMsY0FBMEM7UUFDakUsSUFBSSxjQUFjLEVBQUUsT0FBTyxJQUFJLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxPQUFPLEVBQUU7WUFDL0QsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDbEI7UUFDRCxPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQzNCLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNwQixJQUFJLFNBQVMsRUFBRTtnQkFDYixPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUN0QjtZQUNELE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNySSxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVNLGVBQWUsQ0FBQyxjQUE0QztRQUNqRSxJQUFJLENBQUMsY0FBYyxJQUFJLE9BQU8sQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUM5QyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNqQjtRQUNELE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FDM0IsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3BCLE1BQU0sZUFBZSxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzlELElBQUksU0FBUyxJQUFJLGVBQWUsRUFBRTtnQkFDaEMsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDbEI7WUFDRCxPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQzVCLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sSUFBSSxJQUFJLElBQUksY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQ2hILENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVNLGNBQWMsQ0FBQyxjQUE4QjtRQUNsRCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRTtZQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7U0FDekM7UUFDRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0RixJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQ2IseUJBQXlCLGNBQWMsQ0FBQyxPQUFPLHFCQUFxQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUM3SCxDQUFDO1NBQ0g7UUFDRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRU0sV0FBVyxDQUFDLGNBQThCO1FBQy9DLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFO1lBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztTQUN6QztRQUNELE1BQU0sU0FBUyxHQUNiLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVc7WUFDMUUsQ0FBQyxDQUFDLGVBQWUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsZUFBZSxjQUFjLENBQUMsT0FBTyxpQkFBaUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsRUFBRTtZQUNqSixDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ1QsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQy9HLE9BQU8sR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxHQUFHLE9BQU8sRUFBRSxDQUFDO0lBQy9FLENBQUM7SUFFTSxNQUFNO1FBQ1gsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sS0FBSyxJQUFJLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckgsQ0FBQztJQUVNLFVBQVUsQ0FBQyxjQUE4QixFQUFFLEtBQWE7UUFDN0QsS0FBSyxFQUFFLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLEtBQUssRUFBRSxjQUFjLEVBQUUsQ0FBQztRQUN4QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbEQsT0FBTyxJQUFJLENBQUMsU0FBUzthQUNsQixJQUFJLENBQTJELHlCQUF5QixFQUFFO1lBQ3pGLElBQUksRUFBRTtnQkFDSixXQUFXO2dCQUNYLFFBQVE7YUFDVDtZQUNELElBQUksRUFBRSxhQUFhO1lBQ25CLEVBQUUsRUFBRSxrQkFBa0I7U0FDdkIsQ0FBQzthQUNELFdBQVcsRUFBRTthQUNiLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFTSxhQUFhO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hILENBQUM7SUFFTSxVQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxTQUFTLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDOytHQXBHVSxpQkFBaUIsNENBS2xCLHNCQUFzQjttSEFMckIsaUJBQWlCLGNBRmhCLE1BQU07OzRGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU1JLE1BQU07MkJBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgaGFzLCBpc0VtcHR5IH0gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IHsgR2lvTGljZW5zZURpYWxvZ0NvbXBvbmVudCwgR2lvTGljZW5zZURpYWxvZ0RhdGEgfSBmcm9tICcuL2dpby1saWNlbnNlLWRpYWxvZy9naW8tbGljZW5zZS1kaWFsb2cuY29tcG9uZW50JztcblxuZXhwb3J0IHR5cGUgTGljZW5zZSA9IHtcbiAgdGllcjogc3RyaW5nO1xuICBwYWNrczogQXJyYXk8c3RyaW5nPjtcbiAgZmVhdHVyZXM6IEFycmF5PHN0cmluZz47XG4gIGV4cGlyZXNBdD86IERhdGU7XG4gIHNjb3BlPzogc3RyaW5nO1xuICBpc0V4cGlyZWQ/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBMaWNlbnNlQ29uZmlndXJhdGlvbiB7XG4gIHJlc291cmNlVVJMOiBzdHJpbmc7XG4gIGZlYXR1cmVJbmZvRGF0YTogUmVjb3JkPHN0cmluZywgRmVhdHVyZUluZm8+O1xuICB0cmlhbFJlc291cmNlVVJMOiBzdHJpbmc7XG4gIHV0bVNvdXJjZT86IHN0cmluZztcbiAgdXRtQ2FtcGFpZ24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVVRNIHtcbiAgc291cmNlOiBzdHJpbmc7XG4gIG1lZGl1bTogc3RyaW5nO1xuICBjYW1wYWlnbjogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBMaWNlbnNlT3B0aW9uc0Jhc2UgPSB7XG4gIC8vIFdlIHVzZWQgZmVhdHVyZSBuYW1lIGFzIHV0bV9tZWRpdW1cbiAgZmVhdHVyZT86IHN0cmluZztcbiAgLy8gT3B0aW9uYWwsIHVzZWZ1bCBpZiBuZWVkIGEgY29udGV4dCBpbiB1dG0gY2FtcGFpZ24gKHV0bV9jb250ZW50KVxuICBjb250ZXh0Pzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgTGljZW5zZVBsdWdpbk9wdGlvbnMgPSBMaWNlbnNlT3B0aW9uc0Jhc2UgJiB7XG4gIC8vIFdoZW4gaXMgZGVwbG95ZWQsIHRoZSBwbHVnaW4gaXMgaW5jbHVkZWQgaW4gbGljZW5zZVxuICBkZXBsb3llZDogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIExpY2Vuc2VPcHRpb25zID0gTGljZW5zZU9wdGlvbnNCYXNlIHwgTGljZW5zZVBsdWdpbk9wdGlvbnM7XG5cbmV4cG9ydCBjb25zdCBpc0xpY2Vuc2VQbHVnaW5PcHRpb25zID0gKGxpY2Vuc2VPcHRpb25zOiBMaWNlbnNlT3B0aW9ucyk6IGxpY2Vuc2VPcHRpb25zIGlzIExpY2Vuc2VQbHVnaW5PcHRpb25zID0+XG4gIGhhcyhsaWNlbnNlT3B0aW9ucywgJ2RlcGxveWVkJyk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZUluZm8ge1xuICBpbWFnZT86IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHRpdGxlPzogc3RyaW5nO1xuICB0cmlhbEJ1dHRvbkxhYmVsPzogc3RyaW5nO1xuICBoaWRlRGF5cz86IGJvb2xlYW47XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBHaW9MaWNlbnNlU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgbG9hZExpY2Vuc2UkOiBPYnNlcnZhYmxlPExpY2Vuc2U+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCxcbiAgICBASW5qZWN0KCdMaWNlbnNlQ29uZmlndXJhdGlvbicpXG4gICAgcHJpdmF0ZSByZWFkb25seSBsaWNlbnNlQ29uZmlndXJhdGlvbjogTGljZW5zZUNvbmZpZ3VyYXRpb24sXG4gICAgcHJpdmF0ZSByZWFkb25seSBtYXREaWFsb2c6IE1hdERpYWxvZyxcbiAgKSB7XG4gICAgdGhpcy5sb2FkTGljZW5zZSQgPSB0aGlzLmh0dHAuZ2V0PExpY2Vuc2U+KGxpY2Vuc2VDb25maWd1cmF0aW9uLnJlc291cmNlVVJMKS5waXBlKHNoYXJlUmVwbGF5KDEpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMaWNlbnNlJCgpOiBPYnNlcnZhYmxlPExpY2Vuc2U+IHtcbiAgICByZXR1cm4gdGhpcy5sb2FkTGljZW5zZSQ7XG4gIH1cblxuICBwdWJsaWMgaXNNaXNzaW5nRmVhdHVyZSQobGljZW5zZU9wdGlvbnM6IExpY2Vuc2VPcHRpb25zIHwgdW5kZWZpbmVkKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgaWYgKGxpY2Vuc2VPcHRpb25zPy5mZWF0dXJlID09IG51bGwgfHwgIWxpY2Vuc2VPcHRpb25zPy5mZWF0dXJlKSB7XG4gICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5pc0V4cGlyZWQkKCkucGlwZShcbiAgICAgIHN3aXRjaE1hcChpc0V4cGlyZWQgPT4ge1xuICAgICAgICBpZiAoaXNFeHBpcmVkKSB7XG4gICAgICAgICAgcmV0dXJuIG9mKGlzRXhwaXJlZCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TGljZW5zZSQoKS5waXBlKG1hcChsaWNlbnNlID0+IGxpY2Vuc2UgPT0gbnVsbCB8fCAhbGljZW5zZS5mZWF0dXJlcy5zb21lKGZlYXQgPT4gZmVhdCA9PT0gbGljZW5zZU9wdGlvbnMuZmVhdHVyZSkpKTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgaGFzQWxsRmVhdHVyZXMkKGxpY2Vuc2VPcHRpb25zOiBMaWNlbnNlT3B0aW9uc1tdIHwgdW5kZWZpbmVkKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgaWYgKCFsaWNlbnNlT3B0aW9ucyB8fCBpc0VtcHR5KGxpY2Vuc2VPcHRpb25zKSkge1xuICAgICAgcmV0dXJuIG9mKHRydWUpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5pc0V4cGlyZWQkKCkucGlwZShcbiAgICAgIHN3aXRjaE1hcChpc0V4cGlyZWQgPT4ge1xuICAgICAgICBjb25zdCBmZWF0dXJlc0RlZmluZWQgPSBsaWNlbnNlT3B0aW9ucy5zb21lKG8gPT4gISFvLmZlYXR1cmUpO1xuICAgICAgICBpZiAoaXNFeHBpcmVkICYmIGZlYXR1cmVzRGVmaW5lZCkge1xuICAgICAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TGljZW5zZSQoKS5waXBlKFxuICAgICAgICAgIG1hcChsaWNlbnNlID0+IGxpY2Vuc2UgIT0gbnVsbCAmJiBsaWNlbnNlT3B0aW9ucy5ldmVyeShvID0+IGxpY2Vuc2UuZmVhdHVyZXMuc29tZShmZWF0ID0+IGZlYXQgPT09IG8uZmVhdHVyZSkpKSxcbiAgICAgICAgKTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RmVhdHVyZUluZm8obGljZW5zZU9wdGlvbnM6IExpY2Vuc2VPcHRpb25zKTogRmVhdHVyZUluZm8ge1xuICAgIGlmICghbGljZW5zZU9wdGlvbnMuZmVhdHVyZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBmZWF0dXJlIGlzIHVuZGVmaW5lZGApO1xuICAgIH1cbiAgICBjb25zdCBmZWF0dXJlSW5mbyA9IHRoaXMubGljZW5zZUNvbmZpZ3VyYXRpb24uZmVhdHVyZUluZm9EYXRhW2xpY2Vuc2VPcHRpb25zLmZlYXR1cmVdO1xuICAgIGlmICghZmVhdHVyZUluZm8pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFVua25vd24gRmVhdHVyZSB2YWx1ZSAke2xpY2Vuc2VPcHRpb25zLmZlYXR1cmV9LiBFeHBlY3RlZCBvbmUgb2YgJHtPYmplY3Qua2V5cyh0aGlzLmxpY2Vuc2VDb25maWd1cmF0aW9uLmZlYXR1cmVJbmZvRGF0YSl9YCxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBmZWF0dXJlSW5mbztcbiAgfVxuXG4gIHB1YmxpYyBnZXRUcmlhbFVSTChsaWNlbnNlT3B0aW9uczogTGljZW5zZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgIGlmICghbGljZW5zZU9wdGlvbnMuZmVhdHVyZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBmZWF0dXJlIGlzIHVuZGVmaW5lZGApO1xuICAgIH1cbiAgICBjb25zdCB1cmxQYXJhbXMgPVxuICAgICAgdGhpcy5saWNlbnNlQ29uZmlndXJhdGlvbi51dG1Tb3VyY2UgfHwgdGhpcy5saWNlbnNlQ29uZmlndXJhdGlvbi51dG1DYW1wYWlnblxuICAgICAgICA/IGA/dXRtX3NvdXJjZT0ke3RoaXMubGljZW5zZUNvbmZpZ3VyYXRpb24udXRtU291cmNlfSZ1dG1fbWVkaXVtPSR7bGljZW5zZU9wdGlvbnMuZmVhdHVyZX0mdXRtX2NhbXBhaWduPSR7dGhpcy5saWNlbnNlQ29uZmlndXJhdGlvbi51dG1DYW1wYWlnbn1gXG4gICAgICAgIDogJyc7XG4gICAgY29uc3QgY29udGV4dCA9IHVybFBhcmFtcy5sZW5ndGggPiAwICYmIGxpY2Vuc2VPcHRpb25zLmNvbnRleHQgPyBgJnV0bV9jb250ZW50PSR7bGljZW5zZU9wdGlvbnMuY29udGV4dH1gIDogJyc7XG4gICAgcmV0dXJuIGAke3RoaXMubGljZW5zZUNvbmZpZ3VyYXRpb24udHJpYWxSZXNvdXJjZVVSTH0ke3VybFBhcmFtc30ke2NvbnRleHR9YDtcbiAgfVxuXG4gIHB1YmxpYyBpc09FTSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TGljZW5zZSQoKS5waXBlKG1hcChsaWNlbnNlID0+IGxpY2Vuc2UgIT09IG51bGwgJiYgbGljZW5zZS5mZWF0dXJlcy5pbmNsdWRlcygnb2VtLWN1c3RvbWl6YXRpb24nKSkpO1xuICB9XG5cbiAgcHVibGljIG9wZW5EaWFsb2cobGljZW5zZU9wdGlvbnM6IExpY2Vuc2VPcHRpb25zLCBldmVudD86IEV2ZW50KSB7XG4gICAgZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGV2ZW50Py5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGNvbnN0IGZlYXR1cmVJbmZvID0gdGhpcy5nZXRGZWF0dXJlSW5mbyhsaWNlbnNlT3B0aW9ucyk7XG4gICAgY29uc3QgdHJpYWxVUkwgPSB0aGlzLmdldFRyaWFsVVJMKGxpY2Vuc2VPcHRpb25zKTtcbiAgICByZXR1cm4gdGhpcy5tYXREaWFsb2dcbiAgICAgIC5vcGVuPEdpb0xpY2Vuc2VEaWFsb2dDb21wb25lbnQsIEdpb0xpY2Vuc2VEaWFsb2dEYXRhLCBib29sZWFuPihHaW9MaWNlbnNlRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBmZWF0dXJlSW5mbyxcbiAgICAgICAgICB0cmlhbFVSTCxcbiAgICAgICAgfSxcbiAgICAgICAgcm9sZTogJ2FsZXJ0ZGlhbG9nJyxcbiAgICAgICAgaWQ6ICdnaW9MaWNlbnNlRGlhbG9nJyxcbiAgICAgIH0pXG4gICAgICAuYWZ0ZXJDbG9zZWQoKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIGdldEV4cGlyZXNBdCQoKTogT2JzZXJ2YWJsZTxEYXRlIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TGljZW5zZSQoKS5waXBlKG1hcChsaWNlbnNlID0+IChsaWNlbnNlLmV4cGlyZXNBdCA/IG5ldyBEYXRlKGxpY2Vuc2UuZXhwaXJlc0F0KSA6IHVuZGVmaW5lZCkpKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0V4cGlyZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmdldExpY2Vuc2UkKCkucGlwZShtYXAobGljZW5zZSA9PiBsaWNlbnNlPy5pc0V4cGlyZWQgPT09IHRydWUpKTtcbiAgfVxufVxuIl19
|
|
@@ -15,7 +15,7 @@ import { ComponentHarness, HarnessPredicate, parallel, TestKey } from '@angular/
|
|
|
15
15
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
16
16
|
import * as i6$1 from '@angular/material/form-field';
|
|
17
17
|
import { MatFormFieldControl, MatFormFieldModule, MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';
|
|
18
|
-
import { isEmpty, isString, isObject, toLower, dropRight, isNil, isArray, remove, cloneDeep, uniqueId, set, range, some, isEqual, filter as filter$1, intersection } from 'lodash';
|
|
18
|
+
import { isEmpty, isString, isObject, toLower, dropRight, isNil, isArray, remove, cloneDeep, uniqueId, set, has, range, some, isEqual, filter as filter$1, intersection } from 'lodash';
|
|
19
19
|
import * as i1$1 from '@angular/forms';
|
|
20
20
|
import { FormsModule, UntypedFormArray, UntypedFormGroup, UntypedFormControl, Validators, NG_VALUE_ACCESSOR, NG_VALIDATORS, ReactiveFormsModule, NgControl, FormControl } from '@angular/forms';
|
|
21
21
|
import * as i1$2 from '@angular/cdk/a11y';
|
|
@@ -4804,6 +4804,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
4804
4804
|
args: [MAT_DIALOG_DATA]
|
|
4805
4805
|
}] }]; } });
|
|
4806
4806
|
|
|
4807
|
+
const isLicensePluginOptions = (licenseOptions) => has(licenseOptions, 'deployed');
|
|
4807
4808
|
class GioLicenseService {
|
|
4808
4809
|
constructor(http, licenseConfiguration, matDialog) {
|
|
4809
4810
|
this.http = http;
|
|
@@ -4881,7 +4882,7 @@ class GioLicenseService {
|
|
|
4881
4882
|
return this.getLicense$().pipe(map(license => (license.expiresAt ? new Date(license.expiresAt) : undefined)));
|
|
4882
4883
|
}
|
|
4883
4884
|
isExpired$() {
|
|
4884
|
-
return this.
|
|
4885
|
+
return this.getLicense$().pipe(map(license => license?.isExpired === true));
|
|
4885
4886
|
}
|
|
4886
4887
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GioLicenseService, deps: [{ token: i4.HttpClient }, { token: 'LicenseConfiguration' }, { token: i1$3.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4887
4888
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GioLicenseService, providedIn: 'root' }); }
|
|
@@ -4923,8 +4924,7 @@ class GioLicenseDirective {
|
|
|
4923
4924
|
this.onClick = this.click.bind(this);
|
|
4924
4925
|
}
|
|
4925
4926
|
ngOnInit() {
|
|
4926
|
-
this.
|
|
4927
|
-
.isMissingFeature$(this.gioLicense)
|
|
4927
|
+
this.isMissingFeature$()
|
|
4928
4928
|
.pipe(tap(() => {
|
|
4929
4929
|
this.elRef.nativeElement.removeEventListener('click', this.onClick, true);
|
|
4930
4930
|
}), filter(notAllowed => this.gioLicense != null && notAllowed), map(() => this.licenseService.getFeatureInfo(this.gioLicense)), tap(featureInfo => {
|
|
@@ -4936,6 +4936,12 @@ class GioLicenseDirective {
|
|
|
4936
4936
|
this.trialURL = this.licenseService.getTrialURL(this.gioLicense);
|
|
4937
4937
|
}
|
|
4938
4938
|
}
|
|
4939
|
+
isMissingFeature$() {
|
|
4940
|
+
if (isLicensePluginOptions(this.gioLicense)) {
|
|
4941
|
+
return of(!this.gioLicense.deployed);
|
|
4942
|
+
}
|
|
4943
|
+
return this.licenseService.isMissingFeature$(this.gioLicense);
|
|
4944
|
+
}
|
|
4939
4945
|
ngOnDestroy() {
|
|
4940
4946
|
this.elRef.nativeElement.removeEventListener('click', this.onClick, true);
|
|
4941
4947
|
this.unsubscribe$.next(false);
|
|
@@ -7147,5 +7153,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
7147
7153
|
* Generated bundle index. Do not edit.
|
|
7148
7154
|
*/
|
|
7149
7155
|
|
|
7150
|
-
export { ConfigureTestingGioMonacoEditor, GIO_DIALOG_WIDTH, GIO_FORM_FOCUS_INVALID_IGNORE_SELECTOR, GioAsciidoctorComponent, GioAsciidoctorModule, GioAsciidoctorService, GioAvatarComponent, GioAvatarModule, GioBannerActionDirective, GioBannerBodyDirective, GioBannerComponent, GioBannerErrorComponent, GioBannerInfoComponent, GioBannerModule, GioBannerSuccessComponent, GioBannerWarningComponent, GioBaseFormFocusInvalidDirective, GioBreadcrumbComponent, GioBreadcrumbItemDirective, GioBreadcrumbModule, GioButtonFocusInvalidButtonDirective, GioCardEmptyStateComponent, GioCardEmptyStateModule, GioClipboardCopyIconComponent, GioClipboardCopyWrapperComponent, GioClipboardModule, GioConfirmAndValidateDialogComponent, GioConfirmAndValidateDialogHarness, GioConfirmAndValidateDialogModule, GioConfirmDialogComponent, GioConfirmDialogHarness, GioConfirmDialogModule, GioFormCronComponent, GioFormCronHarness, GioFormCronHintComponent, GioFormCronLabelComponent, GioFormCronModule, GioFormFilePickerAddButtonComponent, GioFormFilePickerComponent, GioFormFilePickerEmptyComponent, GioFormFilePickerInputHarness, GioFormFilePickerLabelComponent, GioFormFilePickerModule, GioFormFocusInvalidFormDirective, GioFormFocusInvalidIgnoreDirective, GioFormFocusInvalidModule, GioFormHeadersComponent, GioFormHeadersHarness, GioFormHeadersLabelComponent, GioFormHeadersModule, GioFormJsonSchemaComponent, GioFormJsonSchemaModule, GioFormLabelComponent, GioFormPrefixDirective, GioFormSlideToggleComponent, GioFormSlideToggleDirective, GioFormSlideToggleModule, GioFormTagsInputComponent, GioFormTagsInputHarness, GioFormTagsInputModule, GioIconsModule, GioLicenseDialogComponent, GioLicenseDialogModule, GioLicenseDirective, GioLicenseExpirationNotificationComponent, GioLicenseExpirationNotificationHarness, GioLicenseExpirationNotificationModule, GioLicenseModule, GioLicenseService, GioLicenseTestingModule, GioLoaderComponent, GioLoaderModule, GioMatConfigModule, GioMenuComponent, GioMenuFooterComponent, GioMenuHeaderComponent, GioMenuItemComponent, GioMenuLicenseExpirationNotificationComponent, GioMenuListComponent, GioMenuModule, GioMenuSearchComponent, GioMenuSearchHarness, GioMenuSearchService, GioMenuSelectorComponent, GioMenuSelectorHarness, GioMenuService, GioMonacoEditorComponent, GioMonacoEditorFormFieldDirective, GioMonacoEditorHarness, GioMonacoEditorModule, GioPrismJsService, GioRadioButtonContentComponent, GioRadioButtonModule, GioRadioButtonSubitleComponent, GioRadioButtonTitleComponent, GioSafePipeModule, GioSaveBarComponent, GioSaveBarHarness, GioSaveBarModule, GioSubmenuComponent, GioSubmenuGroupComponent, GioSubmenuItemComponent, GioSubmenuModule, GioSubmenuTitleDirective, GioTopBarComponent, GioTopBarContentComponent, GioTopBarLinkComponent, GioTopBarLinkModule, GioTopBarMenuComponent, GioTopBarMenuModule, GioTopBarModule, LICENSE_CONFIGURATION_TESTING, NewFile, OEM_DEFAULT_LOGO, OEM_LICENSE_CONFIGURATION_TESTING, OEM_THEME_ARG_TYPES, SafePipe, computeAndInjectStylesForStory, computeStyles, computeStylesForStory, resetStoryStyleInjection };
|
|
7156
|
+
export { ConfigureTestingGioMonacoEditor, GIO_DIALOG_WIDTH, GIO_FORM_FOCUS_INVALID_IGNORE_SELECTOR, GioAsciidoctorComponent, GioAsciidoctorModule, GioAsciidoctorService, GioAvatarComponent, GioAvatarModule, GioBannerActionDirective, GioBannerBodyDirective, GioBannerComponent, GioBannerErrorComponent, GioBannerInfoComponent, GioBannerModule, GioBannerSuccessComponent, GioBannerWarningComponent, GioBaseFormFocusInvalidDirective, GioBreadcrumbComponent, GioBreadcrumbItemDirective, GioBreadcrumbModule, GioButtonFocusInvalidButtonDirective, GioCardEmptyStateComponent, GioCardEmptyStateModule, GioClipboardCopyIconComponent, GioClipboardCopyWrapperComponent, GioClipboardModule, GioConfirmAndValidateDialogComponent, GioConfirmAndValidateDialogHarness, GioConfirmAndValidateDialogModule, GioConfirmDialogComponent, GioConfirmDialogHarness, GioConfirmDialogModule, GioFormCronComponent, GioFormCronHarness, GioFormCronHintComponent, GioFormCronLabelComponent, GioFormCronModule, GioFormFilePickerAddButtonComponent, GioFormFilePickerComponent, GioFormFilePickerEmptyComponent, GioFormFilePickerInputHarness, GioFormFilePickerLabelComponent, GioFormFilePickerModule, GioFormFocusInvalidFormDirective, GioFormFocusInvalidIgnoreDirective, GioFormFocusInvalidModule, GioFormHeadersComponent, GioFormHeadersHarness, GioFormHeadersLabelComponent, GioFormHeadersModule, GioFormJsonSchemaComponent, GioFormJsonSchemaModule, GioFormLabelComponent, GioFormPrefixDirective, GioFormSlideToggleComponent, GioFormSlideToggleDirective, GioFormSlideToggleModule, GioFormTagsInputComponent, GioFormTagsInputHarness, GioFormTagsInputModule, GioIconsModule, GioLicenseDialogComponent, GioLicenseDialogModule, GioLicenseDirective, GioLicenseExpirationNotificationComponent, GioLicenseExpirationNotificationHarness, GioLicenseExpirationNotificationModule, GioLicenseModule, GioLicenseService, GioLicenseTestingModule, GioLoaderComponent, GioLoaderModule, GioMatConfigModule, GioMenuComponent, GioMenuFooterComponent, GioMenuHeaderComponent, GioMenuItemComponent, GioMenuLicenseExpirationNotificationComponent, GioMenuListComponent, GioMenuModule, GioMenuSearchComponent, GioMenuSearchHarness, GioMenuSearchService, GioMenuSelectorComponent, GioMenuSelectorHarness, GioMenuService, GioMonacoEditorComponent, GioMonacoEditorFormFieldDirective, GioMonacoEditorHarness, GioMonacoEditorModule, GioPrismJsService, GioRadioButtonContentComponent, GioRadioButtonModule, GioRadioButtonSubitleComponent, GioRadioButtonTitleComponent, GioSafePipeModule, GioSaveBarComponent, GioSaveBarHarness, GioSaveBarModule, GioSubmenuComponent, GioSubmenuGroupComponent, GioSubmenuItemComponent, GioSubmenuModule, GioSubmenuTitleDirective, GioTopBarComponent, GioTopBarContentComponent, GioTopBarLinkComponent, GioTopBarLinkModule, GioTopBarMenuComponent, GioTopBarMenuModule, GioTopBarModule, LICENSE_CONFIGURATION_TESTING, NewFile, OEM_DEFAULT_LOGO, OEM_LICENSE_CONFIGURATION_TESTING, OEM_THEME_ARG_TYPES, SafePipe, computeAndInjectStylesForStory, computeStyles, computeStylesForStory, isLicensePluginOptions, resetStoryStyleInjection };
|
|
7151
7157
|
//# sourceMappingURL=gravitee-ui-particles-angular.mjs.map
|