@techextensor/tab-core-utility 2.2.21 → 2.2.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/tab-core-utility/app/helpers/common/dsq.helpers.mjs +3 -3
- package/esm2022/lib/tab-core-utility/app/helpers/screen/grid-column-data.helpers.mjs +9 -6
- package/esm2022/lib/tab-core-utility/app/interfaces/grid.interface.mjs +1 -1
- package/esm2022/lib/tab-core-utility/app/utils/tab-app.util.mjs +22 -2
- package/lib/tab-core-utility/app/helpers/common/dsq.helpers.d.ts +1 -1
- package/lib/tab-core-utility/app/helpers/screen/grid-column-data.helpers.d.ts +1 -2
- package/lib/tab-core-utility/app/interfaces/grid.interface.d.ts +560 -0
- package/lib/tab-core-utility/app/utils/tab-app.util.d.ts +1 -1
- package/package.json +1 -1
|
@@ -51,8 +51,8 @@ export class DSQHelper {
|
|
|
51
51
|
* @param roles The roles of the user with IDs
|
|
52
52
|
* @returns True if the user has access, false otherwise
|
|
53
53
|
*/
|
|
54
|
-
doesHaveObjectAccess(dsqId, accessType, roles) {
|
|
55
|
-
const appObject = getAppObjectFromDataSourceQueryID(dsqId);
|
|
54
|
+
async doesHaveObjectAccess(dsqId, accessType, roles) {
|
|
55
|
+
const appObject = await getAppObjectFromDataSourceQueryID(dsqId);
|
|
56
56
|
if (appObject) {
|
|
57
57
|
const accessList = appObject.AccessList.filter((access) => roles.some((role) => access.RoleID.toLowerCase() === role.ID.toLowerCase() &&
|
|
58
58
|
access.IsEnabled));
|
|
@@ -67,4 +67,4 @@ export class DSQHelper {
|
|
|
67
67
|
type: Injectable,
|
|
68
68
|
args: [{ providedIn: 'root' }]
|
|
69
69
|
}], null, null); })();
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHNxLmhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaGVscGVycy9jb21tb24vZHNxLmhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBRXZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQWMsTUFBTSw2QkFBNkIsQ0FBQzs7QUFHM0UsTUFBTSxPQUFPLFNBQVM7SUFEdEI7UUFFbUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQW1FbEQ7SUFqRUM7Ozs7O09BS0c7SUFDSCxZQUFZLENBQUMsSUFBUyxFQUFFLFNBQW9CO1FBQzFDLFFBQVEsU0FBUyxFQUFFLENBQUM7WUFDbEIsS0FBSyxTQUFTLENBQUMsTUFBTTtnQkFDbkIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDMUMsS0FBSyxTQUFTLENBQUMsTUFBTTtnQkFDbkIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDMUMsS0FBSyxTQUFTLENBQUMsTUFBTTtnQkFDbkIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDMUMsS0FBSyxTQUFTLENBQUMsTUFBTTtnQkFDbkIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDMUM7Z0JBQ0UsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLFNBQVMsQ0FBQyxJQUFTLEVBQUUsWUFBb0I7UUFDL0MsTUFBTSxPQUFPLEdBQUcsVUFBVSxFQUFFLENBQUM7UUFDN0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsS0FBSyxDQUFDLG9CQUFvQixDQUN4QixLQUFhLEVBQ2IsVUFBc0IsRUFDdEIsS0FBdUI7UUFFdkIsTUFBTSxTQUFTLEdBQUcsTUFBTSxpQ0FBaUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVqRSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsTUFBTSxVQUFVLEdBQVUsU0FBUyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUNwRSxLQUFLLENBQUMsSUFBSSxDQUNSLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDUCxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFO2dCQUNyRCxNQUFNLENBQUMsU0FBUyxDQUNuQixDQUNGLENBQUM7WUFFRixPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQ3BCLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssZ0JBQWdCLENBQUMsR0FBRyxDQUN4RCxDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzswRUFuRVUsU0FBUzt1RUFBVCxTQUFTLFdBQVQsU0FBUyxtQkFESSxNQUFNOztpRkFDbkIsU0FBUztjQURyQixVQUFVO2VBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG5cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2h0dHAtY2xpZW50L2FwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUXVlcnlUeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMvcXVlcnkuZW51bSc7XHJcbmltcG9ydCB7IEFQSSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9hcGktY29uc3RhbnRzJztcclxuaW1wb3J0IHsgZ2V0SGVhZGVycyB9IGZyb20gJy4uLy4uL3V0aWxzL3JlcS1yZXMudXRpbCc7XHJcbmltcG9ydCB7IGdldEFwcE9iamVjdEZyb21EYXRhU291cmNlUXVlcnlJRCB9IGZyb20gJy4uLy4uL3V0aWxzL3RhYi1hcHAudXRpbCc7XHJcbmltcG9ydCB7IEFjY2Vzc1Blcm1pc3Npb24sIEFjY2Vzc1R5cGUgfSBmcm9tICcuLi8uLi9lbnVtcy9wZXJtaXNzaW9uLmVudW0nO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIERTUUhlbHBlciB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBhcGlTZXJ2aWNlID0gaW5qZWN0KEFwaVNlcnZpY2UpO1xyXG5cclxuICAvKipcclxuICAgKiBFeGVjdXRlcyBhIHF1ZXJ5IGJhc2VkIG9uIHRoZSBxdWVyeSB0eXBlXHJcbiAgICogQHBhcmFtIGRhdGEgVGhlIGRhdGEgdG8gYmUgZXhlY3V0ZWRcclxuICAgKiBAcGFyYW0gcXVlcnlUeXBlIFRoZSB0eXBlIG9mIHF1ZXJ5IHRvIGJlIGV4ZWN1dGVkXHJcbiAgICogQHJldHVybnMgVGhlIHJlc3VsdCBvZiB0aGUgcXVlcnkgZXhlY3V0aW9uXHJcbiAgICovXHJcbiAgZXhlY3V0ZVF1ZXJ5KGRhdGE6IGFueSwgcXVlcnlUeXBlOiBRdWVyeVR5cGUpIHtcclxuICAgIHN3aXRjaCAocXVlcnlUeXBlKSB7XHJcbiAgICAgIGNhc2UgUXVlcnlUeXBlLkluc2VydDpcclxuICAgICAgICByZXR1cm4gdGhpcy5leGVjdXRpb24oZGF0YSwgQVBJLmluc2VydCk7XHJcbiAgICAgIGNhc2UgUXVlcnlUeXBlLlVwZGF0ZTpcclxuICAgICAgICByZXR1cm4gdGhpcy5leGVjdXRpb24oZGF0YSwgQVBJLnVwZGF0ZSk7XHJcbiAgICAgIGNhc2UgUXVlcnlUeXBlLkRlbGV0ZTpcclxuICAgICAgICByZXR1cm4gdGhpcy5leGVjdXRpb24oZGF0YSwgQVBJLmRlbGV0ZSk7XHJcbiAgICAgIGNhc2UgUXVlcnlUeXBlLlNlbGVjdDpcclxuICAgICAgICByZXR1cm4gdGhpcy5leGVjdXRpb24oZGF0YSwgQVBJLnNlbGVjdCk7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFeGVjdXRlcyBhbiBIVFRQIFBPU1QgcmVxdWVzdCB3aXRoIHRoZSBwcm92aWRlZCBkYXRhIGFuZCBVUkxcclxuICAgKiBAcGFyYW0gZGF0YSBUaGUgZGF0YSB0byBiZSBzZW50IGluIHRoZSBQT1NUIHJlcXVlc3RcclxuICAgKiBAcGFyYW0gZW5kUG9pbnROYW1lIFRoZSBVUkwgdG8gc2VuZCB0aGUgUE9TVCByZXF1ZXN0IHRvXHJcbiAgICogQHJldHVybnMgVGhlIHJlc3VsdCBvZiB0aGUgUE9TVCByZXF1ZXN0IGlmIGhlYWRlcnMgYXJlIGF2YWlsYWJsZSwgb3RoZXJ3aXNlIG51bGxcclxuICAgKi9cclxuICBwcml2YXRlIGV4ZWN1dGlvbihkYXRhOiBhbnksIGVuZFBvaW50TmFtZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KGVuZFBvaW50TmFtZSwgZGF0YSwgaGVhZGVycyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrcyBpZiB0aGUgdXNlciBoYXMgYWNjZXNzIHRvIHRoZSBzcGVjaWZpZWQgb2JqZWN0IGJhc2VkIG9uIHJvbGVzIGFuZCBhY2Nlc3MgdHlwZVxyXG4gICAqIEBwYXJhbSBkc3FJZCBUaGUgRGF0YVNvdXJjZVF1ZXJ5IElEIHRvIGNoZWNrIGFjY2VzcyBmb3JcclxuICAgKiBAcGFyYW0gYWNjZXNzVHlwZSBUaGUgdHlwZSBvZiBhY2Nlc3MgdG8gY2hlY2sgKGUuZy4sIHJlYWQsIHdyaXRlKVxyXG4gICAqIEBwYXJhbSByb2xlcyBUaGUgcm9sZXMgb2YgdGhlIHVzZXIgd2l0aCBJRHNcclxuICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSB1c2VyIGhhcyBhY2Nlc3MsIGZhbHNlIG90aGVyd2lzZVxyXG4gICAqL1xyXG4gIGFzeW5jIGRvZXNIYXZlT2JqZWN0QWNjZXNzKFxyXG4gICAgZHNxSWQ6IHN0cmluZyxcclxuICAgIGFjY2Vzc1R5cGU6IEFjY2Vzc1R5cGUsXHJcbiAgICByb2xlczogW3sgSUQ6IHN0cmluZyB9XVxyXG4gICkge1xyXG4gICAgY29uc3QgYXBwT2JqZWN0ID0gYXdhaXQgZ2V0QXBwT2JqZWN0RnJvbURhdGFTb3VyY2VRdWVyeUlEKGRzcUlkKTtcclxuXHJcbiAgICBpZiAoYXBwT2JqZWN0KSB7XHJcbiAgICAgIGNvbnN0IGFjY2Vzc0xpc3Q6IGFueVtdID0gYXBwT2JqZWN0LkFjY2Vzc0xpc3QuZmlsdGVyKChhY2Nlc3M6IGFueSkgPT5cclxuICAgICAgICByb2xlcy5zb21lKFxyXG4gICAgICAgICAgKHJvbGUpID0+XHJcbiAgICAgICAgICAgIGFjY2Vzcy5Sb2xlSUQudG9Mb3dlckNhc2UoKSA9PT0gcm9sZS5JRC50b0xvd2VyQ2FzZSgpICYmXHJcbiAgICAgICAgICAgIGFjY2Vzcy5Jc0VuYWJsZWRcclxuICAgICAgICApXHJcbiAgICAgICk7XHJcblxyXG4gICAgICByZXR1cm4gYWNjZXNzTGlzdC5zb21lKFxyXG4gICAgICAgIChhY2Nlc3MpID0+IGFjY2Vzc1thY2Nlc3NUeXBlXSA9PT0gQWNjZXNzUGVybWlzc2lvbi5BbGxcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
import { Injectable, inject } from '@angular/core';
|
|
3
|
-
import { of } from 'rxjs';
|
|
4
|
-
import { map } from 'rxjs/operators';
|
|
5
3
|
import { GridHelper } from './grid.helpers';
|
|
6
4
|
import * as i0 from "@angular/core";
|
|
7
5
|
export class GridColumnDataHelper {
|
|
@@ -23,10 +21,15 @@ export class GridColumnDataHelper {
|
|
|
23
21
|
* @param fields The fields to generate column data from.
|
|
24
22
|
* @returns An Observable emitting an array of column data.
|
|
25
23
|
*/
|
|
24
|
+
// getColumnData(fields: any) {
|
|
25
|
+
// return of(fields).pipe(
|
|
26
|
+
// map((fields: any[]) => {
|
|
27
|
+
// return fields.map((field) => this.mapToColumnDetailModel(field));
|
|
28
|
+
// })
|
|
29
|
+
// );
|
|
30
|
+
// }
|
|
26
31
|
getColumnData(fields) {
|
|
27
|
-
return
|
|
28
|
-
return fields.map((field) => this.mapToColumnDetailModel(field));
|
|
29
|
-
}));
|
|
32
|
+
return fields.map(field => this.mapToColumnDetailModel(field));
|
|
30
33
|
}
|
|
31
34
|
/**
|
|
32
35
|
* Maps field data to a ColumnDetailModel.
|
|
@@ -75,4 +78,4 @@ export class GridColumnDataHelper {
|
|
|
75
78
|
type: Injectable,
|
|
76
79
|
args: [{ providedIn: 'root' }]
|
|
77
80
|
}], null, null); })();
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1jb2x1bW4tZGF0YS5oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2hlbHBlcnMvc2NyZWVuL2dyaWQtY29sdW1uLWRhdGEuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUc1QyxNQUFNLE9BQU8sb0JBQW9CO0lBRGpDO1FBRW1CLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFrRWpEOzs7Ozs7V0FNRztRQUNLLG9CQUFlLEdBQUcsQ0FDeEIsR0FBVyxFQUNYLE1BQVcsRUFDWCxLQUFhLEVBQ0wsRUFBRTtZQUNWLE9BQU8sK0NBQStDLEdBQUcsMENBQTBDLE1BQU0sMkNBQTJDLEtBQUssTUFBTSxDQUFDO1FBQ2xLLENBQUMsQ0FBQztLQUNIO0lBOUVDOzs7O09BSUc7SUFDSCwrQkFBK0I7SUFDL0IsNEJBQTRCO0lBQzVCLCtCQUErQjtJQUMvQiwwRUFBMEU7SUFDMUUsU0FBUztJQUNULE9BQU87SUFDUCxJQUFJO0lBQ0osYUFBYSxDQUFDLE1BQWE7UUFDekIsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxzQkFBc0IsQ0FBQyxLQUFVO1FBQ3ZDLE1BQU0sT0FBTyxHQUFzQjtZQUNqQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxXQUFXO1lBQy9CLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFNBQVM7WUFDbEMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUN2QyxLQUFLLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxRQUFRLENBQ2xDO1lBQ0QsVUFBVSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUM1QixHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUs7WUFDakIsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsWUFBWTtZQUN4QyxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLGlCQUFpQjtTQUNuRCxDQUFDO1FBRUYsSUFBSSxLQUFLLEVBQUUsU0FBUyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzFCLE9BQU8sQ0FBQyxTQUFTLEdBQUcsS0FBSyxFQUFFLGFBQWEsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQy9ELE9BQU8sQ0FBQyxTQUFTLEdBQUcsS0FBSyxFQUFFLFlBQVksRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFFRCxJQUFJLEtBQUssSUFBSSxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQztZQUN6QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO1lBQ3JELE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzdCLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxFQUFFLEVBQUUsQ0FBQztnQkFDdEQsT0FBTyxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3BFLENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSxLQUFLLElBQUksS0FBSyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsQ0FBQztZQUN6QyxPQUFPLENBQUMsYUFBYSxHQUFHLEtBQUssRUFBRSxLQUFLLEVBQUUsYUFBYSxDQUFDO1lBQ3BELE9BQU8sQ0FBQyxjQUFjLEdBQUcsS0FBSyxFQUFFLEtBQUssRUFBRSxZQUFZLENBQUM7UUFDdEQsQ0FBQztRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssZ0JBQWdCLENBQUMsR0FBVztRQUNsQyxPQUFPLEdBQUcsSUFBSSxHQUFHLEtBQUssY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDckUsQ0FBQztxRkFqRVUsb0JBQW9CO3VFQUFwQixvQkFBb0IsV0FBcEIsb0JBQW9CLG1CQURQLE1BQU07O2lGQUNuQixvQkFBb0I7Y0FEaEMsVUFBVTtlQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuXHJcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENvbHVtbkRldGFpbE1vZGVsIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9ncmlkLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEdyaWRIZWxwZXIgfSBmcm9tICcuL2dyaWQuaGVscGVycyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgR3JpZENvbHVtbkRhdGFIZWxwZXIge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZ3JpZEhlbHBlciA9IGluamVjdChHcmlkSGVscGVyKTtcclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGNvbHVtbiBkYXRhIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBmaWVsZHMuXHJcbiAgICogQHBhcmFtIGZpZWxkcyBUaGUgZmllbGRzIHRvIGdlbmVyYXRlIGNvbHVtbiBkYXRhIGZyb20uXHJcbiAgICogQHJldHVybnMgQW4gT2JzZXJ2YWJsZSBlbWl0dGluZyBhbiBhcnJheSBvZiBjb2x1bW4gZGF0YS5cclxuICAgKi9cclxuICAvLyBnZXRDb2x1bW5EYXRhKGZpZWxkczogYW55KSB7XHJcbiAgLy8gICByZXR1cm4gb2YoZmllbGRzKS5waXBlKFxyXG4gIC8vICAgICBtYXAoKGZpZWxkczogYW55W10pID0+IHtcclxuICAvLyAgICAgICByZXR1cm4gZmllbGRzLm1hcCgoZmllbGQpID0+IHRoaXMubWFwVG9Db2x1bW5EZXRhaWxNb2RlbChmaWVsZCkpO1xyXG4gIC8vICAgICB9KVxyXG4gIC8vICAgKTtcclxuICAvLyB9XHJcbiAgZ2V0Q29sdW1uRGF0YShmaWVsZHM6IGFueVtdKTogYW55W10ge1xyXG4gICAgcmV0dXJuIGZpZWxkcy5tYXAoZmllbGQgPT4gdGhpcy5tYXBUb0NvbHVtbkRldGFpbE1vZGVsKGZpZWxkKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNYXBzIGZpZWxkIGRhdGEgdG8gYSBDb2x1bW5EZXRhaWxNb2RlbC5cclxuICAgKiBAcGFyYW0gZmllbGQgVGhlIGZpZWxkIGRhdGEgdG8gbWFwLlxyXG4gICAqIEByZXR1cm5zIFRoZSBtYXBwZWQgQ29sdW1uRGV0YWlsTW9kZWwuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBtYXBUb0NvbHVtbkRldGFpbE1vZGVsKGZpZWxkOiBhbnkpOiBDb2x1bW5EZXRhaWxNb2RlbCB7XHJcbiAgICBjb25zdCBjb2x1bW5EOiBDb2x1bW5EZXRhaWxNb2RlbCA9IHtcclxuICAgICAgdGV4dDogZmllbGQ/LkZpZWxkPy5EaXNwbGF5TmFtZSxcclxuICAgICAgZGF0YUZpZWxkOiBmaWVsZD8uRmllbGQ/LkZpZWxkTmFtZSxcclxuICAgICAgY29sdW1udHlwZTogdGhpcy5ncmlkSGVscGVyLmdldENvbHVtblR5cGUoXHJcbiAgICAgICAgZmllbGQ/LkZpZWxkPy5GaWVsZFR5cGU/LkRhdGFUeXBlXHJcbiAgICAgICksXHJcbiAgICAgIGFwcEZpZWxkSWQ6IGZpZWxkPy5GaWVsZD8uSUQsXHJcbiAgICAgIHNlcTogZmllbGQ/LlNlcU5vLFxyXG4gICAgICBpc1ByaW1hcnlLZXk6IGZpZWxkPy5GaWVsZD8uSXNQcmltYXJ5S2V5LFxyXG4gICAgICBTeXN0ZW1EQkZpZWxkTmFtZTogZmllbGQ/LkZpZWxkPy5TeXN0ZW1EQkZpZWxkTmFtZSxcclxuICAgIH07XHJcblxyXG4gICAgaWYgKGZpZWxkPy5GaWVsZFR5cGUgPT0gMikge1xyXG4gICAgICBjb2x1bW5ELmRhdGFGaWVsZCA9IGZpZWxkPy5Mb29rdXBEZXRhaWxzPy5yZXBsYWNlQWxsKCcuJywgJ18nKTtcclxuICAgICAgY29sdW1uRC5kYXRhRmllbGQgPSBmaWVsZD8uRmllbGREZXRhaWxzPy5yZXBsYWNlQWxsKCcuJywgJ18nKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZmllbGQgJiYgZmllbGQ/LkZpZWxkX0dyaWRBdHRyaWJ1dGVzKSB7XHJcbiAgICAgIGNvbnN0IGF0dHIgPSBKU09OLnBhcnNlKGZpZWxkPy5GaWVsZF9HcmlkQXR0cmlidXRlcyk7XHJcbiAgICAgIE9iamVjdC5hc3NpZ24oY29sdW1uRCwgYXR0cik7XHJcbiAgICAgIGlmICghIWF0dHIuY2VsbHNyZW5kZXJlciAmJiBhdHRyLmNlbGxzcmVuZGVyZXIgIT09ICcnKSB7XHJcbiAgICAgICAgY29sdW1uRC5jZWxsc3JlbmRlcmVyID0gdGhpcy5nZXRSZW5kZXJlclZhbHVlKGF0dHIuY2VsbHNyZW5kZXJlcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAoZmllbGQgJiYgZmllbGQ/LkZpZWxkPy5Mb29rVXBEZXRhaWxzKSB7XHJcbiAgICAgIGNvbHVtbkQuTG9va1VwRGV0YWlscyA9IGZpZWxkPy5GaWVsZD8uTG9va1VwRGV0YWlscztcclxuICAgICAgY29sdW1uRC5kcm9wRG93bkxvb2t1cCA9IGZpZWxkPy5GaWVsZD8uZHJvcERvd25EYXRhO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBjb2x1bW5EO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHRoZSByZW5kZXJlciB2YWx1ZSBiYXNlZCBvbiB0aGUgcHJvdmlkZWQga2V5LlxyXG4gICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byByZXRyaWV2ZSB0aGUgcmVuZGVyZXIgdmFsdWUgZm9yLlxyXG4gICAqIEByZXR1cm5zIFRoZSByZW5kZXJlciB2YWx1ZS5cclxuICAgKi9cclxuICBwcml2YXRlIGdldFJlbmRlcmVyVmFsdWUoa2V5OiBzdHJpbmcpIHtcclxuICAgIHJldHVybiBrZXkgJiYga2V5ID09PSAnTElOS1JFTkRFUkVSJyA/IHRoaXMucm93TGlua1JlbmRlcmVyIDogbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbmRlcmVyIGZ1bmN0aW9uIGZvciByZW5kZXJpbmcgcm93IGxpbmtzLlxyXG4gICAqIEBwYXJhbSByb3cgVGhlIHJvdyBudW1iZXIuXHJcbiAgICogQHBhcmFtIGNvbHVtbiBUaGUgY29sdW1uIGluZm9ybWF0aW9uLlxyXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gcmVuZGVyLlxyXG4gICAqIEByZXR1cm5zIFRoZSBIVE1MIHN0cmluZyBmb3IgcmVuZGVyaW5nIHRoZSByb3cgbGluay5cclxuICAgKi9cclxuICBwcml2YXRlIHJvd0xpbmtSZW5kZXJlciA9IChcclxuICAgIHJvdzogbnVtYmVyLFxyXG4gICAgY29sdW1uOiBhbnksXHJcbiAgICB2YWx1ZTogc3RyaW5nXHJcbiAgKTogc3RyaW5nID0+IHtcclxuICAgIHJldHVybiBgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDxhIGRhdGEtcm93PScke3Jvd30nIHN0eWxlPSdjdXJzb3I6cG9pbnRlcjsnIGNvbHVtbi1uYW1lPScke2NvbHVtbn0nIGFjdGlvbj0ncmVkaXJlY3QnIGNsYXNzPSdMaW5rX2NsaWNrJyA+JHt2YWx1ZX08L2E+YDtcclxuICB9O1xyXG59XHJcbiJdfQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
export {};
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaW50ZXJmYWNlcy9ncmlkLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEpxV2lkZ2h0TW9kZWwge1xyXG4gIHdpZHRoPzogbnVtYmVyIHwgYW55O1xyXG4gIGhlaWdodD86IG51bWJlciB8IGFueTtcclxuICBzb3VyY2U/OiBTb3VyY2VNb2RlbDtcclxuICBjb2x1bW5zPzogQXJyYXk8Q29sdW1uRGV0YWlsTW9kZWw+O1xyXG4gIGlzUGFnZWFibGU/OiBib29sZWFuO1xyXG4gIGlzQXV0b2hlaWdodD86IGJvb2xlYW47XHJcbiAgaXNTb3J0YWJsZT86IGJvb2xlYW47XHJcbiAgc2VsZWN0aW9ubW9kZT86IHN0cmluZztcclxuICBjb2x1bW5ncm91cHM/OiBBcnJheTxDb2x1bW5ncm91cE1vZGVsPjtcclxuICBpc0FsdFJvdz86IGJvb2xlYW47XHJcbiAgaXNlbmFibGV0b29sdGlwcz86IGJvb2xlYW47XHJcbiAgaXNlZGl0YWJsZT86IGJvb2xlYW47XHJcbiAgc291cmNlSWQ/OiBzdHJpbmc7XHJcbiAgdHlwZU9mRGF0YT86IHN0cmluZztcclxuICBhY3R1YWxEYXRhPzogQXJyYXk8YW55PjtcclxuICBkYXRhRmllbGQ/OiBBcnJheTxEYXRhRmllbGRzTW9kZWw+O1xyXG4gIGFjdGlvbkFycmF5PzogQXJyYXk8QWN0aW9uTW9kZWw+O1xyXG4gIGlzU2hvd1Rvb2xiYXI/OiBib29sZWFuO1xyXG4gIGlzU2hvd1N0YXR1c0Jhcj86IGJvb2xlYW47XHJcbiAgYWN0aW9uc0luPzogc3RyaW5nO1xyXG4gIGlzRmlsdGVyYWJsZT86IGJvb2xlYW47XHJcbiAgaXNTb3J0YmFja0dyb3VuZ0NvbG9yPzogYm9vbGVhbjtcclxuICBpc2F1dG9zaG93ZmlsdGVyaWNvbj86IGJvb2xlYW47XHJcbiAgaXNzaG93ZmlsdGVycm93PzogYm9vbGVhbjtcclxuICBwYWdlcm1vZGU/OiBzdHJpbmc7XHJcbiAgaXNHcm91cGFibGU/OiBib29sZWFuO1xyXG4gIGlzUm93bGV2ZWxFZGl0PzogYm9vbGVhbjtcclxuICBpc1Jvd2xldmVsRGVsZXRlPzogYm9vbGVhbjtcclxuICBpc1Jvd2xldmVsVmlldz86IGJvb2xlYW47XHJcbiAgcHJpbWFyeUtleWNvbHVtbk5hbWU/OiBzdHJpbmc7XHJcbiAgZ3JpZElkPzogc3RyaW5nO1xyXG4gIGlkPzogc3RyaW5nO1xyXG4gIGdyb3Vwcz86IGFueTtcclxuICBncm91cENvbHVtbnM/OiBzdHJpbmc7XHJcbiAgZ3JpZENvbHVtbkFycj86IEFycmF5PHN0cmluZz4gfCBhbnk7XHJcbiAgdGhlbWU/OiBzdHJpbmc7XHJcbiAgcGFnZXNpemVvcHRpb25zPzogc3RyaW5nO1xyXG4gIGRlZmF1bHRQYWdlU2l6ZT86IHN0cmluZztcclxuICBjdXJyZW50U2NyZWVuSWQ/OiBzdHJpbmc7XHJcbiAgY3VzdG9tTmF2aWdhdGU/OiBzdHJpbmc7XHJcbiAgZ3JpZE5hbWU/OiBzdHJpbmc7XHJcbiAgZ3JpZFN0YXRlPzogc3RyaW5nIHwgYW55O1xyXG4gIGlzY29sdW1uc3Jlb3JkZXI/OiBib29sZWFuO1xyXG4gIGlzU3RhdGVCPzogYm9vbGVhbjtcclxuICBhZGRTY3JlZW5JZD86IHN0cmluZztcclxuICBlZGl0U2NyZWVuSWQ/OiBzdHJpbmc7XHJcbiAgdmlld1NjcmVlbklkPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNvdXJjZU1vZGVsIHtcclxuICBkYXRhdHlwZT86IHN0cmluZztcclxuICBkYXRhZmllbGRzPzogQXJyYXk8RGF0YUZpZWxkc01vZGVsPjtcclxuICBpZD86IHN0cmluZztcclxuICBsb2NhbGRhdGE/OiBhbnk7XHJcbiAgcGFnZXNpemU/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGF0YUZpZWxkc01vZGVsIHtcclxuICBuYW1lPzogc3RyaW5nO1xyXG4gIHR5cGU/OiBzdHJpbmc7XHJcbiAgc2VxPzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtbkRldGFpbE1vZGVsIHtcclxuICB0ZXh0Pzogc3RyaW5nO1xyXG4gIGRhdGFGaWVsZD86IHN0cmluZztcclxuICB3aWR0aD86IHN0cmluZztcclxuICBjZWxsc2FsaWduPzogc3RyaW5nO1xyXG4gIGNlbGxzZm9ybWF0Pzogc3RyaW5nO1xyXG4gIGNvbHVtblR5cGU/OiBzdHJpbmc7XHJcbiAgY29sdW1uR3JvdXA/OiBzdHJpbmc7XHJcbiAgZWRpdGFibGU/OiBib29sZWFuO1xyXG4gIGJ1dHRvbmNsaWNrPzogYW55O1xyXG4gIHJlbmRlcmVyPzogYW55O1xyXG4gIGNvbHVtbnR5cGU/OiBzdHJpbmc7XHJcbiAgZmlsdGVydHlwZT86IHN0cmluZztcclxuICBzZXE/OiBudW1iZXI7XHJcbiAgYWxpZ24/OiBzdHJpbmc7XHJcbiAgc29ydGFibGU/OiBib29sZWFuO1xyXG4gIGhpZGRlbj86IGJvb2xlYW47XHJcbiAgZmlsdGVyYWJsZT86IGJvb2xlYW47XHJcbiAgY2VsbHNyZW5kZXJlcj86IGFueTtcclxuICBmaWx0ZXJQYXJhbWV0ZXI/OiBzdHJpbmc7XHJcbiAgYWRkU2NyZWVuSWQ/OiBzdHJpbmc7XHJcbiAgZWRpdFNjcmVlbklkPzogc3RyaW5nO1xyXG4gIHZpZXdTY3JlZW5JZD86IHN0cmluZztcclxuICBhcHBGaWVsZElkPzogc3RyaW5nO1xyXG4gIGlzUHJpbWFyeUtleT86IGJvb2xlYW47XHJcbiAgTG9va1VwRGV0YWlscz86IGFueTtcclxuICBkcm9wRG93bkxvb2t1cD86IGFueTtcclxuICBTeXN0ZW1EQkZpZWxkTmFtZT86IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5ncm91cE1vZGVsIHtcclxuICB0ZXh0Pzogc3RyaW5nO1xyXG4gIGFsaWduPzogc3RyaW5nO1xyXG4gIG5hbWU/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uTW9kZWwge1xyXG4gIG5hbWU/OiBzdHJpbmc7XHJcbiAgaW1nU3JjPzogc3RyaW5nO1xyXG4gIGJ1dHRvbldpZHRoPzogbnVtYmVyO1xyXG4gIGJ1dHRvbkhlaWdodD86IG51bWJlcjtcclxuICBidXR0b25WYWx1ZT86IHN0cmluZztcclxuICBpbWdQb3NpdGlvbj86IHN0cmluZztcclxuICB0ZXh0UG9zaXRpb24/OiBzdHJpbmc7XHJcbiAgdGV4dEltYWdlUmVsYXRpb24/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uTGV2ZWxBY3Rpb25zIHtcclxuICBuYW1lPzogc3RyaW5nO1xyXG4gIHJvd0lkPzogbnVtYmVyO1xyXG4gIHZhbHVlVG9TaG93Pzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaW50ZXJmYWNlcy9ncmlkLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEpxV2lkZ2h0TW9kZWwge1xyXG4gIHdpZHRoPzogbnVtYmVyIHwgYW55O1xyXG4gIGhlaWdodD86IG51bWJlciB8IGFueTtcclxuICBzb3VyY2U/OiBTb3VyY2VNb2RlbDtcclxuICBjb2x1bW5zPzogQXJyYXk8Q29sdW1uRGV0YWlsTW9kZWw+O1xyXG4gIGlzUGFnZWFibGU/OiBib29sZWFuO1xyXG4gIGlzQXV0b2hlaWdodD86IGJvb2xlYW47XHJcbiAgaXNTb3J0YWJsZT86IGJvb2xlYW47XHJcbiAgc2VsZWN0aW9ubW9kZT86IHN0cmluZztcclxuICBjb2x1bW5ncm91cHM/OiBBcnJheTxDb2x1bW5ncm91cE1vZGVsPjtcclxuICBpc0FsdFJvdz86IGJvb2xlYW47XHJcbiAgaXNlbmFibGV0b29sdGlwcz86IGJvb2xlYW47XHJcbiAgaXNlZGl0YWJsZT86IGJvb2xlYW47XHJcbiAgc291cmNlSWQ/OiBzdHJpbmc7XHJcbiAgdHlwZU9mRGF0YT86IHN0cmluZztcclxuICBhY3R1YWxEYXRhPzogQXJyYXk8YW55PjtcclxuICBkYXRhRmllbGQ/OiBBcnJheTxEYXRhRmllbGRzTW9kZWw+O1xyXG4gIGFjdGlvbkFycmF5PzogQXJyYXk8QWN0aW9uTW9kZWw+O1xyXG4gIGlzU2hvd1Rvb2xiYXI/OiBib29sZWFuO1xyXG4gIGlzU2hvd1N0YXR1c0Jhcj86IGJvb2xlYW47XHJcbiAgYWN0aW9uc0luPzogc3RyaW5nO1xyXG4gIGlzRmlsdGVyYWJsZT86IGJvb2xlYW47XHJcbiAgaXNTb3J0YmFja0dyb3VuZ0NvbG9yPzogYm9vbGVhbjtcclxuICBpc2F1dG9zaG93ZmlsdGVyaWNvbj86IGJvb2xlYW47XHJcbiAgaXNzaG93ZmlsdGVycm93PzogYm9vbGVhbjtcclxuICBwYWdlcm1vZGU/OiBzdHJpbmc7XHJcbiAgaXNHcm91cGFibGU/OiBib29sZWFuO1xyXG4gIGlzUm93bGV2ZWxFZGl0PzogYm9vbGVhbjtcclxuICBpc1Jvd2xldmVsRGVsZXRlPzogYm9vbGVhbjtcclxuICBpc1Jvd2xldmVsVmlldz86IGJvb2xlYW47XHJcbiAgcHJpbWFyeUtleWNvbHVtbk5hbWU/OiBzdHJpbmc7XHJcbiAgZ3JpZElkPzogc3RyaW5nO1xyXG4gIGlkPzogc3RyaW5nO1xyXG4gIGdyb3Vwcz86IGFueTtcclxuICBncm91cENvbHVtbnM/OiBzdHJpbmc7XHJcbiAgZ3JpZENvbHVtbkFycj86IEFycmF5PHN0cmluZz4gfCBhbnk7XHJcbiAgdGhlbWU/OiBzdHJpbmc7XHJcbiAgcGFnZXNpemVvcHRpb25zPzogc3RyaW5nO1xyXG4gIGRlZmF1bHRQYWdlU2l6ZT86IHN0cmluZztcclxuICBjdXJyZW50U2NyZWVuSWQ/OiBzdHJpbmc7XHJcbiAgY3VzdG9tTmF2aWdhdGU/OiBzdHJpbmc7XHJcbiAgZ3JpZE5hbWU/OiBzdHJpbmc7XHJcbiAgZ3JpZFN0YXRlPzogc3RyaW5nIHwgYW55O1xyXG4gIGlzY29sdW1uc3Jlb3JkZXI/OiBib29sZWFuO1xyXG4gIGlzU3RhdGVCPzogYm9vbGVhbjtcclxuICBhZGRTY3JlZW5JZD86IHN0cmluZztcclxuICBlZGl0U2NyZWVuSWQ/OiBzdHJpbmc7XHJcbiAgdmlld1NjcmVlbklkPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNvdXJjZU1vZGVsIHtcclxuICBkYXRhdHlwZT86IHN0cmluZztcclxuICBkYXRhZmllbGRzPzogQXJyYXk8RGF0YUZpZWxkc01vZGVsPjtcclxuICBpZD86IHN0cmluZztcclxuICBsb2NhbGRhdGE/OiBhbnk7XHJcbiAgcGFnZXNpemU/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGF0YUZpZWxkc01vZGVsIHtcclxuICBuYW1lPzogc3RyaW5nO1xyXG4gIHR5cGU/OiBzdHJpbmc7XHJcbiAgc2VxPzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtbkRldGFpbE1vZGVsIHtcclxuICB0ZXh0Pzogc3RyaW5nO1xyXG4gIGRhdGFGaWVsZD86IHN0cmluZztcclxuICB3aWR0aD86IHN0cmluZztcclxuICBjZWxsc2FsaWduPzogc3RyaW5nO1xyXG4gIGNlbGxzZm9ybWF0Pzogc3RyaW5nO1xyXG4gIGNvbHVtblR5cGU/OiBzdHJpbmc7XHJcbiAgY29sdW1uR3JvdXA/OiBzdHJpbmc7XHJcbiAgZWRpdGFibGU/OiBib29sZWFuO1xyXG4gIGJ1dHRvbmNsaWNrPzogYW55O1xyXG4gIHJlbmRlcmVyPzogYW55O1xyXG4gIGNvbHVtbnR5cGU/OiBzdHJpbmc7XHJcbiAgZmlsdGVydHlwZT86IHN0cmluZztcclxuICBzZXE/OiBudW1iZXI7XHJcbiAgYWxpZ24/OiBzdHJpbmc7XHJcbiAgc29ydGFibGU/OiBib29sZWFuO1xyXG4gIGhpZGRlbj86IGJvb2xlYW47XHJcbiAgZmlsdGVyYWJsZT86IGJvb2xlYW47XHJcbiAgY2VsbHNyZW5kZXJlcj86IGFueTtcclxuICBmaWx0ZXJQYXJhbWV0ZXI/OiBzdHJpbmc7XHJcbiAgYWRkU2NyZWVuSWQ/OiBzdHJpbmc7XHJcbiAgZWRpdFNjcmVlbklkPzogc3RyaW5nO1xyXG4gIHZpZXdTY3JlZW5JZD86IHN0cmluZztcclxuICBhcHBGaWVsZElkPzogc3RyaW5nO1xyXG4gIGlzUHJpbWFyeUtleT86IGJvb2xlYW47XHJcbiAgTG9va1VwRGV0YWlscz86IGFueTtcclxuICBkcm9wRG93bkxvb2t1cD86IGFueTtcclxuICBTeXN0ZW1EQkZpZWxkTmFtZT86IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5ncm91cE1vZGVsIHtcclxuICB0ZXh0Pzogc3RyaW5nO1xyXG4gIGFsaWduPzogc3RyaW5nO1xyXG4gIG5hbWU/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uTW9kZWwge1xyXG4gIG5hbWU/OiBzdHJpbmc7XHJcbiAgaW1nU3JjPzogc3RyaW5nO1xyXG4gIGJ1dHRvbldpZHRoPzogbnVtYmVyO1xyXG4gIGJ1dHRvbkhlaWdodD86IG51bWJlcjtcclxuICBidXR0b25WYWx1ZT86IHN0cmluZztcclxuICBpbWdQb3NpdGlvbj86IHN0cmluZztcclxuICB0ZXh0UG9zaXRpb24/OiBzdHJpbmc7XHJcbiAgdGV4dEltYWdlUmVsYXRpb24/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uTGV2ZWxBY3Rpb25zIHtcclxuICBuYW1lPzogc3RyaW5nO1xyXG4gIHJvd0lkPzogbnVtYmVyO1xyXG4gIHZhbHVlVG9TaG93Pzogc3RyaW5nO1xyXG59XHJcblxyXG4vKipcclxuICogSW50ZXJmYWNlIGZvciBhIGNsYXNzIENvbHVtblxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5Nb2RlbCB7XHJcbiAgLyoqXHJcbiAgICogRGVmaW5lcyB0aGUgZmllbGQgbmFtZSBvZiBjb2x1bW4gd2hpY2ggaXMgbWFwcGVkIHdpdGggbWFwcGluZyBuYW1lIG9mIERhdGFTb3VyY2UuXHJcbiAgICogVGhlIGJvdW5kZWQgY29sdW1ucyBjYW4gYmUgc29ydCwgZmlsdGVyIGFuZCBncm91cCBldGMuLFxyXG4gICAqIElmIHRoZSBgZmllbGRgIG5hbWUgY29udGFpbnMg4oCcZG904oCdLCB0aGVuIGl0IGlzIGNvbnNpZGVyZWQgYXMgY29tcGxleCBiaW5kaW5nLlxyXG4gICAqIFRoZSBgZmllbGRgIG5hbWUgbXVzdCBiZSBhIHZhbGlkIEphdmFTY3JpcHQgaWRlbnRpZmllcixcclxuICAgKiB0aGUgZmlyc3QgY2hhcmFjdGVyIG11c3QgYmUgYW4gYWxwaGFiZXQgYW5kIHNob3VsZCBub3QgY29udGFpbiBzcGFjZXMgYW5kIHNwZWNpYWwgY2hhcmFjdGVycy5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0ICcnXHJcbiAgICovXHJcbiAgZmllbGQ/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogR2V0cyB0aGUgdW5pcXVlIGlkZW50aWZpZXIgdmFsdWUgb2YgdGhlIGNvbHVtbi4gSXQgaXMgdXNlZCB0byBnZXQgdGhlIG9iamVjdC5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0ICcnXHJcbiAgICovXHJcbiAgdWlkPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEdldHMgdGhlIHVuaXF1ZSBpZGVudGlmaWVyIHZhbHVlIG9mIHRoZSBjb2x1bW4uIEl0IGlzIHVzZWQgdG8gZ2V0IHRoZSBvYmplY3QuXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCBudWxsXHJcbiAgICovXHJcbiAgaW5kZXg/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogRGVmaW5lcyB0aGUgaGVhZGVyIHRleHQgb2YgY29sdW1uIHdoaWNoIGlzIHVzZWQgdG8gZGlzcGxheSBpbiBjb2x1bW4gaGVhZGVyLlxyXG4gICAqIElmIGBoZWFkZXJUZXh0YCBpcyBub3QgZGVmaW5lZCwgdGhlbiBmaWVsZCBuYW1lIHZhbHVlIHdpbGwgYmUgYXNzaWduZWQgdG8gaGVhZGVyIHRleHQuXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCBudWxsXHJcbiAgICovXHJcbiAgaGVhZGVyVGV4dD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBEZWZpbmVzIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIGluIHBpeGVscyBvciBwZXJjZW50YWdlLlxyXG4gICAqXHJcbiAgICogQGRlZmF1bHQgJydcclxuICAgKi9cclxuICB3aWR0aD86IHN0cmluZyB8IG51bWJlcjtcclxuICAvKipcclxuICAgKiBEZWZpbmVzIHRoZSBtaW5pbXVtIHdpZHRoIG9mIHRoZSBjb2x1bW4gaW4gcGl4ZWxzIG9yIHBlcmNlbnRhZ2UuXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCAnJ1xyXG4gICAqL1xyXG4gIG1pbldpZHRoPzogc3RyaW5nIHwgbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIERlZmluZXMgdGhlIG1heGltdW0gd2lkdGggb2YgdGhlIGNvbHVtbiBpbiBwaXhlbCBvciBwZXJjZW50YWdlLCB3aGljaCB3aWxsIHJlc3RyaWN0IHJlc2l6aW5nIGJleW9uZCB0aGlzIHBpeGVsIG9yIHBlcmNlbnRhZ2UuXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCAnJ1xyXG4gICAqL1xyXG4gIG1heFdpZHRoPzogc3RyaW5nIHwgbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIERlZmluZXMgdGhlIGFsaWdubWVudCBvZiB0aGUgY29sdW1uIGluIGJvdGggaGVhZGVyIGFuZCBjb250ZW50IGNlbGxzLlxyXG4gICAqXHJcbiAgICogQGRlZmF1bHQgTGVmdFxyXG4gICAqL1xyXG4gIHRleHRBbGlnbj86IFRleHRBbGlnbjtcclxuICAvKipcclxuICAgKiBEZWZpbmVzIHRoZSBjZWxsIGNvbnRlbnQncyBvdmVyZmxvdyBtb2RlLiBUaGUgYXZhaWxhYmxlIG1vZGVzIGFyZVxyXG4gICAqICogYENsaXBgIC0gIFRydW5jYXRlcyB0aGUgY2VsbCBjb250ZW50IHdoZW4gaXQgb3ZlcmZsb3dzIGl0cyBhcmVhLlxyXG4gICAqICogYEVsbGlwc2lzYCAtICBEaXNwbGF5cyBlbGxpcHNpcyB3aGVuIHRoZSBjZWxsIGNvbnRlbnQgb3ZlcmZsb3dzIGl0cyBhcmVhLlxyXG4gICAqICogYEVsbGlwc2lzV2l0aFRvb2x0aXBgIC0gRGlzcGxheXMgZWxsaXBzaXMgd2hlbiB0aGUgY2VsbCBjb250ZW50IG92ZXJmbG93cyBpdHMgYXJlYVxyXG4gICAqIGFsc28gaXQgd2lsbCBkaXNwbGF5IHRvb2x0aXAgd2hpbGUgaG92ZXIgb24gZWxsaXBzaXMgYXBwbGllZCBjZWxsLlxyXG4gICAqXHJcbiAgICogQGRlZmF1bHQgRWxsaXBzaXNcclxuICAgKi9cclxuICBjbGlwTW9kZT86IENsaXBNb2RlO1xyXG4gIC8qKlxyXG4gICAqIERlZmluZSB0aGUgYWxpZ25tZW50IG9mIGNvbHVtbiBoZWFkZXIgd2hpY2ggaXMgdXNlZCB0byBhbGlnbiB0aGUgdGV4dCBvZiBjb2x1bW4gaGVhZGVyLlxyXG4gICAqXHJcbiAgICogQGFzcGRlZmF1bHR2YWx1ZWlnbm9yZVxyXG4gICAqIEBkZWZhdWx0IG51bGxcclxuICAgKi9cclxuICBoZWFkZXJUZXh0QWxpZ24/OiBUZXh0QWxpZ247XHJcbiAgLyoqXHJcbiAgICogSWYgYGRpc2FibGVIdG1sRW5jb2RlYCBpcyBzZXQgdG8gdHJ1ZSwgaXQgZW5jb2RlcyB0aGUgSFRNTCBvZiB0aGUgaGVhZGVyIGFuZCBjb250ZW50IGNlbGxzLlxyXG4gICAqXHJcbiAgICogQGRlZmF1bHQgdHJ1ZVxyXG4gICAqL1xyXG4gIGRpc2FibGVIdG1sRW5jb2RlPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBEZWZpbmVzIHRoZSBkYXRhIHR5cGUgb2YgdGhlIGNvbHVtbi5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IG51bGxcclxuICAgKi9cclxuICB0eXBlPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEl0IGlzIHVzZWQgdG8gY2hhbmdlIGRpc3BsYXkgdmFsdWUgd2l0aCB0aGUgZ2l2ZW4gZm9ybWF0IGFuZCBkb2VzIG5vdCBhZmZlY3QgdGhlIG9yaWdpbmFsIGRhdGEuXHJcbiAgICogR2V0cyB0aGUgZm9ybWF0IGZyb20gdGhlIHVzZXIgd2hpY2ggY2FuIGJlIHN0YW5kYXJkIG9yIGN1c3RvbVxyXG4gICAqIFtgbnVtYmVyYF0oLi4vLi4vY29tbW9uL2ludGVybmF0aW9uYWxpemF0aW9uLyNtYW5pcHVsYXRpbmctbnVtYmVycylcclxuICAgKiBhbmQgW2BkYXRlYF0oLi4vLi4vY29tbW9uL2ludGVybmF0aW9uYWxpemF0aW9uLyNtYW5pcHVsYXRpbmctZGF0ZXRpbWUpIGZvcm1hdHMuXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCBudWxsXHJcbiAgICogQGFzcFR5cGUgc3RyaW5nXHJcbiAgICovXHJcbiAgLy8gZm9ybWF0Pzogc3RyaW5nIHwgTnVtYmVyRm9ybWF0T3B0aW9ucyB8IERhdGVGb3JtYXRPcHRpb25zO1xyXG4gIGZvcm1hdD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBJZiBgdmlzaWJsZWAgaXMgc2V0IHRvIGZhbHNlLCBoaWRlcyB0aGUgcGFydGljdWxhciBjb2x1bW4uIEJ5IGRlZmF1bHQsIGFsbCBjb2x1bW5zIGFyZSBkaXNwbGF5ZWQuXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCB0cnVlXHJcbiAgICovXHJcbiAgdmlzaWJsZT86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogRGVmaW5lcyB0aGUgY29sdW1uIHRlbXBsYXRlIHRoYXQgcmVuZGVycyBjdXN0b21pemVkIGVsZW1lbnQgaW4gZWFjaCBjZWxsIG9mIHRoZSBjb2x1bW4uXHJcbiAgICogSXQgYWNjZXB0cyBlaXRoZXIgW3RlbXBsYXRlIHN0cmluZ10oLi4vLi4vY29tbW9uL3RlbXBsYXRlLWVuZ2luZS8pIG9yIEhUTUwgZWxlbWVudCBJRC5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IG51bGxcclxuICAgKiBAYXNwVHlwZSBzdHJpbmdcclxuICAgKi9cclxuICB0ZW1wbGF0ZT86IHN0cmluZyB8IEZ1bmN0aW9uO1xyXG4gIC8qKlxyXG4gICAqIERlZmluZXMgdGhlIGNvbHVtbiB0ZW1wbGF0ZSBhcyBzdHJpbmcgb3IgSFRNTCBlbGVtZW50IElEIHdoaWNoIGlzIHVzZWQgdG8gYWRkIGN1c3RvbWl6ZWQgZWxlbWVudCBpbiB0aGUgY29sdW1uIGhlYWRlci5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IG51bGxcclxuICAgKiBAYXNwVHlwZSBzdHJpbmdcclxuICAgKi9cclxuICBoZWFkZXJUZW1wbGF0ZT86IHN0cmluZyB8IEZ1bmN0aW9uO1xyXG4gIC8qKlxyXG4gICAqIFlvdSBjYW4gdXNlIHRoaXMgcHJvcGVydHkgdG8gZnJlZXplIHNlbGVjdGVkIGNvbHVtbnMgaW4gZ3JpZC5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IGZhbHNlXHJcbiAgICovXHJcbiAgaXNGcm96ZW4/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIElmIGBhbGxvd1NvcnRpbmdgIHNldCB0byBmYWxzZSwgdGhlbiBpdCBkaXNhYmxlcyBzb3J0aW5nIG9wdGlvbiBvZiBhIHBhcnRpY3VsYXIgY29sdW1uLlxyXG4gICAqIEJ5IGRlZmF1bHQgYWxsIGNvbHVtbnMgYXJlIHNvcnRhYmxlLlxyXG4gICAqXHJcbiAgICogQGRlZmF1bHQgdHJ1ZVxyXG4gICAqL1xyXG4gIGFsbG93U29ydGluZz86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogSWYgYGFsbG93UmVzaXppbmdgIHNldCB0byBmYWxzZSwgaXQgZGlzYWJsZXMgcmVzaXplIG9wdGlvbiBvZiBhIHBhcnRpY3VsYXIgY29sdW1uLlxyXG4gICAqXHJcbiAgICogQGRlZmF1bHQgdHJ1ZVxyXG4gICAqL1xyXG4gIGFsbG93UmVzaXppbmc/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIElmIGBzaG93Q29sdW1uTWVudWAgc2V0IHRvIGZhbHNlLCB0aGVuIGl0IGRpc2FibGUgdGhlIGNvbHVtbiBtZW51IG9mIGEgcGFydGljdWxhciBjb2x1bW4uXHJcbiAgICogQnkgZGVmYXVsdCBjb2x1bW4gbWVudSB3aWxsIHNob3cgZm9yIGFsbCBjb2x1bW5zXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCB0cnVlXHJcbiAgICovXHJcbiAgc2hvd0NvbHVtbk1lbnU/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIElmIGBhbGxvd0ZpbHRlcmluZ2Agc2V0IHRvIGZhbHNlLCB0aGVuIGl0IGRpc2FibGVzIGZpbHRlcmluZyBvcHRpb24gYW5kIGZpbHRlciBiYXIgZWxlbWVudCBvZiBhIHBhcnRpY3VsYXIgY29sdW1uLlxyXG4gICAqIEJ5IGRlZmF1bHQgYWxsIGNvbHVtbnMgYXJlIGZpbHRlcmFibGUuXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCB0cnVlXHJcbiAgICovXHJcbiAgYWxsb3dGaWx0ZXJpbmc/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIElmIGBhbGxvd0dyb3VwaW5nYCBzZXQgdG8gZmFsc2UsIHRoZW4gaXQgZGlzYWJsZXMgZ3JvdXBpbmcgb2YgYSBwYXJ0aWN1bGFyIGNvbHVtbi5cclxuICAgKiBCeSBkZWZhdWx0IGFsbCBjb2x1bW5zIGFyZSBncm91cGFibGUuXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCB0cnVlXHJcbiAgICovXHJcbiAgYWxsb3dHcm91cGluZz86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogSWYgYGFsbG93UmVvcmRlcmluZ2Agc2V0IHRvIGZhbHNlLCB0aGVuIGl0IGRpc2FibGVzIHJlb3JkZXIgb2YgYSBwYXJ0aWN1bGFyIGNvbHVtbi5cclxuICAgKiBCeSBkZWZhdWx0IGFsbCBjb2x1bW5zIGNhbiBiZSByZW9yZGVyLlxyXG4gICAqXHJcbiAgICogQGRlZmF1bHQgdHJ1ZVxyXG4gICAqL1xyXG4gIGFsbG93UmVvcmRlcmluZz86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogSWYgYGVuYWJsZUdyb3VwQnlGb3JtYXRgIHNldCB0byB0cnVlLCB0aGVuIGl0IGdyb3VwcyB0aGUgcGFydGljdWxhciBjb2x1bW4gYnkgZm9ybWF0dGVkIHZhbHVlcy5cclxuICAgKiBCeSBkZWZhdWx0IG5vIGNvbHVtbnMgYXJlIGdyb3VwIGJ5IGZvcm1hdC5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IHRydWVcclxuICAgKi9cclxuICBlbmFibGVHcm91cEJ5Rm9ybWF0PzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBJZiBgYWxsb3dFZGl0aW5nYCBzZXQgdG8gZmFsc2UsIHRoZW4gaXQgZGlzYWJsZXMgZWRpdGluZyBvZiBhIHBhcnRpY3VsYXIgY29sdW1uLlxyXG4gICAqIEJ5IGRlZmF1bHQgYWxsIGNvbHVtbnMgYXJlIGVkaXRhYmxlLlxyXG4gICAqXHJcbiAgICogQGRlZmF1bHQgdHJ1ZVxyXG4gICAqL1xyXG4gIGFsbG93RWRpdGluZz86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQGhpZGRlblxyXG4gICAqIEdldHMgdGhlIGN1cnJlbnQgdmlldyBmb3JlaWduIGtleSBkYXRhLlxyXG4gICAqIEBkZWZhdWx0IFtdXHJcbiAgICovXHJcbiAgY29sdW1uRGF0YT86IE9iamVjdFtdO1xyXG4gIC8qKlxyXG4gICAqIFRoZSBDU1Mgc3R5bGVzIGFuZCBhdHRyaWJ1dGVzIG9mIHRoZSBjb250ZW50IGNlbGxzIG9mIGEgcGFydGljdWxhciBjb2x1bW4gY2FuIGJlIGN1c3RvbWl6ZWQuXHJcbiAgICpcclxuICAgKiBgYGBodG1sXHJcbiAgICogPGRpdiBpZD1cIkdyaWRcIj48L2Rpdj5cclxuICAgKiBgYGBcclxuICAgKiBgYGB0eXBlc2NyaXB0XHJcbiAgICogbGV0IGdyaWRPYmo6IEdyaWQgPSBuZXcgR3JpZCh7XHJcbiAgICogZGF0YVNvdXJjZTogZmlsdGVyRGF0YSxcclxuICAgKiBjb2x1bW5zOiBbXHJcbiAgICogICAgeyBmaWVsZDogJ09yZGVySUQnLCBoZWFkZXJUZXh0OiAnT3JkZXIgSUQnIH0sXHJcbiAgICogICAge1xyXG4gICAqICAgICAgICBmaWVsZDogJ0VtcGxveWVlSUQnLCBoZWFkZXJUZXh0OiAnRW1wbG95ZWUgSUQnLCBjdXN0b21BdHRyaWJ1dGVzOiB7XHJcbiAgICogICAgICAgICAgIGNsYXNzOiAnZW1wbG95ZWVpZCcsXHJcbiAgICogICAgICAgICAgIHR5cGU6ICdlbXBsb3llZS1pZC1jZWxsJ1xyXG4gICAqICAgICAgfVxyXG4gICAqICAgfV1cclxuICAgKiB9KTtcclxuICAgKiBncmlkT2JqLmFwcGVuZFRvKCcjR3JpZCcpO1xyXG4gICAqIGBgYFxyXG4gICAqXHJcbiAgICogQGRlZmF1bHQgbnVsbFxyXG4gICAqL1xyXG4gIGN1c3RvbUF0dHJpYnV0ZXM/OiB7XHJcbiAgICAgIFt4OiBzdHJpbmddOiBPYmplY3Q7XHJcbiAgfTtcclxuICAvKipcclxuICAgKiBJZiBgZGlzcGxheUFzQ2hlY2tCb3hgIGlzIHNldCB0byB0cnVlLCBpdCBkaXNwbGF5cyB0aGUgY29sdW1uIHZhbHVlIGFzIGEgY2hlY2sgYm94IGluc3RlYWQgb2YgQm9vbGVhbiB2YWx1ZS5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IGZhbHNlXHJcbiAgICovXHJcbiAgZGlzcGxheUFzQ2hlY2tCb3g/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIERlZmluZXMgdGhlIGNvbHVtbiBkYXRhIHNvdXJjZSAgd2hpY2ggd2lsbCBhY3QgYXMgZm9yZWlnbiBkYXRhIHNvdXJjZS5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IG51bGxcclxuICAgKi9cclxuICAvLyBkYXRhU291cmNlPzogT2JqZWN0W10gfCBEYXRhTWFuYWdlciB8IERhdGFSZXN1bHQ7XHJcbiAgZGF0YVNvdXJjZT86IE9iamVjdFtdO1xyXG4gIC8qKlxyXG4gICAqIERlZmluZXMgdGhlIG1ldGhvZCB3aGljaCBpcyB1c2VkIHRvIGFjaGlldmUgY3VzdG9tIGZvcm1hdHRpbmcgZnJvbSBhbiBleHRlcm5hbCBmdW5jdGlvbi5cclxuICAgKiBUaGlzIGZ1bmN0aW9uIHRyaWdnZXJzIGJlZm9yZSByZW5kZXJpbmcgb2YgZWFjaCBjZWxsLlxyXG4gICAqXHJcbiAgICogYGBgaHRtbFxyXG4gICAqIDxkaXYgaWQ9XCJHcmlkXCI+PC9kaXY+XHJcbiAgICogYGBgXHJcbiAgICogYGBgdHlwZXNjcmlwdFxyXG4gICAqIGNsYXNzIEV4dGVuZGVkRm9ybWF0dGVyIGltcGxlbWVudHMgSUNlbGxGb3JtYXR0ZXIge1xyXG4gICAqIHB1YmxpYyBnZXRWYWx1ZShjb2x1bW46IENvbHVtbiwgZGF0YTogT2JqZWN0KTogT2JqZWN0IHtcclxuICAgKiAgIHJldHVybiAnPHNwYW4gc3R5bGU9XCJjb2xvcjonICsgKGRhdGFbJ1ZlcmlmaWVkJ10gPyAnZ3JlZW4nIDogJ3JlZCcpICsgJ1wiPjxpPicgKyBkYXRhWydWZXJpZmllZCddICsgJzwvaT48c3Bhbj4nO1xyXG4gICAqIH1cclxuICAgKiB9XHJcbiAgICogbGV0IGdyaWRPYmo6IEdyaWQgPSBuZXcgR3JpZCh7XHJcbiAgICogICAgIGRhdGFTb3VyY2U6IGZpbHRlckRhdGEsXHJcbiAgICogICAgIGNvbHVtbnM6IFtcclxuICAgKiAgICAgICAgIHsgZmllbGQ6ICdTaGlwTmFtZScsIGhlYWRlclRleHQ6ICdTaGlwIE5hbWUnIH0sXHJcbiAgICogICAgICAgICB7IGZpZWxkOiAnVmVyaWZpZWQnLCBoZWFkZXJUZXh0OiAnVmVyaWZpZWQgU3RhdHVzJywgZm9ybWF0dGVyOiBFeHRlbmRlZEZvcm1hdHRlciB9XVxyXG4gICAqIH0pO1xyXG4gICAqIGdyaWRPYmouYXBwZW5kVG8oJyNHcmlkJyk7XHJcbiAgICogYGBgXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCBudWxsXHJcbiAgICovXHJcbiAgLy8gZm9ybWF0dGVyPzoge1xyXG4gIC8vICAgICBuZXcgKCk6IElDZWxsRm9ybWF0dGVyO1xyXG4gIC8vIH0gfCBJQ2VsbEZvcm1hdHRlciB8IEZ1bmN0aW9uO1xyXG4gIC8qKlxyXG4gICAqIERlZmluZXMgdGhlIG1ldGhvZCB1c2VkIHRvIGFwcGx5IGN1c3RvbSBjZWxsIHZhbHVlcyBmcm9tIGV4dGVybmFsIGZ1bmN0aW9uIGFuZCBkaXNwbGF5IHRoaXMgb24gZWFjaCBjZWxsIHJlbmRlcmVkLlxyXG4gICAqXHJcbiAgICogYGBgaHRtbFxyXG4gICAqIDxkaXYgaWQ9XCJHcmlkXCI+PC9kaXY+XHJcbiAgICogYGBgXHJcbiAgICogYGBgdHlwZXNjcmlwdFxyXG4gICAqIGxldCBncmlkT2JqOiBHcmlkID0gbmV3IEdyaWQoe1xyXG4gICAqIGRhdGFTb3VyY2U6IFt7IEVtcGxveWVlSUQ6IDEsIEVtcGxveWVlTmFtZTogWydKb2huJywgJ00nXSB9LCB7IEVtcGxveWVlSUQ6IDIsIEVtcGxveWVlTmFtZTogWydQZXRlcicsICdBJ10gfV0sXHJcbiAgICogY29sdW1uczogW1xyXG4gICAqICAgICB7IGZpZWxkOiAnRW1wbG95ZWVJRCcsIGhlYWRlclRleHQ6ICdFbXBsb3llZSBJRCcgfSxcclxuICAgKiAgICAgeyBmaWVsZDogJ0VtcGxveWVlTmFtZScsIGhlYWRlclRleHQ6ICdFbXBsb3llZSBGaXJzdCBOYW1lJyxcclxuICAgKiAgICAgICB2YWx1ZUFjY2Vzc29yOiAoZmllbGQ6IHN0cmluZywgZGF0YTogT2JqZWN0LCBjb2x1bW46IENvbHVtbikgPT4ge1xyXG4gICAqICAgICAgICAgICAgIHJldHVybiBkYXRhWydFbXBsb3llZU5hbWUnXVswXTtcclxuICAgKiAgICAgICAgIH0sXHJcbiAgICogICAgIH1dXHJcbiAgICogfSk7XHJcbiAgICogYGBgXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCBudWxsXHJcbiAgICovXHJcbiAgLy8gdmFsdWVBY2Nlc3Nvcj86IFZhbHVlQWNjZXNzb3IgfCBzdHJpbmc7XHJcbiAgdmFsdWVBY2Nlc3Nvcj86IHN0cmluZztcclxuICAvKipcclxuICAgKiBEZWZpbmVzIHRoZSBtZXRob2QgdXNlZCB0byBhcHBseSBjdXN0b20gaGVhZGVyIGNlbGwgdmFsdWVzIGZyb20gZXh0ZXJuYWwgZnVuY3Rpb24gYW5kIGRpc3BsYXkgdGhpcyBvbiBlYWNoIGNlbGwgcmVuZGVyZWQuXHJcbiAgICpcclxuICAgKiBgYGBodG1sXHJcbiAgICogPGRpdiBpZD1cIkdyaWRcIj48L2Rpdj5cclxuICAgKiBgYGBcclxuICAgKiBgYGB0eXBlc2NyaXB0XHJcbiAgICogbGV0IGdyaWRPYmo6IEdyaWQgPSBuZXcgR3JpZCh7XHJcbiAgICogZGF0YVNvdXJjZTogW3sgRW1wbG95ZWVJRDogMSwgRW1wbG95ZWVOYW1lOiBbJ0pvaG4nLCAnTSddIH0sIHsgRW1wbG95ZWVJRDogMiwgRW1wbG95ZWVOYW1lOiBbJ1BldGVyJywgJ0EnXSB9XSxcclxuICAgKiBjb2x1bW5zOiBbXHJcbiAgICogICAgIHsgZmllbGQ6ICdFbXBsb3llZUlEJywgaGVhZGVyVGV4dDogJ0VtcGxveWVlIElEJyB9LFxyXG4gICAqICAgICB7IGZpZWxkOiAnRW1wbG95ZWVOYW1lJywgaGVhZGVyVGV4dDogJ0VtcGxveWVlIEZpcnN0IE5hbWUnLFxyXG4gICAqICAgICAgIGhlYWRlclZhbHVlQWNjZXNzb3I6IChmaWVsZDogc3RyaW5nLGNvbHVtbjogQ29sdW1uKSA9PiB7XHJcbiAgICogICAgICAgICAgICAgcmV0dXJuIFwibmV3aGVhZGVybmFtZVwiO1xyXG4gICAqICAgICAgICAgfSxcclxuICAgKiAgICAgfV1cclxuICAgKiB9KTtcclxuICAgKiBgYGBcclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IG51bGxcclxuICAgKi9cclxuICAvLyBoZWFkZXJWYWx1ZUFjY2Vzc29yPzogSGVhZGVyVmFsdWVBY2Nlc3NvciB8IHN0cmluZztcclxuICBoZWFkZXJWYWx1ZUFjY2Vzc29yPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIFRoZSBgZmlsdGVyQmFyVGVtcGxhdGVgIGlzIHVzZWQgdG8gYWRkIGEgY3VzdG9tIGNvbXBvbmVudCBpbnN0ZWFkIG9mIGRlZmF1bHQgaW5wdXQgY29tcG9uZW50IGZvciBmaWx0ZXIgYmFyLlxyXG4gICAqIEl0IGhhdmUgY3JlYXRlIGFuZCByZWFkIGZ1bmN0aW9ucy5cclxuICAgKiAqIGNyZWF0ZTogSXQgaXMgdXNlZCBmb3IgY3JlYXRpbmcgY3VzdG9tIGNvbXBvbmVudHMuXHJcbiAgICogKiByZWFkOiBJdCBpcyB1c2VkIHRvIHBlcmZvcm0gY3VzdG9tIGZpbHRlciBhY3Rpb24uXHJcbiAgICpcclxuICAgKiBgYGBodG1sXHJcbiAgICogPGRpdiBpZD1cIkdyaWRcIj48L2Rpdj5cclxuICAgKiBgYGBcclxuICAgKiBgYGB0eXBlc2NyaXB0XHJcbiAgICogbGV0IGdyaWRPYmo6IEdyaWQgPSBuZXcgR3JpZCh7XHJcbiAgICogZGF0YVNvdXJjZTogZmlsdGVyRGF0YSxcclxuICAgKiBjb2x1bW5zOiBbXHJcbiAgICogICB7IGZpZWxkOiAnT3JkZXJJRCcsIGhlYWRlclRleHQ6ICdPcmRlciBJRCcgfSxcclxuICAgKiAgIHtcclxuICAgKiAgICAgIGZpZWxkOiAnRW1wbG95ZWVJRCcsIGZpbHRlckJhclRlbXBsYXRlOiB7XHJcbiAgICogICAgICAgICBjcmVhdGU6IChhcmdzOiB7IGVsZW1lbnQ6IEVsZW1lbnQsIGNvbHVtbjogQ29sdW1uIH0pID0+IHtcclxuICAgKiAgICAgICAgICAgICAgbGV0IGlucHV0OiBIVE1MSW5wdXRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgKiAgICAgICAgICAgICAgaW5wdXQuaWQgPSAnRW1wbG95ZWVJRCc7XHJcbiAgICogICAgICAgICAgICAgIGlucHV0LnR5cGUgPSAndGV4dCc7XHJcbiAgICogICAgICAgICAgICAgIHJldHVybiBpbnB1dDtcclxuICAgKiAgICAgICAgIH0sXHJcbiAgICogICAgICAgICB3cml0ZTogKGFyZ3M6IHsgZWxlbWVudDogRWxlbWVudCwgY29sdW1uOiBDb2x1bW4gfSkgPT4ge1xyXG4gICAqICAgICAgICAgICAgIGFyZ3MuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsIGFyZ3MuY29sdW1uLmZpbHRlckJhclRlbXBsYXRlLnJlYWQgYXMgRXZlbnRMaXN0ZW5lcik7XHJcbiAgICogICAgICAgICB9LFxyXG4gICAqICAgICAgICAgcmVhZDogKGFyZ3M6IHsgZWxlbWVudDogSFRNTElucHV0RWxlbWVudCwgY29sdW1uSW5kZXg6IG51bWJlciwgY29sdW1uOiBDb2x1bW4gfSkgPT4ge1xyXG4gICAqICAgICAgICAgICAgIGdyaWRPYmouZmlsdGVyQnlDb2x1bW4oYXJncy5lbGVtZW50LmlkLCAnZXF1YWwnLCBhcmdzLmVsZW1lbnQudmFsdWUpO1xyXG4gICAqICAgICAgICB9XHJcbiAgICogICAgIH1cclxuICAgKiAgfV0sXHJcbiAgICogICBhbGxvd0ZpbHRlcmluZzogdHJ1ZVxyXG4gICAqIH0pO1xyXG4gICAqIGdyaWRPYmouYXBwZW5kVG8oJyNHcmlkJyk7XHJcbiAgICogYGBgXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCBudWxsXHJcbiAgICovXHJcbiAgLy8gZmlsdGVyQmFyVGVtcGxhdGU/OiBJRmlsdGVyVUk7XHJcbiAgLyoqXHJcbiAgICogIERlZmluZXMgdGhlIGZpbHRlciBvcHRpb25zIHRvIGN1c3RvbWl6ZSBmaWx0ZXJpbmcgZm9yIHRoZSBwYXJ0aWN1bGFyIGNvbHVtbi5cclxuICAgKlxyXG4gICAqICBAZGVmYXVsdCBudWxsXHJcbiAgICovXHJcbiAgLy8gZmlsdGVyPzogSUZpbHRlcjtcclxuICAvKipcclxuICAgKiBVc2VkIHRvIHJlbmRlciBtdWx0aXBsZSBoZWFkZXIgcm93cyhzdGFja2VkIGhlYWRlcnMpIG9uIHRoZSBHcmlkIGhlYWRlci5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IG51bGxcclxuICAgKi9cclxuICAvLyBjb2x1bW5zPzogQ29sdW1uW10gfCBzdHJpbmdbXSB8IENvbHVtbk1vZGVsW107XHJcbiAgY29sdW1ucz86IHN0cmluZ1tdIHwgQ29sdW1uTW9kZWxbXTtcclxuICAvKipcclxuICAgKiBEZWZpbmVzIHRoZSB0b29sIHRpcCB0ZXh0IGZvciBzdGFja2VkIGhlYWRlcnMuXHJcbiAgICpcclxuICAgKiBAaGlkZGVuXHJcbiAgICogQGRlZmF1bHQgbnVsbFxyXG4gICAqL1xyXG4gIHRvb2xUaXA/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogSWYgYGlzUHJpbWFyeUtleWAgaXMgc2V0IHRvIHRydWUsIGNvbnNpZGVycyB0aGlzIGNvbHVtbiBhcyB0aGUgcHJpbWFyeSBrZXkgY29uc3RyYWludC5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IGZhbHNlXHJcbiAgICovXHJcbiAgaXNQcmltYXJ5S2V5PzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBEZWZpbmVzIHRoZSB0eXBlIG9mIGNvbXBvbmVudCBmb3IgZWRpdGluZy5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0ICdzdHJpbmdlZGl0J1xyXG4gICAqL1xyXG4gIGVkaXRUeXBlPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIGBlZGl0VHlwZWAoLi4vLi4vZ3JpZC9lZGl0LyNjZWxsLWVkaXQtdHlwZS1hbmQtaXRzLXBhcmFtcykgRGVmaW5lcyBydWxlcyB0byB2YWxpZGF0ZSBkYXRhIGJlZm9yZSBjcmVhdGluZyBhbmQgdXBkYXRpbmcuXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCBudWxsXHJcbiAgICovXHJcbiAgdmFsaWRhdGlvblJ1bGVzPzogT2JqZWN0O1xyXG4gIC8qKlxyXG4gICAqIERlZmluZXMgZGVmYXVsdCB2YWx1ZXMgZm9yIHRoZSBjb21wb25lbnQgd2hlbiBhZGRpbmcgYSBuZXcgcmVjb3JkIHRvIHRoZSBHcmlkLlxyXG4gICAqXHJcbiAgICogQGRlZmF1bHQgbnVsbFxyXG4gICAqIEBhc3BUeXBlIG9iamVjdFxyXG4gICAqL1xyXG4gIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcclxuICAvKipcclxuICAgKiBEZWZpbmVzIHRoZSBgSUVkaXRDZWxsYCguLi8uLi9ncmlkL2VkaXQvI2NlbGwtZWRpdC10ZW1wbGF0ZSkgb2JqZWN0IHRvIGN1c3RvbWl6ZSBkZWZhdWx0IGVkaXQgY2VsbC5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IHt9XHJcbiAgICovXHJcbiAgLy8gZWRpdD86IElFZGl0Q2VsbDtcclxuICAvKipcclxuICAgKiBJZiBgaXNJZGVudGl0eWAgaXMgc2V0IHRvIHRydWUsIHRoZW4gdGhpcyBjb2x1bW4gaXMgY29uc2lkZXJlZCBhcyBpZGVudGl0eSBjb2x1bW4uXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCBmYWxzZVxyXG4gICAqL1xyXG4gIGlzSWRlbnRpdHk/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIERlZmluZXMgdGhlIG1hcHBpbmcgY29sdW1uIG5hbWUgb2YgdGhlIGZvcmVpZ24gZGF0YSBzb3VyY2UuXHJcbiAgICogSWYgaXQgaXMgbm90IGRlZmluZWQgdGhlbiB0aGUgYGNvbHVtbnMuZmllbGRgIHdpbGwgYmUgY29uc2lkZXJlZCBhcyBtYXBwaW5nIGNvbHVtbiBuYW1lXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCBudWxsXHJcbiAgICovXHJcbiAgZm9yZWlnbktleUZpZWxkPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIERlZmluZXMgdGhlIGRpc3BsYXkgY29sdW1uIG5hbWUgZnJvbSB0aGUgZm9yZWlnbiBkYXRhIHNvdXJjZSB3aGljaCB3aWxsIGJlIG9idGFpbmVkIGZyb20gY29tcGFyaW5nIGxvY2FsIGFuZCBmb3JlaWduIGRhdGFcclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IG51bGxcclxuICAgKi9cclxuICBmb3JlaWduS2V5VmFsdWU/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogY29sdW1uIHZpc2liaWxpdHkgY2FuIGNoYW5nZSBiYXNlZCBvbiBpdHMgW2BNZWRpYSBRdWVyaWVzYF0oaHR0cDovL2Nzc21lZGlhcXVlcmllcy5jb20vd2hhdC1hcmUtY3NzLW1lZGlhLXF1ZXJpZXMuaHRtbCkuXHJcbiAgICogYGhpZGVBdE1lZGlhYCBhY2NlcHRzIG9ubHkgdmFsaWQgTWVkaWEgUXVlcmllcy5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0ICcnXHJcbiAgICovXHJcbiAgaGlkZUF0TWVkaWE/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogSWYgYHNob3dJbkNvbHVtbkNob29zZXJgIHNldCB0byBmYWxzZSwgdGhlbiBoaWRlcyB0aGUgcGFydGljdWxhciBjb2x1bW4gaW4gY29sdW1uIGNob29zZXIuXHJcbiAgICogQnkgZGVmYXVsdCBhbGwgY29sdW1ucyBhcmUgZGlzcGxheWVkIGluIGNvbHVtbiBDaG9vc2VyLlxyXG4gICAqXHJcbiAgICogQGRlZmF1bHQgdHJ1ZVxyXG4gICAqL1xyXG4gIHNob3dJbkNvbHVtbkNob29zZXI/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEBoaWRkZW5cclxuICAgKiBEZWZpbmVzIHRoZSBjb21tYW5kcyBjb2x1bW4gdGVtcGxhdGUgYXMgc3RyaW5nIG9yIEhUTUwgZWxlbWVudCBJRCB3aGljaCBpcyB1c2VkIHRvIGFkZFxyXG4gICAqIGN1c3RvbWl6ZWQgY29tbWFuZCBidXR0b25zIGluIGVhY2ggY2VsbHMgb2YgdGhlIGNvbHVtbi5cclxuICAgKi9cclxuICBjb21tYW5kc1RlbXBsYXRlPzogc3RyaW5nIHwgRnVuY3Rpb247XHJcbiAgLyoqXHJcbiAgICogYGNvbW1hbmRzYCBwcm92aWRlcyBhbiBvcHRpb24gdG8gZGlzcGxheSBjb21tYW5kIGJ1dHRvbnMgaW4gZXZlcnkgY2VsbC5cclxuICAgKiBUaGUgYXZhaWxhYmxlIGJ1aWx0LWluIGNvbW1hbmQgYnV0dG9ucyBhcmVcclxuICAgKiAqIEVkaXQgLSBFZGl0IHRoZSByZWNvcmQuXHJcbiAgICogKiBEZWxldGUgLSBEZWxldGUgdGhlIHJlY29yZC5cclxuICAgKiAqIFNhdmUgLSBTYXZlIHRoZSByZWNvcmQuXHJcbiAgICogKiBDYW5jZWwgLSBDYW5jZWwgdGhlIGVkaXQgc3RhdGUuXHJcbiAgICpcclxuICAgKiBUaGUgZm9sbG93aW5nIGNvZGUgZXhhbXBsZSBpbXBsZW1lbnRzIHRoZSBjdXN0b20gY29tbWFuZCBjb2x1bW4uXHJcbiAgICogYGBgaHRtbFxyXG4gICAqIDxzdHlsZSB0eXBlPVwidGV4dC9jc3NcIiBjbGFzcz1cImNzc1N0eWxlc1wiPlxyXG4gICAqIC5kZXRhaWxzLWljb246YmVmb3JlXHJcbiAgICoge1xyXG4gICAqICAgIGNvbnRlbnQ6XCJcXGU3NGRcIjtcclxuICAgKiB9XHJcbiAgICogPC9zdHlsZT5cclxuICAgKiA8ZGl2IGlkPVwiR3JpZFwiPjwvZGl2PlxyXG4gICAqIGBgYFxyXG4gICAqIGBgYHR5cGVzY3JpcHRcclxuICAgKiB2YXIgZ3JpZE9iaiA9IG5ldyBHcmlkKHtcclxuICAgKiBkYXRhc291cmNlOiB3aW5kb3cuZ3JpZERhdGEsXHJcbiAgICogY29sdW1ucyA6IFtcclxuICAgKiAgeyBmaWVsZDogJ0N1c3RvbWVySUQnLCBoZWFkZXJUZXh0OiAnQ3VzdG9tZXIgSUQnIH0sXHJcbiAgICogIHsgZmllbGQ6ICdDdXN0b21lck5hbWUnLCBoZWFkZXJUZXh0OiAnQ3VzdG9tZXIgTmFtZScgfSxcclxuICAgKiAge2NvbW1hbmRzOiBbe2J1dHRvbk9wdGlvbjp7Y29udGVudDogJ0RldGFpbHMnLCBjbGljazogb25DbGljaywgY3NzQ2xhc3M6IGRldGFpbHMtaWNvbn19XSwgaGVhZGVyVGV4dDogJ0N1c3RvbWVyIERldGFpbHMnfVxyXG4gICAqIF1cclxuICAgKiBncmlkT2JqLmFwcGVuZFRvKFwiI0dyaWRcIik7XHJcbiAgICogYGBgXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCBudWxsXHJcbiAgICovXHJcbiAgY29tbWFuZHM/OiBDb21tYW5kTW9kZWxbXTtcclxuICAvKipcclxuICAgKiBJdCBkZWZpbmVzIHRoZSBjdXN0b20gc29ydCBjb21wYXJlciBmdW5jdGlvbi5cclxuICAgKi9cclxuICAvLyBzb3J0Q29tcGFyZXI/OiBTb3J0Q29tcGFyZXIgfCBzdHJpbmc7XHJcbiAgc29ydENvbXBhcmVyPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEBoaWRkZW5cclxuICAgKiBJdCBkZWZpbmVzIHRoZSBjb2x1bW4gaXMgZm9yZWlnbiBrZXkgY29sdW1uIG9yIG5vdC5cclxuICAgKi9cclxuICBpc0ZvcmVpZ25Db2x1bW4/OiAoKSA9PiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIERlZmluZXMgdGhlIGNlbGwgZWRpdCB0ZW1wbGF0ZSB0aGF0IHVzZWQgYXMgZWRpdG9yIGZvciBhIHBhcnRpY3VsYXIgY29sdW1uLlxyXG4gICAqIEl0IGFjY2VwdHMgZWl0aGVyIHRlbXBsYXRlIHN0cmluZyBvciBIVE1MIGVsZW1lbnQgSUQuXHJcbiAgICpcclxuICAgKiBAYXNwSWdub3JlXHJcbiAgICovXHJcbiAgZWRpdFRlbXBsYXRlPzogc3RyaW5nIHwgRnVuY3Rpb247XHJcbiAgLyoqXHJcbiAgICogRGVmaW5lcyB0aGUgZmlsdGVyIHRlbXBsYXRlL1VJIHRoYXQgdXNlZCBhcyBmaWx0ZXIgZm9yIGEgcGFydGljdWxhciBjb2x1bW4uXHJcbiAgICogSXQgYWNjZXB0cyBlaXRoZXIgdGVtcGxhdGUgc3RyaW5nIG9yIEhUTUwgZWxlbWVudCBJRC5cclxuICAgKlxyXG4gICAqIEBhc3BJZ25vcmVcclxuICAgKi9cclxuICBmaWx0ZXJUZW1wbGF0ZT86IHN0cmluZyB8IEZ1bmN0aW9uO1xyXG4gIC8qKlxyXG4gICAqIERlZmluZXMgdGhlIG1hcHBpbmcgY29sdW1uIG5hbWUgb2YgdGhlIGZvcmVpZ24gZGF0YSBzb3VyY2UuXHJcbiAgICogSWYgaXQgaXMgbm90IGRlZmluZWQgdGhlbiB0aGUgYGNvbHVtbnMuZmllbGRgIHdpbGwgYmUgY29uc2lkZXJlZCBhcyBtYXBwaW5nIGNvbHVtbiBuYW1lXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCBmYWxzZVxyXG4gICAqL1xyXG4gIGxvY2tDb2x1bW4/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIElmIGBhbGxvd1NlYXJjaGluZ2Agc2V0IHRvIGZhbHNlLCB0aGVuIGl0IGRpc2FibGVzIFNlYXJjaGluZyBvZiBhIHBhcnRpY3VsYXIgY29sdW1uLlxyXG4gICAqIEJ5IGRlZmF1bHQgYWxsIGNvbHVtbnMgYWxsb3cgU2VhcmNoaW5nLlxyXG4gICAqXHJcbiAgICogQGRlZmF1bHQgdHJ1ZVxyXG4gICAqL1xyXG4gIGFsbG93U2VhcmNoaW5nPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBJZiBgYXV0b0ZpdGAgc2V0IHRvIHRydWUsIHRoZW4gdGhlIHBhcnRpY3VsYXIgY29sdW1uIGNvbnRlbnQgd2lkdGggd2lsbCBiZVxyXG4gICAqIGFkanVzdGVkIGJhc2VkIG9uIGl0cyBjb250ZW50IGluIHRoZSBpbml0aWFsIHJlbmRlcmluZyBpdHNlbGYuXHJcbiAgICogU2V0dGluZyB0aGlzIHByb3BlcnR5IGFzIHRydWUgaXMgZXF1aXZhbGVudCB0byBjYWxsaW5nIGBhdXRvRml0Q29sdW1uc2AgbWV0aG9kIGluIHRoZSBgZGF0YUJvdW5kYCBldmVudC5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IGZhbHNlXHJcbiAgICovXHJcbiAgYXV0b0ZpdD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogZGVmaW5lcyB3aGljaCBzaWRlIHRoZSBjb2x1bW4gbmVlZCB0byBmcmVlemVcclxuICAgKiBUaGUgYXZhaWxhYmxlIGJ1aWx0LWluIGZyZWV6ZSBkaXJlY3Rpb25zIGFyZVxyXG4gICAqICogTGVmdCAtIEZyZWV6ZSB0aGUgY29sdW1uIGF0IGxlZnQgc2lkZS5cclxuICAgKiAqIFJpZ2h0IC0gRnJlZXplIHRoZSBjb2x1bW4gYXQgcmlnaHQgc2lkZS5cclxuICAgKiAqIEZpeGVkIC0gRnJlZXplIHRoZSBjb2x1bW4gYXQgQ2VudGVyLlxyXG4gICAqICogTm9uZSAtIERvZXMgbm90IGZyZWV6ZSB0aGUgY29sdW1uLlxyXG4gICAqXHJcbiAgICogQGRlZmF1bHQgTm9uZVxyXG4gICAqL1xyXG4gIGZyZWV6ZT86IGZyZWV6ZURpcmVjdGlvbjtcclxufVxyXG5cclxuXHJcblxyXG4vKipcclxuICogRGVmaW5lcyBhbGlnbm1lbnRzIG9mIHRleHQsIHRoZXkgYXJlXHJcbiAqIGBgYHByb3BzXHJcbiAqICogTGVmdCA6LSBEZWZpbmVzIExlZnQgYWxpZ25tZW50XHJcbiAqICogUmlnaHQgOi0gRGVmaW5lcyBSaWdodCBhbGlnbm1lbnRcclxuICogKiBDZW50ZXIgOi0gRGVmaW5lcyBDZW50ZXIgYWxpZ25tZW50XHJcbiAqICogSnVzdGlmeSA6LSBEZWZpbmVzIEp1c3RpZnkgYWxpZ25tZW50XHJcbiAqIGBgYFxyXG4gKi9cclxuZXhwb3J0IGRlY2xhcmUgdHlwZSBUZXh0QWxpZ24gPSAnTGVmdCcgfCAnUmlnaHQnIHwgJ0NlbnRlcicgfCAnSnVzdGlmeSc7XHJcblxyXG4vKipcclxuICogRGVmaW5lcyB0aGUgY2VsbCBjb250ZW50J3Mgb3ZlcmZsb3cgbW9kZS4gVGhlIGF2YWlsYWJsZSBtb2RlcyBhcmVcclxuICogYGBgcHJvcHNcclxuICogKiBgQ2xpcGAgOi0gIFRydW5jYXRlcyB0aGUgY2VsbCBjb250ZW50IHdoZW4gaXQgb3ZlcmZsb3dzIGl0cyBhcmVhLlxyXG4gKiAqIGBFbGxpcHNpc2AgOi0gIERpc3BsYXlzIGVsbGlwc2lzIHdoZW4gdGhlIGNlbGwgY29udGVudCBvdmVyZmxvd3MgaXRzIGFyZWEuXHJcbiAqICogYEVsbGlwc2lzV2l0aFRvb2x0aXBgIDotIERpc3BsYXlzIGVsbGlwc2lzIHdoZW4gdGhlIGNlbGwgY29udGVudCBvdmVyZmxvd3MgaXRzIGFyZWFcclxuICogYWxzbyBpdCB3aWxsIGRpc3BsYXkgdG9vbHRpcCB3aGlsZSBob3ZlciBvbiBlbGxpcHNpcyBhcHBsaWVkIGNlbGwuXHJcbiAqIGBgYFxyXG4gKiB7JSBjb2RlQmxvY2sgc3JjPSdncmlkL2NsaXBNb2RlL2luZGV4Lm1kJyAlfXslIGVuZGNvZGVCbG9jayAlfVxyXG4gKi9cclxuZXhwb3J0IGRlY2xhcmUgdHlwZSBDbGlwTW9kZSA9ICdDbGlwJyB8ICdFbGxpcHNpcycgfCAnRWxsaXBzaXNXaXRoVG9vbHRpcCc7XHJcblxyXG4vKipcclxuICogRGVmaW5lIG9wdGlvbnMgZm9yIGN1c3RvbSBjb21tYW5kIGJ1dHRvbnMuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIENvbW1hbmRNb2RlbCB7XHJcbiAgLyoqXHJcbiAgICogRGVmaW5lIHRoZSBjb21tYW5kIEJ1dHRvbiB0b29sdGlwXHJcbiAgICovXHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogRGVmaW5lIHRoZSBjb21tYW5kIEJ1dHRvbiB0eXBlXHJcbiAgICpcclxuICAgKiBAYmxhem9yRGVmYXVsdFZhbHVlIG5vbmVcclxuICAgKi9cclxuICB0eXBlPzogQ29tbWFuZEJ1dHRvblR5cGU7XHJcbiAgLyoqXHJcbiAgICogRGVmaW5lIHRoZSBidXR0b24gbW9kZWxcclxuICAgKi9cclxuICAvLyBidXR0b25PcHRpb24/OiBDb21tYW5kQnV0dG9uT3B0aW9ucztcclxufVxyXG5cclxuLyoqXHJcbiAqIERlZmluZXMgdGhlIENvbW1hbmQgQnV0dG9ucyB0eXBlLlxyXG4gKiBgYGBwcm9wc1xyXG4gKiAqIE5vbmUgOi0gIEVkaXQgdGhlIGN1cnJlbnQgcmVjb3JkLlxyXG4gKiAqIEVkaXQgOi0gIEVkaXQgdGhlIGN1cnJlbnQgcmVjb3JkLlxyXG4gKiAqIERlbGV0ZSA6LSBEZWxldGUgdGhlIGN1cnJlbnQgcmVjb3JkLlxyXG4gKiAqIFNhdmUgOi0gU2F2ZSB0aGUgY3VycmVudCBlZGl0ZWQgcmVjb3JkLlxyXG4gKiAqIENhbmNlbCA6LSBDYW5jZWwgdGhlIGVkaXRlZCBzdGF0ZS5cclxuICogYGBgXHJcbiAqL1xyXG5leHBvcnQgZGVjbGFyZSB0eXBlIENvbW1hbmRCdXR0b25UeXBlID0gJ05vbmUnIHwgJ0VkaXQnIHwgJ0RlbGV0ZScgfCAnU2F2ZScgfCAnQ2FuY2VsJztcclxuXHJcbi8qKlxyXG4gKiBEZWZpbmVzIGZyZWV6ZSBkaXJlY3Rpb24gb2YgdGhlIGdyaWQgY29sdW1uc1xyXG4gKiBgYGBwcm9wc1xyXG4gKiAqIExlZnQgOi0gZnJlZXplIHRoZSBjb2x1bW5zIGF0IGxlZnQuXHJcbiAqICogUmlnaHQgOi0gZnJlZXplIHRoZSBjb2x1bW5zIGF0IHJpZ2h0LlxyXG4gKiAqIEZpeGVkIDotIGZyZWV6ZSB0aGUgY29sdW1ucyBhdCBjZW50ZXIuXHJcbiAqICogTm9uZSA6LSBkb2VzIG5vdCBmcmVlemUgYW55IGNvbHVtbnMuXHJcbiAqIGBgYFxyXG4gKi9cclxuZXhwb3J0IGRlY2xhcmUgdHlwZSBmcmVlemVEaXJlY3Rpb24gPSAnTGVmdCcgfCAnUmlnaHQnIHwgJ0ZpeGVkJyB8ICdOb25lJztcclxuXHJcbiJdfQ==
|
|
@@ -22,13 +22,33 @@ export function getAppObject(id) {
|
|
|
22
22
|
const tabData = Common.tabJson;
|
|
23
23
|
return (tabData?.AppObjects.find((t) => t.ID === id?.toLowerCase()) || null);
|
|
24
24
|
}
|
|
25
|
+
function waitForData(timeout = 5000) {
|
|
26
|
+
return new Promise((resolve, reject) => {
|
|
27
|
+
const interval = 100; // Check every 100ms
|
|
28
|
+
let waited = 0;
|
|
29
|
+
const checkData = () => {
|
|
30
|
+
if (Common.tabJson) {
|
|
31
|
+
resolve();
|
|
32
|
+
}
|
|
33
|
+
else if (waited >= timeout) {
|
|
34
|
+
reject(new Error('Timeout waiting for Common.tabJson'));
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
waited += interval;
|
|
38
|
+
setTimeout(checkData, interval);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
checkData();
|
|
42
|
+
});
|
|
43
|
+
}
|
|
25
44
|
/**
|
|
26
45
|
* Get the AppObject from the DataSourceQuery ID
|
|
27
46
|
* @param dsqId - The DataSourceQuery ID
|
|
28
47
|
* @returns AppObject | null - The found AppObject or null
|
|
29
48
|
*/
|
|
30
|
-
export function getAppObjectFromDataSourceQueryID(dsqId) {
|
|
49
|
+
export async function getAppObjectFromDataSourceQueryID(dsqId) {
|
|
31
50
|
console.log('45 in tab-app.util.ts getAppObjectFromDataSourceQueryID');
|
|
51
|
+
await waitForData();
|
|
32
52
|
const tabData = Common.tabJson;
|
|
33
53
|
console.log('tabData', tabData);
|
|
34
54
|
if (!dsqId || !tabData) {
|
|
@@ -98,4 +118,4 @@ export function getAppObjectFromSystemDBTableName(tableName) {
|
|
|
98
118
|
const tabData = Common.tabJson;
|
|
99
119
|
return (tabData?.AppObjects.find((t) => t.SystemDBTableName === tableName) || null);
|
|
100
120
|
}
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWFwcC51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL3V0aWxzL3RhYi1hcHAudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZEOzs7OztHQUtHO0FBRUgsTUFBTSxVQUFVLHFDQUFxQyxDQUNuRCxPQUFZLEVBQ1osS0FBYSxFQUNiLElBQVk7SUFFWixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ1osTUFBTSxTQUFTLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUM7UUFDckMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsQ0FBQztRQUNuRSxPQUFPLE1BQU0sRUFBRSxFQUFFLENBQUM7SUFDcEIsQ0FBQztBQUNILENBQUM7QUFFRDs7O0dBR0c7QUFFSCxNQUFNLFVBQVUsWUFBWSxDQUFDLEVBQVU7SUFDckMsTUFBTSxPQUFPLEdBQWUsTUFBTSxDQUFDLE9BQU8sQ0FBQztJQUMzQyxPQUFPLENBQ0wsT0FBTyxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUFDLElBQUksSUFBSSxDQUN6RSxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7O0dBSUc7QUFFSCxNQUFNLFVBQVUsaUNBQWlDLENBQUMsS0FBYTtJQUM3RCxPQUFPLENBQUMsR0FBRyxDQUFDLHlEQUF5RCxDQUFDLENBQUM7SUFD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QUFDLENBQUMsQ0FBQyxpQkFBaUIsS0FBSyxTQUFTLENBQ3hFLElBQUksSUFBSSxDQUNWLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG5cclxuaW1wb3J0IHsgQ29tbW9uIH0gZnJvbSAnLi4vY29uc3RhbnRzL2NvbW1vbic7XHJcbmltcG9ydCB7IEFwcE9iamVjdCB9IGZyb20gJy4uL21vZGVscy9hcHAtb2JqZWN0LmNsYXNzJztcclxuaW1wb3J0IHsgZGVsZXRlS2V5RnJvbVJlc3BvbnNlIH0gZnJvbSAnLi9yZXEtcmVzLnV0aWwnO1xyXG5cclxuLyoqIEdldCB0aGUgRGF0YVNvdXJjZVF1ZXJ5IElEIGZyb20gdGhlIHNlbGVjdGVkIEFwcE9iamVjdCdzIERhdGFTb3VyY2VRdWVyeSBhcnJheVxyXG4gKiBAcGFyYW0gZHNxTGlzdCAtIFRoZSBsaXN0IG9mIERhdGFTb3VyY2VRdWVyaWVzXHJcbiAqIEBwYXJhbSB0YWJsZSAtIFRoZSB0YWJsZSBuYW1lXHJcbiAqIEBwYXJhbSBsaWtlIC0gVGhlIGxpa2Ugc3RyaW5nXHJcbiAqIEByZXR1cm5zIHN0cmluZyAtIFRoZSBJRCBvZiB0aGUgRGF0YVNvdXJjZVF1ZXJ5XHJcbiAqL1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldERzcUlkZnJvbVNlbGVjdGVkQXBwT2JqZWN0RFNRQXJyYXkoXHJcbiAgZHNxTGlzdDogYW55LFxyXG4gIHRhYmxlOiBzdHJpbmcsXHJcbiAgbGlrZTogc3RyaW5nXHJcbikge1xyXG4gIGlmIChkc3FMaXN0KSB7XHJcbiAgICBjb25zdCBtYXRjaE5hbWUgPSBsaWtlICsgJ18nICsgdGFibGU7XHJcbiAgICBjb25zdCByZXN1bHQgPSBkc3FMaXN0LmZpbmQoKGQ6IGFueSkgPT4gZC5RdWVyeU5hbWUgPT09IG1hdGNoTmFtZSk7XHJcbiAgICByZXR1cm4gcmVzdWx0Py5JRDtcclxuICB9XHJcbn1cclxuXHJcbi8qKiBHZXQgdGhlIEFwcE9iamVjdCBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgSURcclxuICogQHBhcmFtIGlkIC0gVGhlIElEIG9mIHRoZSBBcHBPYmplY3RcclxuICogQHJldHVybnMgQXBwT2JqZWN0IHwgbnVsbCAtIFRoZSBmb3VuZCBBcHBPYmplY3Qgb3IgbnVsbFxyXG4gKi9cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRBcHBPYmplY3QoaWQ6IHN0cmluZykge1xyXG4gIGNvbnN0IHRhYkRhdGE6IGFueSB8IG51bGwgPSBDb21tb24udGFiSnNvbjtcclxuICByZXR1cm4gKFxyXG4gICAgdGFiRGF0YT8uQXBwT2JqZWN0cy5maW5kKCh0OiBhbnkpID0+IHQuSUQgPT09IGlkPy50b0xvd2VyQ2FzZSgpKSB8fCBudWxsXHJcbiAgKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldCB0aGUgQXBwT2JqZWN0IGZyb20gdGhlIERhdGFTb3VyY2VRdWVyeSBJRFxyXG4gKiBAcGFyYW0gZHNxSWQgLSBUaGUgRGF0YVNvdXJjZVF1ZXJ5IElEXHJcbiAqIEByZXR1cm5zIEFwcE9iamVjdCB8IG51bGwgLSBUaGUgZm91bmQgQXBwT2JqZWN0IG9yIG51bGxcclxuICovXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXBwT2JqZWN0RnJvbURhdGFTb3VyY2VRdWVyeUlEKGRzcUlkOiBzdHJpbmcpIHtcclxuICBjb25zb2xlLmxvZygnNDUgaW4gdGFiLWFwcC51dGlsLnRzIGdldEFwcE9iamVjdEZyb21EYXRhU291cmNlUXVlcnlJRCcpO1xyXG4gIGNvbnN0IHRhYkRhdGE6IGFueSA9IENvbW1vbi50YWJKc29uO1xyXG4gIGNvbnNvbGUubG9nKCd0YWJEYXRhJyx0YWJEYXRhKTtcclxuICBpZiAoIWRzcUlkIHx8ICF0YWJEYXRhKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIGZvciAoY29uc3QgYXBwT2JqZWN0IG9mIHRhYkRhdGEuQXBwT2JqZWN0cykge1xyXG4gICAgY29uc3QgZHNxID0gYXBwT2JqZWN0LkRhdGFTb3VyY2VRdWVyaWVzLmZpbmQoXHJcbiAgICAgIChsOiBhbnkpID0+IGwuSUQgPT09IGRzcUlkPy50b0xvd2VyQ2FzZSgpXHJcbiAgICApO1xyXG4gICAgaWYgKGRzcSkge1xyXG4gICAgICByZXR1cm4gYXBwT2JqZWN0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIG51bGw7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXQgdGhlIERhdGFTb3VyY2VRdWVyeSBJRCBmcm9tIHRoZSBRdWVyeU5hbWUgYW5kIHRhYmxlXHJcbiAqIEBwYXJhbSB0YWJsZSAtIFRoZSB0YWJsZSBuYW1lXHJcbiAqIEBwYXJhbSBkc3EgLSBUaGUgRGF0YVNvdXJjZVF1ZXJ5IG5hbWVcclxuICogQHJldHVybnMgYW55IC0gVGhlIGZvdW5kIERhdGFTb3VyY2VRdWVyeVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldERzcUlERnJvbVF1ZXJ5TmFtZSh0YWJsZTogc3RyaW5nLCBkc3E6IHN0cmluZykge1xyXG4gIGNvbnN0IGFwcE9iamVjdExpc3QgPSBnZXRBcHBPYmplY3RGcm9tU3lzdGVtREJUYWJsZU5hbWUodGFibGUpO1xyXG4gIHJldHVybiBhcHBPYmplY3RMaXN0Py5EYXRhU291cmNlUXVlcmllcy5maW5kKChkOiBhbnkpID0+IGQuUXVlcnlOYW1lID09PSBkc3EpO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0IHRoZSBEYXRhIGZyb20gdGhlIERhdGFTb3VyY2VRdWVyeSBJRFxyXG4gKlxyXG4gKiBAcGFyYW0gZHNxSWQgLSBUaGUgRGF0YVNvdXJjZVF1ZXJ5IElEXHJcbiAqIEByZXR1cm5zIGFueSAtIFRoZSBmb3VuZCBEYXRhXHJcbiAqL1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldERhdGFGcm9tRGF0YVNvdXJjZVF1ZXJ5SUQoZHNxSWQ6IHN0cmluZykge1xyXG4gIGNvbnN0IHRhYkRhdGE6IGFueSA9IENvbW1vbi50YWJKc29uO1xyXG4gIGlmICghdGFiRGF0YSkge1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBmb3IgKGNvbnN0IGFwcE9iamVjdCBvZiB0YWJEYXRhLkFwcE9iamVjdHMpIHtcclxuICAgIGNvbnN0IERTUSA9IGFwcE9iamVjdC5EYXRhU291cmNlUXVlcmllcy5maW5kKFxyXG4gICAgICAobDogYW55KSA9PiBsLklEID09PSBkc3FJZD8udG9Mb3dlckNhc2UoKVxyXG4gICAgKTtcclxuICAgIGlmIChEU1EpIHtcclxuICAgICAgcmV0dXJuIERTUTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJldHVybiBudWxsO1xyXG59XHJcblxyXG4vKipcclxuICogU3luY2hyb25pemUgQXBwT2JqZWN0IGZpZWxkcyB3aXRoIHRoZSByZXNwb25zZVxyXG4gKlxyXG4gKiBAcGFyYW0gcmVzcG9uc2UgLSBUaGUgcmVzcG9uc2Ugb2JqZWN0XHJcbiAqIEBwYXJhbSBhcHBPYmplY3QgLSBUaGUgQXBwT2JqZWN0XHJcbiAqIEByZXR1cm5zIGFueSAtIFRoZSBzeW5jaHJvbml6ZWQgcmVzcG9uc2Ugb2JqZWN0XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gc3luY0FwcE9iamVjdEZpZWxkcyhyZXNwb25zZTogYW55LCBhcHBPYmplY3Q6IEFwcE9iamVjdCkge1xyXG4gIGZvciAoY29uc3Qga2V5IGluIHJlc3BvbnNlKSB7XHJcbiAgICBjb25zdCBmb3VuZE9iaiA9IGFwcE9iamVjdC5GaWVsZHMuZmluZCgoZjogYW55KSA9PiBmLkZpZWxkTmFtZSA9PT0ga2V5KTtcclxuICAgIGNvbnN0IGNoaWxEYXRhID0gYXBwT2JqZWN0LkNoaWxkUmVsYXRpb25TaGlwcz8ubWFwKFxyXG4gICAgICAoeCkgPT4geC5jaGlsZERldGFpbHMuTG9va3VwT2JqZWN0XHJcbiAgICApO1xyXG4gICAgaWYgKCFmb3VuZE9iaiAmJiAhKGNoaWxEYXRhICYmIGNoaWxEYXRhLnNvbWUoKHgpID0+IHguaW5jbHVkZXMoa2V5KSkpKSB7XHJcbiAgICAgIGRlbGV0ZUtleUZyb21SZXNwb25zZShyZXNwb25zZSwga2V5KTtcclxuICAgIH1cclxuICB9XHJcbiAgcmV0dXJuIHJlc3BvbnNlO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0IHRoZSBBcHBPYmplY3QgYmFzZWQgb24gdGhlIFN5c3RlbURCVGFibGVOYW1lXHJcbiAqXHJcbiAqIEBwYXJhbSB0YWJsZU5hbWUgLSBUaGUgU3lzdGVtREJUYWJsZU5hbWVcclxuICogQHJldHVybnMgQXBwT2JqZWN0IHwgbnVsbCAtIFRoZSBmb3VuZCBBcHBPYmplY3Qgb3IgbnVsbFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEFwcE9iamVjdEZyb21TeXN0ZW1EQlRhYmxlTmFtZSh0YWJsZU5hbWU6IHN0cmluZykge1xyXG4gIGNvbnN0IHRhYkRhdGE6IGFueSA9IENvbW1vbi50YWJKc29uO1xyXG4gIHJldHVybiAoXHJcbiAgICB0YWJEYXRhPy5BcHBPYmplY3RzLmZpbmQoXHJcbiAgICAgICh0OiB7IFN5c3RlbURCVGFibGVOYW1lOiBzdHJpbmcgfSkgPT4gdC5TeXN0ZW1EQlRhYmxlTmFtZSA9PT0gdGFibGVOYW1lXHJcbiAgICApIHx8IG51bGxcclxuICApO1xyXG59XHJcbiJdfQ==
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWFwcC51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL3V0aWxzL3RhYi1hcHAudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZEOzs7OztHQUtHO0FBRUgsTUFBTSxVQUFVLHFDQUFxQyxDQUNuRCxPQUFZLEVBQ1osS0FBYSxFQUNiLElBQVk7SUFFWixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ1osTUFBTSxTQUFTLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUM7UUFDckMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsQ0FBQztRQUNuRSxPQUFPLE1BQU0sRUFBRSxFQUFFLENBQUM7SUFDcEIsQ0FBQztBQUNILENBQUM7QUFFRDs7O0dBR0c7QUFFSCxNQUFNLFVBQVUsWUFBWSxDQUFDLEVBQVU7SUFDckMsTUFBTSxPQUFPLEdBQWUsTUFBTSxDQUFDLE9BQU8sQ0FBQztJQUMzQyxPQUFPLENBQ0wsT0FBTyxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUFDLElBQUksSUFBSSxDQUN6RSxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLE9BQU8sR0FBRyxJQUFJO0lBQ2pDLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7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QUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDeEUsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLGtCQUFrQixFQUFFLEdBQUcsQ0FDaEQsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUNuQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDdEUscUJBQXFCLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGlDQUFpQyxDQUFDLFNBQWlCO0lBQ2pFLE1BQU0sT0FBTyxHQUFRLE1BQU0sQ0FBQyxPQUFPLENBQUM7SUFDcEMsT0FBTyxDQUNMLE9BQU8sRUFBRSxVQUFVLENBQUMsSUFBSSxDQUN0QixDQUFDLENBQWdDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsS0FBSyxTQUFTLENBQ3hFLElBQUksSUFBSSxDQUNWLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG5cclxuaW1wb3J0IHsgQ29tbW9uIH0gZnJvbSAnLi4vY29uc3RhbnRzL2NvbW1vbic7XHJcbmltcG9ydCB7IEFwcE9iamVjdCB9IGZyb20gJy4uL21vZGVscy9hcHAtb2JqZWN0LmNsYXNzJztcclxuaW1wb3J0IHsgZGVsZXRlS2V5RnJvbVJlc3BvbnNlIH0gZnJvbSAnLi9yZXEtcmVzLnV0aWwnO1xyXG5cclxuLyoqIEdldCB0aGUgRGF0YVNvdXJjZVF1ZXJ5IElEIGZyb20gdGhlIHNlbGVjdGVkIEFwcE9iamVjdCdzIERhdGFTb3VyY2VRdWVyeSBhcnJheVxyXG4gKiBAcGFyYW0gZHNxTGlzdCAtIFRoZSBsaXN0IG9mIERhdGFTb3VyY2VRdWVyaWVzXHJcbiAqIEBwYXJhbSB0YWJsZSAtIFRoZSB0YWJsZSBuYW1lXHJcbiAqIEBwYXJhbSBsaWtlIC0gVGhlIGxpa2Ugc3RyaW5nXHJcbiAqIEByZXR1cm5zIHN0cmluZyAtIFRoZSBJRCBvZiB0aGUgRGF0YVNvdXJjZVF1ZXJ5XHJcbiAqL1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldERzcUlkZnJvbVNlbGVjdGVkQXBwT2JqZWN0RFNRQXJyYXkoXHJcbiAgZHNxTGlzdDogYW55LFxyXG4gIHRhYmxlOiBzdHJpbmcsXHJcbiAgbGlrZTogc3RyaW5nXHJcbikge1xyXG4gIGlmIChkc3FMaXN0KSB7XHJcbiAgICBjb25zdCBtYXRjaE5hbWUgPSBsaWtlICsgJ18nICsgdGFibGU7XHJcbiAgICBjb25zdCByZXN1bHQgPSBkc3FMaXN0LmZpbmQoKGQ6IGFueSkgPT4gZC5RdWVyeU5hbWUgPT09IG1hdGNoTmFtZSk7XHJcbiAgICByZXR1cm4gcmVzdWx0Py5JRDtcclxuICB9XHJcbn1cclxuXHJcbi8qKiBHZXQgdGhlIEFwcE9iamVjdCBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgSURcclxuICogQHBhcmFtIGlkIC0gVGhlIElEIG9mIHRoZSBBcHBPYmplY3RcclxuICogQHJldHVybnMgQXBwT2JqZWN0IHwgbnVsbCAtIFRoZSBmb3VuZCBBcHBPYmplY3Qgb3IgbnVsbFxyXG4gKi9cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRBcHBPYmplY3QoaWQ6IHN0cmluZykge1xyXG4gIGNvbnN0IHRhYkRhdGE6IGFueSB8IG51bGwgPSBDb21tb24udGFiSnNvbjtcclxuICByZXR1cm4gKFxyXG4gICAgdGFiRGF0YT8uQXBwT2JqZWN0cy5maW5kKCh0OiBhbnkpID0+IHQuSUQgPT09IGlkPy50b0xvd2VyQ2FzZSgpKSB8fCBudWxsXHJcbiAgKTtcclxufVxyXG5cclxuZnVuY3Rpb24gd2FpdEZvckRhdGEodGltZW91dCA9IDUwMDApOiBQcm9taXNlPHZvaWQ+IHtcclxuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgY29uc3QgaW50ZXJ2YWwgPSAxMDA7IC8vIENoZWNrIGV2ZXJ5IDEwMG1zXHJcbiAgICBsZXQgd2FpdGVkID0gMDtcclxuXHJcbiAgICBjb25zdCBjaGVja0RhdGEgPSAoKSA9PiB7XHJcbiAgICAgIGlmIChDb21tb24udGFiSnNvbikge1xyXG4gICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgfSBlbHNlIGlmICh3YWl0ZWQgPj0gdGltZW91dCkge1xyXG4gICAgICAgIHJlamVjdChuZXcgRXJyb3IoJ1RpbWVvdXQgd2FpdGluZyBmb3IgQ29tbW9uLnRhYkpzb24nKSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgd2FpdGVkICs9IGludGVydmFsO1xyXG4gICAgICAgIHNldFRpbWVvdXQoY2hlY2tEYXRhLCBpbnRlcnZhbCk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgY2hlY2tEYXRhKCk7XHJcbiAgfSk7XHJcbn1cclxuLyoqXHJcbiAqIEdldCB0aGUgQXBwT2JqZWN0IGZyb20gdGhlIERhdGFTb3VyY2VRdWVyeSBJRFxyXG4gKiBAcGFyYW0gZHNxSWQgLSBUaGUgRGF0YVNvdXJjZVF1ZXJ5IElEXHJcbiAqIEByZXR1cm5zIEFwcE9iamVjdCB8IG51bGwgLSBUaGUgZm91bmQgQXBwT2JqZWN0IG9yIG51bGxcclxuICovXHJcblxyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0QXBwT2JqZWN0RnJvbURhdGFTb3VyY2VRdWVyeUlEKGRzcUlkOiBzdHJpbmcpIHtcclxuICBjb25zb2xlLmxvZygnNDUgaW4gdGFiLWFwcC51dGlsLnRzIGdldEFwcE9iamVjdEZyb21EYXRhU291cmNlUXVlcnlJRCcpO1xyXG4gIGF3YWl0IHdhaXRGb3JEYXRhKCk7XHJcbiAgY29uc3QgdGFiRGF0YTogYW55ID0gQ29tbW9uLnRhYkpzb247XHJcbiAgY29uc29sZS5sb2coJ3RhYkRhdGEnLHRhYkRhdGEpO1xyXG4gIGlmICghZHNxSWQgfHwgIXRhYkRhdGEpIHtcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgZm9yIChjb25zdCBhcHBPYmplY3Qgb2YgdGFiRGF0YS5BcHBPYmplY3RzKSB7XHJcbiAgICBjb25zdCBkc3EgPSBhcHBPYmplY3QuRGF0YVNvdXJjZVF1ZXJpZXMuZmluZChcclxuICAgICAgKGw6IGFueSkgPT4gbC5JRCA9PT0gZHNxSWQ/LnRvTG93ZXJDYXNlKClcclxuICAgICk7XHJcbiAgICBpZiAoZHNxKSB7XHJcbiAgICAgIHJldHVybiBhcHBPYmplY3Q7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXR1cm4gbnVsbDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldCB0aGUgRGF0YVNvdXJjZVF1ZXJ5IElEIGZyb20gdGhlIFF1ZXJ5TmFtZSBhbmQgdGFibGVcclxuICogQHBhcmFtIHRhYmxlIC0gVGhlIHRhYmxlIG5hbWVcclxuICogQHBhcmFtIGRzcSAtIFRoZSBEYXRhU291cmNlUXVlcnkgbmFtZVxyXG4gKiBAcmV0dXJucyBhbnkgLSBUaGUgZm91bmQgRGF0YVNvdXJjZVF1ZXJ5XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0RHNxSURGcm9tUXVlcnlOYW1lKHRhYmxlOiBzdHJpbmcsIGRzcTogc3RyaW5nKSB7XHJcbiAgY29uc3QgYXBwT2JqZWN0TGlzdCA9IGdldEFwcE9iamVjdEZyb21TeXN0ZW1EQlRhYmxlTmFtZSh0YWJsZSk7XHJcbiAgcmV0dXJuIGFwcE9iamVjdExpc3Q/LkRhdGFTb3VyY2VRdWVyaWVzLmZpbmQoKGQ6IGFueSkgPT4gZC5RdWVyeU5hbWUgPT09IGRzcSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXQgdGhlIERhdGEgZnJvbSB0aGUgRGF0YVNvdXJjZVF1ZXJ5IElEXHJcbiAqXHJcbiAqIEBwYXJhbSBkc3FJZCAtIFRoZSBEYXRhU291cmNlUXVlcnkgSURcclxuICogQHJldHVybnMgYW55IC0gVGhlIGZvdW5kIERhdGFcclxuICovXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGF0YUZyb21EYXRhU291cmNlUXVlcnlJRChkc3FJZDogc3RyaW5nKSB7XHJcbiAgY29uc3QgdGFiRGF0YTogYW55ID0gQ29tbW9uLnRhYkpzb247XHJcbiAgaWYgKCF0YWJEYXRhKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIGZvciAoY29uc3QgYXBwT2JqZWN0IG9mIHRhYkRhdGEuQXBwT2JqZWN0cykge1xyXG4gICAgY29uc3QgRFNRID0gYXBwT2JqZWN0LkRhdGFTb3VyY2VRdWVyaWVzLmZpbmQoXHJcbiAgICAgIChsOiBhbnkpID0+IGwuSUQgPT09IGRzcUlkPy50b0xvd2VyQ2FzZSgpXHJcbiAgICApO1xyXG4gICAgaWYgKERTUSkge1xyXG4gICAgICByZXR1cm4gRFNRO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIG51bGw7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTeW5jaHJvbml6ZSBBcHBPYmplY3QgZmllbGRzIHdpdGggdGhlIHJlc3BvbnNlXHJcbiAqXHJcbiAqIEBwYXJhbSByZXNwb25zZSAtIFRoZSByZXNwb25zZSBvYmplY3RcclxuICogQHBhcmFtIGFwcE9iamVjdCAtIFRoZSBBcHBPYmplY3RcclxuICogQHJldHVybnMgYW55IC0gVGhlIHN5bmNocm9uaXplZCByZXNwb25zZSBvYmplY3RcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBzeW5jQXBwT2JqZWN0RmllbGRzKHJlc3BvbnNlOiBhbnksIGFwcE9iamVjdDogQXBwT2JqZWN0KSB7XHJcbiAgZm9yIChjb25zdCBrZXkgaW4gcmVzcG9uc2UpIHtcclxuICAgIGNvbnN0IGZvdW5kT2JqID0gYXBwT2JqZWN0LkZpZWxkcy5maW5kKChmOiBhbnkpID0+IGYuRmllbGROYW1lID09PSBrZXkpO1xyXG4gICAgY29uc3QgY2hpbERhdGEgPSBhcHBPYmplY3QuQ2hpbGRSZWxhdGlvblNoaXBzPy5tYXAoXHJcbiAgICAgICh4KSA9PiB4LmNoaWxkRGV0YWlscy5Mb29rdXBPYmplY3RcclxuICAgICk7XHJcbiAgICBpZiAoIWZvdW5kT2JqICYmICEoY2hpbERhdGEgJiYgY2hpbERhdGEuc29tZSgoeCkgPT4geC5pbmNsdWRlcyhrZXkpKSkpIHtcclxuICAgICAgZGVsZXRlS2V5RnJvbVJlc3BvbnNlKHJlc3BvbnNlLCBrZXkpO1xyXG4gICAgfVxyXG4gIH1cclxuICByZXR1cm4gcmVzcG9uc2U7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXQgdGhlIEFwcE9iamVjdCBiYXNlZCBvbiB0aGUgU3lzdGVtREJUYWJsZU5hbWVcclxuICpcclxuICogQHBhcmFtIHRhYmxlTmFtZSAtIFRoZSBTeXN0ZW1EQlRhYmxlTmFtZVxyXG4gKiBAcmV0dXJucyBBcHBPYmplY3QgfCBudWxsIC0gVGhlIGZvdW5kIEFwcE9iamVjdCBvciBudWxsXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXBwT2JqZWN0RnJvbVN5c3RlbURCVGFibGVOYW1lKHRhYmxlTmFtZTogc3RyaW5nKSB7XHJcbiAgY29uc3QgdGFiRGF0YTogYW55ID0gQ29tbW9uLnRhYkpzb247XHJcbiAgcmV0dXJuIChcclxuICAgIHRhYkRhdGE/LkFwcE9iamVjdHMuZmluZChcclxuICAgICAgKHQ6IHsgU3lzdGVtREJUYWJsZU5hbWU6IHN0cmluZyB9KSA9PiB0LlN5c3RlbURCVGFibGVOYW1lID09PSB0YWJsZU5hbWVcclxuICAgICkgfHwgbnVsbFxyXG4gICk7XHJcbn1cclxuIl19
|
|
@@ -26,7 +26,7 @@ export declare class DSQHelper {
|
|
|
26
26
|
*/
|
|
27
27
|
doesHaveObjectAccess(dsqId: string, accessType: AccessType, roles: [{
|
|
28
28
|
ID: string;
|
|
29
|
-
}]): boolean
|
|
29
|
+
}]): Promise<boolean>;
|
|
30
30
|
static ɵfac: i0.ɵɵFactoryDeclaration<DSQHelper, never>;
|
|
31
31
|
static ɵprov: i0.ɵɵInjectableDeclaration<DSQHelper>;
|
|
32
32
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ColumnDetailModel } from '../../interfaces/grid.interface';
|
|
2
1
|
import * as i0 from "@angular/core";
|
|
3
2
|
export declare class GridColumnDataHelper {
|
|
4
3
|
private readonly gridHelper;
|
|
@@ -7,7 +6,7 @@ export declare class GridColumnDataHelper {
|
|
|
7
6
|
* @param fields The fields to generate column data from.
|
|
8
7
|
* @returns An Observable emitting an array of column data.
|
|
9
8
|
*/
|
|
10
|
-
getColumnData(fields: any):
|
|
9
|
+
getColumnData(fields: any[]): any[];
|
|
11
10
|
/**
|
|
12
11
|
* Maps field data to a ColumnDetailModel.
|
|
13
12
|
* @param field The field data to map.
|
|
@@ -108,3 +108,563 @@ export interface ColumnLevelActions {
|
|
|
108
108
|
rowId?: number;
|
|
109
109
|
valueToShow?: string;
|
|
110
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* Interface for a class Column
|
|
113
|
+
*/
|
|
114
|
+
export interface ColumnModel {
|
|
115
|
+
/**
|
|
116
|
+
* Defines the field name of column which is mapped with mapping name of DataSource.
|
|
117
|
+
* The bounded columns can be sort, filter and group etc.,
|
|
118
|
+
* If the `field` name contains “dot”, then it is considered as complex binding.
|
|
119
|
+
* The `field` name must be a valid JavaScript identifier,
|
|
120
|
+
* the first character must be an alphabet and should not contain spaces and special characters.
|
|
121
|
+
*
|
|
122
|
+
* @default ''
|
|
123
|
+
*/
|
|
124
|
+
field?: string;
|
|
125
|
+
/**
|
|
126
|
+
* Gets the unique identifier value of the column. It is used to get the object.
|
|
127
|
+
*
|
|
128
|
+
* @default ''
|
|
129
|
+
*/
|
|
130
|
+
uid?: string;
|
|
131
|
+
/**
|
|
132
|
+
* Gets the unique identifier value of the column. It is used to get the object.
|
|
133
|
+
*
|
|
134
|
+
* @default null
|
|
135
|
+
*/
|
|
136
|
+
index?: number;
|
|
137
|
+
/**
|
|
138
|
+
* Defines the header text of column which is used to display in column header.
|
|
139
|
+
* If `headerText` is not defined, then field name value will be assigned to header text.
|
|
140
|
+
*
|
|
141
|
+
* @default null
|
|
142
|
+
*/
|
|
143
|
+
headerText?: string;
|
|
144
|
+
/**
|
|
145
|
+
* Defines the width of the column in pixels or percentage.
|
|
146
|
+
*
|
|
147
|
+
* @default ''
|
|
148
|
+
*/
|
|
149
|
+
width?: string | number;
|
|
150
|
+
/**
|
|
151
|
+
* Defines the minimum width of the column in pixels or percentage.
|
|
152
|
+
*
|
|
153
|
+
* @default ''
|
|
154
|
+
*/
|
|
155
|
+
minWidth?: string | number;
|
|
156
|
+
/**
|
|
157
|
+
* Defines the maximum width of the column in pixel or percentage, which will restrict resizing beyond this pixel or percentage.
|
|
158
|
+
*
|
|
159
|
+
* @default ''
|
|
160
|
+
*/
|
|
161
|
+
maxWidth?: string | number;
|
|
162
|
+
/**
|
|
163
|
+
* Defines the alignment of the column in both header and content cells.
|
|
164
|
+
*
|
|
165
|
+
* @default Left
|
|
166
|
+
*/
|
|
167
|
+
textAlign?: TextAlign;
|
|
168
|
+
/**
|
|
169
|
+
* Defines the cell content's overflow mode. The available modes are
|
|
170
|
+
* * `Clip` - Truncates the cell content when it overflows its area.
|
|
171
|
+
* * `Ellipsis` - Displays ellipsis when the cell content overflows its area.
|
|
172
|
+
* * `EllipsisWithTooltip` - Displays ellipsis when the cell content overflows its area
|
|
173
|
+
* also it will display tooltip while hover on ellipsis applied cell.
|
|
174
|
+
*
|
|
175
|
+
* @default Ellipsis
|
|
176
|
+
*/
|
|
177
|
+
clipMode?: ClipMode;
|
|
178
|
+
/**
|
|
179
|
+
* Define the alignment of column header which is used to align the text of column header.
|
|
180
|
+
*
|
|
181
|
+
* @aspdefaultvalueignore
|
|
182
|
+
* @default null
|
|
183
|
+
*/
|
|
184
|
+
headerTextAlign?: TextAlign;
|
|
185
|
+
/**
|
|
186
|
+
* If `disableHtmlEncode` is set to true, it encodes the HTML of the header and content cells.
|
|
187
|
+
*
|
|
188
|
+
* @default true
|
|
189
|
+
*/
|
|
190
|
+
disableHtmlEncode?: boolean;
|
|
191
|
+
/**
|
|
192
|
+
* Defines the data type of the column.
|
|
193
|
+
*
|
|
194
|
+
* @default null
|
|
195
|
+
*/
|
|
196
|
+
type?: string;
|
|
197
|
+
/**
|
|
198
|
+
* It is used to change display value with the given format and does not affect the original data.
|
|
199
|
+
* Gets the format from the user which can be standard or custom
|
|
200
|
+
* [`number`](../../common/internationalization/#manipulating-numbers)
|
|
201
|
+
* and [`date`](../../common/internationalization/#manipulating-datetime) formats.
|
|
202
|
+
*
|
|
203
|
+
* @default null
|
|
204
|
+
* @aspType string
|
|
205
|
+
*/
|
|
206
|
+
format?: string;
|
|
207
|
+
/**
|
|
208
|
+
* If `visible` is set to false, hides the particular column. By default, all columns are displayed.
|
|
209
|
+
*
|
|
210
|
+
* @default true
|
|
211
|
+
*/
|
|
212
|
+
visible?: boolean;
|
|
213
|
+
/**
|
|
214
|
+
* Defines the column template that renders customized element in each cell of the column.
|
|
215
|
+
* It accepts either [template string](../../common/template-engine/) or HTML element ID.
|
|
216
|
+
*
|
|
217
|
+
* @default null
|
|
218
|
+
* @aspType string
|
|
219
|
+
*/
|
|
220
|
+
template?: string | Function;
|
|
221
|
+
/**
|
|
222
|
+
* Defines the column template as string or HTML element ID which is used to add customized element in the column header.
|
|
223
|
+
*
|
|
224
|
+
* @default null
|
|
225
|
+
* @aspType string
|
|
226
|
+
*/
|
|
227
|
+
headerTemplate?: string | Function;
|
|
228
|
+
/**
|
|
229
|
+
* You can use this property to freeze selected columns in grid.
|
|
230
|
+
*
|
|
231
|
+
* @default false
|
|
232
|
+
*/
|
|
233
|
+
isFrozen?: boolean;
|
|
234
|
+
/**
|
|
235
|
+
* If `allowSorting` set to false, then it disables sorting option of a particular column.
|
|
236
|
+
* By default all columns are sortable.
|
|
237
|
+
*
|
|
238
|
+
* @default true
|
|
239
|
+
*/
|
|
240
|
+
allowSorting?: boolean;
|
|
241
|
+
/**
|
|
242
|
+
* If `allowResizing` set to false, it disables resize option of a particular column.
|
|
243
|
+
*
|
|
244
|
+
* @default true
|
|
245
|
+
*/
|
|
246
|
+
allowResizing?: boolean;
|
|
247
|
+
/**
|
|
248
|
+
* If `showColumnMenu` set to false, then it disable the column menu of a particular column.
|
|
249
|
+
* By default column menu will show for all columns
|
|
250
|
+
*
|
|
251
|
+
* @default true
|
|
252
|
+
*/
|
|
253
|
+
showColumnMenu?: boolean;
|
|
254
|
+
/**
|
|
255
|
+
* If `allowFiltering` set to false, then it disables filtering option and filter bar element of a particular column.
|
|
256
|
+
* By default all columns are filterable.
|
|
257
|
+
*
|
|
258
|
+
* @default true
|
|
259
|
+
*/
|
|
260
|
+
allowFiltering?: boolean;
|
|
261
|
+
/**
|
|
262
|
+
* If `allowGrouping` set to false, then it disables grouping of a particular column.
|
|
263
|
+
* By default all columns are groupable.
|
|
264
|
+
*
|
|
265
|
+
* @default true
|
|
266
|
+
*/
|
|
267
|
+
allowGrouping?: boolean;
|
|
268
|
+
/**
|
|
269
|
+
* If `allowReordering` set to false, then it disables reorder of a particular column.
|
|
270
|
+
* By default all columns can be reorder.
|
|
271
|
+
*
|
|
272
|
+
* @default true
|
|
273
|
+
*/
|
|
274
|
+
allowReordering?: boolean;
|
|
275
|
+
/**
|
|
276
|
+
* If `enableGroupByFormat` set to true, then it groups the particular column by formatted values.
|
|
277
|
+
* By default no columns are group by format.
|
|
278
|
+
*
|
|
279
|
+
* @default true
|
|
280
|
+
*/
|
|
281
|
+
enableGroupByFormat?: boolean;
|
|
282
|
+
/**
|
|
283
|
+
* If `allowEditing` set to false, then it disables editing of a particular column.
|
|
284
|
+
* By default all columns are editable.
|
|
285
|
+
*
|
|
286
|
+
* @default true
|
|
287
|
+
*/
|
|
288
|
+
allowEditing?: boolean;
|
|
289
|
+
/**
|
|
290
|
+
* @hidden
|
|
291
|
+
* Gets the current view foreign key data.
|
|
292
|
+
* @default []
|
|
293
|
+
*/
|
|
294
|
+
columnData?: Object[];
|
|
295
|
+
/**
|
|
296
|
+
* The CSS styles and attributes of the content cells of a particular column can be customized.
|
|
297
|
+
*
|
|
298
|
+
* ```html
|
|
299
|
+
* <div id="Grid"></div>
|
|
300
|
+
* ```
|
|
301
|
+
* ```typescript
|
|
302
|
+
* let gridObj: Grid = new Grid({
|
|
303
|
+
* dataSource: filterData,
|
|
304
|
+
* columns: [
|
|
305
|
+
* { field: 'OrderID', headerText: 'Order ID' },
|
|
306
|
+
* {
|
|
307
|
+
* field: 'EmployeeID', headerText: 'Employee ID', customAttributes: {
|
|
308
|
+
* class: 'employeeid',
|
|
309
|
+
* type: 'employee-id-cell'
|
|
310
|
+
* }
|
|
311
|
+
* }]
|
|
312
|
+
* });
|
|
313
|
+
* gridObj.appendTo('#Grid');
|
|
314
|
+
* ```
|
|
315
|
+
*
|
|
316
|
+
* @default null
|
|
317
|
+
*/
|
|
318
|
+
customAttributes?: {
|
|
319
|
+
[x: string]: Object;
|
|
320
|
+
};
|
|
321
|
+
/**
|
|
322
|
+
* If `displayAsCheckBox` is set to true, it displays the column value as a check box instead of Boolean value.
|
|
323
|
+
*
|
|
324
|
+
* @default false
|
|
325
|
+
*/
|
|
326
|
+
displayAsCheckBox?: boolean;
|
|
327
|
+
/**
|
|
328
|
+
* Defines the column data source which will act as foreign data source.
|
|
329
|
+
*
|
|
330
|
+
* @default null
|
|
331
|
+
*/
|
|
332
|
+
dataSource?: Object[];
|
|
333
|
+
/**
|
|
334
|
+
* Defines the method which is used to achieve custom formatting from an external function.
|
|
335
|
+
* This function triggers before rendering of each cell.
|
|
336
|
+
*
|
|
337
|
+
* ```html
|
|
338
|
+
* <div id="Grid"></div>
|
|
339
|
+
* ```
|
|
340
|
+
* ```typescript
|
|
341
|
+
* class ExtendedFormatter implements ICellFormatter {
|
|
342
|
+
* public getValue(column: Column, data: Object): Object {
|
|
343
|
+
* return '<span style="color:' + (data['Verified'] ? 'green' : 'red') + '"><i>' + data['Verified'] + '</i><span>';
|
|
344
|
+
* }
|
|
345
|
+
* }
|
|
346
|
+
* let gridObj: Grid = new Grid({
|
|
347
|
+
* dataSource: filterData,
|
|
348
|
+
* columns: [
|
|
349
|
+
* { field: 'ShipName', headerText: 'Ship Name' },
|
|
350
|
+
* { field: 'Verified', headerText: 'Verified Status', formatter: ExtendedFormatter }]
|
|
351
|
+
* });
|
|
352
|
+
* gridObj.appendTo('#Grid');
|
|
353
|
+
* ```
|
|
354
|
+
*
|
|
355
|
+
* @default null
|
|
356
|
+
*/
|
|
357
|
+
/**
|
|
358
|
+
* Defines the method used to apply custom cell values from external function and display this on each cell rendered.
|
|
359
|
+
*
|
|
360
|
+
* ```html
|
|
361
|
+
* <div id="Grid"></div>
|
|
362
|
+
* ```
|
|
363
|
+
* ```typescript
|
|
364
|
+
* let gridObj: Grid = new Grid({
|
|
365
|
+
* dataSource: [{ EmployeeID: 1, EmployeeName: ['John', 'M'] }, { EmployeeID: 2, EmployeeName: ['Peter', 'A'] }],
|
|
366
|
+
* columns: [
|
|
367
|
+
* { field: 'EmployeeID', headerText: 'Employee ID' },
|
|
368
|
+
* { field: 'EmployeeName', headerText: 'Employee First Name',
|
|
369
|
+
* valueAccessor: (field: string, data: Object, column: Column) => {
|
|
370
|
+
* return data['EmployeeName'][0];
|
|
371
|
+
* },
|
|
372
|
+
* }]
|
|
373
|
+
* });
|
|
374
|
+
* ```
|
|
375
|
+
*
|
|
376
|
+
* @default null
|
|
377
|
+
*/
|
|
378
|
+
valueAccessor?: string;
|
|
379
|
+
/**
|
|
380
|
+
* Defines the method used to apply custom header cell values from external function and display this on each cell rendered.
|
|
381
|
+
*
|
|
382
|
+
* ```html
|
|
383
|
+
* <div id="Grid"></div>
|
|
384
|
+
* ```
|
|
385
|
+
* ```typescript
|
|
386
|
+
* let gridObj: Grid = new Grid({
|
|
387
|
+
* dataSource: [{ EmployeeID: 1, EmployeeName: ['John', 'M'] }, { EmployeeID: 2, EmployeeName: ['Peter', 'A'] }],
|
|
388
|
+
* columns: [
|
|
389
|
+
* { field: 'EmployeeID', headerText: 'Employee ID' },
|
|
390
|
+
* { field: 'EmployeeName', headerText: 'Employee First Name',
|
|
391
|
+
* headerValueAccessor: (field: string,column: Column) => {
|
|
392
|
+
* return "newheadername";
|
|
393
|
+
* },
|
|
394
|
+
* }]
|
|
395
|
+
* });
|
|
396
|
+
* ```
|
|
397
|
+
*
|
|
398
|
+
* @default null
|
|
399
|
+
*/
|
|
400
|
+
headerValueAccessor?: string;
|
|
401
|
+
/**
|
|
402
|
+
* The `filterBarTemplate` is used to add a custom component instead of default input component for filter bar.
|
|
403
|
+
* It have create and read functions.
|
|
404
|
+
* * create: It is used for creating custom components.
|
|
405
|
+
* * read: It is used to perform custom filter action.
|
|
406
|
+
*
|
|
407
|
+
* ```html
|
|
408
|
+
* <div id="Grid"></div>
|
|
409
|
+
* ```
|
|
410
|
+
* ```typescript
|
|
411
|
+
* let gridObj: Grid = new Grid({
|
|
412
|
+
* dataSource: filterData,
|
|
413
|
+
* columns: [
|
|
414
|
+
* { field: 'OrderID', headerText: 'Order ID' },
|
|
415
|
+
* {
|
|
416
|
+
* field: 'EmployeeID', filterBarTemplate: {
|
|
417
|
+
* create: (args: { element: Element, column: Column }) => {
|
|
418
|
+
* let input: HTMLInputElement = document.createElement('input');
|
|
419
|
+
* input.id = 'EmployeeID';
|
|
420
|
+
* input.type = 'text';
|
|
421
|
+
* return input;
|
|
422
|
+
* },
|
|
423
|
+
* write: (args: { element: Element, column: Column }) => {
|
|
424
|
+
* args.element.addEventListener('input', args.column.filterBarTemplate.read as EventListener);
|
|
425
|
+
* },
|
|
426
|
+
* read: (args: { element: HTMLInputElement, columnIndex: number, column: Column }) => {
|
|
427
|
+
* gridObj.filterByColumn(args.element.id, 'equal', args.element.value);
|
|
428
|
+
* }
|
|
429
|
+
* }
|
|
430
|
+
* }],
|
|
431
|
+
* allowFiltering: true
|
|
432
|
+
* });
|
|
433
|
+
* gridObj.appendTo('#Grid');
|
|
434
|
+
* ```
|
|
435
|
+
*
|
|
436
|
+
* @default null
|
|
437
|
+
*/
|
|
438
|
+
/**
|
|
439
|
+
* Defines the filter options to customize filtering for the particular column.
|
|
440
|
+
*
|
|
441
|
+
* @default null
|
|
442
|
+
*/
|
|
443
|
+
/**
|
|
444
|
+
* Used to render multiple header rows(stacked headers) on the Grid header.
|
|
445
|
+
*
|
|
446
|
+
* @default null
|
|
447
|
+
*/
|
|
448
|
+
columns?: string[] | ColumnModel[];
|
|
449
|
+
/**
|
|
450
|
+
* Defines the tool tip text for stacked headers.
|
|
451
|
+
*
|
|
452
|
+
* @hidden
|
|
453
|
+
* @default null
|
|
454
|
+
*/
|
|
455
|
+
toolTip?: string;
|
|
456
|
+
/**
|
|
457
|
+
* If `isPrimaryKey` is set to true, considers this column as the primary key constraint.
|
|
458
|
+
*
|
|
459
|
+
* @default false
|
|
460
|
+
*/
|
|
461
|
+
isPrimaryKey?: boolean;
|
|
462
|
+
/**
|
|
463
|
+
* Defines the type of component for editing.
|
|
464
|
+
*
|
|
465
|
+
* @default 'stringedit'
|
|
466
|
+
*/
|
|
467
|
+
editType?: string;
|
|
468
|
+
/**
|
|
469
|
+
* `editType`(../../grid/edit/#cell-edit-type-and-its-params) Defines rules to validate data before creating and updating.
|
|
470
|
+
*
|
|
471
|
+
* @default null
|
|
472
|
+
*/
|
|
473
|
+
validationRules?: Object;
|
|
474
|
+
/**
|
|
475
|
+
* Defines default values for the component when adding a new record to the Grid.
|
|
476
|
+
*
|
|
477
|
+
* @default null
|
|
478
|
+
* @aspType object
|
|
479
|
+
*/
|
|
480
|
+
defaultValue?: string;
|
|
481
|
+
/**
|
|
482
|
+
* Defines the `IEditCell`(../../grid/edit/#cell-edit-template) object to customize default edit cell.
|
|
483
|
+
*
|
|
484
|
+
* @default {}
|
|
485
|
+
*/
|
|
486
|
+
/**
|
|
487
|
+
* If `isIdentity` is set to true, then this column is considered as identity column.
|
|
488
|
+
*
|
|
489
|
+
* @default false
|
|
490
|
+
*/
|
|
491
|
+
isIdentity?: boolean;
|
|
492
|
+
/**
|
|
493
|
+
* Defines the mapping column name of the foreign data source.
|
|
494
|
+
* If it is not defined then the `columns.field` will be considered as mapping column name
|
|
495
|
+
*
|
|
496
|
+
* @default null
|
|
497
|
+
*/
|
|
498
|
+
foreignKeyField?: string;
|
|
499
|
+
/**
|
|
500
|
+
* Defines the display column name from the foreign data source which will be obtained from comparing local and foreign data
|
|
501
|
+
*
|
|
502
|
+
* @default null
|
|
503
|
+
*/
|
|
504
|
+
foreignKeyValue?: string;
|
|
505
|
+
/**
|
|
506
|
+
* column visibility can change based on its [`Media Queries`](http://cssmediaqueries.com/what-are-css-media-queries.html).
|
|
507
|
+
* `hideAtMedia` accepts only valid Media Queries.
|
|
508
|
+
*
|
|
509
|
+
* @default ''
|
|
510
|
+
*/
|
|
511
|
+
hideAtMedia?: string;
|
|
512
|
+
/**
|
|
513
|
+
* If `showInColumnChooser` set to false, then hides the particular column in column chooser.
|
|
514
|
+
* By default all columns are displayed in column Chooser.
|
|
515
|
+
*
|
|
516
|
+
* @default true
|
|
517
|
+
*/
|
|
518
|
+
showInColumnChooser?: boolean;
|
|
519
|
+
/**
|
|
520
|
+
* @hidden
|
|
521
|
+
* Defines the commands column template as string or HTML element ID which is used to add
|
|
522
|
+
* customized command buttons in each cells of the column.
|
|
523
|
+
*/
|
|
524
|
+
commandsTemplate?: string | Function;
|
|
525
|
+
/**
|
|
526
|
+
* `commands` provides an option to display command buttons in every cell.
|
|
527
|
+
* The available built-in command buttons are
|
|
528
|
+
* * Edit - Edit the record.
|
|
529
|
+
* * Delete - Delete the record.
|
|
530
|
+
* * Save - Save the record.
|
|
531
|
+
* * Cancel - Cancel the edit state.
|
|
532
|
+
*
|
|
533
|
+
* The following code example implements the custom command column.
|
|
534
|
+
* ```html
|
|
535
|
+
* <style type="text/css" class="cssStyles">
|
|
536
|
+
* .details-icon:before
|
|
537
|
+
* {
|
|
538
|
+
* content:"\e74d";
|
|
539
|
+
* }
|
|
540
|
+
* </style>
|
|
541
|
+
* <div id="Grid"></div>
|
|
542
|
+
* ```
|
|
543
|
+
* ```typescript
|
|
544
|
+
* var gridObj = new Grid({
|
|
545
|
+
* datasource: window.gridData,
|
|
546
|
+
* columns : [
|
|
547
|
+
* { field: 'CustomerID', headerText: 'Customer ID' },
|
|
548
|
+
* { field: 'CustomerName', headerText: 'Customer Name' },
|
|
549
|
+
* {commands: [{buttonOption:{content: 'Details', click: onClick, cssClass: details-icon}}], headerText: 'Customer Details'}
|
|
550
|
+
* ]
|
|
551
|
+
* gridObj.appendTo("#Grid");
|
|
552
|
+
* ```
|
|
553
|
+
*
|
|
554
|
+
* @default null
|
|
555
|
+
*/
|
|
556
|
+
commands?: CommandModel[];
|
|
557
|
+
/**
|
|
558
|
+
* It defines the custom sort comparer function.
|
|
559
|
+
*/
|
|
560
|
+
sortComparer?: string;
|
|
561
|
+
/**
|
|
562
|
+
* @hidden
|
|
563
|
+
* It defines the column is foreign key column or not.
|
|
564
|
+
*/
|
|
565
|
+
isForeignColumn?: () => boolean;
|
|
566
|
+
/**
|
|
567
|
+
* Defines the cell edit template that used as editor for a particular column.
|
|
568
|
+
* It accepts either template string or HTML element ID.
|
|
569
|
+
*
|
|
570
|
+
* @aspIgnore
|
|
571
|
+
*/
|
|
572
|
+
editTemplate?: string | Function;
|
|
573
|
+
/**
|
|
574
|
+
* Defines the filter template/UI that used as filter for a particular column.
|
|
575
|
+
* It accepts either template string or HTML element ID.
|
|
576
|
+
*
|
|
577
|
+
* @aspIgnore
|
|
578
|
+
*/
|
|
579
|
+
filterTemplate?: string | Function;
|
|
580
|
+
/**
|
|
581
|
+
* Defines the mapping column name of the foreign data source.
|
|
582
|
+
* If it is not defined then the `columns.field` will be considered as mapping column name
|
|
583
|
+
*
|
|
584
|
+
* @default false
|
|
585
|
+
*/
|
|
586
|
+
lockColumn?: boolean;
|
|
587
|
+
/**
|
|
588
|
+
* If `allowSearching` set to false, then it disables Searching of a particular column.
|
|
589
|
+
* By default all columns allow Searching.
|
|
590
|
+
*
|
|
591
|
+
* @default true
|
|
592
|
+
*/
|
|
593
|
+
allowSearching?: boolean;
|
|
594
|
+
/**
|
|
595
|
+
* If `autoFit` set to true, then the particular column content width will be
|
|
596
|
+
* adjusted based on its content in the initial rendering itself.
|
|
597
|
+
* Setting this property as true is equivalent to calling `autoFitColumns` method in the `dataBound` event.
|
|
598
|
+
*
|
|
599
|
+
* @default false
|
|
600
|
+
*/
|
|
601
|
+
autoFit?: boolean;
|
|
602
|
+
/**
|
|
603
|
+
* defines which side the column need to freeze
|
|
604
|
+
* The available built-in freeze directions are
|
|
605
|
+
* * Left - Freeze the column at left side.
|
|
606
|
+
* * Right - Freeze the column at right side.
|
|
607
|
+
* * Fixed - Freeze the column at Center.
|
|
608
|
+
* * None - Does not freeze the column.
|
|
609
|
+
*
|
|
610
|
+
* @default None
|
|
611
|
+
*/
|
|
612
|
+
freeze?: freezeDirection;
|
|
613
|
+
}
|
|
614
|
+
/**
|
|
615
|
+
* Defines alignments of text, they are
|
|
616
|
+
* ```props
|
|
617
|
+
* * Left :- Defines Left alignment
|
|
618
|
+
* * Right :- Defines Right alignment
|
|
619
|
+
* * Center :- Defines Center alignment
|
|
620
|
+
* * Justify :- Defines Justify alignment
|
|
621
|
+
* ```
|
|
622
|
+
*/
|
|
623
|
+
export declare type TextAlign = 'Left' | 'Right' | 'Center' | 'Justify';
|
|
624
|
+
/**
|
|
625
|
+
* Defines the cell content's overflow mode. The available modes are
|
|
626
|
+
* ```props
|
|
627
|
+
* * `Clip` :- Truncates the cell content when it overflows its area.
|
|
628
|
+
* * `Ellipsis` :- Displays ellipsis when the cell content overflows its area.
|
|
629
|
+
* * `EllipsisWithTooltip` :- Displays ellipsis when the cell content overflows its area
|
|
630
|
+
* also it will display tooltip while hover on ellipsis applied cell.
|
|
631
|
+
* ```
|
|
632
|
+
* {% codeBlock src='grid/clipMode/index.md' %}{% endcodeBlock %}
|
|
633
|
+
*/
|
|
634
|
+
export declare type ClipMode = 'Clip' | 'Ellipsis' | 'EllipsisWithTooltip';
|
|
635
|
+
/**
|
|
636
|
+
* Define options for custom command buttons.
|
|
637
|
+
*/
|
|
638
|
+
export interface CommandModel {
|
|
639
|
+
/**
|
|
640
|
+
* Define the command Button tooltip
|
|
641
|
+
*/
|
|
642
|
+
title?: string;
|
|
643
|
+
/**
|
|
644
|
+
* Define the command Button type
|
|
645
|
+
*
|
|
646
|
+
* @blazorDefaultValue none
|
|
647
|
+
*/
|
|
648
|
+
type?: CommandButtonType;
|
|
649
|
+
}
|
|
650
|
+
/**
|
|
651
|
+
* Defines the Command Buttons type.
|
|
652
|
+
* ```props
|
|
653
|
+
* * None :- Edit the current record.
|
|
654
|
+
* * Edit :- Edit the current record.
|
|
655
|
+
* * Delete :- Delete the current record.
|
|
656
|
+
* * Save :- Save the current edited record.
|
|
657
|
+
* * Cancel :- Cancel the edited state.
|
|
658
|
+
* ```
|
|
659
|
+
*/
|
|
660
|
+
export declare type CommandButtonType = 'None' | 'Edit' | 'Delete' | 'Save' | 'Cancel';
|
|
661
|
+
/**
|
|
662
|
+
* Defines freeze direction of the grid columns
|
|
663
|
+
* ```props
|
|
664
|
+
* * Left :- freeze the columns at left.
|
|
665
|
+
* * Right :- freeze the columns at right.
|
|
666
|
+
* * Fixed :- freeze the columns at center.
|
|
667
|
+
* * None :- does not freeze any columns.
|
|
668
|
+
* ```
|
|
669
|
+
*/
|
|
670
|
+
export declare type freezeDirection = 'Left' | 'Right' | 'Fixed' | 'None';
|
|
@@ -16,7 +16,7 @@ export declare function getAppObject(id: string): any;
|
|
|
16
16
|
* @param dsqId - The DataSourceQuery ID
|
|
17
17
|
* @returns AppObject | null - The found AppObject or null
|
|
18
18
|
*/
|
|
19
|
-
export declare function getAppObjectFromDataSourceQueryID(dsqId: string): any
|
|
19
|
+
export declare function getAppObjectFromDataSourceQueryID(dsqId: string): Promise<any>;
|
|
20
20
|
/**
|
|
21
21
|
* Get the DataSourceQuery ID from the QueryName and table
|
|
22
22
|
* @param table - The table name
|