@mediusinc/mng-commons-audit 5.5.0-rc.0 → 5.5.0-rc.1

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.
@@ -56,10 +56,10 @@ export class AuditRevisionsApiService extends AuditApiService {
56
56
  throw new CommonsInternalError(`Entity revision ${revId} for ${entityType} with id ${itemId} was not found`);
57
57
  }));
58
58
  }
59
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AuditRevisionsApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
60
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AuditRevisionsApiService }); }
59
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AuditRevisionsApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
60
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AuditRevisionsApiService }); }
61
61
  }
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AuditRevisionsApiService, decorators: [{
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AuditRevisionsApiService, decorators: [{
63
63
  type: Injectable
64
64
  }], ctorParameters: () => [] });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtcmV2aXNpb25zLWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9hcGkvc2VydmljZXMvYXVkaXQtcmV2aXNpb25zLWFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFGQUFxRjtBQUNyRixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3pDLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxPQUFPLEVBQUMsb0JBQW9CLEVBQXlCLE1BQU0sNkJBQTZCLENBQUM7QUFHekYsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBSWpELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7QUFHcEQsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGVBQWU7SUFDekQ7UUFDSSxLQUFLLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFDTSxlQUFlLENBQUMsTUFBc0I7UUFDekMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBMkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUM1RSxNQUFNLEVBQUUsU0FBUyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQztTQUMvQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sd0JBQXdCLENBQUMsS0FBYTtRQUN6QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUEwQixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFTSxtQ0FBbUMsQ0FBQyxNQUFzQixFQUFFLFVBQWtCO1FBQ2pGLElBQUksZUFBZSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDMUMsZUFBZSxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFDcEUsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNYLEdBQUcsQ0FBc0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLFVBQVUsRUFBRSxDQUFDLEVBQUU7WUFDNUQsTUFBTSxFQUFFLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUM7WUFDNUMsT0FBTyxFQUFFLGVBQWU7U0FDM0IsQ0FBQzthQUNELElBQUksQ0FDRCxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDTixPQUE4QztnQkFDMUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUN0QixPQUFPO3dCQUNILFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUzt3QkFDekIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO3dCQUNyQixlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7d0JBQ3JDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztxQkFDaEMsQ0FBQztnQkFDTixDQUFDLENBQUM7Z0JBQ0YsVUFBVSxFQUFFLEdBQUcsQ0FBQyxVQUFVO2FBQzdCLENBQUM7UUFDTixDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ1YsQ0FBQztJQUVNLG9DQUFvQyxDQUFDLFVBQWtCLEVBQUUsS0FBYSxFQUFFLE1BQWM7UUFDekYsSUFBSSxlQUFlLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUMxQyxlQUFlLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUNwRSxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ1gsR0FBRyxDQUFzQixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsVUFBVSxXQUFXLEtBQUssVUFBVSxNQUFNLEVBQUUsQ0FBQyxFQUFFO1lBQzVGLE9BQU8sRUFBRSxlQUFlO1NBQzNCLENBQUM7YUFDRCxJQUFJLENBQ0QsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQ04sR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDYixDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hFLE9BQU8sQ0FBb0IsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FDTCxFQUNELEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNSLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDbkIsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDcEIsQ0FBQztZQUNELE1BQU0sSUFBSSxvQkFBb0IsQ0FBQyxtQkFBbUIsS0FBSyxRQUFRLFVBQVUsWUFBWSxNQUFNLGdCQUFnQixDQUFDLENBQUM7UUFDakgsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNWLENBQUM7OEdBNURRLHdCQUF3QjtrSEFBeEIsd0JBQXdCOzsyRkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSwgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlcyAqL1xuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7Q29tbW9uc0ludGVybmFsRXJyb3IsIERhdGFMaXN0UGFyYW1zLCBJZFR5cGV9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5cbmltcG9ydCB7UmV2RW50aXR5V2l0aElkfSBmcm9tICcuLi8uLi9tb2RlbHMvcmV2RW50aXR5V2l0aElkLm1vZGVsJztcbmltcG9ydCB7QXVkaXRVdGlsfSBmcm9tICcuLi8uLi91dGlscy9hdWRpdC51dGlsJztcbmltcG9ydCB7R2V0QWxsUmVzcG9uc2V9IGZyb20gJy4uL21vZGVscy9nZXQtYWxsLXJlc3BvbnNlLm1vZGVsJztcbmltcG9ydCB7UmV2RW50aXR5V2l0aENoYW5nZXNEdG99IGZyb20gJy4uL21vZGVscy9yZXZFbnRpdHlXaXRoQ2hhbmdlc0R0byc7XG5pbXBvcnQge1JldkVudGl0eVdpdGhTdGF0ZUR0b30gZnJvbSAnLi4vbW9kZWxzL3JldkVudGl0eVdpdGhTdGF0ZUR0byc7XG5pbXBvcnQge0F1ZGl0QXBpU2VydmljZX0gZnJvbSAnLi9hdWRpdC1hcGkuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBdWRpdFJldmlzaW9uc0FwaVNlcnZpY2UgZXh0ZW5kcyBBdWRpdEFwaVNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0UmV2aXNpb25MaXN0KHBhcmFtczogRGF0YUxpc3RQYXJhbXMpOiBPYnNlcnZhYmxlPEdldEFsbFJlc3BvbnNlPHtba2V5OiBzdHJpbmddOiB1bmtub3dufT4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8R2V0QWxsUmVzcG9uc2U8e1trZXk6IHN0cmluZ106IHVua25vd259Pj4odGhpcy5nZXRVcmwoJycpLCB7XG4gICAgICAgICAgICBwYXJhbXM6IEF1ZGl0VXRpbC5wYXJhbXNUb0h0dHBQYXJhbXMocGFyYW1zKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QWxsQ2hhbmdlc0ZvclJldmlzaW9uKHJldklkOiBJZFR5cGUpOiBPYnNlcnZhYmxlPFJldkVudGl0eVdpdGhDaGFuZ2VzRHRvPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFJldkVudGl0eVdpdGhDaGFuZ2VzRHRvPih0aGlzLmdldFVybChgL2NoYW5nZXMvJHtyZXZJZH1gKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGxpc3RSZXZpc2lvbnNXaXRoU3RhdGVGb3JFbnRpdHlUeXBlKHBhcmFtczogRGF0YUxpc3RQYXJhbXMsIGVudGl0eVR5cGU6IHN0cmluZyk6IE9ic2VydmFibGU8R2V0QWxsUmVzcG9uc2U8UmV2RW50aXR5V2l0aFN0YXRlRHRvPj4ge1xuICAgICAgICBsZXQgbG9jYWxWYXJIZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcbiAgICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldCgnQWNjZXB0JywgJ2FwcGxpY2F0aW9uL2pzb24nKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDxHZXRBbGxSZXNwb25zZTxhbnk+Pih0aGlzLmdldFVybChgL3N0YXRlcy8ke2VudGl0eVR5cGV9YCksIHtcbiAgICAgICAgICAgICAgICBwYXJhbXM6IEF1ZGl0VXRpbC5wYXJhbXNUb0h0dHBQYXJhbXMocGFyYW1zKSxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBsb2NhbFZhckhlYWRlcnNcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxHZXRBbGxSZXNwb25zZTxSZXZFbnRpdHlXaXRoU3RhdGVEdG8+PntcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHJlcy5kYXRhLm1hcChpdGVtID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXZFbnRpdHk6IGl0ZW0ucmV2RW50aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXZUeXBlOiBpdGVtLnJldlR5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eUNsYXNzTmFtZTogaXRlbS5lbnRpdHlDbGFzc05hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eVN0YXRlOiBpdGVtLmVudGl0eVN0YXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgdG90YWxDb3VudDogcmVzLnRvdGFsQ291bnRcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZmV0Y2hSZXZpc2lvbnNXaXRoU3RhdGVGb3JFbnRpdHlUeXBlKGVudGl0eVR5cGU6IHN0cmluZywgcmV2SWQ6IElkVHlwZSwgaXRlbUlkOiBJZFR5cGUpOiBPYnNlcnZhYmxlPFJldkVudGl0eVdpdGhJZD4ge1xuICAgICAgICBsZXQgbG9jYWxWYXJIZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcbiAgICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldCgnQWNjZXB0JywgJ2FwcGxpY2F0aW9uL2pzb24nKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDxHZXRBbGxSZXNwb25zZTxhbnk+Pih0aGlzLmdldFVybChgL3N0YXRlcy8ke2VudGl0eVR5cGV9P3Jldj1lcToke3JldklkfSZpZD1lcToke2l0ZW1JZH1gKSwge1xuICAgICAgICAgICAgICAgIGhlYWRlcnM6IGxvY2FsVmFySGVhZGVyc1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXMgPT5cbiAgICAgICAgICAgICAgICAgICAgcmVzLmRhdGEubWFwKGkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaS5tZXJnZWRJZCA9IGkucmV2RW50aXR5Py5bJ3JldiddICsgJ18nICsgaS5lbnRpdHlTdGF0ZT8uWydpZCddO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGkgYXMgUmV2RW50aXR5V2l0aElkO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgbWFwKGl0ZW1zID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtc1swXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQ29tbW9uc0ludGVybmFsRXJyb3IoYEVudGl0eSByZXZpc2lvbiAke3JldklkfSBmb3IgJHtlbnRpdHlUeXBlfSB3aXRoIGlkICR7aXRlbUlkfSB3YXMgbm90IGZvdW5kYCk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgfVxufVxuIl19
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtcmV2aXNpb25zLWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9hcGkvc2VydmljZXMvYXVkaXQtcmV2aXNpb25zLWFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFGQUFxRjtBQUNyRixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3pDLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxPQUFPLEVBQUMsb0JBQW9CLEVBQXlCLE1BQU0sNkJBQTZCLENBQUM7QUFHekYsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBSWpELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7QUFHcEQsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGVBQWU7SUFDekQ7UUFDSSxLQUFLLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFDTSxlQUFlLENBQUMsTUFBc0I7UUFDekMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBMkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUM1RSxNQUFNLEVBQUUsU0FBUyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQztTQUMvQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sd0JBQXdCLENBQUMsS0FBYTtRQUN6QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUEwQixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFTSxtQ0FBbUMsQ0FBQyxNQUFzQixFQUFFLFVBQWtCO1FBQ2pGLElBQUksZUFBZSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDMUMsZUFBZSxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFDcEUsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNYLEdBQUcsQ0FBc0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLFVBQVUsRUFBRSxDQUFDLEVBQUU7WUFDNUQsTUFBTSxFQUFFLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUM7WUFDNUMsT0FBTyxFQUFFLGVBQWU7U0FDM0IsQ0FBQzthQUNELElBQUksQ0FDRCxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDTixPQUE4QztnQkFDMUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUN0QixPQUFPO3dCQUNILFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUzt3QkFDekIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO3dCQUNyQixlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7d0JBQ3JDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztxQkFDaEMsQ0FBQztnQkFDTixDQUFDLENBQUM7Z0JBQ0YsVUFBVSxFQUFFLEdBQUcsQ0FBQyxVQUFVO2FBQzdCLENBQUM7UUFDTixDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ1YsQ0FBQztJQUVNLG9DQUFvQyxDQUFDLFVBQWtCLEVBQUUsS0FBYSxFQUFFLE1BQWM7UUFDekYsSUFBSSxlQUFlLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUMxQyxlQUFlLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUNwRSxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ1gsR0FBRyxDQUFzQixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsVUFBVSxXQUFXLEtBQUssVUFBVSxNQUFNLEVBQUUsQ0FBQyxFQUFFO1lBQzVGLE9BQU8sRUFBRSxlQUFlO1NBQzNCLENBQUM7YUFDRCxJQUFJLENBQ0QsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQ04sR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDYixDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hFLE9BQU8sQ0FBb0IsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FDTCxFQUNELEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNSLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDbkIsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDcEIsQ0FBQztZQUNELE1BQU0sSUFBSSxvQkFBb0IsQ0FBQyxtQkFBbUIsS0FBSyxRQUFRLFVBQVUsWUFBWSxNQUFNLGdCQUFnQixDQUFDLENBQUM7UUFDakgsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNWLENBQUM7K0dBNURRLHdCQUF3QjttSEFBeEIsd0JBQXdCOzs0RkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSwgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlcyAqL1xuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7Q29tbW9uc0ludGVybmFsRXJyb3IsIERhdGFMaXN0UGFyYW1zLCBJZFR5cGV9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5cbmltcG9ydCB7UmV2RW50aXR5V2l0aElkfSBmcm9tICcuLi8uLi9tb2RlbHMvcmV2RW50aXR5V2l0aElkLm1vZGVsJztcbmltcG9ydCB7QXVkaXRVdGlsfSBmcm9tICcuLi8uLi91dGlscy9hdWRpdC51dGlsJztcbmltcG9ydCB7R2V0QWxsUmVzcG9uc2V9IGZyb20gJy4uL21vZGVscy9nZXQtYWxsLXJlc3BvbnNlLm1vZGVsJztcbmltcG9ydCB7UmV2RW50aXR5V2l0aENoYW5nZXNEdG99IGZyb20gJy4uL21vZGVscy9yZXZFbnRpdHlXaXRoQ2hhbmdlc0R0byc7XG5pbXBvcnQge1JldkVudGl0eVdpdGhTdGF0ZUR0b30gZnJvbSAnLi4vbW9kZWxzL3JldkVudGl0eVdpdGhTdGF0ZUR0byc7XG5pbXBvcnQge0F1ZGl0QXBpU2VydmljZX0gZnJvbSAnLi9hdWRpdC1hcGkuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBdWRpdFJldmlzaW9uc0FwaVNlcnZpY2UgZXh0ZW5kcyBBdWRpdEFwaVNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0UmV2aXNpb25MaXN0KHBhcmFtczogRGF0YUxpc3RQYXJhbXMpOiBPYnNlcnZhYmxlPEdldEFsbFJlc3BvbnNlPHtba2V5OiBzdHJpbmddOiB1bmtub3dufT4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8R2V0QWxsUmVzcG9uc2U8e1trZXk6IHN0cmluZ106IHVua25vd259Pj4odGhpcy5nZXRVcmwoJycpLCB7XG4gICAgICAgICAgICBwYXJhbXM6IEF1ZGl0VXRpbC5wYXJhbXNUb0h0dHBQYXJhbXMocGFyYW1zKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QWxsQ2hhbmdlc0ZvclJldmlzaW9uKHJldklkOiBJZFR5cGUpOiBPYnNlcnZhYmxlPFJldkVudGl0eVdpdGhDaGFuZ2VzRHRvPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFJldkVudGl0eVdpdGhDaGFuZ2VzRHRvPih0aGlzLmdldFVybChgL2NoYW5nZXMvJHtyZXZJZH1gKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGxpc3RSZXZpc2lvbnNXaXRoU3RhdGVGb3JFbnRpdHlUeXBlKHBhcmFtczogRGF0YUxpc3RQYXJhbXMsIGVudGl0eVR5cGU6IHN0cmluZyk6IE9ic2VydmFibGU8R2V0QWxsUmVzcG9uc2U8UmV2RW50aXR5V2l0aFN0YXRlRHRvPj4ge1xuICAgICAgICBsZXQgbG9jYWxWYXJIZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcbiAgICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldCgnQWNjZXB0JywgJ2FwcGxpY2F0aW9uL2pzb24nKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDxHZXRBbGxSZXNwb25zZTxhbnk+Pih0aGlzLmdldFVybChgL3N0YXRlcy8ke2VudGl0eVR5cGV9YCksIHtcbiAgICAgICAgICAgICAgICBwYXJhbXM6IEF1ZGl0VXRpbC5wYXJhbXNUb0h0dHBQYXJhbXMocGFyYW1zKSxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBsb2NhbFZhckhlYWRlcnNcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxHZXRBbGxSZXNwb25zZTxSZXZFbnRpdHlXaXRoU3RhdGVEdG8+PntcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHJlcy5kYXRhLm1hcChpdGVtID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXZFbnRpdHk6IGl0ZW0ucmV2RW50aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXZUeXBlOiBpdGVtLnJldlR5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eUNsYXNzTmFtZTogaXRlbS5lbnRpdHlDbGFzc05hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eVN0YXRlOiBpdGVtLmVudGl0eVN0YXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgdG90YWxDb3VudDogcmVzLnRvdGFsQ291bnRcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZmV0Y2hSZXZpc2lvbnNXaXRoU3RhdGVGb3JFbnRpdHlUeXBlKGVudGl0eVR5cGU6IHN0cmluZywgcmV2SWQ6IElkVHlwZSwgaXRlbUlkOiBJZFR5cGUpOiBPYnNlcnZhYmxlPFJldkVudGl0eVdpdGhJZD4ge1xuICAgICAgICBsZXQgbG9jYWxWYXJIZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcbiAgICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldCgnQWNjZXB0JywgJ2FwcGxpY2F0aW9uL2pzb24nKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDxHZXRBbGxSZXNwb25zZTxhbnk+Pih0aGlzLmdldFVybChgL3N0YXRlcy8ke2VudGl0eVR5cGV9P3Jldj1lcToke3JldklkfSZpZD1lcToke2l0ZW1JZH1gKSwge1xuICAgICAgICAgICAgICAgIGhlYWRlcnM6IGxvY2FsVmFySGVhZGVyc1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXMgPT5cbiAgICAgICAgICAgICAgICAgICAgcmVzLmRhdGEubWFwKGkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaS5tZXJnZWRJZCA9IGkucmV2RW50aXR5Py5bJ3JldiddICsgJ18nICsgaS5lbnRpdHlTdGF0ZT8uWydpZCddO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGkgYXMgUmV2RW50aXR5V2l0aElkO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgbWFwKGl0ZW1zID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtc1swXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQ29tbW9uc0ludGVybmFsRXJyb3IoYEVudGl0eSByZXZpc2lvbiAke3JldklkfSBmb3IgJHtlbnRpdHlUeXBlfSB3aXRoIGlkICR7aXRlbUlkfSB3YXMgbm90IGZvdW5kYCk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgfVxufVxuIl19
@@ -49,10 +49,10 @@ export class AuditService extends AuditApiService {
49
49
  }
50
50
  }));
51
51
  }
52
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AuditService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
53
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AuditService }); }
52
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AuditService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
53
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AuditService }); }
54
54
  }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AuditService, decorators: [{
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AuditService, decorators: [{
56
56
  type: Injectable
57
57
  }], ctorParameters: () => [] });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvYXBpL3NlcnZpY2VzL2F1ZGl0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEscUZBQXFGO0FBQ3JGLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFhLFdBQVcsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHbkMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDOztBQUdwRCxNQUFNLE9BQU8sWUFBYSxTQUFRLGVBQWU7SUFNN0M7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQU5LLGVBQVUsR0FBRyxDQUFDLENBQUM7SUFPaEMsQ0FBQztJQUNELElBQVcsU0FBUztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDakYsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ3JGLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUVPLGVBQWU7UUFDbkIsSUFBSSxlQUFlLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUMxQyxlQUFlLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUNwRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFvQixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQy9ELE9BQU8sRUFBRSxlQUFlO1NBQzNCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxpQkFBaUI7UUFDckIsSUFBSSxlQUFlLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUMxQyxlQUFlLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUNwRSxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ1gsR0FBRyxDQUEyQixJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQ3pELE9BQU8sRUFBRSxlQUFlO1NBQzNCLENBQUM7YUFDRCxJQUFJLENBQ0QsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ1gsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7Z0JBQzFCLE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDdkIsT0FBTzt3QkFDSCxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7d0JBQzNCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtxQkFDOUIsQ0FBQztnQkFDTixDQUFDLENBQUMsQ0FBQztZQUNQLENBQUM7aUJBQU0sQ0FBQztnQkFDSixPQUFPLEVBQUUsQ0FBQztZQUNkLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ1YsQ0FBQzs4R0FwRFEsWUFBWTtrSEFBWixZQUFZOzsyRkFBWixZQUFZO2tCQUR4QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSwgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlcyAqL1xuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtPYnNlcnZhYmxlLCBzaGFyZVJlcGxheX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge0d1aUVudGl0eU1vZGVsRHRvfSBmcm9tICcuLi9tb2RlbHMvZ3VpRW50aXR5TW9kZWwnO1xuaW1wb3J0IHtBdWRpdEFwaVNlcnZpY2V9IGZyb20gJy4vYXVkaXQtYXBpLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXVkaXRTZXJ2aWNlIGV4dGVuZHMgQXVkaXRBcGlTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IENBQ0hFX1NJWkUgPSAxO1xuXG4gICAgcHJpdmF0ZSByZXZNb2RlbE9icz86IE9ic2VydmFibGU8R3VpRW50aXR5TW9kZWxEdG8+O1xuICAgIHByaXZhdGUgYXVkaXRNb2RlbE9icz86IE9ic2VydmFibGU8QXJyYXk8R3VpRW50aXR5TW9kZWxEdG8+PjtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IHJldk1vZGVsJCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnJldk1vZGVsT2JzKSB7XG4gICAgICAgICAgICB0aGlzLnJldk1vZGVsT2JzID0gdGhpcy5yZXF1ZXN0UmV2TW9kZWwoKS5waXBlKHNoYXJlUmVwbGF5KHRoaXMuQ0FDSEVfU0laRSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnJldk1vZGVsT2JzO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgYXVkaXRNb2RlbCQoKSB7XG4gICAgICAgIGlmICghdGhpcy5hdWRpdE1vZGVsT2JzKSB7XG4gICAgICAgICAgICB0aGlzLmF1ZGl0TW9kZWxPYnMgPSB0aGlzLnJlcXVlc3RBdWRpdE1vZGVsKCkucGlwZShzaGFyZVJlcGxheSh0aGlzLkNBQ0hFX1NJWkUpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5hdWRpdE1vZGVsT2JzO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVxdWVzdFJldk1vZGVsKCk6IE9ic2VydmFibGU8R3VpRW50aXR5TW9kZWxEdG8+IHtcbiAgICAgICAgbGV0IGxvY2FsVmFySGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG4gICAgICAgIGxvY2FsVmFySGVhZGVycyA9IGxvY2FsVmFySGVhZGVycy5zZXQoJ0FjY2VwdCcsICdhcHBsaWNhdGlvbi9qc29uJyk7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEd1aUVudGl0eU1vZGVsRHRvPih0aGlzLmdldFVybChgL3Jldi1tb2RlbGApLCB7XG4gICAgICAgICAgICBoZWFkZXJzOiBsb2NhbFZhckhlYWRlcnNcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXF1ZXN0QXVkaXRNb2RlbCgpOiBPYnNlcnZhYmxlPEFycmF5PEd1aUVudGl0eU1vZGVsRHRvPj4ge1xuICAgICAgICBsZXQgbG9jYWxWYXJIZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcbiAgICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldCgnQWNjZXB0JywgJ2FwcGxpY2F0aW9uL2pzb24nKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDxBcnJheTxHdWlFbnRpdHlNb2RlbER0bz4+KHRoaXMuZ2V0VXJsKGAvYXVkaXQtbW9kZWxzYCksIHtcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBsb2NhbFZhckhlYWRlcnNcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShyZXNwb25zZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5TmFtZTogaXRlbS5lbnRpdHlOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiBpdGVtLnByb3BlcnRpZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvYXBpL3NlcnZpY2VzL2F1ZGl0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEscUZBQXFGO0FBQ3JGLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFhLFdBQVcsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHbkMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDOztBQUdwRCxNQUFNLE9BQU8sWUFBYSxTQUFRLGVBQWU7SUFNN0M7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQU5LLGVBQVUsR0FBRyxDQUFDLENBQUM7SUFPaEMsQ0FBQztJQUNELElBQVcsU0FBUztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDakYsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ3JGLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUVPLGVBQWU7UUFDbkIsSUFBSSxlQUFlLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUMxQyxlQUFlLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUNwRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFvQixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQy9ELE9BQU8sRUFBRSxlQUFlO1NBQzNCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxpQkFBaUI7UUFDckIsSUFBSSxlQUFlLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUMxQyxlQUFlLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUNwRSxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ1gsR0FBRyxDQUEyQixJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQ3pELE9BQU8sRUFBRSxlQUFlO1NBQzNCLENBQUM7YUFDRCxJQUFJLENBQ0QsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ1gsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7Z0JBQzFCLE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDdkIsT0FBTzt3QkFDSCxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7d0JBQzNCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtxQkFDOUIsQ0FBQztnQkFDTixDQUFDLENBQUMsQ0FBQztZQUNQLENBQUM7aUJBQU0sQ0FBQztnQkFDSixPQUFPLEVBQUUsQ0FBQztZQUNkLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ1YsQ0FBQzsrR0FwRFEsWUFBWTttSEFBWixZQUFZOzs0RkFBWixZQUFZO2tCQUR4QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSwgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlcyAqL1xuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtPYnNlcnZhYmxlLCBzaGFyZVJlcGxheX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge0d1aUVudGl0eU1vZGVsRHRvfSBmcm9tICcuLi9tb2RlbHMvZ3VpRW50aXR5TW9kZWwnO1xuaW1wb3J0IHtBdWRpdEFwaVNlcnZpY2V9IGZyb20gJy4vYXVkaXQtYXBpLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXVkaXRTZXJ2aWNlIGV4dGVuZHMgQXVkaXRBcGlTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IENBQ0hFX1NJWkUgPSAxO1xuXG4gICAgcHJpdmF0ZSByZXZNb2RlbE9icz86IE9ic2VydmFibGU8R3VpRW50aXR5TW9kZWxEdG8+O1xuICAgIHByaXZhdGUgYXVkaXRNb2RlbE9icz86IE9ic2VydmFibGU8QXJyYXk8R3VpRW50aXR5TW9kZWxEdG8+PjtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IHJldk1vZGVsJCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnJldk1vZGVsT2JzKSB7XG4gICAgICAgICAgICB0aGlzLnJldk1vZGVsT2JzID0gdGhpcy5yZXF1ZXN0UmV2TW9kZWwoKS5waXBlKHNoYXJlUmVwbGF5KHRoaXMuQ0FDSEVfU0laRSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnJldk1vZGVsT2JzO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgYXVkaXRNb2RlbCQoKSB7XG4gICAgICAgIGlmICghdGhpcy5hdWRpdE1vZGVsT2JzKSB7XG4gICAgICAgICAgICB0aGlzLmF1ZGl0TW9kZWxPYnMgPSB0aGlzLnJlcXVlc3RBdWRpdE1vZGVsKCkucGlwZShzaGFyZVJlcGxheSh0aGlzLkNBQ0hFX1NJWkUpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5hdWRpdE1vZGVsT2JzO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVxdWVzdFJldk1vZGVsKCk6IE9ic2VydmFibGU8R3VpRW50aXR5TW9kZWxEdG8+IHtcbiAgICAgICAgbGV0IGxvY2FsVmFySGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG4gICAgICAgIGxvY2FsVmFySGVhZGVycyA9IGxvY2FsVmFySGVhZGVycy5zZXQoJ0FjY2VwdCcsICdhcHBsaWNhdGlvbi9qc29uJyk7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEd1aUVudGl0eU1vZGVsRHRvPih0aGlzLmdldFVybChgL3Jldi1tb2RlbGApLCB7XG4gICAgICAgICAgICBoZWFkZXJzOiBsb2NhbFZhckhlYWRlcnNcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXF1ZXN0QXVkaXRNb2RlbCgpOiBPYnNlcnZhYmxlPEFycmF5PEd1aUVudGl0eU1vZGVsRHRvPj4ge1xuICAgICAgICBsZXQgbG9jYWxWYXJIZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcbiAgICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldCgnQWNjZXB0JywgJ2FwcGxpY2F0aW9uL2pzb24nKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDxBcnJheTxHdWlFbnRpdHlNb2RlbER0bz4+KHRoaXMuZ2V0VXJsKGAvYXVkaXQtbW9kZWxzYCksIHtcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBsb2NhbFZhckhlYWRlcnNcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShyZXNwb25zZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5TmFtZTogaXRlbS5lbnRpdHlOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiBpdGVtLnByb3BlcnRpZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
