@c8y/ngx-components 1018.503.80 → 1018.503.83
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/esm2020/core/range-display/range-display.component.mjs +4 -4
- package/esm2020/ecosystem/shared/upload-archive.component.mjs +3 -2
- package/esm2020/sub-assets/sub-assets-grid.component.mjs +6 -3
- package/fesm2015/c8y-ngx-components-ecosystem-shared.mjs +2 -1
- package/fesm2015/c8y-ngx-components-ecosystem-shared.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-sub-assets.mjs +5 -2
- package/fesm2015/c8y-ngx-components-sub-assets.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components.mjs +3 -3
- package/fesm2015/c8y-ngx-components.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-ecosystem-shared.mjs +2 -1
- package/fesm2020/c8y-ngx-components-ecosystem-shared.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-sub-assets.mjs +5 -2
- package/fesm2020/c8y-ngx-components-sub-assets.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components.mjs +3 -3
- package/fesm2020/c8y-ngx-components.mjs.map +1 -1
- package/package.json +1 -1
- package/sub-assets/sub-assets-grid.component.d.ts +1 -0
|
@@ -13,7 +13,7 @@ export class RangeDisplayComponent {
|
|
|
13
13
|
if (!this.config.min) {
|
|
14
14
|
this.config.min = 0;
|
|
15
15
|
}
|
|
16
|
-
if (!this.config.max) {
|
|
16
|
+
if (!this.config.max && this.config.max !== 0) {
|
|
17
17
|
this.config.max = 100;
|
|
18
18
|
}
|
|
19
19
|
if (this.config.fractionSize !== undefined) {
|
|
@@ -144,10 +144,10 @@ export class RangeDisplayComponent {
|
|
|
144
144
|
}
|
|
145
145
|
}
|
|
146
146
|
RangeDisplayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: RangeDisplayComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
|
147
|
-
RangeDisplayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: RangeDisplayComponent, selector: "c8y-range-display", inputs: { config: "config", display: "display" }, host: { properties: { "attr.style": "this.inlineStyle" } }, viewQueries: [{ propertyName: "rangeDisplay", first: true, predicate: ["rangeDisplay"], descendants: true }, { propertyName: "currentRangeElement", first: true, predicate: ["currentRangeElement"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n [ngClass]=\"{\n 'range-display--vertical': config.orientation === 'vertical',\n 'range-display--compact': display === 'compact',\n 'range-display--inline': display === 'inline'\n }\"\n attr.data-label=\"{{ config.unit }}\"\n>\n <div\n class=\"range-display\"\n #rangeDisplay\n >\n <div class=\"range-display__range\">\n <div class=\"range-display__range__unit\">\n {{ config.unit }}\n </div>\n <div\n *ngIf=\"isYellowRangeDisplayed()\"\n class=\"range-display__range__min\"\n ></div>\n <div\n *ngIf=\"isRedRangeDisplayed()\"\n class=\"range-display__range__max\"\n ></div>\n <div\n *ngIf=\"checkTarget()\"\n class=\"range-display__range__target\"\n attr.data-label=\"{{ config.target }} {{ config.unit }}\"\n title=\"{{ 'Target' | translate }}: {{ config.target }} {{ config.unit }}\"\n ></div>\n <div\n [ngStyle]=\"{\n display:\n config.current != undefined &&\n config.current >= config.min &&\n config.current <= config.max\n ? 'block'\n : 'none'\n }\"\n #currentRangeElement\n class=\"range-display__range__current\"\n attr.data-label=\"{{ config.current }} {{ config.unit }} 
{{ config.time | c8yDate }}\"\n title=\"{{ 'Current' | translate }}: {{ config.current }} {{ config.unit }} | {{\n config.time | c8yDate\n }}\"\n ></div>\n </div>\n <div class=\"range-display__ruler\">\n <div\n *ngFor=\"let x of [].constructor(10); let index = index; trackBy: trackByIndex\"\n attr.data-label=\"{{ rulerCalc(index) }}\"\n class=\"range-display__tick\"\n ></div>\n <div\n attr.data-label=\"{{ config.max
|
|
147
|
+
RangeDisplayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: RangeDisplayComponent, selector: "c8y-range-display", inputs: { config: "config", display: "display" }, host: { properties: { "attr.style": "this.inlineStyle" } }, viewQueries: [{ propertyName: "rangeDisplay", first: true, predicate: ["rangeDisplay"], descendants: true }, { propertyName: "currentRangeElement", first: true, predicate: ["currentRangeElement"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n [ngClass]=\"{\n 'range-display--vertical': config.orientation === 'vertical',\n 'range-display--compact': display === 'compact',\n 'range-display--inline': display === 'inline'\n }\"\n attr.data-label=\"{{ config.unit }}\"\n>\n <div\n class=\"range-display\"\n #rangeDisplay\n >\n <div class=\"range-display__range\">\n <div class=\"range-display__range__unit\">\n {{ config.unit }}\n </div>\n <div\n *ngIf=\"isYellowRangeDisplayed()\"\n class=\"range-display__range__min\"\n ></div>\n <div\n *ngIf=\"isRedRangeDisplayed()\"\n class=\"range-display__range__max\"\n ></div>\n <div\n *ngIf=\"checkTarget()\"\n class=\"range-display__range__target\"\n attr.data-label=\"{{ config.target }} {{ config.unit }}\"\n title=\"{{ 'Target' | translate }}: {{ config.target }} {{ config.unit }}\"\n ></div>\n <div\n [ngStyle]=\"{\n display:\n config.current != undefined &&\n config.current >= config.min &&\n config.current <= config.max\n ? 'block'\n : 'none'\n }\"\n #currentRangeElement\n class=\"range-display__range__current\"\n attr.data-label=\"{{ config.current }} {{ config.unit }} 
{{ config.time | c8yDate }}\"\n title=\"{{ 'Current' | translate }}: {{ config.current }} {{ config.unit }} | {{\n config.time | c8yDate\n }}\"\n ></div>\n </div>\n <div class=\"range-display__ruler\">\n <div\n *ngFor=\"let x of [].constructor(10); let index = index; trackBy: trackByIndex\"\n attr.data-label=\"{{ rulerCalc(index) }}\"\n class=\"range-display__tick\"\n ></div>\n <div\n attr.data-label=\"{{ config.max ?? 100 | number }}\"\n class=\"range-display__tick\"\n ></div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: i3.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i2.DecimalPipe, name: "number" }, { kind: "pipe", type: i4.DatePipe, name: "c8yDate" }] });
|
|
148
148
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: RangeDisplayComponent, decorators: [{
|
|
149
149
|
type: Component,
|
|
150
|
-
args: [{ selector: 'c8y-range-display', template: "<div\n [ngClass]=\"{\n 'range-display--vertical': config.orientation === 'vertical',\n 'range-display--compact': display === 'compact',\n 'range-display--inline': display === 'inline'\n }\"\n attr.data-label=\"{{ config.unit }}\"\n>\n <div\n class=\"range-display\"\n #rangeDisplay\n >\n <div class=\"range-display__range\">\n <div class=\"range-display__range__unit\">\n {{ config.unit }}\n </div>\n <div\n *ngIf=\"isYellowRangeDisplayed()\"\n class=\"range-display__range__min\"\n ></div>\n <div\n *ngIf=\"isRedRangeDisplayed()\"\n class=\"range-display__range__max\"\n ></div>\n <div\n *ngIf=\"checkTarget()\"\n class=\"range-display__range__target\"\n attr.data-label=\"{{ config.target }} {{ config.unit }}\"\n title=\"{{ 'Target' | translate }}: {{ config.target }} {{ config.unit }}\"\n ></div>\n <div\n [ngStyle]=\"{\n display:\n config.current != undefined &&\n config.current >= config.min &&\n config.current <= config.max\n ? 'block'\n : 'none'\n }\"\n #currentRangeElement\n class=\"range-display__range__current\"\n attr.data-label=\"{{ config.current }} {{ config.unit }} 
{{ config.time | c8yDate }}\"\n title=\"{{ 'Current' | translate }}: {{ config.current }} {{ config.unit }} | {{\n config.time | c8yDate\n }}\"\n ></div>\n </div>\n <div class=\"range-display__ruler\">\n <div\n *ngFor=\"let x of [].constructor(10); let index = index; trackBy: trackByIndex\"\n attr.data-label=\"{{ rulerCalc(index) }}\"\n class=\"range-display__tick\"\n ></div>\n <div\n attr.data-label=\"{{ config.max
|
|
150
|
+
args: [{ selector: 'c8y-range-display', template: "<div\n [ngClass]=\"{\n 'range-display--vertical': config.orientation === 'vertical',\n 'range-display--compact': display === 'compact',\n 'range-display--inline': display === 'inline'\n }\"\n attr.data-label=\"{{ config.unit }}\"\n>\n <div\n class=\"range-display\"\n #rangeDisplay\n >\n <div class=\"range-display__range\">\n <div class=\"range-display__range__unit\">\n {{ config.unit }}\n </div>\n <div\n *ngIf=\"isYellowRangeDisplayed()\"\n class=\"range-display__range__min\"\n ></div>\n <div\n *ngIf=\"isRedRangeDisplayed()\"\n class=\"range-display__range__max\"\n ></div>\n <div\n *ngIf=\"checkTarget()\"\n class=\"range-display__range__target\"\n attr.data-label=\"{{ config.target }} {{ config.unit }}\"\n title=\"{{ 'Target' | translate }}: {{ config.target }} {{ config.unit }}\"\n ></div>\n <div\n [ngStyle]=\"{\n display:\n config.current != undefined &&\n config.current >= config.min &&\n config.current <= config.max\n ? 'block'\n : 'none'\n }\"\n #currentRangeElement\n class=\"range-display__range__current\"\n attr.data-label=\"{{ config.current }} {{ config.unit }} 
{{ config.time | c8yDate }}\"\n title=\"{{ 'Current' | translate }}: {{ config.current }} {{ config.unit }} | {{\n config.time | c8yDate\n }}\"\n ></div>\n </div>\n <div class=\"range-display__ruler\">\n <div\n *ngFor=\"let x of [].constructor(10); let index = index; trackBy: trackByIndex\"\n attr.data-label=\"{{ rulerCalc(index) }}\"\n class=\"range-display__tick\"\n ></div>\n <div\n attr.data-label=\"{{ config.max ?? 100 | number }}\"\n class=\"range-display__tick\"\n ></div>\n </div>\n </div>\n</div>\n" }]
|
|
151
151
|
}], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; }, propDecorators: { config: [{
|
|
152
152
|
type: Input
|
|
153
153
|
}], display: [{
|
|
@@ -162,4 +162,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
162
162
|
type: ViewChild,
|
|
163
163
|
args: ['currentRangeElement', { static: false }]
|
|
164
164
|
}] } });
|
|
165
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UtZGlzcGxheS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL3JhbmdlLWRpc3BsYXkvcmFuZ2UtZGlzcGxheS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9jb3JlL3JhbmdlLWRpc3BsYXkvcmFuZ2UtZGlzcGxheS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUdMLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBT3BGLE1BQU0sT0FBTyxxQkFBcUI7SUFVaEMsSUFDSSxXQUFXO1FBQ2IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1NBQ3JCO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztTQUN2QjtRQUNELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEtBQUssU0FBUyxFQUFFO1lBQzFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFD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QUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUmFuZ2VEaXNwbGF5IH0gZnJvbSAnLi9yYW5nZS1kaXNwbGF5Lm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LXJhbmdlLWRpc3BsYXknLFxuICB0ZW1wbGF0ZVVybDogJy4vcmFuZ2UtZGlzcGxheS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUmFuZ2VEaXNwbGF5Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBjb25maWc6IFJhbmdlRGlzcGxheSA9IHt9O1xuICBASW5wdXQoKSBkaXNwbGF5OiAnZnVsbCcgfCAnY29tcGFjdCcgfCAnaW5saW5lJyA9ICdmdWxsJztcbiAgcHJpdmF0ZSBjdXJyZW50UmFuZ2VXaWR0aE9ic2VydmVyOiBSZXNpemVPYnNlcnZlcjtcbiAgcHJpdmF0ZSBjdXJyZW50UmFuZ2VXaWR0aENoYW5nZWQgPSBuZXcgU3ViamVjdDxFbGVtZW50PigpO1xuICAvLyB3aWR0aCBvZiBjdXJyZW50IHJhbmdlIGlzIGNoYW5naW5nIHdpdGhpbiAxNTBtcywgc2VlIHN0eWxlIGRlY2xhcmF0aW9uIGZvciAucmFuZ2UtZGlzcGxheV9fcmFuZ2VfX2N1cnJlbnRcbiAgcHJpdmF0ZSByZWFkb25seSBDVVJSRU5UX1JBTkdFX1dJRFRIX1RSQU5TSVRJT05fVElNRSA9IDE1MDtcbiAgcHJpdmF0ZSByZWFkb25seSBERUZBVUxUX1RPT0xUSVBfU0hJRlQgPSAnNTAlJztcbiAgcHJpdmF0ZSByZWFkb25seSBNSU5fVE9PTFRJUF9TSElGVCA9IDEwO1xuICBwcml2YXRlIHRvb2x0aXBTaGlmdCA9IHRoaXMuREVGQVVMVF9UT09MVElQX1NISUZUO1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuc3R5bGUnKVxuICBnZXQgaW5saW5lU3R5bGUoKSB7XG4gICAgdGhpcy5jb25maWcgPSB0aGlzLmNvbmZpZyB8fCB7fTtcbiAgICBpZiAoIXRoaXMuY29uZmlnLm1pbikge1xuICAgICAgdGhpcy5jb25maWcubWluID0gMDtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmNvbmZpZy5tYXgpIHtcbiAgICAgIHRoaXMuY29uZmlnLm1heCA9IDEwMDtcbiAgICB9XG4gICAgaWYgKHRoaXMuY29uZmlnLmZyYWN0aW9uU2l6ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmNvbmZpZy5jdXJyZW50ID0gcGFyc2VGbG9hdCh0aGlzLmNvbmZpZy5jdXJyZW50LnRvRml4ZWQodGhpcy5jb25maWcuZnJhY3Rpb25TaXplKSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0U3R5bGUoXG4gICAgICBgXG4gICAgICAgICAgLS1yYW5nZS1taW46ICR7dGhpcy5jb25maWcubWlufTtcbiAgICAgICAgICAtLXJhbmdlLW1heDogJHt0aGlzLmNvbmZpZy5tYXh9O1xuICAgICAgICAgIC0tcmFuZ2UtZGlzcGxheS10b29sdGlwLXRyYW5zbGF0ZTogdHJhbnNsYXRlKCR7dGhpcy50b29sdGlwU2hpZnR9LCAtNTZweCk7XG4gICAgICAgICAgLS1yYW5nZS1kaXNwbGF5LXRvb2x0aXAtYmc6IHZhcigke3RoaXMuZ2V0VG9vbHRpcEJhY2tncm91bmQoKX0pO1xuICAgICAgICAgIC0tZnVsbC1yYW5nZTogJHt0aGlzLmNvbmZpZy5tYXggLSB0aGlzLmNvbmZpZy5taW59O1xuICAgICAgICAgIC0tbWVhc3VyZW1lbnQtdGFyZ2V0OiAke1xuICAgICAgICAgICAgKCh0aGlzLmNvbmZpZy50YXJnZXQgLSB0aGlzLmNvbmZpZy5taW4pICogMTAwKSAvICh0aGlzLmNvbmZpZy5tYXggLSB0aGlzLmNvbmZpZy5taW4pXG4gICAgICAgICAgfSU7XG4gICAgICAgICAgLS1tZWFzdXJlbWVudC1jdXJyZW50OiAke1xuICAgICAgICAgICAgKCh0aGlzLmNvbmZpZy5jdXJyZW50IC0gdGhpcy5jb25maWcubWluKSAqIDEwMCkgLyAodGhpcy5jb25maWcubWF4IC0gdGhpcy5jb25maWcubWluKVxuICAgICAgICAgIH0lO1xuICAgICAgICAgIC0tcmFuZ2UteS1taW46ICR7XG4gICAgICAgICAgICAoKHRoaXMuY29uZmlnLnllbGxvd1JhbmdlTWluIC0gdGhpcy5jb25maWcubWluKSAqIDEwMCkgL1xuICAgICAgICAgICAgKHRoaXMuY29uZmlnLm1heCAtIHRoaXMuY29uZmlnLm1pbilcbiAgICAgICAgICB9JTtcbiAgICAgICAgICAtLXJhbmdlLXktbWF4OiAke1xuICAgICAgICAgICAgKCh0aGlzLmNvbmZpZy55ZWxsb3dSYW5nZU1heCAtIHRoaXMuY29uZmlnLm1pbikgLyAodGhpcy5jb25maWcubWF4IC0gdGhpcy5jb25maWcubWluKSkgKlxuICAgICAgICAgICAgMTAwXG4gICAgICAgICAgfSU7XG4gICAgICAgICAgLS1yYW5nZS1yLW1pbjogJHtcbiAgICAgICAgICAgICgodGhpcy5jb25maWcucmVkUmFuZ2VNaW4gLSB0aGlzLmNvbmZpZy5taW4pICogMTAwKSAvXG4gICAgICAgICAgICAodGhpcy5jb25maWcubWF4IC0gdGhpcy5jb25maWcubWluKVxuICAgICAgICAgIH0lO1xuICAgICAgICAgIC0tcmFuZ2Utci1tYXg6ICR7XG4gICAgICAgICAgICAoKHRoaXMuY29uZmlnLnJlZFJhbmdlTWF4IC0gdGhpcy5jb25maWcubWluKSAvICh0aGlzLmNvbmZpZy5tYXggLSB0aGlzLmNvbmZpZy5taW4pKSAqXG4gICAgICAgICAgICAxMDBcbiAgICAgICAgICB9JTtcbiAgICAgICAgYFxuICAgICk7XG4gIH1cbiAgQFZpZXdDaGlsZCgncmFuZ2VEaXNwbGF5JywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHByaXZhdGUgcmFuZ2VEaXNwbGF5OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdjdXJyZW50UmFuZ2VFbGVtZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHByaXZhdGUgY3VycmVudFJhbmdlRWxlbWVudDogRWxlbWVudFJlZjtcbiAgcHJpdmF0ZSBkZXN0cm95ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge31cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICAvLyBJdCdzIG5lY2Vzc2FyeSB0byBoYW5kbGUgdG9vbHRpcCBzaGlmdGluZyBib3RoIGluIE9uQ2hhbmdlcyBhbmQgQWZ0ZXJWaWV3SW5pdC4gSW4gY2FzZSBvZiBMaW5lYXIgZ2F1Z2Ugd2lkZ2V0LCB2aWV3IGlzXG4gICAgLy8gcmVuZGVyZWQgZmlyc3QgKHNvIGFzIGVsZW1lbnRzIG5lZWRlZCBmb3IgY2FsY3VsYXRpbmcgc2hpZnRpbmcpIGFuZCBjb25maWcgb3JpZW50YXRpb24gaXMgc2V0IGxhdGVyIG9uLlxuICAgIC8vIEluIG90aGVyIGNhc2VzIGl0J3MgcG9zc2libGUgdGhhdCBvcmllbnRhdGlvbiBpcyBkZWZpbmVkIG9uIGluaXRpYWxpemF0aW9uIG9mIGNsYXNzIGFuZCB2aWV3IGVsZW1lbnRzIGFyZSByZW5kZXJlZCBsYXRlci5cbiAgICB0aGlzLnNldHVwVG9vbHRpcFNoaWZ0aW5nSWZQb3NzaWJsZSgpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuc2V0dXBUb29sdGlwU2hpZnRpbmdJZlBvc3NpYmxlKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmN1cnJlbnRSYW5nZVdpZHRoT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveWVkJC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgY2hlY2tUYXJnZXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuY29uZmlnLnRhcmdldCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICB0aGlzLmNvbmZpZy50YXJnZXQgIT09IG51bGwgJiZcbiAgICAgIHRoaXMuY29uZmlnLnRhcmdldCA+PSB0aGlzLmNvbmZpZy5taW4gJiZcbiAgICAgIHRoaXMuY29uZmlnLnRhcmdldCA8PSB0aGlzLmNvbmZpZy5tYXhcbiAgICApO1xuICB9XG5cbiAgcnVsZXJDYWxjKGluZGV4KSB7XG4gICAgY29uc3QgbnVtOiBudW1iZXIgPSB0aGlzLmNvbmZpZy5taW4gKyAoKHRoaXMuY29uZmlnLm1heCAtIHRoaXMuY29uZmlnLm1pbikgLyAxMCkgKiBpbmRleDtcbiAgICBpZiAodGhpcy5jb25maWcuZnJhY3Rpb25TaXplICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBwYXJzZUZsb2F0KG51bS50b0ZpeGVkKHRoaXMuY29uZmlnLmZyYWN0aW9uU2l6ZSkpO1xuICAgIH1cbiAgICByZXR1cm4gcGFyc2VGbG9hdChudW0udG9GaXhlZCgyKSk7XG4gIH1cblxuICB0cmFja0J5SW5kZXgoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG5cbiAgaXNSZWRSYW5nZURpc3BsYXllZCgpIHtcbiAgICBjb25zdCB7IHJlZFJhbmdlTWluLCByZWRSYW5nZU1heCB9ID0gdGhpcy5jb25maWc7XG4gICAgcmV0dXJuIHRoaXMuaXNSYW5nZURpc3BsYXllZChyZWRSYW5nZU1pbiwgcmVkUmFuZ2VNYXgpO1xuICB9XG5cbiAgaXNZZWxsb3dSYW5nZURpc3BsYXllZCgpIHtcbiAgICBjb25zdCB7IHllbGxvd1JhbmdlTWluLCB5ZWxsb3dSYW5nZU1heCB9ID0gdGhpcy5jb25maWc7XG4gICAgcmV0dXJuIHRoaXMuaXNSYW5nZURpc3BsYXllZCh5ZWxsb3dSYW5nZU1pbiwgeWVsbG93UmFuZ2VNYXgpO1xuICB9XG5cbiAgaXNSYW5nZURpc3BsYXllZChyYW5nZU1pbiwgcmFuZ2VNYXgpIHtcbiAgICByZXR1cm4gcmFuZ2VNaW4gPT09IDAgfHwgcmFuZ2VNYXggPT09IDAgfHwgKHJhbmdlTWluICYmIHJhbmdlTWF4KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBUb29sdGlwU2hpZnRpbmcoKSB7XG4gICAgdGhpcy5jdXJyZW50UmFuZ2VXaWR0aE9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKChbdmFsXSkgPT4ge1xuICAgICAgaWYgKGdldENvbXB1dGVkU3R5bGUodmFsLnRhcmdldCwgbnVsbCkuZGlzcGxheSA9PT0gJ2Jsb2NrJykge1xuICAgICAgICB0aGlzLmN1cnJlbnRSYW5nZVdpZHRoQ2hhbmdlZC5uZXh0KHZhbC50YXJnZXQpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5jdXJyZW50UmFuZ2VXaWR0aE9ic2VydmVyLm9ic2VydmUodGhpcy5jdXJyZW50UmFuZ2VFbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgdGhpcy5jdXJyZW50UmFuZ2VXaWR0aENoYW5nZWRcbiAgICAgIC5waXBlKFxuICAgICAgICBkZWJvdW5jZVRpbWUodGhpcy5DVVJSRU5UX1JBTkdFX1dJRFRIX1RSQU5TSVRJT05fVElNRSksXG4gICAgICAgIG1hcCgocmFuZ2VFbGVtZW50OiBFbGVtZW50KSA9PiBwYXJzZUludChnZXRDb21wdXRlZFN0eWxlKHJhbmdlRWxlbWVudCwgbnVsbCkud2lkdGgpKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUocmFuZ2VFbGVtZW50V2lkdGggPT4ge1xuICAgICAgICB0aGlzLnNldFRvb2x0aXBTaGlmdFZhbHVlKHJhbmdlRWxlbWVudFdpZHRoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRUb29sdGlwU2hpZnRWYWx1ZShyYW5nZUVsZW1lbnRXaWR0aDogbnVtYmVyKSB7XG4gICAgY29uc3QgdG9vbHRpcFdpZHRoID0gcGFyc2VJbnQoXG4gICAgICBnZXRDb21wdXRlZFN0eWxlKHRoaXMuY3VycmVudFJhbmdlRWxlbWVudC5uYXRpdmVFbGVtZW50LCAnOmFmdGVyJykud2lkdGhcbiAgICApO1xuICAgIGNvbnN0IGN1cnJlbnRSYW5nZVdpZHRoID0gcmFuZ2VFbGVtZW50V2lkdGg7XG4gICAgY29uc3QgcmFuZ2VEaXNwbGF5V2lkdGggPSBwYXJzZUludChcbiAgICAgIGdldENvbXB1dGVkU3R5bGUodGhpcy5yYW5nZURpc3BsYXkubmF0aXZlRWxlbWVudCwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgnd2lkdGgnKVxuICAgICk7XG4gICAgY29uc3QgcmFuZ2VEaXNwbGF5UGFkZGluZ0xlZnQgPSBwYXJzZUludChcbiAgICAgIGdldENvbXB1dGVkU3R5bGUodGhpcy5yYW5nZURpc3BsYXkubmF0aXZlRWxlbWVudCwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgncGFkZGluZy1sZWZ0JylcbiAgICApO1xuICAgIGNvbnN0IHRvb2x0aXBPdmVyZmxvd3NMZWZ0RWRnZSA9IHRvb2x0aXBXaWR0aCAvIDIgPiByYW5nZURpc3BsYXlQYWRkaW5nTGVmdCArIGN1cnJlbnRSYW5nZVdpZHRoO1xuICAgIGNvbnN0IHRvb2x0aXBPdmVyZmxvd3NSaWdodEVkZ2UgPVxuICAgICAgdG9vbHRpcFdpZHRoIC8gMiA+IHJhbmdlRGlzcGxheVdpZHRoIC0gcmFuZ2VEaXNwbGF5UGFkZGluZ0xlZnQgLSBjdXJyZW50UmFuZ2VXaWR0aDtcbiAgICBpZiAodG9vbHRpcE92ZXJmbG93c0xlZnRFZGdlKSB7XG4gICAgICB0aGlzLnRvb2x0aXBTaGlmdCA9IGAke3Rvb2x0aXBXaWR0aCAtIHRoaXMuTUlOX1RPT0xUSVBfU0hJRlR9cHhgO1xuICAgIH0gZWxzZSBpZiAodG9vbHRpcE92ZXJmbG93c1JpZ2h0RWRnZSkge1xuICAgICAgdGhpcy50b29sdGlwU2hpZnQgPSBgJHt0aGlzLk1JTl9UT09MVElQX1NISUZUfXB4YDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50b29sdGlwU2hpZnQgPSB0aGlzLkRFRkFVTFRfVE9PTFRJUF9TSElGVDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldHVwVG9vbHRpcFNoaWZ0aW5nSWZQb3NzaWJsZSgpIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmNvbmZpZz8ub3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJyAmJlxuICAgICAgIXRoaXMuY3VycmVudFJhbmdlV2lkdGhPYnNlcnZlciAmJlxuICAgICAgdGhpcy5yYW5nZURpc3BsYXkgJiZcbiAgICAgIHRoaXMuY3VycmVudFJhbmdlRWxlbWVudFxuICAgICkge1xuICAgICAgdGhpcy5zZXR1cFRvb2x0aXBTaGlmdGluZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0VG9vbHRpcEJhY2tncm91bmQoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5jb25maWcuY3VycmVudDtcbiAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgIGNhc2UgdGhpcy5pc1ZhbHVlSW5SYW5nZShjdXJyZW50LCB0aGlzLmNvbmZpZy5yZWRSYW5nZU1pbiwgdGhpcy5jb25maWcucmVkUmFuZ2VNYXgpOlxuICAgICAgICByZXR1cm4gJy0tYzh5LXBhbGV0dGUtc3RhdHVzLWRhbmdlcic7XG4gICAgICBjYXNlIHRoaXMuaXNWYWx1ZUluUmFuZ2UoY3VycmVudCwgdGhpcy5jb25maWcueWVsbG93UmFuZ2VNaW4sIHRoaXMuY29uZmlnLnllbGxvd1JhbmdlTWF4KTpcbiAgICAgICAgcmV0dXJuICctLWM4eS1wYWxldHRlLXN0YXR1cy13YXJuaW5nJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnLS1jOHktYnJhbmQtMTAnO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNWYWx1ZUluUmFuZ2UodmFsdWU6IG51bWJlciwgbWluOiBudW1iZXIsIG1heDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIG1pbiAhPSBudWxsICYmIG1heCAhPSBudWxsICYmIHZhbHVlID49IG1pbiAmJiB2YWx1ZSA8PSBtYXg7XG4gIH1cbn1cbiIsIjxkaXZcbiAgW25nQ2xhc3NdPVwie1xuICAgICdyYW5nZS1kaXNwbGF5LS12ZXJ0aWNhbCc6IGNvbmZpZy5vcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJyxcbiAgICAncmFuZ2UtZGlzcGxheS0tY29tcGFjdCc6IGRpc3BsYXkgPT09ICdjb21wYWN0JyxcbiAgICAncmFuZ2UtZGlzcGxheS0taW5saW5lJzogZGlzcGxheSA9PT0gJ2lubGluZSdcbiAgfVwiXG4gIGF0dHIuZGF0YS1sYWJlbD1cInt7IGNvbmZpZy51bml0IH19XCJcbj5cbiAgPGRpdlxuICAgIGNsYXNzPVwicmFuZ2UtZGlzcGxheVwiXG4gICAgI3JhbmdlRGlzcGxheVxuICA+XG4gICAgPGRpdiBjbGFzcz1cInJhbmdlLWRpc3BsYXlfX3JhbmdlXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicmFuZ2UtZGlzcGxheV9fcmFuZ2VfX3VuaXRcIj5cbiAgICAgICAge3sgY29uZmlnLnVuaXQgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cImlzWWVsbG93UmFuZ2VEaXNwbGF5ZWQoKVwiXG4gICAgICAgIGNsYXNzPVwicmFuZ2UtZGlzcGxheV9fcmFuZ2VfX21pblwiXG4gICAgICA+PC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiaXNSZWRSYW5nZURpc3BsYXllZCgpXCJcbiAgICAgICAgY2xhc3M9XCJyYW5nZS1kaXNwbGF5X19yYW5nZV9fbWF4XCJcbiAgICAgID48L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJjaGVja1RhcmdldCgpXCJcbiAgICAgICAgY2xhc3M9XCJyYW5nZS1kaXNwbGF5X19yYW5nZV9fdGFyZ2V0XCJcbiAgICAgICAgYXR0ci5kYXRhLWxhYmVsPVwie3sgY29uZmlnLnRhcmdldCB9fSB7eyBjb25maWcudW5pdCB9fVwiXG4gICAgICAgIHRpdGxlPVwie3sgJ1RhcmdldCcgfCB0cmFuc2xhdGUgfX06IHt7IGNvbmZpZy50YXJnZXQgfX0ge3sgY29uZmlnLnVuaXQgfX1cIlxuICAgICAgPjwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgZGlzcGxheTpcbiAgICAgICAgICAgIGNvbmZpZy5jdXJyZW50ICE9IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgY29uZmlnLmN1cnJlbnQgPj0gY29uZmlnLm1pbiAmJlxuICAgICAgICAgICAgY29uZmlnLmN1cnJlbnQgPD0gY29uZmlnLm1heFxuICAgICAgICAgICAgICA/ICdibG9jaydcbiAgICAgICAgICAgICAgOiAnbm9uZSdcbiAgICAgICAgfVwiXG4gICAgICAgICNjdXJyZW50UmFuZ2VFbGVtZW50XG4gICAgICAgIGNsYXNzPVwicmFuZ2UtZGlzcGxheV9fcmFuZ2VfX2N1cnJlbnRcIlxuICAgICAgICBhdHRyLmRhdGEtbGFiZWw9XCJ7eyBjb25maWcuY3VycmVudCB9fSB7eyBjb25maWcudW5pdCB9fSAmI3hhO3t7IGNvbmZpZy50aW1lIHwgYzh5RGF0ZSB9fVwiXG4gICAgICAgIHRpdGxlPVwie3sgJ0N1cnJlbnQnIHwgdHJhbnNsYXRlIH19OiB7eyBjb25maWcuY3VycmVudCB9fSB7eyBjb25maWcudW5pdCB9fSB8IHt7XG4gICAgICAgICAgY29uZmlnLnRpbWUgfCBjOHlEYXRlXG4gICAgICAgIH19XCJcbiAgICAgID48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicmFuZ2UtZGlzcGxheV9fcnVsZXJcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nRm9yPVwibGV0IHggb2YgW10uY29uc3RydWN0b3IoMTApOyBsZXQgaW5kZXggPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUluZGV4XCJcbiAgICAgICAgYXR0ci5kYXRhLWxhYmVsPVwie3sgcnVsZXJDYWxjKGluZGV4KSB9fVwiXG4gICAgICAgIGNsYXNzPVwicmFuZ2UtZGlzcGxheV9fdGlja1wiXG4gICAgICA+PC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGF0dHIuZGF0YS1sYWJlbD1cInt7IGNvbmZpZy5tYXggfHwgMTAwIHwgbnVtYmVyIH19XCJcbiAgICAgICAgY2xhc3M9XCJyYW5nZS1kaXNwbGF5X190aWNrXCJcbiAgICAgID48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
165
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UtZGlzcGxheS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL3JhbmdlLWRpc3BsYXkvcmFuZ2UtZGlzcGxheS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9jb3JlL3JhbmdlLWRpc3BsYXkvcmFuZ2UtZGlzcGxheS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUdMLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBT3BGLE1BQU0sT0FBTyxxQkFBcUI7SUFVaEMsSUFDSSxXQUFXO1FBQ2IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1NBQ3JCO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsRUFBRTtZQUM3QyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7U0FDdkI7UUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRTtZQUMxQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFD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QkFHcEMsbUJBQW1CO3NCQUQxQixTQUFTO3VCQUFDLHFCQUFxQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFJhbmdlRGlzcGxheSB9IGZyb20gJy4vcmFuZ2UtZGlzcGxheS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1yYW5nZS1kaXNwbGF5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JhbmdlLWRpc3BsYXkuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFJhbmdlRGlzcGxheUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgY29uZmlnOiBSYW5nZURpc3BsYXkgPSB7fTtcbiAgQElucHV0KCkgZGlzcGxheTogJ2Z1bGwnIHwgJ2NvbXBhY3QnIHwgJ2lubGluZScgPSAnZnVsbCc7XG4gIHByaXZhdGUgY3VycmVudFJhbmdlV2lkdGhPYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXI7XG4gIHByaXZhdGUgY3VycmVudFJhbmdlV2lkdGhDaGFuZ2VkID0gbmV3IFN1YmplY3Q8RWxlbWVudD4oKTtcbiAgLy8gd2lkdGggb2YgY3VycmVudCByYW5nZSBpcyBjaGFuZ2luZyB3aXRoaW4gMTUwbXMsIHNlZSBzdHlsZSBkZWNsYXJhdGlvbiBmb3IgLnJhbmdlLWRpc3BsYXlfX3JhbmdlX19jdXJyZW50XG4gIHByaXZhdGUgcmVhZG9ubHkgQ1VSUkVOVF9SQU5HRV9XSURUSF9UUkFOU0lUSU9OX1RJTUUgPSAxNTA7XG4gIHByaXZhdGUgcmVhZG9ubHkgREVGQVVMVF9UT09MVElQX1NISUZUID0gJzUwJSc7XG4gIHByaXZhdGUgcmVhZG9ubHkgTUlOX1RPT0xUSVBfU0hJRlQgPSAxMDtcbiAgcHJpdmF0ZSB0b29sdGlwU2hpZnQgPSB0aGlzLkRFRkFVTFRfVE9PTFRJUF9TSElGVDtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnN0eWxlJylcbiAgZ2V0IGlubGluZVN0eWxlKCkge1xuICAgIHRoaXMuY29uZmlnID0gdGhpcy5jb25maWcgfHwge307XG4gICAgaWYgKCF0aGlzLmNvbmZpZy5taW4pIHtcbiAgICAgIHRoaXMuY29uZmlnLm1pbiA9IDA7XG4gICAgfVxuICAgIGlmICghdGhpcy5jb25maWcubWF4ICYmIHRoaXMuY29uZmlnLm1heCAhPT0gMCkge1xuICAgICAgdGhpcy5jb25maWcubWF4ID0gMTAwO1xuICAgIH1cbiAgICBpZiAodGhpcy5jb25maWcuZnJhY3Rpb25TaXplICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuY29uZmlnLmN1cnJlbnQgPSBwYXJzZUZsb2F0KHRoaXMuY29uZmlnLmN1cnJlbnQudG9GaXhlZCh0aGlzLmNvbmZpZy5mcmFjdGlvblNpemUpKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RTdHlsZShcbiAgICAgIGBcbiAgICAgICAgICAtLXJhbmdlLW1pbjogJHt0aGlzLmNvbmZpZy5taW59O1xuICAgICAgICAgIC0tcmFuZ2UtbWF4OiAke3RoaXMuY29uZmlnLm1heH07XG4gICAgICAgICAgLS1yYW5nZS1kaXNwbGF5LXRvb2x0aXAtdHJhbnNsYXRlOiB0cmFuc2xhdGUoJHt0aGlzLnRvb2x0aXBTaGlmdH0sIC01NnB4KTtcbiAgICAgICAgICAtLXJhbmdlLWRpc3BsYXktdG9vbHRpcC1iZzogdmFyKCR7dGhpcy5nZXRUb29sdGlwQmFja2dyb3VuZCgpfSk7XG4gICAgICAgICAgLS1mdWxsLXJhbmdlOiAke3RoaXMuY29uZmlnLm1heCAtIHRoaXMuY29uZmlnLm1pbn07XG4gICAgICAgICAgLS1tZWFzdXJlbWVudC10YXJnZXQ6ICR7XG4gICAgICAgICAgICAoKHRoaXMuY29uZmlnLnRhcmdldCAtIHRoaXMuY29uZmlnLm1pbikgKiAxMDApIC8gKHRoaXMuY29uZmlnLm1heCAtIHRoaXMuY29uZmlnLm1pbilcbiAgICAgICAgICB9JTtcbiAgICAgICAgICAtLW1lYXN1cmVtZW50LWN1cnJlbnQ6ICR7XG4gICAgICAgICAgICAoKHRoaXMuY29uZmlnLmN1cnJlbnQgLSB0aGlzLmNvbmZpZy5taW4pICogMTAwKSAvICh0aGlzLmNvbmZpZy5tYXggLSB0aGlzLmNvbmZpZy5taW4pXG4gICAgICAgICAgfSU7XG4gICAgICAgICAgLS1yYW5nZS15LW1pbjogJHtcbiAgICAgICAgICAgICgodGhpcy5jb25maWcueWVsbG93UmFuZ2VNaW4gLSB0aGlzLmNvbmZpZy5taW4pICogMTAwKSAvXG4gICAgICAgICAgICAodGhpcy5jb25maWcubWF4IC0gdGhpcy5jb25maWcubWluKVxuICAgICAgICAgIH0lO1xuICAgICAgICAgIC0tcmFuZ2UteS1tYXg6ICR7XG4gICAgICAgICAgICAoKHRoaXMuY29uZmlnLnllbGxvd1JhbmdlTWF4IC0gdGhpcy5jb25maWcubWluKSAvICh0aGlzLmNvbmZpZy5tYXggLSB0aGlzLmNvbmZpZy5taW4pKSAqXG4gICAgICAgICAgICAxMDBcbiAgICAgICAgICB9JTtcbiAgICAgICAgICAtLXJhbmdlLXItbWluOiAke1xuICAgICAgICAgICAgKCh0aGlzLmNvbmZpZy5yZWRSYW5nZU1pbiAtIHRoaXMuY29uZmlnLm1pbikgKiAxMDApIC9cbiAgICAgICAgICAgICh0aGlzLmNvbmZpZy5tYXggLSB0aGlzLmNvbmZpZy5taW4pXG4gICAgICAgICAgfSU7XG4gICAgICAgICAgLS1yYW5nZS1yLW1heDogJHtcbiAgICAgICAgICAgICgodGhpcy5jb25maWcucmVkUmFuZ2VNYXggLSB0aGlzLmNvbmZpZy5taW4pIC8gKHRoaXMuY29uZmlnLm1heCAtIHRoaXMuY29uZmlnLm1pbikpICpcbiAgICAgICAgICAgIDEwMFxuICAgICAgICAgIH0lO1xuICAgICAgICBgXG4gICAgKTtcbiAgfVxuICBAVmlld0NoaWxkKCdyYW5nZURpc3BsYXknLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgcHJpdmF0ZSByYW5nZURpc3BsYXk6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2N1cnJlbnRSYW5nZUVsZW1lbnQnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgcHJpdmF0ZSBjdXJyZW50UmFuZ2VFbGVtZW50OiBFbGVtZW50UmVmO1xuICBwcml2YXRlIGRlc3Ryb3llZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7fVxuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIC8vIEl0J3MgbmVjZXNzYXJ5IHRvIGhhbmRsZSB0b29sdGlwIHNoaWZ0aW5nIGJvdGggaW4gT25DaGFuZ2VzIGFuZCBBZnRlclZpZXdJbml0LiBJbiBjYXNlIG9mIExpbmVhciBnYXVnZSB3aWRnZXQsIHZpZXcgaXNcbiAgICAvLyByZW5kZXJlZCBmaXJzdCAoc28gYXMgZWxlbWVudHMgbmVlZGVkIGZvciBjYWxjdWxhdGluZyBzaGlmdGluZykgYW5kIGNvbmZpZyBvcmllbnRhdGlvbiBpcyBzZXQgbGF0ZXIgb24uXG4gICAgLy8gSW4gb3RoZXIgY2FzZXMgaXQncyBwb3NzaWJsZSB0aGF0IG9yaWVudGF0aW9uIGlzIGRlZmluZWQgb24gaW5pdGlhbGl6YXRpb24gb2YgY2xhc3MgYW5kIHZpZXcgZWxlbWVudHMgYXJlIHJlbmRlcmVkIGxhdGVyLlxuICAgIHRoaXMuc2V0dXBUb29sdGlwU2hpZnRpbmdJZlBvc3NpYmxlKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5zZXR1cFRvb2x0aXBTaGlmdGluZ0lmUG9zc2libGUoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuY3VycmVudFJhbmdlV2lkdGhPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuZGVzdHJveWVkJC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95ZWQkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBjaGVja1RhcmdldCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5jb25maWcudGFyZ2V0ICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIHRoaXMuY29uZmlnLnRhcmdldCAhPT0gbnVsbCAmJlxuICAgICAgdGhpcy5jb25maWcudGFyZ2V0ID49IHRoaXMuY29uZmlnLm1pbiAmJlxuICAgICAgdGhpcy5jb25maWcudGFyZ2V0IDw9IHRoaXMuY29uZmlnLm1heFxuICAgICk7XG4gIH1cblxuICBydWxlckNhbGMoaW5kZXgpIHtcbiAgICBjb25zdCBudW06IG51bWJlciA9IHRoaXMuY29uZmlnLm1pbiArICgodGhpcy5jb25maWcubWF4IC0gdGhpcy5jb25maWcubWluKSAvIDEwKSAqIGluZGV4O1xuICAgIGlmICh0aGlzLmNvbmZpZy5mcmFjdGlvblNpemUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHBhcnNlRmxvYXQobnVtLnRvRml4ZWQodGhpcy5jb25maWcuZnJhY3Rpb25TaXplKSk7XG4gICAgfVxuICAgIHJldHVybiBwYXJzZUZsb2F0KG51bS50b0ZpeGVkKDIpKTtcbiAgfVxuXG4gIHRyYWNrQnlJbmRleChpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICBpc1JlZFJhbmdlRGlzcGxheWVkKCkge1xuICAgIGNvbnN0IHsgcmVkUmFuZ2VNaW4sIHJlZFJhbmdlTWF4IH0gPSB0aGlzLmNvbmZpZztcbiAgICByZXR1cm4gdGhpcy5pc1JhbmdlRGlzcGxheWVkKHJlZFJhbmdlTWluLCByZWRSYW5nZU1heCk7XG4gIH1cblxuICBpc1llbGxvd1JhbmdlRGlzcGxheWVkKCkge1xuICAgIGNvbnN0IHsgeWVsbG93UmFuZ2VNaW4sIHllbGxvd1JhbmdlTWF4IH0gPSB0aGlzLmNvbmZpZztcbiAgICByZXR1cm4gdGhpcy5pc1JhbmdlRGlzcGxheWVkKHllbGxvd1JhbmdlTWluLCB5ZWxsb3dSYW5nZU1heCk7XG4gIH1cblxuICBpc1JhbmdlRGlzcGxheWVkKHJhbmdlTWluLCByYW5nZU1heCkge1xuICAgIHJldHVybiByYW5nZU1pbiA9PT0gMCB8fCByYW5nZU1heCA9PT0gMCB8fCAocmFuZ2VNaW4gJiYgcmFuZ2VNYXgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cFRvb2x0aXBTaGlmdGluZygpIHtcbiAgICB0aGlzLmN1cnJlbnRSYW5nZVdpZHRoT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKFt2YWxdKSA9PiB7XG4gICAgICBpZiAoZ2V0Q29tcHV0ZWRTdHlsZSh2YWwudGFyZ2V0LCBudWxsKS5kaXNwbGF5ID09PSAnYmxvY2snKSB7XG4gICAgICAgIHRoaXMuY3VycmVudFJhbmdlV2lkdGhDaGFuZ2VkLm5leHQodmFsLnRhcmdldCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmN1cnJlbnRSYW5nZVdpZHRoT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmN1cnJlbnRSYW5nZUVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG5cbiAgICB0aGlzLmN1cnJlbnRSYW5nZVdpZHRoQ2hhbmdlZFxuICAgICAgLnBpcGUoXG4gICAgICAgIGRlYm91bmNlVGltZSh0aGlzLkNVUlJFTlRfUkFOR0VfV0lEVEhfVFJBTlNJVElPTl9USU1FKSxcbiAgICAgICAgbWFwKChyYW5nZUVsZW1lbnQ6IEVsZW1lbnQpID0+IHBhcnNlSW50KGdldENvbXB1dGVkU3R5bGUocmFuZ2VFbGVtZW50LCBudWxsKS53aWR0aCkpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShyYW5nZUVsZW1lbnRXaWR0aCA9PiB7XG4gICAgICAgIHRoaXMuc2V0VG9vbHRpcFNoaWZ0VmFsdWUocmFuZ2VFbGVtZW50V2lkdGgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldFRvb2x0aXBTaGlmdFZhbHVlKHJhbmdlRWxlbWVudFdpZHRoOiBudW1iZXIpIHtcbiAgICBjb25zdCB0b29sdGlwV2lkdGggPSBwYXJzZUludChcbiAgICAgIGdldENvbXB1dGVkU3R5bGUodGhpcy5jdXJyZW50UmFuZ2VFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICc6YWZ0ZXInKS53aWR0aFxuICAgICk7XG4gICAgY29uc3QgY3VycmVudFJhbmdlV2lkdGggPSByYW5nZUVsZW1lbnRXaWR0aDtcbiAgICBjb25zdCByYW5nZURpc3BsYXlXaWR0aCA9IHBhcnNlSW50KFxuICAgICAgZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLnJhbmdlRGlzcGxheS5uYXRpdmVFbGVtZW50LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCd3aWR0aCcpXG4gICAgKTtcbiAgICBjb25zdCByYW5nZURpc3BsYXlQYWRkaW5nTGVmdCA9IHBhcnNlSW50KFxuICAgICAgZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLnJhbmdlRGlzcGxheS5uYXRpdmVFbGVtZW50LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCdwYWRkaW5nLWxlZnQnKVxuICAgICk7XG4gICAgY29uc3QgdG9vbHRpcE92ZXJmbG93c0xlZnRFZGdlID0gdG9vbHRpcFdpZHRoIC8gMiA+IHJhbmdlRGlzcGxheVBhZGRpbmdMZWZ0ICsgY3VycmVudFJhbmdlV2lkdGg7XG4gICAgY29uc3QgdG9vbHRpcE92ZXJmbG93c1JpZ2h0RWRnZSA9XG4gICAgICB0b29sdGlwV2lkdGggLyAyID4gcmFuZ2VEaXNwbGF5V2lkdGggLSByYW5nZURpc3BsYXlQYWRkaW5nTGVmdCAtIGN1cnJlbnRSYW5nZVdpZHRoO1xuICAgIGlmICh0b29sdGlwT3ZlcmZsb3dzTGVmdEVkZ2UpIHtcbiAgICAgIHRoaXMudG9vbHRpcFNoaWZ0ID0gYCR7dG9vbHRpcFdpZHRoIC0gdGhpcy5NSU5fVE9PTFRJUF9TSElGVH1weGA7XG4gICAgfSBlbHNlIGlmICh0b29sdGlwT3ZlcmZsb3dzUmlnaHRFZGdlKSB7XG4gICAgICB0aGlzLnRvb2x0aXBTaGlmdCA9IGAke3RoaXMuTUlOX1RPT0xUSVBfU0hJRlR9cHhgO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRvb2x0aXBTaGlmdCA9IHRoaXMuREVGQVVMVF9UT09MVElQX1NISUZUO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBUb29sdGlwU2hpZnRpbmdJZlBvc3NpYmxlKCkge1xuICAgIGlmIChcbiAgICAgIHRoaXMuY29uZmlnPy5vcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnICYmXG4gICAgICAhdGhpcy5jdXJyZW50UmFuZ2VXaWR0aE9ic2VydmVyICYmXG4gICAgICB0aGlzLnJhbmdlRGlzcGxheSAmJlxuICAgICAgdGhpcy5jdXJyZW50UmFuZ2VFbGVtZW50XG4gICAgKSB7XG4gICAgICB0aGlzLnNldHVwVG9vbHRpcFNoaWZ0aW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRUb29sdGlwQmFja2dyb3VuZCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLmNvbmZpZy5jdXJyZW50O1xuICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgY2FzZSB0aGlzLmlzVmFsdWVJblJhbmdlKGN1cnJlbnQsIHRoaXMuY29uZmlnLnJlZFJhbmdlTWluLCB0aGlzLmNvbmZpZy5yZWRSYW5nZU1heCk6XG4gICAgICAgIHJldHVybiAnLS1jOHktcGFsZXR0ZS1zdGF0dXMtZGFuZ2VyJztcbiAgICAgIGNhc2UgdGhpcy5pc1ZhbHVlSW5SYW5nZShjdXJyZW50LCB0aGlzLmNvbmZpZy55ZWxsb3dSYW5nZU1pbiwgdGhpcy5jb25maWcueWVsbG93UmFuZ2VNYXgpOlxuICAgICAgICByZXR1cm4gJy0tYzh5LXBhbGV0dGUtc3RhdHVzLXdhcm5pbmcnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICctLWM4eS1icmFuZC0xMCc7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc1ZhbHVlSW5SYW5nZSh2YWx1ZTogbnVtYmVyLCBtaW46IG51bWJlciwgbWF4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gbWluICE9IG51bGwgJiYgbWF4ICE9IG51bGwgJiYgdmFsdWUgPj0gbWluICYmIHZhbHVlIDw9IG1heDtcbiAgfVxufVxuIiwiPGRpdlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ3JhbmdlLWRpc3BsYXktLXZlcnRpY2FsJzogY29uZmlnLm9yaWVudGF0aW9uID09PSAndmVydGljYWwnLFxuICAgICdyYW5nZS1kaXNwbGF5LS1jb21wYWN0JzogZGlzcGxheSA9PT0gJ2NvbXBhY3QnLFxuICAgICdyYW5nZS1kaXNwbGF5LS1pbmxpbmUnOiBkaXNwbGF5ID09PSAnaW5saW5lJ1xuICB9XCJcbiAgYXR0ci5kYXRhLWxhYmVsPVwie3sgY29uZmlnLnVuaXQgfX1cIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJyYW5nZS1kaXNwbGF5XCJcbiAgICAjcmFuZ2VEaXNwbGF5XG4gID5cbiAgICA8ZGl2IGNsYXNzPVwicmFuZ2UtZGlzcGxheV9fcmFuZ2VcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyYW5nZS1kaXNwbGF5X19yYW5nZV9fdW5pdFwiPlxuICAgICAgICB7eyBjb25maWcudW5pdCB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiaXNZZWxsb3dSYW5nZURpc3BsYXllZCgpXCJcbiAgICAgICAgY2xhc3M9XCJyYW5nZS1kaXNwbGF5X19yYW5nZV9fbWluXCJcbiAgICAgID48L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJpc1JlZFJhbmdlRGlzcGxheWVkKClcIlxuICAgICAgICBjbGFzcz1cInJhbmdlLWRpc3BsYXlfX3JhbmdlX19tYXhcIlxuICAgICAgPjwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cImNoZWNrVGFyZ2V0KClcIlxuICAgICAgICBjbGFzcz1cInJhbmdlLWRpc3BsYXlfX3JhbmdlX190YXJnZXRcIlxuICAgICAgICBhdHRyLmRhdGEtbGFiZWw9XCJ7eyBjb25maWcudGFyZ2V0IH19IHt7IGNvbmZpZy51bml0IH19XCJcbiAgICAgICAgdGl0bGU9XCJ7eyAnVGFyZ2V0JyB8IHRyYW5zbGF0ZSB9fToge3sgY29uZmlnLnRhcmdldCB9fSB7eyBjb25maWcudW5pdCB9fVwiXG4gICAgICA+PC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICBkaXNwbGF5OlxuICAgICAgICAgICAgY29uZmlnLmN1cnJlbnQgIT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICBjb25maWcuY3VycmVudCA+PSBjb25maWcubWluICYmXG4gICAgICAgICAgICBjb25maWcuY3VycmVudCA8PSBjb25maWcubWF4XG4gICAgICAgICAgICAgID8gJ2Jsb2NrJ1xuICAgICAgICAgICAgICA6ICdub25lJ1xuICAgICAgICB9XCJcbiAgICAgICAgI2N1cnJlbnRSYW5nZUVsZW1lbnRcbiAgICAgICAgY2xhc3M9XCJyYW5nZS1kaXNwbGF5X19yYW5nZV9fY3VycmVudFwiXG4gICAgICAgIGF0dHIuZGF0YS1sYWJlbD1cInt7IGNvbmZpZy5jdXJyZW50IH19IHt7IGNvbmZpZy51bml0IH19ICYjeGE7e3sgY29uZmlnLnRpbWUgfCBjOHlEYXRlIH19XCJcbiAgICAgICAgdGl0bGU9XCJ7eyAnQ3VycmVudCcgfCB0cmFuc2xhdGUgfX06IHt7IGNvbmZpZy5jdXJyZW50IH19IHt7IGNvbmZpZy51bml0IH19IHwge3tcbiAgICAgICAgICBjb25maWcudGltZSB8IGM4eURhdGVcbiAgICAgICAgfX1cIlxuICAgICAgPjwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJyYW5nZS1kaXNwbGF5X19ydWxlclwiPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdGb3I9XCJsZXQgeCBvZiBbXS5jb25zdHJ1Y3RvcigxMCk7IGxldCBpbmRleCA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5SW5kZXhcIlxuICAgICAgICBhdHRyLmRhdGEtbGFiZWw9XCJ7eyBydWxlckNhbGMoaW5kZXgpIH19XCJcbiAgICAgICAgY2xhc3M9XCJyYW5nZS1kaXNwbGF5X190aWNrXCJcbiAgICAgID48L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgYXR0ci5kYXRhLWxhYmVsPVwie3sgY29uZmlnLm1heCA/PyAxMDAgfCBudW1iZXIgfX1cIlxuICAgICAgICBjbGFzcz1cInJhbmdlLWRpc3BsYXlfX3RpY2tcIlxuICAgICAgPjwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -38,6 +38,7 @@ export class UploadArchiveComponent {
|
|
|
38
38
|
try {
|
|
39
39
|
await this.ecosystemService.validateArchiveToAppCompatibility(file, this.application);
|
|
40
40
|
const isCustomMicroservice = this.ecosystemService.isCustomMicroservice(this.application);
|
|
41
|
+
const isPackage = this.ecosystemService.isPackage(this.application);
|
|
41
42
|
this.archives = isCustomMicroservice
|
|
42
43
|
? []
|
|
43
44
|
: await this.ecosystemService.listArchives(this.application.id);
|
|
@@ -46,7 +47,7 @@ export class UploadArchiveComponent {
|
|
|
46
47
|
});
|
|
47
48
|
this.uploadInProgress = true;
|
|
48
49
|
this.uploadProgress.next(0);
|
|
49
|
-
if (this.archives.length === 6 && !isCustomMicroservice) {
|
|
50
|
+
if (this.archives.length === 6 && !isCustomMicroservice && !isPackage) {
|
|
50
51
|
await this.ecosystemService.removeOldestArchive(this.application, this.archives);
|
|
51
52
|
}
|
|
52
53
|
const app = await this.ecosystemService.uploadArchiveToApp(file, this.application, this.uploadNewVersion);
|
|
@@ -81,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
81
82
|
}], refresh: [{
|
|
82
83
|
type: Output
|
|
83
84
|
}] } });
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWFyY2hpdmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vZWNvc3lzdGVtL3NoYXJlZC91cGxvYWQtYXJjaGl2ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9lY29zeXN0ZW0vc2hhcmVkL3VwbG9hZC1hcmNoaXZlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFNdkQsTUFBTSxPQUFPLHNCQUFzQjtJQWVqQyxZQUNVLGdCQUFrQyxFQUNsQyxZQUEwQjtRQUQxQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBZjNCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUV4QixzQkFBaUIsR0FBK0IsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFDakYsWUFBTyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTFELGFBQVEsR0FBeUIsRUFBRSxDQUFDO1FBS3BDLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN6QixrQkFBYSxHQUFHLEtBQUssQ0FBQztJQUtuQixDQUFDO0lBRUosSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQztJQUN4QyxDQUFDO0lBRUQsS0FBSyxDQUFDLGtCQUFrQixDQUFDLEtBQUs7UUFDNUIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDMUIsSUFBSTtnQkFDRixNQUFNLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2FBQ2hDO1lBQUMsT0FB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QTFCLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJQXBwbGljYXRpb24sIElBcHBsaWNhdGlvbkJpbmFyeSB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSwgZ2V0dGV4dCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFY29zeXN0ZW1TZXJ2aWNlIH0gZnJvbSAnLi9lY29zeXN0ZW0uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS11cGxvYWQtYXJjaGl2ZScsXG4gIHRlbXBsYXRlVXJsOiAndXBsb2FkLWFyY2hpdmUuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFVwbG9hZEFyY2hpdmVDb21wb25lbnQge1xuICBASW5wdXQoKSBhcHBsaWNhdGlvbjogSUFwcGxpY2F0aW9uO1xuICBASW5wdXQoKSB1cGxvYWROZXdWZXJzaW9uID0gZmFsc2U7XG4gIEBJbnB1dCgpIHByZVVwbG9hZENhbGxiYWNrOiAoKSA9PiBQcm9taXNlPGFueT47XG4gIEBPdXRwdXQoKSBhcHBsaWNhdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPElBcHBsaWNhdGlvbj4gPSBuZXcgRXZlbnRFbWl0dGVyPElBcHBsaWNhdGlvbj4oKTtcbiAgQE91dHB1dCgpIHJlZnJlc2g6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGFyY2hpdmVzOiBJQXBwbGljYXRpb25CaW5hcnlbXSA9IFtdO1xuICB0b0FjdGl2YXRlVmVyc2lvbklkOiBzdHJpbmc7XG4gIGxhc3Q6IElBcHBsaWNhdGlvbkJpbmFyeTtcbiAgaXNMb2FkaW5nOiBib29sZWFuO1xuICBmaWxlTGlzdDogRmlsZUxpc3Q7XG4gIHVwbG9hZEluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgY2FuUmVhY3RpdmF0ZSA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWNvc3lzdGVtU2VydmljZTogRWNvc3lzdGVtU2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlXG4gICkge31cblxuICBnZXQgdXBsb2FkUHJvZ3Jlc3MoKTogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLmVjb3N5c3RlbVNlcnZpY2UucHJvZ3Jlc3M7XG4gIH1cblxuICBhc3luYyBvbkZpbGVEcm9wcGVkRXZlbnQoZXZlbnQpIHtcbiAgICBpZiAodGhpcy5wcmVVcGxvYWRDYWxsYmFjaykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgdGhpcy5wcmVVcGxvYWRDYWxsYmFjaygpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAvLyBkbyBub3RoaW5nLCBpLmUuIHdoZW4gY29uZmlybSBtb2RhbCBjYW5jZWxzIGFuZCB0aHJvd3MgdW5kZWZpbmVkXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGV2ZW50ICYmIGV2ZW50Lmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGZpbGUgPSBldmVudFswXS5maWxlO1xuICAgICAgdGhpcy5vbkZpbGUoZmlsZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBvbkZpbGUoZmlsZTogRmlsZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmVjb3N5c3RlbVNlcnZpY2UudmFsaWRhdGVBcmNoaXZlVG9BcHBDb21wYXRpYmlsaXR5KGZpbGUsIHRoaXMuYXBwbGljYXRpb24pO1xuICAgICAgY29uc3QgaXNDdXN0b21NaWNyb3NlcnZpY2UgPSB0aGlzLmVjb3N5c3RlbVNlcnZpY2UuaXNDdXN0b21NaWNyb3NlcnZpY2UodGhpcy5hcHBsaWNhdGlvbik7XG4gICAgICBjb25zdCBpc1BhY2thZ2UgPSB0aGlzLmVjb3N5c3RlbVNlcnZpY2UuaXNQYWNrYWdlKHRoaXMuYXBwbGljYXRpb24pO1xuICAgICAgdGhpcy5hcmNoaXZlcyA9IGlzQ3VzdG9tTWljcm9zZXJ2aWNlXG4gICAgICAgID8gW11cbiAgICAgICAgOiBhd2FpdCB0aGlzLmVjb3N5c3RlbVNlcnZpY2UubGlzdEFyY2hpdmVzKHRoaXMuYXBwbGljYXRpb24uaWQpO1xuICAgICAgdGhpcy5hcmNoaXZlcy5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgIHJldHVybiAobmV3IERhdGUoYi5jcmVhdGVkKSBhcyBhbnkpIC0gKG5ldyBEYXRlKGEuY3JlYXRlZCkgYXMgYW55KTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy51cGxvYWRJblByb2dyZXNzID0gdHJ1ZTtcbiAgICAgIHRoaXMudXBsb2FkUHJvZ3Jlc3MubmV4dCgwKTtcbiAgICAgIGlmICh0aGlzLmFyY2hpdmVzLmxlbmd0aCA9PT0gNiAmJiAhaXNDdXN0b21NaWNyb3NlcnZpY2UgJiYgIWlzUGFja2FnZSkge1xuICAgICAgICBhd2FpdCB0aGlzLmVjb3N5c3RlbVNlcnZpY2UucmVtb3ZlT2xkZXN0QXJjaGl2ZSh0aGlzLmFwcGxpY2F0aW9uLCB0aGlzLmFyY2hpdmVzKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IHRoaXMuZWNvc3lzdGVtU2VydmljZS51cGxvYWRBcmNoaXZlVG9BcHAoXG4gICAgICAgIGZpbGUsXG4gICAgICAgIHRoaXMuYXBwbGljYXRpb24sXG4gICAgICAgIHRoaXMudXBsb2FkTmV3VmVyc2lvblxuICAgICAgKTtcbiAgICAgIHRoaXMuYXBwbGljYXRpb25DaGFuZ2UuZW1pdChhcHApO1xuICAgICAgdGhpcy51cGxvYWRQcm9ncmVzcy5uZXh0KDEwMCk7XG4gICAgICB0aGlzLnVwbG9hZEluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgIHRoaXMucmVmcmVzaC5lbWl0KCk7XG4gICAgICBpZiAodGhpcy51cGxvYWROZXdWZXJzaW9uKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnN1Y2Nlc3MoZ2V0dGV4dCgnQXJjaGl2ZSB1cGxvYWRlZCBhbmQgYWN0aXZhdGVkLicpKTtcbiAgICB9IGNhdGNoIChleCkge1xuICAgICAgdGhpcy51cGxvYWRJblByb2dyZXNzID0gZmFsc2U7XG4gICAgICB0aGlzLmVjb3N5c3RlbVNlcnZpY2UuYWxlcnRFcnJvcihleCk7XG4gICAgfVxuICB9XG59XG4iLCI8Yzh5LWRyb3AtYXJlYVxuICAoZHJvcHBlZCk9XCJvbkZpbGVEcm9wcGVkRXZlbnQoJGV2ZW50KVwiXG4gIFthY2NlcHRdPVwiJy56aXAnXCJcbiAgW2xvYWRpbmddPVwidXBsb2FkSW5Qcm9ncmVzc1wiXG4gIFttYXhBbGxvd2VkRmlsZXNdPVwiMVwiXG4gIFttZXNzYWdlXT1cIidVcGxvYWQgYSAqLnppcCBmaWxlJyB8IHRyYW5zbGF0ZVwiXG4gIFtwcm9ncmVzc109XCJ1cGxvYWRQcm9ncmVzcyB8IGFzeW5jXCJcbiAgW2ZvcmNlSGlkZUxpc3RdPVwidHJ1ZVwiXG4gIGNsYXNzPVwiZHJvcC1hcmVhLXNtXCJcbj5cbjwvYzh5LWRyb3AtYXJlYT5cbiJdfQ==
|
|
@@ -197,6 +197,9 @@ export class SubAssetsGridComponent {
|
|
|
197
197
|
trackByName(_index, column) {
|
|
198
198
|
return column.name;
|
|
199
199
|
}
|
|
200
|
+
onReload() {
|
|
201
|
+
this.assetNodeService.rootNode.refresh();
|
|
202
|
+
}
|
|
200
203
|
async onDataSourceModifier(dataSourceModifier) {
|
|
201
204
|
const promises = [];
|
|
202
205
|
let counters;
|
|
@@ -241,7 +244,7 @@ SubAssetsGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
|
|
|
241
244
|
provide: DATA_GRID_CONFIGURATION_CONTEXT_PROVIDER,
|
|
242
245
|
useExisting: SubAssetsGridComponent
|
|
243
246
|
}
|
|
244
|
-
], viewQueries: [{ propertyName: "dataGrid", first: true, predicate: DataGridComponent, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<c8y-data-grid\n [title]=\"title\"\n [loadingItemsLabel]=\"loadingItemsLabel\"\n [columns]=\"columns\"\n [pagination]=\"pagination\"\n [actionControls]=\"actionControls\"\n [selectable]=\"selectable\"\n [bulkActionControls]=\"bulkActionControls\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n [infiniteScroll]=\"getInfiniteScrollMode\"\n [showCounterWarning]=\"showCounterWarning\"\n [refresh]=\"refresh\"\n [showSearch]=\"showSearch\"\n [displayOptions]=\"displayOptions\"\n (itemsSelect)=\"itemsSelect.emit($event)\"\n c8yProductExperience\n [actionName]=\"PRODUCT_EXPERIENCE.EVENT\"\n>\n <c8y-ui-empty-state\n [icon]=\"'c8y-group-add'\"\n [title]=\"'No items to display.' | translate\"\n [subtitle]=\"emptyStateText | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n\n <ng-container *ngFor=\"let column of columns; trackBy: trackByName\">\n <c8y-column [name]=\"column.name\"></c8y-column>\n </ng-container>\n</c8y-data-grid>\n", dependencies: [{ kind: "component", type: i7.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.ColumnDirective, selector: "c8y-column", inputs: ["name"] }, { kind: "component", type: i7.DataGridComponent, selector: "c8y-data-grid", inputs: ["title", "loadMoreItemsLabel", "loadingItemsLabel", "showSearch", "refresh", "columns", "rows", "pagination", "infiniteScroll", "serverSideDataCallback", "selectable", "singleSelection", "selectionPrimaryKey", "displayOptions", "actionControls", "bulkActionControls", "headerActionControls", "searchText", "configureColumnsEnabled", "showCounterWarning", "activeClassName"], outputs: ["rowMouseOver", "rowMouseLeave", "rowClick", "onConfigChange", "onBeforeFilter", "onBeforeSearch", "onFilter", "itemsSelect", "onReload", "onAddCustomColumn", "onRemoveCustomColumn", "onColumnFilterReset", "onSort", "onPageSizeChange", "onColumnReordered", "onColumnVisibilityChange"] }, { kind: "directive", type: i7.ProductExperienceDirective, selector: "[c8yProductExperience]", inputs: ["actionName", "actionData", "inherit", "suppressDataOverriding"] }, { kind: "pipe", type: i7.C8yTranslatePipe, name: "translate" }] });
|
|
247
|
+
], viewQueries: [{ propertyName: "dataGrid", first: true, predicate: DataGridComponent, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<c8y-data-grid\n [title]=\"title\"\n [loadingItemsLabel]=\"loadingItemsLabel\"\n [columns]=\"columns\"\n [pagination]=\"pagination\"\n [actionControls]=\"actionControls\"\n [selectable]=\"selectable\"\n [bulkActionControls]=\"bulkActionControls\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n [infiniteScroll]=\"getInfiniteScrollMode\"\n [showCounterWarning]=\"showCounterWarning\"\n [refresh]=\"refresh\"\n [showSearch]=\"showSearch\"\n [displayOptions]=\"displayOptions\"\n (itemsSelect)=\"itemsSelect.emit($event)\"\n c8yProductExperience\n [actionName]=\"PRODUCT_EXPERIENCE.EVENT\"\n (onReload)=\"onReload()\"\n>\n <c8y-ui-empty-state\n [icon]=\"'c8y-group-add'\"\n [title]=\"'No items to display.' | translate\"\n [subtitle]=\"emptyStateText | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n\n <ng-container *ngFor=\"let column of columns; trackBy: trackByName\">\n <c8y-column [name]=\"column.name\"></c8y-column>\n </ng-container>\n</c8y-data-grid>\n", dependencies: [{ kind: "component", type: i7.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.ColumnDirective, selector: "c8y-column", inputs: ["name"] }, { kind: "component", type: i7.DataGridComponent, selector: "c8y-data-grid", inputs: ["title", "loadMoreItemsLabel", "loadingItemsLabel", "showSearch", "refresh", "columns", "rows", "pagination", "infiniteScroll", "serverSideDataCallback", "selectable", "singleSelection", "selectionPrimaryKey", "displayOptions", "actionControls", "bulkActionControls", "headerActionControls", "searchText", "configureColumnsEnabled", "showCounterWarning", "activeClassName"], outputs: ["rowMouseOver", "rowMouseLeave", "rowClick", "onConfigChange", "onBeforeFilter", "onBeforeSearch", "onFilter", "itemsSelect", "onReload", "onAddCustomColumn", "onRemoveCustomColumn", "onColumnFilterReset", "onSort", "onPageSizeChange", "onColumnReordered", "onColumnVisibilityChange"] }, { kind: "directive", type: i7.ProductExperienceDirective, selector: "[c8yProductExperience]", inputs: ["actionName", "actionData", "inherit", "suppressDataOverriding"] }, { kind: "pipe", type: i7.C8yTranslatePipe, name: "translate" }] });
|
|
245
248
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SubAssetsGridComponent, decorators: [{
|
|
246
249
|
type: Component,
|
|
247
250
|
args: [{ selector: 'c8y-sub-assets-grid', providers: [
|
|
@@ -261,7 +264,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
261
264
|
provide: DATA_GRID_CONFIGURATION_CONTEXT_PROVIDER,
|
|
262
265
|
useExisting: SubAssetsGridComponent
|
|
263
266
|
}
|
|
264
|
-
], template: "<c8y-data-grid\n [title]=\"title\"\n [loadingItemsLabel]=\"loadingItemsLabel\"\n [columns]=\"columns\"\n [pagination]=\"pagination\"\n [actionControls]=\"actionControls\"\n [selectable]=\"selectable\"\n [bulkActionControls]=\"bulkActionControls\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n [infiniteScroll]=\"getInfiniteScrollMode\"\n [showCounterWarning]=\"showCounterWarning\"\n [refresh]=\"refresh\"\n [showSearch]=\"showSearch\"\n [displayOptions]=\"displayOptions\"\n (itemsSelect)=\"itemsSelect.emit($event)\"\n c8yProductExperience\n [actionName]=\"PRODUCT_EXPERIENCE.EVENT\"\n>\n <c8y-ui-empty-state\n [icon]=\"'c8y-group-add'\"\n [title]=\"'No items to display.' | translate\"\n [subtitle]=\"emptyStateText | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n\n <ng-container *ngFor=\"let column of columns; trackBy: trackByName\">\n <c8y-column [name]=\"column.name\"></c8y-column>\n </ng-container>\n</c8y-data-grid>\n" }]
|
|
267
|
+
], template: "<c8y-data-grid\n [title]=\"title\"\n [loadingItemsLabel]=\"loadingItemsLabel\"\n [columns]=\"columns\"\n [pagination]=\"pagination\"\n [actionControls]=\"actionControls\"\n [selectable]=\"selectable\"\n [bulkActionControls]=\"bulkActionControls\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n [infiniteScroll]=\"getInfiniteScrollMode\"\n [showCounterWarning]=\"showCounterWarning\"\n [refresh]=\"refresh\"\n [showSearch]=\"showSearch\"\n [displayOptions]=\"displayOptions\"\n (itemsSelect)=\"itemsSelect.emit($event)\"\n c8yProductExperience\n [actionName]=\"PRODUCT_EXPERIENCE.EVENT\"\n (onReload)=\"onReload()\"\n>\n <c8y-ui-empty-state\n [icon]=\"'c8y-group-add'\"\n [title]=\"'No items to display.' | translate\"\n [subtitle]=\"emptyStateText | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n\n <ng-container *ngFor=\"let column of columns; trackBy: trackByName\">\n <c8y-column [name]=\"column.name\"></c8y-column>\n </ng-container>\n</c8y-data-grid>\n" }]
|
|
265
268
|
}], ctorParameters: function () { return [{ type: i1.SubAssetsService }, { type: i2.BsModalService }, { type: i3.SmartGroupsService }, { type: i4.DeviceListExtensionService }, { type: i5.AssetNodeService }, { type: i6.ReplaceDeviceService }]; }, propDecorators: { parentGroup: [{
|
|
266
269
|
type: Input,
|
|
267
270
|
args: ['parent-group']
|
|
@@ -305,4 +308,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
305
308
|
type: Input,
|
|
306
309
|
args: ['displayOptions']
|
|
307
310
|
}] } });
|
|
308
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLWFzc2V0cy1ncmlkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3N1Yi1hc3NldHMvc3ViLWFzc2V0cy1ncmlkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3N1Yi1hc3NldHMvc3ViLWFzc2V0cy1ncmlkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBa0Isa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakUsT0FBTyxFQUtMLGlCQUFpQixFQUVqQix3Q0FBd0MsRUFDeEMsZ0NBQWdDLEVBRWhDLE9BQU8sRUFNUCxvQ0FBb0MsRUFDckMsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3hHLE9BQU8sRUFFTCxrQ0FBa0MsRUFDbkMsTUFBTSxrREFBa0QsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0JBQWdC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bnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJTWFuYWdlZE9iamVjdCwgU21hcnRHcm91cHNTZXJ2aWNlIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHtcbiAgQWN0aW9uQ29udHJvbCxcbiAgQnVpbHRJbkFjdGlvblR5cGUsXG4gIEJ1bGtBY3Rpb25Db250cm9sLFxuICBDb2x1bW4sXG4gIERhdGFHcmlkQ29tcG9uZW50LFxuICBEYXRhU291cmNlTW9kaWZpZXIsXG4gIERBVEFfR1JJRF9DT05GSUdVUkFUSU9OX0NPTlRFWFRfUFJPVklERVIsXG4gIERBVEFfR1JJRF9DT05GSUdVUkFUSU9OX1NUUkFURUdZLFxuICBEaXNwbGF5T3B0aW9ucyxcbiAgZ2V0dGV4dCxcbiAgR3JpZENvbmZpZ0NvbnRleHRQcm92aWRlcixcbiAgUGFnaW5hdGlvbixcbiAgUm93LFxuICBTZXJ2ZXJTaWRlRGF0YUNhbGxiYWNrLFxuICBTZXJ2ZXJTaWRlRGF0YVJlc3VsdCxcbiAgVXNlclByZWZlcmVuY2VzQ29uZmlndXJhdGlvblN0cmF0ZWd5XG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgQXNzZXROb2RlU2VydmljZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvYXNzZXRzLW5hdmlnYXRvcic7XG5pbXBvcnQgeyBEZXZpY2VMaXN0RXh0ZW5zaW9uU2VydmljZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvZGV2aWNlLWxpc3QnO1xuaW1wb3J0IHsgUmVwbGFjZURldmljZVNlcnZpY2UgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL3JlcGxhY2UtZGV2aWNlJztcbmltcG9ydCB7IEJzTW9kYWxTZXJ2aWNlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5pbXBvcnQgeyBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRGVsZXRlTW9kYWxDaGVja2JveGVzIH0gZnJvbSAnLi9kZWxldGUtYXNzZXRzLW1vZGFsJztcbmltcG9ydCB7IERlbGV0ZUFzc2V0c01vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9kZWxldGUtYXNzZXRzLW1vZGFsL2RlbGV0ZS1hc3NldHMtbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IFBST0RVQ1RfRVhQRVJJRU5DRSB9IGZyb20gJy4vc2hhcmVkL3N1Yi1hc3NldHMubW9kZWwnO1xuaW1wb3J0IHsgU21hcnRHcm91cEdyaWRDb25maWd1cmF0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL3NtYXJ0LWdyb3VwLWdyaWQtY29uZmlndXJhdGlvbi1zdHJhdGVneS5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIFN1YkFzc2V0c0dyaWRDb25maWdDb250ZXh0LFxuICBTdWJBc3NldHNHcmlkQ29uZmlndXJhdGlvblN0cmF0ZWd5XG59IGZyb20gJy4vc3ViLWFzc2V0cy1ncmlkLWNvbmZpZ3VyYXRpb24tc3RyYXRlZ3kuc2VydmljZSc7XG5pbXBvcnQgeyBTdWJBc3NldHNTZXJ2aWNlIH0gZnJvbSAnLi9zdWItYXNzZXRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVW5hc3NpZ25Nb2RhbENvbXBvbmVudCB9IGZyb20gJy4vdW5hc3NpZ24tYXNzZXRzLW1vZGFsL3VuYXNzaWduLW1vZGFsLmNvbXBvbmVudCc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktc3ViLWFzc2V0cy1ncmlkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N1Yi1hc3NldHMtZ3JpZC5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFVzZXJQcmVmZXJlbmNlc0NvbmZpZ3VyYXRpb25TdHJhdGVneSxcbiAgICAgIHVzZUNsYXNzOiBVc2VyUHJlZmVyZW5jZXNDb25maWd1cmF0aW9uU3RyYXRlZ3lcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNtYXJ0R3JvdXBHcmlkQ29uZmlndXJhdGlvblN0cmF0ZWd5LFxuICAgICAgdXNlQ2xhc3M6IFNtYXJ0R3JvdXBHcmlkQ29uZmlndXJhdGlvblN0cmF0ZWd5XG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBEQVRBX0dSSURfQ09ORklHVVJBVElPTl9TVFJBVEVHWSxcbiAgICAgIHVzZUNsYXNzOiBTdWJBc3NldHNHcmlkQ29uZmlndXJhdGlvblN0cmF0ZWd5XG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBEQVRBX0dSSURfQ09ORklHVVJBVElPTl9DT05URVhUX1BST1ZJREVSLFxuICAgICAgdXNlRXhpc3Rpbmc6IFN1YkFzc2V0c0dyaWRDb21wb25lbnRcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU3ViQXNzZXRzR3JpZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBHcmlkQ29uZmlnQ29udGV4dFByb3ZpZGVyIHtcbiAgUFJPRFVDVF9FWFBFUklFTkNFID0gUFJPRFVDVF9FWFBFUklFTkNFO1xuICBASW5wdXQoJ3BhcmVudC1ncm91cCcpIHBhcmVudEdyb3VwOiBJTWFuYWdlZE9iamVjdDtcbiAgQElucHV0KCkgcmVmcmVzaDogRXZlbnRFbWl0dGVyPHZvaWQ+O1xuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nID0gZ2V0dGV4dCgnU3ViYXNzZXRzJyk7XG4gIEBJbnB1dCgpIGVtcHR5U3RhdGVUZXh0OiBzdHJpbmcgPSBnZXR0ZXh0KFxuICAgICdBZGQgeW91ciBmaXJzdCBncm91cCBvciBhc3NpZ24gZGV2aWNlcyB1c2luZyB0aGUgYnV0dG9ucyBvbiB0aGUgYWN0aW9uIGJhci4nXG4gICk7XG4gIEBJbnB1dCgpIGxvYWRpbmdJdGVtc0xhYmVsOiBzdHJpbmcgPSBnZXR0ZXh0KCdMb2FkaW5nIGFzc2V0c+KApicpO1xuICAvKiogVGhlIG5hbWUgb2YgdGhlIGtleSB3aGVyZSBjb2x1bW5zIGNvbmZpZ3VyYXRpb24gd2lsbCBiZSBzdG9yZWQuICovXG4gIEBJbnB1dCgpIGNvbHVtbnNDb25maWdLZXk6IHN0cmluZztcblxuICBnZXQgY29sdW1ucygpIHtcbiAgICByZXR1cm4gdGhpcy5fY29sdW1ucztcbiAgfVxuICBASW5wdXQoKSBzZXQgY29sdW1ucyh2YWx1ZTogQ29sdW1uW10pIHtcbiAgICB0aGlzLl9jb2x1bW5zID0gdmFsdWUgPz8gdGhpcy5zdWJBc3NldHNHcmlkU2VydmljZS5nZXREZWZhdWx0Q29sdW1ucygpO1xuICB9XG4gIEBJbnB1dCgncGFnaW5hdGlvbicpIHNldCBfcGFnaW5hdGlvbih2YWx1ZTogUGFnaW5hdGlvbikge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5wYWdpbmF0aW9uID0gdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucGFnaW5hdGlvbiA9IHRoaXMuc3ViQXNzZXRzR3JpZFNlcnZpY2UuZ2V0RGVmYXVsdFBhZ2luYXRpb24oKTtcbiAgICB9XG4gIH1cbiAgQElucHV0KCdhY3Rpb25Db250cm9scycpIHNldCBfYWN0aW9uQ29udHJvbHModmFsdWU6IEFjdGlvbkNvbnRyb2xbXSkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5hY3Rpb25Db250cm9scyA9IHZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmFjdGlvbkNvbnRyb2xzID0gdGhpcy5zdWJBc3NldHNHcmlkU2VydmljZS5nZXREZWZhdWx0QWN0aW9uQ29udHJvbHMoKTtcbiAgICB9XG4gIH1cbiAgQElucHV0KCkgc2VsZWN0YWJsZSA9IGZhbHNlO1xuICBASW5wdXQoKSBiYXNlUXVlcnk6IG9iamVjdCA9IHt9O1xuICBASW5wdXQoJ2J1bGtBY3Rpb25Db250cm9scycpIHNldCBfYnVsa0FjdGlvbkNvbnRyb2xzKHZhbHVlOiBCdWxrQWN0aW9uQ29udHJvbFtdKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLmJ1bGtBY3Rpb25Db250cm9scyA9IHZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmJ1bGtBY3Rpb25Db250cm9scyA9IHRoaXMuc3ViQXNzZXRzR3JpZFNlcnZpY2UuZ2V0RGVmYXVsdEJ1bGtBY3Rpb25Db250cm9scygpO1xuICAgIH1cbiAgfVxuICBASW5wdXQoKSBmaWx0ZXJhYmxlID0gdHJ1ZTtcbiAgQElucHV0KCkgc29ydGFibGUgPSB0cnVlO1xuICBAT3V0cHV0KCkgb25Db2x1bW5zQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q29sdW1uW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxDb2x1bW5bXT4oKTtcbiAgQE91dHB1dCgpIGl0ZW1zU2VsZWN0OiBFdmVudEVtaXR0ZXI8c3RyaW5nW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcblxuICBwYWdpbmF0aW9uOiBQYWdpbmF0aW9uID0gdGhpcy5zdWJBc3NldHNHcmlkU2VydmljZS5nZXREZWZhdWx0UGFnaW5hdGlvbigpO1xuICBzaG93Q291bnRlcldhcm5pbmcgPSBmYWxzZTtcbiAgYWN0aW9uQ29udHJvbHM6IEFjdGlvbkNvbnRyb2xbXTtcbiAgYnVsa0FjdGlvbkNvbnRyb2xzOiBCdWxrQWN0aW9uQ29udHJvbFtdID1cbiAgICB0aGlzLnN1YkFzc2V0c0dyaWRTZXJ2aWNlLmdldERlZmF1bHRCdWxrQWN0aW9uQ29udHJvbHMoKTtcbiAgc2VydmVyU2lkZURhdGFDYWxsYmFjazogU2VydmVyU2lkZURhdGFDYWxsYmFjaztcblxuICBAVmlld0NoaWxkKERhdGFHcmlkQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBkYXRhR3JpZDogRGF0YUdyaWRDb21wb25lbnQ7XG5cbiAgZGlzcGxheU9wdGlvbnM6IERpc3BsYXlPcHRpb25zID0ge1xuICAgIHN0cmlwZWQ6IHRydWUsXG4gICAgYm9yZGVyZWQ6IGZhbHNlLFxuICAgIGdyaWRIZWFkZXI6IHRydWUsXG4gICAgZmlsdGVyOiB0cnVlXG4gIH07XG5cbiAgc2hvd1NlYXJjaCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2NvbHVtbnM6IENvbHVtbltdO1xuICBwcml2YXRlIGRlc3Ryb3llZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGdldCBpc1Jvb3RHcm91cCgpIHtcbiAgICByZXR1cm4gIXRoaXMucGFyZW50R3JvdXA7XG4gIH1cblxuICBnZXQgZ2V0SW5maW5pdGVTY3JvbGxNb2RlKCkge1xuICAgIHJldHVybiB0aGlzLmlzUm9vdEdyb3VwICYmIHRoaXMuc3ViQXNzZXRzR3JpZFNlcnZpY2UuaXNVc2luZ0ludmVudG9yeVJvbGVzKClcbiAgICAgID8gJ2F1dG8nXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIEBJbnB1dCgnZGlzcGxheU9wdGlvbnMnKVxuICBzZXQgX2Rpc3BsYXlPcHRpb25zKGRpc3BsYXlPcHRpb25zKSB7XG4gICAgdGhpcy5kaXNwbGF5T3B0aW9ucyA9IHsgLi4udGhpcy5kaXNwbGF5T3B0aW9ucywgLi4uZGlzcGxheU9wdGlvbnMgfTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBzdWJBc3NldHNHcmlkU2VydmljZTogU3ViQXNzZXRzU2VydmljZSxcbiAgICBwcml2YXRlIGJzTW9kYWxTZXJ2aWNlOiBCc01vZGFsU2VydmljZSxcbiAgICBwcml2YXRlIHNtYXJ0R3JvdXBzU2VydmljZTogU21hcnRHcm91cHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGV2aWNlTGlzdEV4dGVuc2lvblNlcnZpY2U6IERldmljZUxpc3RFeHRlbnNpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgYXNzZXROb2RlU2VydmljZTogQXNzZXROb2RlU2VydmljZSxcbiAgICBwcml2YXRlIHJlcGxhY2VEZXZpY2VTZXJ2aWNlOiBSZXBsYWNlRGV2aWNlU2VydmljZVxuICApIHtcbiAgICB0aGlzLnNlcnZlclNpZGVEYXRhQ2FsbGJhY2sgPSB0aGlzLm9uRGF0YVNvdXJjZU1vZGlmaWVyLmJpbmQodGhpcyk7XG4gIH1cblxuICBnZXRHcmlkQ29uZmlnQ29udGV4dCgpOiBTdWJBc3NldHNHcmlkQ29uZmlnQ29udGV4dCB7XG4gICAgaWYgKCEhdGhpcy5jb2x1bW5zQ29uZmlnS2V5KSB7XG4gICAgICByZXR1cm4geyBrZXk6IHRoaXMuY29sdW1uc0NvbmZpZ0tleSwgZ3JvdXA6IHRoaXMucGFyZW50R3JvdXAgfTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBpc0R5bmFtaWNHcm91cCA9XG4gICAgICAhIXRoaXMucGFyZW50R3JvdXAgJiYgdGhpcy5hc3NldE5vZGVTZXJ2aWNlLmlzRHluYW1pY0dyb3VwKHRoaXMucGFyZW50R3JvdXApO1xuICAgIGlmICghdGhpcy5pc1Jvb3RHcm91cCkge1xuICAgICAgKGlzRHluYW1pY0dyb3VwXG4gICAgICAgID8gdGhpcy5kZXZpY2VMaXN0RXh0ZW5zaW9uU2VydmljZS5pdGVtcyRcbiAgICAgICAgOiBvZih0aGlzLnN1YkFzc2V0c0dyaWRTZXJ2aWNlLmdldERlZmF1bHRDb2x1bW5zKHRoaXMuZmlsdGVyYWJsZSwgdGhpcy5zb3J0YWJsZSkpXG4gICAgICApXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKVxuICAgICAgICAuc3Vic2NyaWJlKGNvbHVtbnMgPT4gKHRoaXMuY29sdW1ucyA9IGNvbHVtbnMpKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmZpbHRlcmFibGUgfHwgIXRoaXMuc29ydGFibGUpIHtcbiAgICAgIHRoaXMuZGlzcGxheU9wdGlvbnMuZmlsdGVyID0gdGhpcy5maWx0ZXJhYmxlO1xuICAgICAgdGhpcy5jb2x1bW5zLmZvckVhY2goY29sdW1uID0+IHtcbiAgICAgICAgY29sdW1uLmZpbHRlcmFibGUgPSB0aGlzLmZpbHRlcmFibGU7XG4gICAgICAgIGNvbHVtbi5zb3J0YWJsZSA9IHRoaXMuc29ydGFibGU7XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5zZXRBY3Rpb25Db250cm9scygpO1xuICAgIHRoaXMuc2hvd1NlYXJjaCA9IGlzRHluYW1pY0dyb3VwIHx8ICF0aGlzLnBhcmVudEdyb3VwO1xuICB9XG5cbiAgYXN5bmMgc2V0QWN0aW9uQ29udHJvbHMoKSB7XG4gICAgY29uc3QgYWN0aW9uQ29udHJvbHM6IEFjdGlvbkNvbnRyb2xbXSA9IFtdO1xuICAgIGNvbnN0IHsgZGF0YTogaXNNaWNyb3NlcnZpY2VJbnN0YWxsZWQgfSA9XG4gICAgICBhd2FpdCB0aGlzLnNtYXJ0R3JvdXBzU2VydmljZS5pc1NtYXJ0R3JvdXBzVjJNaWNyb3NlcnZpY2VJbnN0YWxsZWQoKTtcblxuICAgIGNvbnN0IHVuYXNzaWduQWN0aW9uOiBBY3Rpb25Db250cm9sID0ge1xuICAgICAgdHlwZTogJ1VOQVNTSUdOJyxcbiAgICAgIGljb246ICd1bmxpbmsnLFxuICAgICAgdGV4dDogZ2V0dGV4dCgnVW5hc3NpZ24nKSxcbiAgICAgIGNhbGxiYWNrOiAoYXNzZXQ6IFJvdykgPT4gdGhpcy5vblVuYXNzaWduQXNzZXQoYXNzZXQgYXMgSU1hbmFnZWRPYmplY3QsIHRoaXMucGFyZW50R3JvdXApLFxuICAgICAgc2hvd0lmOiAoYXNzZXQ6IFJvdykgPT5cbiAgICAgICAgdGhpcy5zdWJBc3NldHNHcmlkU2VydmljZS5pc0RldmljZShhc3NldCBhcyBJTWFuYWdlZE9iamVjdCkgJiZcbiAgICAgICAgIXRoaXMuc3ViQXNzZXRzR3JpZFNlcnZpY2UuaXNTbWFydEdyb3VwKHRoaXMucGFyZW50R3JvdXAgYXMgSU1hbmFnZWRPYmplY3QpXG4gICAgfTtcblxuICAgIGFjdGlvbkNvbnRyb2xzLnB1c2godW5hc3NpZ25BY3Rpb24pO1xuXG4gICAgY29uc3QgcmVwbGFjZURldmljZUFjdGlvbjogQWN0aW9uQ29udHJvbCA9IHtcbiAgICAgIHR5cGU6ICdyZXBsYWNlJyxcbiAgICAgIGljb246ICdyZXBsYWNlJyxcbiAgICAgIHNob3dPbkhvdmVyOiB0cnVlLFxuICAgICAgdGV4dDogZ2V0dGV4dCgnUmVwbGFjZSBkZXZpY2UnKSxcbiAgICAgIGNhbGxiYWNrOiAobW86IElNYW5hZ2VkT2JqZWN0LCByZWxvYWQpID0+IHtcbiAgICAgICAgdGhpcy5yZXBsYWNlRGV2aWNlU2VydmljZS5vcGVuRHJhd2VyKG1vLCByZWxvYWQpO1xuICAgICAgfSxcbiAgICAgIHNob3dJZjogKG1vOiBJTWFuYWdlZE9iamVjdCkgPT4gdGhpcy5yZXBsYWNlRGV2aWNlU2VydmljZS5jYW5TaG93UmVwbGFjZURldmljZShtbylcbiAgICB9O1xuXG4gICAgYWN0aW9uQ29udHJvbHMucHVzaChyZXBsYWNlRGV2aWNlQWN0aW9uKTtcblxuICAgIGNvbnN0IGRlbGV0ZUFjdGlvbjogQWN0aW9uQ29udHJvbCA9IHtcbiAgICAgIHR5cGU6IEJ1aWx0SW5BY3Rpb25UeXBlLkRlbGV0ZSxcbiAgICAgIGNhbGxiYWNrOiAoYXNzZXQ6IFJvdykgPT4gdGhpcy5vbkRlbGV0ZUFzc2V0KGFzc2V0IGFzIElNYW5hZ2VkT2JqZWN0LCB0aGlzLnBhcmVudEdyb3VwKSxcbiAgICAgIHNob3dJZjogKGFzc2V0OiBSb3cpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuc21hcnRHcm91cHNTZXJ2aWNlLmlzU21hcnRHcm91cFYyKGFzc2V0IGFzIElNYW5hZ2VkT2JqZWN0KSkge1xuICAgICAgICAgIHJldHVybiBpc01pY3Jvc2VydmljZUluc3RhbGxlZCA/IHRoaXMuc3ViQXNzZXRzR3JpZFNlcnZpY2UuY2FuRGVsZXRlU21hcnRHcm91cCgpIDogZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5zbWFydEdyb3Vwc1NlcnZpY2UuaXNTbWFydEdyb3VwKGFzc2V0IGFzIElNYW5hZ2VkT2JqZWN0KSkge1xuICAgICAgICAgIHJldHVybiB0aGlzLnN1YkFzc2V0c0dyaWRTZXJ2aWNlLmNhbkRlbGV0ZVNtYXJ0R3JvdXAoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBhY3Rpb25Db250cm9scy5wdXNoKGRlbGV0ZUFjdGlvbik7XG5cbiAgICBpZiAoIXRoaXMuYWN0aW9uQ29udHJvbHMpIHtcbiAgICAgIHRoaXMuYWN0aW9uQ29udHJvbHMgPSBhY3Rpb25Db250cm9scztcbiAgICB9XG4gIH1cblxuICBvblVuYXNzaWduQXNzZXQoYXNzZXQ6IElNYW5hZ2VkT2JqZWN0LCBwYXJlbnRSZWY6IElNYW5hZ2VkT2JqZWN0KSB7XG4gICAgY29uc3QgaW5pdGlhbFN0YXRlID0ge1xuICAgICAgYXNzZXRcbiAgICB9O1xuICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5ic01vZGFsU2VydmljZS5zaG93KFVuYXNzaWduTW9kYWxDb21wb25lbnQsIHsgaW5pdGlhbFN0YXRlIH0pO1xuXG4gICAgbW9kYWxSZWYuY29udGVudC5jbG9zZVN1YmplY3Quc3Vic2NyaWJlKGFzeW5jIChyZXN1bHQ6IGJvb2xlYW4pID0+IHtcbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5zdWJBc3NldHNHcmlkU2VydmljZS51bmFzc2lnbkFzc2V0KGFzc2V0LCBwYXJlbnRSZWYpO1xuICAgICAgICB0aGlzLnJlZnJlc2guZW1pdCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgb25EZWxldGVBc3NldChhc3NldDogSU1hbmFnZWRPYmplY3QsIHBhcmVudFJlZjogSU1hbmFnZWRPYmplY3QpIHtcbiAgICBjb25zdCBpbml0aWFsU3RhdGUgPSB7XG4gICAgICBzaG93V2l0aERldmljZVVzZXJDaGVja2JveDogdGhpcy5zdWJBc3NldHNHcmlkU2VydmljZS5zaG91bGRTaG93V2l0aERldmljZVVzZXJDaGVja2JveChhc3NldCksXG4gICAgICBhc3NldCxcbiAgICAgIHNob3dXaXRoQ2FzY2FkZUNoZWNrYm94OlxuICAgICAgICAhdGhpcy5zbWFydEdyb3Vwc1NlcnZpY2UuaXNTbWFydEdyb3VwKGFzc2V0KSAmJlxuICAgICAgICAhdGhpcy5zbWFydEdyb3Vwc1NlcnZpY2UuaXNTbWFydEdyb3VwVjIoYXNzZXQpXG4gICAgfTtcblxuICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5ic01vZGFsU2VydmljZS5zaG93KERlbGV0ZUFzc2V0c01vZGFsQ29tcG9uZW50LCB7IGluaXRpYWxTdGF0ZSB9KTtcblxuICAgIG1vZGFsUmVmLmNvbnRlbnQuY2xvc2VTdWJqZWN0LnN1YnNjcmliZShhc3luYyAocmVzdWx0OiBEZWxldGVNb2RhbENoZWNrYm94ZXMpID0+IHtcbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5zdWJBc3NldHNHcmlkU2VydmljZS5kZWxldGVBc3NldChhc3NldCwgcGFyZW50UmVmLCByZXN1bHQpO1xuICAgICAgICBpZiAocmVzdWx0LmNhc2NhZGUpIHtcbiAgICAgICAgICB0aGlzLnNob3dDb3VudGVyV2FybmluZyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZWZyZXNoLmVtaXQoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5wYXJlbnRHcm91cCAmJiAhY2hhbmdlcy5wYXJlbnRHcm91cC5maXJzdENoYW5nZSkge1xuICAgICAgdGhpcy5kYXRhR3JpZC5yZWxvYWQoKTtcbiAgICB9XG4gIH1cblxuICB0cmFja0J5TmFtZShfaW5kZXgsIGNvbHVtbjogQ29sdW1uKTogc3RyaW5nIHtcbiAgICByZXR1cm4gY29sdW1uLm5hbWU7XG4gIH1cblxuICBhc3luYyBvbkRhdGFTb3VyY2VNb2RpZmllcihcbiAgICBkYXRhU291cmNlTW9kaWZpZXI6IERhdGFTb3VyY2VNb2RpZmllclxuICApOiBQcm9taXNlPFNlcnZlclNpZGVEYXRhUmVzdWx0PiB7XG4gICAgY29uc3QgcHJvbWlzZXMgPSBbXTtcbiAgICBsZXQgY291bnRlcnM7XG5cbiAgICBwcm9taXNlcy5wdXNoKFxuICAgICAgdGhpcy5zdWJBc3NldHNHcmlkU2VydmljZS5nZXREYXRhKFxuICAgICAgICBkYXRhU291cmNlTW9kaWZpZXIuY29sdW1ucyxcbiAgICAgICAgZGF0YVNvdXJjZU1vZGlmaWVyLnBhZ2luYXRpb24sXG4gICAgICAgIHRoaXMucGFyZW50R3JvdXAsXG4gICAgICAgIHRoaXMuYmFzZVF1ZXJ5LFxuICAgICAgICBkYXRhU291cmNlTW9kaWZpZXIuc2VhcmNoVGV4dFxuICAgICAgKVxuICAgICk7XG5cbiAgICBwcm9taXNlcy5wdXNoKHRoaXMuc3ViQXNzZXRzR3JpZFNlcnZpY2UuZ2V0VG90YWwodGhpcy5wYXJlbnRHcm91cCwgdGhpcy5iYXNlUXVlcnkpKTtcbiAgICBwcm9taXNlcy5wdXNoKFxuICAgICAgdGhpcy5zdWJBc3NldHNHcmlkU2VydmljZS5nZXRDb3VudChcbiAgICAgICAgZGF0YVNvdXJjZU1vZGlmaWVyLmNvbHVtbnMsXG4gICAgICAgIGRhdGFTb3VyY2VNb2RpZmllci5wYWdpbmF0aW9uLFxuICAgICAgICB0aGlzLnBhcmVudEdyb3VwLFxuICAgICAgICB0aGlzLmJhc2VRdWVyeSxcbiAgICAgICAgZGF0YVNvdXJjZU1vZGlmaWVyLnNlYXJjaFRleHRcbiAgICAgIClcbiAgICApO1xuXG4gICAgY29uc3QgW2RhdGFSZXNwb25zZSwgc2l6ZSwgZmlsdGVyZWRTaXplXSA9IGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKTtcbiAgICBpZiAoIWNvdW50ZXJzKSB7XG4gICAgICBjb3VudGVycyA9IHtcbiAgICAgICAgc2l6ZSxcbiAgICAgICAgZmlsdGVyZWRTaXplXG4gICAgICB9O1xuICAgIH1cbiAgICB0aGlzLm9uQ29sdW1uc0NoYW5nZS5lbWl0KGRhdGFTb3VyY2VNb2RpZmllci5jb2x1bW5zKTtcblxuICAgIHJldHVybiB7XG4gICAgICByZXM6IGRhdGFSZXNwb25zZS5yZXMsXG4gICAgICBkYXRhOiBkYXRhUmVzcG9uc2UuZGF0YSxcbiAgICAgIHBhZ2luZzogZGF0YVJlc3BvbnNlLnBhZ2luZyxcbiAgICAgIC4uLmNvdW50ZXJzXG4gICAgfTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveWVkJC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95ZWQkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiIsIjxjOHktZGF0YS1ncmlkXG4gIFt0aXRsZV09XCJ0aXRsZVwiXG4gIFtsb2FkaW5nSXRlbXNMYWJlbF09XCJsb2FkaW5nSXRlbXNMYWJlbFwiXG4gIFtjb2x1bW5zXT1cImNvbHVtbnNcIlxuICBbcGFnaW5hdGlvbl09XCJwYWdpbmF0aW9uXCJcbiAgW2FjdGlvbkNvbnRyb2xzXT1cImFjdGlvbkNvbnRyb2xzXCJcbiAgW3NlbGVjdGFibGVdPVwic2VsZWN0YWJsZVwiXG4gIFtidWxrQWN0aW9uQ29udHJvbHNdPVwiYnVsa0FjdGlvbkNvbnRyb2xzXCJcbiAgW3NlcnZlclNpZGVEYXRhQ2FsbGJhY2tdPVwic2VydmVyU2lkZURhdGFDYWxsYmFja1wiXG4gIFtpbmZpbml0ZVNjcm9sbF09XCJnZXRJbmZpbml0ZVNjcm9sbE1vZGVcIlxuICBbc2hvd0NvdW50ZXJXYXJuaW5nXT1cInNob3dDb3VudGVyV2FybmluZ1wiXG4gIFtyZWZyZXNoXT1cInJlZnJlc2hcIlxuICBbc2hvd1NlYXJjaF09XCJzaG93U2VhcmNoXCJcbiAgW2Rpc3BsYXlPcHRpb25zXT1cImRpc3BsYXlPcHRpb25zXCJcbiAgKGl0ZW1zU2VsZWN0KT1cIml0ZW1zU2VsZWN0LmVtaXQoJGV2ZW50KVwiXG4gIGM4eVByb2R1Y3RFeHBlcmllbmNlXG4gIFthY3Rpb25OYW1lXT1cIlBST0RVQ1RfRVhQRVJJRU5DRS5FVkVOVFwiXG4+XG4gIDxjOHktdWktZW1wdHktc3RhdGVcbiAgICBbaWNvbl09XCInYzh5LWdyb3VwLWFkZCdcIlxuICAgIFt0aXRsZV09XCInTm8gaXRlbXMgdG8gZGlzcGxheS4nIHwgdHJhbnNsYXRlXCJcbiAgICBbc3VidGl0bGVdPVwiZW1wdHlTdGF0ZVRleHQgfCB0cmFuc2xhdGVcIlxuICAgIFtob3Jpem9udGFsXT1cInRydWVcIlxuICA+PC9jOHktdWktZW1wdHktc3RhdGU+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnM7IHRyYWNrQnk6IHRyYWNrQnlOYW1lXCI+XG4gICAgPGM4eS1jb2x1bW4gW25hbWVdPVwiY29sdW1uLm5hbWVcIj48L2M4eS1jb2x1bW4+XG4gIDwvbmctY29udGFpbmVyPlxuPC9jOHktZGF0YS1ncmlkPlxuIl19
|
|
311
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLWFzc2V0cy1ncmlkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3N1Yi1hc3NldHMvc3ViLWFzc2V0cy1ncmlkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3N1Yi1hc3NldHMvc3ViLWFzc2V0cy1ncmlkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBa0Isa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakUsT0FBTyxFQUtMLGlCQUFpQixFQUVqQix3Q0FBd0MsRUFDeEMsZ0NBQWdDLEVBRWhDLE9BQU8sRUFNUCxvQ0FBb0MsRUFDckMsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3hHLE9BQU8sRUFFTCxrQ0FBa0MsRUFDbkMsTUFBTSxrREFBa0QsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0JBQWdC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LE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBMEIxQyxlQUFlO3NCQURsQixLQUFLO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSU1hbmFnZWRPYmplY3QsIFNtYXJ0R3JvdXBzU2VydmljZSB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7XG4gIEFjdGlvbkNvbnRyb2wsXG4gIEJ1aWx0SW5BY3Rpb25UeXBlLFxuICBCdWxrQWN0aW9uQ29udHJvbCxcbiAgQ29sdW1uLFxuICBEYXRhR3JpZENvbXBvbmVudCxcbiAgRGF0YVNvdXJjZU1vZGlmaWVyLFxuICBEQVRBX0dSSURfQ09ORklHVVJBVElPTl9DT05URVhUX1BST1ZJREVSLFxuICBEQVRBX0dSSURfQ09ORklHVVJBVElPTl9TVFJBVEVHWSxcbiAgRGlzcGxheU9wdGlvbnMsXG4gIGdldHRleHQsXG4gIEdyaWRDb25maWdDb250ZXh0UHJvdmlkZXIsXG4gIFBhZ2luYXRpb24sXG4gIFJvdyxcbiAgU2VydmVyU2lkZURhdGFDYWxsYmFjayxcbiAgU2VydmVyU2lkZURhdGFSZXN1bHQsXG4gIFVzZXJQcmVmZXJlbmNlc0NvbmZpZ3VyYXRpb25TdHJhdGVneVxufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IEFzc2V0Tm9kZVNlcnZpY2UgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2Fzc2V0cy1uYXZpZ2F0b3InO1xuaW1wb3J0IHsgRGV2aWNlTGlzdEV4dGVuc2lvblNlcnZpY2UgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2RldmljZS1saXN0JztcbmltcG9ydCB7IFJlcGxhY2VEZXZpY2VTZXJ2aWNlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9yZXBsYWNlLWRldmljZSc7XG5pbXBvcnQgeyBCc01vZGFsU2VydmljZSB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuaW1wb3J0IHsgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IERlbGV0ZU1vZGFsQ2hlY2tib3hlcyB9IGZyb20gJy4vZGVsZXRlLWFzc2V0cy1tb2RhbCc7XG5pbXBvcnQgeyBEZWxldGVBc3NldHNNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vZGVsZXRlLWFzc2V0cy1tb2RhbC9kZWxldGUtYXNzZXRzLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQUk9EVUNUX0VYUEVSSUVOQ0UgfSBmcm9tICcuL3NoYXJlZC9zdWItYXNzZXRzLm1vZGVsJztcbmltcG9ydCB7IFNtYXJ0R3JvdXBHcmlkQ29uZmlndXJhdGlvblN0cmF0ZWd5IH0gZnJvbSAnLi9zbWFydC1ncm91cC1ncmlkLWNvbmZpZ3VyYXRpb24tc3RyYXRlZ3kuc2VydmljZSc7XG5pbXBvcnQge1xuICBTdWJBc3NldHNHcmlkQ29uZmlnQ29udGV4dCxcbiAgU3ViQXNzZXRzR3JpZENvbmZpZ3VyYXRpb25TdHJhdGVneVxufSBmcm9tICcuL3N1Yi1hc3NldHMtZ3JpZC1jb25maWd1cmF0aW9uLXN0cmF0ZWd5LnNlcnZpY2UnO1xuaW1wb3J0IHsgU3ViQXNzZXRzU2VydmljZSB9IGZyb20gJy4vc3ViLWFzc2V0cy5zZXJ2aWNlJztcbmltcG9ydCB7IFVuYXNzaWduTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL3VuYXNzaWduLWFzc2V0cy1tb2RhbC91bmFzc2lnbi1tb2RhbC5jb21wb25lbnQnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LXN1Yi1hc3NldHMtZ3JpZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdWItYXNzZXRzLWdyaWQuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBVc2VyUHJlZmVyZW5jZXNDb25maWd1cmF0aW9uU3RyYXRlZ3ksXG4gICAgICB1c2VDbGFzczogVXNlclByZWZlcmVuY2VzQ29uZmlndXJhdGlvblN0cmF0ZWd5XG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBTbWFydEdyb3VwR3JpZENvbmZpZ3VyYXRpb25TdHJhdGVneSxcbiAgICAgIHVzZUNsYXNzOiBTbWFydEdyb3VwR3JpZENvbmZpZ3VyYXRpb25TdHJhdGVneVxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogREFUQV9HUklEX0NPTkZJR1VSQVRJT05fU1RSQVRFR1ksXG4gICAgICB1c2VDbGFzczogU3ViQXNzZXRzR3JpZENvbmZpZ3VyYXRpb25TdHJhdGVneVxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogREFUQV9HUklEX0NPTkZJR1VSQVRJT05fQ09OVEVYVF9QUk9WSURFUixcbiAgICAgIHVzZUV4aXN0aW5nOiBTdWJBc3NldHNHcmlkQ29tcG9uZW50XG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFN1YkFzc2V0c0dyaWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgR3JpZENvbmZpZ0NvbnRleHRQcm92aWRlciB7XG4gIFBST0RVQ1RfRVhQRVJJRU5DRSA9IFBST0RVQ1RfRVhQRVJJRU5DRTtcbiAgQElucHV0KCdwYXJlbnQtZ3JvdXAnKSBwYXJlbnRHcm91cDogSU1hbmFnZWRPYmplY3Q7XG4gIEBJbnB1dCgpIHJlZnJlc2g6IEV2ZW50RW1pdHRlcjx2b2lkPjtcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZyA9IGdldHRleHQoJ1N1YmFzc2V0cycpO1xuICBASW5wdXQoKSBlbXB0eVN0YXRlVGV4dDogc3RyaW5nID0gZ2V0dGV4dChcbiAgICAnQWRkIHlvdXIgZmlyc3QgZ3JvdXAgb3IgYXNzaWduIGRldmljZXMgdXNpbmcgdGhlIGJ1dHRvbnMgb24gdGhlIGFjdGlvbiBiYXIuJ1xuICApO1xuICBASW5wdXQoKSBsb2FkaW5nSXRlbXNMYWJlbDogc3RyaW5nID0gZ2V0dGV4dCgnTG9hZGluZyBhc3NldHPigKYnKTtcbiAgLyoqIFRoZSBuYW1lIG9mIHRoZSBrZXkgd2hlcmUgY29sdW1ucyBjb25maWd1cmF0aW9uIHdpbGwgYmUgc3RvcmVkLiAqL1xuICBASW5wdXQoKSBjb2x1bW5zQ29uZmlnS2V5OiBzdHJpbmc7XG5cbiAgZ2V0IGNvbHVtbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbHVtbnM7XG4gIH1cbiAgQElucHV0KCkgc2V0IGNvbHVtbnModmFsdWU6IENvbHVtbltdKSB7XG4gICAgdGhpcy5fY29sdW1ucyA9IHZhbHVlID8/IHRoaXMuc3ViQXNzZXRzR3JpZFNlcnZpY2UuZ2V0RGVmYXVsdENvbHVtbnMoKTtcbiAgfVxuICBASW5wdXQoJ3BhZ2luYXRpb24nKSBzZXQgX3BhZ2luYXRpb24odmFsdWU6IFBhZ2luYXRpb24pIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMucGFnaW5hdGlvbiA9IHZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnBhZ2luYXRpb24gPSB0aGlzLnN1YkFzc2V0c0dyaWRTZXJ2aWNlLmdldERlZmF1bHRQYWdpbmF0aW9uKCk7XG4gICAgfVxuICB9XG4gIEBJbnB1dCgnYWN0aW9uQ29udHJvbHMnKSBzZXQgX2FjdGlvbkNvbnRyb2xzKHZhbHVlOiBBY3Rpb25Db250cm9sW10pIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuYWN0aW9uQ29udHJvbHMgPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hY3Rpb25Db250cm9scyA9IHRoaXMuc3ViQXNzZXRzR3JpZFNlcnZpY2UuZ2V0RGVmYXVsdEFjdGlvbkNvbnRyb2xzKCk7XG4gICAgfVxuICB9XG4gIEBJbnB1dCgpIHNlbGVjdGFibGUgPSBmYWxzZTtcbiAgQElucHV0KCkgYmFzZVF1ZXJ5OiBvYmplY3QgPSB7fTtcbiAgQElucHV0KCdidWxrQWN0aW9uQ29udHJvbHMnKSBzZXQgX2J1bGtBY3Rpb25Db250cm9scyh2YWx1ZTogQnVsa0FjdGlvbkNvbnRyb2xbXSkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5idWxrQWN0aW9uQ29udHJvbHMgPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5idWxrQWN0aW9uQ29udHJvbHMgPSB0aGlzLnN1YkFzc2V0c0dyaWRTZXJ2aWNlLmdldERlZmF1bHRCdWxrQWN0aW9uQ29udHJvbHMoKTtcbiAgICB9XG4gIH1cbiAgQElucHV0KCkgZmlsdGVyYWJsZSA9IHRydWU7XG4gIEBJbnB1dCgpIHNvcnRhYmxlID0gdHJ1ZTtcbiAgQE91dHB1dCgpIG9uQ29sdW1uc0NoYW5nZTogRXZlbnRFbWl0dGVyPENvbHVtbltdPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29sdW1uW10+KCk7XG4gIEBPdXRwdXQoKSBpdGVtc1NlbGVjdDogRXZlbnRFbWl0dGVyPHN0cmluZ1tdPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XG5cbiAgcGFnaW5hdGlvbjogUGFnaW5hdGlvbiA9IHRoaXMuc3ViQXNzZXRzR3JpZFNlcnZpY2UuZ2V0RGVmYXVsdFBhZ2luYXRpb24oKTtcbiAgc2hvd0NvdW50ZXJXYXJuaW5nID0gZmFsc2U7XG4gIGFjdGlvbkNvbnRyb2xzOiBBY3Rpb25Db250cm9sW107XG4gIGJ1bGtBY3Rpb25Db250cm9sczogQnVsa0FjdGlvbkNvbnRyb2xbXSA9XG4gICAgdGhpcy5zdWJBc3NldHNHcmlkU2VydmljZS5nZXREZWZhdWx0QnVsa0FjdGlvbkNvbnRyb2xzKCk7XG4gIHNlcnZlclNpZGVEYXRhQ2FsbGJhY2s6IFNlcnZlclNpZGVEYXRhQ2FsbGJhY2s7XG5cbiAgQFZpZXdDaGlsZChEYXRhR3JpZENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgZGF0YUdyaWQ6IERhdGFHcmlkQ29tcG9uZW50O1xuXG4gIGRpc3BsYXlPcHRpb25zOiBEaXNwbGF5T3B0aW9ucyA9IHtcbiAgICBzdHJpcGVkOiB0cnVlLFxuICAgIGJvcmRlcmVkOiBmYWxzZSxcbiAgICBncmlkSGVhZGVyOiB0cnVlLFxuICAgIGZpbHRlcjogdHJ1ZVxuICB9O1xuXG4gIHNob3dTZWFyY2ggPSBmYWxzZTtcblxuICBwcml2YXRlIF9jb2x1bW5zOiBDb2x1bW5bXTtcbiAgcHJpdmF0ZSBkZXN0cm95ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBnZXQgaXNSb290R3JvdXAoKSB7XG4gICAgcmV0dXJuICF0aGlzLnBhcmVudEdyb3VwO1xuICB9XG5cbiAgZ2V0IGdldEluZmluaXRlU2Nyb2xsTW9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5pc1Jvb3RHcm91cCAmJiB0aGlzLnN1YkFzc2V0c0dyaWRTZXJ2aWNlLmlzVXNpbmdJbnZlbnRvcnlSb2xlcygpXG4gICAgICA/ICdhdXRvJ1xuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBASW5wdXQoJ2Rpc3BsYXlPcHRpb25zJylcbiAgc2V0IF9kaXNwbGF5T3B0aW9ucyhkaXNwbGF5T3B0aW9ucykge1xuICAgIHRoaXMuZGlzcGxheU9wdGlvbnMgPSB7IC4uLnRoaXMuZGlzcGxheU9wdGlvbnMsIC4uLmRpc3BsYXlPcHRpb25zIH07XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgc3ViQXNzZXRzR3JpZFNlcnZpY2U6IFN1YkFzc2V0c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBic01vZGFsU2VydmljZTogQnNNb2RhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzbWFydEdyb3Vwc1NlcnZpY2U6IFNtYXJ0R3JvdXBzU2VydmljZSxcbiAgICBwcml2YXRlIGRldmljZUxpc3RFeHRlbnNpb25TZXJ2aWNlOiBEZXZpY2VMaXN0RXh0ZW5zaW9uU2VydmljZSxcbiAgICBwcml2YXRlIGFzc2V0Tm9kZVNlcnZpY2U6IEFzc2V0Tm9kZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZXBsYWNlRGV2aWNlU2VydmljZTogUmVwbGFjZURldmljZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5zZXJ2ZXJTaWRlRGF0YUNhbGxiYWNrID0gdGhpcy5vbkRhdGFTb3VyY2VNb2RpZmllci5iaW5kKHRoaXMpO1xuICB9XG5cbiAgZ2V0R3JpZENvbmZpZ0NvbnRleHQoKTogU3ViQXNzZXRzR3JpZENvbmZpZ0NvbnRleHQge1xuICAgIGlmICghIXRoaXMuY29sdW1uc0NvbmZpZ0tleSkge1xuICAgICAgcmV0dXJuIHsga2V5OiB0aGlzLmNvbHVtbnNDb25maWdLZXksIGdyb3VwOiB0aGlzLnBhcmVudEdyb3VwIH07XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc3QgaXNEeW5hbWljR3JvdXAgPVxuICAgICAgISF0aGlzLnBhcmVudEdyb3VwICYmIHRoaXMuYXNzZXROb2RlU2VydmljZS5pc0R5bmFtaWNHcm91cCh0aGlzLnBhcmVudEdyb3VwKTtcbiAgICBpZiAoIXRoaXMuaXNSb290R3JvdXApIHtcbiAgICAgIChpc0R5bmFtaWNHcm91cFxuICAgICAgICA/IHRoaXMuZGV2aWNlTGlzdEV4dGVuc2lvblNlcnZpY2UuaXRlbXMkXG4gICAgICAgIDogb2YodGhpcy5zdWJBc3NldHNHcmlkU2VydmljZS5nZXREZWZhdWx0Q29sdW1ucyh0aGlzLmZpbHRlcmFibGUsIHRoaXMuc29ydGFibGUpKVxuICAgICAgKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSlcbiAgICAgICAgLnN1YnNjcmliZShjb2x1bW5zID0+ICh0aGlzLmNvbHVtbnMgPSBjb2x1bW5zKSk7XG4gICAgfVxuICAgIGlmICghdGhpcy5maWx0ZXJhYmxlIHx8ICF0aGlzLnNvcnRhYmxlKSB7XG4gICAgICB0aGlzLmRpc3BsYXlPcHRpb25zLmZpbHRlciA9IHRoaXMuZmlsdGVyYWJsZTtcbiAgICAgIHRoaXMuY29sdW1ucy5mb3JFYWNoKGNvbHVtbiA9PiB7XG4gICAgICAgIGNvbHVtbi5maWx0ZXJhYmxlID0gdGhpcy5maWx0ZXJhYmxlO1xuICAgICAgICBjb2x1bW4uc29ydGFibGUgPSB0aGlzLnNvcnRhYmxlO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuc2V0QWN0aW9uQ29udHJvbHMoKTtcbiAgICB0aGlzLnNob3dTZWFyY2ggPSBpc0R5bmFtaWNHcm91cCB8fCAhdGhpcy5wYXJlbnRHcm91cDtcbiAgfVxuXG4gIGFzeW5jIHNldEFjdGlvbkNvbnRyb2xzKCkge1xuICAgIGNvbnN0IGFjdGlvbkNvbnRyb2xzOiBBY3Rpb25Db250cm9sW10gPSBbXTtcbiAgICBjb25zdCB7IGRhdGE6IGlzTWljcm9zZXJ2aWNlSW5zdGFsbGVkIH0gPVxuICAgICAgYXdhaXQgdGhpcy5zbWFydEdyb3Vwc1NlcnZpY2UuaXNTbWFydEdyb3Vwc1YyTWljcm9zZXJ2aWNlSW5zdGFsbGVkKCk7XG5cbiAgICBjb25zdCB1bmFzc2lnbkFjdGlvbjogQWN0aW9uQ29udHJvbCA9IHtcbiAgICAgIHR5cGU6ICdVTkFTU0lHTicsXG4gICAgICBpY29uOiAndW5saW5rJyxcbiAgICAgIHRleHQ6IGdldHRleHQoJ1VuYXNzaWduJyksXG4gICAgICBjYWxsYmFjazogKGFzc2V0OiBSb3cpID0+IHRoaXMub25VbmFzc2lnbkFzc2V0KGFzc2V0IGFzIElNYW5hZ2VkT2JqZWN0LCB0aGlzLnBhcmVudEdyb3VwKSxcbiAgICAgIHNob3dJZjogKGFzc2V0OiBSb3cpID0+XG4gICAgICAgIHRoaXMuc3ViQXNzZXRzR3JpZFNlcnZpY2UuaXNEZXZpY2UoYXNzZXQgYXMgSU1hbmFnZWRPYmplY3QpICYmXG4gICAgICAgICF0aGlzLnN1YkFzc2V0c0dyaWRTZXJ2aWNlLmlzU21hcnRHcm91cCh0aGlzLnBhcmVudEdyb3VwIGFzIElNYW5hZ2VkT2JqZWN0KVxuICAgIH07XG5cbiAgICBhY3Rpb25Db250cm9scy5wdXNoKHVuYXNzaWduQWN0aW9uKTtcblxuICAgIGNvbnN0IHJlcGxhY2VEZXZpY2VBY3Rpb246IEFjdGlvbkNvbnRyb2wgPSB7XG4gICAgICB0eXBlOiAncmVwbGFjZScsXG4gICAgICBpY29uOiAncmVwbGFjZScsXG4gICAgICBzaG93T25Ib3ZlcjogdHJ1ZSxcbiAgICAgIHRleHQ6IGdldHRleHQoJ1JlcGxhY2UgZGV2aWNlJyksXG4gICAgICBjYWxsYmFjazogKG1vOiBJTWFuYWdlZE9iamVjdCwgcmVsb2FkKSA9PiB7XG4gICAgICAgIHRoaXMucmVwbGFjZURldmljZVNlcnZpY2Uub3BlbkRyYXdlcihtbywgcmVsb2FkKTtcbiAgICAgIH0sXG4gICAgICBzaG93SWY6IChtbzogSU1hbmFnZWRPYmplY3QpID0+IHRoaXMucmVwbGFjZURldmljZVNlcnZpY2UuY2FuU2hvd1JlcGxhY2VEZXZpY2UobW8pXG4gICAgfTtcblxuICAgIGFjdGlvbkNvbnRyb2xzLnB1c2gocmVwbGFjZURldmljZUFjdGlvbik7XG5cbiAgICBjb25zdCBkZWxldGVBY3Rpb246IEFjdGlvbkNvbnRyb2wgPSB7XG4gICAgICB0eXBlOiBCdWlsdEluQWN0aW9uVHlwZS5EZWxldGUsXG4gICAgICBjYWxsYmFjazogKGFzc2V0OiBSb3cpID0+IHRoaXMub25EZWxldGVBc3NldChhc3NldCBhcyBJTWFuYWdlZE9iamVjdCwgdGhpcy5wYXJlbnRHcm91cCksXG4gICAgICBzaG93SWY6IChhc3NldDogUm93KSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnNtYXJ0R3JvdXBzU2VydmljZS5pc1NtYXJ0R3JvdXBWMihhc3NldCBhcyBJTWFuYWdlZE9iamVjdCkpIHtcbiAgICAgICAgICByZXR1cm4gaXNNaWNyb3NlcnZpY2VJbnN0YWxsZWQgPyB0aGlzLnN1YkFzc2V0c0dyaWRTZXJ2aWNlLmNhbkRlbGV0ZVNtYXJ0R3JvdXAoKSA6IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc21hcnRHcm91cHNTZXJ2aWNlLmlzU21hcnRHcm91cChhc3NldCBhcyBJTWFuYWdlZE9iamVjdCkpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5zdWJBc3NldHNHcmlkU2VydmljZS5jYW5EZWxldGVTbWFydEdyb3VwKCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgYWN0aW9uQ29udHJvbHMucHVzaChkZWxldGVBY3Rpb24pO1xuXG4gICAgaWYgKCF0aGlzLmFjdGlvbkNvbnRyb2xzKSB7XG4gICAgICB0aGlzLmFjdGlvbkNvbnRyb2xzID0gYWN0aW9uQ29udHJvbHM7XG4gICAgfVxuICB9XG5cbiAgb25VbmFzc2lnbkFzc2V0KGFzc2V0OiBJTWFuYWdlZE9iamVjdCwgcGFyZW50UmVmOiBJTWFuYWdlZE9iamVjdCkge1xuICAgIGNvbnN0IGluaXRpYWxTdGF0ZSA9IHtcbiAgICAgIGFzc2V0XG4gICAgfTtcbiAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMuYnNNb2RhbFNlcnZpY2Uuc2hvdyhVbmFzc2lnbk1vZGFsQ29tcG9uZW50LCB7IGluaXRpYWxTdGF0ZSB9KTtcblxuICAgIG1vZGFsUmVmLmNvbnRlbnQuY2xvc2VTdWJqZWN0LnN1YnNjcmliZShhc3luYyAocmVzdWx0OiBib29sZWFuKSA9PiB7XG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIGF3YWl0IHRoaXMuc3ViQXNzZXRzR3JpZFNlcnZpY2UudW5hc3NpZ25Bc3NldChhc3NldCwgcGFyZW50UmVmKTtcbiAgICAgICAgdGhpcy5yZWZyZXNoLmVtaXQoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIG9uRGVsZXRlQXNzZXQoYXNzZXQ6IElNYW5hZ2VkT2JqZWN0LCBwYXJlbnRSZWY6IElNYW5hZ2VkT2JqZWN0KSB7XG4gICAgY29uc3QgaW5pdGlhbFN0YXRlID0ge1xuICAgICAgc2hvd1dpdGhEZXZpY2VVc2VyQ2hlY2tib3g6IHRoaXMuc3ViQXNzZXRzR3JpZFNlcnZpY2Uuc2hvdWxkU2hvd1dpdGhEZXZpY2VVc2VyQ2hlY2tib3goYXNzZXQpLFxuICAgICAgYXNzZXQsXG4gICAgICBzaG93V2l0aENhc2NhZGVDaGVja2JveDpcbiAgICAgICAgIXRoaXMuc21hcnRHcm91cHNTZXJ2aWNlLmlzU21hcnRHcm91cChhc3NldCkgJiZcbiAgICAgICAgIXRoaXMuc21hcnRHcm91cHNTZXJ2aWNlLmlzU21hcnRHcm91cFYyKGFzc2V0KVxuICAgIH07XG5cbiAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMuYnNNb2RhbFNlcnZpY2Uuc2hvdyhEZWxldGVBc3NldHNNb2RhbENvbXBvbmVudCwgeyBpbml0aWFsU3RhdGUgfSk7XG5cbiAgICBtb2RhbFJlZi5jb250ZW50LmNsb3NlU3ViamVjdC5zdWJzY3JpYmUoYXN5bmMgKHJlc3VsdDogRGVsZXRlTW9kYWxDaGVja2JveGVzKSA9PiB7XG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIGF3YWl0IHRoaXMuc3ViQXNzZXRzR3JpZFNlcnZpY2UuZGVsZXRlQXNzZXQoYXNzZXQsIHBhcmVudFJlZiwgcmVzdWx0KTtcbiAgICAgICAgaWYgKHJlc3VsdC5jYXNjYWRlKSB7XG4gICAgICAgICAgdGhpcy5zaG93Q291bnRlcldhcm5pbmcgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVmcmVzaC5lbWl0KCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMucGFyZW50R3JvdXAgJiYgIWNoYW5nZXMucGFyZW50R3JvdXAuZmlyc3RDaGFuZ2UpIHtcbiAgICAgIHRoaXMuZGF0YUdyaWQucmVsb2FkKCk7XG4gICAgfVxuICB9XG5cbiAgdHJhY2tCeU5hbWUoX2luZGV4LCBjb2x1bW46IENvbHVtbik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNvbHVtbi5uYW1lO1xuICB9XG5cbiAgb25SZWxvYWQoKSB7XG4gICAgdGhpcy5hc3NldE5vZGVTZXJ2aWNlLnJvb3ROb2RlLnJlZnJlc2goKTtcbiAgfVxuXG4gIGFzeW5jIG9uRGF0YVNvdXJjZU1vZGlmaWVyKFxuICAgIGRhdGFTb3VyY2VNb2RpZmllcjogRGF0YVNvdXJjZU1vZGlmaWVyXG4gICk6IFByb21pc2U8U2VydmVyU2lkZURhdGFSZXN1bHQ+IHtcbiAgICBjb25zdCBwcm9taXNlcyA9IFtdO1xuICAgIGxldCBjb3VudGVycztcblxuICAgIHByb21pc2VzLnB1c2goXG4gICAgICB0aGlzLnN1YkFzc2V0c0dyaWRTZXJ2aWNlLmdldERhdGEoXG4gICAgICAgIGRhdGFTb3VyY2VNb2RpZmllci5jb2x1bW5zLFxuICAgICAgICBkYXRhU291cmNlTW9kaWZpZXIucGFnaW5hdGlvbixcbiAgICAgICAgdGhpcy5wYXJlbnRHcm91cCxcbiAgICAgICAgdGhpcy5iYXNlUXVlcnksXG4gICAgICAgIGRhdGFTb3VyY2VNb2RpZmllci5zZWFyY2hUZXh0XG4gICAgICApXG4gICAgKTtcblxuICAgIHByb21pc2VzLnB1c2godGhpcy5zdWJBc3NldHNHcmlkU2VydmljZS5nZXRUb3RhbCh0aGlzLnBhcmVudEdyb3VwLCB0aGlzLmJhc2VRdWVyeSkpO1xuICAgIHByb21pc2VzLnB1c2goXG4gICAgICB0aGlzLnN1YkFzc2V0c0dyaWRTZXJ2aWNlLmdldENvdW50KFxuICAgICAgICBkYXRhU291cmNlTW9kaWZpZXIuY29sdW1ucyxcbiAgICAgICAgZGF0YVNvdXJjZU1vZGlmaWVyLnBhZ2luYXRpb24sXG4gICAgICAgIHRoaXMucGFyZW50R3JvdXAsXG4gICAgICAgIHRoaXMuYmFzZVF1ZXJ5LFxuICAgICAgICBkYXRhU291cmNlTW9kaWZpZXIuc2VhcmNoVGV4dFxuICAgICAgKVxuICAgICk7XG5cbiAgICBjb25zdCBbZGF0YVJlc3BvbnNlLCBzaXplLCBmaWx0ZXJlZFNpemVdID0gYXdhaXQgUHJvbWlzZS5hbGwocHJvbWlzZXMpO1xuICAgIGlmICghY291bnRlcnMpIHtcbiAgICAgIGNvdW50ZXJzID0ge1xuICAgICAgICBzaXplLFxuICAgICAgICBmaWx0ZXJlZFNpemVcbiAgICAgIH07XG4gICAgfVxuICAgIHRoaXMub25Db2x1bW5zQ2hhbmdlLmVtaXQoZGF0YVNvdXJjZU1vZGlmaWVyLmNvbHVtbnMpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHJlczogZGF0YVJlc3BvbnNlLnJlcyxcbiAgICAgIGRhdGE6IGRhdGFSZXNwb25zZS5kYXRhLFxuICAgICAgcGFnaW5nOiBkYXRhUmVzcG9uc2UucGFnaW5nLFxuICAgICAgLi4uY291bnRlcnNcbiAgICB9O1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95ZWQkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3llZCQuY29tcGxldGUoKTtcbiAgfVxufVxuIiwiPGM4eS1kYXRhLWdyaWRcbiAgW3RpdGxlXT1cInRpdGxlXCJcbiAgW2xvYWRpbmdJdGVtc0xhYmVsXT1cImxvYWRpbmdJdGVtc0xhYmVsXCJcbiAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXG4gIFtwYWdpbmF0aW9uXT1cInBhZ2luYXRpb25cIlxuICBbYWN0aW9uQ29udHJvbHNdPVwiYWN0aW9uQ29udHJvbHNcIlxuICBbc2VsZWN0YWJsZV09XCJzZWxlY3RhYmxlXCJcbiAgW2J1bGtBY3Rpb25Db250cm9sc109XCJidWxrQWN0aW9uQ29udHJvbHNcIlxuICBbc2VydmVyU2lkZURhdGFDYWxsYmFja109XCJzZXJ2ZXJTaWRlRGF0YUNhbGxiYWNrXCJcbiAgW2luZmluaXRlU2Nyb2xsXT1cImdldEluZmluaXRlU2Nyb2xsTW9kZVwiXG4gIFtzaG93Q291bnRlcldhcm5pbmddPVwic2hvd0NvdW50ZXJXYXJuaW5nXCJcbiAgW3JlZnJlc2hdPVwicmVmcmVzaFwiXG4gIFtzaG93U2VhcmNoXT1cInNob3dTZWFyY2hcIlxuICBbZGlzcGxheU9wdGlvbnNdPVwiZGlzcGxheU9wdGlvbnNcIlxuICAoaXRlbXNTZWxlY3QpPVwiaXRlbXNTZWxlY3QuZW1pdCgkZXZlbnQpXCJcbiAgYzh5UHJvZHVjdEV4cGVyaWVuY2VcbiAgW2FjdGlvbk5hbWVdPVwiUFJPRFVDVF9FWFBFUklFTkNFLkVWRU5UXCJcbiAgKG9uUmVsb2FkKT1cIm9uUmVsb2FkKClcIlxuPlxuICA8Yzh5LXVpLWVtcHR5LXN0YXRlXG4gICAgW2ljb25dPVwiJ2M4eS1ncm91cC1hZGQnXCJcbiAgICBbdGl0bGVdPVwiJ05vIGl0ZW1zIHRvIGRpc3BsYXkuJyB8IHRyYW5zbGF0ZVwiXG4gICAgW3N1YnRpdGxlXT1cImVtcHR5U3RhdGVUZXh0IHwgdHJhbnNsYXRlXCJcbiAgICBbaG9yaXpvbnRhbF09XCJ0cnVlXCJcbiAgPjwvYzh5LXVpLWVtcHR5LXN0YXRlPlxuXG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zOyB0cmFja0J5OiB0cmFja0J5TmFtZVwiPlxuICAgIDxjOHktY29sdW1uIFtuYW1lXT1cImNvbHVtbi5uYW1lXCI+PC9jOHktY29sdW1uPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvYzh5LWRhdGEtZ3JpZD5cbiJdfQ==
|
|
@@ -1835,6 +1835,7 @@ class UploadArchiveComponent {
|
|
|
1835
1835
|
try {
|
|
1836
1836
|
yield this.ecosystemService.validateArchiveToAppCompatibility(file, this.application);
|
|
1837
1837
|
const isCustomMicroservice = this.ecosystemService.isCustomMicroservice(this.application);
|
|
1838
|
+
const isPackage = this.ecosystemService.isPackage(this.application);
|
|
1838
1839
|
this.archives = isCustomMicroservice
|
|
1839
1840
|
? []
|
|
1840
1841
|
: yield this.ecosystemService.listArchives(this.application.id);
|
|
@@ -1843,7 +1844,7 @@ class UploadArchiveComponent {
|
|
|
1843
1844
|
});
|
|
1844
1845
|
this.uploadInProgress = true;
|
|
1845
1846
|
this.uploadProgress.next(0);
|
|
1846
|
-
if (this.archives.length === 6 && !isCustomMicroservice) {
|
|
1847
|
+
if (this.archives.length === 6 && !isCustomMicroservice && !isPackage) {
|
|
1847
1848
|
yield this.ecosystemService.removeOldestArchive(this.application, this.archives);
|
|
1848
1849
|
}
|
|
1849
1850
|
const app = yield this.ecosystemService.uploadArchiveToApp(file, this.application, this.uploadNewVersion);
|