@sumaris-net/ngx-components 18.12.12 → 18.13.0
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/doc/changelog.md +7 -0
- package/esm2022/public_api.mjs +3 -1
- package/esm2022/src/app/core/home/home.mjs +39 -19
- package/esm2022/src/app/core/home/home.module.mjs +7 -3
- package/esm2022/src/app/core/table/async-table.class.mjs +5 -3
- package/esm2022/src/app/core/table/table.class.mjs +5 -3
- package/esm2022/src/app/shared/observables.mjs +2 -2
- package/esm2022/src/app/shared/pipes/badge.pipes.mjs +3 -2
- package/esm2022/src/app/social/config/social.config.mjs +9 -0
- package/esm2022/src/app/social/job/progression/job-progression.icon.mjs +21 -21
- package/esm2022/src/app/social/user-event/notification/user-event-notification.icon.mjs +111 -51
- package/esm2022/src/app/social/user-event/notification/user-event-notification.list.mjs +49 -32
- package/esm2022/src/app/social/user-event/notification/user-event-notification.modal.mjs +81 -0
- package/esm2022/src/app/social/user-event/testing/user-event.testing.mjs +27 -11
- package/esm2022/src/app/social/user-event/user-event.module.mjs +5 -4
- package/esm2022/src/app/social/user-event/user-event.service.mjs +3 -3
- package/fesm2022/sumaris-net.ngx-components.mjs +5481 -5286
- package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +2 -0
- package/src/app/core/home/home.d.ts +28 -20
- package/src/app/core/home/home.module.d.ts +2 -1
- package/src/app/shared/inputs.d.ts +1 -1
- package/src/app/shared/observables.d.ts +1 -1
- package/src/app/social/config/social.config.d.ts +4 -0
- package/src/app/social/job/progression/job-progression.icon.d.ts +14 -14
- package/src/app/social/user-event/notification/user-event-notification.icon.d.ts +23 -9
- package/src/app/social/user-event/notification/user-event-notification.list.d.ts +20 -16
- package/src/app/social/user-event/notification/user-event-notification.modal.d.ts +36 -0
- package/src/app/social/user-event/testing/user-event.testing.d.ts +11 -2
- package/src/app/social/user-event/user-event.module.d.ts +7 -6
- package/src/app/social/user-event/user-event.service.d.ts +2 -2
- package/src/assets/i18n/fr.json +2 -1
- package/src/assets/manifest.json +1 -1
- package/src/theme/_ngx-components.scss +4 -1
- package/src/theme/_theme.variables.scss +1 -1
|
@@ -7,7 +7,7 @@ export function filterNotNil(obs) {
|
|
|
7
7
|
export function filterTrue(obs) {
|
|
8
8
|
return obs.pipe(filter((v) => v === true));
|
|
9
9
|
}
|
|
10
|
-
export function filterFalse(obs
|
|
10
|
+
export function filterFalse(obs) {
|
|
11
11
|
return obs.pipe(filter((v) => v === false));
|
|
12
12
|
}
|
|
13
13
|
function decorateWithTakeUntil(obs, opts) {
|
|
@@ -97,4 +97,4 @@ export function waitForFalse(observable, opts) {
|
|
|
97
97
|
// Inverse the logic
|
|
98
98
|
observable.pipe(map((v) => v === false)), opts);
|
|
99
99
|
}
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2YWJsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9vYnNlcnZhYmxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQWN2QyxNQUFNLFVBQVUsWUFBWSxDQUFVLEdBQWtCO0lBQ3RELE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUNwQyxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxHQUF3QjtJQUNqRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBQ0QsTUFBTSxVQUFVLFdBQVcsQ0FBQyxHQUF3QixFQUFFLElBQW1CO0lBQ3ZFLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQzlDLENBQUM7QUFFRCxTQUFTLHFCQUFxQixDQUFVLEdBQWtCLEVBQUUsSUFBbUI7SUFDN0UsMEJBQTBCO0lBQzFCLElBQUksVUFBVSxHQUFvQixJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFFdkYsSUFBSSxDQUFDLFVBQVU7UUFBRSxPQUFPLEdBQUcsQ0FBQyxDQUFDLE9BQU87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Q0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsVUFBK0IsRUFBRSxJQUFxQjtJQUNoRixJQUFJLEdBQUcsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUM7SUFDcEMsNEJBQTRCO0lBQzVCLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDN0IsVUFBVSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFDRCxPQUFPLFNBQVMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7QUFDakQsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsVUFBK0IsRUFBRSxJQUFxQjtJQUNqRixPQUFPLFdBQVc7SUFDaEIsb0JBQW9CO0lBQ3BCLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsRUFDeEMsSUFBSSxDQUNMLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgZmlyc3QsIG1hcCwgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBpc05vdE5pbCB9IGZyb20gJy4vZnVuY3Rpb25zJztcbmltcG9ydCB7IFByZWRpY2F0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRmlyc3RPcHRpb25zIHtcbiAgdGltZW91dD86IG51bWJlcjtcbiAgc3RvcD86IE9ic2VydmFibGU8YW55PjtcbiAgc3RvcEVycm9yPzogYm9vbGVhbiB8IHN0cmluZyB8IEVycm9yO1xufVxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgV2FpdEZvck9wdGlvbnMgZXh0ZW5kcyBGaXJzdE9wdGlvbnMge1xuICBkdWVUaW1lPzogbnVtYmVyO1xuICBjaGVja1BlcmlvZD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlck5vdE5pbDxUID0gYW55PihvYnM6IE9ic2VydmFibGU8VD4pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgcmV0dXJuIG9icy5waXBlKGZpbHRlcihpc05vdE5pbCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyVHJ1ZShvYnM6IE9ic2VydmFibGU8Ym9vbGVhbj4pOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgcmV0dXJuIG9icy5waXBlKGZpbHRlcigodikgPT4gdiA9PT0gdHJ1ZSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlckZhbHNlKG9iczogT2JzZXJ2YWJsZTxib29sZWFuPiwgb3B0cz86IEZpcnN0T3B0aW9ucyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICByZXR1cm4gb2JzLnBpcGUoZmlsdGVyKCh2KSA9PiB2ID09PSBmYWxzZSkpO1xufVxuXG5mdW5jdGlvbiBkZWNvcmF0ZVdpdGhUYWtlVW50aWw8VCA9IGFueT4ob2JzOiBPYnNlcnZhYmxlPFQ+LCBvcHRzPzogRmlyc3RPcHRpb25zKTogT2JzZXJ2YWJsZTxUPiB7XG4gIC8vIFNldCB0YWtlIHVudGlsIG5vdGlmaWVyXG4gIGxldCB0YWtlVW50aWwkOiBPYnNlcnZhYmxlPGFueT4gPSBvcHRzPy5zdG9wIHx8IChvcHRzPy50aW1lb3V0ICYmIHRpbWVyKG9wdHMudGltZW91dCkpO1xuXG4gIGlmICghdGFrZVVudGlsJCkgcmV0dXJuIG9iczsgLy8gU2tpcFxuXG4gIC8vIFdoZW4gc3RvcCwgdGhyb3cgYW4gZXJyb3IgKHVzZWZ1bCB3aGVuIHVzZWQgd2l0aCBhIHRvUHJvbWlzZSgpKVxuICBpZiAob3B0cy5zdG9wRXJyb3IpIHtcbiAgICBsZXQgZXJyb3I6IEVycm9yO1xuICAgIGlmIChvcHRzLnN0b3BFcnJvciA9PT0gdHJ1ZSkge1xuICAgICAgZXJyb3IgPSBuZXcgRXJyb3Iob3B0cy50aW1lb3V0ID8gYFRpbWVvdXQgJHtvcHRzLnRpbWVvdXR9bXNgIDogYHN0b3BgKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBvcHRzLnN0b3BFcnJvciA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGVycm9yID0gbmV3IEVycm9yKG9wdHMuc3RvcEVycm9yKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZXJyb3IgPSBvcHRzLnN0b3BFcnJvcjtcbiAgICB9XG4gICAgdGFrZVVudGlsJCA9IHRha2VVbnRpbCQucGlwZShcbiAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIG9icy5waXBlKHRha2VVbnRpbCh0YWtlVW50aWwkKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaXJzdE5vdE5pbDxUID0gYW55PihvYnM6IE9ic2VydmFibGU8VD4sIG9wdHM/OiBGaXJzdE9wdGlvbnMpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgcmV0dXJuIGRlY29yYXRlV2l0aFRha2VVbnRpbChvYnMucGlwZShmaXJzdChpc05vdE5pbCkpLCBvcHRzKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBmaXJzdFRydWU8VCA9IHZvaWQ+KG9iczogT2JzZXJ2YWJsZTxib29sZWFuPiwgb3B0cz86IEZpcnN0T3B0aW9ucywgcmVzdWx0PzogVCk6IE9ic2VydmFibGU8VD4ge1xuICByZXR1cm4gZGVjb3JhdGVXaXRoVGFrZVVudGlsKFxuICAgIG9icy5waXBlKFxuICAgICAgZmlyc3QoKHYpID0+IHYgPT09IHRydWUpLFxuICAgICAgbWFwKChfKSA9PiByZXN1bHQpIC8vIENvbnZlcnQgdG8gVFxuICAgICksXG4gICAgb3B0c1xuICApO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGZpcnN0RmFsc2U8VCA9IHZvaWQ+KG9iczogT2JzZXJ2YWJsZTxib29sZWFuPiwgb3B0cz86IEZpcnN0T3B0aW9ucywgcmVzdWx0PzogVCk6IE9ic2VydmFibGU8VD4ge1xuICByZXR1cm4gZGVjb3JhdGVXaXRoVGFrZVVudGlsKFxuICAgIG9icy5waXBlKFxuICAgICAgZmlyc3QoKHYpID0+IHYgPT09IGZhbHNlKSxcbiAgICAgIG1hcCgoXykgPT4gcmVzdWx0IGFzIFQpIC8vIENvbnZlcnQgdG8gdm9pZFxuICAgICksXG4gICAgb3B0c1xuICApO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGZpcnN0VHJ1ZVByb21pc2Uob2JzOiBPYnNlcnZhYmxlPGJvb2xlYW4+LCBvcHRzPzogRmlyc3RPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gIHJldHVybiBmaXJzdFRydWUob2JzLCB7IHN0b3BFcnJvcjogdHJ1ZSwgLi4ub3B0cyB9KS50b1Byb21pc2UoKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBmaXJzdEZhbHNlUHJvbWlzZShvYnM6IE9ic2VydmFibGU8Ym9vbGVhbj4sIG9wdHM/OiBGaXJzdE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgcmV0dXJuIGZpcnN0RmFsc2Uob2JzLCB7IHN0b3BFcnJvcjogdHJ1ZSwgLi4ub3B0cyB9KS50b1Byb21pc2UoKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBmaXJzdE5vdE5pbFByb21pc2U8VCA9IGFueT4ob2JzOiBPYnNlcnZhYmxlPFQ+LCBvcHRzPzogRmlyc3RPcHRpb25zKTogUHJvbWlzZTxUPiB7XG4gIHJldHVybiBmaXJzdE5vdE5pbChvYnMsIHsgc3RvcEVycm9yOiB0cnVlLCAuLi5vcHRzIH0pLnRvUHJvbWlzZSgpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGNoYWluUHJvbWlzZXM8VCA9IGFueT4oZGVmZXJzOiAoKCkgPT4gUHJvbWlzZTxhbnk+KVtdKTogUHJvbWlzZTxUW10+IHtcbiAgcmV0dXJuIChkZWZlcnMgfHwgW10pLnJlZHVjZSgocHJldmlvdXM6IFByb21pc2U8YW55PiB8IG51bGwsIGRlZmVyKSA9PiB7XG4gICAgLy8gRmlyc3Qgam9iXG4gICAgaWYgKCFwcmV2aW91cykge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgZGVmZXIoKVxuICAgICAgICAgIC8vIEluaXQgdGhlIGZpbmFsIHJlc3VsdCBhcnJheSwgd2l0aCB0aGUgZmlyc3QgcmVzdWx0XG4gICAgICAgICAgLnRoZW4oKGpvYlJlcykgPT4gW2pvYlJlc10pXG4gICAgICApO1xuICAgIH1cbiAgICAvLyBPdGhlciBqb2JzXG4gICAgcmV0dXJuIHByZXZpb3VzLnRoZW4oKGZpbmFsUmVzdWx0KSA9PlxuICAgICAgZGVmZXIoKVxuICAgICAgICAvLyBBZGQgam9iIHJlc3VsdCB0byBmaW5hbCByZXN1bHQgYXJyYXlcbiAgICAgICAgLnRoZW4oKGpvYlJlcykgPT4gZmluYWxSZXN1bHQuY29uY2F0KGpvYlJlcykpXG4gICAgKTtcbiAgfSwgbnVsbCk7XG59XG5cbi8qKlxuICogV2FpdCBmb3JtIGEgcHJlZGljYXRlIHJldHVybiB0cnVlLiBUaGlzIG5lZWQgdG8gaW1wbGVtZW50IEFwcEZvcm1VdGlscy53YWl0V2hpbGVQZW5kaW5nKCksIEFwcEZvcm1VdGlscy53YWl0SWRsZSgpXG4gKlxuICogQHBhcmFtIHByZWRpY2F0ZVxuICogQHBhcmFtIG9wdHNcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdhaXRGb3IocHJlZGljYXRlOiBQcmVkaWNhdGU8dm9pZD4sIG9wdHM/OiBXYWl0Rm9yT3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICBpZiAocHJlZGljYXRlKCkpIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcblxuICBjb25zdCBwZXJpb2QgPSAob3B0cyAmJiBvcHRzLmNoZWNrUGVyaW9kKSB8fCAzMDA7XG4gIGNvbnN0IGR1ZVRpbWUgPSAob3B0cyAmJiBvcHRzLmR1ZVRpbWUpIHx8IHBlcmlvZDtcbiAgY29uc3Qgd2FpdCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aW1lcihkdWVUaW1lLCBwZXJpb2QpLnBpcGUoXG4gICAgLy8gRm9yIERFQlVHIDpcbiAgICAvL3RhcCgoKSA9PiBjb25zb2xlLmRlYnVnKFwiV2FpdGluZyBmb3JtIGlkbGUuLi5cIiwgZm9ybSkpLFxuICAgIGZpbHRlcigoXykgPT4gcHJlZGljYXRlKCkpLFxuICAgIG1hcCgoXykgPT4gdHJ1ZSlcbiAgKTtcblxuICBhd2FpdCBmaXJzdE5vdE5pbFByb21pc2Uod2FpdCQsIG9wdHMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd2FpdEZvclRydWUob2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxib29sZWFuPiwgb3B0cz86IFdhaXRGb3JPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gIG9wdHMgPSB7IHN0b3BFcnJvcjogdHJ1ZSwgLi4ub3B0cyB9O1xuICAvLyBkdWVUaW1lICh3aXRob3V0IHRpbWVvdXQpXG4gIGlmIChvcHRzICYmIG9wdHMuZHVlVGltZSA+IDApIHtcbiAgICBvYnNlcnZhYmxlID0gdGltZXIob3B0cy5kdWVUaW1lKS5waXBlKHN3aXRjaE1hcCgoKSA9PiBvYnNlcnZhYmxlKSk7XG4gIH1cbiAgcmV0dXJuIGZpcnN0VHJ1ZShvYnNlcnZhYmxlLCBvcHRzKS50b1Byb21pc2UoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdhaXRGb3JGYWxzZShvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPGJvb2xlYW4+LCBvcHRzPzogV2FpdEZvck9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgcmV0dXJuIHdhaXRGb3JUcnVlKFxuICAgIC8vIEludmVyc2UgdGhlIGxvZ2ljXG4gICAgb2JzZXJ2YWJsZS5waXBlKG1hcCgodikgPT4gdiA9PT0gZmFsc2UpKSxcbiAgICBvcHRzXG4gICk7XG59XG4iXX0=
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2YWJsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9vYnNlcnZhYmxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQWN2QyxNQUFNLFVBQVUsWUFBWSxDQUFVLEdBQWtCO0lBQ3RELE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUNwQyxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxHQUF3QjtJQUNqRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBQ0QsTUFBTSxVQUFVLFdBQVcsQ0FBQyxHQUF3QjtJQUNsRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBRUQsU0FBUyxxQkFBcUIsQ0FBVSxHQUFrQixFQUFFLElBQW1CO0lBQzdFLDBCQUEwQjtJQUMxQixJQUFJLFVBQVUsR0FBb0IsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBRXZGLElBQUksQ0FBQyxVQUFVO1FBQUUsT0FBTyxHQUFHLENBQUMsQ0FBQyxPQUFPO0lBRXBDLGtFQUFr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QUFNLFVBQVUsV0FBVyxDQUFDLFVBQStCLEVBQUUsSUFBcUI7SUFDaEYsSUFBSSxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDO0lBQ3BDLDRCQUE0QjtJQUM1QixJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzdCLFVBQVUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBQ0QsT0FBTyxTQUFTLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0FBQ2pELENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLFVBQStCLEVBQUUsSUFBcUI7SUFDakYsT0FBTyxXQUFXO0lBQ2hCLG9CQUFvQjtJQUNwQixVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLEVBQ3hDLElBQUksQ0FDTCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIGZpcnN0LCBtYXAsIHN3aXRjaE1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgaXNOb3ROaWwgfSBmcm9tICcuL2Z1bmN0aW9ucyc7XG5pbXBvcnQgeyBQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEZpcnN0T3B0aW9ucyB7XG4gIHRpbWVvdXQ/OiBudW1iZXI7XG4gIHN0b3A/OiBPYnNlcnZhYmxlPGFueT47XG4gIHN0b3BFcnJvcj86IGJvb2xlYW4gfCBzdHJpbmcgfCBFcnJvcjtcbn1cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFdhaXRGb3JPcHRpb25zIGV4dGVuZHMgRmlyc3RPcHRpb25zIHtcbiAgZHVlVGltZT86IG51bWJlcjtcbiAgY2hlY2tQZXJpb2Q/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJOb3ROaWw8VCA9IGFueT4ob2JzOiBPYnNlcnZhYmxlPFQ+KTogT2JzZXJ2YWJsZTxUPiB7XG4gIHJldHVybiBvYnMucGlwZShmaWx0ZXIoaXNOb3ROaWwpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlclRydWUob2JzOiBPYnNlcnZhYmxlPGJvb2xlYW4+KTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gIHJldHVybiBvYnMucGlwZShmaWx0ZXIoKHYpID0+IHYgPT09IHRydWUpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJGYWxzZShvYnM6IE9ic2VydmFibGU8Ym9vbGVhbj4pOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgcmV0dXJuIG9icy5waXBlKGZpbHRlcigodikgPT4gdiA9PT0gZmFsc2UpKTtcbn1cblxuZnVuY3Rpb24gZGVjb3JhdGVXaXRoVGFrZVVudGlsPFQgPSBhbnk+KG9iczogT2JzZXJ2YWJsZTxUPiwgb3B0cz86IEZpcnN0T3B0aW9ucyk6IE9ic2VydmFibGU8VD4ge1xuICAvLyBTZXQgdGFrZSB1bnRpbCBub3RpZmllclxuICBsZXQgdGFrZVVudGlsJDogT2JzZXJ2YWJsZTxhbnk+ID0gb3B0cz8uc3RvcCB8fCAob3B0cz8udGltZW91dCAmJiB0aW1lcihvcHRzLnRpbWVvdXQpKTtcblxuICBpZiAoIXRha2VVbnRpbCQpIHJldHVybiBvYnM7IC8vIFNraXBcblxuICAvLyBXaGVuIHN0b3AsIHRocm93IGFuIGVycm9yICh1c2VmdWwgd2hlbiB1c2VkIHdpdGggYSB0b1Byb21pc2UoKSlcbiAgaWYgKG9wdHMuc3RvcEVycm9yKSB7XG4gICAgbGV0IGVycm9yOiBFcnJvcjtcbiAgICBpZiAob3B0cy5zdG9wRXJyb3IgPT09IHRydWUpIHtcbiAgICAgIGVycm9yID0gbmV3IEVycm9yKG9wdHMudGltZW91dCA/IGBUaW1lb3V0ICR7b3B0cy50aW1lb3V0fW1zYCA6IGBzdG9wYCk7XG4gICAgfSBlbHNlIGlmICh0eXBlb2Ygb3B0cy5zdG9wRXJyb3IgPT09ICdzdHJpbmcnKSB7XG4gICAgICBlcnJvciA9IG5ldyBFcnJvcihvcHRzLnN0b3BFcnJvcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVycm9yID0gb3B0cy5zdG9wRXJyb3I7XG4gICAgfVxuICAgIHRha2VVbnRpbCQgPSB0YWtlVW50aWwkLnBpcGUoXG4gICAgICBtYXAoKCkgPT4ge1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBvYnMucGlwZSh0YWtlVW50aWwodGFrZVVudGlsJCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmlyc3ROb3ROaWw8VCA9IGFueT4ob2JzOiBPYnNlcnZhYmxlPFQ+LCBvcHRzPzogRmlyc3RPcHRpb25zKTogT2JzZXJ2YWJsZTxUPiB7XG4gIHJldHVybiBkZWNvcmF0ZVdpdGhUYWtlVW50aWwob2JzLnBpcGUoZmlyc3QoaXNOb3ROaWwpKSwgb3B0cyk7XG59XG5leHBvcnQgZnVuY3Rpb24gZmlyc3RUcnVlPFQgPSB2b2lkPihvYnM6IE9ic2VydmFibGU8Ym9vbGVhbj4sIG9wdHM/OiBGaXJzdE9wdGlvbnMsIHJlc3VsdD86IFQpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgcmV0dXJuIGRlY29yYXRlV2l0aFRha2VVbnRpbChcbiAgICBvYnMucGlwZShcbiAgICAgIGZpcnN0KCh2KSA9PiB2ID09PSB0cnVlKSxcbiAgICAgIG1hcCgoXykgPT4gcmVzdWx0KSAvLyBDb252ZXJ0IHRvIFRcbiAgICApLFxuICAgIG9wdHNcbiAgKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBmaXJzdEZhbHNlPFQgPSB2b2lkPihvYnM6IE9ic2VydmFibGU8Ym9vbGVhbj4sIG9wdHM/OiBGaXJzdE9wdGlvbnMsIHJlc3VsdD86IFQpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgcmV0dXJuIGRlY29yYXRlV2l0aFRha2VVbnRpbChcbiAgICBvYnMucGlwZShcbiAgICAgIGZpcnN0KCh2KSA9PiB2ID09PSBmYWxzZSksXG4gICAgICBtYXAoKF8pID0+IHJlc3VsdCBhcyBUKSAvLyBDb252ZXJ0IHRvIHZvaWRcbiAgICApLFxuICAgIG9wdHNcbiAgKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBmaXJzdFRydWVQcm9taXNlKG9iczogT2JzZXJ2YWJsZTxib29sZWFuPiwgb3B0cz86IEZpcnN0T3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICByZXR1cm4gZmlyc3RUcnVlKG9icywgeyBzdG9wRXJyb3I6IHRydWUsIC4uLm9wdHMgfSkudG9Qcm9taXNlKCk7XG59XG5leHBvcnQgZnVuY3Rpb24gZmlyc3RGYWxzZVByb21pc2Uob2JzOiBPYnNlcnZhYmxlPGJvb2xlYW4+LCBvcHRzPzogRmlyc3RPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gIHJldHVybiBmaXJzdEZhbHNlKG9icywgeyBzdG9wRXJyb3I6IHRydWUsIC4uLm9wdHMgfSkudG9Qcm9taXNlKCk7XG59XG5leHBvcnQgZnVuY3Rpb24gZmlyc3ROb3ROaWxQcm9taXNlPFQgPSBhbnk+KG9iczogT2JzZXJ2YWJsZTxUPiwgb3B0cz86IEZpcnN0T3B0aW9ucyk6IFByb21pc2U8VD4ge1xuICByZXR1cm4gZmlyc3ROb3ROaWwob2JzLCB7IHN0b3BFcnJvcjogdHJ1ZSwgLi4ub3B0cyB9KS50b1Byb21pc2UoKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBjaGFpblByb21pc2VzPFQgPSBhbnk+KGRlZmVyczogKCgpID0+IFByb21pc2U8YW55PilbXSk6IFByb21pc2U8VFtdPiB7XG4gIHJldHVybiAoZGVmZXJzIHx8IFtdKS5yZWR1Y2UoKHByZXZpb3VzOiBQcm9taXNlPGFueT4gfCBudWxsLCBkZWZlcikgPT4ge1xuICAgIC8vIEZpcnN0IGpvYlxuICAgIGlmICghcHJldmlvdXMpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIGRlZmVyKClcbiAgICAgICAgICAvLyBJbml0IHRoZSBmaW5hbCByZXN1bHQgYXJyYXksIHdpdGggdGhlIGZpcnN0IHJlc3VsdFxuICAgICAgICAgIC50aGVuKChqb2JSZXMpID0+IFtqb2JSZXNdKVxuICAgICAgKTtcbiAgICB9XG4gICAgLy8gT3RoZXIgam9ic1xuICAgIHJldHVybiBwcmV2aW91cy50aGVuKChmaW5hbFJlc3VsdCkgPT5cbiAgICAgIGRlZmVyKClcbiAgICAgICAgLy8gQWRkIGpvYiByZXN1bHQgdG8gZmluYWwgcmVzdWx0IGFycmF5XG4gICAgICAgIC50aGVuKChqb2JSZXMpID0+IGZpbmFsUmVzdWx0LmNvbmNhdChqb2JSZXMpKVxuICAgICk7XG4gIH0sIG51bGwpO1xufVxuXG4vKipcbiAqIFdhaXQgZm9ybSBhIHByZWRpY2F0ZSByZXR1cm4gdHJ1ZS4gVGhpcyBuZWVkIHRvIGltcGxlbWVudCBBcHBGb3JtVXRpbHMud2FpdFdoaWxlUGVuZGluZygpLCBBcHBGb3JtVXRpbHMud2FpdElkbGUoKVxuICpcbiAqIEBwYXJhbSBwcmVkaWNhdGVcbiAqIEBwYXJhbSBvcHRzXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3YWl0Rm9yKHByZWRpY2F0ZTogUHJlZGljYXRlPHZvaWQ+LCBvcHRzPzogV2FpdEZvck9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgaWYgKHByZWRpY2F0ZSgpKSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG5cbiAgY29uc3QgcGVyaW9kID0gKG9wdHMgJiYgb3B0cy5jaGVja1BlcmlvZCkgfHwgMzAwO1xuICBjb25zdCBkdWVUaW1lID0gKG9wdHMgJiYgb3B0cy5kdWVUaW1lKSB8fCBwZXJpb2Q7XG4gIGNvbnN0IHdhaXQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGltZXIoZHVlVGltZSwgcGVyaW9kKS5waXBlKFxuICAgIC8vIEZvciBERUJVRyA6XG4gICAgLy90YXAoKCkgPT4gY29uc29sZS5kZWJ1ZyhcIldhaXRpbmcgZm9ybSBpZGxlLi4uXCIsIGZvcm0pKSxcbiAgICBmaWx0ZXIoKF8pID0+IHByZWRpY2F0ZSgpKSxcbiAgICBtYXAoKF8pID0+IHRydWUpXG4gICk7XG5cbiAgYXdhaXQgZmlyc3ROb3ROaWxQcm9taXNlKHdhaXQkLCBvcHRzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdhaXRGb3JUcnVlKG9ic2VydmFibGU6IE9ic2VydmFibGU8Ym9vbGVhbj4sIG9wdHM/OiBXYWl0Rm9yT3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICBvcHRzID0geyBzdG9wRXJyb3I6IHRydWUsIC4uLm9wdHMgfTtcbiAgLy8gZHVlVGltZSAod2l0aG91dCB0aW1lb3V0KVxuICBpZiAob3B0cyAmJiBvcHRzLmR1ZVRpbWUgPiAwKSB7XG4gICAgb2JzZXJ2YWJsZSA9IHRpbWVyKG9wdHMuZHVlVGltZSkucGlwZShzd2l0Y2hNYXAoKCkgPT4gb2JzZXJ2YWJsZSkpO1xuICB9XG4gIHJldHVybiBmaXJzdFRydWUob2JzZXJ2YWJsZSwgb3B0cykudG9Qcm9taXNlKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3YWl0Rm9yRmFsc2Uob2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxib29sZWFuPiwgb3B0cz86IFdhaXRGb3JPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gIHJldHVybiB3YWl0Rm9yVHJ1ZShcbiAgICAvLyBJbnZlcnNlIHRoZSBsb2dpY1xuICAgIG9ic2VydmFibGUucGlwZShtYXAoKHYpID0+IHYgPT09IGZhbHNlKSksXG4gICAgb3B0c1xuICApO1xufVxuIl19
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { Pipe } from '@angular/core';
|
|
2
|
+
import { isNotNilOrNaN } from '../functions';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
export class BadgeNumberPipe {
|
|
4
5
|
transform(val, max = 99) {
|
|
5
|
-
if (val
|
|
6
|
+
if (isNotNilOrNaN(val)) {
|
|
6
7
|
if (val > max) {
|
|
7
8
|
return max.toFixed(0) + '+';
|
|
8
9
|
}
|
|
@@ -21,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
21
22
|
name: 'badgeNumber',
|
|
22
23
|
}]
|
|
23
24
|
}] });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UucGlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9waXBlcy9iYWRnZS5waXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUs3QyxNQUFNLE9BQU8sZUFBZTtJQUMxQixTQUFTLENBQUMsR0FBVyxFQUFFLEdBQUcsR0FBRyxFQUFFO1FBQzdCLElBQUksYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdkIsSUFBSSxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUM7Z0JBQ2QsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztZQUM5QixDQUFDO1lBQ0QsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hCLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO0lBQ0gsQ0FBQzt3R0FWVSxlQUFlO3NHQUFmLGVBQWU7OzRGQUFmLGVBQWU7a0JBSDNCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGFBQWE7aUJBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNOb3ROaWxPck5hTiB9IGZyb20gJy4uL2Z1bmN0aW9ucyc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2JhZGdlTnVtYmVyJyxcbn0pXG5leHBvcnQgY2xhc3MgQmFkZ2VOdW1iZXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybSh2YWw6IG51bWJlciwgbWF4ID0gOTkpOiBzdHJpbmcge1xuICAgIGlmIChpc05vdE5pbE9yTmFOKHZhbCkpIHtcbiAgICAgIGlmICh2YWwgPiBtYXgpIHtcbiAgICAgICAgcmV0dXJuIG1heC50b0ZpeGVkKDApICsgJysnO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHZhbC50b0ZpeGVkKDApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export const SOCIAL_CONFIG_OPTIONS = Object.freeze({
|
|
2
|
+
ENABLE_NOTIFICATION_ICONS: {
|
|
3
|
+
key: 'sumaris.social.notification.icons.enable',
|
|
4
|
+
label: 'CONFIGURATION.OPTIONS.SOCIAL.ENABLE_NOTIFICATION_ICONS',
|
|
5
|
+
type: 'boolean',
|
|
6
|
+
defaultValue: false,
|
|
7
|
+
},
|
|
8
|
+
});
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29jaWFsLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc29jaWFsL2NvbmZpZy9zb2NpYWwuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDakQseUJBQXlCLEVBQXVCO1FBQzlDLEdBQUcsRUFBRSwwQ0FBMEM7UUFDL0MsS0FBSyxFQUFFLHdEQUF3RDtRQUMvRCxJQUFJLEVBQUUsU0FBUztRQUNmLFlBQVksRUFBRSxLQUFLO0tBQ3BCO0NBQ0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUZpZWxkRGVmaW5pdGlvbiB9IGZyb20gJy4uLy4uL3NoYXJlZC9mb3JtL2ZpZWxkLm1vZGVsJztcblxuZXhwb3J0IGNvbnN0IFNPQ0lBTF9DT05GSUdfT1BUSU9OUyA9IE9iamVjdC5mcmVlemUoe1xuICBFTkFCTEVfTk9USUZJQ0FUSU9OX0lDT05TOiA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XG4gICAga2V5OiAnc3VtYXJpcy5zb2NpYWwubm90aWZpY2F0aW9uLmljb25zLmVuYWJsZScsXG4gICAgbGFiZWw6ICdDT05GSUdVUkFUSU9OLk9QVElPTlMuU09DSUFMLkVOQUJMRV9OT1RJRklDQVRJT05fSUNPTlMnLFxuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICB9LFxufSk7XG4iXX0=
|
|
@@ -8,24 +8,22 @@ import { JobProgressionList } from './job-progression.list';
|
|
|
8
8
|
import { RxState } from '@rx-angular/state';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
import * as i1 from "@ionic/angular";
|
|
11
|
-
import * as i2 from "@
|
|
12
|
-
import * as i3 from "@
|
|
13
|
-
import * as i4 from "@angular/material/
|
|
14
|
-
import * as i5 from "@angular/material/
|
|
15
|
-
import * as i6 from "@angular/
|
|
16
|
-
import * as i7 from "@
|
|
17
|
-
import * as i8 from "@
|
|
18
|
-
import * as i9 from "
|
|
11
|
+
import * as i2 from "@angular/material/icon";
|
|
12
|
+
import * as i3 from "@angular/material/button";
|
|
13
|
+
import * as i4 from "@angular/material/progress-spinner";
|
|
14
|
+
import * as i5 from "@angular/material/badge";
|
|
15
|
+
import * as i6 from "@angular/common";
|
|
16
|
+
import * as i7 from "@ngx-translate/core";
|
|
17
|
+
import * as i8 from "@rx-angular/template/push";
|
|
18
|
+
import * as i9 from "../../../shared/pipes/badge.pipes";
|
|
19
19
|
export class JobProgressionIcon extends RxState {
|
|
20
20
|
jobProgressionService;
|
|
21
21
|
popoverController;
|
|
22
22
|
cd;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
headerActions;
|
|
28
|
-
jobFinished = new EventEmitter();
|
|
23
|
+
_listPopover;
|
|
24
|
+
_subscriptions = new Subscription();
|
|
25
|
+
_subscriptionsById = {};
|
|
26
|
+
_logPrefix = '[job-progression] ';
|
|
29
27
|
disabled = true;
|
|
30
28
|
color = 'accent';
|
|
31
29
|
jobProgressions$ = this.select('jobProgressions');
|
|
@@ -36,10 +34,12 @@ export class JobProgressionIcon extends RxState {
|
|
|
36
34
|
autoHideDelay;
|
|
37
35
|
autoRemove;
|
|
38
36
|
autoRemoveDelay;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
37
|
+
debug = false;
|
|
38
|
+
titleI18n = 'SOCIAL.JOB.PROGRESSION.TITLE';
|
|
39
|
+
options;
|
|
40
|
+
autoHide;
|
|
41
|
+
headerActions;
|
|
42
|
+
jobFinished = new EventEmitter();
|
|
43
43
|
constructor(jobProgressionService, popoverController, cd) {
|
|
44
44
|
super();
|
|
45
45
|
this.jobProgressionService = jobProgressionService;
|
|
@@ -209,11 +209,11 @@ export class JobProgressionIcon extends RxState {
|
|
|
209
209
|
this._subscriptions.unsubscribe();
|
|
210
210
|
}
|
|
211
211
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: JobProgressionIcon, deps: [{ token: APP_JOB_PROGRESSION_SERVICE, optional: true }, { token: i1.PopoverController }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
212
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
212
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: JobProgressionIcon, selector: "app-job-progression-icon", inputs: { debug: "debug", titleI18n: "titleI18n", options: "options", autoHide: "autoHide", headerActions: "headerActions" }, outputs: { jobFinished: "jobFinished" }, usesInheritance: true, ngImport: i0, template: "@let count = (jobCount$ | async);\n@if (visible$ | async) {\n <button\n #button\n mat-icon-button\n [title]=\"titleI18n | translate\"\n [disabled]=\"disabled\"\n (click)=\"showList($event)\"\n >\n <mat-icon\n [matBadge]=\"count | badgeNumber\"\n [matBadgeHidden]=\"!count\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\"\n matBadgePosition=\"above after\"\n aria-hidden=\"false\"\n >\n {{ disabled || count ? 'schedule' : 'task_alt' }}\n </mat-icon>\n @if (count) {\n <mat-spinner\n #spinner\n class=\"floating-spinner\"\n [color]=\"color\"\n [mode]=\"mode$ | push\"\n [value]=\"value$ | push\"\n diameter=\"30\"\n strokeWidth=\"3\"\n ></mat-spinner>\n }\n </button>\n}\n", styles: [".floating-spinner{position:absolute;height:24px!important;width:24px!important;top:12px;left:12px}\n"], dependencies: [{ kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i4.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i5.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "pipe", type: i8.RxPush, name: "push" }, { kind: "pipe", type: i9.BadgeNumberPipe, name: "badgeNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
213
213
|
}
|
|
214
214
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: JobProgressionIcon, decorators: [{
|
|
215
215
|
type: Component,
|
|
216
|
-
args: [{ selector: 'app-job-progression-icon', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n
|
|
216
|
+
args: [{ selector: 'app-job-progression-icon', changeDetection: ChangeDetectionStrategy.OnPush, template: "@let count = (jobCount$ | async);\n@if (visible$ | async) {\n <button\n #button\n mat-icon-button\n [title]=\"titleI18n | translate\"\n [disabled]=\"disabled\"\n (click)=\"showList($event)\"\n >\n <mat-icon\n [matBadge]=\"count | badgeNumber\"\n [matBadgeHidden]=\"!count\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\"\n matBadgePosition=\"above after\"\n aria-hidden=\"false\"\n >\n {{ disabled || count ? 'schedule' : 'task_alt' }}\n </mat-icon>\n @if (count) {\n <mat-spinner\n #spinner\n class=\"floating-spinner\"\n [color]=\"color\"\n [mode]=\"mode$ | push\"\n [value]=\"value$ | push\"\n diameter=\"30\"\n strokeWidth=\"3\"\n ></mat-spinner>\n }\n </button>\n}\n", styles: [".floating-spinner{position:absolute;height:24px!important;width:24px!important;top:12px;left:12px}\n"] }]
|
|
217
217
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
218
218
|
type: Optional
|
|
219
219
|
}, {
|
|
@@ -232,4 +232,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
232
232
|
}], jobFinished: [{
|
|
233
233
|
type: Output
|
|
234
234
|
}] } });
|
|
235
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLXByb2dyZXNzaW9uLmljb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NvY2lhbC9qb2IvcHJvZ3Jlc3Npb24vam9iLXByb2dyZXNzaW9uLmljb24udHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NvY2lhbC9qb2IvcHJvZ3Jlc3Npb24vam9iLXByb2dyZXNzaW9uLmljb24uaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSwyQkFBMkIsRUFBMEIsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRixPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQTZCLE1BQU0sd0JBQXdCLENBQUM7QUFHdkYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7Ozs7OztBQXlCNUMsTUFBTSxPQUFPLGtCQUFtQixTQUFRLE9BQWdDO0lBMEJUO0lBQ2pEO0lBQ0E7SUEzQkgsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNkLFNBQVMsR0FBRyw4QkFBOEIsQ0FBQztJQUMzQyxPQUFPLENBQXdCO0lBQy9C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LGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDRSwwQkFBMEIsbUJBSW5CLHVCQUF1QixDQUFDLE1BQU07OzBCQTRCNUMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQywyQkFBMkI7eUdBekJ4QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IEFQUF9KT0JfUFJPR1JFU1NJT05fU0VSVklDRSwgSUpvYlByb2dyZXNzaW9uU2VydmljZSB9IGZyb20gJy4vam9iLXByb2dyZXNzaW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgSm9iUHJvZ3Jlc3Npb24gfSBmcm9tICcuL2pvYi1wcm9ncmVzc2lvbi5tb2RlbCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGRlbGF5LCBvZiwgU3Vic2NyaXB0aW9uLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGFycmF5U2l6ZSwgaXNOaWwsIHJlbW92ZSwgdG9Cb29sZWFuLCB0b051bWJlciB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9mdW5jdGlvbnMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFBvcG92ZXJDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgSm9iUHJvZ3Jlc3Npb25MaXN0LCBKb2JQcm9ncmVzc2lvbkxpc3RPcHRpb25zIH0gZnJvbSAnLi9qb2ItcHJvZ3Jlc3Npb24ubGlzdCc7XG5pbXBvcnQgeyBJVXNlckV2ZW50QWN0aW9uIH0gZnJvbSAnLi4vLi4vdXNlci1ldmVudC91c2VyLWV2ZW50Lm1vZGVsJztcbmltcG9ydCB7IFByb2dyZXNzU3Bpbm5lck1vZGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcbmltcG9ydCB7IFJ4U3RhdGUgfSBmcm9tICdAcngtYW5ndWxhci9zdGF0ZSc7XG5pbXBvcnQgeyBPYmplY3RNYXAgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEpvYlByb2dyZXNzaW9uT3B0aW9ucyB7XG4gIGF1dG9IaWRlOiBib29sZWFuO1xuICBhdXRvSGlkZURlbGF5OiBudW1iZXI7XG4gIGF1dG9SZW1vdmU6IGJvb2xlYW47XG4gIGF1dG9SZW1vdmVEZWxheTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEpvYlByb2dyZXNzaW9uSWNvblN0YXRlIHtcbiAgdmlzaWJsZTogYm9vbGVhbjtcbiAgbW9kZTogUHJvZ3Jlc3NTcGlubmVyTW9kZTtcbiAgdmFsdWU6IG51bWJlcjtcbiAgam9iUHJvZ3Jlc3Npb25zOiBCZWhhdmlvclN1YmplY3Q8Sm9iUHJvZ3Jlc3Npb24+W107XG4gIGpvYkNvdW50OiBudW1iZXI7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1qb2ItcHJvZ3Jlc3Npb24taWNvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9qb2ItcHJvZ3Jlc3Npb24uaWNvbi5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vam9iLXByb2dyZXNzaW9uLmljb24uc2NzcyddLFxuICAvLyBwcm92aWRlcnM6IFtSeFN0YXRlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEpvYlByb2dyZXNzaW9uSWNvbiBleHRlbmRzIFJ4U3RhdGU8Sm9iUHJvZ3Jlc3Npb25JY29uU3RhdGU+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBkZWJ1ZyA9IGZhbHNlO1xuICBASW5wdXQoKSB0aXRsZUkxOG4gPSAnU09DSUFMLkpPQi5QUk9HUkVTU0lPTi5USVRMRSc7XG4gIEBJbnB1dCgpIG9wdGlvbnM6IEpvYlByb2dyZXNzaW9uT3B0aW9ucztcbiAgQElucHV0KCkgYXV0b0hpZGU6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGhlYWRlckFjdGlvbnM6IElVc2VyRXZlbnRBY3Rpb25bXTtcbiAgQE91dHB1dCgpIGpvYkZpbmlzaGVkID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgZGlzYWJsZWQgPSB0cnVlO1xuICBjb2xvcjogVGhlbWVQYWxldHRlID0gJ2FjY2VudCc7XG4gIGpvYlByb2dyZXNzaW9ucyQgPSB0aGlzLnNlbGVjdCgnam9iUHJvZ3Jlc3Npb25zJyk7XG4gIGpvYkNvdW50JCA9IHRoaXMuc2VsZWN0KCdqb2JDb3VudCcpO1xuICB2aXNpYmxlJCA9IHRoaXMuc2VsZWN0KCd2aXNpYmxlJyk7XG4gIG1vZGUkID0gdGhpcy5zZWxlY3QoJ21vZGUnKTtcbiAgdmFsdWUkID0gdGhpcy5zZWxlY3QoJ3ZhbHVlJyk7XG5cbiAgcHJvdGVjdGVkIGF1dG9IaWRlRGVsYXk6IG51bWJlcjtcbiAgcHJvdGVjdGVkIGF1dG9SZW1vdmU6IGJvb2xlYW47XG4gIHByb3RlY3RlZCBhdXRvUmVtb3ZlRGVsYXk6IG51bWJlcjtcblxuICBwcml2YXRlIF9saXN0UG9wb3ZlcjogSFRNTElvblBvcG92ZXJFbGVtZW50O1xuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zQnlJZDogT2JqZWN0TWFwPFN1YnNjcmlwdGlvbj4gPSB7fTtcbiAgcHJpdmF0ZSBfbG9nUHJlZml4ID0gJ1tqb2ItcHJvZ3Jlc3Npb25dICc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChBUFBfSk9CX1BST0dSRVNTSU9OX1NFUlZJQ0UpIHByb3RlY3RlZCBqb2JQcm9ncmVzc2lvblNlcnZpY2U6IElKb2JQcm9ncmVzc2lvblNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHBvcG92ZXJDb250cm9sbGVyOiBQb3BvdmVyQ29udHJvbGxlcixcbiAgICBwcm90ZWN0ZWQgY2Q6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBnZXQgam9iUHJvZ3Jlc3Npb25zKCk6IEJlaGF2aW9yU3ViamVjdDxKb2JQcm9ncmVzc2lvbj5bXSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdqb2JQcm9ncmVzc2lvbnMnKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmIChpc05pbCh0aGlzLmpvYlByb2dyZXNzaW9uU2VydmljZSkpIHtcbiAgICAgIGNvbnNvbGUud2FybihgJHt0aGlzLl9sb2dQcmVmaXh9Tm8gc2VydmljZSBpbmplY3RlZGApO1xuICAgIH1cbiAgICAvLyBwYXJzZSBvcHRpb25zXG4gICAgdGhpcy5hdXRvSGlkZSA9IHRvQm9vbGVhbih0aGlzLmF1dG9IaWRlLCB0aGlzLm9wdGlvbnM/LmF1dG9IaWRlIHx8IGZhbHNlKTtcbiAgICB0aGlzLnNldCh7IHZpc2libGU6ICF0aGlzLmF1dG9IaWRlLCBtb2RlOiAnZGV0ZXJtaW5hdGUnLCB2YWx1ZTogMCB9KTtcbiAgICB0aGlzLmF1dG9IaWRlRGVsYXkgPSB0b051bWJlcih0aGlzLm9wdGlvbnM/LmF1dG9IaWRlRGVsYXksIDEwMDApO1xuICAgIHRoaXMuYXV0b1JlbW92ZSA9IHRvQm9vbGVhbih0aGlzLm9wdGlvbnM/LmF1dG9SZW1vdmUsIHRydWUpO1xuICAgIHRoaXMuYXV0b1JlbW92ZURlbGF5ID0gdG9OdW1iZXIodGhpcy5vcHRpb25zPy5hdXRvUmVtb3ZlRGVsYXksIDEwMDApO1xuXG4gICAgaWYgKHRoaXMuam9iUHJvZ3Jlc3Npb25TZXJ2aWNlKSB7XG4gICAgICB0aGlzLmNvbm5lY3QoJ2pvYlByb2dyZXNzaW9ucycsIHRoaXMuam9iUHJvZ3Jlc3Npb25TZXJ2aWNlLndhdGNoQWxsKCksIChzdGF0ZSwgaXRlbXMpID0+IHtcbiAgICAgICAgY29uc3QgZXhpc3RpbmdKb2JJZHMgPSBzdGF0ZS5qb2JQcm9ncmVzc2lvbnM/Lm1hcCgoam9iKSA9PiBqb2IudmFsdWUuaWQpIHx8IFtdO1xuICAgICAgICBjb25zdCByZXN1bHQgPSAoaXRlbXMgfHwgW10pLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgIHJlbW92ZShleGlzdGluZ0pvYklkcywgKGlkKSA9PiBpZCA9PT0gaXRlbS5pZCk7XG4gICAgICAgICAgLy8gQWRkIGpvYiB0byBsaXN0ZW5cbiAgICAgICAgICByZXR1cm4gdGhpcy5zdGFydExpc3RlbkpvYihpdGVtLmlkLCBpdGVtKTtcbiAgICAgICAgfSk7XG4gICAgICAgIC8vIFJlbW92ZSBvbGQgam9ic1xuICAgICAgICBpZiAoZXhpc3RpbmdKb2JJZHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGV4aXN0aW5nSm9iSWRzLmZvckVhY2goKGlkKSA9PiB0aGlzLnN0b3BMaXN0ZW5Kb2IoaWQsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuY29ubmVjdCgnam9iQ291bnQnLCB0aGlzLmpvYlByb2dyZXNzaW9ucyQucGlwZShtYXAoKGpvYnMpID0+IGpvYnM/Lmxlbmd0aCB8fCAwKSkpO1xuXG4gICAgdGhpcy5jb25uZWN0KFxuICAgICAgJ3Zpc2libGUnLFxuICAgICAgdGhpcy5qb2JDb3VudCQucGlwZShcbiAgICAgICAgbWFwKChqb2JDb3VudCkgPT4gam9iQ291bnQgPiAwKSxcbiAgICAgICAgc3dpdGNoTWFwKChoYXNKb2IpID0+XG4gICAgICAgICAgaGFzSm9iXG4gICAgICAgICAgICA/IG9mKHRydWUpXG4gICAgICAgICAgICA6IG9mKGZhbHNlKS5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLmF1dG9IaWRlKSxcbiAgICAgICAgICAgICAgICBkZWxheSh0aGlzLmF1dG9IaWRlRGVsYXkpLFxuICAgICAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBpZiAodGhpcy5fbGlzdFBvcG92ZXIpIHRoaXMuX2xpc3RQb3BvdmVyLmRpc21pc3MoKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIHN0YXJ0TGlzdGVuSm9iKGlkOiBudW1iZXIsIGpvYj86IEpvYlByb2dyZXNzaW9uKSB7XG4gICAgaWYgKGlzTmlsKHRoaXMuam9iUHJvZ3Jlc3Npb25TZXJ2aWNlKSkge1xuICAgICAgY29uc29sZS53YXJuKGAke3RoaXMuX2xvZ1ByZWZpeH1ObyBzZXJ2aWNlIGluamVjdGVkLiBDYW4ndCBhZGQgYSBqb2JgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGlzTmlsKGlkKSkge1xuICAgICAgY29uc29sZS5lcnJvcihgJHt0aGlzLl9sb2dQcmVmaXh9TWlzc2luZyByZXF1aXJlZCBhcmd1bWVudCAnaWQnLiBDYW5ub3QgbGlzdGVuIGNoYW5nZXMgIWApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgcmVzdWx0ID0gdGhpcy5nZXRQcm9ncmVzc2lvbihpZCk7XG4gICAgaWYgKHJlc3VsdCkge1xuICAgICAgLy9jb25zb2xlLndhcm4oYCR7dGhpcy5fbG9nUHJlZml4fUpvYiAoaWQ9JHtpZH0pIGFscmVhZHkgcHJlc2VudGApO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgaWYgKHRoaXMuZGVidWcpIHtcbiAgICAgIGNvbnNvbGUuZGVidWcoYCR7dGhpcy5fbG9nUHJlZml4fUFkZCBqb2IgaWQ9JHtpZH1gKTtcbiAgICB9XG4gICAgLy8gQWRkaW5nIGVtcHR5IGpvYiBwcm9ncmVzc2lvblxuICAgIHJlc3VsdCA9IG5ldyBCZWhhdmlvclN1YmplY3Qoam9iIHx8IG5ldyBKb2JQcm9ncmVzc2lvbihpZCkpO1xuXG4gICAgdGhpcy5kaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgY29uc3Qgc3ViID0gdGhpcy5qb2JQcm9ncmVzc2lvblNlcnZpY2VcbiAgICAgIC5saXN0ZW5DaGFuZ2VzKGlkKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigocHJvZ3Jlc3Npb24pID0+IHtcbiAgICAgICAgICBpZiAoaWQgIT09IHByb2dyZXNzaW9uLmlkKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGAke3RoaXMuX2xvZ1ByZWZpeH1Kb2IgcHJvZ3Jlc3Npb24gKGlkPSR7cHJvZ3Jlc3Npb24uaWR9KSBkb2Vzbid0IG1hdGNoIGV4cGVjdGVkIGpvYiAoaWQ9JHtpZH0pYCk7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9KSxcbiAgICAgICAgbWFwKChwcm9ncmVzc2lvbikgPT4ge1xuICAgICAgICAgIC8vIHVwZGF0ZSBjdXJyZW50XG4gICAgICAgICAgcmVzdWx0Lm5leHQocHJvZ3Jlc3Npb24pO1xuICAgICAgICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICAgICAgICBjb25zb2xlLmRlYnVnKGAke3RoaXMuX2xvZ1ByZWZpeH1Qcm9ncmVzc2lvbiB1cGRhdGVkIGlkPSR7aWR9YCwgcHJvZ3Jlc3Npb24pO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcHJvZ3Jlc3Npb247XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChwcm9ncmVzc2lvbikgPT4ge1xuICAgICAgICAvLyB1cGRhdGUgdmFsdWVcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSgpO1xuXG4gICAgICAgIC8vIGpvYiBmaW5pc2hlZFxuICAgICAgICBpZiAocHJvZ3Jlc3Npb24udG90YWwgPiAwICYmIHByb2dyZXNzaW9uLmN1cnJlbnQgPT09IHByb2dyZXNzaW9uLnRvdGFsKSB7XG4gICAgICAgICAgaWYgKHRoaXMuZGVidWcpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZGVidWcoYCR7dGhpcy5fbG9nUHJlZml4fUZpbmlzaGVkIGpvYiBpZD0ke3Byb2dyZXNzaW9uLmlkfWApO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBlbWl0IGV2ZW50XG4gICAgICAgICAgdGhpcy5qb2JGaW5pc2hlZC5lbWl0KHByb2dyZXNzaW9uLmlkKTtcbiAgICAgICAgICBpZiAodGhpcy5hdXRvUmVtb3ZlKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5zdG9wTGlzdGVuSm9iKHByb2dyZXNzaW9uLmlkKTtcbiAgICAgICAgICAgIH0sIHRoaXMuYXV0b1JlbW92ZURlbGF5KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uc0J5SWRbaWRdID0gc3ViO1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKHN1Yik7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJvdGVjdGVkIHN0b3BMaXN0ZW5Kb2IoaWQ6IG51bWJlciwgb3B0cz86IHsgZW1pdEV2ZW50PzogYm9vbGVhbiB9KSB7XG4gICAgaWYgKHRoaXMuZGVidWcpIHtcbiAgICAgIGNvbnNvbGUuZGVidWcoYCR7dGhpcy5fbG9nUHJlZml4fVJlbW92ZSBqb2IgaWQ9JHtpZH1gKTtcbiAgICB9XG4gICAgY29uc3Qgc3ViID0gdGhpcy5fc3Vic2NyaXB0aW9uc0J5SWRbaWRdO1xuICAgIGlmIChzdWIpIHtcbiAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMucmVtb3ZlKHN1Yik7XG4gICAgICBzdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgLy8gUmVtb3ZlIGpvYiBmcm9tIHNlcnZpY2VcbiAgICB0aGlzLmpvYlByb2dyZXNzaW9uU2VydmljZS5yZW1vdmVKb2IoaWQpO1xuICAgIGlmICghb3B0cz8uZW1pdEV2ZW50ICE9PSBmYWxzZSkge1xuICAgICAgdGhpcy51cGRhdGVWYWx1ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRQcm9ncmVzc2lvbihpZDogbnVtYmVyKTogQmVoYXZpb3JTdWJqZWN0PEpvYlByb2dyZXNzaW9uPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuam9iUHJvZ3Jlc3Npb25zPy5maW5kKChwcm9ncmVzc2lvbikgPT4gcHJvZ3Jlc3Npb24udmFsdWUuaWQgPT09IGlkKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1cGRhdGVWYWx1ZSgpIHtcbiAgICBpZiAodGhpcy5kZWJ1Zykge1xuICAgICAgY29uc29sZS5kZWJ1ZyhgJHt0aGlzLl9sb2dQcmVmaXh9VXBkYXRpbmcgdmFsdWVgKTtcbiAgICB9XG4gICAgbGV0IHZhbHVlID0gMDtcbiAgICBjb25zdCBuYlByb2dyZXNzaW9uID0gYXJyYXlTaXplKHRoaXMuam9iUHJvZ3Jlc3Npb25zKTtcbiAgICBsZXQgYWxsSW5kZXRlcm1pbmF0ZSA9IG5iUHJvZ3Jlc3Npb24gPiAwO1xuXG4gICAgaWYgKG5iUHJvZ3Jlc3Npb24pIHtcbiAgICAgIHRoaXMuam9iUHJvZ3Jlc3Npb25zXG4gICAgICAgIC5tYXAoKHN1YmplY3QpID0+IHN1YmplY3QudmFsdWUpXG4gICAgICAgIC5mb3JFYWNoKChwcm9ncmVzc2lvbikgPT4ge1xuICAgICAgICAgIGNvbnN0IGluZGV0ZXJtaW5hdGUgPSBwcm9ncmVzc2lvbi50b3RhbCA9PT0gMDtcbiAgICAgICAgICBhbGxJbmRldGVybWluYXRlID0gYWxsSW5kZXRlcm1pbmF0ZSAmJiBpbmRldGVybWluYXRlO1xuICAgICAgICAgIGlmICghaW5kZXRlcm1pbmF0ZSkge1xuICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZSArIChwcm9ncmVzc2lvbi5jdXJyZW50ICogMTAwKSAvIHByb2dyZXNzaW9uLnRvdGFsO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5zZXQoeyBtb2RlOiBhbGxJbmRldGVybWluYXRlID8gJ2luZGV0ZXJtaW5hdGUnIDogJ2RldGVybWluYXRlJywgdmFsdWU6IG5iUHJvZ3Jlc3Npb24gPiAwID8gdmFsdWUgLyBuYlByb2dyZXNzaW9uIDogMCB9KTtcbiAgICBpZiAodGhpcy5kZWJ1Zykge1xuICAgICAgY29uc29sZS5kZWJ1ZyhgJHt0aGlzLl9sb2dQcmVmaXh9U2V0dGluZyB2YWx1ZT0ke3RoaXMuZ2V0KCd2YWx1ZScpfSwgbW9kZT0ke3RoaXMuZ2V0KCdtb2RlJyl9YCk7XG4gICAgfVxuXG4gICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGFzeW5jIHNob3dMaXN0KGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMuX2xpc3RQb3BvdmVyID0gYXdhaXQgdGhpcy5wb3BvdmVyQ29udHJvbGxlci5jcmVhdGUoe1xuICAgICAgY29tcG9uZW50OiBKb2JQcm9ncmVzc2lvbkxpc3QsXG4gICAgICBjb21wb25lbnRQcm9wczogPEpvYlByb2dyZXNzaW9uTGlzdE9wdGlvbnM+e1xuICAgICAgICB0aXRsZUkxOG46IHRoaXMudGl0bGVJMThuLFxuICAgICAgICBqb2JQcm9ncmVzc2lvbnM6IHRoaXMuam9iUHJvZ3Jlc3Npb25zJCxcbiAgICAgICAgaGVhZGVyQWN0aW9uczogdGhpcy5oZWFkZXJBY3Rpb25zLFxuICAgICAgfSxcbiAgICAgIGJhY2tkcm9wRGlzbWlzczogdHJ1ZSxcbiAgICAgIGtleWJvYXJkQ2xvc2U6IHRydWUsXG4gICAgICBldmVudCxcbiAgICAgIHRyYW5zbHVjZW50OiB0cnVlLFxuICAgICAgY3NzQ2xhc3M6ICdwb3BvdmVyLWxhcmdlJyxcbiAgICB9KTtcbiAgICBhd2FpdCB0aGlzLl9saXN0UG9wb3Zlci5wcmVzZW50KCk7XG4gICAgYXdhaXQgdGhpcy5fbGlzdFBvcG92ZXIub25EaWREaXNtaXNzKCk7XG4gICAgdGhpcy5fbGlzdFBvcG92ZXIgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgbWFya0ZvckNoZWNrKCkge1xuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kZWJ1Zykge1xuICAgICAgY29uc29sZS5kZWJ1ZyhgJHt0aGlzLl9sb2dQcmVmaXh9RGVzdHJveWluZ2ApO1xuICAgIH1cbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiIsIjxidXR0b25cbiAgI2J1dHRvblxuICBtYXQtaWNvbi1idXR0b25cbiAgW3RpdGxlXT1cInRpdGxlSTE4biB8IHRyYW5zbGF0ZVwiXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICpyeElmPVwidmlzaWJsZSRcIlxuICAoY2xpY2spPVwic2hvd0xpc3QoJGV2ZW50KVwiXG4+XG4gIDxtYXQtaWNvblxuICAgICpyeExldD1cImpvYkNvdW50JDsgbGV0IGpvYkNvdW50XCJcbiAgICBbbWF0QmFkZ2VdPVwiam9iQ291bnRcIlxuICAgIFttYXRCYWRnZUhpZGRlbl09XCIham9iQ291bnRcIlxuICAgIG1hdEJhZGdlQ29sb3I9XCJhY2NlbnRcIlxuICAgIG1hdEJhZGdlU2l6ZT1cInNtYWxsXCJcbiAgICBtYXRCYWRnZVBvc2l0aW9uPVwiYWJvdmUgYWZ0ZXJcIlxuICAgIGFyaWEtaGlkZGVuPVwiZmFsc2VcIlxuICA+XG4gICAge3sgZGlzYWJsZWQgfHwgam9iQ291bnQgPyAnc2NoZWR1bGUnIDogJ3Rhc2tfYWx0JyB9fVxuICA8L21hdC1pY29uPlxuICA8bWF0LXNwaW5uZXJcbiAgICAjc3Bpbm5lclxuICAgICpyeElmPVwiam9iQ291bnQkXCJcbiAgICBjbGFzcz1cImZsb2F0aW5nLXNwaW5uZXJcIlxuICAgIFtjb2xvcl09XCJjb2xvclwiXG4gICAgW21vZGVdPVwibW9kZSQgfCBwdXNoXCJcbiAgICBbdmFsdWVdPVwidmFsdWUkIHwgcHVzaFwiXG4gICAgZGlhbWV0ZXI9XCIzMFwiXG4gICAgc3Ryb2tlV2lkdGg9XCIzXCJcbiAgPjwvbWF0LXNwaW5uZXI+XG48L2J1dHRvbj5cbiJdfQ==
|
|
235
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLXByb2dyZXNzaW9uLmljb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NvY2lhbC9qb2IvcHJvZ3Jlc3Npb24vam9iLXByb2dyZXNzaW9uLmljb24udHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NvY2lhbC9qb2IvcHJvZ3Jlc3Npb24vam9iLXByb2dyZXNzaW9uLmljb24uaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSwyQkFBMkIsRUFBMEIsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRixPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQTZCLE1BQU0sd0JBQXdCLENBQUM7QUFHdkYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7Ozs7OztBQXlCNUMsTUFBTSxPQUFPLGtCQUFtQixTQUFRLE9BQWdDO0lBMkJUO0lBQ2pEO0lBQ0E7SUE1QkosWUFBWSxDQUF3QjtJQUNwQyxjQUFjLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUNwQyxrQkFBa0IsR0FBNEIsRUFB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a0JBQWtCO2tCQVA5QixTQUFTOytCQUNFLDBCQUEwQixtQkFJbkIsdUJBQXVCLENBQUMsTUFBTTs7MEJBNkI1QyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLDJCQUEyQjt5R0FUeEMsS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBBUFBfSk9CX1BST0dSRVNTSU9OX1NFUlZJQ0UsIElKb2JQcm9ncmVzc2lvblNlcnZpY2UgfSBmcm9tICcuL2pvYi1wcm9ncmVzc2lvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEpvYlByb2dyZXNzaW9uIH0gZnJvbSAnLi9qb2ItcHJvZ3Jlc3Npb24ubW9kZWwnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBkZWxheSwgb2YsIFN1YnNjcmlwdGlvbiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBhcnJheVNpemUsIGlzTmlsLCByZW1vdmUsIHRvQm9vbGVhbiwgdG9OdW1iZXIgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZnVuY3Rpb25zJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQb3BvdmVyQ29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IEpvYlByb2dyZXNzaW9uTGlzdCwgSm9iUHJvZ3Jlc3Npb25MaXN0T3B0aW9ucyB9IGZyb20gJy4vam9iLXByb2dyZXNzaW9uLmxpc3QnO1xuaW1wb3J0IHsgSVVzZXJFdmVudEFjdGlvbiB9IGZyb20gJy4uLy4uL3VzZXItZXZlbnQvdXNlci1ldmVudC5tb2RlbCc7XG5pbXBvcnQgeyBQcm9ncmVzc1NwaW5uZXJNb2RlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5pbXBvcnQgeyBSeFN0YXRlIH0gZnJvbSAnQHJ4LWFuZ3VsYXIvc3RhdGUnO1xuaW1wb3J0IHsgT2JqZWN0TWFwIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBKb2JQcm9ncmVzc2lvbk9wdGlvbnMge1xuICBhdXRvSGlkZTogYm9vbGVhbjtcbiAgYXV0b0hpZGVEZWxheTogbnVtYmVyO1xuICBhdXRvUmVtb3ZlOiBib29sZWFuO1xuICBhdXRvUmVtb3ZlRGVsYXk6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBKb2JQcm9ncmVzc2lvbkljb25TdGF0ZSB7XG4gIHZpc2libGU6IGJvb2xlYW47XG4gIG1vZGU6IFByb2dyZXNzU3Bpbm5lck1vZGU7XG4gIHZhbHVlOiBudW1iZXI7XG4gIGpvYlByb2dyZXNzaW9uczogQmVoYXZpb3JTdWJqZWN0PEpvYlByb2dyZXNzaW9uPltdO1xuICBqb2JDb3VudDogbnVtYmVyO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtam9iLXByb2dyZXNzaW9uLWljb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vam9iLXByb2dyZXNzaW9uLmljb24uaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2pvYi1wcm9ncmVzc2lvbi5pY29uLnNjc3MnXSxcbiAgLy8gcHJvdmlkZXJzOiBbUnhTdGF0ZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBKb2JQcm9ncmVzc2lvbkljb24gZXh0ZW5kcyBSeFN0YXRlPEpvYlByb2dyZXNzaW9uSWNvblN0YXRlPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfbGlzdFBvcG92ZXI6IEhUTUxJb25Qb3BvdmVyRWxlbWVudDtcbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uc0J5SWQ6IE9iamVjdE1hcDxTdWJzY3JpcHRpb24+ID0ge307XG4gIHByaXZhdGUgX2xvZ1ByZWZpeCA9ICdbam9iLXByb2dyZXNzaW9uXSAnO1xuXG4gIHByb3RlY3RlZCBkaXNhYmxlZCA9IHRydWU7XG4gIHByb3RlY3RlZCBjb2xvcjogVGhlbWVQYWxldHRlID0gJ2FjY2VudCc7XG4gIHByb3RlY3RlZCBqb2JQcm9ncmVzc2lvbnMkID0gdGhpcy5zZWxlY3QoJ2pvYlByb2dyZXNzaW9ucycpO1xuICBwcm90ZWN0ZWQgam9iQ291bnQkID0gdGhpcy5zZWxlY3QoJ2pvYkNvdW50Jyk7XG4gIHByb3RlY3RlZCB2aXNpYmxlJCA9IHRoaXMuc2VsZWN0KCd2aXNpYmxlJyk7XG4gIHByb3RlY3RlZCBtb2RlJCA9IHRoaXMuc2VsZWN0KCdtb2RlJyk7XG4gIHByb3RlY3RlZCB2YWx1ZSQgPSB0aGlzLnNlbGVjdCgndmFsdWUnKTtcblxuICBwcm90ZWN0ZWQgYXV0b0hpZGVEZWxheTogbnVtYmVyO1xuICBwcm90ZWN0ZWQgYXV0b1JlbW92ZTogYm9vbGVhbjtcbiAgcHJvdGVjdGVkIGF1dG9SZW1vdmVEZWxheTogbnVtYmVyO1xuXG4gIEBJbnB1dCgpIGRlYnVnID0gZmFsc2U7XG4gIEBJbnB1dCgpIHRpdGxlSTE4biA9ICdTT0NJQUwuSk9CLlBST0dSRVNTSU9OLlRJVExFJztcbiAgQElucHV0KCkgb3B0aW9uczogSm9iUHJvZ3Jlc3Npb25PcHRpb25zO1xuICBASW5wdXQoKSBhdXRvSGlkZTogYm9vbGVhbjtcbiAgQElucHV0KCkgaGVhZGVyQWN0aW9uczogSVVzZXJFdmVudEFjdGlvbltdO1xuXG4gIEBPdXRwdXQoKSBqb2JGaW5pc2hlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQVBQX0pPQl9QUk9HUkVTU0lPTl9TRVJWSUNFKSBwcm90ZWN0ZWQgam9iUHJvZ3Jlc3Npb25TZXJ2aWNlOiBJSm9iUHJvZ3Jlc3Npb25TZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBwb3BvdmVyQ29udHJvbGxlcjogUG9wb3ZlckNvbnRyb2xsZXIsXG4gICAgcHJvdGVjdGVkIGNkOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgZ2V0IGpvYlByb2dyZXNzaW9ucygpOiBCZWhhdmlvclN1YmplY3Q8Sm9iUHJvZ3Jlc3Npb24+W10ge1xuICAgIHJldHVybiB0aGlzLmdldCgnam9iUHJvZ3Jlc3Npb25zJyk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoaXNOaWwodGhpcy5qb2JQcm9ncmVzc2lvblNlcnZpY2UpKSB7XG4gICAgICBjb25zb2xlLndhcm4oYCR7dGhpcy5fbG9nUHJlZml4fU5vIHNlcnZpY2UgaW5qZWN0ZWRgKTtcbiAgICB9XG4gICAgLy8gcGFyc2Ugb3B0aW9uc1xuICAgIHRoaXMuYXV0b0hpZGUgPSB0b0Jvb2xlYW4odGhpcy5hdXRvSGlkZSwgdGhpcy5vcHRpb25zPy5hdXRvSGlkZSB8fCBmYWxzZSk7XG4gICAgdGhpcy5zZXQoeyB2aXNpYmxlOiAhdGhpcy5hdXRvSGlkZSwgbW9kZTogJ2RldGVybWluYXRlJywgdmFsdWU6IDAgfSk7XG4gICAgdGhpcy5hdXRvSGlkZURlbGF5ID0gdG9OdW1iZXIodGhpcy5vcHRpb25zPy5hdXRvSGlkZURlbGF5LCAxMDAwKTtcbiAgICB0aGlzLmF1dG9SZW1vdmUgPSB0b0Jvb2xlYW4odGhpcy5vcHRpb25zPy5hdXRvUmVtb3ZlLCB0cnVlKTtcbiAgICB0aGlzLmF1dG9SZW1vdmVEZWxheSA9IHRvTnVtYmVyKHRoaXMub3B0aW9ucz8uYXV0b1JlbW92ZURlbGF5LCAxMDAwKTtcblxuICAgIGlmICh0aGlzLmpvYlByb2dyZXNzaW9uU2VydmljZSkge1xuICAgICAgdGhpcy5jb25uZWN0KCdqb2JQcm9ncmVzc2lvbnMnLCB0aGlzLmpvYlByb2dyZXNzaW9uU2VydmljZS53YXRjaEFsbCgpLCAoc3RhdGUsIGl0ZW1zKSA9PiB7XG4gICAgICAgIGNvbnN0IGV4aXN0aW5nSm9iSWRzID0gc3RhdGUuam9iUHJvZ3Jlc3Npb25zPy5tYXAoKGpvYikgPT4gam9iLnZhbHVlLmlkKSB8fCBbXTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gKGl0ZW1zIHx8IFtdKS5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICByZW1vdmUoZXhpc3RpbmdKb2JJZHMsIChpZCkgPT4gaWQgPT09IGl0ZW0uaWQpO1xuICAgICAgICAgIC8vIEFkZCBqb2IgdG8gbGlzdGVuXG4gICAgICAgICAgcmV0dXJuIHRoaXMuc3RhcnRMaXN0ZW5Kb2IoaXRlbS5pZCwgaXRlbSk7XG4gICAgICAgIH0pO1xuICAgICAgICAvLyBSZW1vdmUgb2xkIGpvYnNcbiAgICAgICAgaWYgKGV4aXN0aW5nSm9iSWRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBleGlzdGluZ0pvYklkcy5mb3JFYWNoKChpZCkgPT4gdGhpcy5zdG9wTGlzdGVuSm9iKGlkLCB7IGVtaXRFdmVudDogZmFsc2UgfSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbm5lY3QoJ2pvYkNvdW50JywgdGhpcy5qb2JQcm9ncmVzc2lvbnMkLnBpcGUobWFwKChqb2JzKSA9PiBqb2JzPy5sZW5ndGggfHwgMCkpKTtcblxuICAgIHRoaXMuY29ubmVjdChcbiAgICAgICd2aXNpYmxlJyxcbiAgICAgIHRoaXMuam9iQ291bnQkLnBpcGUoXG4gICAgICAgIG1hcCgoam9iQ291bnQpID0+IGpvYkNvdW50ID4gMCksXG4gICAgICAgIHN3aXRjaE1hcCgoaGFzSm9iKSA9PlxuICAgICAgICAgIGhhc0pvYlxuICAgICAgICAgICAgPyBvZih0cnVlKVxuICAgICAgICAgICAgOiBvZihmYWxzZSkucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5hdXRvSGlkZSksXG4gICAgICAgICAgICAgICAgZGVsYXkodGhpcy5hdXRvSGlkZURlbGF5KSxcbiAgICAgICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2xpc3RQb3BvdmVyKSB0aGlzLl9saXN0UG9wb3Zlci5kaXNtaXNzKCk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgKVxuICAgICAgICApXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzdGFydExpc3RlbkpvYihpZDogbnVtYmVyLCBqb2I/OiBKb2JQcm9ncmVzc2lvbikge1xuICAgIGlmIChpc05pbCh0aGlzLmpvYlByb2dyZXNzaW9uU2VydmljZSkpIHtcbiAgICAgIGNvbnNvbGUud2FybihgJHt0aGlzLl9sb2dQcmVmaXh9Tm8gc2VydmljZSBpbmplY3RlZC4gQ2FuJ3QgYWRkIGEgam9iYCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChpc05pbChpZCkpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYCR7dGhpcy5fbG9nUHJlZml4fU1pc3NpbmcgcmVxdWlyZWQgYXJndW1lbnQgJ2lkJy4gQ2Fubm90IGxpc3RlbiBjaGFuZ2VzICFgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IHJlc3VsdCA9IHRoaXMuZ2V0UHJvZ3Jlc3Npb24oaWQpO1xuICAgIGlmIChyZXN1bHQpIHtcbiAgICAgIC8vY29uc29sZS53YXJuKGAke3RoaXMuX2xvZ1ByZWZpeH1Kb2IgKGlkPSR7aWR9KSBhbHJlYWR5IHByZXNlbnRgKTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICBjb25zb2xlLmRlYnVnKGAke3RoaXMuX2xvZ1ByZWZpeH1BZGQgam9iIGlkPSR7aWR9YCk7XG4gICAgfVxuICAgIC8vIEFkZGluZyBlbXB0eSBqb2IgcHJvZ3Jlc3Npb25cbiAgICByZXN1bHQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGpvYiB8fCBuZXcgSm9iUHJvZ3Jlc3Npb24oaWQpKTtcblxuICAgIHRoaXMuZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IHN1YiA9IHRoaXMuam9iUHJvZ3Jlc3Npb25TZXJ2aWNlXG4gICAgICAubGlzdGVuQ2hhbmdlcyhpZClcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKHByb2dyZXNzaW9uKSA9PiB7XG4gICAgICAgICAgaWYgKGlkICE9PSBwcm9ncmVzc2lvbi5pZCkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgJHt0aGlzLl9sb2dQcmVmaXh9Sm9iIHByb2dyZXNzaW9uIChpZD0ke3Byb2dyZXNzaW9uLmlkfSkgZG9lc24ndCBtYXRjaCBleHBlY3RlZCBqb2IgKGlkPSR7aWR9KWApO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSksXG4gICAgICAgIG1hcCgocHJvZ3Jlc3Npb24pID0+IHtcbiAgICAgICAgICAvLyB1cGRhdGUgY3VycmVudFxuICAgICAgICAgIHJlc3VsdC5uZXh0KHByb2dyZXNzaW9uKTtcbiAgICAgICAgICBpZiAodGhpcy5kZWJ1Zykge1xuICAgICAgICAgICAgY29uc29sZS5kZWJ1ZyhgJHt0aGlzLl9sb2dQcmVmaXh9UHJvZ3Jlc3Npb24gdXBkYXRlZCBpZD0ke2lkfWAsIHByb2dyZXNzaW9uKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHByb2dyZXNzaW9uO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgocHJvZ3Jlc3Npb24pID0+IHtcbiAgICAgICAgLy8gdXBkYXRlIHZhbHVlXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoKTtcblxuICAgICAgICAvLyBqb2IgZmluaXNoZWRcbiAgICAgICAgaWYgKHByb2dyZXNzaW9uLnRvdGFsID4gMCAmJiBwcm9ncmVzc2lvbi5jdXJyZW50ID09PSBwcm9ncmVzc2lvbi50b3RhbCkge1xuICAgICAgICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICAgICAgICBjb25zb2xlLmRlYnVnKGAke3RoaXMuX2xvZ1ByZWZpeH1GaW5pc2hlZCBqb2IgaWQ9JHtwcm9ncmVzc2lvbi5pZH1gKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gZW1pdCBldmVudFxuICAgICAgICAgIHRoaXMuam9iRmluaXNoZWQuZW1pdChwcm9ncmVzc2lvbi5pZCk7XG4gICAgICAgICAgaWYgKHRoaXMuYXV0b1JlbW92ZSkge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuc3RvcExpc3RlbkpvYihwcm9ncmVzc2lvbi5pZCk7XG4gICAgICAgICAgICB9LCB0aGlzLmF1dG9SZW1vdmVEZWxheSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnNCeUlkW2lkXSA9IHN1YjtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChzdWIpO1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByb3RlY3RlZCBzdG9wTGlzdGVuSm9iKGlkOiBudW1iZXIsIG9wdHM/OiB7IGVtaXRFdmVudD86IGJvb2xlYW4gfSkge1xuICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICBjb25zb2xlLmRlYnVnKGAke3RoaXMuX2xvZ1ByZWZpeH1SZW1vdmUgam9iIGlkPSR7aWR9YCk7XG4gICAgfVxuICAgIGNvbnN0IHN1YiA9IHRoaXMuX3N1YnNjcmlwdGlvbnNCeUlkW2lkXTtcbiAgICBpZiAoc3ViKSB7XG4gICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnJlbW92ZShzdWIpO1xuICAgICAgc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIC8vIFJlbW92ZSBqb2IgZnJvbSBzZXJ2aWNlXG4gICAgdGhpcy5qb2JQcm9ncmVzc2lvblNlcnZpY2UucmVtb3ZlSm9iKGlkKTtcbiAgICBpZiAoIW9wdHM/LmVtaXRFdmVudCAhPT0gZmFsc2UpIHtcbiAgICAgIHRoaXMudXBkYXRlVmFsdWUoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0UHJvZ3Jlc3Npb24oaWQ6IG51bWJlcik6IEJlaGF2aW9yU3ViamVjdDxKb2JQcm9ncmVzc2lvbj4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmpvYlByb2dyZXNzaW9ucz8uZmluZCgocHJvZ3Jlc3Npb24pID0+IHByb2dyZXNzaW9uLnZhbHVlLmlkID09PSBpZCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdXBkYXRlVmFsdWUoKSB7XG4gICAgaWYgKHRoaXMuZGVidWcpIHtcbiAgICAgIGNvbnNvbGUuZGVidWcoYCR7dGhpcy5fbG9nUHJlZml4fVVwZGF0aW5nIHZhbHVlYCk7XG4gICAgfVxuICAgIGxldCB2YWx1ZSA9IDA7XG4gICAgY29uc3QgbmJQcm9ncmVzc2lvbiA9IGFycmF5U2l6ZSh0aGlzLmpvYlByb2dyZXNzaW9ucyk7XG4gICAgbGV0IGFsbEluZGV0ZXJtaW5hdGUgPSBuYlByb2dyZXNzaW9uID4gMDtcblxuICAgIGlmIChuYlByb2dyZXNzaW9uKSB7XG4gICAgICB0aGlzLmpvYlByb2dyZXNzaW9uc1xuICAgICAgICAubWFwKChzdWJqZWN0KSA9PiBzdWJqZWN0LnZhbHVlKVxuICAgICAgICAuZm9yRWFjaCgocHJvZ3Jlc3Npb24pID0+IHtcbiAgICAgICAgICBjb25zdCBpbmRldGVybWluYXRlID0gcHJvZ3Jlc3Npb24udG90YWwgPT09IDA7XG4gICAgICAgICAgYWxsSW5kZXRlcm1pbmF0ZSA9IGFsbEluZGV0ZXJtaW5hdGUgJiYgaW5kZXRlcm1pbmF0ZTtcbiAgICAgICAgICBpZiAoIWluZGV0ZXJtaW5hdGUpIHtcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWUgKyAocHJvZ3Jlc3Npb24uY3VycmVudCAqIDEwMCkgLyBwcm9ncmVzc2lvbi50b3RhbDtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuc2V0KHsgbW9kZTogYWxsSW5kZXRlcm1pbmF0ZSA/ICdpbmRldGVybWluYXRlJyA6ICdkZXRlcm1pbmF0ZScsIHZhbHVlOiBuYlByb2dyZXNzaW9uID4gMCA/IHZhbHVlIC8gbmJQcm9ncmVzc2lvbiA6IDAgfSk7XG4gICAgaWYgKHRoaXMuZGVidWcpIHtcbiAgICAgIGNvbnNvbGUuZGVidWcoYCR7dGhpcy5fbG9nUHJlZml4fVNldHRpbmcgdmFsdWU9JHt0aGlzLmdldCgndmFsdWUnKX0sIG1vZGU9JHt0aGlzLmdldCgnbW9kZScpfWApO1xuICAgIH1cblxuICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBhc3luYyBzaG93TGlzdChldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLl9saXN0UG9wb3ZlciA9IGF3YWl0IHRoaXMucG9wb3ZlckNvbnRyb2xsZXIuY3JlYXRlKHtcbiAgICAgIGNvbXBvbmVudDogSm9iUHJvZ3Jlc3Npb25MaXN0LFxuICAgICAgY29tcG9uZW50UHJvcHM6IDxKb2JQcm9ncmVzc2lvbkxpc3RPcHRpb25zPntcbiAgICAgICAgdGl0bGVJMThuOiB0aGlzLnRpdGxlSTE4bixcbiAgICAgICAgam9iUHJvZ3Jlc3Npb25zOiB0aGlzLmpvYlByb2dyZXNzaW9ucyQsXG4gICAgICAgIGhlYWRlckFjdGlvbnM6IHRoaXMuaGVhZGVyQWN0aW9ucyxcbiAgICAgIH0sXG4gICAgICBiYWNrZHJvcERpc21pc3M6IHRydWUsXG4gICAgICBrZXlib2FyZENsb3NlOiB0cnVlLFxuICAgICAgZXZlbnQsXG4gICAgICB0cmFuc2x1Y2VudDogdHJ1ZSxcbiAgICAgIGNzc0NsYXNzOiAncG9wb3Zlci1sYXJnZScsXG4gICAgfSk7XG4gICAgYXdhaXQgdGhpcy5fbGlzdFBvcG92ZXIucHJlc2VudCgpO1xuICAgIGF3YWl0IHRoaXMuX2xpc3RQb3BvdmVyLm9uRGlkRGlzbWlzcygpO1xuICAgIHRoaXMuX2xpc3RQb3BvdmVyID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJvdGVjdGVkIG1hcmtGb3JDaGVjaygpIHtcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGVidWcpIHtcbiAgICAgIGNvbnNvbGUuZGVidWcoYCR7dGhpcy5fbG9nUHJlZml4fURlc3Ryb3lpbmdgKTtcbiAgICB9XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCJAbGV0IGNvdW50ID0gKGpvYkNvdW50JCB8IGFzeW5jKTtcbkBpZiAodmlzaWJsZSQgfCBhc3luYykge1xuICA8YnV0dG9uXG4gICAgI2J1dHRvblxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIFt0aXRsZV09XCJ0aXRsZUkxOG4gfCB0cmFuc2xhdGVcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgKGNsaWNrKT1cInNob3dMaXN0KCRldmVudClcIlxuICA+XG4gICAgPG1hdC1pY29uXG4gICAgICBbbWF0QmFkZ2VdPVwiY291bnQgfCBiYWRnZU51bWJlclwiXG4gICAgICBbbWF0QmFkZ2VIaWRkZW5dPVwiIWNvdW50XCJcbiAgICAgIG1hdEJhZGdlQ29sb3I9XCJhY2NlbnRcIlxuICAgICAgbWF0QmFkZ2VTaXplPVwic21hbGxcIlxuICAgICAgbWF0QmFkZ2VQb3NpdGlvbj1cImFib3ZlIGFmdGVyXCJcbiAgICAgIGFyaWEtaGlkZGVuPVwiZmFsc2VcIlxuICAgID5cbiAgICAgIHt7IGRpc2FibGVkIHx8IGNvdW50ID8gJ3NjaGVkdWxlJyA6ICd0YXNrX2FsdCcgfX1cbiAgICA8L21hdC1pY29uPlxuICAgIEBpZiAoY291bnQpIHtcbiAgICAgIDxtYXQtc3Bpbm5lclxuICAgICAgICAjc3Bpbm5lclxuICAgICAgICBjbGFzcz1cImZsb2F0aW5nLXNwaW5uZXJcIlxuICAgICAgICBbY29sb3JdPVwiY29sb3JcIlxuICAgICAgICBbbW9kZV09XCJtb2RlJCB8IHB1c2hcIlxuICAgICAgICBbdmFsdWVdPVwidmFsdWUkIHwgcHVzaFwiXG4gICAgICAgIGRpYW1ldGVyPVwiMzBcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjNcIlxuICAgICAgPjwvbWF0LXNwaW5uZXI+XG4gICAgfVxuICA8L2J1dHRvbj5cbn1cbiJdfQ==
|
|
@@ -1,67 +1,85 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, Optional } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, Optional, Output, } from '@angular/core';
|
|
2
2
|
import { of } from 'rxjs';
|
|
3
3
|
import { APP_USER_EVENT_SERVICE } from '../user-event.service';
|
|
4
4
|
import { UserEventNotificationList } from './user-event-notification.list';
|
|
5
5
|
import { map, tap } from 'rxjs/operators';
|
|
6
6
|
import { isNil, toBoolean } from '../../../shared/functions';
|
|
7
|
+
import { UserEventNotificationModal } from './user-event-notification.modal';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
import * as i1 from "../../../core/services/account.service";
|
|
9
10
|
import * as i2 from "@ionic/angular";
|
|
10
|
-
import * as i3 from "
|
|
11
|
+
import * as i3 from "../../../core/services/local-settings.service";
|
|
11
12
|
import * as i4 from "@angular/material/icon";
|
|
12
13
|
import * as i5 from "@angular/material/button";
|
|
13
14
|
import * as i6 from "@angular/material/badge";
|
|
14
|
-
import * as i7 from "@
|
|
15
|
+
import * as i7 from "@angular/common";
|
|
16
|
+
import * as i8 from "@ngx-translate/core";
|
|
17
|
+
import * as i9 from "../../../shared/pipes/colors.pipe";
|
|
18
|
+
import * as i10 from "../../../shared/pipes/badge.pipes";
|
|
15
19
|
export class UserEventNotificationIcon {
|
|
16
20
|
userEventService;
|
|
17
21
|
accountService;
|
|
18
22
|
popoverController;
|
|
23
|
+
modalController;
|
|
24
|
+
settings;
|
|
19
25
|
cd;
|
|
20
26
|
_logPrefix = '[user-event-notification] ';
|
|
21
27
|
_readEvent = new EventEmitter();
|
|
22
28
|
_readEvents = new EventEmitter();
|
|
23
|
-
|
|
29
|
+
visible;
|
|
30
|
+
count$;
|
|
24
31
|
titleI18n = 'SOCIAL.USER_EVENT.NOTIFICATION.TITLE';
|
|
25
32
|
disabled = false;
|
|
26
33
|
filter = null;
|
|
27
34
|
autoHide = false;
|
|
28
35
|
headerActions;
|
|
29
36
|
footerActions;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
37
|
+
style = 'mat-button';
|
|
38
|
+
color;
|
|
39
|
+
unreadColor;
|
|
40
|
+
fill;
|
|
41
|
+
mobile;
|
|
42
|
+
listStyle;
|
|
43
|
+
debug = false;
|
|
44
|
+
onShowList = new EventEmitter();
|
|
45
|
+
constructor(userEventService, accountService, popoverController, modalController, settings, cd) {
|
|
33
46
|
this.userEventService = userEventService;
|
|
34
47
|
this.accountService = accountService;
|
|
35
48
|
this.popoverController = popoverController;
|
|
49
|
+
this.modalController = modalController;
|
|
50
|
+
this.settings = settings;
|
|
36
51
|
this.cd = cd;
|
|
37
|
-
this.
|
|
52
|
+
this.mobile = settings.mobile;
|
|
53
|
+
this.listStyle = this.mobile ? 'modal' : 'popover';
|
|
54
|
+
this.count$ = !this.userEventService
|
|
38
55
|
? of()
|
|
39
56
|
: this.userEventService.countSubject.pipe(tap((value) => {
|
|
40
57
|
const visible = !this.autoHide || value > 0;
|
|
41
58
|
this.setVisible(visible);
|
|
42
|
-
}), map((value) => (value === 0 ? undefined : value))
|
|
43
|
-
// FIXME: enable if zone lesse in timer
|
|
44
|
-
//tap(_ => this.cd.detectChanges())
|
|
45
|
-
);
|
|
59
|
+
}), map((value) => (value === 0 ? undefined : value)));
|
|
46
60
|
}
|
|
47
61
|
async ngOnInit() {
|
|
62
|
+
// Service is missing: fallback
|
|
48
63
|
if (isNil(this.userEventService)) {
|
|
49
64
|
console.warn(`${this._logPrefix}No service injected`);
|
|
50
65
|
this.disabled = true;
|
|
51
66
|
this.setVisible(false);
|
|
52
67
|
return;
|
|
53
68
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
//
|
|
60
|
-
this.
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
69
|
+
// User event service exists
|
|
70
|
+
else {
|
|
71
|
+
this.setVisible(toBoolean(this.visible, !this.autoHide));
|
|
72
|
+
// Wait service
|
|
73
|
+
await this.userEventService.ready();
|
|
74
|
+
// Subscribe to read event
|
|
75
|
+
this._readEvent.subscribe((item) => {
|
|
76
|
+
// default: mark event as read
|
|
77
|
+
this.userEventService.markAllAsRead([item]);
|
|
78
|
+
});
|
|
79
|
+
this._readEvents.subscribe((items) => {
|
|
80
|
+
this.userEventService.markAllAsRead(items);
|
|
81
|
+
});
|
|
82
|
+
}
|
|
65
83
|
}
|
|
66
84
|
ngOnDestroy() {
|
|
67
85
|
if (this.debug) {
|
|
@@ -70,27 +88,54 @@ export class UserEventNotificationIcon {
|
|
|
70
88
|
this._readEvent.complete();
|
|
71
89
|
this._readEvents.complete();
|
|
72
90
|
}
|
|
73
|
-
async showList(event) {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
91
|
+
async showList(event = undefined, options) {
|
|
92
|
+
if (this.onShowList.observed) {
|
|
93
|
+
this.onShowList.emit(event);
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
// Reset count (if not auto hide. else it will be hidden bellow)
|
|
97
|
+
if (!this.autoHide) {
|
|
98
|
+
this.userEventService.resetCount();
|
|
99
|
+
}
|
|
100
|
+
options = {
|
|
101
|
+
debug: this.debug,
|
|
102
|
+
titleI18n: this.titleI18n,
|
|
103
|
+
readEvent: this._readEvent,
|
|
104
|
+
readEvents: this._readEvents,
|
|
105
|
+
filter: this.filter,
|
|
106
|
+
headerActions: this.headerActions,
|
|
107
|
+
footerActions: this.footerActions,
|
|
108
|
+
...options,
|
|
109
|
+
};
|
|
110
|
+
// Open using modal
|
|
111
|
+
const listStyle = options?.style || this.listStyle;
|
|
112
|
+
if (listStyle === 'modal') {
|
|
113
|
+
const modal = await this.modalController.create({
|
|
114
|
+
component: UserEventNotificationModal,
|
|
115
|
+
componentProps: options,
|
|
116
|
+
backdropDismiss: true,
|
|
117
|
+
keyboardClose: true,
|
|
118
|
+
cssClass: 'modal-notifications',
|
|
119
|
+
});
|
|
120
|
+
await modal.present();
|
|
121
|
+
}
|
|
122
|
+
// Open using popover
|
|
123
|
+
else {
|
|
124
|
+
const popover = await this.popoverController.create({
|
|
125
|
+
component: UserEventNotificationList,
|
|
126
|
+
componentProps: options,
|
|
127
|
+
backdropDismiss: true,
|
|
128
|
+
keyboardClose: true,
|
|
129
|
+
event,
|
|
130
|
+
translucent: true,
|
|
131
|
+
cssClass: 'popover-large popover-notifications',
|
|
132
|
+
});
|
|
133
|
+
await popover.present();
|
|
134
|
+
}
|
|
135
|
+
// Reset count (if auto hide - after list has been opened)
|
|
136
|
+
if (this.autoHide) {
|
|
137
|
+
this.userEventService.resetCount();
|
|
138
|
+
}
|
|
94
139
|
}
|
|
95
140
|
setVisible(value) {
|
|
96
141
|
if (this.visible !== value) {
|
|
@@ -98,20 +143,18 @@ export class UserEventNotificationIcon {
|
|
|
98
143
|
this.cd.markForCheck();
|
|
99
144
|
}
|
|
100
145
|
}
|
|
101
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserEventNotificationIcon, deps: [{ token: APP_USER_EVENT_SERVICE, optional: true }, { token: i1.AccountService }, { token: i2.PopoverController }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
102
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
146
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserEventNotificationIcon, deps: [{ token: APP_USER_EVENT_SERVICE, optional: true }, { token: i1.AccountService }, { token: i2.PopoverController }, { token: i2.ModalController }, { token: i3.LocalSettingsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
147
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: UserEventNotificationIcon, selector: "app-user-event-notification-icon", inputs: { titleI18n: "titleI18n", disabled: "disabled", filter: "filter", autoHide: "autoHide", headerActions: "headerActions", footerActions: "footerActions", style: "style", color: "color", unreadColor: "unreadColor", fill: "fill", mobile: "mobile", listStyle: "listStyle", debug: "debug" }, outputs: { onShowList: "showList" }, ngImport: i0, template: "@let count = (count$ | async);\n@if (visible) {\n @switch (style) {\n <!-- mat icon button (e.g. for home toolbar) -->\n @case ('mat-button') {\n <button\n mat-icon-button\n [color]=\"(count && unreadColor || color) | matColor\"\n [title]=\"titleI18n | translate\"\n [disabled]=\"disabled\"\n (click)=\"showList($event)\"\n >\n <mat-icon\n [matBadge]=\"count | badgeNumber\"\n [matBadgeHidden]=\"!count\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\"\n matBadgePosition=\"above after\"\n aria-hidden=\"false\"\n >\n notifications\n </mat-icon>\n </button>\n }\n\n <!-- ion button (e.g. for home toolbar) -->\n @case ('ion-button') {\n <ion-button\n [fill]=\"fill\"\n [color]=\"count && unreadColor || color\"\n [title]=\"titleI18n | translate\"\n [disabled]=\"disabled\"\n (click)=\"showList($event)\"\n >\n <mat-icon\n slot=\"icon-only\"\n [matBadge]=\"count | badgeNumber\"\n [matBadgeHidden]=\"!count\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\"\n matBadgePosition=\"above after\"\n aria-hidden=\"false\"\n >\n notifications\n </mat-icon>\n </ion-button>\n }\n }\n}\n", styles: ["ion-button{--overflow: visible}\n"], dependencies: [{ kind: "component", type: i2.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i6.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }, { kind: "pipe", type: i9.MatColorPipe, name: "matColor" }, { kind: "pipe", type: i10.BadgeNumberPipe, name: "badgeNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
103
148
|
}
|
|
104
149
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserEventNotificationIcon, decorators: [{
|
|
105
150
|
type: Component,
|
|
106
|
-
args: [{ selector: 'app-user-event-notification-icon', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n
|
|
151
|
+
args: [{ selector: 'app-user-event-notification-icon', changeDetection: ChangeDetectionStrategy.OnPush, template: "@let count = (count$ | async);\n@if (visible) {\n @switch (style) {\n <!-- mat icon button (e.g. for home toolbar) -->\n @case ('mat-button') {\n <button\n mat-icon-button\n [color]=\"(count && unreadColor || color) | matColor\"\n [title]=\"titleI18n | translate\"\n [disabled]=\"disabled\"\n (click)=\"showList($event)\"\n >\n <mat-icon\n [matBadge]=\"count | badgeNumber\"\n [matBadgeHidden]=\"!count\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\"\n matBadgePosition=\"above after\"\n aria-hidden=\"false\"\n >\n notifications\n </mat-icon>\n </button>\n }\n\n <!-- ion button (e.g. for home toolbar) -->\n @case ('ion-button') {\n <ion-button\n [fill]=\"fill\"\n [color]=\"count && unreadColor || color\"\n [title]=\"titleI18n | translate\"\n [disabled]=\"disabled\"\n (click)=\"showList($event)\"\n >\n <mat-icon\n slot=\"icon-only\"\n [matBadge]=\"count | badgeNumber\"\n [matBadgeHidden]=\"!count\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\"\n matBadgePosition=\"above after\"\n aria-hidden=\"false\"\n >\n notifications\n </mat-icon>\n </ion-button>\n }\n }\n}\n", styles: ["ion-button{--overflow: visible}\n"] }]
|
|
107
152
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
108
153
|
type: Optional
|
|
109
154
|
}, {
|
|
110
155
|
type: Inject,
|
|
111
156
|
args: [APP_USER_EVENT_SERVICE]
|
|
112
|
-
}] }, { type: i1.AccountService }, { type: i2.PopoverController }, { type: i0.ChangeDetectorRef }], propDecorators: {
|
|
113
|
-
type: Input
|
|
114
|
-
}], titleI18n: [{
|
|
157
|
+
}] }, { type: i1.AccountService }, { type: i2.PopoverController }, { type: i2.ModalController }, { type: i3.LocalSettingsService }, { type: i0.ChangeDetectorRef }], propDecorators: { titleI18n: [{
|
|
115
158
|
type: Input
|
|
116
159
|
}], disabled: [{
|
|
117
160
|
type: Input
|
|
@@ -123,5 +166,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
123
166
|
type: Input
|
|
124
167
|
}], footerActions: [{
|
|
125
168
|
type: Input
|
|
169
|
+
}], style: [{
|
|
170
|
+
type: Input
|
|
171
|
+
}], color: [{
|
|
172
|
+
type: Input
|
|
173
|
+
}], unreadColor: [{
|
|
174
|
+
type: Input
|
|
175
|
+
}], fill: [{
|
|
176
|
+
type: Input
|
|
177
|
+
}], mobile: [{
|
|
178
|
+
type: Input
|
|
179
|
+
}], listStyle: [{
|
|
180
|
+
type: Input
|
|
181
|
+
}], debug: [{
|
|
182
|
+
type: Input
|
|
183
|
+
}], onShowList: [{
|
|
184
|
+
type: Output,
|
|
185
|
+
args: ['showList']
|
|
126
186
|
}] } });
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1ldmVudC1ub3RpZmljYXRpb24uaWNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc29jaWFsL3VzZXItZXZlbnQvbm90aWZpY2F0aW9uL3VzZXItZXZlbnQtbm90aWZpY2F0aW9uLmljb24udHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NvY2lhbC91c2VyLWV2ZW50L25vdGlmaWNhdGlvbi91c2VyLWV2ZW50LW5vdGlmaWNhdGlvbi5pY29uLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSixPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXRDLE9BQU8sRUFBRSxzQkFBc0IsRUFBcUIsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRixPQUFPLEVBQUUseUJBQXlCLEVBQW9DLE1BQU0sZ0NBQWdDLENBQUM7QUFHN0csT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7QUFPN0QsTUFBTSxPQUFPLHlCQUF5QjtJQWlCaUI7SUFDekM7SUFDQTtJQUNGO0lBbkJGLFVBQVUsR0FBRyw0QkFBNEIsQ0FBQztJQUMxQyxVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7SUFDakQsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFxQixDQUFDO0lBRW5ELEtBQUssR0FBRyxLQUFLLENBQUM7SUFDZCxTQUFTLEdBQUcsc0NBQXNDLENBQUM7SUFDbkQsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixNQUFNLEdBQVEsSUFBSSxDQUFDO0lBQ25CLFFBQVEs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YW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUG9wb3ZlckNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBBUFBfVVNFUl9FVkVOVF9TRVJWSUNFLCBJVXNlckV2ZW50U2VydmljZSB9IGZyb20gJy4uL3VzZXItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyRXZlbnROb3RpZmljYXRpb25MaXN0LCBVc2VyRXZlbnROb3RpZmljYXRpb25MaXN0T3B0aW9ucyB9IGZyb20gJy4vdXNlci1ldmVudC1ub3RpZmljYXRpb24ubGlzdCc7XG5pbXBvcnQgeyBJVXNlckV2ZW50LCBJVXNlckV2ZW50QWN0aW9uLCBJVXNlckV2ZW50RmlsdGVyIH0gZnJvbSAnLi4vdXNlci1ldmVudC5tb2RlbCc7XG5pbXBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvYWNjb3VudC5zZXJ2aWNlJztcbmltcG9ydCB7IG1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgaXNOaWwsIHRvQm9vbGVhbiB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9mdW5jdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdXNlci1ldmVudC1ub3RpZmljYXRpb24taWNvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi91c2VyLWV2ZW50LW5vdGlmaWNhdGlvbi5pY29uLmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVXNlckV2ZW50Tm90aWZpY2F0aW9uSWNvbiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfbG9nUHJlZml4ID0gJ1t1c2VyLWV2ZW50LW5vdGlmaWNhdGlvbl0gJztcbiAgcHJpdmF0ZSBfcmVhZEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxJVXNlckV2ZW50PGFueT4+KCk7XG4gIHByaXZhdGUgX3JlYWRFdmVudHMgPSBuZXcgRXZlbnRFbWl0dGVyPElVc2VyRXZlbnQ8YW55PltdPigpO1xuXG4gIEBJbnB1dCgpIGRlYnVnID0gZmFsc2U7XG4gIEBJbnB1dCgpIHRpdGxlSTE4biA9ICdTT0NJQUwuVVNFUl9FVkVOVC5OT1RJRklDQVRJT04uVElUTEUnO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBmaWx0ZXI6IGFueSA9IG51bGw7XG4gIEBJbnB1dCgpIGF1dG9IaWRlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGhlYWRlckFjdGlvbnM6IElVc2VyRXZlbnRBY3Rpb25bXTtcbiAgQElucHV0KCkgZm9vdGVyQWN0aW9uczogSVVzZXJFdmVudEFjdGlvbltdO1xuXG4gIHByb3RlY3RlZCB2aXNpYmxlOiBib29sZWFuO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY291bnRDaGFuZ2VzJDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQVBQX1VTRVJfRVZFTlRfU0VSVklDRSkgcHVibGljIHVzZXJFdmVudFNlcnZpY2U6IElVc2VyRXZlbnRTZXJ2aWNlPElVc2VyRXZlbnQ8YW55PiwgSVVzZXJFdmVudEZpbHRlcjxhbnk+PixcbiAgICBwcm90ZWN0ZWQgYWNjb3VudFNlcnZpY2U6IEFjY291bnRTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBwb3BvdmVyQ29udHJvbGxlcjogUG9wb3ZlckNvbnRyb2xsZXIsXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgdGhpcy5jb3VudENoYW5nZXMkID0gIXRoaXMudXNlckV2ZW50U2VydmljZVxuICAgICAgPyBvZigpXG4gICAgICA6IHRoaXMudXNlckV2ZW50U2VydmljZS5jb3VudFN1YmplY3QucGlwZShcbiAgICAgICAgICB0YXAoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2aXNpYmxlID0gIXRoaXMuYXV0b0hpZGUgfHwgdmFsdWUgPiAwO1xuICAgICAgICAgICAgdGhpcy5zZXRWaXNpYmxlKHZpc2libGUpO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIG1hcCgodmFsdWUpID0+ICh2YWx1ZSA9PT0gMCA/IHVuZGVmaW5lZCA6IHZhbHVlKSlcbiAgICAgICAgICAvLyBGSVhNRTogZW5hYmxlIGlmIHpvbmUgbGVzc2UgaW4gdGltZXJcbiAgICAgICAgICAvL3RhcChfID0+IHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpKVxuICAgICAgICApO1xuICB9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgaWYgKGlzTmlsKHRoaXMudXNlckV2ZW50U2VydmljZSkpIHtcbiAgICAgIGNvbnNvbGUud2FybihgJHt0aGlzLl9sb2dQcmVmaXh9Tm8gc2VydmljZSBpbmplY3RlZGApO1xuICAgICAgdGhpcy5kaXNhYmxlZCA9IHRydWU7XG4gICAgICB0aGlzLnNldFZpc2libGUoZmFsc2UpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2V0VmlzaWJsZSh0b0Jvb2xlYW4odGhpcy52aXNpYmxlLCAhdGhpcy5hdXRvSGlkZSkpO1xuXG4gICAgLy8gV2FpdCBzZXJ2aWNlXG4gICAgYXdhaXQgdGhpcy51c2VyRXZlbnRTZXJ2aWNlLnJlYWR5KCk7XG5cbiAgICAvLyBTdWJzY3JpYmUgdG8gcmVhZCBldmVudFxuICAgIHRoaXMuX3JlYWRFdmVudC5zdWJzY3JpYmUoKGl0ZW0pID0+IHtcbiAgICAgIC8vIGRlZmF1bHQ6IG1hcmsgZXZlbnQgYXMgcmVhZFxuICAgICAgdGhpcy51c2VyRXZlbnRTZXJ2aWNlLm1hcmtBbGxBc1JlYWQoW2l0ZW1dKTtcbiAgICB9KTtcbiAgICB0aGlzLl9yZWFkRXZlbnRzLnN1YnNjcmliZSgoaXRlbXMpID0+IHtcbiAgICAgIHRoaXMudXNlckV2ZW50U2VydmljZS5tYXJrQWxsQXNSZWFkKGl0ZW1zKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICBjb25zb2xlLmRlYnVnKGAke3RoaXMuX2xvZ1ByZWZpeH1EZXN0cm95aW5nYCk7XG4gICAgfVxuICAgIHRoaXMuX3JlYWRFdmVudC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX3JlYWRFdmVudHMuY29tcGxldGUoKTtcbiAgfVxuXG4gIGFzeW5jIHNob3dMaXN0KGV2ZW50OiBFdmVudCkge1xuICAgIC8vIFJlc2V0IGNvdW50XG4gICAgdGhpcy51c2VyRXZlbnRTZXJ2aWNlLnJlc2V0Q291bnQoKTtcblxuICAgIGNvbnN0IHBvcG92ZXIgPSBhd2FpdCB0aGlzLnBvcG92ZXJDb250cm9sbGVyLmNyZWF0ZSh7XG4gICAgICBjb21wb25lbnQ6IFVzZXJFdmVudE5vdGlmaWNhdGlvbkxpc3QsXG4gICAgICBjb21wb25lbnRQcm9wczogPFVzZXJFdmVudE5vdGlmaWNhdGlvbkxpc3RPcHRpb25zPntcbiAgICAgICAgZGVidWc6IHRoaXMuZGVidWcsXG4gICAgICAgIHRpdGxlSTE4bjogdGhpcy50aXRsZUkxOG4sXG4gICAgICAgIHJlYWRFdmVudDogdGhpcy5fcmVhZEV2ZW50LFxuICAgICAgICByZWFkRXZlbnRzOiB0aGlzLl9yZWFkRXZlbnRzLFxuICAgICAgICBmaWx0ZXI6IHRoaXMuZmlsdGVyLFxuICAgICAgICBoZWFkZXJBY3Rpb25zOiB0aGlzLmhlYWRlckFjdGlvbnMsXG4gICAgICAgIGZvb3RlckFjdGlvbnM6IHRoaXMuZm9vdGVyQWN0aW9ucyxcbiAgICAgIH0sXG4gICAgICBiYWNrZHJvcERpc21pc3M6IHRydWUsXG4gICAgICBrZXlib2FyZENsb3NlOiB0cnVlLFxuICAgICAgZXZlbnQsXG4gICAgICB0cmFuc2x1Y2VudDogdHJ1ZSxcbiAgICAgIGNzc0NsYXNzOiAncG9wb3Zlci1sYXJnZSBwb3BvdmVyLW5vdGlmaWNhdGlvbnMnLFxuICAgIH0pO1xuICAgIGF3YWl0IHBvcG92ZXIucHJlc2VudCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldFZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy52aXNpYmxlICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy52aXNpYmxlID0gdmFsdWU7XG4gICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxufVxuIiwiPGJ1dHRvblxuICBtYXQtaWNvbi1idXR0b25cbiAgW3RpdGxlXT1cInRpdGxlSTE4biB8IHRyYW5zbGF0ZVwiXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICpuZ0lmPVwidmlzaWJsZVwiXG4gIChjbGljayk9XCJzaG93TGlzdCgkZXZlbnQpXCJcbj5cbiAgPG1hdC1pY29uXG4gICAgW21hdEJhZGdlXT1cImNvdW50Q2hhbmdlcyQgfCBhc3luY1wiXG4gICAgbWF0QmFkZ2VDb2xvcj1cImFjY2VudFwiXG4gICAgbWF0QmFkZ2VTaXplPVwic21hbGxcIlxuICAgIG1hdEJhZGdlUG9zaXRpb249XCJhYm92ZSBhZnRlclwiXG4gICAgYXJpYS1oaWRkZW49XCJmYWxzZVwiXG4gID5cbiAgICBub3RpZmljYXRpb25zXG4gIDwvbWF0LWljb24+XG48L2J1dHRvbj5cbiJdfQ==
|
|
187
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1ldmVudC1ub3RpZmljYXRpb24uaWNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc29jaWFsL3VzZXItZXZlbnQvbm90aWZpY2F0aW9uL3VzZXItZXZlbnQtbm90aWZpY2F0aW9uLmljb24udHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NvY2lhbC91c2VyLWV2ZW50L25vdGlmaWNhdGlvbi91c2VyLWV2ZW50LW5vdGlmaWNhdGlvbi5pY29uLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXRDLE9BQU8sRUFBRSxzQkFBc0IsRUFBcUIsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRixPQUFPLEVBQUUseUJBQXlCLEVBQW9DLE1BQU0sZ0NBQWdDLENBQUM7QUFHN0csT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRzdELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7Ozs7QUFRN0UsTUFBTSxPQUFPLHlCQUF5QjtJQXlCaUI7SUFDekM7SUFDQTtJQUNBO0lBQ0E7SUFDRjtJQTdCRixVQUFVLEdBQUcsNEJBQTRCLENBQUM7SUFDMUMsVUFBVSxHQUFHLElBQUksWUFBWSxFQUFtQixDQUFDO0lBQ2pELFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztJQUVsRCxPQUFPLENBQVU7SUFDUixNQUFNLENBQXFCO0lBRXJDLFNBQVMsR0FBRyxz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QjVDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsc0JBQXNCO3VNQWpCbkMsU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFYyxVQUFVO3NCQUE3QixNQUFNO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTW9kYWxDb250cm9sbGVyLCBQb3BvdmVyQ29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IEFQUF9VU0VSX0VWRU5UX1NFUlZJQ0UsIElVc2VyRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vdXNlci1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJFdmVudE5vdGlmaWNhdGlvbkxpc3QsIFVzZXJFdmVudE5vdGlmaWNhdGlvbkxpc3RPcHRpb25zIH0gZnJvbSAnLi91c2VyLWV2ZW50LW5vdGlmaWNhdGlvbi5saXN0JztcbmltcG9ydCB7IElVc2VyRXZlbnQsIElVc2VyRXZlbnRBY3Rpb24sIElVc2VyRXZlbnRGaWx0ZXIgfSBmcm9tICcuLi91c2VyLWV2ZW50Lm1vZGVsJztcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9hY2NvdW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgbWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBpc05pbCwgdG9Cb29sZWFuIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Z1bmN0aW9ucyc7XG5pbXBvcnQgeyBBcHBDb2xvcnMgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvdHlwZXMnO1xuaW1wb3J0IHsgTG9jYWxTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL2xvY2FsLXNldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlckV2ZW50Tm90aWZpY2F0aW9uTW9kYWwgfSBmcm9tICcuL3VzZXItZXZlbnQtbm90aWZpY2F0aW9uLm1vZGFsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXVzZXItZXZlbnQtbm90aWZpY2F0aW9uLWljb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vdXNlci1ldmVudC1ub3RpZmljYXRpb24uaWNvbi5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdXNlci1ldmVudC1ub3RpZmljYXRpb24uaWNvbi5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBVc2VyRXZlbnROb3RpZmljYXRpb25JY29uIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF9sb2dQcmVmaXggPSAnW3VzZXItZXZlbnQtbm90aWZpY2F0aW9uXSAnO1xuICBwcml2YXRlIF9yZWFkRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPElVc2VyRXZlbnQ8YW55Pj4oKTtcbiAgcHJpdmF0ZSBfcmVhZEV2ZW50cyA9IG5ldyBFdmVudEVtaXR0ZXI8SVVzZXJFdmVudDxhbnk+W10+KCk7XG5cbiAgcHJvdGVjdGVkIHZpc2libGU6IGJvb2xlYW47XG4gIHByb3RlY3RlZCByZWFkb25seSBjb3VudCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcblxuICBASW5wdXQoKSB0aXRsZUkxOG4gPSAnU09DSUFMLlVTRVJfRVZFTlQuTk9USUZJQ0FUSU9OLlRJVExFJztcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgZmlsdGVyOiBhbnkgPSBudWxsO1xuICBASW5wdXQoKSBhdXRvSGlkZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBoZWFkZXJBY3Rpb25zOiBJVXNlckV2ZW50QWN0aW9uW107XG4gIEBJbnB1dCgpIGZvb3RlckFjdGlvbnM6IElVc2VyRXZlbnRBY3Rpb25bXTtcbiAgQElucHV0KCkgc3R5bGU6ICdtYXQtYnV0dG9uJyB8ICdpb24tYnV0dG9uJyA9ICdtYXQtYnV0dG9uJztcbiAgQElucHV0KCkgY29sb3I6IEFwcENvbG9ycztcbiAgQElucHV0KCkgdW5yZWFkQ29sb3I6IEFwcENvbG9ycztcbiAgQElucHV0KCkgZmlsbDogJ2NsZWFyJyB8ICdvdXRsaW5lJyB8ICdzb2xpZCc7XG4gIEBJbnB1dCgpIG1vYmlsZTogYm9vbGVhbjtcbiAgQElucHV0KCkgbGlzdFN0eWxlOiAncG9wb3ZlcicgfCAnbW9kYWwnO1xuICBASW5wdXQoKSBkZWJ1ZyA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoJ3Nob3dMaXN0Jykgb25TaG93TGlzdCA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChBUFBfVVNFUl9FVkVOVF9TRVJWSUNFKSBwdWJsaWMgdXNlckV2ZW50U2VydmljZTogSVVzZXJFdmVudFNlcnZpY2U8SVVzZXJFdmVudDxhbnk+LCBJVXNlckV2ZW50RmlsdGVyPGFueT4+LFxuICAgIHByb3RlY3RlZCBhY2NvdW50U2VydmljZTogQWNjb3VudFNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHBvcG92ZXJDb250cm9sbGVyOiBQb3BvdmVyQ29udHJvbGxlcixcbiAgICBwcm90ZWN0ZWQgbW9kYWxDb250cm9sbGVyOiBNb2RhbENvbnRyb2xsZXIsXG4gICAgcHJvdGVjdGVkIHNldHRpbmdzOiBMb2NhbFNldHRpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICB0aGlzLm1vYmlsZSA9IHNldHRpbmdzLm1vYmlsZTtcbiAgICB0aGlzLmxpc3RTdHlsZSA9IHRoaXMubW9iaWxlID8gJ21vZGFsJyA6ICdwb3BvdmVyJztcbiAgICB0aGlzLmNvdW50JCA9ICF0aGlzLnVzZXJFdmVudFNlcnZpY2VcbiAgICAgID8gb2YoKVxuICAgICAgOiB0aGlzLnVzZXJFdmVudFNlcnZpY2UuY291bnRTdWJqZWN0LnBpcGUoXG4gICAgICAgICAgdGFwKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmlzaWJsZSA9ICF0aGlzLmF1dG9IaWRlIHx8IHZhbHVlID4gMDtcbiAgICAgICAgICAgIHRoaXMuc2V0VmlzaWJsZSh2aXNpYmxlKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBtYXAoKHZhbHVlKSA9PiAodmFsdWUgPT09IDAgPyB1bmRlZmluZWQgOiB2YWx1ZSkpXG4gICAgICAgICk7XG4gIH1cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICAvLyBTZXJ2aWNlIGlzIG1pc3Npbmc6IGZhbGxiYWNrXG4gICAgaWYgKGlzTmlsKHRoaXMudXNlckV2ZW50U2VydmljZSkpIHtcbiAgICAgIGNvbnNvbGUud2FybihgJHt0aGlzLl9sb2dQcmVmaXh9Tm8gc2VydmljZSBpbmplY3RlZGApO1xuICAgICAgdGhpcy5kaXNhYmxlZCA9IHRydWU7XG4gICAgICB0aGlzLnNldFZpc2libGUoZmFsc2UpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFVzZXIgZXZlbnQgc2VydmljZSBleGlzdHNcbiAgICBlbHNlIHtcbiAgICAgIHRoaXMuc2V0VmlzaWJsZSh0b0Jvb2xlYW4odGhpcy52aXNpYmxlLCAhdGhpcy5hdXRvSGlkZSkpO1xuXG4gICAgICAvLyBXYWl0IHNlcnZpY2VcbiAgICAgIGF3YWl0IHRoaXMudXNlckV2ZW50U2VydmljZS5yZWFkeSgpO1xuXG4gICAgICAvLyBTdWJzY3JpYmUgdG8gcmVhZCBldmVudFxuICAgICAgdGhpcy5fcmVhZEV2ZW50LnN1YnNjcmliZSgoaXRlbSkgPT4ge1xuICAgICAgICAvLyBkZWZhdWx0OiBtYXJrIGV2ZW50IGFzIHJlYWRcbiAgICAgICAgdGhpcy51c2VyRXZlbnRTZXJ2aWNlLm1hcmtBbGxBc1JlYWQoW2l0ZW1dKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5fcmVhZEV2ZW50cy5zdWJzY3JpYmUoKGl0ZW1zKSA9PiB7XG4gICAgICAgIHRoaXMudXNlckV2ZW50U2VydmljZS5tYXJrQWxsQXNSZWFkKGl0ZW1zKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICBjb25zb2xlLmRlYnVnKGAke3RoaXMuX2xvZ1ByZWZpeH1EZXN0cm95aW5nYCk7XG4gICAgfVxuICAgIHRoaXMuX3JlYWRFdmVudC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX3JlYWRFdmVudHMuY29tcGxldGUoKTtcbiAgfVxuXG4gIGFzeW5jIHNob3dMaXN0KFxuICAgIGV2ZW50OiBFdmVudCA9IHVuZGVmaW5lZCxcbiAgICBvcHRpb25zPzogVXNlckV2ZW50Tm90aWZpY2F0aW9uTGlzdE9wdGlvbnMgJiB7XG4gICAgICBzdHlsZTogJ21vZGFsJyB8ICdwb3BvdmVyJztcbiAgICB9XG4gICkge1xuICAgIGlmICh0aGlzLm9uU2hvd0xpc3Qub2JzZXJ2ZWQpIHtcbiAgICAgIHRoaXMub25TaG93TGlzdC5lbWl0KGV2ZW50KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gUmVzZXQgY291bnQgKGlmIG5vdCBhdXRvIGhpZGUuIGVsc2UgaXQgd2lsbCBiZSBoaWRkZW4gYmVsbG93KVxuICAgIGlmICghdGhpcy5hdXRvSGlkZSkge1xuICAgICAgdGhpcy51c2VyRXZlbnRTZXJ2aWNlLnJlc2V0Q291bnQoKTtcbiAgICB9XG5cbiAgICBvcHRpb25zID0ge1xuICAgICAgZGVidWc6IHRoaXMuZGVidWcsXG4gICAgICB0aXRsZUkxOG46IHRoaXMudGl0bGVJMThuLFxuICAgICAgcmVhZEV2ZW50OiB0aGlzLl9yZWFkRXZlbnQsXG4gICAgICByZWFkRXZlbnRzOiB0aGlzLl9yZWFkRXZlbnRzLFxuICAgICAgZmlsdGVyOiB0aGlzLmZpbHRlcixcbiAgICAgIGhlYWRlckFjdGlvbnM6IHRoaXMuaGVhZGVyQWN0aW9ucyxcbiAgICAgIGZvb3RlckFjdGlvbnM6IHRoaXMuZm9vdGVyQWN0aW9ucyxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfTtcblxuICAgIC8vIE9wZW4gdXNpbmcgbW9kYWxcbiAgICBjb25zdCBsaXN0U3R5bGUgPSBvcHRpb25zPy5zdHlsZSB8fCB0aGlzLmxpc3RTdHlsZTtcbiAgICBpZiAobGlzdFN0eWxlID09PSAnbW9kYWwnKSB7XG4gICAgICBjb25zdCBtb2RhbCA9IGF3YWl0IHRoaXMubW9kYWxDb250cm9sbGVyLmNyZWF0ZSh7XG4gICAgICAgIGNvbXBvbmVudDogVXNlckV2ZW50Tm90aWZpY2F0aW9uTW9kYWwsXG4gICAgICAgIGNvbXBvbmVudFByb3BzOiBvcHRpb25zLFxuICAgICAgICBiYWNrZHJvcERpc21pc3M6IHRydWUsXG4gICAgICAgIGtleWJvYXJkQ2xvc2U6IHRydWUsXG4gICAgICAgIGNzc0NsYXNzOiAnbW9kYWwtbm90aWZpY2F0aW9ucycsXG4gICAgICB9KTtcbiAgICAgIGF3YWl0IG1vZGFsLnByZXNlbnQoKTtcbiAgICB9XG5cbiAgICAvLyBPcGVuIHVzaW5nIHBvcG92ZXJcbiAgICBlbHNlIHtcbiAgICAgIGNvbnN0IHBvcG92ZXIgPSBhd2FpdCB0aGlzLnBvcG92ZXJDb250cm9sbGVyLmNyZWF0ZSh7XG4gICAgICAgIGNvbXBvbmVudDogVXNlckV2ZW50Tm90aWZpY2F0aW9uTGlzdCxcbiAgICAgICAgY29tcG9uZW50UHJvcHM6IG9wdGlvbnMsXG4gICAgICAgIGJhY2tkcm9wRGlzbWlzczogdHJ1ZSxcbiAgICAgICAga2V5Ym9hcmRDbG9zZTogdHJ1ZSxcbiAgICAgICAgZXZlbnQsXG4gICAgICAgIHRyYW5zbHVjZW50OiB0cnVlLFxuICAgICAgICBjc3NDbGFzczogJ3BvcG92ZXItbGFyZ2UgcG9wb3Zlci1ub3RpZmljYXRpb25zJyxcbiAgICAgIH0pO1xuICAgICAgYXdhaXQgcG9wb3Zlci5wcmVzZW50KCk7XG4gICAgfVxuXG4gICAgLy8gUmVzZXQgY291bnQgKGlmIGF1dG8gaGlkZSAtIGFmdGVyIGxpc3QgaGFzIGJlZW4gb3BlbmVkKVxuICAgIGlmICh0aGlzLmF1dG9IaWRlKSB7XG4gICAgICB0aGlzLnVzZXJFdmVudFNlcnZpY2UucmVzZXRDb3VudCgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRWaXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMudmlzaWJsZSAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IHZhbHVlO1xuICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cbn1cbiIsIkBsZXQgY291bnQgPSAoY291bnQkIHwgYXN5bmMpO1xuQGlmICh2aXNpYmxlKSB7XG4gIEBzd2l0Y2ggKHN0eWxlKSB7XG4gICAgPCEtLSBtYXQgaWNvbiBidXR0b24gKGUuZy4gZm9yIGhvbWUgdG9vbGJhcikgLS0+XG4gICAgQGNhc2UgKCdtYXQtYnV0dG9uJykge1xuICAgICAgPGJ1dHRvblxuICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgW2NvbG9yXT1cIihjb3VudCAmJiB1bnJlYWRDb2xvciB8fCBjb2xvcikgfCBtYXRDb2xvclwiXG4gICAgICAgIFt0aXRsZV09XCJ0aXRsZUkxOG4gfCB0cmFuc2xhdGVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAoY2xpY2spPVwic2hvd0xpc3QoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgIFttYXRCYWRnZV09XCJjb3VudCB8IGJhZGdlTnVtYmVyXCJcbiAgICAgICAgICBbbWF0QmFkZ2VIaWRkZW5dPVwiIWNvdW50XCJcbiAgICAgICAgICBtYXRCYWRnZUNvbG9yPVwiYWNjZW50XCJcbiAgICAgICAgICBtYXRCYWRnZVNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgbWF0QmFkZ2VQb3NpdGlvbj1cImFib3ZlIGFmdGVyXCJcbiAgICAgICAgICBhcmlhLWhpZGRlbj1cImZhbHNlXCJcbiAgICAgICAgPlxuICAgICAgICAgIG5vdGlmaWNhdGlvbnNcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIH1cblxuICAgIDwhLS0gaW9uIGJ1dHRvbiAoZS5nLiBmb3IgaG9tZSB0b29sYmFyKSAtLT5cbiAgICBAY2FzZSAoJ2lvbi1idXR0b24nKSB7XG4gICAgICA8aW9uLWJ1dHRvblxuICAgICAgICBbZmlsbF09XCJmaWxsXCJcbiAgICAgICAgW2NvbG9yXT1cImNvdW50ICYmIHVucmVhZENvbG9yIHx8IGNvbG9yXCJcbiAgICAgICAgW3RpdGxlXT1cInRpdGxlSTE4biB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIChjbGljayk9XCJzaG93TGlzdCgkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgc2xvdD1cImljb24tb25seVwiXG4gICAgICAgICAgW21hdEJhZGdlXT1cImNvdW50IHwgYmFkZ2VOdW1iZXJcIlxuICAgICAgICAgIFttYXRCYWRnZUhpZGRlbl09XCIhY291bnRcIlxuICAgICAgICAgIG1hdEJhZGdlQ29sb3I9XCJhY2NlbnRcIlxuICAgICAgICAgIG1hdEJhZGdlU2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICBtYXRCYWRnZVBvc2l0aW9uPVwiYWJvdmUgYWZ0ZXJcIlxuICAgICAgICAgIGFyaWEtaGlkZGVuPVwiZmFsc2VcIlxuICAgICAgICA+XG4gICAgICAgICAgbm90aWZpY2F0aW9uc1xuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9pb24tYnV0dG9uPlxuICAgIH1cbiAgfVxufVxuIl19
|