@@ -67,13 +67,13 @@ export class EntityChangesFieldComponent extends AFormlyCustomFieldComponent {
67
67
  desc.withTrackProperty(`EntityChangeField_${entityChanges.entityType ?? 'default'}`);
68
68
  return desc;
69
69
  }
70
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: EntityChangesFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
71
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.5", type: EntityChangesFieldComponent, isStandalone: true, selector: "mng-entity-changes-field", inputs: { injector: "injector" }, usesInheritance: true, ngImport: i0, template: "@if (modelFetched()) {\n <div>\n @for (ec of entityChanges(); track ec) {\n <mng-table [items]=\"ec.data.items\" [descriptor]=\"ec.descriptor\"></mng-table>\n }\n </div>\n} @else {\n <div class=\"text-center\">\n <i class=\"pi pi-spin pi-spinner\" style=\"font-size: 2rem\"></i>\n </div>\n}\n", styles: ["::ng-deep tr.audit-row-deleted{background:#ff3d331a!important}::ng-deep tr.audit-row-deleted .audit-cell{background:#f6544c4d!important}::ng-deep tr.audit-row-added{background-color:#1bc5621a!important}::ng-deep tr.audit-row-added .audit-cell{background:#1bc5624d!important}\n"], dependencies: [{ kind: "component", type: TableComponent, selector: "mng-table", inputs: ["descriptor", "items", "result", "loading", "dataProvider", "useQueryParams", "cellClickEnabled", "selectionMode", "selectionEnabled", "rowReorderEnabled", "columnLastMinWidth", "captionComponent", "columnCustomLastComponent", "globalFilterFields"], outputs: ["tableLoad", "cellClick", "selectionChange", "captionComponentInstance", "columnCustomLastComponentInstance", "rowReorder"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
70
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: EntityChangesFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
71
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: EntityChangesFieldComponent, isStandalone: true, selector: "mng-entity-changes-field", inputs: { injector: "injector" }, usesInheritance: true, ngImport: i0, template: "@if (modelFetched()) {\n <div>\n @for (ec of entityChanges(); track ec) {\n <mng-table [items]=\"ec.data.items\" [descriptor]=\"ec.descriptor\"></mng-table>\n }\n </div>\n} @else {\n <div class=\"text-center\">\n <i class=\"pi pi-spin pi-spinner\" style=\"font-size: 2rem\"></i>\n </div>\n}\n", styles: ["::ng-deep tr.audit-row-deleted{background:#ff3d331a!important}::ng-deep tr.audit-row-deleted .audit-cell{background:#f6544c4d!important}::ng-deep tr.audit-row-added{background-color:#1bc5621a!important}::ng-deep tr.audit-row-added .audit-cell{background:#1bc5624d!important}\n"], dependencies: [{ kind: "component", type: TableComponent, selector: "mng-table", inputs: ["descriptor", "items", "result", "loading", "dataProvider", "useQueryParams", "cellClickEnabled", "selectionMode", "selectionEnabled", "rowReorderEnabled", "columnLastMinWidth", "captionComponent", "columnCustomLastComponent", "globalFilterFields"], outputs: ["tableLoad", "cellClick", "selectionChange", "captionComponentInstance", "columnCustomLastComponentInstance", "rowReorder"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
72
72
  }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: EntityChangesFieldComponent, decorators: [{
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: EntityChangesFieldComponent, decorators: [{
74
74
  type: Component,
75
75
  args: [{ standalone: true, selector: 'mng-entity-changes-field', imports: [TableComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (modelFetched()) {\n <div>\n @for (ec of entityChanges(); track ec) {\n <mng-table [items]=\"ec.data.items\" [descriptor]=\"ec.descriptor\"></mng-table>\n }\n </div>\n} @else {\n <div class=\"text-center\">\n <i class=\"pi pi-spin pi-spinner\" style=\"font-size: 2rem\"></i>\n </div>\n}\n", styles: ["::ng-deep tr.audit-row-deleted{background:#ff3d331a!important}::ng-deep tr.audit-row-deleted .audit-cell{background:#f6544c4d!important}::ng-deep tr.audit-row-added{background-color:#1bc5621a!important}::ng-deep tr.audit-row-added .audit-cell{background:#1bc5624d!important}\n"] }]
76
76
  }], propDecorators: { injector: [{
77
77
  type: Input
78
78
  }] } });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWNoYW5nZXMtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VudGl0eS1jaGFuZ2VzLWZpZWxkL2VudGl0eS1jaGFuZ2VzLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lbnRpdHktY2hhbmdlcy1maWVsZC9lbnRpdHktY2hhbmdlcy1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEgsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFOUQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBc0IsdUJBQXVCLEVBQUUsZUFBZSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDL0csT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFLakYsT0FBTyxFQUFDLGVBQWUsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ2hGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUc5RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7O0FBVWpELE1BQU0sT0FBTywyQkFBNEIsU0FBUSwyQkFBcUc7SUFSdEo7O1FBV1ksZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVqQyxrQkFBYSxHQUFHLE1BQU0sQ0FLM0IsRUFBRSxDQUFDLENBQUM7UUFDQyxp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aW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBEZXN0cm95UmVmLCBJbmplY3RvciwgSW5wdXQsIE9uSW5pdCwgaW5qZWN0LCBzaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuaW1wb3J0IHtDb21tb25zSW50ZXJuYWxFcnJvcn0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcbmltcG9ydCB7VGFibGVDb21wb25lbnR9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvdGFibGUnO1xuaW1wb3J0IHtUYWJsZURlc2NyaXB0b3JJbnN0LCBUYWJsZVBhZ2luYXRpb25Nb2RlRW51bSwgdGFibGVEZXNjcmlwdG9yfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL3RhYmxlL2FwaSc7XG5pbXBvcnQge0FGb3JtbHlDdXN0b21GaWVsZENvbXBvbmVudH0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy90YWJsZXZpZXcvYXBpJztcblxuaW1wb3J0IHtFbnRpdHlDaGFuZ2VEdG99IGZyb20gJy4uLy4uL2FwaS9tb2RlbHMvZW50aXR5Q2hhbmdlJztcbmltcG9ydCB7R3VpRW50aXR5TW9kZWxEdG99IGZyb20gJy4uLy4uL2FwaS9tb2RlbHMvZ3VpRW50aXR5TW9kZWwnO1xuaW1wb3J0IHtSZXZFbnRpdHlXaXRoQ2hhbmdlc0R0b30gZnJvbSAnLi4vLi4vYXBpL21vZGVscy9yZXZFbnRpdHlXaXRoQ2hhbmdlc0R0byc7XG5pbXBvcnQge1JldmlzaW9uVHlwZUR0bywgcmV2aXNpb25UeXBlRW51bX0gZnJvbSAnLi4vLi4vYXBpL21vZGVscy9yZXZpc2lvblR5cGUnO1xuaW1wb3J0IHtBdWRpdFNlcnZpY2V9IGZyb20gJy4uLy4uL2FwaS9zZXJ2aWNlcy9hdWRpdC5zZXJ2aWNlJztcbmltcG9ydCB7RW50aXR5UmV2aXNpb25DaGFuZ2VTdGF0ZX0gZnJvbSAnLi4vLi4vbW9kZWxzL2VudGl0eS1yZXZpc2lvbi1jaGFuZ2Utc3RhdGUubW9kZWwnO1xuaW1wb3J0IHtFbnRpdHlSZXZpc2lvbkNoYW5nZXN9IGZyb20gJy4uLy4uL21vZGVscy9lbnRpdHktcmV2aXNpb24tY2hhbmdlcy5tb2RlbCc7XG5pbXBvcnQge0F1ZGl0VXRpbH0gZnJvbSAnLi4vLi4vdXRpbHMvYXVkaXQudXRpbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdtbmctZW50aXR5LWNoYW5nZXMtZmllbGQnLFxuICAgIGltcG9ydHM6IFtUYWJsZUNvbXBvbmVudF0sXG4gICAgc3R5bGVVcmxzOiBbJ2VudGl0eS1jaGFuZ2VzLWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgdGVtcGxhdGVVcmw6ICdlbnRpdHktY2hhbmdlcy1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRW50aXR5Q2hhbmdlc0ZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQUZvcm1seUN1c3RvbUZpZWxkQ29tcG9uZW50PFJldkVudGl0eVdpdGhDaGFuZ2VzRHRvWydlbnRpdHlOYW1lQ2hhbmdlc01hcCddLCBSZXZFbnRpdHlXaXRoQ2hhbmdlc0R0bz4gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpbmplY3Rvcj86IEluamVjdG9yO1xuXG4gICAgcHJpdmF0ZSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgcHVibGljIGVudGl0eUNoYW5nZXMgPSBzaWduYWw8XG4gICAgICAgIHtcbiAgICAgICAgICAgIGRhdGE6IEVudGl0eVJldmlzaW9uQ2hhbmdlcztcbiAgICAgICAgICAgIGRlc2NyaXB0b3I6IFRhYmxlRGVzY3JpcHRvckluc3Q8RW50aXR5UmV2aXNpb25DaGFuZ2VTdGF0ZT47XG4gICAgICAgIH1bXVxuICAgID4oW10pO1xuICAgIHB1YmxpYyBtb2RlbEZldGNoZWQgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgcHJpdmF0ZSBhdWRpdE1vZGVsOiBHdWlFbnRpdHlNb2RlbER0b1tdID0gW107XG4gICAgcHJpdmF0ZSBmaWVsZFZhbHVlPzogUmVjb3JkPHN0cmluZywgRW50aXR5Q2hhbmdlRHRvW10+O1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmllbGRWYWx1ZSA9IHRoaXMuZm9ybUNvbnRyb2wudmFsdWU7XG4gICAgICAgIHRoaXMuaW5qZWN0b3JcbiAgICAgICAgICAgID8uZ2V0KEF1ZGl0U2VydmljZSwgdW5kZWZpbmVkLCB7b3B0aW9uYWw6IHRydWV9KVxuICAgICAgICAgICAgPy5hdWRpdE1vZGVsJC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgICAgICAgICAgbmV4dDogbW9kZWwgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmF1ZGl0TW9kZWwgPSBtb2RlbDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZmllbGRWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbnRpdHlDaGFuZ2VzLnNldChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdWRpdFV0aWwubWFwSXRlbXNUb0VudGl0eUNoYW5nZXNBcnJheSh0aGlzLmZpZWxkVmFsdWUpLm1hcChmdiA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBmdixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRvcjogdGhpcy5jcmVhdGVEZXNjcmlwdG9yKGZ2KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW9kZWxGZXRjaGVkLnNldCh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZXJyb3I6IGVyciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBDb21tb25zSW50ZXJuYWxFcnJvcignRXJyb3Igd2hpbGUgdHJ5aW5nIHRvIGZldGNoIGF1ZGl0IG1vZGVsIGZyb20gYXVkaXQgc2VydmljZScsIHtuYW1lOiAnRW50aXR5Q2hhbmdlc0ZpZWxkQ29tcG9uZW50RXJyb3InLCBjYXVzZTogZXJyfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVEZXNjcmlwdG9yKGVudGl0eUNoYW5nZXM6IEVudGl0eVJldmlzaW9uQ2hhbmdlcykge1xuICAgICAgICBjb25zdCBjaGFuZ2VkRmllbGRzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBpZiAoZW50aXR5Q2hhbmdlcy5pdGVtcyAmJiBlbnRpdHlDaGFuZ2VzLml0ZW1zWzBdLnJldlR5cGUgPT09IFJldmlzaW9uVHlwZUR0by5Nb2QpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIGVudGl0eUNoYW5nZXMuaXRlbXNbMF0pIHtcbiAgICAgICAgICAgICAgICBpZiAoZW50aXR5Q2hhbmdlcy5pdGVtc1swXVtrZXldICE9PSBlbnRpdHlDaGFuZ2VzLml0ZW1zWzFdW2tleV0pIHtcbiAgICAgICAgICAgICAgICAgICAgY2hhbmdlZEZpZWxkcy5wdXNoKGtleSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZ3VpRW50aXR5TW9kZWwgPSB0aGlzLmF1ZGl0TW9kZWwuZmlsdGVyKG0gPT4gbS5lbnRpdHlOYW1lID09PSBlbnRpdHlDaGFuZ2VzLmVudGl0eVR5cGUpWzBdO1xuXG4gICAgICAgIGNvbnN0IGRlc2MgPSB0YWJsZURlc2NyaXB0b3I8RW50aXR5UmV2aXNpb25DaGFuZ2VTdGF0ZT4oe2kxOG5CYXNlOiBndWlFbnRpdHlNb2RlbC5lbnRpdHlOYW1lfSkud2l0aENsYXNzTmFtZSgncHktMicpO1xuICAgICAgICBpZiAoZ3VpRW50aXR5TW9kZWwuZW50aXR5TmFtZSkge1xuICAgICAgICAgICAgZGVzYy53aXRoVGl0bGUoZ3VpRW50aXR5TW9kZWwuZW50aXR5TmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICBkZXNjLmFkZENvbHVtbkVudW0oJ3JldlR5cGUnLCByZXZpc2lvblR5cGVFbnVtKS53aXRoVGl0bGUoJ01uZ0VudGl0eVJldmlzaW9uQ2hhbmdlU3RhdGUucHJvcGVydGllcy5yZXZUeXBlJyk7XG5cbiAgICAgICAgaWYgKGd1aUVudGl0eU1vZGVsLnByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgIEF1ZGl0VXRpbC5hZGRDb2x1bW5zRnJvbU1vZGVsKGRlc2MsIGd1aUVudGl0eU1vZGVsLnByb3BlcnRpZXMsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRlc2Mud2l0aFJvd0NsYXNzTmFtZSh1bmRlZmluZWQsIChfLCBpdGVtKSA9PiAoaXRlbSA/IChpdGVtLmNvbG9yID09PSAnZ3JlZW4nID8gJ2F1ZGl0LXJvdy1hZGRlZCcgOiAnYXVkaXQtcm93LWRlbGV0ZWQnKSA6ICcnKSk7XG4gICAgICAgIGRlc2MuY29sdW1ucy5mb3JFYWNoKGNvbCA9PiB7XG4gICAgICAgICAgICBpZiAoY2hhbmdlZEZpZWxkcy5sZW5ndGggPiAwICYmIGNoYW5nZWRGaWVsZHMuc29tZSh2YWwgPT4gY29sLnByb3BlcnR5ID09PSB2YWwpKSB7XG4gICAgICAgICAgICAgICAgY29sLndpdGhDbGFzc05hbWUoJ2F1ZGl0LWNlbGwnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgZGVzYy53aXRoUGFnaW5hdGlvbk1vZGUoVGFibGVQYWdpbmF0aW9uTW9kZUVudW0uUGFnaW5hdGlvbik7XG4gICAgICAgIGRlc2Mud2l0aEN1cnJlbnRDb2x1bW5zUmVvcmRlcmFibGUoKTtcbiAgICAgICAgZGVzYy53aXRoQ3VycmVudENvbHVtbnNUb2dnbGVhYmxlKCk7XG4gICAgICAgIGRlc2Mud2l0aFRyYWNrUHJvcGVydHkoYEVudGl0eUNoYW5nZUZpZWxkXyR7ZW50aXR5Q2hhbmdlcy5lbnRpdHlUeXBlID8/ICdkZWZhdWx0J31gKTtcblxuICAgICAgICByZXR1cm4gZGVzYztcbiAgICB9XG59XG4iLCJAaWYgKG1vZGVsRmV0Y2hlZCgpKSB7XG4gICAgPGRpdj5cbiAgICAgICAgQGZvciAoZWMgb2YgZW50aXR5Q2hhbmdlcygpOyB0cmFjayBlYykge1xuICAgICAgICAgICAgPG1uZy10YWJsZSBbaXRlbXNdPVwiZWMuZGF0YS5pdGVtc1wiIFtkZXNjcmlwdG9yXT1cImVjLmRlc2NyaXB0b3JcIj48L21uZy10YWJsZT5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxufSBAZWxzZSB7XG4gICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyXCI+XG4gICAgICAgIDxpIGNsYXNzPVwicGkgcGktc3BpbiBwaS1zcGlubmVyXCIgc3R5bGU9XCJmb250LXNpemU6IDJyZW1cIj48L2k+XG4gICAgPC9kaXY+XG59XG4iXX0=
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWNoYW5nZXMtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VudGl0eS1jaGFuZ2VzLWZpZWxkL2VudGl0eS1jaGFuZ2VzLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lbnRpdHktY2hhbmdlcy1maWVsZC9lbnRpdHktY2hhbmdlcy1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEgsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFOUQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBc0IsdUJBQXVCLEVBQUUsZUFBZSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDL0csT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFLakYsT0FBTyxFQUFDLGVBQWUsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ2hGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUc5RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7O0FBVWpELE1BQU0sT0FBTywyQkFBNEIsU0FBUSwyQkFBcUc7SUFSdEo7O1FBV1ksZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVqQyxrQkFBYSxHQUFHLE1BQU0sQ0FLM0IsRUFBRSxDQUFDLENBQUM7UUFDQyxp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aW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBEZXN0cm95UmVmLCBJbmplY3RvciwgSW5wdXQsIE9uSW5pdCwgaW5qZWN0LCBzaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuaW1wb3J0IHtDb21tb25zSW50ZXJuYWxFcnJvcn0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcbmltcG9ydCB7VGFibGVDb21wb25lbnR9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvdGFibGUnO1xuaW1wb3J0IHtUYWJsZURlc2NyaXB0b3JJbnN0LCBUYWJsZVBhZ2luYXRpb25Nb2RlRW51bSwgdGFibGVEZXNjcmlwdG9yfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL3RhYmxlL2FwaSc7XG5pbXBvcnQge0FGb3JtbHlDdXN0b21GaWVsZENvbXBvbmVudH0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy90YWJsZXZpZXcvYXBpJztcblxuaW1wb3J0IHtFbnRpdHlDaGFuZ2VEdG99IGZyb20gJy4uLy4uL2FwaS9tb2RlbHMvZW50aXR5Q2hhbmdlJztcbmltcG9ydCB7R3VpRW50aXR5TW9kZWxEdG99IGZyb20gJy4uLy4uL2FwaS9tb2RlbHMvZ3VpRW50aXR5TW9kZWwnO1xuaW1wb3J0IHtSZXZFbnRpdHlXaXRoQ2hhbmdlc0R0b30gZnJvbSAnLi4vLi4vYXBpL21vZGVscy9yZXZFbnRpdHlXaXRoQ2hhbmdlc0R0byc7XG5pbXBvcnQge1JldmlzaW9uVHlwZUR0bywgcmV2aXNpb25UeXBlRW51bX0gZnJvbSAnLi4vLi4vYXBpL21vZGVscy9yZXZpc2lvblR5cGUnO1xuaW1wb3J0IHtBdWRpdFNlcnZpY2V9IGZyb20gJy4uLy4uL2FwaS9zZXJ2aWNlcy9hdWRpdC5zZXJ2aWNlJztcbmltcG9ydCB7RW50aXR5UmV2aXNpb25DaGFuZ2VTdGF0ZX0gZnJvbSAnLi4vLi4vbW9kZWxzL2VudGl0eS1yZXZpc2lvbi1jaGFuZ2Utc3RhdGUubW9kZWwnO1xuaW1wb3J0IHtFbnRpdHlSZXZpc2lvbkNoYW5nZXN9IGZyb20gJy4uLy4uL21vZGVscy9lbnRpdHktcmV2aXNpb24tY2hhbmdlcy5tb2RlbCc7XG5pbXBvcnQge0F1ZGl0VXRpbH0gZnJvbSAnLi4vLi4vdXRpbHMvYXVkaXQudXRpbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdtbmctZW50aXR5LWNoYW5nZXMtZmllbGQnLFxuICAgIGltcG9ydHM6IFtUYWJsZUNvbXBvbmVudF0sXG4gICAgc3R5bGVVcmxzOiBbJ2VudGl0eS1jaGFuZ2VzLWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgdGVtcGxhdGVVcmw6ICdlbnRpdHktY2hhbmdlcy1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRW50aXR5Q2hhbmdlc0ZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQUZvcm1seUN1c3RvbUZpZWxkQ29tcG9uZW50PFJldkVudGl0eVdpdGhDaGFuZ2VzRHRvWydlbnRpdHlOYW1lQ2hhbmdlc01hcCddLCBSZXZFbnRpdHlXaXRoQ2hhbmdlc0R0bz4gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpbmplY3Rvcj86IEluamVjdG9yO1xuXG4gICAgcHJpdmF0ZSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgcHVibGljIGVudGl0eUNoYW5nZXMgPSBzaWduYWw8XG4gICAgICAgIHtcbiAgICAgICAgICAgIGRhdGE6IEVudGl0eVJldmlzaW9uQ2hhbmdlcztcbiAgICAgICAgICAgIGRlc2NyaXB0b3I6IFRhYmxlRGVzY3JpcHRvckluc3Q8RW50aXR5UmV2aXNpb25DaGFuZ2VTdGF0ZT47XG4gICAgICAgIH1bXVxuICAgID4oW10pO1xuICAgIHB1YmxpYyBtb2RlbEZldGNoZWQgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgcHJpdmF0ZSBhdWRpdE1vZGVsOiBHdWlFbnRpdHlNb2RlbER0b1tdID0gW107XG4gICAgcHJpdmF0ZSBmaWVsZFZhbHVlPzogUmVjb3JkPHN0cmluZywgRW50aXR5Q2hhbmdlRHRvW10+O1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmllbGRWYWx1ZSA9IHRoaXMuZm9ybUNvbnRyb2wudmFsdWU7XG4gICAgICAgIHRoaXMuaW5qZWN0b3JcbiAgICAgICAgICAgID8uZ2V0KEF1ZGl0U2VydmljZSwgdW5kZWZpbmVkLCB7b3B0aW9uYWw6IHRydWV9KVxuICAgICAgICAgICAgPy5hdWRpdE1vZGVsJC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgICAgICAgICAgbmV4dDogbW9kZWwgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmF1ZGl0TW9kZWwgPSBtb2RlbDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZmllbGRWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbnRpdHlDaGFuZ2VzLnNldChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdWRpdFV0aWwubWFwSXRlbXNUb0VudGl0eUNoYW5nZXNBcnJheSh0aGlzLmZpZWxkVmFsdWUpLm1hcChmdiA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBmdixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRvcjogdGhpcy5jcmVhdGVEZXNjcmlwdG9yKGZ2KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW9kZWxGZXRjaGVkLnNldCh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZXJyb3I6IGVyciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBDb21tb25zSW50ZXJuYWxFcnJvcignRXJyb3Igd2hpbGUgdHJ5aW5nIHRvIGZldGNoIGF1ZGl0IG1vZGVsIGZyb20gYXVkaXQgc2VydmljZScsIHtuYW1lOiAnRW50aXR5Q2hhbmdlc0ZpZWxkQ29tcG9uZW50RXJyb3InLCBjYXVzZTogZXJyfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVEZXNjcmlwdG9yKGVudGl0eUNoYW5nZXM6IEVudGl0eVJldmlzaW9uQ2hhbmdlcykge1xuICAgICAgICBjb25zdCBjaGFuZ2VkRmllbGRzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBpZiAoZW50aXR5Q2hhbmdlcy5pdGVtcyAmJiBlbnRpdHlDaGFuZ2VzLml0ZW1zWzBdLnJldlR5cGUgPT09IFJldmlzaW9uVHlwZUR0by5Nb2QpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIGVudGl0eUNoYW5nZXMuaXRlbXNbMF0pIHtcbiAgICAgICAgICAgICAgICBpZiAoZW50aXR5Q2hhbmdlcy5pdGVtc1swXVtrZXldICE9PSBlbnRpdHlDaGFuZ2VzLml0ZW1zWzFdW2tleV0pIHtcbiAgICAgICAgICAgICAgICAgICAgY2hhbmdlZEZpZWxkcy5wdXNoKGtleSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZ3VpRW50aXR5TW9kZWwgPSB0aGlzLmF1ZGl0TW9kZWwuZmlsdGVyKG0gPT4gbS5lbnRpdHlOYW1lID09PSBlbnRpdHlDaGFuZ2VzLmVudGl0eVR5cGUpWzBdO1xuXG4gICAgICAgIGNvbnN0IGRlc2MgPSB0YWJsZURlc2NyaXB0b3I8RW50aXR5UmV2aXNpb25DaGFuZ2VTdGF0ZT4oe2kxOG5CYXNlOiBndWlFbnRpdHlNb2RlbC5lbnRpdHlOYW1lfSkud2l0aENsYXNzTmFtZSgncHktMicpO1xuICAgICAgICBpZiAoZ3VpRW50aXR5TW9kZWwuZW50aXR5TmFtZSkge1xuICAgICAgICAgICAgZGVzYy53aXRoVGl0bGUoZ3VpRW50aXR5TW9kZWwuZW50aXR5TmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICBkZXNjLmFkZENvbHVtbkVudW0oJ3JldlR5cGUnLCByZXZpc2lvblR5cGVFbnVtKS53aXRoVGl0bGUoJ01uZ0VudGl0eVJldmlzaW9uQ2hhbmdlU3RhdGUucHJvcGVydGllcy5yZXZUeXBlJyk7XG5cbiAgICAgICAgaWYgKGd1aUVudGl0eU1vZGVsLnByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgIEF1ZGl0VXRpbC5hZGRDb2x1bW5zRnJvbU1vZGVsKGRlc2MsIGd1aUVudGl0eU1vZGVsLnByb3BlcnRpZXMsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRlc2Mud2l0aFJvd0NsYXNzTmFtZSh1bmRlZmluZWQsIChfLCBpdGVtKSA9PiAoaXRlbSA/IChpdGVtLmNvbG9yID09PSAnZ3JlZW4nID8gJ2F1ZGl0LXJvdy1hZGRlZCcgOiAnYXVkaXQtcm93LWRlbGV0ZWQnKSA6ICcnKSk7XG4gICAgICAgIGRlc2MuY29sdW1ucy5mb3JFYWNoKGNvbCA9PiB7XG4gICAgICAgICAgICBpZiAoY2hhbmdlZEZpZWxkcy5sZW5ndGggPiAwICYmIGNoYW5nZWRGaWVsZHMuc29tZSh2YWwgPT4gY29sLnByb3BlcnR5ID09PSB2YWwpKSB7XG4gICAgICAgICAgICAgICAgY29sLndpdGhDbGFzc05hbWUoJ2F1ZGl0LWNlbGwnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgZGVzYy53aXRoUGFnaW5hdGlvbk1vZGUoVGFibGVQYWdpbmF0aW9uTW9kZUVudW0uUGFnaW5hdGlvbik7XG4gICAgICAgIGRlc2Mud2l0aEN1cnJlbnRDb2x1bW5zUmVvcmRlcmFibGUoKTtcbiAgICAgICAgZGVzYy53aXRoQ3VycmVudENvbHVtbnNUb2dnbGVhYmxlKCk7XG4gICAgICAgIGRlc2Mud2l0aFRyYWNrUHJvcGVydHkoYEVudGl0eUNoYW5nZUZpZWxkXyR7ZW50aXR5Q2hhbmdlcy5lbnRpdHlUeXBlID8/ICdkZWZhdWx0J31gKTtcblxuICAgICAgICByZXR1cm4gZGVzYztcbiAgICB9XG59XG4iLCJAaWYgKG1vZGVsRmV0Y2hlZCgpKSB7XG4gICAgPGRpdj5cbiAgICAgICAgQGZvciAoZWMgb2YgZW50aXR5Q2hhbmdlcygpOyB0cmFjayBlYykge1xuICAgICAgICAgICAgPG1uZy10YWJsZSBbaXRlbXNdPVwiZWMuZGF0YS5pdGVtc1wiIFtkZXNjcmlwdG9yXT1cImVjLmRlc2NyaXB0b3JcIj48L21uZy10YWJsZT5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxufSBAZWxzZSB7XG4gICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyXCI+XG4gICAgICAgIDxpIGNsYXNzPVwicGkgcGktc3BpbiBwaS1zcGlubmVyXCIgc3R5bGU9XCJmb250LXNpemU6IDJyZW1cIj48L2k+XG4gICAgPC9kaXY+XG59XG4iXX0=
@@ -2,11 +2,11 @@ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
2
  import { RouterOutlet } from '@angular/router';
3
3
  import * as i0 from "@angular/core";
4
4
  export class AuditPageComponent {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AuditPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.5", type: AuditPageComponent, isStandalone: true, selector: "mng-audit-page", ngImport: i0, template: "<router-outlet></router-outlet>\n", dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AuditPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: AuditPageComponent, isStandalone: true, selector: "mng-audit-page", ngImport: i0, template: "<router-outlet></router-outlet>\n", dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7
7
  }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AuditPageComponent, decorators: [{
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AuditPageComponent, decorators: [{
9
9
  type: Component,
10
10
  args: [{ standalone: true, selector: 'mng-audit-page', imports: [RouterOutlet], changeDetection: ChangeDetectionStrategy.OnPush, template: "<router-outlet></router-outlet>\n" }]
11
11
  }] });
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQucGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvcGFnZXMvYXVkaXQvYXVkaXQucGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvcGFnZXMvYXVkaXQvYXVkaXQucGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7QUFTN0MsTUFBTSxPQUFPLGtCQUFrQjs4R0FBbEIsa0JBQWtCO2tHQUFsQixrQkFBa0IsMEVDVi9CLG1DQUNBLDRDREtjLFlBQVk7OzJGQUliLGtCQUFrQjtrQkFQOUIsU0FBUztpQ0FDTSxJQUFJLFlBQ04sZ0JBQWdCLFdBQ2pCLENBQUMsWUFBWSxDQUFDLG1CQUVOLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXJPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdtbmctYXVkaXQtcGFnZScsXG4gICAgaW1wb3J0czogW1JvdXRlck91dGxldF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2F1ZGl0LnBhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEF1ZGl0UGFnZUNvbXBvbmVudCB7fVxuIiwiPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxuIl19
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQucGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvcGFnZXMvYXVkaXQvYXVkaXQucGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvcGFnZXMvYXVkaXQvYXVkaXQucGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7QUFTN0MsTUFBTSxPQUFPLGtCQUFrQjsrR0FBbEIsa0JBQWtCO21HQUFsQixrQkFBa0IsMEVDVi9CLG1DQUNBLDRDREtjLFlBQVk7OzRGQUliLGtCQUFrQjtrQkFQOUIsU0FBUztpQ0FDTSxJQUFJLFlBQ04sZ0JBQWdCLFdBQ2pCLENBQUMsWUFBWSxDQUFDLG1CQUVOLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXJPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdtbmctYXVkaXQtcGFnZScsXG4gICAgaW1wb3J0czogW1JvdXRlck91dGxldF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2F1ZGl0LnBhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEF1ZGl0UGFnZUNvbXBvbmVudCB7fVxuIiwiPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxuIl19
@@ -130,18 +130,20 @@ export class AuditEntityRevisionsPageComponent {
130
130
  }
131
131
  onRevisionEntityChange(value) {
132
132
  this.showTableview.set(false);
133
+ const currentUrl = this.router.url;
134
+ const routePrefix = currentUrl.substring(0, currentUrl.lastIndexOf('/audit/entity-revisions') + '/audit/entity-revisions'.length);
133
135
  if (value) {
134
- this.router.navigate(['/audit/entity-revisions/' + value.entityName]);
136
+ this.router.navigate([routePrefix, value.entityName]);
135
137
  }
136
138
  else {
137
- this.router.navigate(['/audit/entity-revisions/']);
139
+ this.router.navigate([routePrefix]);
138
140
  }
139
141
  }
140
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AuditEntityRevisionsPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
141
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.5", type: AuditEntityRevisionsPageComponent, isStandalone: true, selector: "mng-audit-entity-revisions-page", providers: [AuditRevisionsApiService], ngImport: i0, template: "<div class=\"card\">\n <div class=\"field mb-0\">\n <mng-dropdown\n id=\"revisionEntityDropdown\"\n [placeholder]=\"'pages.entityRevisions.dropdown.placeholder' | translate\"\n optionsLabelProperty=\"entityNameI18n\"\n [ngModel]=\"selectedRevisionEntity()\"\n (valueChange)=\"onRevisionEntityChange($event)\"\n [dataProvider]=\"revisionEntitiesLookupProvider\"\n [showClear]=\"true\"></mng-dropdown>\n @if (!selectedRevisionEntity()) {\n <small class=\"block\">\n {{ 'pages.entityRevisions.dropdown.helpText' | translate }}\n </small>\n }\n </div>\n</div>\n@if (showTableview() && descriptor()) {\n <mng-tableview [descriptor]=\"descriptor()!\" [dataProvider]=\"dataProvider()\" [actions]=\"actions()\"></mng-tableview>\n}\n", dependencies: [{ kind: "component", type: DropdownComponent, selector: "mng-dropdown", inputs: ["dataProvider", "options", "optionsTrackProperty", "optionsLabelProperty", "optionsLabelTranslate", "optionsValueProperty", "optionsDisabledProperty", "multiselect", "placeholder", "showClear", "selectFirstItem", "className", "dropdownClassName", "changeValueOnBlur", "loading", "disabled", "allowInput", "appendTo", "inlineSearch", "searchTrim"], outputs: ["valueChange", "blur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: FormlyModule }, { kind: "component", type: TableviewComponent, selector: "mng-tableview", inputs: ["descriptor", "dataProvider", "actions"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
142
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AuditEntityRevisionsPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
143
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: AuditEntityRevisionsPageComponent, isStandalone: true, selector: "mng-audit-entity-revisions-page", providers: [AuditRevisionsApiService], ngImport: i0, template: "<div class=\"card\">\n <div class=\"field mb-0\">\n <mng-dropdown\n id=\"revisionEntityDropdown\"\n [placeholder]=\"'pages.entityRevisions.dropdown.placeholder' | translate\"\n optionsLabelProperty=\"entityNameI18n\"\n [ngModel]=\"selectedRevisionEntity()\"\n (valueChange)=\"onRevisionEntityChange($event)\"\n [dataProvider]=\"revisionEntitiesLookupProvider\"\n [showClear]=\"true\"></mng-dropdown>\n @if (!selectedRevisionEntity()) {\n <small class=\"block\">\n {{ 'pages.entityRevisions.dropdown.helpText' | translate }}\n </small>\n }\n </div>\n</div>\n@if (showTableview() && descriptor()) {\n <mng-tableview [descriptor]=\"descriptor()!\" [dataProvider]=\"dataProvider()\" [actions]=\"actions()\"></mng-tableview>\n}\n", dependencies: [{ kind: "component", type: DropdownComponent, selector: "mng-dropdown", inputs: ["dataProvider", "options", "optionsTrackProperty", "optionsLabelProperty", "optionsLabelTranslate", "optionsValueProperty", "optionsDisabledProperty", "multiselect", "placeholder", "showClear", "selectFirstItem", "className", "dropdownClassName", "changeValueOnBlur", "loading", "disabled", "allowInput", "appendTo", "inlineSearch", "searchTrim"], outputs: ["valueChange", "blur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: FormlyModule }, { kind: "component", type: TableviewComponent, selector: "mng-tableview", inputs: ["descriptor", "dataProvider", "actions"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
142
144
  }
143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AuditEntityRevisionsPageComponent, decorators: [{
145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AuditEntityRevisionsPageComponent, decorators: [{
144
146
  type: Component,
145
147
  args: [{ standalone: true, selector: 'mng-audit-entity-revisions-page', imports: [DropdownComponent, FormsModule, AsyncPipe, TranslateModule, FormlyModule, TableviewComponent], providers: [AuditRevisionsApiService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"card\">\n <div class=\"field mb-0\">\n <mng-dropdown\n id=\"revisionEntityDropdown\"\n [placeholder]=\"'pages.entityRevisions.dropdown.placeholder' | translate\"\n optionsLabelProperty=\"entityNameI18n\"\n [ngModel]=\"selectedRevisionEntity()\"\n (valueChange)=\"onRevisionEntityChange($event)\"\n [dataProvider]=\"revisionEntitiesLookupProvider\"\n [showClear]=\"true\"></mng-dropdown>\n @if (!selectedRevisionEntity()) {\n <small class=\"block\">\n {{ 'pages.entityRevisions.dropdown.helpText' | translate }}\n </small>\n }\n </div>\n</div>\n@if (showTableview() && descriptor()) {\n <mng-tableview [descriptor]=\"descriptor()!\" [dataProvider]=\"dataProvider()\" [actions]=\"actions()\"></mng-tableview>\n}\n" }]
146
148
  }], ctorParameters: () => [] });
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtZW50aXR5LXJldmlzaW9ucy5wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9wYWdlcy9lbnRpdHktcmV2aXNpb25zL2F1ZGl0LWVudGl0eS1yZXZpc2lvbnMucGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvcGFnZXMvZW50aXR5LXJldmlzaW9ucy9hdWRpdC1lbnRpdHktcmV2aXNpb25zLnBhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUV2RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFDLGVBQWUsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLE9BQU8sRUFBQyxvQkFBb0IsRUFBVyxNQUFNLDZCQUE2QixDQUFDO0FBQzNFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFN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QixFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxhQUM1RixDQUFDLHdCQUF3QixDQUFDLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBc3luY1BpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBlZmZlY3QsIGluamVjdCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHtGb3JtbHlNb2R1bGV9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHt0aHJvd0Vycm9yfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7Q29tbW9uc0ludGVybmFsRXJyb3IsIE51bGxhYmxlfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuaW1wb3J0IHtEcm9wZG93bkNvbXBvbmVudH0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9mb3JtJztcbmltcG9ydCB7bG9va3VwRGF0YVByb3ZpZGVyV2l0aFNlcnZpY2V9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvZm9ybS9hcGknO1xuaW1wb3J0IHtUYWJsZXZpZXdDb21wb25lbnR9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvdGFibGV2aWV3JztcbmltcG9ydCB7QWN0aW9uRGVzY3JpcHRvckluc3QsIGFjdGlvbkVkaXRvckRldGFpbHMsIHRhYmxldmlld0RhdGFQcm92aWRlcldpdGhTZXJ2aWNlLCB0YWJsZXZpZXdEZXNjcmlwdG9yfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL3RhYmxldmlldy9hcGknO1xuXG5pbXBvcnQge0d1aUVudGl0eU1vZGVsRHRvfSBmcm9tICcuLi8uLi8uLi9hcGkvbW9kZWxzL2d1aUVudGl0eU1vZGVsJztcbmltcG9ydCB7QXVkaXRSZXZpc2lvbnNBcGlTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9hcGkvc2VydmljZXMvYXVkaXQtcmV2aXNpb25zLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7QXVkaXRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9hcGkvc2VydmljZXMvYXVkaXQuc2VydmljZSc7XG5pbXBvcnQge0d1aUVudGl0eU1vZGVsV2l0aEkxOG59IGZyb20gJy4uLy4uLy4uL21vZGVscy9ndWlFbnRpdHlNb2RlbFdpdGhJMThuLm1vZGVsJztcbmltcG9ydCB7UmV2RW50aXR5V2l0aElkfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcmV2RW50aXR5V2l0aElkLm1vZGVsJztcbmltcG9ydCB7QXVkaXRVdGlsfSBmcm9tICcuLi8uLi8uLi91dGlscy9hdWRpdC51dGlsJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ21uZy1hdWRpdC1lbnRpdHktcmV2aXNpb25zLXBhZ2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hdWRpdC1lbnRpdHktcmV2aXNpb25zLnBhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICAgIGltcG9ydHM6IFtEcm9wZG93bkNvbXBvbmVudCwgRm9ybXNNb2R1bGUsIEFzeW5jUGlwZSwgVHJhbnNsYXRlTW9kdWxlLCBGb3JtbHlNb2R1bGUsIFRhYmxldmlld0NvbXBvbmVudF0sXG4gICAgcHJvdmlkZXJzOiBbQXVkaXRSZXZpc2lvbnNBcGlTZXJ2aWNlXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBdWRpdEVudGl0eVJldmlzaW9uc1BhZ2VDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGUgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhdWRpdFNlcnZpY2UgPSBpbmplY3QoQXVkaXRTZXJ2aWNlKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmV2TW9kZWwgPSB0b1NpZ25hbCh0aGlzLmF1ZGl0U2VydmljZS5yZXZNb2RlbCQpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYXVkaXRNb2RlbCA9IHRvU2lnbmFsKHRoaXMuYXVkaXRTZXJ2aWNlLmF1ZGl0TW9kZWwkKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVudGl0eUNsYXNzID0gdG9TaWduYWwodGhpcy5yb3V0ZS5wYXJhbU1hcC5waXBlKG1hcChwbSA9PiBwbS5nZXQoJ2VudGl0eUNsYXNzJykgPz8gdW5kZWZpbmVkKSkpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkUmV2aXNpb25FbnRpdHkgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGVudGl0aWVzID0gdGhpcy5hdWRpdE1vZGVsKCk7XG4gICAgICAgIGNvbnN0IGVudGl0eUNsYXNzID0gdGhpcy5lbnRpdHlDbGFzcygpO1xuICAgICAgICBpZiAoZW50aXR5Q2xhc3MgJiYgZW50aXRpZXMpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZSBvZiBlbnRpdGllcykge1xuICAgICAgICAgICAgICAgIGlmIChlLmVudGl0eU5hbWUgPT09IGVudGl0eUNsYXNzKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0pO1xuICAgIHB1YmxpYyByZWFkb25seSBkZXNjcmlwdG9yID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCByZXZNb2RlbCA9IHRoaXMucmV2TW9kZWwoKTtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRSZXZpc2lvbkVudGl0eSA9IHRoaXMuc2VsZWN0ZWRSZXZpc2lvbkVudGl0eSgpO1xuICAgICAgICBpZiAoIXJldk1vZGVsIHx8ICFzZWxlY3RlZFJldmlzaW9uRW50aXR5Py5lbnRpdHlOYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGVzYyA9IHRhYmxldmlld0Rlc2NyaXB0b3I8UmV2RW50aXR5V2l0aElkPih7aWQ6ICdtZXJnZWRJZCcsIGkxOG5CYXNlOiBzZWxlY3RlZFJldmlzaW9uRW50aXR5LmVudGl0eU5hbWV9KTtcbiAgICAgICAgQXVkaXRVdGlsLmJ1aWxkRGVzY3JpcHRvckZvckVudGl0eVJldmlzaW9uKGRlc2MsIHJldk1vZGVsLCBzZWxlY3RlZFJldmlzaW9uRW50aXR5KTtcbiAgICAgICAgZGVzYy50YWJsZS53aXRoQ29sdW1uc1Jlc2l6YWJsZSgpO1xuICAgICAgICBkZXNjLnRhYmxlLndpdGhDdXJyZW50Q29sdW1uc1Jlb3JkZXJhYmxlKCk7XG4gICAgICAgIGRlc2MudGFibGUud2l0aEN1cnJlbnRDb2x1bW5zVG9nZ2xlYWJsZSgpO1xuXG4gICAgICAgIHJldHVybiBkZXNjO1xuICAgIH0pO1xuICAgIHB1YmxpYyByZWFkb25seSBkYXRhUHJvdmlkZXIgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHJldk1vZGVsID0gdGhpcy5yZXZNb2RlbCgpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZFJldmlzaW9uRW50aXR5ID0gdGhpcy5zZWxlY3RlZFJldmlzaW9uRW50aXR5KCk7XG4gICAgICAgIGlmICghcmV2TW9kZWwgfHwgIXNlbGVjdGVkUmV2aXNpb25FbnRpdHk/LmVudGl0eU5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBlbnRpdHlOYW1lID0gc2VsZWN0ZWRSZXZpc2lvbkVudGl0eS5lbnRpdHlOYW1lO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICByZXR1cm4gdGFibGV2aWV3RGF0YVByb3ZpZGVyV2l0aFNlcnZpY2U8QXVkaXRSZXZpc2lvbnNBcGlTZXJ2aWNlLCBSZXZFbnRpdHlXaXRoSWQ+KEF1ZGl0UmV2aXNpb25zQXBpU2VydmljZSkud2l0aEdldEFsbCgocGFyYW1zLCBzZXJ2aWNlKSA9PlxuICAgICAgICAgICAgc2VsZWN0ZWRSZXZpc2lvbkVudGl0eS5lbnRpdHlOYW1lXG4gICAgICAgICAgICAgICAgPyBzZXJ2aWNlLmxpc3RSZXZpc2lvbnNXaXRoU3RhdGVGb3JFbnRpdHlUeXBlKHBhcmFtcywgZW50aXR5TmFtZSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICBtYXAocmVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmV2RW50aXR5V2l0aFN0YXRlQW5kSWRMaXN0ID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcmV2RW50aXR5V2l0aFN0YXRlIG9mIHJlcy5kYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZXZFbnRpdHlXaXRoU3RhdGVBbmRJZDogUmV2RW50aXR5V2l0aElkID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lcmdlZElkOiByZXZFbnRpdHlXaXRoU3RhdGUucmV2RW50aXR5Py5bJ3JldiddICsgJ18nICsgcmV2RW50aXR5V2l0aFN0YXRlLmVudGl0eVN0YXRlPy5bJ2lkJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV2VHlwZTogcmV2RW50aXR5V2l0aFN0YXRlLnJldlR5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV2RW50aXR5OiByZXZFbnRpdHlXaXRoU3RhdGUucmV2RW50aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eVN0YXRlOiByZXZFbnRpdHlXaXRoU3RhdGUuZW50aXR5U3RhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5Q2xhc3NOYW1lOiByZXZFbnRpdHlXaXRoU3RhdGUuZW50aXR5Q2xhc3NOYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV2RW50aXR5V2l0aFN0YXRlQW5kSWRMaXN0LnB1c2gocmV2RW50aXR5V2l0aFN0YXRlQW5kSWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7ZGF0YTogcmV2RW50aXR5V2l0aFN0YXRlQW5kSWRMaXN0LCB0b3RhbENvdW50OiByZXMudG90YWxDb3VudH07XG4gICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICA6IHRocm93RXJyb3IoKCkgPT4gbmV3IENvbW1vbnNJbnRlcm5hbEVycm9yKCdObyByZXZpc2lvbiBlbnRpdHkgaXMgcHJvdmlkZWQgZm9yIGxpc3QuJykpXG4gICAgICAgICk7XG4gICAgfSk7XG4gICAgcHVibGljIHJlYWRvbmx5IGFjdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkUmV2aXNpb25FbnRpdHkgPSB0aGlzLnNlbGVjdGVkUmV2aXNpb25FbnRpdHkoKTtcbiAgICAgICAgY29uc3QgZGVzY3JpcHRvciA9IHRoaXMuZGVzY3JpcHRvcigpO1xuICAgICAgICBpZiAoIXNlbGVjdGVkUmV2aXNpb25FbnRpdHk/LmVudGl0eU5hbWUgfHwgIWRlc2NyaXB0b3IpIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlbnRpdHlOYW1lID0gc2VsZWN0ZWRSZXZpc2lvbkVudGl0eS5lbnRpdHlOYW1lO1xuICAgICAgICBjb25zdCBkZXRhaWxzQWN0aW9uID0gYWN0aW9uRWRpdG9yRGV0YWlsczxSZXZFbnRpdHlXaXRoSWQsIEF1ZGl0UmV2aXNpb25zQXBpU2VydmljZT4oZGVzY3JpcHRvci5kZXRhaWxzRWRpdG9yLCBBdWRpdFJldmlzaW9uc0FwaVNlcnZpY2UpXG4gICAgICAgICAgICAud2l0aEZldGNoRnVuY3Rpb24oY3R4ID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWVudGl0eU5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IENvbW1vbnNJbnRlcm5hbEVycm9yKCdObyByZXZpc2lvbiBlbnRpdHkgaXMgcHJvdmlkZWQgZm9yIGRldGFpbHMuJykpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoIWN0eC5wYXJhbWV0ZXJzLml0ZW1JZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgQ29tbW9uc0ludGVybmFsRXJyb3IoJ05vIGl0ZW0gaWQgZm9yIHJldmlzaW9uIGVudGl0eSBkZXRhaWxzIGlzIHByb3ZpZGVkLicpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgcmV2SWQgPSBjdHgucGFyYW1ldGVycy5pdGVtSWQudG9TdHJpbmcoKS5zcGxpdCgnXycpWzBdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1JZCA9IGN0eC5wYXJhbWV0ZXJzLml0ZW1JZC50b1N0cmluZygpLnNwbGl0KCdfJylbMV07XG4gICAgICAgICAgICAgICAgcmV0dXJuIGN0eC5zZXJ2aWNlSW5zdGFuY2UuZmV0Y2hSZXZpc2lvbnNXaXRoU3RhdGVGb3JFbnRpdHlUeXBlKGVudGl0eU5hbWUsIHJldklkLCBpdGVtSWQpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC53aXRoRWRpdG9yVGl0bGUoJ3BhZ2VzLmVudGl0eVJldmlzaW9ucy5hY3Rpb25zLmRldGFpbHMuZWRpdG9yLnRpdGxlJyk7XG4gICAgICAgIHJldHVybiBbZGV0YWlsc0FjdGlvbl0gYXMgQWN0aW9uRGVzY3JpcHRvckluc3Q8UmV2RW50aXR5V2l0aElkPltdO1xuICAgIH0pO1xuXG4gICAgcHVibGljIHJldmlzaW9uRW50aXRpZXNMb29rdXBQcm92aWRlciA9IGxvb2t1cERhdGFQcm92aWRlcldpdGhTZXJ2aWNlPEF1ZGl0U2VydmljZSwgR3VpRW50aXR5TW9kZWxXaXRoSTE4bj4oQXVkaXRTZXJ2aWNlKS53aXRoTG9va3VwKCgpID0+XG4gICAgICAgIHRoaXMuYXVkaXRTZXJ2aWNlLmF1ZGl0TW9kZWwkLnBpcGUoXG4gICAgICAgICAgICBtYXAobW9kZWwgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1vZGVsSTE4biA9IG1vZGVsIGFzIEd1aUVudGl0eU1vZGVsV2l0aEkxOG5bXTtcbiAgICAgICAgICAgICAgICBtb2RlbEkxOG4uc29ydCgobTEsIG0yKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChtMS5lbnRpdHlOYW1lICYmIG0yLmVudGl0eU5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBtMS5lbnRpdHlOYW1lLmxvY2FsZUNvbXBhcmUobTIuZW50aXR5TmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAobTEuZW50aXR5TmFtZSAmJiAhbTIuZW50aXR5TmFtZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBtb2RlbEkxOG4uZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdHJhbnNsYXRlZEVudGl0eU5hbWUgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdBdWRpdEVudGl0aWVzLicgKyBpdGVtLmVudGl0eU5hbWUpO1xuICAgICAgICAgICAgICAgICAgICBpdGVtLmVudGl0eU5hbWVJMThuID0gdHJhbnNsYXRlZEVudGl0eU5hbWUuaW5jbHVkZXMoJ0F1ZGl0RW50aXRpZXMuJykgPyBpdGVtLmVudGl0eU5hbWUgOiB0cmFuc2xhdGVkRW50aXR5TmFtZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbW9kZWxJMThuO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICk7XG4gICAgcHVibGljIHNob3dUYWJsZXZpZXcgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGVmZmVjdChcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkZXNjcmlwdG9yID0gdGhpcy5kZXNjcmlwdG9yKCk7XG4gICAgICAgICAgICAgICAgaWYgKGRlc2NyaXB0b3IpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dUYWJsZXZpZXcuc2V0KHRydWUpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge2FsbG93U2lnbmFsV3JpdGVzOiB0cnVlfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblJldmlzaW9uRW50aXR5Q2hhbmdlKHZhbHVlOiBOdWxsYWJsZTxHdWlFbnRpdHlNb2RlbER0bz4pIHtcbiAgICAgICAgdGhpcy5zaG93VGFibGV2aWV3LnNldChmYWxzZSk7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvYXVkaXQvZW50aXR5LXJldmlzaW9ucy8nICsgdmFsdWUuZW50aXR5TmFtZV0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvYXVkaXQvZW50aXR5LXJldmlzaW9ucy8nXSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2FyZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBtYi0wXCI+XG4gICAgICAgIDxtbmctZHJvcGRvd25cbiAgICAgICAgICAgIGlkPVwicmV2aXNpb25FbnRpdHlEcm9wZG93blwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3BhZ2VzLmVudGl0eVJldmlzaW9ucy5kcm9wZG93bi5wbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgb3B0aW9uc0xhYmVsUHJvcGVydHk9XCJlbnRpdHlOYW1lSTE4blwiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJzZWxlY3RlZFJldmlzaW9uRW50aXR5KClcIlxuICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uUmV2aXNpb25FbnRpdHlDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICBbZGF0YVByb3ZpZGVyXT1cInJldmlzaW9uRW50aXRpZXNMb29rdXBQcm92aWRlclwiXG4gICAgICAgICAgICBbc2hvd0NsZWFyXT1cInRydWVcIj48L21uZy1kcm9wZG93bj5cbiAgICAgICAgQGlmICghc2VsZWN0ZWRSZXZpc2lvbkVudGl0eSgpKSB7XG4gICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJibG9ja1wiPlxuICAgICAgICAgICAgICAgIHt7ICdwYWdlcy5lbnRpdHlSZXZpc2lvbnMuZHJvcGRvd24uaGVscFRleHQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L3NtYWxsPlxuICAgICAgICB9XG4gICAgPC9kaXY+XG48L2Rpdj5cbkBpZiAoc2hvd1RhYmxldmlldygpICYmIGRlc2NyaXB0b3IoKSkge1xuICAgIDxtbmctdGFibGV2aWV3IFtkZXNjcmlwdG9yXT1cImRlc2NyaXB0b3IoKSFcIiBbZGF0YVByb3ZpZGVyXT1cImRhdGFQcm92aWRlcigpXCIgW2FjdGlvbnNdPVwiYWN0aW9ucygpXCI+PC9tbmctdGFibGV2aWV3PlxufVxuIl19
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtZW50aXR5LXJldmlzaW9ucy5wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9wYWdlcy9lbnRpdHktcmV2aXNpb25zL2F1ZGl0LWVudGl0eS1yZXZpc2lvbnMucGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvcGFnZXMvZW50aXR5LXJldmlzaW9ucy9hdWRpdC1lbnRpdHktcmV2aXNpb25zLnBhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUV2RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFDLGVBQWUsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLE9BQU8sRUFBQyxvQkFBb0IsRUFBVyxNQUFNLDZCQUE2QixDQUFDO0FBQzNFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFN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SC9CLENBQUMsd0JBQXdCLENBQUMsMEJDN0J6QyxzMkJBb0JBLDRDRFFjLGlCQUFpQiwrYkFBRSxXQUFXLDhWQUFhLGVBQWUsMkZBQUUsWUFBWSwrQkFBRSxrQkFBa0I7OzRGQUk3RixpQ0FBaUM7a0JBUjdDLFNBQVM7aUNBQ00sSUFBSSxZQUNOLGlDQUFpQyxXQUVsQyxDQUFDLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxhQUM1RixDQUFDLHdCQUF3QixDQUFDLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBc3luY1BpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBlZmZlY3QsIGluamVjdCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHtGb3JtbHlNb2R1bGV9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHt0aHJvd0Vycm9yfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7Q29tbW9uc0ludGVybmFsRXJyb3IsIE51bGxhYmxlfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuaW1wb3J0IHtEcm9wZG93bkNvbXBvbmVudH0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9mb3JtJztcbmltcG9ydCB7bG9va3VwRGF0YVByb3ZpZGVyV2l0aFNlcnZpY2V9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvZm9ybS9hcGknO1xuaW1wb3J0IHtUYWJsZXZpZXdDb21wb25lbnR9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvdGFibGV2aWV3JztcbmltcG9ydCB7QWN0aW9uRGVzY3JpcHRvckluc3QsIGFjdGlvbkVkaXRvckRldGFpbHMsIHRhYmxldmlld0RhdGFQcm92aWRlcldpdGhTZXJ2aWNlLCB0YWJsZXZpZXdEZXNjcmlwdG9yfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL3RhYmxldmlldy9hcGknO1xuXG5pbXBvcnQge0d1aUVudGl0eU1vZGVsRHRvfSBmcm9tICcuLi8uLi8uLi9hcGkvbW9kZWxzL2d1aUVudGl0eU1vZGVsJztcbmltcG9ydCB7QXVkaXRSZXZpc2lvbnNBcGlTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9hcGkvc2VydmljZXMvYXVkaXQtcmV2aXNpb25zLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7QXVkaXRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9hcGkvc2VydmljZXMvYXVkaXQuc2VydmljZSc7XG5pbXBvcnQge0d1aUVudGl0eU1vZGVsV2l0aEkxOG59IGZyb20gJy4uLy4uLy4uL21vZGVscy9ndWlFbnRpdHlNb2RlbFdpdGhJMThuLm1vZGVsJztcbmltcG9ydCB7UmV2RW50aXR5V2l0aElkfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcmV2RW50aXR5V2l0aElkLm1vZGVsJztcbmltcG9ydCB7QXVkaXRVdGlsfSBmcm9tICcuLi8uLi8uLi91dGlscy9hdWRpdC51dGlsJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ21uZy1hdWRpdC1lbnRpdHktcmV2aXNpb25zLXBhZ2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hdWRpdC1lbnRpdHktcmV2aXNpb25zLnBhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICAgIGltcG9ydHM6IFtEcm9wZG93bkNvbXBvbmVudCwgRm9ybXNNb2R1bGUsIEFzeW5jUGlwZSwgVHJhbnNsYXRlTW9kdWxlLCBGb3JtbHlNb2R1bGUsIFRhYmxldmlld0NvbXBvbmVudF0sXG4gICAgcHJvdmlkZXJzOiBbQXVkaXRSZXZpc2lvbnNBcGlTZXJ2aWNlXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBdWRpdEVudGl0eVJldmlzaW9uc1BhZ2VDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGUgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhdWRpdFNlcnZpY2UgPSBpbmplY3QoQXVkaXRTZXJ2aWNlKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmV2TW9kZWwgPSB0b1NpZ25hbCh0aGlzLmF1ZGl0U2VydmljZS5yZXZNb2RlbCQpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYXVkaXRNb2RlbCA9IHRvU2lnbmFsKHRoaXMuYXVkaXRTZXJ2aWNlLmF1ZGl0TW9kZWwkKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVudGl0eUNsYXNzID0gdG9TaWduYWwodGhpcy5yb3V0ZS5wYXJhbU1hcC5waXBlKG1hcChwbSA9PiBwbS5nZXQoJ2VudGl0eUNsYXNzJykgPz8gdW5kZWZpbmVkKSkpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkUmV2aXNpb25FbnRpdHkgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGVudGl0aWVzID0gdGhpcy5hdWRpdE1vZGVsKCk7XG4gICAgICAgIGNvbnN0IGVudGl0eUNsYXNzID0gdGhpcy5lbnRpdHlDbGFzcygpO1xuICAgICAgICBpZiAoZW50aXR5Q2xhc3MgJiYgZW50aXRpZXMpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZSBvZiBlbnRpdGllcykge1xuICAgICAgICAgICAgICAgIGlmIChlLmVudGl0eU5hbWUgPT09IGVudGl0eUNsYXNzKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0pO1xuICAgIHB1YmxpYyByZWFkb25seSBkZXNjcmlwdG9yID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCByZXZNb2RlbCA9IHRoaXMucmV2TW9kZWwoKTtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRSZXZpc2lvbkVudGl0eSA9IHRoaXMuc2VsZWN0ZWRSZXZpc2lvbkVudGl0eSgpO1xuICAgICAgICBpZiAoIXJldk1vZGVsIHx8ICFzZWxlY3RlZFJldmlzaW9uRW50aXR5Py5lbnRpdHlOYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGVzYyA9IHRhYmxldmlld0Rlc2NyaXB0b3I8UmV2RW50aXR5V2l0aElkPih7aWQ6ICdtZXJnZWRJZCcsIGkxOG5CYXNlOiBzZWxlY3RlZFJldmlzaW9uRW50aXR5LmVudGl0eU5hbWV9KTtcbiAgICAgICAgQXVkaXRVdGlsLmJ1aWxkRGVzY3JpcHRvckZvckVudGl0eVJldmlzaW9uKGRlc2MsIHJldk1vZGVsLCBzZWxlY3RlZFJldmlzaW9uRW50aXR5KTtcbiAgICAgICAgZGVzYy50YWJsZS53aXRoQ29sdW1uc1Jlc2l6YWJsZSgpO1xuICAgICAgICBkZXNjLnRhYmxlLndpdGhDdXJyZW50Q29sdW1uc1Jlb3JkZXJhYmxlKCk7XG4gICAgICAgIGRlc2MudGFibGUud2l0aEN1cnJlbnRDb2x1bW5zVG9nZ2xlYWJsZSgpO1xuXG4gICAgICAgIHJldHVybiBkZXNjO1xuICAgIH0pO1xuICAgIHB1YmxpYyByZWFkb25seSBkYXRhUHJvdmlkZXIgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHJldk1vZGVsID0gdGhpcy5yZXZNb2RlbCgpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZFJldmlzaW9uRW50aXR5ID0gdGhpcy5zZWxlY3RlZFJldmlzaW9uRW50aXR5KCk7XG4gICAgICAgIGlmICghcmV2TW9kZWwgfHwgIXNlbGVjdGVkUmV2aXNpb25FbnRpdHk/LmVudGl0eU5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBlbnRpdHlOYW1lID0gc2VsZWN0ZWRSZXZpc2lvbkVudGl0eS5lbnRpdHlOYW1lO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICByZXR1cm4gdGFibGV2aWV3RGF0YVByb3ZpZGVyV2l0aFNlcnZpY2U8QXVkaXRSZXZpc2lvbnNBcGlTZXJ2aWNlLCBSZXZFbnRpdHlXaXRoSWQ+KEF1ZGl0UmV2aXNpb25zQXBpU2VydmljZSkud2l0aEdldEFsbCgocGFyYW1zLCBzZXJ2aWNlKSA9PlxuICAgICAgICAgICAgc2VsZWN0ZWRSZXZpc2lvbkVudGl0eS5lbnRpdHlOYW1lXG4gICAgICAgICAgICAgICAgPyBzZXJ2aWNlLmxpc3RSZXZpc2lvbnNXaXRoU3RhdGVGb3JFbnRpdHlUeXBlKHBhcmFtcywgZW50aXR5TmFtZSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICBtYXAocmVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmV2RW50aXR5V2l0aFN0YXRlQW5kSWRMaXN0ID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcmV2RW50aXR5V2l0aFN0YXRlIG9mIHJlcy5kYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZXZFbnRpdHlXaXRoU3RhdGVBbmRJZDogUmV2RW50aXR5V2l0aElkID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lcmdlZElkOiByZXZFbnRpdHlXaXRoU3RhdGUucmV2RW50aXR5Py5bJ3JldiddICsgJ18nICsgcmV2RW50aXR5V2l0aFN0YXRlLmVudGl0eVN0YXRlPy5bJ2lkJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV2VHlwZTogcmV2RW50aXR5V2l0aFN0YXRlLnJldlR5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV2RW50aXR5OiByZXZFbnRpdHlXaXRoU3RhdGUucmV2RW50aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eVN0YXRlOiByZXZFbnRpdHlXaXRoU3RhdGUuZW50aXR5U3RhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5Q2xhc3NOYW1lOiByZXZFbnRpdHlXaXRoU3RhdGUuZW50aXR5Q2xhc3NOYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV2RW50aXR5V2l0aFN0YXRlQW5kSWRMaXN0LnB1c2gocmV2RW50aXR5V2l0aFN0YXRlQW5kSWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7ZGF0YTogcmV2RW50aXR5V2l0aFN0YXRlQW5kSWRMaXN0LCB0b3RhbENvdW50OiByZXMudG90YWxDb3VudH07XG4gICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICA6IHRocm93RXJyb3IoKCkgPT4gbmV3IENvbW1vbnNJbnRlcm5hbEVycm9yKCdObyByZXZpc2lvbiBlbnRpdHkgaXMgcHJvdmlkZWQgZm9yIGxpc3QuJykpXG4gICAgICAgICk7XG4gICAgfSk7XG4gICAgcHVibGljIHJlYWRvbmx5IGFjdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkUmV2aXNpb25FbnRpdHkgPSB0aGlzLnNlbGVjdGVkUmV2aXNpb25FbnRpdHkoKTtcbiAgICAgICAgY29uc3QgZGVzY3JpcHRvciA9IHRoaXMuZGVzY3JpcHRvcigpO1xuICAgICAgICBpZiAoIXNlbGVjdGVkUmV2aXNpb25FbnRpdHk/LmVudGl0eU5hbWUgfHwgIWRlc2NyaXB0b3IpIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlbnRpdHlOYW1lID0gc2VsZWN0ZWRSZXZpc2lvbkVudGl0eS5lbnRpdHlOYW1lO1xuICAgICAgICBjb25zdCBkZXRhaWxzQWN0aW9uID0gYWN0aW9uRWRpdG9yRGV0YWlsczxSZXZFbnRpdHlXaXRoSWQsIEF1ZGl0UmV2aXNpb25zQXBpU2VydmljZT4oZGVzY3JpcHRvci5kZXRhaWxzRWRpdG9yLCBBdWRpdFJldmlzaW9uc0FwaVNlcnZpY2UpXG4gICAgICAgICAgICAud2l0aEZldGNoRnVuY3Rpb24oY3R4ID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWVudGl0eU5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IENvbW1vbnNJbnRlcm5hbEVycm9yKCdObyByZXZpc2lvbiBlbnRpdHkgaXMgcHJvdmlkZWQgZm9yIGRldGFpbHMuJykpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoIWN0eC5wYXJhbWV0ZXJzLml0ZW1JZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgQ29tbW9uc0ludGVybmFsRXJyb3IoJ05vIGl0ZW0gaWQgZm9yIHJldmlzaW9uIGVudGl0eSBkZXRhaWxzIGlzIHByb3ZpZGVkLicpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgcmV2SWQgPSBjdHgucGFyYW1ldGVycy5pdGVtSWQudG9TdHJpbmcoKS5zcGxpdCgnXycpWzBdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1JZCA9IGN0eC5wYXJhbWV0ZXJzLml0ZW1JZC50b1N0cmluZygpLnNwbGl0KCdfJylbMV07XG4gICAgICAgICAgICAgICAgcmV0dXJuIGN0eC5zZXJ2aWNlSW5zdGFuY2UuZmV0Y2hSZXZpc2lvbnNXaXRoU3RhdGVGb3JFbnRpdHlUeXBlKGVudGl0eU5hbWUsIHJldklkLCBpdGVtSWQpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC53aXRoRWRpdG9yVGl0bGUoJ3BhZ2VzLmVudGl0eVJldmlzaW9ucy5hY3Rpb25zLmRldGFpbHMuZWRpdG9yLnRpdGxlJyk7XG4gICAgICAgIHJldHVybiBbZGV0YWlsc0FjdGlvbl0gYXMgQWN0aW9uRGVzY3JpcHRvckluc3Q8UmV2RW50aXR5V2l0aElkPltdO1xuICAgIH0pO1xuXG4gICAgcHVibGljIHJldmlzaW9uRW50aXRpZXNMb29rdXBQcm92aWRlciA9IGxvb2t1cERhdGFQcm92aWRlcldpdGhTZXJ2aWNlPEF1ZGl0U2VydmljZSwgR3VpRW50aXR5TW9kZWxXaXRoSTE4bj4oQXVkaXRTZXJ2aWNlKS53aXRoTG9va3VwKCgpID0+XG4gICAgICAgIHRoaXMuYXVkaXRTZXJ2aWNlLmF1ZGl0TW9kZWwkLnBpcGUoXG4gICAgICAgICAgICBtYXAobW9kZWwgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1vZGVsSTE4biA9IG1vZGVsIGFzIEd1aUVudGl0eU1vZGVsV2l0aEkxOG5bXTtcbiAgICAgICAgICAgICAgICBtb2RlbEkxOG4uc29ydCgobTEsIG0yKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChtMS5lbnRpdHlOYW1lICYmIG0yLmVudGl0eU5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBtMS5lbnRpdHlOYW1lLmxvY2FsZUNvbXBhcmUobTIuZW50aXR5TmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAobTEuZW50aXR5TmFtZSAmJiAhbTIuZW50aXR5TmFtZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBtb2RlbEkxOG4uZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdHJhbnNsYXRlZEVudGl0eU5hbWUgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdBdWRpdEVudGl0aWVzLicgKyBpdGVtLmVudGl0eU5hbWUpO1xuICAgICAgICAgICAgICAgICAgICBpdGVtLmVudGl0eU5hbWVJMThuID0gdHJhbnNsYXRlZEVudGl0eU5hbWUuaW5jbHVkZXMoJ0F1ZGl0RW50aXRpZXMuJykgPyBpdGVtLmVudGl0eU5hbWUgOiB0cmFuc2xhdGVkRW50aXR5TmFtZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbW9kZWxJMThuO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICk7XG4gICAgcHVibGljIHNob3dUYWJsZXZpZXcgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGVmZmVjdChcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkZXNjcmlwdG9yID0gdGhpcy5kZXNjcmlwdG9yKCk7XG4gICAgICAgICAgICAgICAgaWYgKGRlc2NyaXB0b3IpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dUYWJsZXZpZXcuc2V0KHRydWUpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge2FsbG93U2lnbmFsV3JpdGVzOiB0cnVlfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblJldmlzaW9uRW50aXR5Q2hhbmdlKHZhbHVlOiBOdWxsYWJsZTxHdWlFbnRpdHlNb2RlbER0bz4pIHtcbiAgICAgICAgdGhpcy5zaG93VGFibGV2aWV3LnNldChmYWxzZSk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRVcmwgPSB0aGlzLnJvdXRlci51cmw7XG4gICAgICAgIGNvbnN0IHJvdXRlUHJlZml4ID0gY3VycmVudFVybC5zdWJzdHJpbmcoMCwgY3VycmVudFVybC5sYXN0SW5kZXhPZignL2F1ZGl0L2VudGl0eS1yZXZpc2lvbnMnKSArICcvYXVkaXQvZW50aXR5LXJldmlzaW9ucycubGVuZ3RoKTtcblxuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtyb3V0ZVByZWZpeCwgdmFsdWUuZW50aXR5TmFtZV0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3JvdXRlUHJlZml4XSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2FyZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBtYi0wXCI+XG4gICAgICAgIDxtbmctZHJvcGRvd25cbiAgICAgICAgICAgIGlkPVwicmV2aXNpb25FbnRpdHlEcm9wZG93blwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3BhZ2VzLmVudGl0eVJldmlzaW9ucy5kcm9wZG93bi5wbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgb3B0aW9uc0xhYmVsUHJvcGVydHk9XCJlbnRpdHlOYW1lSTE4blwiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJzZWxlY3RlZFJldmlzaW9uRW50aXR5KClcIlxuICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uUmV2aXNpb25FbnRpdHlDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICBbZGF0YVByb3ZpZGVyXT1cInJldmlzaW9uRW50aXRpZXNMb29rdXBQcm92aWRlclwiXG4gICAgICAgICAgICBbc2hvd0NsZWFyXT1cInRydWVcIj48L21uZy1kcm9wZG93bj5cbiAgICAgICAgQGlmICghc2VsZWN0ZWRSZXZpc2lvbkVudGl0eSgpKSB7XG4gICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJibG9ja1wiPlxuICAgICAgICAgICAgICAgIHt7ICdwYWdlcy5lbnRpdHlSZXZpc2lvbnMuZHJvcGRvd24uaGVscFRleHQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L3NtYWxsPlxuICAgICAgICB9XG4gICAgPC9kaXY+XG48L2Rpdj5cbkBpZiAoc2hvd1RhYmxldmlldygpICYmIGRlc2NyaXB0b3IoKSkge1xuICAgIDxtbmctdGFibGV2aWV3IFtkZXNjcmlwdG9yXT1cImRlc2NyaXB0b3IoKSFcIiBbZGF0YVByb3ZpZGVyXT1cImRhdGFQcm92aWRlcigpXCIgW2FjdGlvbnNdPVwiYWN0aW9ucygpXCI+PC9tbmctdGFibGV2aWV3PlxufVxuIl19
@@ -61,11 +61,11 @@ export class AuditRevisionsPageComponent {
61
61
  return [detailsAction];
62
62
  });
63
63
  }
64
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AuditRevisionsPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
65
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.5", type: AuditRevisionsPageComponent, isStandalone: true, selector: "mng-audit-revisions-page", providers: [AuditRevisionsApiService], ngImport: i0, template: "@if (showTableview()) {\n <mng-tableview [descriptor]=\"descriptor()\" [dataProvider]=\"dataProvider()\" [actions]=\"actions()\"></mng-tableview>\n}\n", dependencies: [{ kind: "component", type: TableviewComponent, selector: "mng-tableview", inputs: ["descriptor", "dataProvider", "actions"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
64
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AuditRevisionsPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
65
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: AuditRevisionsPageComponent, isStandalone: true, selector: "mng-audit-revisions-page", providers: [AuditRevisionsApiService], ngImport: i0, template: "@if (showTableview()) {\n <mng-tableview [descriptor]=\"descriptor()\" [dataProvider]=\"dataProvider()\" [actions]=\"actions()\"></mng-tableview>\n}\n", dependencies: [{ kind: "component", type: TableviewComponent, selector: "mng-tableview", inputs: ["descriptor", "dataProvider", "actions"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
66
66
  }
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AuditRevisionsPageComponent, decorators: [{
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AuditRevisionsPageComponent, decorators: [{
68
68
  type: Component,
69
69
  args: [{ standalone: true, selector: 'mng-audit-revisions-page', imports: [TableviewComponent, AsyncPipe, RouterOutlet, JsonPipe], providers: [AuditRevisionsApiService], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (showTableview()) {\n <mng-tableview [descriptor]=\"descriptor()\" [dataProvider]=\"dataProvider()\" [actions]=\"actions()\"></mng-tableview>\n}\n" }]
70
70
  }] });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtcmV2aXNpb25zLnBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL3BhZ2VzL3JldmlzaW9ucy9hdWRpdC1yZXZpc2lvbnMucGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvcGFnZXMvcmV2aXNpb25zL2F1ZGl0LXJldmlzaW9ucy5wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUU3QyxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBR0gsdUJBQXVCLEVBQ3ZCLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsZ0NBQWdDLEVBQ2hDLG1CQUFtQixFQUN0QixNQUFNLHNDQUFzQyxDQUFDO0FBRzlDLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzNGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUdqRSxPQUFPLEVBQUMsU0FBUyxF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Z3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0b3IsIGNvbXB1dGVkLCBpbmplY3QsIHNpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3RvU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1JvdXRlck91dGxldH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtpdGVtSWRUb0RlZmluZWR9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5pbXBvcnQge21vZGVsfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL21vZGVsJztcbmltcG9ydCB7VGFibGV2aWV3Q29tcG9uZW50fSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL3RhYmxldmlldyc7XG5pbXBvcnQge1xuICAgIEFjdGlvbkRlc2NyaXB0b3JJbnN0LFxuICAgIEVkaXRvckRlc2NyaXB0b3JJbnN0LFxuICAgIFRhYmxldmlld0VkaXRvclR5cGVFbnVtLFxuICAgIGFjdGlvbkVkaXRvckRldGFpbHMsXG4gICAgZWRpdG9yRGVzY3JpcHRvcixcbiAgICB0YWJsZXZpZXdEYXRhUHJvdmlkZXJXaXRoU2VydmljZSxcbiAgICB0YWJsZXZpZXdEZXNjcmlwdG9yXG59IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvdGFibGV2aWV3L2FwaSc7XG5cbmltcG9ydCB7UmV2RW50aXR5V2l0aENoYW5nZXNEdG99IGZyb20gJy4uLy4uLy4uL2FwaS9tb2RlbHMvcmV2RW50aXR5V2l0aENoYW5nZXNEdG8nO1xuaW1wb3J0IHtBdWRpdFJldmlzaW9uc0FwaVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2FwaS9zZXJ2aWNlcy9hdWRpdC1yZXZpc2lvbnMtYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHtBdWRpdFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2FwaS9zZXJ2aWNlcy9hdWRpdC5zZXJ2aWNlJztcbmltcG9ydCB7UmV2RW50aXR5RGV0YWlsZWR9IGZyb20gJy4uLy4uLy4uL21vZGVscy9yZXYtZW50aXR5LWRldGFpbGVkLm1vZGVsJztcbmltcG9ydCB7UmV2RW50aXR5fSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcmV2LWVudGl0eS5tb2RlbCc7XG5pbXBvcnQge0F1ZGl0VXRpbH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvYXVkaXQudXRpbCc7XG5pbXBvcnQge0VudGl0eUNoYW5nZXNGaWVsZENvbXBvbmVudH0gZnJvbSAnLi4vLi4vZW50aXR5LWNoYW5nZXMtZmllbGQvZW50aXR5LWNoYW5nZXMtZmllbGQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ21uZy1hdWRpdC1yZXZpc2lvbnMtcGFnZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2F1ZGl0LXJldmlzaW9ucy5wYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgICBpbXBvcnRzOiBbVGFibGV2aWV3Q29tcG9uZW50LCBBc3luY1BpcGUsIFJvdXRlck91dGxldCwgSnNvblBpcGVdLFxuICAgIHByb3ZpZGVyczogW0F1ZGl0UmV2aXNpb25zQXBpU2VydmljZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQXVkaXRSZXZpc2lvbnNQYWdlQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgICBwcml2YXRlIGF1ZGl0U2VydmljZSA9IGluamVjdChBdWRpdFNlcnZpY2UpO1xuXG4gICAgcHJpdmF0ZSByZXZNb2RlbCA9IHRvU2lnbmFsKHRoaXMuYXVkaXRTZXJ2aWNlLnJldk1vZGVsJCk7XG4gICAgcHVibGljIHNob3dUYWJsZXZpZXcgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJldk1vZGVsKCkgIT0gbnVsbCk7XG5cbiAgICBwdWJsaWMgZGVzY3JpcHRvciA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgcmV2TW9kZWwgPSB0aGlzLnJldk1vZGVsKCk7XG4gICAgICAgIGlmIChyZXZNb2RlbCkge1xuICAgICAgICAgICAgY29uc3QgaWRQcm9wZXJ0eSA9IHJldk1vZGVsLnByb3BlcnRpZXM/LmZpbHRlcihwcm9wID0+IHByb3AuaXNJZCkubWFwKHByb3AgPT4gcHJvcC5yZXNvbHZlZFByb3BlcnR5TmFtZSlbMF07XG5cbiAgICAgICAgICAgIGNvbnN0IHJldkVudE1vZGVsID0gbW9kZWw8UmV2RW50aXR5Pih7aWQ6ICdyZXYnLCB0aXRsZTogJ3JldicsIGkxOG5CYXNlOiAnTW5nUmV2RW50aXR5J30pO1xuICAgICAgICAgICAgaWYgKHJldk1vZGVsLmVudGl0eU5hbWUpIHJldkVudE1vZGVsLndpdGhJMThuQmFzZShyZXZNb2RlbC5lbnRpdHlOYW1lKTtcbiAgICAgICAgICAgIGlmIChpZFByb3BlcnR5KSByZXZFbnRNb2RlbC53aXRoSWRQcm9wZXJ0eVVuc2FmZShpZFByb3BlcnR5KTtcblxuICAgICAgICAgICAgY29uc3QgZGVzYyA9IHRhYmxldmlld0Rlc2NyaXB0b3IocmV2RW50TW9kZWwpO1xuXG4gICAgICAgICAgICBjb25zdCBkZXRhaWxzRGVzY3JpcHRvciA9IGVkaXRvckRlc2NyaXB0b3I8UmV2RW50aXR5V2l0aENoYW5nZXNEdG8+KHtpMThuQmFzZTogJ01uZ1JldkVudGl0eScsIHRhYmxldmlld0VkaXRvclR5cGU6IFRhYmxldmlld0VkaXRvclR5cGVFbnVtLkRldGFpbHN9KTtcbiAgICAgICAgICAgIGRldGFpbHNEZXNjcmlwdG9yLm1vZGVsLndpdGhJZFByb3BlcnR5VW5zYWZlKCdyZXZFbnRpdHkuJyArIGlkUHJvcGVydHkpO1xuXG4gICAgICAgICAgICBpZiAocmV2TW9kZWwucHJvcGVydGllcykge1xuICAgICAgICAgICAgICAgIEF1ZGl0VXRpbC5hZGRDb2x1bW5zRnJvbU1vZGVsKGRlc2MudGFibGUsIHJldk1vZGVsLnByb3BlcnRpZXMpO1xuICAgICAgICAgICAgICAgIEF1ZGl0VXRpbC5hZGRGaWVsZHNGcm9tTW9kZWw8UmV2RW50aXR5V2l0aENoYW5nZXNEdG8+KGRldGFpbHNEZXNjcmlwdG9yLCByZXZNb2RlbC5wcm9wZXJ0aWVzKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZGV0YWlsc0Rlc2NyaXB0b3JcbiAgICAgICAgICAgICAgICAuYWRkRmllbGQoJ2VudGl0eU5hbWVDaGFuZ2VzTWFwJylcbiAgICAgICAgICAgICAgICAuYXNDdXN0b21Db21wb25lbnQoRW50aXR5Q2hhbmdlc0ZpZWxkQ29tcG9uZW50LCB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkV3JhcHBlcnM6IFsnZmllbGQtbm8tbGFiZWwnXSxcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRzOiB7aW5qZWN0b3I6IHRoaXMuaW5qZWN0b3J9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAud2l0aERpc2FibGVkKCk7XG5cbiAgICAgICAgICAgIGRlc2Mud2l0aERldGFpbHNEZXNjcmlwdG9yKGRldGFpbHNEZXNjcmlwdG9yIGFzIEVkaXRvckRlc2NyaXB0b3JJbnN0PFJldkVudGl0eT4pOyAvLyBNbmdSZXZFbnRpdHkgaXMgZXh0ZW5kZWQgYnkgTW5nUmV2RW50aXR5V2l0aENoYW5nZXNEdG8sIHNvIG5vIHJlYWwgaGFybSBoZXJlXG5cbiAgICAgICAgICAgIHJldHVybiBkZXNjO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0YWJsZXZpZXdEZXNjcmlwdG9yPFJldkVudGl0eT4oKTtcbiAgICB9KTtcbiAgICBwdWJsaWMgZGF0YVByb3ZpZGVyID0gc2lnbmFsKFxuICAgICAgICB0YWJsZXZpZXdEYXRhUHJvdmlkZXJXaXRoU2VydmljZTxBdWRpdFJldmlzaW9uc0FwaVNlcnZpY2UsIFJldkVudGl0eT4oQXVkaXRSZXZpc2lvbnNBcGlTZXJ2aWNlKS53aXRoR2V0QWxsKChwYXJhbXMsIHNlcnZpY2UpID0+XG4gICAgICAgICAgICBzZXJ2aWNlLmdldFJldmlzaW9uTGlzdChwYXJhbXMpLnBpcGUobWFwKHJlcyA9PiAoe2RhdGE6IHJlcy5kYXRhLCB0b3RhbENvdW50OiByZXMudG90YWxDb3VudH0pKSlcbiAgICAgICAgKVxuICAgICk7XG4gICAgcHVibGljIGFjdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGRldGFpbHNBY3Rpb24gPSBhY3Rpb25FZGl0b3JEZXRhaWxzKHRoaXMuZGVzY3JpcHRvcigpLmRldGFpbHNFZGl0b3IsIEF1ZGl0UmV2aXNpb25zQXBpU2VydmljZSkud2l0aEZldGNoRnVuY3Rpb24oY3R4ID0+IHtcbiAgICAgICAgICAgIHJldHVybiBjdHguc2VydmljZUluc3RhbmNlLmdldEFsbENoYW5nZXNGb3JSZXZpc2lvbihpdGVtSWRUb0RlZmluZWQoY3R4LnBhcmFtZXRlcnMuaXRlbUlkKSkucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJldkVudGl0eVdpdGhDaGFuZ2VzOiBSZXZFbnRpdHlEZXRhaWxlZCA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldjogY3R4LnBhcmFtZXRlcnMuaXRlbUlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV2RW50aXR5OiBpdGVtLnJldkVudGl0eSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eU5hbWVDaGFuZ2VzTWFwOiBpdGVtLmVudGl0eU5hbWVDaGFuZ2VzTWFwXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXZFbnRpdHlXaXRoQ2hhbmdlcztcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIFtkZXRhaWxzQWN0aW9uXSBhcyBBY3Rpb25EZXNjcmlwdG9ySW5zdDxSZXZFbnRpdHk+W107XG4gICAgfSk7XG59XG4iLCJAaWYgKHNob3dUYWJsZXZpZXcoKSkge1xuICAgIDxtbmctdGFibGV2aWV3IFtkZXNjcmlwdG9yXT1cImRlc2NyaXB0b3IoKVwiIFtkYXRhUHJvdmlkZXJdPVwiZGF0YVByb3ZpZGVyKClcIiBbYWN0aW9uc109XCJhY3Rpb25zKClcIj48L21uZy10YWJsZXZpZXc+XG59XG4iXX0=
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtcmV2aXNpb25zLnBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL3BhZ2VzL3JldmlzaW9ucy9hdWRpdC1yZXZpc2lvbnMucGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvcGFnZXMvcmV2aXNpb25zL2F1ZGl0LXJldmlzaW9ucy5wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUU3QyxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBR0gsdUJBQXVCLEVBQ3ZCLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsZ0NBQWdDLEVBQ2hDLG1CQUFtQixFQUN0QixNQUFNLHNDQUFzQyxDQUFDO0FBRzlDLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzNGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUdqRSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDcEQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sMkRBQTJELENBQUM7O0FBVXRHLE1BQU0sT0FBTywyQkFBMkI7SUFSeEM7UUFTWSxhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLGlCQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXBDLGFBQVEsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNsRCxrQkFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDLENBQUM7UUFFeEQsZUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDOUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pDLElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQ1gsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBRTVHLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBWSxFQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFDLENBQUMsQ0FBQztnQkFDMUYsSUFBSSxRQUFRLENBQUMsVUFBVTtvQkFBRSxXQUFXLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDdkUsSUFBSSxVQUFVO29CQUFFLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFFN0QsTUFBTSxJQUFJLEdBQUcsbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBRTlDLE1BQU0saUJBQWlCLEdBQUcsZ0JBQWdCLENBQTBCLEVBQUMsUUFBUSxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSx1QkFBdUIsQ0FBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDO2dCQUN0SixpQkFBaUIsQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQyxDQUFDO2dCQUV4RSxJQUFJLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztvQkFDdEIsU0FBUyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO29CQUMvRCxTQUFTLENBQUMsa0JBQWtCLENBQTBCLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDbEcsQ0FBQztnQkFFRCxpQkFBaUI7cUJBQ1osUUFBUSxDQUFDLHNCQUFzQixDQUFDO3FCQUNoQyxpQkFBaUIsQ0FBQywyQkFBMkIsRUFBRTtvQkFDNUMsYUFBYSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQ2pDLE1BQU0sRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFDO2lCQUNwQyxDQUFDO3FCQUNELFlBQVksRUFBRSxDQUFDO2dCQUVwQixJQUFJLENBQUMscUJBQXFCLENBQUMsaUJBQW9ELENBQUMsQ0FBQyxDQUFDLCtFQUErRTtnQkFFakssT0FBTyxJQUFJLENBQUM7WUFDaEIsQ0FBQztZQUNELE9BQU8sbUJBQW1CLEVBQWEsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQztRQUNJLGlCQUFZLEdBQUcsTUFBTSxDQUN4QixnQ0FBZ0MsQ0FBc0Msd0JBQXdCLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FDM0gsT0FBTyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFDLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxHQUFHLENBQUMsVUFBVSxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQ25HLENBQ0osQ0FBQztRQUNLLFlBQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzNCLE1BQU0sYUFBYSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxhQUFhLEVBQUUsd0JBQXdCLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDekgsT0FBTyxHQUFHLENBQUMsZUFBZSxDQUFDLHdCQUF3QixDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUM1RixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ1AsTUFBTSxvQkFBb0IsR0FBc0I7d0JBQzVDLEdBQUcsRUFBRSxHQUFHLENBQUMsVUFBVSxDQUFDLE1BQU07d0JBQzFCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUzt3QkFDekIsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLG9CQUFvQjtxQkFDbEQsQ0FBQztvQkFDRixPQUFPLG9CQUFvQixDQUFDO2dCQUNoQyxDQUFDLENBQUMsQ0FDTCxDQUFDO1lBQ04sQ0FBQyxDQUFDLENBQUM7WUFFSCxPQUFPLENBQUMsYUFBYSxDQUFzQyxDQUFDO1FBQ2hFLENBQUMsQ0FBQyxDQUFDO0tBQ047K0dBN0RZLDJCQUEyQjttR0FBM0IsMkJBQTJCLHVFQUh6QixDQUFDLHdCQUF3QixDQUFDLDBCQ2pDekMsMkpBR0EsNENENkJjLGtCQUFrQjs7NEZBSW5CLDJCQUEyQjtrQkFSdkMsU0FBUztpQ0FDTSxJQUFJLFlBQ04sMEJBQTBCLFdBRTNCLENBQUMsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUMsYUFDckQsQ0FBQyx3QkFBd0IsQ0FBQyxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXN5bmNQaXBlLCBKc29uUGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0b3IsIGNvbXB1dGVkLCBpbmplY3QsIHNpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3RvU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1JvdXRlck91dGxldH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtpdGVtSWRUb0RlZmluZWR9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5pbXBvcnQge21vZGVsfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL21vZGVsJztcbmltcG9ydCB7VGFibGV2aWV3Q29tcG9uZW50fSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL3RhYmxldmlldyc7XG5pbXBvcnQge1xuICAgIEFjdGlvbkRlc2NyaXB0b3JJbnN0LFxuICAgIEVkaXRvckRlc2NyaXB0b3JJbnN0LFxuICAgIFRhYmxldmlld0VkaXRvclR5cGVFbnVtLFxuICAgIGFjdGlvbkVkaXRvckRldGFpbHMsXG4gICAgZWRpdG9yRGVzY3JpcHRvcixcbiAgICB0YWJsZXZpZXdEYXRhUHJvdmlkZXJXaXRoU2VydmljZSxcbiAgICB0YWJsZXZpZXdEZXNjcmlwdG9yXG59IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvdGFibGV2aWV3L2FwaSc7XG5cbmltcG9ydCB7UmV2RW50aXR5V2l0aENoYW5nZXNEdG99IGZyb20gJy4uLy4uLy4uL2FwaS9tb2RlbHMvcmV2RW50aXR5V2l0aENoYW5nZXNEdG8nO1xuaW1wb3J0IHtBdWRpdFJldmlzaW9uc0FwaVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2FwaS9zZXJ2aWNlcy9hdWRpdC1yZXZpc2lvbnMtYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHtBdWRpdFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2FwaS9zZXJ2aWNlcy9hdWRpdC5zZXJ2aWNlJztcbmltcG9ydCB7UmV2RW50aXR5RGV0YWlsZWR9IGZyb20gJy4uLy4uLy4uL21vZGVscy9yZXYtZW50aXR5LWRldGFpbGVkLm1vZGVsJztcbmltcG9ydCB7UmV2RW50aXR5fSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcmV2LWVudGl0eS5tb2RlbCc7XG5pbXBvcnQge0F1ZGl0VXRpbH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvYXVkaXQudXRpbCc7XG5pbXBvcnQge0VudGl0eUNoYW5nZXNGaWVsZENvbXBvbmVudH0gZnJvbSAnLi4vLi4vZW50aXR5LWNoYW5nZXMtZmllbGQvZW50aXR5LWNoYW5nZXMtZmllbGQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ21uZy1hdWRpdC1yZXZpc2lvbnMtcGFnZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2F1ZGl0LXJldmlzaW9ucy5wYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgICBpbXBvcnRzOiBbVGFibGV2aWV3Q29tcG9uZW50LCBBc3luY1BpcGUsIFJvdXRlck91dGxldCwgSnNvblBpcGVdLFxuICAgIHByb3ZpZGVyczogW0F1ZGl0UmV2aXNpb25zQXBpU2VydmljZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQXVkaXRSZXZpc2lvbnNQYWdlQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgICBwcml2YXRlIGF1ZGl0U2VydmljZSA9IGluamVjdChBdWRpdFNlcnZpY2UpO1xuXG4gICAgcHJpdmF0ZSByZXZNb2RlbCA9IHRvU2lnbmFsKHRoaXMuYXVkaXRTZXJ2aWNlLnJldk1vZGVsJCk7XG4gICAgcHVibGljIHNob3dUYWJsZXZpZXcgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJldk1vZGVsKCkgIT0gbnVsbCk7XG5cbiAgICBwdWJsaWMgZGVzY3JpcHRvciA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgcmV2TW9kZWwgPSB0aGlzLnJldk1vZGVsKCk7XG4gICAgICAgIGlmIChyZXZNb2RlbCkge1xuICAgICAgICAgICAgY29uc3QgaWRQcm9wZXJ0eSA9IHJldk1vZGVsLnByb3BlcnRpZXM/LmZpbHRlcihwcm9wID0+IHByb3AuaXNJZCkubWFwKHByb3AgPT4gcHJvcC5yZXNvbHZlZFByb3BlcnR5TmFtZSlbMF07XG5cbiAgICAgICAgICAgIGNvbnN0IHJldkVudE1vZGVsID0gbW9kZWw8UmV2RW50aXR5Pih7aWQ6ICdyZXYnLCB0aXRsZTogJ3JldicsIGkxOG5CYXNlOiAnTW5nUmV2RW50aXR5J30pO1xuICAgICAgICAgICAgaWYgKHJldk1vZGVsLmVudGl0eU5hbWUpIHJldkVudE1vZGVsLndpdGhJMThuQmFzZShyZXZNb2RlbC5lbnRpdHlOYW1lKTtcbiAgICAgICAgICAgIGlmIChpZFByb3BlcnR5KSByZXZFbnRNb2RlbC53aXRoSWRQcm9wZXJ0eVVuc2FmZShpZFByb3BlcnR5KTtcblxuICAgICAgICAgICAgY29uc3QgZGVzYyA9IHRhYmxldmlld0Rlc2NyaXB0b3IocmV2RW50TW9kZWwpO1xuXG4gICAgICAgICAgICBjb25zdCBkZXRhaWxzRGVzY3JpcHRvciA9IGVkaXRvckRlc2NyaXB0b3I8UmV2RW50aXR5V2l0aENoYW5nZXNEdG8+KHtpMThuQmFzZTogJ01uZ1JldkVudGl0eScsIHRhYmxldmlld0VkaXRvclR5cGU6IFRhYmxldmlld0VkaXRvclR5cGVFbnVtLkRldGFpbHN9KTtcbiAgICAgICAgICAgIGRldGFpbHNEZXNjcmlwdG9yLm1vZGVsLndpdGhJZFByb3BlcnR5VW5zYWZlKCdyZXZFbnRpdHkuJyArIGlkUHJvcGVydHkpO1xuXG4gICAgICAgICAgICBpZiAocmV2TW9kZWwucHJvcGVydGllcykge1xuICAgICAgICAgICAgICAgIEF1ZGl0VXRpbC5hZGRDb2x1bW5zRnJvbU1vZGVsKGRlc2MudGFibGUsIHJldk1vZGVsLnByb3BlcnRpZXMpO1xuICAgICAgICAgICAgICAgIEF1ZGl0VXRpbC5hZGRGaWVsZHNGcm9tTW9kZWw8UmV2RW50aXR5V2l0aENoYW5nZXNEdG8+KGRldGFpbHNEZXNjcmlwdG9yLCByZXZNb2RlbC5wcm9wZXJ0aWVzKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZGV0YWlsc0Rlc2NyaXB0b3JcbiAgICAgICAgICAgICAgICAuYWRkRmllbGQoJ2VudGl0eU5hbWVDaGFuZ2VzTWFwJylcbiAgICAgICAgICAgICAgICAuYXNDdXN0b21Db21wb25lbnQoRW50aXR5Q2hhbmdlc0ZpZWxkQ29tcG9uZW50LCB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkV3JhcHBlcnM6IFsnZmllbGQtbm8tbGFiZWwnXSxcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRzOiB7aW5qZWN0b3I6IHRoaXMuaW5qZWN0b3J9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAud2l0aERpc2FibGVkKCk7XG5cbiAgICAgICAgICAgIGRlc2Mud2l0aERldGFpbHNEZXNjcmlwdG9yKGRldGFpbHNEZXNjcmlwdG9yIGFzIEVkaXRvckRlc2NyaXB0b3JJbnN0PFJldkVudGl0eT4pOyAvLyBNbmdSZXZFbnRpdHkgaXMgZXh0ZW5kZWQgYnkgTW5nUmV2RW50aXR5V2l0aENoYW5nZXNEdG8sIHNvIG5vIHJlYWwgaGFybSBoZXJlXG5cbiAgICAgICAgICAgIHJldHVybiBkZXNjO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0YWJsZXZpZXdEZXNjcmlwdG9yPFJldkVudGl0eT4oKTtcbiAgICB9KTtcbiAgICBwdWJsaWMgZGF0YVByb3ZpZGVyID0gc2lnbmFsKFxuICAgICAgICB0YWJsZXZpZXdEYXRhUHJvdmlkZXJXaXRoU2VydmljZTxBdWRpdFJldmlzaW9uc0FwaVNlcnZpY2UsIFJldkVudGl0eT4oQXVkaXRSZXZpc2lvbnNBcGlTZXJ2aWNlKS53aXRoR2V0QWxsKChwYXJhbXMsIHNlcnZpY2UpID0+XG4gICAgICAgICAgICBzZXJ2aWNlLmdldFJldmlzaW9uTGlzdChwYXJhbXMpLnBpcGUobWFwKHJlcyA9PiAoe2RhdGE6IHJlcy5kYXRhLCB0b3RhbENvdW50OiByZXMudG90YWxDb3VudH0pKSlcbiAgICAgICAgKVxuICAgICk7XG4gICAgcHVibGljIGFjdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGRldGFpbHNBY3Rpb24gPSBhY3Rpb25FZGl0b3JEZXRhaWxzKHRoaXMuZGVzY3JpcHRvcigpLmRldGFpbHNFZGl0b3IsIEF1ZGl0UmV2aXNpb25zQXBpU2VydmljZSkud2l0aEZldGNoRnVuY3Rpb24oY3R4ID0+IHtcbiAgICAgICAgICAgIHJldHVybiBjdHguc2VydmljZUluc3RhbmNlLmdldEFsbENoYW5nZXNGb3JSZXZpc2lvbihpdGVtSWRUb0RlZmluZWQoY3R4LnBhcmFtZXRlcnMuaXRlbUlkKSkucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJldkVudGl0eVdpdGhDaGFuZ2VzOiBSZXZFbnRpdHlEZXRhaWxlZCA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldjogY3R4LnBhcmFtZXRlcnMuaXRlbUlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV2RW50aXR5OiBpdGVtLnJldkVudGl0eSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eU5hbWVDaGFuZ2VzTWFwOiBpdGVtLmVudGl0eU5hbWVDaGFuZ2VzTWFwXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXZFbnRpdHlXaXRoQ2hhbmdlcztcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIFtkZXRhaWxzQWN0aW9uXSBhcyBBY3Rpb25EZXNjcmlwdG9ySW5zdDxSZXZFbnRpdHk+W107XG4gICAgfSk7XG59XG4iLCJAaWYgKHNob3dUYWJsZXZpZXcoKSkge1xuICAgIDxtbmctdGFibGV2aWV3IFtkZXNjcmlwdG9yXT1cImRlc2NyaXB0b3IoKVwiIFtkYXRhUHJvdmlkZXJdPVwiZGF0YVByb3ZpZGVyKClcIiBbYWN0aW9uc109XCJhY3Rpb25zKClcIj48L21uZy10YWJsZXZpZXc+XG59XG4iXX0=
@@ -102,18 +102,18 @@ class AuditService extends AuditApiService {
102
102
  }
103
103
  }));
104
104
  }
105
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AuditService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
106
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AuditService }); }
105
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AuditService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
106
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AuditService }); }
107
107
  }
108
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AuditService, decorators: [{
108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AuditService, decorators: [{
109
109
  type: Injectable
110
110
  }], ctorParameters: () => [] });
111
111
 
112
112
  class AuditPageComponent {
113
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AuditPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
114
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.5", type: AuditPageComponent, isStandalone: true, selector: "mng-audit-page", ngImport: i0, template: "<router-outlet></router-outlet>\n", dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
113
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AuditPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
114
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: AuditPageComponent, isStandalone: true, selector: "mng-audit-page", ngImport: i0, template: "<router-outlet></router-outlet>\n", dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
115
115
  }
116
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AuditPageComponent, decorators: [{
116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AuditPageComponent, decorators: [{
117
117
  type: Component,
118
118
  args: [{ standalone: true, selector: 'mng-audit-page', imports: [RouterOutlet], changeDetection: ChangeDetectionStrategy.OnPush, template: "<router-outlet></router-outlet>\n" }]
119
119
  }] });
@@ -434,10 +434,10 @@ class AuditRevisionsApiService extends AuditApiService {
434
434
  throw new CommonsInternalError(`Entity revision ${revId} for ${entityType} with id ${itemId} was not found`);
435
435
  }));
436
436
  }
437
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AuditRevisionsApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
438
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AuditRevisionsApiService }); }
437
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AuditRevisionsApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
438
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AuditRevisionsApiService }); }
439
439
  }
