@tuki-io/tuki-widgets 0.0.165 → 0.0.167
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/contact-center/cc-readiness/cc-readiness.module.mjs +1 -1
- package/esm2020/contact-center/cc-readiness/cc-readiness.service.mjs +1 -1
- package/esm2020/contact-center/cc-readiness/widgets/licences-requirement/licences-requirement.component.mjs +3 -3
- package/esm2020/di2mt/shared/services/api.service.mjs +2 -2
- package/esm2020/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.mjs +3 -3
- package/esm2020/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.mjs +2 -2
- package/esm2020/di2mt/widgets/upgrade-overview/cards/pending-activation-users/pending-activation-users.component.mjs +17 -17
- package/esm2020/user-creation/src/app.constants.mjs +1 -1
- package/esm2020/user-creation/src/classes/site.mjs +1 -1
- package/esm2020/user-creation/src/shared/api/api.service.mjs +2 -2
- package/esm2020/user-creation/src/shared/services/user-creation-api.service.mjs +1 -1
- package/esm2020/user-creation/src/shared/services/utils.mjs +1 -1
- package/esm2020/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.component.mjs +3 -3
- package/esm2020/user-device-manage/src/app.constants.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/deviceProfile.mjs +1 -1
- package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.mjs +3 -3
- package/esm2020/user-device-manage/src/device-info/device-info.component.mjs +3 -3
- package/esm2020/user-device-manage/src/device-manage-widget.component.mjs +2 -2
- package/esm2020/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +3 -3
- package/esm2020/user-device-manage/src/pipes/mac-address.pipe.mjs +1 -1
- package/esm2020/user-device-manage/src/services/api.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/dns.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/line.service.mjs +2 -2
- package/esm2020/user-device-manage/src/services/user.service.mjs +1 -1
- package/esm2020/user-device-manage/src/shared/tk-page-section/page-section.component.mjs +1 -1
- package/esm2020/user-device-manage/src/utils/app-loader/app-loader.mjs +3 -3
- package/esm2020/user-manage/src/app.constants.mjs +1 -1
- package/esm2020/user-manage/src/classes/line-association-interface.mjs +1 -1
- package/esm2020/user-manage/src/classes/line-directory.mjs +1 -1
- package/esm2020/user-manage/src/classes/line.mjs +1 -1
- package/esm2020/user-manage/src/classes/pagination.mjs +1 -1
- package/esm2020/user-manage/src/classes/simplified-user.mjs +1 -1
- package/esm2020/user-manage/src/device-list/device-list.component.mjs +3 -3
- package/esm2020/user-manage/src/device-list/device-row/device-row.component.mjs +3 -3
- package/esm2020/user-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +3 -3
- package/esm2020/user-manage/src/services/api.service.mjs +1 -1
- package/esm2020/user-manage/src/services/user.service.mjs +1 -1
- package/esm2020/user-manage/src/user-info/user-info.component.mjs +3 -3
- package/esm2020/user-manage/src/user-manage.module.mjs +1 -1
- package/esm2020/user-manage/src/utils/app-loader/app-loader.mjs +3 -3
- package/esm2020/users-list/src/app.constants.mjs +1 -1
- package/esm2020/users-list/src/classes/move-user.mjs +1 -1
- package/esm2020/users-list/src/services/dns.service.mjs +1 -1
- package/esm2020/users-list/src/services/user.service.mjs +1 -1
- package/esm2020/users-list/src/utils/app-loader/app-loader.mjs +3 -3
- package/fesm2015/tuki-io-tuki-widgets-contact-center.mjs +2 -2
- package/fesm2015/tuki-io-tuki-widgets-contact-center.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs +21 -21
- package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs +3 -3
- package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs +10 -10
- package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs +10 -10
- package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +2 -2
- package/fesm2015/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-contact-center.mjs +2 -2
- package/fesm2020/tuki-io-tuki-widgets-contact-center.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs +21 -21
- package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs +3 -3
- package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs +10 -10
- package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs +10 -10
- package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +2 -2
- package/fesm2020/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
- package/package.json +1 -1
- package/user-device-manage/src/services/line.service.d.ts +1 -1
|
@@ -56,10 +56,10 @@ export class DeviceAssociatedLineExtensionComponent {
|
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
DeviceAssociatedLineExtensionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DeviceAssociatedLineExtensionComponent, deps: [{ token: i1.UserService }, { token: i2.DnsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
59
|
-
DeviceAssociatedLineExtensionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DeviceAssociatedLineExtensionComponent, selector: "app-device-associated-line-extension", inputs: { control: "control", routePartition: "routePartition", directoryNumber: "directoryNumber", siteId: "siteId" }, outputs: { onChange: "onChange" }, ngImport: i0, template: "<!-- <div *ngIf=\"this.availableNumbers?.length\" class=\"user-calling-extension\">\n <mat-select [formControl]=\"control\" (selectionChange)=\"this.onChangeField($event)\" [compareWith]=\"compareFn\" #page>\n <mat-option *ngFor=\"let option of this.availableNumbers; let i = index;\"[value]=\"option\">{{option}}</mat-option>\n </mat-select>\n <mat-spinner *ngIf=\"this.dataPending\" [diameter]=\"50\"></mat-spinner>\n</div> -->\n\n<div *ngIf=\"this.availableNumbers?.length\" class=\"user-calling-extension\">\n <mat-form-field appearance=\"outline\">\n <input\n [matAutocomplete]=\"auto\"\n matInput\n (input)=\"filterAvailableNumbers($event)\"\n [formControl]=\"control\">\n <mat-autocomplete\n #auto=\"matAutocomplete\" [panelWidth]=\"'auto'\"\n (optionSelected)=\"this.onChangeField($event)\">\n <mat-option *ngFor=\"let option of this.filteredAvailableNumbers; let i = index;\" [value]=\"option\" >\n {{option}}\n </mat-option>\n </mat-autocomplete>\n <mat-spinner *ngIf=\"this.dataPending\" [diameter]=\"50\"></mat-spinner>\n </mat-form-field>\n</div>", styles: ["table{border-collapse:collapse;border-spacing:0}.user-calling-extension mat-form-field{width:100px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i8.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i8.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i9.MatOption, selector: "mat-option", exportAs: ["matOption"] }] });
|
|
59
|
+
DeviceAssociatedLineExtensionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DeviceAssociatedLineExtensionComponent, selector: "app-device-associated-line-extension", inputs: { control: "control", routePartition: "routePartition", directoryNumber: "directoryNumber", siteId: "siteId" }, outputs: { onChange: "onChange" }, ngImport: i0, template: "<!-- <div *ngIf=\"this.availableNumbers?.length\" class=\"user-calling-extension\">\r\n <mat-select [formControl]=\"control\" (selectionChange)=\"this.onChangeField($event)\" [compareWith]=\"compareFn\" #page>\r\n <mat-option *ngFor=\"let option of this.availableNumbers; let i = index;\"[value]=\"option\">{{option}}</mat-option>\r\n </mat-select>\r\n <mat-spinner *ngIf=\"this.dataPending\" [diameter]=\"50\"></mat-spinner>\r\n</div> -->\r\n\r\n<div *ngIf=\"this.availableNumbers?.length\" class=\"user-calling-extension\">\r\n <mat-form-field appearance=\"outline\">\r\n <input\r\n [matAutocomplete]=\"auto\"\r\n matInput\r\n (input)=\"filterAvailableNumbers($event)\"\r\n [formControl]=\"control\">\r\n <mat-autocomplete\r\n #auto=\"matAutocomplete\" [panelWidth]=\"'auto'\"\r\n (optionSelected)=\"this.onChangeField($event)\">\r\n <mat-option *ngFor=\"let option of this.filteredAvailableNumbers; let i = index;\" [value]=\"option\" >\r\n {{option}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n <mat-spinner *ngIf=\"this.dataPending\" [diameter]=\"50\"></mat-spinner>\r\n </mat-form-field>\r\n</div>", styles: ["table{border-collapse:collapse;border-spacing:0}.user-calling-extension mat-form-field{width:100px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i8.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i8.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i9.MatOption, selector: "mat-option", exportAs: ["matOption"] }] });
|
|
60
60
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DeviceAssociatedLineExtensionComponent, decorators: [{
|
|
61
61
|
type: Component,
|
|
62
|
-
args: [{ selector: 'app-device-associated-line-extension', template: "<!-- <div *ngIf=\"this.availableNumbers?.length\" class=\"user-calling-extension\">\n <mat-select [formControl]=\"control\" (selectionChange)=\"this.onChangeField($event)\" [compareWith]=\"compareFn\" #page>\n <mat-option *ngFor=\"let option of this.availableNumbers; let i = index;\"[value]=\"option\">{{option}}</mat-option>\n </mat-select>\n <mat-spinner *ngIf=\"this.dataPending\" [diameter]=\"50\"></mat-spinner>\n</div> -->\n\n<div *ngIf=\"this.availableNumbers?.length\" class=\"user-calling-extension\">\n <mat-form-field appearance=\"outline\">\n <input\n [matAutocomplete]=\"auto\"\n matInput\n (input)=\"filterAvailableNumbers($event)\"\n [formControl]=\"control\">\n <mat-autocomplete\n #auto=\"matAutocomplete\" [panelWidth]=\"'auto'\"\n (optionSelected)=\"this.onChangeField($event)\">\n <mat-option *ngFor=\"let option of this.filteredAvailableNumbers; let i = index;\" [value]=\"option\" >\n {{option}}\n </mat-option>\n </mat-autocomplete>\n <mat-spinner *ngIf=\"this.dataPending\" [diameter]=\"50\"></mat-spinner>\n </mat-form-field>\n</div>", styles: ["table{border-collapse:collapse;border-spacing:0}.user-calling-extension mat-form-field{width:100px}\n"] }]
|
|
62
|
+
args: [{ selector: 'app-device-associated-line-extension', template: "<!-- <div *ngIf=\"this.availableNumbers?.length\" class=\"user-calling-extension\">\r\n <mat-select [formControl]=\"control\" (selectionChange)=\"this.onChangeField($event)\" [compareWith]=\"compareFn\" #page>\r\n <mat-option *ngFor=\"let option of this.availableNumbers; let i = index;\"[value]=\"option\">{{option}}</mat-option>\r\n </mat-select>\r\n <mat-spinner *ngIf=\"this.dataPending\" [diameter]=\"50\"></mat-spinner>\r\n</div> -->\r\n\r\n<div *ngIf=\"this.availableNumbers?.length\" class=\"user-calling-extension\">\r\n <mat-form-field appearance=\"outline\">\r\n <input\r\n [matAutocomplete]=\"auto\"\r\n matInput\r\n (input)=\"filterAvailableNumbers($event)\"\r\n [formControl]=\"control\">\r\n <mat-autocomplete\r\n #auto=\"matAutocomplete\" [panelWidth]=\"'auto'\"\r\n (optionSelected)=\"this.onChangeField($event)\">\r\n <mat-option *ngFor=\"let option of this.filteredAvailableNumbers; let i = index;\" [value]=\"option\" >\r\n {{option}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n <mat-spinner *ngIf=\"this.dataPending\" [diameter]=\"50\"></mat-spinner>\r\n </mat-form-field>\r\n</div>", styles: ["table{border-collapse:collapse;border-spacing:0}.user-calling-extension mat-form-field{width:100px}\n"] }]
|
|
63
63
|
}], ctorParameters: function () { return [{ type: i1.UserService }, { type: i2.DnsService }]; }, propDecorators: { control: [{
|
|
64
64
|
type: Input
|
|
65
65
|
}], routePartition: [{
|
|
@@ -71,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
71
71
|
}], onChange: [{
|
|
72
72
|
type: Output
|
|
73
73
|
}] } });
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLWFzc29jaWF0ZWQtbGluZS1leHRlbnNpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXItZGV2aWNlLW1hbmFnZS9zcmMvZGV2aWNlLWFzc29jaWF0ZWQtbGluZS9kZXZpY2UtYXNzb2NpYXRlZC1saW5lLWV4dGVuc2lvbi9kZXZpY2UtYXNzb2NpYXRlZC1saW5lLWV4dGVuc2lvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1kZXZpY2UtbWFuYWdlL3NyYy9kZXZpY2UtYXNzb2NpYXRlZC1saW5lL2RldmljZS1hc3NvY2lhdGVkLWxpbmUtZXh0ZW5zaW9uL2RldmljZS1hc3NvY2lhdGVkLWxpbmUtZXh0ZW5zaW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7O0FBVy9FLE1BQU0sT0FBTyxzQ0FBc0M7SUFVakQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2hJLENBQUM7SUFHRCxZQUNTLFdBQXdCLEVBQ3ZCLFVBQXNCO1FBRHZCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3ZCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFqQnRCLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBR3pDLDZCQUF3QixHQUFVLEVBQUUsQ0FBQztJQWdCNUMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUFVO1FBQzdCLE1BQU0sS0FBSyxHQUFJLEtBQUssQ0FBQyxNQUEyQixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM5RCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRU8sT0FBTztRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN4QyxPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDO2FBQzNFLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDekIsYUFBYTtnQkFDYixJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2FBQ2xGO1lBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsU0FBUyxDQUFDLENBQU0sRUFBRSxDQUFNO1FBQ3RCLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLG1CQUFtQjtJQUNyQyxDQUFDO0lBRU0sMEJBQTBCO1FBQy9CLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDeEQsQ0FBQztJQUVNLHNCQUFzQixDQUFDLEtBQVk7UUFDeEMsTUFBTSxLQUFLLEdBQUksS0FBSyxDQUFDLE1BQTJCLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzlELElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBYyxFQUFFLEVBQUUsQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3JILENBQUM7O29JQTdEVSxzQ0FBc0M7d0hBQXRDLHNDQUFzQyx1T0NYbkQsdXBDQXVCTTs0RkRaTyxzQ0FBc0M7a0JBTGxELFNBQVM7K0JBQ0Usc0NBQXNDOzJIQUt2QyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDSSxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2ltcGxpZmllZFVzZXIgfSBmcm9tICcuLi8uLi9jbGFzc2VzL3NpbXBsaWZpZWQtdXNlcic7XHJcbmltcG9ydCB7IFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXNlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRG5zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Rucy5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWRldmljZS1hc3NvY2lhdGVkLWxpbmUtZXh0ZW5zaW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGV2aWNlLWFzc29jaWF0ZWQtbGluZS1leHRlbnNpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RldmljZS1hc3NvY2lhdGVkLWxpbmUtZXh0ZW5zaW9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZXZpY2VBc3NvY2lhdGVkTGluZUV4dGVuc2lvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgY29udHJvbCE6IEZvcm1Db250cm9sO1xyXG4gIEBJbnB1dCgpIHJvdXRlUGFydGl0aW9uITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGRpcmVjdG9yeU51bWJlciE6IHN0cmluZztcclxuICBASW5wdXQoKSBzaXRlSWQhOiBudW1iZXI7XHJcbiAgQE91dHB1dCgpIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgcHVibGljIGRhdGFQZW5kaW5nITogYm9vbGVhbjtcclxuXHJcbiAgcHVibGljIGZpbHRlcmVkQXZhaWxhYmxlTnVtYmVyczogYW55W10gPSBbXTtcclxuXHJcbiAgZ2V0IHVzZXIoKTogU2ltcGxpZmllZFVzZXIge1xyXG4gICAgcmV0dXJuIHRoaXMudXNlclNlcnZpY2UudXNlcjtcclxuICB9XHJcblxyXG4gIGdldCBhdmFpbGFibGVOdW1iZXJzKCk6IGFueSB7XHJcbiAgICAvLyBAdHMtaWdub3JlXHJcbiAgICByZXR1cm4gdGhpcy5yb3V0ZVBhcnRpdGlvbiAmJiB0aGlzLmRuc1NlcnZpY2UuYXZhaWxhYmxlTnVtYmVycyA/IHRoaXMuZG5zU2VydmljZS5hdmFpbGFibGVOdW1iZXJzW3RoaXMucm91dGVQYXJ0aXRpb25dIDogbnVsbDtcclxuICB9XHJcblxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRuc1NlcnZpY2U6IERuc1NlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5nZXREYXRhKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DaGFuZ2VGaWVsZChldmVudDogYW55KTogdm9pZCB7XHJcbiAgICBjb25zdCB2YWx1ZSA9IChldmVudC5vcHRpb24gYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWUudHJpbSgpO1xyXG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0RGF0YSgpIHtcclxuICAgIGlmICghdGhpcy5zaXRlSWQgfHwgIXRoaXMucm91dGVQYXJ0aXRpb24pIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5kYXRhUGVuZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmRuc1NlcnZpY2UuZ2V0TnVtYmVyUmFuZ2UoU3RyaW5nKHRoaXMuc2l0ZUlkKSwgdGhpcy5yb3V0ZVBhcnRpdGlvbiwgdHJ1ZSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuYXZhaWxhYmxlTnVtYmVycykge1xyXG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgdGhpcy5kbnNTZXJ2aWNlLmF2YWlsYWJsZU51bWJlcnNbdGhpcy5yb3V0ZVBhcnRpdGlvbl0ucHVzaCh0aGlzLmRpcmVjdG9yeU51bWJlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZGF0YVBlbmRpbmcgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBjb21wYXJlRm4oYTogYW55LCBiOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBhID09PSBiOyAvLyBvciBhLmlkID09PSBiLmlkXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0RmlsdGVyZUF2YWlsYWJsZU51bWJlcnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZpbHRlcmVkQXZhaWxhYmxlTnVtYmVycyA9IHRoaXMuYXZhaWxhYmxlTnVtYmVycztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBmaWx0ZXJBdmFpbGFibGVOdW1iZXJzKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgY29uc3QgdmFsdWUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlLnRyaW0oKTtcclxuICAgIHRoaXMuZmlsdGVyZWRBdmFpbGFibGVOdW1iZXJzID0gdGhpcy5hdmFpbGFibGVOdW1iZXJzLmZpbHRlcigobnVtYmVyOiBzdHJpbmcpID0+IG51bWJlciAmJiBudW1iZXIuaW5jbHVkZXModmFsdWUpKTtcclxuICB9XHJcbn1cclxuIiwiPCEtLSA8ZGl2ICpuZ0lmPVwidGhpcy5hdmFpbGFibGVOdW1iZXJzPy5sZW5ndGhcIiBjbGFzcz1cInVzZXItY2FsbGluZy1leHRlbnNpb25cIj5cclxuICA8bWF0LXNlbGVjdCBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiIChzZWxlY3Rpb25DaGFuZ2UpPVwidGhpcy5vbkNoYW5nZUZpZWxkKCRldmVudClcIiBbY29tcGFyZVdpdGhdPVwiY29tcGFyZUZuXCIgI3BhZ2U+XHJcbiAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHRoaXMuYXZhaWxhYmxlTnVtYmVyczsgbGV0IGkgPSBpbmRleDtcIlt2YWx1ZV09XCJvcHRpb25cIj57e29wdGlvbn19PC9tYXQtb3B0aW9uPlxyXG4gIDwvbWF0LXNlbGVjdD5cclxuICA8bWF0LXNwaW5uZXIgKm5nSWY9XCJ0aGlzLmRhdGFQZW5kaW5nXCIgW2RpYW1ldGVyXT1cIjUwXCI+PC9tYXQtc3Bpbm5lcj5cclxuPC9kaXY+IC0tPlxyXG5cclxuPGRpdiAqbmdJZj1cInRoaXMuYXZhaWxhYmxlTnVtYmVycz8ubGVuZ3RoXCIgY2xhc3M9XCJ1c2VyLWNhbGxpbmctZXh0ZW5zaW9uXCI+XHJcbiAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XHJcbiAgICA8aW5wdXRcclxuICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvXCJcclxuICAgICAgbWF0SW5wdXRcclxuICAgICAgKGlucHV0KT1cImZpbHRlckF2YWlsYWJsZU51bWJlcnMoJGV2ZW50KVwiXHJcbiAgICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCI+XHJcbiAgICA8bWF0LWF1dG9jb21wbGV0ZVxyXG4gICAgICAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiIFtwYW5lbFdpZHRoXT1cIidhdXRvJ1wiXHJcbiAgICAgIChvcHRpb25TZWxlY3RlZCk9XCJ0aGlzLm9uQ2hhbmdlRmllbGQoJGV2ZW50KVwiPlxyXG4gICAgICA8bWF0LW9wdGlvbiAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiB0aGlzLmZpbHRlcmVkQXZhaWxhYmxlTnVtYmVyczsgbGV0IGkgPSBpbmRleDtcIiBbdmFsdWVdPVwib3B0aW9uXCIgPlxyXG4gICAgICAgIHt7b3B0aW9ufX1cclxuICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG4gICAgPG1hdC1zcGlubmVyICpuZ0lmPVwidGhpcy5kYXRhUGVuZGluZ1wiIFtkaWFtZXRlcl09XCI1MFwiPjwvbWF0LXNwaW5uZXI+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuPC9kaXY+Il19
|