@linid-dm/directory-manager-client-core
Version:
Core package by providing a set of angular components for the Directory Manager app.
95 lines • 14.1 kB
JavaScript
/**
* Copyright (C) 2020-2024 Linagora
*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU Affero General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option) any
* later version, provided you comply with the Additional Terms applicable for
* LinID Directory Manager software by LINAGORA pursuant to Section 7 of the GNU
* Affero General Public License, subsections (b), (c), and (e), pursuant to
* which these Appropriate Legal Notices must notably (i) retain the display of
* the "LinID™" trademark/logo at the top of the interface window, the display
* of the “You are using the Open Source and free version of LinID™, powered by
* Linagora © 2009–2013. Contribute to LinID R&D by subscribing to an Enterprise
* offer!” infobox and in the e-mails sent with the Program, notice appended to
* any type of outbound messages (e.g. e-mail and meeting requests) as well as
* in the LinID Directory Manager user interface, (ii) retain all hypertext
* links between LinID Directory Manager and https://linid.org/, as well as
* between LINAGORA and LINAGORA.com, and (iii) refrain from infringing LINAGORA
* intellectual property rights over its trademarks and commercial brands. Other
* Additional Terms apply, see <http://www.linagora.com/licenses/> for more
* details.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
* details.
*
* You should have received a copy of the GNU Affero General Public License and
* its applicable Additional Terms for LinID Directory Manager along with this
* program. If not, see <http://www.gnu.org/licenses/> for the GNU Affero
* General Public License version 3 and <http://www.linagora.com/licenses/> for
* the Additional Terms applicable to the LinID Directory Manager software.
*/
import { Injectable } from '@angular/core';
import { ReplaySubject, Subject } from 'rxjs';
import * as Error from '../states/error/error.actions';
import * as i0 from "@angular/core";
import * as i1 from "@ngxs/store";
export class InteractionsService {
constructor(_store$) {
this._store$ = _store$;
this._processingRequest = new Subject();
this._cancelRequest = new Subject();
this._displayedDataTree = new ReplaySubject();
this._displayedDataList = new ReplaySubject();
this._updateTreeNodeName = new Subject();
this._updateListItemName = new Subject();
this._updateExternalId = new Subject();
this._updateFilteredDetailAttributes = new Subject();
this.processingRequest$ = this._processingRequest.asObservable();
this.cancelRequest$ = this._cancelRequest.asObservable();
this.displayedDataTree$ = this._displayedDataTree.asObservable();
this.displayedDataList$ = this._displayedDataList.asObservable();
this.updateTreeNodeName$ = this._updateTreeNodeName.asObservable();
this.updateListItemName$ = this._updateListItemName.asObservable();
this.updateExternalId$ = this._updateExternalId.asObservable();
this.updateFilteredDetailAttributes$ = this._updateFilteredDetailAttributes.asObservable();
}
isProcessingRequest(processing) {
if (processing) {
this._store$.dispatch(new Error.ResetLastError());
}
this._processingRequest.next(processing);
}
displayDataTree(dataTree) {
this._displayedDataTree.next(dataTree);
}
displayDataList(dataList) {
this._displayedDataList.next(dataList);
}
updateTreeNodeName(newNodeName) {
this._updateTreeNodeName.next(newNodeName);
}
updateListItemName(newItemName) {
this._updateListItemName.next(newItemName);
}
updateExternalId(newExternalId) {
this._updateExternalId.next(newExternalId);
}
updateFilteredDetailAttributes(isMatchingAdvancedSearchChips) {
this._updateFilteredDetailAttributes.next(isMatchingAdvancedSearchChips);
}
cancelRequest() {
this._cancelRequest.next();
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: InteractionsService, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: InteractionsService, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: InteractionsService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root',
}]
}], ctorParameters: () => [{ type: i1.Store }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9saWJzL2NsaWVudC1jb3JlL3NyYy9saWIvc2hhcmVkL3NlcnZpY2VzL2ludGVyYWN0aW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWdDRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUQsT0FBTyxLQUFLLEtBQUssTUFBTSwrQkFBK0IsQ0FBQzs7O0FBS3ZELE1BQU0sT0FBTyxtQkFBbUI7SUFtQzlCLFlBQW9CLE9BQWM7UUFBZCxZQUFPLEdBQVAsT0FBTyxDQUFPO1FBbEMxQix1QkFBa0IsR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBQzVDLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVyQyx1QkFBa0IsR0FBRyxJQUFJLGFBQWEsRUFBZSxDQUFDO1FBQ3RELHVCQUFrQixHQUFHLElBQUksYUFBYSxFQUFlLENBQUM7UUFFdEQsd0JBQW1CLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUM1Qyx3QkFBbUIsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBQzVDLHNCQUFpQixHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFDMUMsb0NBQStCLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUUxRCx1QkFBa0IsR0FDdkIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRWxDLG1CQUFjLEdBQXFCLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFdEUsdUJBQWtCLEdBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVsQyx1QkFBa0IsR0FDdkIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRWxDLHdCQUFtQixHQUN4QixJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFbkMsd0JBQW1CLEdBQ3hCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVuQyxzQkFBaUIsR0FDdEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRWpDLG9DQUErQixHQUNwQyxJQUFJLENBQUMsK0JBQStCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFakIsQ0FBQztJQUV0QyxtQkFBbUIsQ0FBQyxVQUFtQjtRQUNyQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsZUFBZSxDQUFDLFFBQXFCO1FBQ25DLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELGVBQWUsQ0FBQyxRQUFxQjtRQUNuQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxXQUFtQjtRQUNwQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxXQUFtQjtRQUNwQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxhQUFxQjtRQUNwQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCw4QkFBOEIsQ0FBQyw2QkFBc0M7UUFDbkUsSUFBSSxDQUFDLCtCQUErQixDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3QixDQUFDOzhHQXRFVSxtQkFBbUI7a0hBQW5CLG1CQUFtQixjQUZsQixNQUFNOzsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjAtMjAyNCBMaW5hZ29yYVxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyXG4gKiB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWVcbiAqIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55XG4gKiBsYXRlciB2ZXJzaW9uLCBwcm92aWRlZCB5b3UgY29tcGx5IHdpdGggdGhlIEFkZGl0aW9uYWwgVGVybXMgYXBwbGljYWJsZSBmb3JcbiAqIExpbklEIERpcmVjdG9yeSBNYW5hZ2VyIHNvZnR3YXJlIGJ5IExJTkFHT1JBIHB1cnN1YW50IHRvIFNlY3Rpb24gNyBvZiB0aGUgR05VXG4gKiBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgc3Vic2VjdGlvbnMgKGIpLCAoYyksIGFuZCAoZSksIHB1cnN1YW50IHRvXG4gKiB3aGljaCB0aGVzZSBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzIG11c3Qgbm90YWJseSAoaSkgcmV0YWluIHRoZSBkaXNwbGF5IG9mXG4gKiB0aGUgXCJMaW5JROKEolwiIHRyYWRlbWFyay9sb2dvIGF0IHRoZSB0b3Agb2YgdGhlIGludGVyZmFjZSB3aW5kb3csIHRoZSBkaXNwbGF5XG4gKiBvZiB0aGUg4oCcWW91IGFyZSB1c2luZyB0aGUgT3BlbiBTb3VyY2UgYW5kIGZyZWUgdmVyc2lvbiBvZiBMaW5JROKEoiwgcG93ZXJlZCBieVxuICogTGluYWdvcmEgwqkgMjAwOeKAkzIwMTMuIENvbnRyaWJ1dGUgdG8gTGluSUQgUiZEIGJ5IHN1YnNjcmliaW5nIHRvIGFuIEVudGVycHJpc2VcbiAqIG9mZmVyIeKAnSBpbmZvYm94IGFuZCBpbiB0aGUgZS1tYWlscyBzZW50IHdpdGggdGhlIFByb2dyYW0sIG5vdGljZSBhcHBlbmRlZCB0b1xuICogYW55IHR5cGUgb2Ygb3V0Ym91bmQgbWVzc2FnZXMgKGUuZy4gZS1tYWlsIGFuZCBtZWV0aW5nIHJlcXVlc3RzKSBhcyB3ZWxsIGFzXG4gKiBpbiB0aGUgTGluSUQgRGlyZWN0b3J5IE1hbmFnZXIgdXNlciBpbnRlcmZhY2UsIChpaSkgcmV0YWluIGFsbCBoeXBlcnRleHRcbiAqIGxpbmtzIGJldHdlZW4gTGluSUQgRGlyZWN0b3J5IE1hbmFnZXIgYW5kIGh0dHBzOi8vbGluaWQub3JnLywgYXMgd2VsbCBhc1xuICogYmV0d2VlbiBMSU5BR09SQSBhbmQgTElOQUdPUkEuY29tLCBhbmQgKGlpaSkgcmVmcmFpbiBmcm9tIGluZnJpbmdpbmcgTElOQUdPUkFcbiAqIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgb3ZlciBpdHMgdHJhZGVtYXJrcyBhbmQgY29tbWVyY2lhbCBicmFuZHMuIE90aGVyXG4gKiBBZGRpdGlvbmFsIFRlcm1zIGFwcGx5LCBzZWUgPGh0dHA6Ly93d3cubGluYWdvcmEuY29tL2xpY2Vuc2VzLz4gZm9yIG1vcmVcbiAqIGRldGFpbHMuXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUXG4gKiBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTU1xuICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZVxuICogZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYW5kXG4gKiBpdHMgYXBwbGljYWJsZSBBZGRpdGlvbmFsIFRlcm1zIGZvciBMaW5JRCBEaXJlY3RvcnkgTWFuYWdlciBhbG9uZyB3aXRoIHRoaXNcbiAqIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPiBmb3IgdGhlIEdOVSBBZmZlcm9cbiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAzIGFuZCA8aHR0cDovL3d3dy5saW5hZ29yYS5jb20vbGljZW5zZXMvPiBmb3JcbiAqIHRoZSBBZGRpdGlvbmFsIFRlcm1zIGFwcGxpY2FibGUgdG8gdGhlIExpbklEIERpcmVjdG9yeSBNYW5hZ2VyIHNvZnR3YXJlLlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSURhdGFJdGVtLCBJRGF0YU5vZGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2RhdGEuaW50ZXJmYWNlJztcbmltcG9ydCAqIGFzIEVycm9yIGZyb20gJy4uL3N0YXRlcy9lcnJvci9lcnJvci5hY3Rpb25zJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEludGVyYWN0aW9uc1NlcnZpY2Uge1xuICBwcml2YXRlIF9wcm9jZXNzaW5nUmVxdWVzdCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHByaXZhdGUgX2NhbmNlbFJlcXVlc3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgX2Rpc3BsYXllZERhdGFUcmVlID0gbmV3IFJlcGxheVN1YmplY3Q8SURhdGFOb2RlW10+KCk7XG4gIHByaXZhdGUgX2Rpc3BsYXllZERhdGFMaXN0ID0gbmV3IFJlcGxheVN1YmplY3Q8SURhdGFJdGVtW10+KCk7XG5cbiAgcHJpdmF0ZSBfdXBkYXRlVHJlZU5vZGVOYW1lID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuICBwcml2YXRlIF91cGRhdGVMaXN0SXRlbU5hbWUgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gIHByaXZhdGUgX3VwZGF0ZUV4dGVybmFsSWQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gIHByaXZhdGUgX3VwZGF0ZUZpbHRlcmVkRGV0YWlsQXR0cmlidXRlcyA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgcHVibGljIHByb2Nlc3NpbmdSZXF1ZXN0JDogT2JzZXJ2YWJsZTxib29sZWFuPiA9XG4gICAgdGhpcy5fcHJvY2Vzc2luZ1JlcXVlc3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHVibGljIGNhbmNlbFJlcXVlc3QkOiBPYnNlcnZhYmxlPHZvaWQ+ID0gdGhpcy5fY2FuY2VsUmVxdWVzdC5hc09ic2VydmFibGUoKTtcblxuICBwdWJsaWMgZGlzcGxheWVkRGF0YVRyZWUkOiBPYnNlcnZhYmxlPElEYXRhTm9kZVtdPiA9XG4gICAgdGhpcy5fZGlzcGxheWVkRGF0YVRyZWUuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHVibGljIGRpc3BsYXllZERhdGFMaXN0JDogT2JzZXJ2YWJsZTxJRGF0YUl0ZW1bXT4gPVxuICAgIHRoaXMuX2Rpc3BsYXllZERhdGFMaXN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHB1YmxpYyB1cGRhdGVUcmVlTm9kZU5hbWUkOiBPYnNlcnZhYmxlPHN0cmluZz4gPVxuICAgIHRoaXMuX3VwZGF0ZVRyZWVOb2RlTmFtZS5hc09ic2VydmFibGUoKTtcblxuICBwdWJsaWMgdXBkYXRlTGlzdEl0ZW1OYW1lJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID1cbiAgICB0aGlzLl91cGRhdGVMaXN0SXRlbU5hbWUuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHVibGljIHVwZGF0ZUV4dGVybmFsSWQkOiBPYnNlcnZhYmxlPHN0cmluZz4gPVxuICAgIHRoaXMuX3VwZGF0ZUV4dGVybmFsSWQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHVibGljIHVwZGF0ZUZpbHRlcmVkRGV0YWlsQXR0cmlidXRlcyQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPVxuICAgIHRoaXMuX3VwZGF0ZUZpbHRlcmVkRGV0YWlsQXR0cmlidXRlcy5hc09ic2VydmFibGUoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9zdG9yZSQ6IFN0b3JlKSB7fVxuXG4gIGlzUHJvY2Vzc2luZ1JlcXVlc3QocHJvY2Vzc2luZzogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChwcm9jZXNzaW5nKSB7XG4gICAgICB0aGlzLl9zdG9yZSQuZGlzcGF0Y2gobmV3IEVycm9yLlJlc2V0TGFzdEVycm9yKCkpO1xuICAgIH1cbiAgICB0aGlzLl9wcm9jZXNzaW5nUmVxdWVzdC5uZXh0KHByb2Nlc3NpbmcpO1xuICB9XG5cbiAgZGlzcGxheURhdGFUcmVlKGRhdGFUcmVlOiBJRGF0YU5vZGVbXSk6IHZvaWQge1xuICAgIHRoaXMuX2Rpc3BsYXllZERhdGFUcmVlLm5leHQoZGF0YVRyZWUpO1xuICB9XG5cbiAgZGlzcGxheURhdGFMaXN0KGRhdGFMaXN0OiBJRGF0YUl0ZW1bXSk6IHZvaWQge1xuICAgIHRoaXMuX2Rpc3BsYXllZERhdGFMaXN0Lm5leHQoZGF0YUxpc3QpO1xuICB9XG5cbiAgdXBkYXRlVHJlZU5vZGVOYW1lKG5ld05vZGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLl91cGRhdGVUcmVlTm9kZU5hbWUubmV4dChuZXdOb2RlTmFtZSk7XG4gIH1cblxuICB1cGRhdGVMaXN0SXRlbU5hbWUobmV3SXRlbU5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuX3VwZGF0ZUxpc3RJdGVtTmFtZS5uZXh0KG5ld0l0ZW1OYW1lKTtcbiAgfVxuXG4gIHVwZGF0ZUV4dGVybmFsSWQobmV3RXh0ZXJuYWxJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5fdXBkYXRlRXh0ZXJuYWxJZC5uZXh0KG5ld0V4dGVybmFsSWQpO1xuICB9XG5cbiAgdXBkYXRlRmlsdGVyZWREZXRhaWxBdHRyaWJ1dGVzKGlzTWF0Y2hpbmdBZHZhbmNlZFNlYXJjaENoaXBzOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5fdXBkYXRlRmlsdGVyZWREZXRhaWxBdHRyaWJ1dGVzLm5leHQoaXNNYXRjaGluZ0FkdmFuY2VkU2VhcmNoQ2hpcHMpO1xuICB9XG5cbiAgY2FuY2VsUmVxdWVzdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9jYW5jZWxSZXF1ZXN0Lm5leHQoKTtcbiAgfVxufVxuIl19