440
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AuditRevisionsApiService, decorators: [{
440
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AuditRevisionsApiService, decorators: [{
441
441
  type: Injectable
442
442
  }], ctorParameters: () => [] });
443
443
 
@@ -553,17 +553,19 @@ class AuditEntityRevisionsPageComponent {
553
553
  }
554
554
  onRevisionEntityChange(value) {
555
555
  this.showTableview.set(false);
556
+ const currentUrl = this.router.url;
557
+ const routePrefix = currentUrl.substring(0, currentUrl.lastIndexOf('/audit/entity-revisions') + '/audit/entity-revisions'.length);
556
558
  if (value) {
557
- this.router.navigate(['/audit/entity-revisions/' + value.entityName]);
559
+ this.router.navigate([routePrefix, value.entityName]);
558
560
  }
559
561
  else {
560
- this.router.navigate(['/audit/entity-revisions/']);
562
+ this.router.navigate([routePrefix]);
561
563
  }
562
564
  }
563
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AuditEntityRevisionsPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
564
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.5", type: AuditEntityRevisionsPageComponent, isStandalone: true, selector: "mng-audit-entity-revisions-page", providers: [AuditRevisionsApiService], ngImport: i0, template: "<div class=\"card\">\n <div class=\"field mb-0\">\n <mng-dropdown\n id=\"revisionEntityDropdown\"\n [placeholder]=\"'pages.entityRevisions.dropdown.placeholder' | translate\"\n optionsLabelProperty=\"entityNameI18n\"\n [ngModel]=\"selectedRevisionEntity()\"\n (valueChange)=\"onRevisionEntityChange($event)\"\n [dataProvider]=\"revisionEntitiesLookupProvider\"\n [showClear]=\"true\"></mng-dropdown>\n @if (!selectedRevisionEntity()) {\n <small class=\"block\">\n {{ 'pages.entityRevisions.dropdown.helpText' | translate }}\n </small>\n }\n </div>\n</div>\n@if (showTableview() && descriptor()) {\n <mng-tableview [descriptor]=\"descriptor()!\" [dataProvider]=\"dataProvider()\" [actions]=\"actions()\"></mng-tableview>\n}\n", dependencies: [{ kind: "component", type: DropdownComponent, selector: "mng-dropdown", inputs: ["dataProvider", "options", "optionsTrackProperty", "optionsLabelProperty", "optionsLabelTranslate", "optionsValueProperty", "optionsDisabledProperty", "multiselect", "placeholder", "showClear", "selectFirstItem", "className", "dropdownClassName", "changeValueOnBlur", "loading", "disabled", "allowInput", "appendTo", "inlineSearch", "searchTrim"], outputs: ["valueChange", "blur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: FormlyModule }, { kind: "component", type: TableviewComponent, selector: "mng-tableview", inputs: ["descriptor", "dataProvider", "actions"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
565
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AuditEntityRevisionsPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
566
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: AuditEntityRevisionsPageComponent, isStandalone: true, selector: "mng-audit-entity-revisions-page", providers: [AuditRevisionsApiService], ngImport: i0, template: "<div class=\"card\">\n <div class=\"field mb-0\">\n <mng-dropdown\n id=\"revisionEntityDropdown\"\n [placeholder]=\"'pages.entityRevisions.dropdown.placeholder' | translate\"\n optionsLabelProperty=\"entityNameI18n\"\n [ngModel]=\"selectedRevisionEntity()\"\n (valueChange)=\"onRevisionEntityChange($event)\"\n [dataProvider]=\"revisionEntitiesLookupProvider\"\n [showClear]=\"true\"></mng-dropdown>\n @if (!selectedRevisionEntity()) {\n <small class=\"block\">\n {{ 'pages.entityRevisions.dropdown.helpText' | translate }}\n </small>\n }\n </div>\n</div>\n@if (showTableview() && descriptor()) {\n <mng-tableview [descriptor]=\"descriptor()!\" [dataProvider]=\"dataProvider()\" [actions]=\"actions()\"></mng-tableview>\n}\n", dependencies: [{ kind: "component", type: DropdownComponent, selector: "mng-dropdown", inputs: ["dataProvider", "options", "optionsTrackProperty", "optionsLabelProperty", "optionsLabelTranslate", "optionsValueProperty", "optionsDisabledProperty", "multiselect", "placeholder", "showClear", "selectFirstItem", "className", "dropdownClassName", "changeValueOnBlur", "loading", "disabled", "allowInput", "appendTo", "inlineSearch", "searchTrim"], outputs: ["valueChange", "blur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: FormlyModule }, { kind: "component", type: TableviewComponent, selector: "mng-tableview", inputs: ["descriptor", "dataProvider", "actions"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
565
567
  }
566
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AuditEntityRevisionsPageComponent, decorators: [{
568
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AuditEntityRevisionsPageComponent, decorators: [{
567
569
  type: Component,
568
570
  args: [{ standalone: true, selector: 'mng-audit-entity-revisions-page', imports: [DropdownComponent, FormsModule, AsyncPipe, TranslateModule, FormlyModule, TableviewComponent], providers: [AuditRevisionsApiService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"card\">\n <div class=\"field mb-0\">\n <mng-dropdown\n id=\"revisionEntityDropdown\"\n [placeholder]=\"'pages.entityRevisions.dropdown.placeholder' | translate\"\n optionsLabelProperty=\"entityNameI18n\"\n [ngModel]=\"selectedRevisionEntity()\"\n (valueChange)=\"onRevisionEntityChange($event)\"\n [dataProvider]=\"revisionEntitiesLookupProvider\"\n [showClear]=\"true\"></mng-dropdown>\n @if (!selectedRevisionEntity()) {\n <small class=\"block\">\n {{ 'pages.entityRevisions.dropdown.helpText' | translate }}\n </small>\n }\n </div>\n</div>\n@if (showTableview() && descriptor()) {\n <mng-tableview [descriptor]=\"descriptor()!\" [dataProvider]=\"dataProvider()\" [actions]=\"actions()\"></mng-tableview>\n}\n" }]
569
571
  }], ctorParameters: () => [] });
@@ -627,10 +629,10 @@ class EntityChangesFieldComponent extends AFormlyCustomFieldComponent {
627
629
  desc.withTrackProperty(`EntityChangeField_${entityChanges.entityType ?? 'default'}`);
628
630
  return desc;
629
631
  }
630
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: EntityChangesFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
631
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.5", type: EntityChangesFieldComponent, isStandalone: true, selector: "mng-entity-changes-field", inputs: { injector: "injector" }, usesInheritance: true, ngImport: i0, template: "@if (modelFetched()) {\n <div>\n @for (ec of entityChanges(); track ec) {\n <mng-table [items]=\"ec.data.items\" [descriptor]=\"ec.descriptor\"></mng-table>\n }\n </div>\n} @else {\n <div class=\"text-center\">\n <i class=\"pi pi-spin pi-spinner\" style=\"font-size: 2rem\"></i>\n </div>\n}\n", styles: ["::ng-deep tr.audit-row-deleted{background:#ff3d331a!important}::ng-deep tr.audit-row-deleted .audit-cell{background:#f6544c4d!important}::ng-deep tr.audit-row-added{background-color:#1bc5621a!important}::ng-deep tr.audit-row-added .audit-cell{background:#1bc5624d!important}\n"], dependencies: [{ kind: "component", type: TableComponent, selector: "mng-table", inputs: ["descriptor", "items", "result", "loading", "dataProvider", "useQueryParams", "cellClickEnabled", "selectionMode", "selectionEnabled", "rowReorderEnabled", "columnLastMinWidth", "captionComponent", "columnCustomLastComponent", "globalFilterFields"], outputs: ["tableLoad", "cellClick", "selectionChange", "captionComponentInstance", "columnCustomLastComponentInstance", "rowReorder"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
632
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: EntityChangesFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
633
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: EntityChangesFieldComponent, isStandalone: true, selector: "mng-entity-changes-field", inputs: { injector: "injector" }, usesInheritance: true, ngImport: i0, template: "@if (modelFetched()) {\n <div>\n @for (ec of entityChanges(); track ec) {\n <mng-table [items]=\"ec.data.items\" [descriptor]=\"ec.descriptor\"></mng-table>\n }\n </div>\n} @else {\n <div class=\"text-center\">\n <i class=\"pi pi-spin pi-spinner\" style=\"font-size: 2rem\"></i>\n </div>\n}\n", styles: ["::ng-deep tr.audit-row-deleted{background:#ff3d331a!important}::ng-deep tr.audit-row-deleted .audit-cell{background:#f6544c4d!important}::ng-deep tr.audit-row-added{background-color:#1bc5621a!important}::ng-deep tr.audit-row-added .audit-cell{background:#1bc5624d!important}\n"], dependencies: [{ kind: "component", type: TableComponent, selector: "mng-table", inputs: ["descriptor", "items", "result", "loading", "dataProvider", "useQueryParams", "cellClickEnabled", "selectionMode", "selectionEnabled", "rowReorderEnabled", "columnLastMinWidth", "captionComponent", "columnCustomLastComponent", "globalFilterFields"], outputs: ["tableLoad", "cellClick", "selectionChange", "captionComponentInstance", "columnCustomLastComponentInstance", "rowReorder"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
632
634
  }
633
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: EntityChangesFieldComponent, decorators: [{
635
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: EntityChangesFieldComponent, decorators: [{
634
636
  type: Component,
635
637
  args: [{ standalone: true, selector: 'mng-entity-changes-field', imports: [TableComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (modelFetched()) {\n <div>\n @for (ec of entityChanges(); track ec) {\n <mng-table [items]=\"ec.data.items\" [descriptor]=\"ec.descriptor\"></mng-table>\n }\n </div>\n} @else {\n <div class=\"text-center\">\n <i class=\"pi pi-spin pi-spinner\" style=\"font-size: 2rem\"></i>\n </div>\n}\n", styles: ["::ng-deep tr.audit-row-deleted{background:#ff3d331a!important}::ng-deep tr.audit-row-deleted .audit-cell{background:#f6544c4d!important}::ng-deep tr.audit-row-added{background-color:#1bc5621a!important}::ng-deep tr.audit-row-added .audit-cell{background:#1bc5624d!important}\n"] }]
636
638
  }], propDecorators: { injector: [{
@@ -686,10 +688,10 @@ class AuditRevisionsPageComponent {
686
688
  return [detailsAction];
687
689
  });
688
690
  }
689
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AuditRevisionsPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
690
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.5", type: AuditRevisionsPageComponent, isStandalone: true, selector: "mng-audit-revisions-page", providers: [AuditRevisionsApiService], ngImport: i0, template: "@if (showTableview()) {\n <mng-tableview [descriptor]=\"descriptor()\" [dataProvider]=\"dataProvider()\" [actions]=\"actions()\"></mng-tableview>\n}\n", dependencies: [{ kind: "component", type: TableviewComponent, selector: "mng-tableview", inputs: ["descriptor", "dataProvider", "actions"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
691
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AuditRevisionsPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
692
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: AuditRevisionsPageComponent, isStandalone: true, selector: "mng-audit-revisions-page", providers: [AuditRevisionsApiService], ngImport: i0, template: "@if (showTableview()) {\n <mng-tableview [descriptor]=\"descriptor()\" [dataProvider]=\"dataProvider()\" [actions]=\"actions()\"></mng-tableview>\n}\n", dependencies: [{ kind: "component", type: TableviewComponent, selector: "mng-tableview", inputs: ["descriptor", "dataProvider", "actions"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
691
693
  }
692
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AuditRevisionsPageComponent, decorators: [{
694
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AuditRevisionsPageComponent, decorators: [{
693
695
  type: Component,
694
696
  args: [{ standalone: true, selector: 'mng-audit-revisions-page', imports: [TableviewComponent, AsyncPipe, RouterOutlet, JsonPipe], providers: [AuditRevisionsApiService], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (showTableview()) {\n <mng-tableview [descriptor]=\"descriptor()\" [dataProvider]=\"dataProvider()\" [actions]=\"actions()\"></mng-tableview>\n}\n" }]
695
697
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"mediusinc-mng-commons-audit.mjs","sources":["../../src/lib/service/module-config.token.ts","../../src/lib/api/services/audit-api.service.ts","../../src/lib/api/services/audit.service.ts","../../src/lib/components/pages/audit/audit.page.component.ts","../../src/lib/components/pages/audit/audit.page.component.html","../../src/lib/api/models/guiPropertyType.ts","../../src/lib/api/models/revisionType.ts","../../src/lib/utils/audit.util.ts","../../src/lib/api/services/audit-revisions-api.service.ts","../../src/lib/components/pages/entity-revisions/audit-entity-revisions.page.component.ts","../../src/lib/components/pages/entity-revisions/audit-entity-revisions.page.component.html","../../src/lib/components/entity-changes-field/entity-changes-field.component.ts","../../src/lib/components/entity-changes-field/entity-changes-field.component.html","../../src/lib/components/pages/revisions/audit-revisions.page.component.ts","../../src/lib/components/pages/revisions/audit-revisions.page.component.html","../../src/lib/audit.routes.ts","../../src/mediusinc-mng-commons-audit.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\n\nimport {CommonsAuditModuleConfig} from '../models/config.model';\n\nexport const COMMONS_AUDIT_MODULE_CONFIG_IT = new InjectionToken<CommonsAuditModuleConfig>('CommonsAuditModuleConfig');\n","/* eslint-disable */\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\nimport {inject} from '@angular/core';\n\nimport {CommonsConfigurationService} from '@mediusinc/mng-commons/core';\n\nimport {COMMONS_AUDIT_MODULE_CONFIG_IT} from '../../service/module-config.token';\n\nexport class AuditApiService {\n protected readonly http: HttpClient;\n public readonly defaultHeaders = new HttpHeaders();\n protected readonly configService: CommonsConfigurationService;\n protected readonly moduleConfig = inject(COMMONS_AUDIT_MODULE_CONFIG_IT);\n\n protected constructor() {\n this.http = inject(HttpClient);\n this.configService = CommonsConfigurationService.get();\n }\n\n protected getBasePath(): string {\n return `${this.configService.getConfigValue(this.moduleConfig.apiBasePathConfigKey)}`;\n }\n\n protected getServiceBasePath(): string | null {\n return this.moduleConfig.apiServiceBasePath ?? '';\n }\n\n protected getUrl(...pathSegments: Array<string>): string {\n let baseUrl = this.getBasePath();\n if (baseUrl.endsWith('/')) {\n baseUrl = baseUrl.substring(0, baseUrl.length - 1);\n }\n const serviceBasePath = this.getServiceBasePath();\n let path = [serviceBasePath, ...pathSegments].filter(s => s && s.length).join('/');\n // omit first and last '/'\n if (path.startsWith('/')) {\n path = path.substring(1);\n }\n if (path.endsWith('/')) {\n path = path.substring(0, path.length - 1);\n }\n // replace any double '//' from path that could come from joining paths\n path = path.replace('//', '/');\n return `${baseUrl}/${path}`;\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types */\nimport {Injectable} from '@angular/core';\n\nimport {Observable, shareReplay} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {GuiEntityModelDto} from '../models/guiEntityModel';\nimport {AuditApiService} from './audit-api.service';\n\n@Injectable()\nexport class AuditService extends AuditApiService {\n private readonly CACHE_SIZE = 1;\n\n private revModelObs?: Observable<GuiEntityModelDto>;\n private auditModelObs?: Observable<Array<GuiEntityModelDto>>;\n\n constructor() {\n super();\n }\n public get revModel$() {\n if (!this.revModelObs) {\n this.revModelObs = this.requestRevModel().pipe(shareReplay(this.CACHE_SIZE));\n }\n return this.revModelObs;\n }\n\n public get auditModel$() {\n if (!this.auditModelObs) {\n this.auditModelObs = this.requestAuditModel().pipe(shareReplay(this.CACHE_SIZE));\n }\n return this.auditModelObs;\n }\n\n private requestRevModel(): Observable<GuiEntityModelDto> {\n let localVarHeaders = this.defaultHeaders;\n localVarHeaders = localVarHeaders.set('Accept', 'application/json');\n return this.http.get<GuiEntityModelDto>(this.getUrl(`/rev-model`), {\n headers: localVarHeaders\n });\n }\n\n private requestAuditModel(): Observable<Array<GuiEntityModelDto>> {\n let localVarHeaders = this.defaultHeaders;\n localVarHeaders = localVarHeaders.set('Accept', 'application/json');\n return this.http\n .get<Array<GuiEntityModelDto>>(this.getUrl(`/audit-models`), {\n headers: localVarHeaders\n })\n .pipe(\n map(response => {\n if (Array.isArray(response)) {\n return response.map(item => {\n return {\n entityName: item.entityName,\n properties: item.properties\n };\n });\n } else {\n return [];\n }\n })\n );\n }\n}\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\nimport {RouterOutlet} from '@angular/router';\n\n@Component({\n standalone: true,\n selector: 'mng-audit-page',\n imports: [RouterOutlet],\n templateUrl: './audit.page.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AuditPageComponent {}\n","<router-outlet></router-outlet>\n","/**\n * Medius quarkus sampler\n * Sampler OPENAPI definition\n *\n * The version of the OpenAPI document: 1.0.0\n * Contact: info@medius.si\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {TypeRegistry} from '@mediusinc/mng-commons/core';\n\nexport enum GuiPropertyTypeDto {\n LocalDate = 'LOCAL_DATE',\n OffsetDateTime = 'OFFSET_DATE_TIME',\n String = 'STRING',\n Number = 'NUMBER',\n Boolean = 'BOOLEAN',\n Enum = 'ENUM',\n Wildcard = 'WILDCARD'\n}\n\nTypeRegistry.get().registerEnum(GuiPropertyTypeDto, 'MngGuiPropertyTypeDto');\n","/**\n * Medius quarkus sampler\n * Sampler OPENAPI definition\n *\n * The version of the OpenAPI document: 1.0.0\n * Contact: info@medius.si\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {TypeRegistry} from '@mediusinc/mng-commons/core';\nimport {enumModel} from '@mediusinc/mng-commons/model';\n\nexport enum RevisionTypeDto {\n Add = 'ADD',\n Mod = 'MOD',\n Del = 'DEL'\n}\n\nTypeRegistry.get().registerEnum(RevisionTypeDto, 'MngRevisionTypeDto');\n\nexport const revisionTypeEnum = enumModel(RevisionTypeDto.Add, RevisionTypeDto, 'MngRevisionTypeDto');\n","import {HttpParams} from '@angular/common/http';\n\nimport {DataListParams, EnumType, TypeRegistry, dataListParamsToUrlQuery} from '@mediusinc/mng-commons/core';\nimport {lookupDataProvider} from '@mediusinc/mng-commons/form/api';\nimport {enumModelGeneric} from '@mediusinc/mng-commons/model';\nimport {ColumnDescriptor, TableDescriptorInst} from '@mediusinc/mng-commons/table/api';\nimport {EditorDescriptorInst, TableviewDescriptorInst} from '@mediusinc/mng-commons/tableview/api';\n\nimport {EntityChangeDto} from '../api/models/entityChange';\nimport {GuiEntityModelDto} from '../api/models/guiEntityModel';\nimport {GuiPropertyModelDto} from '../api/models/guiPropertyModel';\nimport {GuiPropertyTypeDto} from '../api/models/guiPropertyType';\nimport {RevisionTypeDto, revisionTypeEnum} from '../api/models/revisionType';\nimport {EntityRevisionChangeState} from '../models/entity-revision-change-state.model';\nimport {EntityRevisionChanges} from '../models/entity-revision-changes.model';\nimport {RevEntityWithId} from '../models/revEntityWithId.model';\n\nexport class AuditUtil {\n private static _dateRegex = /\\d{4}-[01]\\d-[0-3]\\d/;\n\n public static addColumnsFromModel<T>(\n descriptor: TableDescriptorInst<T>,\n properties: GuiPropertyModelDto[],\n modelType: 'revEntity' | 'entityState' | undefined = undefined,\n addFilters = true,\n addSorts = true\n ): TableDescriptorInst<T> {\n for (const property of properties) {\n if (!property.resolvedPropertyName) {\n continue;\n }\n\n const isEnum = property.propertyType === GuiPropertyTypeDto.Enum;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let column: ColumnDescriptor<any, T> | null = null;\n if (isEnum) {\n if (!property.possibleEnumValues) {\n continue;\n }\n\n const enumModel = AuditUtil.findEnum(property);\n if (enumModel) {\n column = descriptor.addColumnEnum(property.resolvedPropertyName as keyof T, enumModel);\n if (addFilters) {\n descriptor.addFilterLookupEnum(column.property as keyof T, enumModel, property.possibleEnumValues);\n }\n } else {\n column = descriptor.addColumnUnsafe(property.resolvedPropertyName);\n if (addFilters) {\n descriptor.addFilterLookupUnsafe(\n column.property,\n lookupDataProvider<string>().withLookup(() => property.possibleEnumValues ?? [])\n );\n }\n }\n } else if (property.propertyType === GuiPropertyTypeDto.Number) {\n column = descriptor.addColumnUnsafe(property.resolvedPropertyName).asNumber();\n } else if (property.propertyType === GuiPropertyTypeDto.Boolean) {\n column = descriptor.addColumnUnsafe(property.resolvedPropertyName).asBoolean();\n } else if (property.propertyType === GuiPropertyTypeDto.LocalDate) {\n column = descriptor.addColumnUnsafe(property.resolvedPropertyName).asDate('dd. MM yyyy');\n } else if (property.propertyType === GuiPropertyTypeDto.OffsetDateTime) {\n column = descriptor.addColumnUnsafe(property.resolvedPropertyName).asDate('dd. MM yyyy HH:mm');\n } else {\n // string / wildcard\n column = descriptor.addColumnUnsafe(property.resolvedPropertyName).withTitle(AuditUtil.getPropertyTitleKey(property, modelType));\n }\n\n if (modelType) {\n column.withGetter((value, item) => item?.[modelType as keyof object]?.[property.resolvedPropertyName as keyof object]);\n }\n\n column.withTitle(AuditUtil.getPropertyTitleKey(property, modelType));\n\n if (!isEnum && addFilters) {\n descriptor.addFilterFromColumnDescriptorUnsafe(column);\n }\n if (addSorts) {\n descriptor.withSortUnsafe(column.property);\n }\n }\n return descriptor;\n }\n\n public static getPropertyTitleKey(property: GuiPropertyModelDto, modelType: 'revEntity' | 'entityState' | undefined = undefined) {\n if (modelType === 'revEntity') {\n return 'MngRevEntity.properties.' + property.resolvedPropertyName;\n }\n return property.resolvedPropertyName ?? '';\n }\n\n public static addFieldsFromModel<T>(\n descriptor: EditorDescriptorInst<T>,\n properties: GuiPropertyModelDto[],\n modelType: 'revEntity' | 'entityState' = 'revEntity'\n ): EditorDescriptorInst<T> {\n for (const property of properties) {\n if (!property.resolvedPropertyName) {\n continue;\n }\n\n const fieldPrepend = `${modelType}.`;\n\n if (property.propertyType === GuiPropertyTypeDto.Enum) {\n const enumModel = AuditUtil.findEnum(property);\n if (enumModel) {\n if (!property.possibleEnumValues) {\n continue;\n }\n\n descriptor.addFieldLookupEnum((fieldPrepend + property.resolvedPropertyName) as keyof T, enumModel, property.possibleEnumValues).withDisabled();\n } else {\n descriptor.addFieldUnsafe(fieldPrepend + property.resolvedPropertyName).withLabel(AuditUtil.getPropertyTitleKey(property, modelType));\n }\n } else if (property.propertyType === GuiPropertyTypeDto.Number) {\n descriptor\n .addFieldUnsafe(fieldPrepend + property.resolvedPropertyName)\n .withLabel(AuditUtil.getPropertyTitleKey(property, modelType))\n .asNumber()\n .withDisabled();\n } else if (property.propertyType === GuiPropertyTypeDto.Boolean) {\n descriptor\n .addFieldUnsafe(fieldPrepend + property.resolvedPropertyName)\n .withLabel(AuditUtil.getPropertyTitleKey(property, modelType))\n .withDisabled();\n } else if (property.propertyType === GuiPropertyTypeDto.LocalDate) {\n descriptor\n .addFieldUnsafe(fieldPrepend + property.resolvedPropertyName)\n .withLabel(AuditUtil.getPropertyTitleKey(property, modelType))\n .asDatePicker({format: 'dd. MMM yyyy'})\n .withDisabled();\n } else if (property.propertyType === GuiPropertyTypeDto.OffsetDateTime) {\n descriptor\n .addFieldUnsafe(fieldPrepend + property.resolvedPropertyName)\n .withLabel(AuditUtil.getPropertyTitleKey(property, modelType))\n .asDatePicker({\n format: 'dd. MM yy',\n showTime: true,\n showSeconds: false\n })\n .withDisabled();\n } else {\n // string / wildcard\n descriptor\n .addFieldUnsafe(fieldPrepend + property.resolvedPropertyName)\n .withLabel(AuditUtil.getPropertyTitleKey(property, modelType))\n .withDisabled();\n }\n }\n return descriptor;\n }\n\n public static buildDescriptorForEntityRevision(\n descriptor: TableviewDescriptorInst<RevEntityWithId>,\n revModel: GuiEntityModelDto,\n entityModel: GuiEntityModelDto\n ): TableviewDescriptorInst<RevEntityWithId> {\n const revType = descriptor.addColumnEnum('revType', revisionTypeEnum).withTitle('MngEntityRevisionChangeState.properties.revType');\n descriptor.addFieldLookupEnum('revType', revisionTypeEnum).withLabel('MngEntityRevisionChangeState.properties.revType');\n\n descriptor.table.addFilterFromColumnDescriptorUnsafe(revType);\n\n if (revModel.properties) {\n AuditUtil.addColumnsFromModel(descriptor.table, revModel.properties, 'revEntity');\n AuditUtil.addFieldsFromModel(descriptor.detailsEditor, revModel.properties, 'revEntity');\n }\n if (entityModel.properties) {\n AuditUtil.addColumnsFromModel(descriptor.table, entityModel.properties, 'entityState');\n AuditUtil.addFieldsFromModel(descriptor.detailsEditor, entityModel.properties, 'entityState');\n }\n\n return descriptor;\n }\n\n public static findEnum(property: GuiPropertyModelDto) {\n if (!property.enumClassSimpleName) {\n return undefined;\n }\n\n let i18n: string | null = property.enumClassSimpleName;\n let enumType = TypeRegistry.get().findEnum(i18n);\n if (!enumType) {\n i18n = property.enumClassSimpleName + 'Dto';\n enumType = TypeRegistry.get().findEnum(i18n);\n }\n if (!enumType && Array.isArray(property.possibleEnumValues)) {\n i18n = null;\n enumType = property.possibleEnumValues?.reduce(\n (acc, v) => {\n const constName = v\n .split('_')\n .map(s => (s.length > 1 ? s.substring(0, 1).toUpperCase() + s.substring(1).toLowerCase() : s))\n .join('');\n if (constName !== v) {\n acc[constName] = v;\n }\n acc[v] = constName;\n return acc;\n },\n <EnumType>{}\n );\n }\n return enumModelGeneric(enumType, i18n);\n }\n\n public static extractPropertyName(fullPropertyName: string | undefined): string | undefined {\n if (fullPropertyName?.includes('entityState.')) {\n return fullPropertyName.replace('entityState.', '');\n } else if (fullPropertyName?.includes('revEntity.')) {\n return fullPropertyName?.replace('revEntity.', '');\n }\n return fullPropertyName;\n }\n\n public static paramsToHttpParams(params: DataListParams): HttpParams {\n const routeParams = dataListParamsToUrlQuery(params, null);\n let httpParams = new HttpParams();\n\n Object.entries(routeParams).forEach(([key, value]) => {\n httpParams = httpParams.append(key, value);\n });\n\n return httpParams;\n }\n\n public static mapItemsToEntityChangesArray(fieldValue: {[key: string]: Array<EntityChangeDto>}): Array<EntityRevisionChanges> {\n const entityChanges: EntityRevisionChanges[] = [];\n for (const key of Object.keys(fieldValue)) {\n const ec: EntityRevisionChanges = {entityType: key, items: []};\n for (const change of fieldValue[key]) {\n if (change.revType === RevisionTypeDto.Add && change.entityNewState) {\n const item: EntityRevisionChangeState = {\n revType: change.revType,\n color: 'green'\n };\n Object.entries(change.entityNewState).forEach(([key, value]) => (item[key] = value));\n ec.items?.push(item);\n } else if (change.revType === RevisionTypeDto.Del && change.entityOldState) {\n const item: EntityRevisionChangeState = {\n revType: change.revType,\n color: 'red'\n };\n Object.entries(change.entityOldState).forEach(([key, value]) => (item[key] = value));\n ec.items?.push(item);\n } else if (change.revType === RevisionTypeDto.Mod && change.entityOldState && change.entityNewState) {\n const itemOld: EntityRevisionChangeState = {\n revType: change.revType,\n color: 'red'\n };\n Object.entries(change.entityOldState).forEach(([key, value]) => (itemOld[key] = value));\n\n const itemNew: EntityRevisionChangeState = {\n revType: change.revType,\n color: 'green'\n };\n Object.entries(change.entityNewState).forEach(([key, value]) => (itemNew[key] = value));\n\n ec.items?.push(itemOld);\n ec.items?.push(itemNew);\n }\n }\n entityChanges.push(ec);\n }\n return entityChanges;\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types */\nimport {Injectable} from '@angular/core';\n\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {CommonsInternalError, DataListParams, IdType} from '@mediusinc/mng-commons/core';\n\nimport {RevEntityWithId} from '../../models/revEntityWithId.model';\nimport {AuditUtil} from '../../utils/audit.util';\nimport {GetAllResponse} from '../models/get-all-response.model';\nimport {RevEntityWithChangesDto} from '../models/revEntityWithChangesDto';\nimport {RevEntityWithStateDto} from '../models/revEntityWithStateDto';\nimport {AuditApiService} from './audit-api.service';\n\n@Injectable()\nexport class AuditRevisionsApiService extends AuditApiService {\n constructor() {\n super();\n }\n public getRevisionList(params: DataListParams): Observable<GetAllResponse<{[key: string]: unknown}>> {\n return this.http.get<GetAllResponse<{[key: string]: unknown}>>(this.getUrl(''), {\n params: AuditUtil.paramsToHttpParams(params)\n });\n }\n\n public getAllChangesForRevision(revId: IdType): Observable<RevEntityWithChangesDto> {\n return this.http.get<RevEntityWithChangesDto>(this.getUrl(`/changes/${revId}`));\n }\n\n public listRevisionsWithStateForEntityType(params: DataListParams, entityType: string): Observable<GetAllResponse<RevEntityWithStateDto>> {\n let localVarHeaders = this.defaultHeaders;\n localVarHeaders = localVarHeaders.set('Accept', 'application/json');\n return this.http\n .get<GetAllResponse<any>>(this.getUrl(`/states/${entityType}`), {\n params: AuditUtil.paramsToHttpParams(params),\n headers: localVarHeaders\n })\n .pipe(\n map(res => {\n return <GetAllResponse<RevEntityWithStateDto>>{\n data: res.data.map(item => {\n return {\n revEntity: item.revEntity,\n revType: item.revType,\n entityClassName: item.entityClassName,\n entityState: item.entityState\n };\n }),\n totalCount: res.totalCount\n };\n })\n );\n }\n\n public fetchRevisionsWithStateForEntityType(entityType: string, revId: IdType, itemId: IdType): Observable<RevEntityWithId> {\n let localVarHeaders = this.defaultHeaders;\n localVarHeaders = localVarHeaders.set('Accept', 'application/json');\n return this.http\n .get<GetAllResponse<any>>(this.getUrl(`/states/${entityType}?rev=eq:${revId}&id=eq:${itemId}`), {\n headers: localVarHeaders\n })\n .pipe(\n map(res =>\n res.data.map(i => {\n i.mergedId = i.revEntity?.['rev'] + '_' + i.entityState?.['id'];\n return i as RevEntityWithId;\n })\n ),\n map(items => {\n if (items.length > 0) {\n return items[0];\n }\n throw new CommonsInternalError(`Entity revision ${revId} for ${entityType} with id ${itemId} was not found`);\n })\n );\n }\n}\n","import {AsyncPipe} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, computed, effect, inject, signal} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {FormsModule} from '@angular/forms';\nimport {ActivatedRoute, Router} from '@angular/router';\n\nimport {FormlyModule} from '@ngx-formly/core';\nimport {TranslateModule, TranslateService} from '@ngx-translate/core';\nimport {throwError} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {CommonsInternalError, Nullable} from '@mediusinc/mng-commons/core';\nimport {DropdownComponent} from '@mediusinc/mng-commons/form';\nimport {lookupDataProviderWithService} from '@mediusinc/mng-commons/form/api';\nimport {TableviewComponent} from '@mediusinc/mng-commons/tableview';\nimport {ActionDescriptorInst, actionEditorDetails, tableviewDataProviderWithService, tableviewDescriptor} from '@mediusinc/mng-commons/tableview/api';\n\nimport {GuiEntityModelDto} from '../../../api/models/guiEntityModel';\nimport {AuditRevisionsApiService} from '../../../api/services/audit-revisions-api.service';\nimport {AuditService} from '../../../api/services/audit.service';\nimport {GuiEntityModelWithI18n} from '../../../models/guiEntityModelWithI18n.model';\nimport {RevEntityWithId} from '../../../models/revEntityWithId.model';\nimport {AuditUtil} from '../../../utils/audit.util';\n\n@Component({\n standalone: true,\n selector: 'mng-audit-entity-revisions-page',\n templateUrl: './audit-entity-revisions.page.component.html',\n imports: [DropdownComponent, FormsModule, AsyncPipe, TranslateModule, FormlyModule, TableviewComponent],\n providers: [AuditRevisionsApiService],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AuditEntityRevisionsPageComponent {\n private readonly router = inject(Router);\n private readonly route = inject(ActivatedRoute);\n private readonly translate = inject(TranslateService);\n private readonly auditService = inject(AuditService);\n\n private readonly revModel = toSignal(this.auditService.revModel$);\n private readonly auditModel = toSignal(this.auditService.auditModel$);\n private readonly entityClass = toSignal(this.route.paramMap.pipe(map(pm => pm.get('entityClass') ?? undefined)));\n\n public readonly selectedRevisionEntity = computed(() => {\n const entities = this.auditModel();\n const entityClass = this.entityClass();\n if (entityClass && entities) {\n for (const e of entities) {\n if (e.entityName === entityClass) {\n return e;\n }\n }\n }\n return undefined;\n });\n public readonly descriptor = computed(() => {\n const revModel = this.revModel();\n const selectedRevisionEntity = this.selectedRevisionEntity();\n if (!revModel || !selectedRevisionEntity?.entityName) {\n return undefined;\n }\n\n const desc = tableviewDescriptor<RevEntityWithId>({id: 'mergedId', i18nBase: selectedRevisionEntity.entityName});\n AuditUtil.buildDescriptorForEntityRevision(desc, revModel, selectedRevisionEntity);\n desc.table.withColumnsResizable();\n desc.table.withCurrentColumnsReorderable();\n desc.table.withCurrentColumnsToggleable();\n\n return desc;\n });\n public readonly dataProvider = computed(() => {\n const revModel = this.revModel();\n const selectedRevisionEntity = this.selectedRevisionEntity();\n if (!revModel || !selectedRevisionEntity?.entityName) {\n return undefined;\n }\n\n const entityName = selectedRevisionEntity.entityName;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return tableviewDataProviderWithService<AuditRevisionsApiService, RevEntityWithId>(AuditRevisionsApiService).withGetAll((params, service) =>\n selectedRevisionEntity.entityName\n ? service.listRevisionsWithStateForEntityType(params, entityName).pipe(\n map(res => {\n const revEntityWithStateAndIdList = [];\n for (const revEntityWithState of res.data) {\n const revEntityWithStateAndId: RevEntityWithId = {\n mergedId: revEntityWithState.revEntity?.['rev'] + '_' + revEntityWithState.entityState?.['id'],\n revType: revEntityWithState.revType,\n revEntity: revEntityWithState.revEntity,\n entityState: revEntityWithState.entityState,\n entityClassName: revEntityWithState.entityClassName\n };\n revEntityWithStateAndIdList.push(revEntityWithStateAndId);\n }\n return {data: revEntityWithStateAndIdList, totalCount: res.totalCount};\n })\n )\n : throwError(() => new CommonsInternalError('No revision entity is provided for list.'))\n );\n });\n public readonly actions = computed(() => {\n const selectedRevisionEntity = this.selectedRevisionEntity();\n const descriptor = this.descriptor();\n if (!selectedRevisionEntity?.entityName || !descriptor) {\n return [];\n }\n const entityName = selectedRevisionEntity.entityName;\n const detailsAction = actionEditorDetails<RevEntityWithId, AuditRevisionsApiService>(descriptor.detailsEditor, AuditRevisionsApiService)\n .withFetchFunction(ctx => {\n if (!entityName) {\n return throwError(() => new CommonsInternalError('No revision entity is provided for details.'));\n }\n if (!ctx.parameters.itemId) {\n return throwError(() => new CommonsInternalError('No item id for revision entity details is provided.'));\n }\n const revId = ctx.parameters.itemId.toString().split('_')[0];\n const itemId = ctx.parameters.itemId.toString().split('_')[1];\n return ctx.serviceInstance.fetchRevisionsWithStateForEntityType(entityName, revId, itemId);\n })\n .withEditorTitle('pages.entityRevisions.actions.details.editor.title');\n return [detailsAction] as ActionDescriptorInst<RevEntityWithId>[];\n });\n\n public revisionEntitiesLookupProvider = lookupDataProviderWithService<AuditService, GuiEntityModelWithI18n>(AuditService).withLookup(() =>\n this.auditService.auditModel$.pipe(\n map(model => {\n const modelI18n = model as GuiEntityModelWithI18n[];\n modelI18n.sort((m1, m2) => {\n if (m1.entityName && m2.entityName) {\n return m1.entityName.localeCompare(m2.entityName);\n } else if (m1.entityName && !m2.entityName) {\n return 1;\n } else {\n return -1;\n }\n });\n modelI18n.forEach(item => {\n const translatedEntityName = this.translate.instant('AuditEntities.' + item.entityName);\n item.entityNameI18n = translatedEntityName.includes('AuditEntities.') ? item.entityName : translatedEntityName;\n });\n return modelI18n;\n })\n )\n );\n public showTableview = signal(false);\n\n constructor() {\n effect(\n () => {\n const descriptor = this.descriptor();\n if (descriptor) {\n setTimeout(() => {\n this.showTableview.set(true);\n });\n }\n },\n {allowSignalWrites: true}\n );\n }\n\n public onRevisionEntityChange(value: Nullable<GuiEntityModelDto>) {\n this.showTableview.set(false);\n if (value) {\n this.router.navigate(['/audit/entity-revisions/' + value.entityName]);\n } else {\n this.router.navigate(['/audit/entity-revisions/']);\n }\n }\n}\n","<div class=\"card\">\n <div class=\"field mb-0\">\n <mng-dropdown\n id=\"revisionEntityDropdown\"\n [placeholder]=\"'pages.entityRevisions.dropdown.placeholder' | translate\"\n optionsLabelProperty=\"entityNameI18n\"\n [ngModel]=\"selectedRevisionEntity()\"\n (valueChange)=\"onRevisionEntityChange($event)\"\n [dataProvider]=\"revisionEntitiesLookupProvider\"\n [showClear]=\"true\"></mng-dropdown>\n @if (!selectedRevisionEntity()) {\n <small class=\"block\">\n {{ 'pages.entityRevisions.dropdown.helpText' | translate }}\n </small>\n }\n </div>\n</div>\n@if (showTableview() && descriptor()) {\n <mng-tableview [descriptor]=\"descriptor()!\" [dataProvider]=\"dataProvider()\" [actions]=\"actions()\"></mng-tableview>\n}\n","import {ChangeDetectionStrategy, Component, DestroyRef, Injector, Input, OnInit, inject, signal} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\n\nimport {CommonsInternalError} from '@mediusinc/mng-commons/core';\nimport {TableComponent} from '@mediusinc/mng-commons/table';\nimport {TableDescriptorInst, TablePaginationModeEnum, tableDescriptor} from '@mediusinc/mng-commons/table/api';\nimport {AFormlyCustomFieldComponent} from '@mediusinc/mng-commons/tableview/api';\n\nimport {EntityChangeDto} from '../../api/models/entityChange';\nimport {GuiEntityModelDto} from '../../api/models/guiEntityModel';\nimport {RevEntityWithChangesDto} from '../../api/models/revEntityWithChangesDto';\nimport {RevisionTypeDto, revisionTypeEnum} from '../../api/models/revisionType';\nimport {AuditService} from '../../api/services/audit.service';\nimport {EntityRevisionChangeState} from '../../models/entity-revision-change-state.model';\nimport {EntityRevisionChanges} from '../../models/entity-revision-changes.model';\nimport {AuditUtil} from '../../utils/audit.util';\n\n@Component({\n standalone: true,\n selector: 'mng-entity-changes-field',\n imports: [TableComponent],\n styleUrls: ['entity-changes-field.component.scss'],\n templateUrl: 'entity-changes-field.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class EntityChangesFieldComponent extends AFormlyCustomFieldComponent<RevEntityWithChangesDto['entityNameChangesMap'], RevEntityWithChangesDto> implements OnInit {\n @Input() public injector?: Injector;\n\n private destroyRef = inject(DestroyRef);\n\n public entityChanges = signal<\n {\n data: EntityRevisionChanges;\n descriptor: TableDescriptorInst<EntityRevisionChangeState>;\n }[]\n >([]);\n public modelFetched = signal(false);\n\n private auditModel: GuiEntityModelDto[] = [];\n private fieldValue?: Record<string, EntityChangeDto[]>;\n\n ngOnInit(): void {\n this.fieldValue = this.formControl.value;\n this.injector\n ?.get(AuditService, undefined, {optional: true})\n ?.auditModel$.pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe({\n next: model => {\n this.auditModel = model;\n if (this.fieldValue) {\n this.entityChanges.set(\n AuditUtil.mapItemsToEntityChangesArray(this.fieldValue).map(fv => ({\n data: fv,\n descriptor: this.createDescriptor(fv)\n }))\n );\n this.modelFetched.set(true);\n }\n },\n error: err => {\n throw new CommonsInternalError('Error while trying to fetch audit model from audit service', {name: 'EntityChangesFieldComponentError', cause: err});\n }\n });\n }\n\n private createDescriptor(entityChanges: EntityRevisionChanges) {\n const changedFields: string[] = [];\n if (entityChanges.items && entityChanges.items[0].revType === RevisionTypeDto.Mod) {\n for (const key in entityChanges.items[0]) {\n if (entityChanges.items[0][key] !== entityChanges.items[1][key]) {\n changedFields.push(key);\n }\n }\n }\n\n const guiEntityModel = this.auditModel.filter(m => m.entityName === entityChanges.entityType)[0];\n\n const desc = tableDescriptor<EntityRevisionChangeState>({i18nBase: guiEntityModel.entityName}).withClassName('py-2');\n if (guiEntityModel.entityName) {\n desc.withTitle(guiEntityModel.entityName);\n }\n\n desc.addColumnEnum('revType', revisionTypeEnum).withTitle('MngEntityRevisionChangeState.properties.revType');\n\n if (guiEntityModel.properties) {\n AuditUtil.addColumnsFromModel(desc, guiEntityModel.properties, undefined, false, false);\n }\n\n desc.withRowClassName(undefined, (_, item) => (item ? (item.color === 'green' ? 'audit-row-added' : 'audit-row-deleted') : ''));\n desc.columns.forEach(col => {\n if (changedFields.length > 0 && changedFields.some(val => col.property === val)) {\n col.withClassName('audit-cell');\n }\n });\n\n desc.withPaginationMode(TablePaginationModeEnum.Pagination);\n desc.withCurrentColumnsReorderable();\n desc.withCurrentColumnsToggleable();\n desc.withTrackProperty(`EntityChangeField_${entityChanges.entityType ?? 'default'}`);\n\n return desc;\n }\n}\n","@if (modelFetched()) {\n <div>\n @for (ec of entityChanges(); track ec) {\n <mng-table [items]=\"ec.data.items\" [descriptor]=\"ec.descriptor\"></mng-table>\n }\n </div>\n} @else {\n <div class=\"text-center\">\n <i class=\"pi pi-spin pi-spinner\" style=\"font-size: 2rem\"></i>\n </div>\n}\n","import {AsyncPipe, JsonPipe} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, Injector, computed, inject, signal} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {RouterOutlet} from '@angular/router';\n\nimport {map} from 'rxjs/operators';\n\nimport {itemIdToDefined} from '@mediusinc/mng-commons/core';\nimport {model} from '@mediusinc/mng-commons/model';\nimport {TableviewComponent} from '@mediusinc/mng-commons/tableview';\nimport {\n ActionDescriptorInst,\n EditorDescriptorInst,\n TableviewEditorTypeEnum,\n actionEditorDetails,\n editorDescriptor,\n tableviewDataProviderWithService,\n tableviewDescriptor\n} from '@mediusinc/mng-commons/tableview/api';\n\nimport {RevEntityWithChangesDto} from '../../../api/models/revEntityWithChangesDto';\nimport {AuditRevisionsApiService} from '../../../api/services/audit-revisions-api.service';\nimport {AuditService} from '../../../api/services/audit.service';\nimport {RevEntityDetailed} from '../../../models/rev-entity-detailed.model';\nimport {RevEntity} from '../../../models/rev-entity.model';\nimport {AuditUtil} from '../../../utils/audit.util';\nimport {EntityChangesFieldComponent} from '../../entity-changes-field/entity-changes-field.component';\n\n@Component({\n standalone: true,\n selector: 'mng-audit-revisions-page',\n templateUrl: './audit-revisions.page.component.html',\n imports: [TableviewComponent, AsyncPipe, RouterOutlet, JsonPipe],\n providers: [AuditRevisionsApiService],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AuditRevisionsPageComponent {\n private injector = inject(Injector);\n private auditService = inject(AuditService);\n\n private revModel = toSignal(this.auditService.revModel$);\n public showTableview = computed(() => this.revModel() != null);\n\n public descriptor = computed(() => {\n const revModel = this.revModel();\n if (revModel) {\n const idProperty = revModel.properties?.filter(prop => prop.isId).map(prop => prop.resolvedPropertyName)[0];\n\n const revEntModel = model<RevEntity>({id: 'rev', title: 'rev', i18nBase: 'MngRevEntity'});\n if (revModel.entityName) revEntModel.withI18nBase(revModel.entityName);\n if (idProperty) revEntModel.withIdPropertyUnsafe(idProperty);\n\n const desc = tableviewDescriptor(revEntModel);\n\n const detailsDescriptor = editorDescriptor<RevEntityWithChangesDto>({i18nBase: 'MngRevEntity', tableviewEditorType: TableviewEditorTypeEnum.Details});\n detailsDescriptor.model.withIdPropertyUnsafe('revEntity.' + idProperty);\n\n if (revModel.properties) {\n AuditUtil.addColumnsFromModel(desc.table, revModel.properties);\n AuditUtil.addFieldsFromModel<RevEntityWithChangesDto>(detailsDescriptor, revModel.properties);\n }\n\n detailsDescriptor\n .addField('entityNameChangesMap')\n .asCustomComponent(EntityChangesFieldComponent, {\n fieldWrappers: ['field-no-label'],\n inputs: {injector: this.injector}\n })\n .withDisabled();\n\n desc.withDetailsDescriptor(detailsDescriptor as EditorDescriptorInst<RevEntity>); // MngRevEntity is extended by MngRevEntityWithChangesDto, so no real harm here\n\n return desc;\n }\n return tableviewDescriptor<RevEntity>();\n });\n public dataProvider = signal(\n tableviewDataProviderWithService<AuditRevisionsApiService, RevEntity>(AuditRevisionsApiService).withGetAll((params, service) =>\n service.getRevisionList(params).pipe(map(res => ({data: res.data, totalCount: res.totalCount})))\n )\n );\n public actions = computed(() => {\n const detailsAction = actionEditorDetails(this.descriptor().detailsEditor, AuditRevisionsApiService).withFetchFunction(ctx => {\n return ctx.serviceInstance.getAllChangesForRevision(itemIdToDefined(ctx.parameters.itemId)).pipe(\n map(item => {\n const revEntityWithChanges: RevEntityDetailed = {\n rev: ctx.parameters.itemId,\n revEntity: item.revEntity,\n entityNameChangesMap: item.entityNameChangesMap\n };\n return revEntityWithChanges;\n })\n );\n });\n\n return [detailsAction] as ActionDescriptorInst<RevEntity>[];\n });\n}\n","@if (showTableview()) {\n <mng-tableview [descriptor]=\"descriptor()\" [dataProvider]=\"dataProvider()\" [actions]=\"actions()\"></mng-tableview>\n}\n","import {Routes} from '@angular/router';\n\nimport {CommonsMenuItem, RouteBuilder, createRoute, createRouteRedirect, createRoutes} from '@mediusinc/mng-commons/core';\nimport {createTableviewRoute} from '@mediusinc/mng-commons/tableview';\n\nimport {AuditService} from './api/services/audit.service';\nimport {AuditPageComponent} from './components/pages/audit/audit.page.component';\nimport {AuditEntityRevisionsPageComponent} from './components/pages/entity-revisions/audit-entity-revisions.page.component';\nimport {AuditRevisionsPageComponent} from './components/pages/revisions/audit-revisions.page.component';\nimport {CommonsAuditModuleConfig} from './models/config.model';\nimport {COMMONS_AUDIT_MODULE_CONFIG_IT} from './service/module-config.token';\n\n/**\n * Provides routes for the mng-commons-audit functionalities.\n * @param config Module config for audit section.\n * @param routeConfig Optionally provide route configs.\n */\nexport function provideAuditRoutes(\n config: CommonsAuditModuleConfig,\n routeConfig?: {\n defaultRedirect?: string;\n preRevisionRoutes?: RouteBuilder[];\n postRevisionRoutes?: RouteBuilder[];\n revisionsMenuItem?: CommonsMenuItem;\n entityRevisionsMenuItem?: CommonsMenuItem;\n }\n): Routes {\n const routeBuilder = createRoute('', config.rootPageComponent ?? AuditPageComponent)\n .withProvider(AuditService)\n .withProvider({\n provide: COMMONS_AUDIT_MODULE_CONFIG_IT,\n useValue: config\n })\n .addChildBuilder(createRouteRedirect('', routeConfig?.defaultRedirect ?? 'revisions', 'full'));\n\n if (routeConfig?.preRevisionRoutes?.length) {\n routeConfig.preRevisionRoutes.forEach(r => routeBuilder.addChildBuilder(r));\n }\n\n const revisionsRouteBuilder = createTableviewRoute('revisions', config.revisionsPageComponent ?? AuditRevisionsPageComponent)\n .withTitle('pages.revisions.title')\n .withAdd(false)\n .withDelete(false)\n .withEdit(false);\n if (routeConfig?.revisionsMenuItem) {\n revisionsRouteBuilder.withMenuItemOpts(routeConfig.revisionsMenuItem);\n } else {\n revisionsRouteBuilder.withMenuItem('pi pi-book', 'pages.revisions.title');\n }\n\n const entityRevisionsRouteBuilder = createRoute('entity-revisions', config.entityRevisionsPageComponent ?? AuditEntityRevisionsPageComponent).withTitle(\n 'pages.entityRevisions.title'\n );\n if (routeConfig?.entityRevisionsMenuItem) {\n entityRevisionsRouteBuilder.withMenuItemOpts(routeConfig.entityRevisionsMenuItem);\n } else {\n entityRevisionsRouteBuilder.withMenuItem('pi pi-building', 'pages.entityRevisions.title');\n }\n\n routeBuilder\n .addChildBuilder(revisionsRouteBuilder)\n .addChildBuilder(entityRevisionsRouteBuilder)\n .addChildBuilder(\n createTableviewRoute('entity-revisions/:entityClass', config.entityRevisionsPageComponent ?? AuditEntityRevisionsPageComponent).withTitle('pages.entityRevisions.title')\n );\n\n if (routeConfig?.postRevisionRoutes?.length) {\n routeConfig.postRevisionRoutes.forEach(r => routeBuilder.addChildBuilder(r));\n }\n\n return createRoutes().add(routeBuilder).build();\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mediusinc-mng-commons-audit.mjs","sources":["../../src/lib/service/module-config.token.ts","../../src/lib/api/services/audit-api.service.ts","../../src/lib/api/services/audit.service.ts","../../src/lib/components/pages/audit/audit.page.component.ts","../../src/lib/components/pages/audit/audit.page.component.html","../../src/lib/api/models/guiPropertyType.ts","../../src/lib/api/models/revisionType.ts","../../src/lib/utils/audit.util.ts","../../src/lib/api/services/audit-revisions-api.service.ts","../../src/lib/components/pages/entity-revisions/audit-entity-revisions.page.component.ts","../../src/lib/components/pages/entity-revisions/audit-entity-revisions.page.component.html","../../src/lib/components/entity-changes-field/entity-changes-field.component.ts","../../src/lib/components/entity-changes-field/entity-changes-field.component.html","../../src/lib/components/pages/revisions/audit-revisions.page.component.ts","../../src/lib/components/pages/revisions/audit-revisions.page.component.html","../../src/lib/audit.routes.ts","../../src/mediusinc-mng-commons-audit.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\n\nimport {CommonsAuditModuleConfig} from '../models/config.model';\n\nexport const COMMONS_AUDIT_MODULE_CONFIG_IT = new InjectionToken<CommonsAuditModuleConfig>('CommonsAuditModuleConfig');\n","/* eslint-disable */\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\nimport {inject} from '@angular/core';\n\nimport {CommonsConfigurationService} from '@mediusinc/mng-commons/core';\n\nimport {COMMONS_AUDIT_MODULE_CONFIG_IT} from '../../service/module-config.token';\n\nexport class AuditApiService {\n protected readonly http: HttpClient;\n public readonly defaultHeaders = new HttpHeaders();\n protected readonly configService: CommonsConfigurationService;\n protected readonly moduleConfig = inject(COMMONS_AUDIT_MODULE_CONFIG_IT);\n\n protected constructor() {\n this.http = inject(HttpClient);\n this.configService = CommonsConfigurationService.get();\n }\n\n protected getBasePath(): string {\n return `${this.configService.getConfigValue(this.moduleConfig.apiBasePathConfigKey)}`;\n }\n\n protected getServiceBasePath(): string | null {\n return this.moduleConfig.apiServiceBasePath ?? '';\n }\n\n protected getUrl(...pathSegments: Array<string>): string {\n let baseUrl = this.getBasePath();\n if (baseUrl.endsWith('/')) {\n baseUrl = baseUrl.substring(0, baseUrl.length - 1);\n }\n const serviceBasePath = this.getServiceBasePath();\n let path = [serviceBasePath, ...pathSegments].filter(s => s && s.length).join('/');\n // omit first and last '/'\n if (path.startsWith('/')) {\n path = path.substring(1);\n }\n if (path.endsWith('/')) {\n path = path.substring(0, path.length - 1);\n }\n // replace any double '//' from path that could come from joining paths\n path = path.replace('//', '/');\n return `${baseUrl}/${path}`;\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types */\nimport {Injectable} from '@angular/core';\n\nimport {Observable, shareReplay} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {GuiEntityModelDto} from '../models/guiEntityModel';\nimport {AuditApiService} from './audit-api.service';\n\n@Injectable()\nexport class AuditService extends AuditApiService {\n private readonly CACHE_SIZE = 1;\n\n private revModelObs?: Observable<GuiEntityModelDto>;\n private auditModelObs?: Observable<Array<GuiEntityModelDto>>;\n\n constructor() {\n super();\n }\n public get revModel$() {\n if (!this.revModelObs) {\n this.revModelObs = this.requestRevModel().pipe(shareReplay(this.CACHE_SIZE));\n }\n return this.revModelObs;\n }\n\n public get auditModel$() {\n if (!this.auditModelObs) {\n this.auditModelObs = this.requestAuditModel().pipe(shareReplay(this.CACHE_SIZE));\n }\n return this.auditModelObs;\n }\n\n private requestRevModel(): Observable<GuiEntityModelDto> {\n let localVarHeaders = this.defaultHeaders;\n localVarHeaders = localVarHeaders.set('Accept', 'application/json');\n return this.http.get<GuiEntityModelDto>(this.getUrl(`/rev-model`), {\n headers: localVarHeaders\n });\n }\n\n private requestAuditModel(): Observable<Array<GuiEntityModelDto>> {\n let localVarHeaders = this.defaultHeaders;\n localVarHeaders = localVarHeaders.set('Accept', 'application/json');\n return this.http\n .get<Array<GuiEntityModelDto>>(this.getUrl(`/audit-models`), {\n headers: localVarHeaders\n })\n .pipe(\n map(response => {\n if (Array.isArray(response)) {\n return response.map(item => {\n return {\n entityName: item.entityName,\n properties: item.properties\n };\n });\n } else {\n return [];\n }\n })\n );\n }\n}\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\nimport {RouterOutlet} from '@angular/router';\n\n@Component({\n standalone: true,\n selector: 'mng-audit-page',\n imports: [RouterOutlet],\n templateUrl: './audit.page.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AuditPageComponent {}\n","<router-outlet></router-outlet>\n","/**\n * Medius quarkus sampler\n * Sampler OPENAPI definition\n *\n * The version of the OpenAPI document: 1.0.0\n * Contact: info@medius.si\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {TypeRegistry} from '@mediusinc/mng-commons/core';\n\nexport enum GuiPropertyTypeDto {\n LocalDate = 'LOCAL_DATE',\n OffsetDateTime = 'OFFSET_DATE_TIME',\n String = 'STRING',\n Number = 'NUMBER',\n Boolean = 'BOOLEAN',\n Enum = 'ENUM',\n Wildcard = 'WILDCARD'\n}\n\nTypeRegistry.get().registerEnum(GuiPropertyTypeDto, 'MngGuiPropertyTypeDto');\n","/**\n * Medius quarkus sampler\n * Sampler OPENAPI definition\n *\n * The version of the OpenAPI document: 1.0.0\n * Contact: info@medius.si\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {TypeRegistry} from '@mediusinc/mng-commons/core';\nimport {enumModel} from '@mediusinc/mng-commons/model';\n\nexport enum RevisionTypeDto {\n Add = 'ADD',\n Mod = 'MOD',\n Del = 'DEL'\n}\n\nTypeRegistry.get().registerEnum(RevisionTypeDto, 'MngRevisionTypeDto');\n\nexport const revisionTypeEnum = enumModel(RevisionTypeDto.Add, RevisionTypeDto, 'MngRevisionTypeDto');\n","import {HttpParams} from '@angular/common/http';\n\nimport {DataListParams, EnumType, TypeRegistry, dataListParamsToUrlQuery} from '@mediusinc/mng-commons/core';\nimport {lookupDataProvider} from '@mediusinc/mng-commons/form/api';\nimport {enumModelGeneric} from '@mediusinc/mng-commons/model';\nimport {ColumnDescriptor, TableDescriptorInst} from '@mediusinc/mng-commons/table/api';\nimport {EditorDescriptorInst, TableviewDescriptorInst} from '@mediusinc/mng-commons/tableview/api';\n\nimport {EntityChangeDto} from '../api/models/entityChange';\nimport {GuiEntityModelDto} from '../api/models/guiEntityModel';\nimport {GuiPropertyModelDto} from '../api/models/guiPropertyModel';\nimport {GuiPropertyTypeDto} from '../api/models/guiPropertyType';\nimport {RevisionTypeDto, revisionTypeEnum} from '../api/models/revisionType';\nimport {EntityRevisionChangeState} from '../models/entity-revision-change-state.model';\nimport {EntityRevisionChanges} from '../models/entity-revision-changes.model';\nimport {RevEntityWithId} from '../models/revEntityWithId.model';\n\nexport class AuditUtil {\n private static _dateRegex = /\\d{4}-[01]\\d-[0-3]\\d/;\n\n public static addColumnsFromModel<T>(\n descriptor: TableDescriptorInst<T>,\n properties: GuiPropertyModelDto[],\n modelType: 'revEntity' | 'entityState' | undefined = undefined,\n addFilters = true,\n addSorts = true\n ): TableDescriptorInst<T> {\n for (const property of properties) {\n if (!property.resolvedPropertyName) {\n continue;\n }\n\n const isEnum = property.propertyType === GuiPropertyTypeDto.Enum;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let column: ColumnDescriptor<any, T> | null = null;\n if (isEnum) {\n if (!property.possibleEnumValues) {\n continue;\n }\n\n const enumModel = AuditUtil.findEnum(property);\n if (enumModel) {\n column = descriptor.addColumnEnum(property.resolvedPropertyName as keyof T, enumModel);\n if (addFilters) {\n descriptor.addFilterLookupEnum(column.property as keyof T, enumModel, property.possibleEnumValues);\n }\n } else {\n column = descriptor.addColumnUnsafe(property.resolvedPropertyName);\n if (addFilters) {\n descriptor.addFilterLookupUnsafe(\n column.property,\n lookupDataProvider<string>().withLookup(() => property.possibleEnumValues ?? [])\n );\n }\n }\n } else if (property.propertyType === GuiPropertyTypeDto.Number) {\n column = descriptor.addColumnUnsafe(property.resolvedPropertyName).asNumber();\n } else if (property.propertyType === GuiPropertyTypeDto.Boolean) {\n column = descriptor.addColumnUnsafe(property.resolvedPropertyName).asBoolean();\n } else if (property.propertyType === GuiPropertyTypeDto.LocalDate) {\n column = descriptor.addColumnUnsafe(property.resolvedPropertyName).asDate('dd. MM yyyy');\n } else if (property.propertyType === GuiPropertyTypeDto.OffsetDateTime) {\n column = descriptor.addColumnUnsafe(property.resolvedPropertyName).asDate('dd. MM yyyy HH:mm');\n } else {\n // string / wildcard\n column = descriptor.addColumnUnsafe(property.resolvedPropertyName).withTitle(AuditUtil.getPropertyTitleKey(property, modelType));\n }\n\n if (modelType) {\n column.withGetter((value, item) => item?.[modelType as keyof object]?.[property.resolvedPropertyName as keyof object]);\n }\n\n column.withTitle(AuditUtil.getPropertyTitleKey(property, modelType));\n\n if (!isEnum && addFilters) {\n descriptor.addFilterFromColumnDescriptorUnsafe(column);\n }\n if (addSorts) {\n descriptor.withSortUnsafe(column.property);\n }\n }\n return descriptor;\n }\n\n public static getPropertyTitleKey(property: GuiPropertyModelDto, modelType: 'revEntity' | 'entityState' | undefined = undefined) {\n if (modelType === 'revEntity') {\n return 'MngRevEntity.properties.' + property.resolvedPropertyName;\n }\n return property.resolvedPropertyName ?? '';\n }\n\n public static addFieldsFromModel<T>(\n descriptor: EditorDescriptorInst<T>,\n properties: GuiPropertyModelDto[],\n modelType: 'revEntity' | 'entityState' = 'revEntity'\n ): EditorDescriptorInst<T> {\n for (const property of properties) {\n if (!property.resolvedPropertyName) {\n continue;\n }\n\n const fieldPrepend = `${modelType}.`;\n\n if (property.propertyType === GuiPropertyTypeDto.Enum) {\n const enumModel = AuditUtil.findEnum(property);\n if (enumModel) {\n if (!property.possibleEnumValues) {\n continue;\n }\n\n descriptor.addFieldLookupEnum((fieldPrepend + property.resolvedPropertyName) as keyof T, enumModel, property.possibleEnumValues).withDisabled();\n } else {\n descriptor.addFieldUnsafe(fieldPrepend + property.resolvedPropertyName).withLabel(AuditUtil.getPropertyTitleKey(property, modelType));\n }\n } else if (property.propertyType === GuiPropertyTypeDto.Number) {\n descriptor\n .addFieldUnsafe(fieldPrepend + property.resolvedPropertyName)\n .withLabel(AuditUtil.getPropertyTitleKey(property, modelType))\n .asNumber()\n .withDisabled();\n } else if (property.propertyType === GuiPropertyTypeDto.Boolean) {\n descriptor\n .addFieldUnsafe(fieldPrepend + property.resolvedPropertyName)\n .withLabel(AuditUtil.getPropertyTitleKey(property, modelType))\n .withDisabled();\n } else if (property.propertyType === GuiPropertyTypeDto.LocalDate) {\n descriptor\n .addFieldUnsafe(fieldPrepend + property.resolvedPropertyName)\n .withLabel(AuditUtil.getPropertyTitleKey(property, modelType))\n .asDatePicker({format: 'dd. MMM yyyy'})\n .withDisabled();\n } else if (property.propertyType === GuiPropertyTypeDto.OffsetDateTime) {\n descriptor\n .addFieldUnsafe(fieldPrepend + property.resolvedPropertyName)\n .withLabel(AuditUtil.getPropertyTitleKey(property, modelType))\n .asDatePicker({\n format: 'dd. MM yy',\n showTime: true,\n showSeconds: false\n })\n .withDisabled();\n } else {\n // string / wildcard\n descriptor\n .addFieldUnsafe(fieldPrepend + property.resolvedPropertyName)\n .withLabel(AuditUtil.getPropertyTitleKey(property, modelType))\n .withDisabled();\n }\n }\n return descriptor;\n }\n\n public static buildDescriptorForEntityRevision(\n descriptor: TableviewDescriptorInst<RevEntityWithId>,\n revModel: GuiEntityModelDto,\n entityModel: GuiEntityModelDto\n ): TableviewDescriptorInst<RevEntityWithId> {\n const revType = descriptor.addColumnEnum('revType', revisionTypeEnum).withTitle('MngEntityRevisionChangeState.properties.revType');\n descriptor.addFieldLookupEnum('revType', revisionTypeEnum).withLabel('MngEntityRevisionChangeState.properties.revType');\n\n descriptor.table.addFilterFromColumnDescriptorUnsafe(revType);\n\n if (revModel.properties) {\n AuditUtil.addColumnsFromModel(descriptor.table, revModel.properties, 'revEntity');\n AuditUtil.addFieldsFromModel(descriptor.detailsEditor, revModel.properties, 'revEntity');\n }\n if (entityModel.properties) {\n AuditUtil.addColumnsFromModel(descriptor.table, entityModel.properties, 'entityState');\n AuditUtil.addFieldsFromModel(descriptor.detailsEditor, entityModel.properties, 'entityState');\n }\n\n return descriptor;\n }\n\n public static findEnum(property: GuiPropertyModelDto) {\n if (!property.enumClassSimpleName) {\n return undefined;\n }\n\n let i18n: string | null = property.enumClassSimpleName;\n let enumType = TypeRegistry.get().findEnum(i18n);\n if (!enumType) {\n i18n = property.enumClassSimpleName + 'Dto';\n enumType = TypeRegistry.get().findEnum(i18n);\n }\n if (!enumType && Array.isArray(property.possibleEnumValues)) {\n i18n = null;\n enumType = property.possibleEnumValues?.reduce(\n (acc, v) => {\n const constName = v\n .split('_')\n .map(s => (s.length > 1 ? s.substring(0, 1).toUpperCase() + s.substring(1).toLowerCase() : s))\n .join('');\n if (constName !== v) {\n acc[constName] = v;\n }\n acc[v] = constName;\n return acc;\n },\n <EnumType>{}\n );\n }\n return enumModelGeneric(enumType, i18n);\n }\n\n public static extractPropertyName(fullPropertyName: string | undefined): string | undefined {\n if (fullPropertyName?.includes('entityState.')) {\n return fullPropertyName.replace('entityState.', '');\n } else if (fullPropertyName?.includes('revEntity.')) {\n return fullPropertyName?.replace('revEntity.', '');\n }\n return fullPropertyName;\n }\n\n public static paramsToHttpParams(params: DataListParams): HttpParams {\n const routeParams = dataListParamsToUrlQuery(params, null);\n let httpParams = new HttpParams();\n\n Object.entries(routeParams).forEach(([key, value]) => {\n httpParams = httpParams.append(key, value);\n });\n\n return httpParams;\n }\n\n public static mapItemsToEntityChangesArray(fieldValue: {[key: string]: Array<EntityChangeDto>}): Array<EntityRevisionChanges> {\n const entityChanges: EntityRevisionChanges[] = [];\n for (const key of Object.keys(fieldValue)) {\n const ec: EntityRevisionChanges = {entityType: key, items: []};\n for (const change of fieldValue[key]) {\n if (change.revType === RevisionTypeDto.Add && change.entityNewState) {\n const item: EntityRevisionChangeState = {\n revType: change.revType,\n color: 'green'\n };\n Object.entries(change.entityNewState).forEach(([key, value]) => (item[key] = value));\n ec.items?.push(item);\n } else if (change.revType === RevisionTypeDto.Del && change.entityOldState) {\n const item: EntityRevisionChangeState = {\n revType: change.revType,\n color: 'red'\n };\n Object.entries(change.entityOldState).forEach(([key, value]) => (item[key] = value));\n ec.items?.push(item);\n } else if (change.revType === RevisionTypeDto.Mod && change.entityOldState && change.entityNewState) {\n const itemOld: EntityRevisionChangeState = {\n revType: change.revType,\n color: 'red'\n };\n Object.entries(change.entityOldState).forEach(([key, value]) => (itemOld[key] = value));\n\n const itemNew: EntityRevisionChangeState = {\n revType: change.revType,\n color: 'green'\n };\n Object.entries(change.entityNewState).forEach(([key, value]) => (itemNew[key] = value));\n\n ec.items?.push(itemOld);\n ec.items?.push(itemNew);\n }\n }\n entityChanges.push(ec);\n }\n return entityChanges;\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types */\nimport {Injectable} from '@angular/core';\n\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {CommonsInternalError, DataListParams, IdType} from '@mediusinc/mng-commons/core';\n\nimport {RevEntityWithId} from '../../models/revEntityWithId.model';\nimport {AuditUtil} from '../../utils/audit.util';\nimport {GetAllResponse} from '../models/get-all-response.model';\nimport {RevEntityWithChangesDto} from '../models/revEntityWithChangesDto';\nimport {RevEntityWithStateDto} from '../models/revEntityWithStateDto';\nimport {AuditApiService} from './audit-api.service';\n\n@Injectable()\nexport class AuditRevisionsApiService extends AuditApiService {\n constructor() {\n super();\n }\n public getRevisionList(params: DataListParams): Observable<GetAllResponse<{[key: string]: unknown}>> {\n return this.http.get<GetAllResponse<{[key: string]: unknown}>>(this.getUrl(''), {\n params: AuditUtil.paramsToHttpParams(params)\n });\n }\n\n public getAllChangesForRevision(revId: IdType): Observable<RevEntityWithChangesDto> {\n return this.http.get<RevEntityWithChangesDto>(this.getUrl(`/changes/${revId}`));\n }\n\n public listRevisionsWithStateForEntityType(params: DataListParams, entityType: string): Observable<GetAllResponse<RevEntityWithStateDto>> {\n let localVarHeaders = this.defaultHeaders;\n localVarHeaders = localVarHeaders.set('Accept', 'application/json');\n return this.http\n .get<GetAllResponse<any>>(this.getUrl(`/states/${entityType}`), {\n params: AuditUtil.paramsToHttpParams(params),\n headers: localVarHeaders\n })\n .pipe(\n map(res => {\n return <GetAllResponse<RevEntityWithStateDto>>{\n data: res.data.map(item => {\n return {\n revEntity: item.revEntity,\n revType: item.revType,\n entityClassName: item.entityClassName,\n entityState: item.entityState\n };\n }),\n totalCount: res.totalCount\n };\n })\n );\n }\n\n public fetchRevisionsWithStateForEntityType(entityType: string, revId: IdType, itemId: IdType): Observable<RevEntityWithId> {\n let localVarHeaders = this.defaultHeaders;\n localVarHeaders = localVarHeaders.set('Accept', 'application/json');\n return this.http\n .get<GetAllResponse<any>>(this.getUrl(`/states/${entityType}?rev=eq:${revId}&id=eq:${itemId}`), {\n headers: localVarHeaders\n })\n .pipe(\n map(res =>\n res.data.map(i => {\n i.mergedId = i.revEntity?.['rev'] + '_' + i.entityState?.['id'];\n return i as RevEntityWithId;\n })\n ),\n map(items => {\n if (items.length > 0) {\n return items[0];\n }\n throw new CommonsInternalError(`Entity revision ${revId} for ${entityType} with id ${itemId} was not found`);\n })\n );\n }\n}\n","import {AsyncPipe} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, computed, effect, inject, signal} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {FormsModule} from '@angular/forms';\nimport {ActivatedRoute, Router} from '@angular/router';\n\nimport {FormlyModule} from '@ngx-formly/core';\nimport {TranslateModule, TranslateService} from '@ngx-translate/core';\nimport {throwError} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {CommonsInternalError, Nullable} from '@mediusinc/mng-commons/core';\nimport {DropdownComponent} from '@mediusinc/mng-commons/form';\nimport {lookupDataProviderWithService} from '@mediusinc/mng-commons/form/api';\nimport {TableviewComponent} from '@mediusinc/mng-commons/tableview';\nimport {ActionDescriptorInst, actionEditorDetails, tableviewDataProviderWithService, tableviewDescriptor} from '@mediusinc/mng-commons/tableview/api';\n\nimport {GuiEntityModelDto} from '../../../api/models/guiEntityModel';\nimport {AuditRevisionsApiService} from '../../../api/services/audit-revisions-api.service';\nimport {AuditService} from '../../../api/services/audit.service';\nimport {GuiEntityModelWithI18n} from '../../../models/guiEntityModelWithI18n.model';\nimport {RevEntityWithId} from '../../../models/revEntityWithId.model';\nimport {AuditUtil} from '../../../utils/audit.util';\n\n@Component({\n standalone: true,\n selector: 'mng-audit-entity-revisions-page',\n templateUrl: './audit-entity-revisions.page.component.html',\n imports: [DropdownComponent, FormsModule, AsyncPipe, TranslateModule, FormlyModule, TableviewComponent],\n providers: [AuditRevisionsApiService],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AuditEntityRevisionsPageComponent {\n private readonly router = inject(Router);\n private readonly route = inject(ActivatedRoute);\n private readonly translate = inject(TranslateService);\n private readonly auditService = inject(AuditService);\n\n private readonly revModel = toSignal(this.auditService.revModel$);\n private readonly auditModel = toSignal(this.auditService.auditModel$);\n private readonly entityClass = toSignal(this.route.paramMap.pipe(map(pm => pm.get('entityClass') ?? undefined)));\n\n public readonly selectedRevisionEntity = computed(() => {\n const entities = this.auditModel();\n const entityClass = this.entityClass();\n if (entityClass && entities) {\n for (const e of entities) {\n if (e.entityName === entityClass) {\n return e;\n }\n }\n }\n return undefined;\n });\n public readonly descriptor = computed(() => {\n const revModel = this.revModel();\n const selectedRevisionEntity = this.selectedRevisionEntity();\n if (!revModel || !selectedRevisionEntity?.entityName) {\n return undefined;\n }\n\n const desc = tableviewDescriptor<RevEntityWithId>({id: 'mergedId', i18nBase: selectedRevisionEntity.entityName});\n AuditUtil.buildDescriptorForEntityRevision(desc, revModel, selectedRevisionEntity);\n desc.table.withColumnsResizable();\n desc.table.withCurrentColumnsReorderable();\n desc.table.withCurrentColumnsToggleable();\n\n return desc;\n });\n public readonly dataProvider = computed(() => {\n const revModel = this.revModel();\n const selectedRevisionEntity = this.selectedRevisionEntity();\n if (!revModel || !selectedRevisionEntity?.entityName) {\n return undefined;\n }\n\n const entityName = selectedRevisionEntity.entityName;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return tableviewDataProviderWithService<AuditRevisionsApiService, RevEntityWithId>(AuditRevisionsApiService).withGetAll((params, service) =>\n selectedRevisionEntity.entityName\n ? service.listRevisionsWithStateForEntityType(params, entityName).pipe(\n map(res => {\n const revEntityWithStateAndIdList = [];\n for (const revEntityWithState of res.data) {\n const revEntityWithStateAndId: RevEntityWithId = {\n mergedId: revEntityWithState.revEntity?.['rev'] + '_' + revEntityWithState.entityState?.['id'],\n revType: revEntityWithState.revType,\n revEntity: revEntityWithState.revEntity,\n entityState: revEntityWithState.entityState,\n entityClassName: revEntityWithState.entityClassName\n };\n revEntityWithStateAndIdList.push(revEntityWithStateAndId);\n }\n return {data: revEntityWithStateAndIdList, totalCount: res.totalCount};\n })\n )\n : throwError(() => new CommonsInternalError('No revision entity is provided for list.'))\n );\n });\n public readonly actions = computed(() => {\n const selectedRevisionEntity = this.selectedRevisionEntity();\n const descriptor = this.descriptor();\n if (!selectedRevisionEntity?.entityName || !descriptor) {\n return [];\n }\n const entityName = selectedRevisionEntity.entityName;\n const detailsAction = actionEditorDetails<RevEntityWithId, AuditRevisionsApiService>(descriptor.detailsEditor, AuditRevisionsApiService)\n .withFetchFunction(ctx => {\n if (!entityName) {\n return throwError(() => new CommonsInternalError('No revision entity is provided for details.'));\n }\n if (!ctx.parameters.itemId) {\n return throwError(() => new CommonsInternalError('No item id for revision entity details is provided.'));\n }\n const revId = ctx.parameters.itemId.toString().split('_')[0];\n const itemId = ctx.parameters.itemId.toString().split('_')[1];\n return ctx.serviceInstance.fetchRevisionsWithStateForEntityType(entityName, revId, itemId);\n })\n .withEditorTitle('pages.entityRevisions.actions.details.editor.title');\n return [detailsAction] as ActionDescriptorInst<RevEntityWithId>[];\n });\n\n public revisionEntitiesLookupProvider = lookupDataProviderWithService<AuditService, GuiEntityModelWithI18n>(AuditService).withLookup(() =>\n this.auditService.auditModel$.pipe(\n map(model => {\n const modelI18n = model as GuiEntityModelWithI18n[];\n modelI18n.sort((m1, m2) => {\n if (m1.entityName && m2.entityName) {\n return m1.entityName.localeCompare(m2.entityName);\n } else if (m1.entityName && !m2.entityName) {\n return 1;\n } else {\n return -1;\n }\n });\n modelI18n.forEach(item => {\n const translatedEntityName = this.translate.instant('AuditEntities.' + item.entityName);\n item.entityNameI18n = translatedEntityName.includes('AuditEntities.') ? item.entityName : translatedEntityName;\n });\n return modelI18n;\n })\n )\n );\n public showTableview = signal(false);\n\n constructor() {\n effect(\n () => {\n const descriptor = this.descriptor();\n if (descriptor) {\n setTimeout(() => {\n this.showTableview.set(true);\n });\n }\n },\n {allowSignalWrites: true}\n );\n }\n\n public onRevisionEntityChange(value: Nullable<GuiEntityModelDto>) {\n this.showTableview.set(false);\n const currentUrl = this.router.url;\n const routePrefix = currentUrl.substring(0, currentUrl.lastIndexOf('/audit/entity-revisions') + '/audit/entity-revisions'.length);\n\n if (value) {\n this.router.navigate([routePrefix, value.entityName]);\n } else {\n this.router.navigate([routePrefix]);\n }\n }\n}\n","<div class=\"card\">\n <div class=\"field mb-0\">\n <mng-dropdown\n id=\"revisionEntityDropdown\"\n [placeholder]=\"'pages.entityRevisions.dropdown.placeholder' | translate\"\n optionsLabelProperty=\"entityNameI18n\"\n [ngModel]=\"selectedRevisionEntity()\"\n (valueChange)=\"onRevisionEntityChange($event)\"\n [dataProvider]=\"revisionEntitiesLookupProvider\"\n [showClear]=\"true\"></mng-dropdown>\n @if (!selectedRevisionEntity()) {\n <small class=\"block\">\n {{ 'pages.entityRevisions.dropdown.helpText' | translate }}\n </small>\n }\n </div>\n</div>\n@if (showTableview() && descriptor()) {\n <mng-tableview [descriptor]=\"descriptor()!\" [dataProvider]=\"dataProvider()\" [actions]=\"actions()\"></mng-tableview>\n}\n","import {ChangeDetectionStrategy, Component, DestroyRef, Injector, Input, OnInit, inject, signal} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\n\nimport {CommonsInternalError} from '@mediusinc/mng-commons/core';\nimport {TableComponent} from '@mediusinc/mng-commons/table';\nimport {TableDescriptorInst, TablePaginationModeEnum, tableDescriptor} from '@mediusinc/mng-commons/table/api';\nimport {AFormlyCustomFieldComponent} from '@mediusinc/mng-commons/tableview/api';\n\nimport {EntityChangeDto} from '../../api/models/entityChange';\nimport {GuiEntityModelDto} from '../../api/models/guiEntityModel';\nimport {RevEntityWithChangesDto} from '../../api/models/revEntityWithChangesDto';\nimport {RevisionTypeDto, revisionTypeEnum} from '../../api/models/revisionType';\nimport {AuditService} from '../../api/services/audit.service';\nimport {EntityRevisionChangeState} from '../../models/entity-revision-change-state.model';\nimport {EntityRevisionChanges} from '../../models/entity-revision-changes.model';\nimport {AuditUtil} from '../../utils/audit.util';\n\n@Component({\n standalone: true,\n selector: 'mng-entity-changes-field',\n imports: [TableComponent],\n styleUrls: ['entity-changes-field.component.scss'],\n templateUrl: 'entity-changes-field.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class EntityChangesFieldComponent extends AFormlyCustomFieldComponent<RevEntityWithChangesDto['entityNameChangesMap'], RevEntityWithChangesDto> implements OnInit {\n @Input() public injector?: Injector;\n\n private destroyRef = inject(DestroyRef);\n\n public entityChanges = signal<\n {\n data: EntityRevisionChanges;\n descriptor: TableDescriptorInst<EntityRevisionChangeState>;\n }[]\n >([]);\n public modelFetched = signal(false);\n\n private auditModel: GuiEntityModelDto[] = [];\n private fieldValue?: Record<string, EntityChangeDto[]>;\n\n ngOnInit(): void {\n this.fieldValue = this.formControl.value;\n this.injector\n ?.get(AuditService, undefined, {optional: true})\n ?.auditModel$.pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe({\n next: model => {\n this.auditModel = model;\n if (this.fieldValue) {\n this.entityChanges.set(\n AuditUtil.mapItemsToEntityChangesArray(this.fieldValue).map(fv => ({\n data: fv,\n descriptor: this.createDescriptor(fv)\n }))\n );\n this.modelFetched.set(true);\n }\n },\n error: err => {\n throw new CommonsInternalError('Error while trying to fetch audit model from audit service', {name: 'EntityChangesFieldComponentError', cause: err});\n }\n });\n }\n\n private createDescriptor(entityChanges: EntityRevisionChanges) {\n const changedFields: string[] = [];\n if (entityChanges.items && entityChanges.items[0].revType === RevisionTypeDto.Mod) {\n for (const key in entityChanges.items[0]) {\n if (entityChanges.items[0][key] !== entityChanges.items[1][key]) {\n changedFields.push(key);\n }\n }\n }\n\n const guiEntityModel = this.auditModel.filter(m => m.entityName === entityChanges.entityType)[0];\n\n const desc = tableDescriptor<EntityRevisionChangeState>({i18nBase: guiEntityModel.entityName}).withClassName('py-2');\n if (guiEntityModel.entityName) {\n desc.withTitle(guiEntityModel.entityName);\n }\n\n desc.addColumnEnum('revType', revisionTypeEnum).withTitle('MngEntityRevisionChangeState.properties.revType');\n\n if (guiEntityModel.properties) {\n AuditUtil.addColumnsFromModel(desc, guiEntityModel.properties, undefined, false, false);\n }\n\n desc.withRowClassName(undefined, (_, item) => (item ? (item.color === 'green' ? 'audit-row-added' : 'audit-row-deleted') : ''));\n desc.columns.forEach(col => {\n if (changedFields.length > 0 && changedFields.some(val => col.property === val)) {\n col.withClassName('audit-cell');\n }\n });\n\n desc.withPaginationMode(TablePaginationModeEnum.Pagination);\n desc.withCurrentColumnsReorderable();\n desc.withCurrentColumnsToggleable();\n desc.withTrackProperty(`EntityChangeField_${entityChanges.entityType ?? 'default'}`);\n\n return desc;\n }\n}\n","@if (modelFetched()) {\n <div>\n @for (ec of entityChanges(); track ec) {\n <mng-table [items]=\"ec.data.items\" [descriptor]=\"ec.descriptor\"></mng-table>\n }\n </div>\n} @else {\n <div class=\"text-center\">\n <i class=\"pi pi-spin pi-spinner\" style=\"font-size: 2rem\"></i>\n </div>\n}\n","import {AsyncPipe, JsonPipe} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, Injector, computed, inject, signal} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {RouterOutlet} from '@angular/router';\n\nimport {map} from 'rxjs/operators';\n\nimport {itemIdToDefined} from '@mediusinc/mng-commons/core';\nimport {model} from '@mediusinc/mng-commons/model';\nimport {TableviewComponent} from '@mediusinc/mng-commons/tableview';\nimport {\n ActionDescriptorInst,\n EditorDescriptorInst,\n TableviewEditorTypeEnum,\n actionEditorDetails,\n editorDescriptor,\n tableviewDataProviderWithService,\n tableviewDescriptor\n} from '@mediusinc/mng-commons/tableview/api';\n\nimport {RevEntityWithChangesDto} from '../../../api/models/revEntityWithChangesDto';\nimport {AuditRevisionsApiService} from '../../../api/services/audit-revisions-api.service';\nimport {AuditService} from '../../../api/services/audit.service';\nimport {RevEntityDetailed} from '../../../models/rev-entity-detailed.model';\nimport {RevEntity} from '../../../models/rev-entity.model';\nimport {AuditUtil} from '../../../utils/audit.util';\nimport {EntityChangesFieldComponent} from '../../entity-changes-field/entity-changes-field.component';\n\n@Component({\n standalone: true,\n selector: 'mng-audit-revisions-page',\n templateUrl: './audit-revisions.page.component.html',\n imports: [TableviewComponent, AsyncPipe, RouterOutlet, JsonPipe],\n providers: [AuditRevisionsApiService],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AuditRevisionsPageComponent {\n private injector = inject(Injector);\n private auditService = inject(AuditService);\n\n private revModel = toSignal(this.auditService.revModel$);\n public showTableview = computed(() => this.revModel() != null);\n\n public descriptor = computed(() => {\n const revModel = this.revModel();\n if (revModel) {\n const idProperty = revModel.properties?.filter(prop => prop.isId).map(prop => prop.resolvedPropertyName)[0];\n\n const revEntModel = model<RevEntity>({id: 'rev', title: 'rev', i18nBase: 'MngRevEntity'});\n if (revModel.entityName) revEntModel.withI18nBase(revModel.entityName);\n if (idProperty) revEntModel.withIdPropertyUnsafe(idProperty);\n\n const desc = tableviewDescriptor(revEntModel);\n\n const detailsDescriptor = editorDescriptor<RevEntityWithChangesDto>({i18nBase: 'MngRevEntity', tableviewEditorType: TableviewEditorTypeEnum.Details});\n detailsDescriptor.model.withIdPropertyUnsafe('revEntity.' + idProperty);\n\n if (revModel.properties) {\n AuditUtil.addColumnsFromModel(desc.table, revModel.properties);\n AuditUtil.addFieldsFromModel<RevEntityWithChangesDto>(detailsDescriptor, revModel.properties);\n }\n\n detailsDescriptor\n .addField('entityNameChangesMap')\n .asCustomComponent(EntityChangesFieldComponent, {\n fieldWrappers: ['field-no-label'],\n inputs: {injector: this.injector}\n })\n .withDisabled();\n\n desc.withDetailsDescriptor(detailsDescriptor as EditorDescriptorInst<RevEntity>); // MngRevEntity is extended by MngRevEntityWithChangesDto, so no real harm here\n\n return desc;\n }\n return tableviewDescriptor<RevEntity>();\n });\n public dataProvider = signal(\n tableviewDataProviderWithService<AuditRevisionsApiService, RevEntity>(AuditRevisionsApiService).withGetAll((params, service) =>\n service.getRevisionList(params).pipe(map(res => ({data: res.data, totalCount: res.totalCount})))\n )\n );\n public actions = computed(() => {\n const detailsAction = actionEditorDetails(this.descriptor().detailsEditor, AuditRevisionsApiService).withFetchFunction(ctx => {\n return ctx.serviceInstance.getAllChangesForRevision(itemIdToDefined(ctx.parameters.itemId)).pipe(\n map(item => {\n const revEntityWithChanges: RevEntityDetailed = {\n rev: ctx.parameters.itemId,\n revEntity: item.revEntity,\n entityNameChangesMap: item.entityNameChangesMap\n };\n return revEntityWithChanges;\n })\n );\n });\n\n return [detailsAction] as ActionDescriptorInst<RevEntity>[];\n });\n}\n","@if (showTableview()) {\n <mng-tableview [descriptor]=\"descriptor()\" [dataProvider]=\"dataProvider()\" [actions]=\"actions()\"></mng-tableview>\n}\n","import {Routes} from '@angular/router';\n\nimport {CommonsMenuItem, RouteBuilder, createRoute, createRouteRedirect, createRoutes} from '@mediusinc/mng-commons/core';\nimport {createTableviewRoute} from '@mediusinc/mng-commons/tableview';\n\nimport {AuditService} from './api/services/audit.service';\nimport {AuditPageComponent} from './components/pages/audit/audit.page.component';\nimport {AuditEntityRevisionsPageComponent} from './components/pages/entity-revisions/audit-entity-revisions.page.component';\nimport {AuditRevisionsPageComponent} from './components/pages/revisions/audit-revisions.page.component';\nimport {CommonsAuditModuleConfig} from './models/config.model';\nimport {COMMONS_AUDIT_MODULE_CONFIG_IT} from './service/module-config.token';\n\n/**\n * Provides routes for the mng-commons-audit functionalities.\n * @param config Module config for audit section.\n * @param routeConfig Optionally provide route configs.\n */\nexport function provideAuditRoutes(\n config: CommonsAuditModuleConfig,\n routeConfig?: {\n defaultRedirect?: string;\n preRevisionRoutes?: RouteBuilder[];\n postRevisionRoutes?: RouteBuilder[];\n revisionsMenuItem?: CommonsMenuItem;\n entityRevisionsMenuItem?: CommonsMenuItem;\n }\n): Routes {\n const routeBuilder = createRoute('', config.rootPageComponent ?? AuditPageComponent)\n .withProvider(AuditService)\n .withProvider({\n provide: COMMONS_AUDIT_MODULE_CONFIG_IT,\n useValue: config\n })\n .addChildBuilder(createRouteRedirect('', routeConfig?.defaultRedirect ?? 'revisions', 'full'));\n\n if (routeConfig?.preRevisionRoutes?.length) {\n routeConfig.preRevisionRoutes.forEach(r => routeBuilder.addChildBuilder(r));\n }\n\n const revisionsRouteBuilder = createTableviewRoute('revisions', config.revisionsPageComponent ?? AuditRevisionsPageComponent)\n .withTitle('pages.revisions.title')\n .withAdd(false)\n .withDelete(false)\n .withEdit(false);\n if (routeConfig?.revisionsMenuItem) {\n revisionsRouteBuilder.withMenuItemOpts(routeConfig.revisionsMenuItem);\n } else {\n revisionsRouteBuilder.withMenuItem('pi pi-book', 'pages.revisions.title');\n }\n\n const entityRevisionsRouteBuilder = createRoute('entity-revisions', config.entityRevisionsPageComponent ?? AuditEntityRevisionsPageComponent).withTitle(\n 'pages.entityRevisions.title'\n );\n if (routeConfig?.entityRevisionsMenuItem) {\n entityRevisionsRouteBuilder.withMenuItemOpts(routeConfig.entityRevisionsMenuItem);\n } else {\n entityRevisionsRouteBuilder.withMenuItem('pi pi-building', 'pages.entityRevisions.title');\n }\n\n routeBuilder\n .addChildBuilder(revisionsRouteBuilder)\n .addChildBuilder(entityRevisionsRouteBuilder)\n .addChildBuilder(\n createTableviewRoute('entity-revisions/:entityClass', config.entityRevisionsPageComponent ?? AuditEntityRevisionsPageComponent).withTitle('pages.entityRevisions.title')\n );\n\n if (routeConfig?.postRevisionRoutes?.length) {\n routeConfig.postRevisionRoutes.forEach(r => routeBuilder.addChildBuilder(r));\n }\n\n return createRoutes().add(routeBuilder).build();\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@mediusinc/mng-commons-audit",
3
- "version": "5.5.0-rc.0",
3
+ "version": "5.5.0-rc.1",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^17.3.0 || ^18.0.0",
6
6
  "@angular/core": "^17.3.0 || ^18.0.0",
7
7
  "@angular/router": "^17.3.0 || ^18.0.0",
8
8
  "@angular/forms": "^17.3.0 || ^18.0.0",
9
- "@ngx-formly/core": "^6.3.5",
9
+ "@ngx-formly/core": "6.3.11",
10
10
  "@ngx-translate/core": "^15.0.0",
11
- "@mediusinc/mng-commons": "~5.5.0-rc.0"
11
+ "@mediusinc/mng-commons": "~5.5.0-rc.1"
12
12
  },
13
13
  "dependencies": {
14
- "tslib": "^2.6.2"
14
+ "tslib": "^2.8.1"
15
15
  },
16
16
  "publishConfig": {
17
17
  "directory": "dist"
package/version-info.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@mediusinc/mng-commons-audit",
3
- "version": "5.5.0-rc.0",
3
+ "version": "5.5.0-rc.1",
4
4
  "tag": "v5.4.0-rc.7",
5
- "distance": 5,
6
- "hash": "4f490c8b",
5
+ "distance": 21,
6
+ "hash": "8c9a8e96",
7
7
  "dirty": true,
8
- "semver": "5.4.0-rc.7+5.g4f490c8b.dirty",
8
+ "semver": "5.4.0-rc.7+21.g8c9a8e96.dirty",
9
9
  "buildTimestamp": null,
10
- "raw": "v5.4.0-rc.7-5-4f490c8b-dirty"
10
+ "raw": "v5.4.0-rc.7-21-8c9a8e96-dirty"
11
11
  }