@dereekb/dbx-core 12.1.4 → 12.1.6
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/action/action.module.mjs +5 -2
- package/esm2022/lib/action/action.store.mjs +5 -1
- package/esm2022/lib/action/action.store.source.mjs +4 -1
- package/esm2022/lib/action/directive/auto/action.autotrigger.directive.mjs +1 -1
- package/esm2022/lib/action/directive/map/action.map.source.directive.mjs +2 -2
- package/esm2022/lib/action/directive/state/action.idle.directive.mjs +34 -0
- package/esm2022/lib/action/directive/state/action.presuccess.directive.mjs +3 -2
- package/esm2022/lib/action/directive/state/action.success.directive.mjs +3 -2
- package/esm2022/lib/action/directive/state/action.triggered.directive.mjs +34 -0
- package/esm2022/lib/action/directive/state/action.working.directive.mjs +15 -8
- package/esm2022/lib/action/directive/state/index.mjs +3 -1
- package/esm2022/lib/button/button.directive.mjs +3 -3
- package/esm2022/lib/util/index.mjs +2 -1
- package/esm2022/lib/util/input.mjs +7 -0
- package/fesm2022/dereekb-dbx-core.mjs +89 -12
- package/fesm2022/dereekb-dbx-core.mjs.map +1 -1
- package/lib/action/action.module.d.ts +6 -5
- package/lib/action/action.store.d.ts +4 -0
- package/lib/action/action.store.source.d.ts +1 -0
- package/lib/action/directive/auto/action.autotrigger.directive.d.ts +2 -2
- package/lib/action/directive/state/action.idle.directive.d.ts +15 -0
- package/lib/action/directive/state/action.triggered.directive.d.ts +15 -0
- package/lib/action/directive/state/action.working.directive.d.ts +4 -2
- package/lib/action/directive/state/index.d.ts +2 -0
- package/lib/util/index.d.ts +1 -0
- package/lib/util/input.d.ts +6 -0
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
|
-
import { DbxActionDirective, DbxActionContextMapDirective, DbxActionFromMapDirective, DbxActionMapSourceDirective, DbxActionMapWorkingDisableDirective, DbxActionSourceDirective, DbxActionHandlerDirective, DbxActionDisabledDirective, DbxActionEnforceModifiedDirective, DbxActionAutoTriggerDirective, DbxActionValueStreamDirective, DbxActionAutoModifyDirective, DbxActionValueDirective, DbxActionContextLoggerDirective, DbxActionHasSuccessDirective, DbxActionSuccessHandlerDirective, DbxActionIsWorkingDirective, DbxActionDisabledOnSuccessDirective, DbxActionPreSuccessDirective, DbxActionHandlerValueDirective } from './directive';
|
|
2
|
+
import { DbxActionDirective, DbxActionContextMapDirective, DbxActionFromMapDirective, DbxActionMapSourceDirective, DbxActionMapWorkingDisableDirective, DbxActionSourceDirective, DbxActionHandlerDirective, DbxActionDisabledDirective, DbxActionEnforceModifiedDirective, DbxActionAutoTriggerDirective, DbxActionValueStreamDirective, DbxActionAutoModifyDirective, DbxActionValueDirective, DbxActionContextLoggerDirective, DbxActionHasSuccessDirective, DbxActionSuccessHandlerDirective, DbxActionIsWorkingDirective, DbxActionDisabledOnSuccessDirective, DbxActionPreSuccessDirective, DbxActionIdleDirective, DbxActionHandlerValueDirective } from './directive';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
const importsAndExports = [
|
|
5
5
|
DbxActionDirective,
|
|
@@ -18,6 +18,7 @@ const importsAndExports = [
|
|
|
18
18
|
DbxActionAutoModifyDirective,
|
|
19
19
|
DbxActionValueDirective,
|
|
20
20
|
DbxActionContextLoggerDirective,
|
|
21
|
+
DbxActionIdleDirective,
|
|
21
22
|
DbxActionPreSuccessDirective,
|
|
22
23
|
DbxActionHasSuccessDirective,
|
|
23
24
|
DbxActionSuccessHandlerDirective,
|
|
@@ -44,6 +45,7 @@ export class DbxCoreActionModule {
|
|
|
44
45
|
DbxActionAutoModifyDirective,
|
|
45
46
|
DbxActionValueDirective,
|
|
46
47
|
DbxActionContextLoggerDirective,
|
|
48
|
+
DbxActionIdleDirective,
|
|
47
49
|
DbxActionPreSuccessDirective,
|
|
48
50
|
DbxActionHasSuccessDirective,
|
|
49
51
|
DbxActionSuccessHandlerDirective,
|
|
@@ -63,6 +65,7 @@ export class DbxCoreActionModule {
|
|
|
63
65
|
DbxActionAutoModifyDirective,
|
|
64
66
|
DbxActionValueDirective,
|
|
65
67
|
DbxActionContextLoggerDirective,
|
|
68
|
+
DbxActionIdleDirective,
|
|
66
69
|
DbxActionPreSuccessDirective,
|
|
67
70
|
DbxActionHasSuccessDirective,
|
|
68
71
|
DbxActionSuccessHandlerDirective,
|
|
@@ -76,4 +79,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
76
79
|
exports: importsAndExports
|
|
77
80
|
}]
|
|
78
81
|
}] });
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvYWN0aW9uL2FjdGlvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLDRCQUE0QixFQUM1Qix5QkFBeUIsRUFDekIsMkJBQTJCLEVBQzNCLG1DQUFtQyxFQUNuQyx3QkFBd0IsRUFDeEIseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQixpQ0FBaUMsRUFDakMsNkJBQTZCLEVBQzdCLDZCQUE2QixFQUM3Qiw0QkFBNEIsRUFDNUIsdUJBQXVCLEVBQ3ZCLCtCQUErQixFQUMvQiw0QkFBNEIsRUFDNUIsZ0NBQWdDLEVBQ2hDLDJCQUEyQixFQUMzQixtQ0FBbUMsRUFDbkMsNEJBQTRCLEVBQzVCLHNCQUFzQixFQUN0Qiw4QkFBOEIsRUFDL0IsTUFBTSxhQUFhLENBQUM7O0FBRXJCLE1BQU0saUJBQWlCLEdBQUc7SUFDeEIsa0JBQWtCO0lBQ2xCLDRCQUE0QjtJQUM1Qix5QkFBeUI7SUFDekIsMkJBQTJCO0lBQzNCLG1DQUFtQztJQUNuQyx3QkFBd0I7SUFDeEIseUJBQXlCO0lBQ3pCLDhCQUE4QjtJQUM5QiwwQkFBMEI7SUFDMUIsbUNBQW1DO0lBQ25DLGlDQUFpQztJQUNqQyw2QkFBNkI7SUFDN0IsNkJBQTZCO0lBQzdCLDRCQUE0QjtJQUM1Qix1QkFBdUI7SUFDdkIsK0JBQStCO0lBQy9CLHNCQUFzQjtJQUN0Qiw0QkFBNEI7SUFDNUIsNEJBQTRCO0lBQzVCLGdDQUFnQztJQUNoQywyQkFBMkI7Q0FDNUIsQ0FBQztBQUVGOztHQUVHO0FBS0gsTUFBTSxPQUFPLG1CQUFtQjt3R0FBbkIsbUJBQW1CO3lHQUFuQixtQkFBbUIsWUE5QjlCLGtCQUFrQjtZQUNsQiw0QkFBNEI7WUFDNUIseUJBQXlCO1lBQ3pCLDJCQUEyQjtZQUMzQixtQ0FBbUM7WUFDbkMsd0JBQXdCO1lBQ3hCLHlCQUF5QjtZQUN6Qiw4QkFBOEI7WUFDOUIsMEJBQTBCO1lBQzFCLG1DQUFtQztZQUNuQyxpQ0FBaUM7WUFDakMsNkJBQTZCO1lBQzdCLDZCQUE2QjtZQUM3Qiw0QkFBNEI7WUFDNUIsdUJBQXVCO1lBQ3ZCLCtCQUErQjtZQUMvQixzQkFBc0I7WUFDdEIsNEJBQTRCO1lBQzVCLDRCQUE0QjtZQUM1QixnQ0FBZ0M7WUFDaEMsMkJBQTJCLGFBcEIzQixrQkFBa0I7WUFDbEIsNEJBQTRCO1lBQzVCLHlCQUF5QjtZQUN6QiwyQkFBMkI7WUFDM0IsbUNBQW1DO1lBQ25DLHdCQUF3QjtZQUN4Qix5QkFBeUI7WUFDekIsOEJBQThCO1lBQzlCLDBCQUEwQjtZQUMxQixtQ0FBbUM7WUFDbkMsaUNBQWlDO1lBQ2pDLDZCQUE2QjtZQUM3Qiw2QkFBNkI7WUFDN0IsNEJBQTRCO1lBQzVCLHVCQUF1QjtZQUN2QiwrQkFBK0I7WUFDL0Isc0JBQXNCO1lBQ3RCLDRCQUE0QjtZQUM1Qiw0QkFBNEI7WUFDNUIsZ0NBQWdDO1lBQ2hDLDJCQUEyQjt5R0FVaEIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUovQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxpQkFBaUI7b0JBQzFCLE9BQU8sRUFBRSxpQkFBaUI7aUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIERieEFjdGlvbkRpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uQ29udGV4dE1hcERpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uRnJvbU1hcERpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uTWFwU291cmNlRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25NYXBXb3JraW5nRGlzYWJsZURpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uU291cmNlRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25IYW5kbGVyRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25EaXNhYmxlZERpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uRW5mb3JjZU1vZGlmaWVkRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25BdXRvVHJpZ2dlckRpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uVmFsdWVTdHJlYW1EaXJlY3RpdmUsXG4gIERieEFjdGlvbkF1dG9Nb2RpZnlEaXJlY3RpdmUsXG4gIERieEFjdGlvblZhbHVlRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25Db250ZXh0TG9nZ2VyRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25IYXNTdWNjZXNzRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25TdWNjZXNzSGFuZGxlckRpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uSXNXb3JraW5nRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25EaXNhYmxlZE9uU3VjY2Vzc0RpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uUHJlU3VjY2Vzc0RpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uSWRsZURpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uSGFuZGxlclZhbHVlRGlyZWN0aXZlXG59IGZyb20gJy4vZGlyZWN0aXZlJztcblxuY29uc3QgaW1wb3J0c0FuZEV4cG9ydHMgPSBbXG4gIERieEFjdGlvbkRpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uQ29udGV4dE1hcERpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uRnJvbU1hcERpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uTWFwU291cmNlRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25NYXBXb3JraW5nRGlzYWJsZURpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uU291cmNlRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25IYW5kbGVyRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25IYW5kbGVyVmFsdWVEaXJlY3RpdmUsXG4gIERieEFjdGlvbkRpc2FibGVkRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25EaXNhYmxlZE9uU3VjY2Vzc0RpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uRW5mb3JjZU1vZGlmaWVkRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25BdXRvVHJpZ2dlckRpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uVmFsdWVTdHJlYW1EaXJlY3RpdmUsXG4gIERieEFjdGlvbkF1dG9Nb2RpZnlEaXJlY3RpdmUsXG4gIERieEFjdGlvblZhbHVlRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25Db250ZXh0TG9nZ2VyRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25JZGxlRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25QcmVTdWNjZXNzRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25IYXNTdWNjZXNzRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25TdWNjZXNzSGFuZGxlckRpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uSXNXb3JraW5nRGlyZWN0aXZlXG5dO1xuXG4vKipcbiAqIENvbnRhaW5zIGFsbCBiYXNlIERieEFjdGlvbiBjb21wb25lbnRzLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBpbXBvcnRzQW5kRXhwb3J0cyxcbiAgZXhwb3J0czogaW1wb3J0c0FuZEV4cG9ydHNcbn0pXG5leHBvcnQgY2xhc3MgRGJ4Q29yZUFjdGlvbk1vZHVsZSB7fVxuIl19
|
|
@@ -83,6 +83,10 @@ export class ActionContextStore extends ComponentStore {
|
|
|
83
83
|
* Pipes when idle but modified.
|
|
84
84
|
*/
|
|
85
85
|
isModified$ = this.afterDistinctBoolean((x) => x.isModified);
|
|
86
|
+
/**
|
|
87
|
+
* Pipes true when idle.
|
|
88
|
+
*/
|
|
89
|
+
idle$ = this.actionState$.pipe(map((x) => x === DbxActionState.IDLE), distinctUntilChanged(), shareReplay(1));
|
|
86
90
|
/**
|
|
87
91
|
* Pipes true when triggered.
|
|
88
92
|
*/
|
|
@@ -248,4 +252,4 @@ function updateIsModifiedOnActionContextState(state, isModified) {
|
|
|
248
252
|
isModified: isModified ?? true // if isModified is not input, default it to true
|
|
249
253
|
};
|
|
250
254
|
}
|
|
251
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hY3Rpb24vYWN0aW9uLnN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBYyxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hHLE9BQU8sRUFBeUIsNEJBQTRCLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBQzFHLE9BQU8sRUFBb0IsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBZ0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVKLE9BQU8sRUFBK0MsY0FBYyxFQUF3QiwyQkFBMkIsRUFBRSxpQkFBaUIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFFN0wsTUFBTSxVQUFVLHNCQUFzQixDQUFDLEtBQXlCO0lBQzlELE9BQU8sNEJBQTRCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUM5RCxDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUFDLEtBQXlCO0lBQy9ELE9BQU8sNEJBQTRCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUM3RCxDQUFDO0FBRUQsTUFBTSxVQUFVLDRCQUE0QixDQUFDLEtBQXlCO0lBQ3BFLE9BQU8saUJBQWlCLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hGLENBQUM7QUFFRCxNQUFNLFVB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LEtBQStCLEVBQUUsVUFBMkI7SUFDOUcsT0FBTztRQUNMLEdBQUcsS0FBSztRQUNSLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVyxLQUFLLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsNEJBQTRCO1FBQ2xJLFVBQVUsRUFBRyxVQUFzQixJQUFJLElBQUksQ0FBQyxpREFBaUQ7S0FDOUYsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudFN0b3JlIH0gZnJvbSAnQG5ncngvY29tcG9uZW50LXN0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCb29sZWFuU3RyaW5nS2V5QXJyYXksIEJvb2xlYW5TdHJpbmdLZXlBcnJheVV0aWxpdHksIE1heWJlLCBSZWFkYWJsZUVycm9yIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBMb2FkaW5nU3RhdGVUeXBlLCBpZGxlTG9hZGluZ1N0YXRlLCBlcnJvclJlc3VsdCwgZmlsdGVyTWF5YmUsIExvYWRpbmdTdGF0ZSwgTG9ja1NldCwgc2NhbkNvdW50LCBzdWNjZXNzUmVzdWx0LCBiZWdpbkxvYWRpbmcgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IERieEFjdGlvbkRpc2FibGVkS2V5LCBEYnhBY3Rpb25SZWplY3RlZFBhaXIsIERieEFjdGlvblN0YXRlLCBEYnhBY3Rpb25TdWNjZXNzUGFpciwgREVGQVVMVF9BQ1RJT05fRElTQUJMRURfS0VZLCBpc0lkbGVBY3Rpb25TdGF0ZSwgbG9hZGluZ1N0YXRlVHlwZUZvckFjdGlvblN0YXRlIH0gZnJvbSAnLi9hY3Rpb24nO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNBY3Rpb25Db250ZXh0RW5hYmxlZChzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlKTogYm9vbGVhbiB7XG4gIHJldHVybiBCb29sZWFuU3RyaW5nS2V5QXJyYXlVdGlsaXR5LmlzRmFsc2Uoc3RhdGUuZGlzYWJsZWQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNBY3Rpb25Db250ZXh0RGlzYWJsZWQoc3RhdGU6IEFjdGlvbkNvbnRleHRTdGF0ZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gQm9vbGVhblN0cmluZ0tleUFycmF5VXRpbGl0eS5pc1RydWUoc3RhdGUuZGlzYWJsZWQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNEaXNhYmxlZEFjdGlvbkNvbnRleHRTdGF0ZShzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc0lkbGVBY3Rpb25TdGF0ZShzdGF0ZS5hY3Rpb25TdGF0ZSkgJiYgaXNBY3Rpb25Db250ZXh0RGlzYWJsZWQoc3RhdGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNXb3JraW5nQWN0aW9uU3RhdGUoYWN0aW9uU3RhdGU6IERieEFjdGlvblN0YXRlKTogYm9vbGVhbiB7XG4gIHJldHVybiAhaXNJZGxlQWN0aW9uU3RhdGUoYWN0aW9uU3RhdGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FuVHJpZ2dlckFjdGlvblN0YXRlKGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gYWN0aW9uU3RhdGUgIT09IERieEFjdGlvblN0YXRlLkRJU0FCTEVEICYmIGlzSWRsZUFjdGlvblN0YXRlKGFjdGlvblN0YXRlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhblRyaWdnZXJBY3Rpb24oc3RhdGU6IEFjdGlvbkNvbnRleHRTdGF0ZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gaXNBY3Rpb25Db250ZXh0RW5hYmxlZChzdGF0ZSkgJiYgaXNJZGxlQWN0aW9uU3RhdGUoc3RhdGUuYWN0aW9uU3RhdGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FuUmVhZHlWYWx1ZShzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlKTogYm9vbGVhbiB7XG4gIHJldHVybiBzdGF0ZS5hY3Rpb25TdGF0ZSA9PT0gRGJ4QWN0aW9uU3RhdGUuVFJJR0dFUkVEO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWN0aW9uQ29udGV4dElzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyKHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGUpOiBib29sZWFuIHtcbiAgLy8gY29uc29sZS5sb2coJ2NoZWNrOiAnLCBzdGF0ZSwgc3RhdGUuaXNNb2RpZmllZCwgY2FuVHJpZ2dlckFjdGlvbihzdGF0ZSkpO1xuICByZXR1cm4gc3RhdGUuaXNNb2RpZmllZCAmJiBjYW5UcmlnZ2VyQWN0aW9uKHN0YXRlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFjdGlvbkNvbnRleHRIYXNOb0Vycm9yQW5kSXNNb2RpZmllZEFuZENhblRyaWdnZXIoc3RhdGU6IEFjdGlvbkNvbnRleHRTdGF0ZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gIXN0YXRlLmVycm9yICYmIGFjdGlvbkNvbnRleHRJc01vZGlmaWVkQW5kQ2FuVHJpZ2dlcihzdGF0ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkaW5nU3RhdGVGb3JBY3Rpb25Db250ZXh0U3RhdGU8TyA9IHVua25vd24+KHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGU8dW5rbm93biwgTz4pOiBMb2FkaW5nU3RhdGU8Tz4ge1xuICBsZXQgbG9hZGluZ1N0YXRlOiBMb2FkaW5nU3RhdGU8Tz47XG5cbiAgc3dpdGNoIChzdGF0ZS5hY3Rpb25TdGF0ZSkge1xuICAgIGNhc2UgRGJ4QWN0aW9uU3RhdGUuUkVTT0xWRUQ6XG4gICAgICBsb2FkaW5nU3RhdGUgPSBzdWNjZXNzUmVzdWx0KHN0YXRlLnJlc3VsdCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIERieEFjdGlvblN0YXRlLlJFSkVDVEVEOlxuICAgICAgbG9hZGluZ1N0YXRlID0gZXJyb3JSZXN1bHQoc3RhdGUuZXJyb3IpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBEYnhBY3Rpb25TdGF0ZS5JRExFOlxuICAgIGNhc2UgRGJ4QWN0aW9uU3RhdGUuRElTQUJMRUQ6XG4gICAgICBsb2FkaW5nU3RhdGUgPSBpZGxlTG9hZGluZ1N0YXRlKCk7XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgbG9hZGluZ1N0YXRlID0gYmVnaW5Mb2FkaW5nKCk7XG4gICAgICBicmVhaztcbiAgfVxuXG4gIHJldHVybiBsb2FkaW5nU3RhdGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkaW5nU3RhdGVUeXBlRm9yQWN0aW9uQ29udGV4dFN0YXRlKHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGUpOiBMb2FkaW5nU3RhdGVUeXBlIHtcbiAgcmV0dXJuIGxvYWRpbmdTdGF0ZVR5cGVGb3JBY3Rpb25TdGF0ZShzdGF0ZS5hY3Rpb25TdGF0ZSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uQ29udGV4dFN0YXRlPFQgPSB1bmtub3duLCBPID0gdW5rbm93bj4ge1xuICByZWFkb25seSBhY3Rpb25TdGF0ZTogRGJ4QWN0aW9uU3RhdGU7XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGlzIGFjdGlvbiBpcyBmbGFnZ2VkIGFzIGhhdmluZyBiZWVuIG1vZGlmaWVkLlxuICAgKi9cbiAgcmVhZG9ubHkgaXNNb2RpZmllZDogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFZhbHVlIHRoYXQgaXMgc2V0IGFmdGVyIGEgdHJpZ2dlcmVkIGFjdGlvbi4gTm90IHRvIGJlIGNvbmZ1c2VkIHdpdGggcmVzdWx0LlxuICAgKi9cbiAgcmVhZG9ubHkgdmFsdWU/OiBNYXliZTxUPjtcbiAgLyoqXG4gICAqIFJlc29sdmVkIHJlc3VsdCB2YWx1ZS5cbiAgICovXG4gIHJlYWRvbmx5IHJlc3VsdD86IE1heWJlPE8+O1xuICAvKipcbiAgICogUmVqZWN0ZWQgZXJyb3IsIGlmIGF2YWlsYWJsZS5cbiAgICovXG4gIHJlYWRvbmx5IGVycm9yPzogTWF5YmU8UmVhZGFibGVFcnJvcj47XG4gIC8qKlxuICAgKiBDdXJyZW50IGRpc2FibGVkIHN0YXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZWQ/OiBCb29sZWFuU3RyaW5nS2V5QXJyYXk7XG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgY29uc2VjdXRpdmUgZXJyb3JzIHRoYXQgaGF2ZSBvY2N1cmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZXJyb3JDb3VudD86IG51bWJlcjtcbn1cblxuY29uc3QgSU5JVElBTF9TVEFURTogQWN0aW9uQ29udGV4dFN0YXRlID0ge1xuICBpc01vZGlmaWVkOiBmYWxzZSxcbiAgYWN0aW9uU3RhdGU6IERieEFjdGlvblN0YXRlLklETEVcbn07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBY3Rpb25Db250ZXh0U3RvcmU8VCA9IHVua25vd24sIE8gPSB1bmtub3duPiBleHRlbmRzIENvbXBvbmVudFN0b3JlPEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPj4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICByZWFkb25seSBsb2NrU2V0ID0gbmV3IExvY2tTZXQoKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcih7IC4uLklOSVRJQUxfU1RBVEUgfSBhcyBBY3Rpb25Db250ZXh0U3RhdGU8VCwgTz4pO1xuICAgIHRoaXMubG9ja1NldC5hZGRMb2NrKCd3b3JraW5nJywgdGhpcy5pc1dvcmtpbmckKTtcbiAgfVxuXG4gIC8vIE1BUks6IEFjY2Vzc29yc1xuICByZWFkb25seSBhY3Rpb25TdGF0ZSQgPSB0aGlzLnN0YXRlJC5waXBlKFxuICAgIG1hcCgoeCkgPT4gKGlzRGlzYWJsZWRBY3Rpb25Db250ZXh0U3RhdGUoeCkgPyBEYnhBY3Rpb25TdGF0ZS5ESVNBQkxFRCA6IHguYWN0aW9uU3RhdGUpKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGRpc2FibGVkIHJlYXNvbnMva2V5cy5cbiAgICovXG4gIHJlYWRvbmx5IGRpc2FibGVkS2V5cyQgPSB0aGlzLnN0YXRlJC5waXBlKFxuICAgIG1hcCgoeCkgPT4gWy4uLih4LmRpc2FibGVkID8/IFtdKV0pLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvKipcbiAgICogQ3VycmVudCB2YWx1ZSBvZiB0aGUgc3RhdGUuXG4gICAqL1xuICByZWFkb25seSBjdXJyZW50VmFsdWUkOiBPYnNlcnZhYmxlPE1heWJlPFQ+PiA9IHRoaXMuc3RhdGUkLnBpcGUobWFwKCh4KSA9PiB4LnZhbHVlKSk7XG5cbiAgLyoqXG4gICAqIE1hcHMgdGhlIGN1cnJlbnQgc3RhdGUgdG8gdHJ1ZSBvciBub3Qgd2hlbiB0aGUgYWN0aW9uIHN0YXRlIGNoYW5nZXMgdG8vZnJvbSBkaXNhYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IGlzRGlzYWJsZWQkID0gdGhpcy5zdGF0ZSQucGlwZShtYXAoaXNEaXNhYmxlZEFjdGlvbkNvbnRleHRTdGF0ZSksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlUmVwbGF5KDEpKTtcblxuICAvKipcbiAgICogUGlwZXMgd2hlbiBpZGxlIGJ1dCBtb2RpZmllZC5cbiAgICovXG4gIHJlYWRvbmx5IGlzTW9kaWZpZWQkID0gdGhpcy5hZnRlckRpc3RpbmN0Qm9vbGVhbigoeCkgPT4geC5pc01vZGlmaWVkKTtcblxuICAvKipcbiAgICogUGlwZXMgdHJ1ZSB3aGVuIHRyaWdnZXJlZC5cbiAgICovXG4gIHJlYWRvbmx5IHRyaWdnZXJlZCQgPSB0aGlzLmFmdGVyRGlzdGluY3RBY3Rpb25TdGF0ZShEYnhBY3Rpb25TdGF0ZS5UUklHR0VSRUQsICgpID0+IHRydWUpO1xuXG4gIC8qKlxuICAgKiBQaXBlcyB0aGUgcmVhZGllZCB2YWx1ZSBvbiBWYWx1ZVJlYWR5LlxuICAgKi9cbiAgcmVhZG9ubHkgdmFsdWVSZWFkeSQ6IE9ic2VydmFibGU8VD4gPSB0aGlzLmFmdGVyRGlzdGluY3RBY3Rpb25TdGF0ZShEYnhBY3Rpb25TdGF0ZS5WQUxVRV9SRUFEWSwgKHgpID0+IHgudmFsdWUgYXMgVCk7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRoZSBlcnJvciBvbiB0aGUgcmVqZWN0aW9uIHN0YXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVqZWN0ZWQkID0gdGhpcy5hZnRlckRpc3RpbmN0QWN0aW9uU3RhdGUoRGJ4QWN0aW9uU3RhdGUuUkVKRUNURUQsICh4KSA9PiB4LmVycm9yKTtcblxuICAvKipcbiAgICogUGlwZXMgdGhlIHJlc3VsdCB3aGVuIHRoZSBBY3Rpb25TdGF0ZSBiZWNvbWVzIHJlamVjdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVqZWN0ZWRQYWlyJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlKERieEFjdGlvblN0YXRlLlJFU09MVkVELCAoeCkgPT4gKHsgdmFsdWU6IHgudmFsdWUsIGVycm9yOiB4LmVycm9yIH0pIGFzIERieEFjdGlvblJlamVjdGVkUGFpcjxUPik7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRoZSByZXN1bHQgd2hlbiB0aGUgQWN0aW9uU3RhdGUgYmVjb21lcyB3b3JraW5nLlxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2luZyQgPSB0aGlzLmFmdGVyRGlzdGluY3RBY3Rpb25TdGF0ZShEYnhBY3Rpb25TdGF0ZS5XT1JLSU5HLCAoKSA9PiB0cnVlKTtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgaXQgaXMgY3VycmVudGx5IGluIGEgd29ya2luZyBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGlzV29ya2luZyQgPSB0aGlzLmFmdGVyRGlzdGluY3RCb29sZWFuKCh4KSA9PiBpc1dvcmtpbmdBY3Rpb25TdGF0ZSh4LmFjdGlvblN0YXRlKSk7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRoZSBjdXJyZW50IGVycm9yLlxuICAgKi9cbiAgcmVhZG9ubHkgZXJyb3IkID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IHguZXJyb3IpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvKipcbiAgICogUGlwZXMgdGhlIHJlc3VsdCB3aGVuIHRoZSBBY3Rpb25TdGF0ZSBiZWNvbWVzIHN1Y2Nlc3MuXG4gICAqL1xuICByZWFkb25seSBzdWNjZXNzJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlKERieEFjdGlvblN0YXRlLlJFU09MVkVELCAoeCkgPT4geC5yZXN1bHQpO1xuXG4gIC8qKlxuICAgKiBQaXBlcyB0aGUgcmVzdWx0IHdoZW4gdGhlIEFjdGlvblN0YXRlIGJlY29tZXMgc3VjY2Vzcy5cbiAgICovXG4gIHJlYWRvbmx5IHN1Y2Nlc3NQYWlyJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlKERieEFjdGlvblN0YXRlLlJFU09MVkVELCAoeCkgPT4gKHsgdmFsdWU6IHgudmFsdWUsIHJlc3VsdDogeC5yZXN1bHQgfSkgYXMgRGJ4QWN0aW9uU3VjY2Vzc1BhaXI8VCwgTz4pO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCBpdCBpcyBjdXJyZW50bHkgaW4gYSBzdWNjZXNzIHN0YXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgaXNTdWNjZXNzJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEJvb2xlYW4oKHgpID0+IHguYWN0aW9uU3RhdGUgPT09IERieEFjdGlvblN0YXRlLlJFU09MVkVEKTtcblxuICAvKipcbiAgICogUmV0dXJucyBhIGxvYWRpbmcgc3RhdGUgYmFzZWQgb24gdGhlIGN1cnJlbnQgc3RhdGUuXG4gICAqL1xuICByZWFkb25seSBsb2FkaW5nU3RhdGUkID0gdGhpcy5hZnRlckRpc3RpbmN0TG9hZGluZ1N0YXRlVHlwZUNoYW5nZSgpLnBpcGUoXG4gICAgbWFwKCh4KSA9PiBsb2FkaW5nU3RhdGVGb3JBY3Rpb25Db250ZXh0U3RhdGU8Tz4oeCkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgTG9hZGluZ1N0YXRlVHlwZSBiYXNlZCBvbiB0aGUgY3VycmVudCBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGxvYWRpbmdTdGF0ZVR5cGUkID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IGxvYWRpbmdTdGF0ZVR5cGVGb3JBY3Rpb25Db250ZXh0U3RhdGUoeCkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvKipcbiAgICogTnVtYmVyIG9mIGVycm9ycyBzaW5jZSBsYXN0IHN1Y2Nlc3MuXG4gICAqL1xuICByZWFkb25seSBlcnJvckNvdW50U2luY2VMYXN0U3VjY2VzcyQgPSB0aGlzLmlzU3VjY2VzcyQucGlwZShcbiAgICBzdGFydFdpdGgoZmFsc2UpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuZXJyb3IkLnBpcGUoZmlsdGVyTWF5YmUoKSwgc2NhbkNvdW50KCksIHN0YXJ0V2l0aCgwKSkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoZSBzdGF0ZSBjYW4gYmUgdHJpZ2dlcmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY2FuVHJpZ2dlciQgPSB0aGlzLnN0YXRlJC5waXBlKG1hcChjYW5UcmlnZ2VyQWN0aW9uKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIC8qKlxuICAgKiBQaXBlIHRoYXQgbWFwcyB3aGV0aGVyIG9yIG5vdCB0aGlzIGlzIG1vZGlmaWVkIGFuZCBjYW4gYmUgdHJpZ2dlcmVkLlxuICAgKlxuICAgKiBVcGRhdGVzIGV2ZXJ5IHN0YXRlIHVwZGF0ZSBpbnN0ZWFkIG9mIHdoZW4gdGhlIHZhbHVlIGNoYW5nZXMuXG4gICAqL1xuICByZWFkb25seSBpc01vZGlmaWVkQW5kQ2FuVHJpZ2dlclVwZGF0ZXMkID0gdGhpcy5zdGF0ZSQucGlwZShtYXAoKHgpID0+IGFjdGlvbkNvbnRleHRJc01vZGlmaWVkQW5kQ2FuVHJpZ2dlcih4KSwgc2hhcmVSZXBsYXkoMSkpKTtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgaXQgY2FuIGJlIHRyaWdnZXJlZCBhbmQgbW9kaWZpZWQuXG4gICAqL1xuICByZWFkb25seSBpc01vZGlmaWVkQW5kQ2FuVHJpZ2dlciQgPSB0aGlzLmlzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyVXBkYXRlcyQucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcblxuICByZWFkb25seSBoYXNOb0Vycm9yQW5kSXNNb2RpZmllZEFuZENhblRyaWdnZXIkID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IGFjdGlvbkNvbnRleHRIYXNOb0Vycm9yQW5kSXNNb2RpZmllZEFuZENhblRyaWdnZXIoeCkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvLyBNQVJLOiBTdGF0ZSBDaGFuZ2VzXG4gIC8qKlxuICAgKiBBZGRzIGEgZGlzYWJsZWQgcmVhc29uLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGtleT86IHZvaWQgfCBEYnhBY3Rpb25EaXNhYmxlZEtleSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBkaXNhYmxlZDogQm9vbGVhblN0cmluZ0tleUFycmF5VXRpbGl0eS5pbnNlcnQoc3RhdGUuZGlzYWJsZWQsIChrZXkgYXMgc3RyaW5nKSA/PyBERUZBVUxUX0FDVElPTl9ESVNBQkxFRF9LRVkpXG4gIH0pKTtcblxuICAvKipcbiAgICogUmVtb3ZlcyBhIGRpc2FibGVkIHJlYXNvbi5cbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGtleT86IHZvaWQgfCBEYnhBY3Rpb25EaXNhYmxlZEtleSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBkaXNhYmxlZDogQm9vbGVhblN0cmluZ0tleUFycmF5VXRpbGl0eS5yZW1vdmUoc3RhdGUuZGlzYWJsZWQsIChrZXkgYXMgc3RyaW5nKSA/PyBERUZBVUxUX0FDVElPTl9ESVNBQkxFRF9LRVkpXG4gIH0pKTtcblxuICAvKipcbiAgICogVHJpZ2dlcnMgdGhlIG1vZGlmaWVkIHN0YXRlLCBpZiBub3QgZGlzYWJsZWQuXG4gICAqXG4gICAqIEVxdWl2YWxlbnQgdG8gY2FsbGluZyBzZXRJc01vZGlmaWVkKCkgd2l0aCBvcHBvc2l0ZSBpbnB1dC5cbiAgICovXG4gIHJlYWRvbmx5IHNldElzU2FtZSA9IHRoaXMudXBkYXRlcjx2b2lkLCB2b2lkIHwgYm9vbGVhbj4odXBkYXRlSXNTYW1lT25BY3Rpb25Db250ZXh0U3RhdGUpO1xuXG4gIC8qKlxuICAgKiBUcmlnZ2VycyB0aGUgbW9kaWZpZWQgc3RhdGUsIGlmIG5vdCBkaXNhYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IHNldElzTW9kaWZpZWQgPSB0aGlzLnVwZGF0ZXI8dm9pZCwgdm9pZCB8IGJvb2xlYW4+KHVwZGF0ZUlzTW9kaWZpZWRPbkFjdGlvbkNvbnRleHRTdGF0ZSk7XG5cbiAgLyoqXG4gICAqIFRyaWdnZXJzIHRoZSBhY3Rpb24gaWYgdGhlIHN0YXRlIGlzIGN1cnJlbnRseSBub3QgaWRsZS4gVGhlIGN1cnJlbnQgc3RhdGUgaXMgY2xlYXJlZCwgYnV0IHRoZSBlcnJvciBpcyByZXRhaW5lZCAoYXMgd2UgbWF5IG5lZWQgdGhlIGVycm9yIGZyb20gdGhlIHByZXZpb3VzIGF0dGVtcHQpLlxuICAgKlxuICAgKiBXaWxsIG5vdCBmaXJlIGlmIHRoZSBhY3Rpb24gaXMgZGlzYWJsZWQuXG4gICAqL1xuICByZWFkb25seSB0cmlnZ2VyID0gdGhpcy51cGRhdGVyKChzdGF0ZSkgPT4gKGNhblRyaWdnZXJBY3Rpb24oc3RhdGUpID8geyBpc01vZGlmaWVkOiBzdGF0ZS5pc01vZGlmaWVkLCBhY3Rpb25TdGF0ZTogRGJ4QWN0aW9uU3RhdGUuVFJJR0dFUkVELCBlcnJvcjogc3RhdGUuZXJyb3IsIHZhbHVlOiB1bmRlZmluZWQgfSA6IHN0YXRlKSk7XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIHZhbHVlLCBzZXR0aW5nIHZhbHVlIHJlYWR5LiBUaGUgY3VycmVudCByZXN1bHQgaXMgY2xlYXJlZC5cbiAgICovXG4gIHJlYWRvbmx5IHJlYWR5VmFsdWUgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCB2YWx1ZTogVCkgPT4gKGNhblJlYWR5VmFsdWUoc3RhdGUpID8geyAuLi5zdGF0ZSwgYWN0aW9uU3RhdGU6IERieEFjdGlvblN0YXRlLlZBTFVFX1JFQURZLCB2YWx1ZSwgcmVzdWx0OiB1bmRlZmluZWQgfSA6IHN0YXRlKSk7XG5cbiAgLyoqXG4gICAqIE5vdGlmeXMgdGhlIGNvbnRleHQgdGhhdCB0aGUgYWN0aW9uIGlzIGluIHByb2dyZXNzLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhcnRXb3JraW5nID0gdGhpcy51cGRhdGVyKChzdGF0ZSkgPT4gKHsgLi4uc3RhdGUsIGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZS5XT1JLSU5HIH0pKTtcblxuICAvKipcbiAgICogVHJpZ2dlcnMgcmVqZWN0aW9uIG9mIHRoZSBhY3Rpb24uIFRoZSB2YWx1ZSBpcyBjbGVhcmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVqZWN0ID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgZXJyb3I/OiBNYXliZTxSZWFkYWJsZUVycm9yPikgPT4gKHtcbiAgICBpc01vZGlmaWVkOiBzdGF0ZS5pc01vZGlmaWVkLFxuICAgIGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZS5SRUpFQ1RFRCxcbiAgICBlcnJvcixcbiAgICBlcnJvckNvdW50OiAoc3RhdGUuZXJyb3JDb3VudCA/PyAwKSArIDEsXG4gICAgZGlzYWJsZWQ6IHN0YXRlLmRpc2FibGVkXG4gIH0pKTtcblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgc3RhdGUgdG8gc3VjY2VzcywgYW5kIG9wdGlvbmFsbHkgc2V0cyBhIHJlc3VsdC5cbiAgICpcbiAgICogQ2xlYXJzIG1vZGlmaWVkIHN0YXRlLCBhbmQgYW55IGVycm9ycy5cbiAgICovXG4gIHJlYWRvbmx5IHJlc29sdmUgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCByZXN1bHQ/OiBNYXliZTxPPikgPT4gKHsgaXNNb2RpZmllZDogZmFsc2UsIGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZS5SRVNPTFZFRCwgdmFsdWU6IHN0YXRlLnZhbHVlLCByZXN1bHQsIGVycm9yOiB1bmRlZmluZWQsIGRpc2FibGVkOiBzdGF0ZS5kaXNhYmxlZCB9KSk7XG5cbiAgLyoqXG4gICAqIENvbXBsZXRlbHkgcmVzZXRzIHRoZSBzdG9yZS5cbiAgICovXG4gIHJlYWRvbmx5IHJlc2V0ID0gdGhpcy51cGRhdGVyKCgpID0+ICh7IC4uLklOSVRJQUxfU1RBVEUgfSkgYXMgQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+KTtcblxuICAvLyBNQVJLOiBVdGlsaXR5XG4gIGFmdGVyRGlzdGluY3RCb29sZWFuKGZyb21TdGF0ZTogKHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGU8VCwgTz4pID0+IGJvb2xlYW4pOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZSQucGlwZShcbiAgICAgIG1hcCgoeCkgPT4gZnJvbVN0YXRlKHgpKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICBzaGFyZVJlcGxheSgxKVxuICAgICk7XG4gIH1cblxuICBhZnRlckRpc3RpbmN0QWN0aW9uU3RhdGU8WD4oYWN0aW9uU3RhdGU6IERieEFjdGlvblN0YXRlLCBmcm9tU3RhdGU6IChzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+KSA9PiBYKTogT2JzZXJ2YWJsZTxYPiB7XG4gICAgcmV0dXJuIHRoaXMuYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlQ2hhbmdlKCkucGlwZShcbiAgICAgIGZpbHRlcigoeCkgPT4geC5hY3Rpb25TdGF0ZSA9PT0gYWN0aW9uU3RhdGUpLCAvLyBPbmx5IHBpcGUgd2hlbiB0aGUgbmV3IGFjdGlvbiBzdGF0ZSBtYXRjaGVzLlxuICAgICAgbWFwKCh4KSA9PiBmcm9tU3RhdGUoeCkpLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuICB9XG5cbiAgYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlQ2hhbmdlKCk6IE9ic2VydmFibGU8QWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+PiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgICBtYXAoKHgpID0+IFt4LCB4LmFjdGlvblN0YXRlXSBhcyBbQWN0aW9uQ29udGV4dFN0YXRlLCBEYnhBY3Rpb25TdGF0ZV0pLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IGE/LlsxXSA9PT0gYj8uWzFdKSwgLy8gRmlsdGVyIG91dCB3aGVuIHRoZSBzdGF0ZSByZW1haW5zIHRoZSBzYW1lLlxuICAgICAgbWFwKCh4KSA9PiB4WzBdIGFzIEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPiksXG4gICAgICBzaGFyZVJlcGxheSgxKVxuICAgICk7XG4gIH1cblxuICBhZnRlckRpc3RpbmN0TG9hZGluZ1N0YXRlVHlwZUNoYW5nZSgpOiBPYnNlcnZhYmxlPEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPj4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlJC5waXBlKFxuICAgICAgbWFwKCh4KSA9PiBbeCwgbG9hZGluZ1N0YXRlVHlwZUZvckFjdGlvbkNvbnRleHRTdGF0ZSh4KV0gYXMgW0FjdGlvbkNvbnRleHRTdGF0ZSwgTG9hZGluZ1N0YXRlVHlwZV0pLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IGE/LlsxXSA9PT0gYj8uWzFdKSwgLy8gRmlsdGVyIG91dCB3aGVuIHRoZSBsb2FkaW5nIHN0YXRlIHJlbWFpbnMgdGhlIHNhbWUuXG4gICAgICBtYXAoKHgpID0+IHhbMF0gYXMgQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+KSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKTtcbiAgfVxuXG4gIC8vIE1BUks6IENsZWFudXBcbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgLy8gV2FpdCBmb3IgYW55IGFjdGlvbnMgdG8gY29tcGxldGUgYmVmb3JlIGRlc3Ryb3lpbmcuXG4gICAgdGhpcy5sb2NrU2V0Lm9uTmV4dFVubG9jaygoKSA9PiB7XG4gICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH0sIDIwMDApO1xuICB9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUlzU2FtZU9uQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+KHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGU8VCwgTz4sIGlzU2FtZT86IHZvaWQgfCBib29sZWFuKTogQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+IHtcbiAgcmV0dXJuIHVwZGF0ZUlzTW9kaWZpZWRPbkFjdGlvbkNvbnRleHRTdGF0ZShzdGF0ZSwgaXNTYW1lID09IG51bGwgPyBmYWxzZSA6ICFpc1NhbWUpO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVJc01vZGlmaWVkT25BY3Rpb25Db250ZXh0U3RhdGU8VCwgTz4oc3RhdGU6IEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPiwgaXNNb2RpZmllZD86IHZvaWQgfCBib29sZWFuKTogQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+IHtcbiAgcmV0dXJuIHtcbiAgICAuLi5zdGF0ZSxcbiAgICBhY3Rpb25TdGF0ZTogc3RhdGUuYWN0aW9uU3RhdGUgPT09IERieEFjdGlvblN0YXRlLlJFU09MVkVEID8gRGJ4QWN0aW9uU3RhdGUuSURMRSA6IHN0YXRlLmFjdGlvblN0YXRlLCAvLyBTZXQgdG8gaWRsZSBmcm9tIHN1Y2Nlc3MuXG4gICAgaXNNb2RpZmllZDogKGlzTW9kaWZpZWQgYXMgYm9vbGVhbikgPz8gdHJ1ZSAvLyBpZiBpc01vZGlmaWVkIGlzIG5vdCBpbnB1dCwgZGVmYXVsdCBpdCB0byB0cnVlXG4gIH07XG59XG4iXX0=
|
|
255
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hY3Rpb24vYWN0aW9uLnN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBYyxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hHLE9BQU8sRUFBeUIsNEJBQTRCLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBQzFHLE9BQU8sRUFBb0IsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBZ0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVKLE9BQU8sRUFBK0MsY0FBYyxFQUF3QiwyQkFBMkIsRUFBRSxpQkFBaUIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFFN0wsTUFBTSxVQUFVLHNCQUFzQixDQUFDLEtBQXlCO0lBQzlELE9BQU8sNEJBQTRCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUM5RCxDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUFDLEtBQXlCO0lBQy9ELE9BQU8sNEJBQTRCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUM3RCxDQUFDO0FBRUQsTUFBTSxVQUFVLDRCQUE0QixDQUFDLEtBQXlCO0lBQ3BFLE9BQU8saUJBQWlCLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hGLENBQUM7QUFFRCxNQUFNLFVB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O0FBeVFYLFNBQVMsZ0NBQWdDLENBQU8sS0FBK0IsRUFBRSxNQUF1QjtJQUN0RyxPQUFPLG9DQUFvQyxDQUFDLEtBQUssRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDdkYsQ0FBQztBQUVELFNBQVMsb0NBQW9DLENBQU8sS0FBK0IsRUFBRSxVQUEyQjtJQUM5RyxPQUFPO1FBQ0wsR0FBRyxLQUFLO1FBQ1IsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXLEtBQUssY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSw0QkFBNEI7UUFDbEksVUFBVSxFQUFHLFVBQXNCLElBQUksSUFBSSxDQUFDLGlEQUFpRDtLQUM5RixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50U3RvcmUgfSBmcm9tICdAbmdyeC9jb21wb25lbnQtc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwLCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJvb2xlYW5TdHJpbmdLZXlBcnJheSwgQm9vbGVhblN0cmluZ0tleUFycmF5VXRpbGl0eSwgTWF5YmUsIFJlYWRhYmxlRXJyb3IgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IExvYWRpbmdTdGF0ZVR5cGUsIGlkbGVMb2FkaW5nU3RhdGUsIGVycm9yUmVzdWx0LCBmaWx0ZXJNYXliZSwgTG9hZGluZ1N0YXRlLCBMb2NrU2V0LCBzY2FuQ291bnQsIHN1Y2Nlc3NSZXN1bHQsIGJlZ2luTG9hZGluZyB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgRGJ4QWN0aW9uRGlzYWJsZWRLZXksIERieEFjdGlvblJlamVjdGVkUGFpciwgRGJ4QWN0aW9uU3RhdGUsIERieEFjdGlvblN1Y2Nlc3NQYWlyLCBERUZBVUxUX0FDVElPTl9ESVNBQkxFRF9LRVksIGlzSWRsZUFjdGlvblN0YXRlLCBsb2FkaW5nU3RhdGVUeXBlRm9yQWN0aW9uU3RhdGUgfSBmcm9tICcuL2FjdGlvbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FjdGlvbkNvbnRleHRFbmFibGVkKHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIEJvb2xlYW5TdHJpbmdLZXlBcnJheVV0aWxpdHkuaXNGYWxzZShzdGF0ZS5kaXNhYmxlZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FjdGlvbkNvbnRleHREaXNhYmxlZChzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlKTogYm9vbGVhbiB7XG4gIHJldHVybiBCb29sZWFuU3RyaW5nS2V5QXJyYXlVdGlsaXR5LmlzVHJ1ZShzdGF0ZS5kaXNhYmxlZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Rpc2FibGVkQWN0aW9uQ29udGV4dFN0YXRlKHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzSWRsZUFjdGlvblN0YXRlKHN0YXRlLmFjdGlvblN0YXRlKSAmJiBpc0FjdGlvbkNvbnRleHREaXNhYmxlZChzdGF0ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1dvcmtpbmdBY3Rpb25TdGF0ZShhY3Rpb25TdGF0ZTogRGJ4QWN0aW9uU3RhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuICFpc0lkbGVBY3Rpb25TdGF0ZShhY3Rpb25TdGF0ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYW5UcmlnZ2VyQWN0aW9uU3RhdGUoYWN0aW9uU3RhdGU6IERieEFjdGlvblN0YXRlKTogYm9vbGVhbiB7XG4gIHJldHVybiBhY3Rpb25TdGF0ZSAhPT0gRGJ4QWN0aW9uU3RhdGUuRElTQUJMRUQgJiYgaXNJZGxlQWN0aW9uU3RhdGUoYWN0aW9uU3RhdGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FuVHJpZ2dlckFjdGlvbihzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc0FjdGlvbkNvbnRleHRFbmFibGVkKHN0YXRlKSAmJiBpc0lkbGVBY3Rpb25TdGF0ZShzdGF0ZS5hY3Rpb25TdGF0ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYW5SZWFkeVZhbHVlKHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIHN0YXRlLmFjdGlvblN0YXRlID09PSBEYnhBY3Rpb25TdGF0ZS5UUklHR0VSRUQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhY3Rpb25Db250ZXh0SXNNb2RpZmllZEFuZENhblRyaWdnZXIoc3RhdGU6IEFjdGlvbkNvbnRleHRTdGF0ZSk6IGJvb2xlYW4ge1xuICAvLyBjb25zb2xlLmxvZygnY2hlY2s6ICcsIHN0YXRlLCBzdGF0ZS5pc01vZGlmaWVkLCBjYW5UcmlnZ2VyQWN0aW9uKHN0YXRlKSk7XG4gIHJldHVybiBzdGF0ZS5pc01vZGlmaWVkICYmIGNhblRyaWdnZXJBY3Rpb24oc3RhdGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWN0aW9uQ29udGV4dEhhc05vRXJyb3JBbmRJc01vZGlmaWVkQW5kQ2FuVHJpZ2dlcihzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlKTogYm9vbGVhbiB7XG4gIHJldHVybiAhc3RhdGUuZXJyb3IgJiYgYWN0aW9uQ29udGV4dElzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyKHN0YXRlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRpbmdTdGF0ZUZvckFjdGlvbkNvbnRleHRTdGF0ZTxPID0gdW5rbm93bj4oc3RhdGU6IEFjdGlvbkNvbnRleHRTdGF0ZTx1bmtub3duLCBPPik6IExvYWRpbmdTdGF0ZTxPPiB7XG4gIGxldCBsb2FkaW5nU3RhdGU6IExvYWRpbmdTdGF0ZTxPPjtcblxuICBzd2l0Y2ggKHN0YXRlLmFjdGlvblN0YXRlKSB7XG4gICAgY2FzZSBEYnhBY3Rpb25TdGF0ZS5SRVNPTFZFRDpcbiAgICAgIGxvYWRpbmdTdGF0ZSA9IHN1Y2Nlc3NSZXN1bHQoc3RhdGUucmVzdWx0KTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgRGJ4QWN0aW9uU3RhdGUuUkVKRUNURUQ6XG4gICAgICBsb2FkaW5nU3RhdGUgPSBlcnJvclJlc3VsdChzdGF0ZS5lcnJvcik7XG4gICAgICBicmVhaztcbiAgICBjYXNlIERieEFjdGlvblN0YXRlLklETEU6XG4gICAgY2FzZSBEYnhBY3Rpb25TdGF0ZS5ESVNBQkxFRDpcbiAgICAgIGxvYWRpbmdTdGF0ZSA9IGlkbGVMb2FkaW5nU3RhdGUoKTtcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICBsb2FkaW5nU3RhdGUgPSBiZWdpbkxvYWRpbmcoKTtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgcmV0dXJuIGxvYWRpbmdTdGF0ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRpbmdTdGF0ZVR5cGVGb3JBY3Rpb25Db250ZXh0U3RhdGUoc3RhdGU6IEFjdGlvbkNvbnRleHRTdGF0ZSk6IExvYWRpbmdTdGF0ZVR5cGUge1xuICByZXR1cm4gbG9hZGluZ1N0YXRlVHlwZUZvckFjdGlvblN0YXRlKHN0YXRlLmFjdGlvblN0YXRlKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25Db250ZXh0U3RhdGU8VCA9IHVua25vd24sIE8gPSB1bmtub3duPiB7XG4gIHJlYWRvbmx5IGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZTtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoaXMgYWN0aW9uIGlzIGZsYWdnZWQgYXMgaGF2aW5nIGJlZW4gbW9kaWZpZWQuXG4gICAqL1xuICByZWFkb25seSBpc01vZGlmaWVkOiBib29sZWFuO1xuICAvKipcbiAgICogVmFsdWUgdGhhdCBpcyBzZXQgYWZ0ZXIgYSB0cmlnZ2VyZWQgYWN0aW9uLiBOb3QgdG8gYmUgY29uZnVzZWQgd2l0aCByZXN1bHQuXG4gICAqL1xuICByZWFkb25seSB2YWx1ZT86IE1heWJlPFQ+O1xuICAvKipcbiAgICogUmVzb2x2ZWQgcmVzdWx0IHZhbHVlLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzdWx0PzogTWF5YmU8Tz47XG4gIC8qKlxuICAgKiBSZWplY3RlZCBlcnJvciwgaWYgYXZhaWxhYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgZXJyb3I/OiBNYXliZTxSZWFkYWJsZUVycm9yPjtcbiAgLyoqXG4gICAqIEN1cnJlbnQgZGlzYWJsZWQgc3RhdGUuXG4gICAqL1xuICByZWFkb25seSBkaXNhYmxlZD86IEJvb2xlYW5TdHJpbmdLZXlBcnJheTtcbiAgLyoqXG4gICAqIE51bWJlciBvZiBjb25zZWN1dGl2ZSBlcnJvcnMgdGhhdCBoYXZlIG9jY3VyZWQuXG4gICAqL1xuICByZWFkb25seSBlcnJvckNvdW50PzogbnVtYmVyO1xufVxuXG5jb25zdCBJTklUSUFMX1NUQVRFOiBBY3Rpb25Db250ZXh0U3RhdGUgPSB7XG4gIGlzTW9kaWZpZWQ6IGZhbHNlLFxuICBhY3Rpb25TdGF0ZTogRGJ4QWN0aW9uU3RhdGUuSURMRVxufTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFjdGlvbkNvbnRleHRTdG9yZTxUID0gdW5rbm93biwgTyA9IHVua25vd24+IGV4dGVuZHMgQ29tcG9uZW50U3RvcmU8QWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+PiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHJlYWRvbmx5IGxvY2tTZXQgPSBuZXcgTG9ja1NldCgpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKHsgLi4uSU5JVElBTF9TVEFURSB9IGFzIEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPik7XG4gICAgdGhpcy5sb2NrU2V0LmFkZExvY2soJ3dvcmtpbmcnLCB0aGlzLmlzV29ya2luZyQpO1xuICB9XG5cbiAgLy8gTUFSSzogQWNjZXNzb3JzXG4gIHJlYWRvbmx5IGFjdGlvblN0YXRlJCA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiAoaXNEaXNhYmxlZEFjdGlvbkNvbnRleHRTdGF0ZSh4KSA/IERieEFjdGlvblN0YXRlLkRJU0FCTEVEIDogeC5hY3Rpb25TdGF0ZSkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgZGlzYWJsZWQgcmVhc29ucy9rZXlzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZWRLZXlzJCA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiBbLi4uKHguZGlzYWJsZWQgPz8gW10pXSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIC8qKlxuICAgKiBDdXJyZW50IHZhbHVlIG9mIHRoZSBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGN1cnJlbnRWYWx1ZSQ6IE9ic2VydmFibGU8TWF5YmU8VD4+ID0gdGhpcy5zdGF0ZSQucGlwZShtYXAoKHgpID0+IHgudmFsdWUpKTtcblxuICAvKipcbiAgICogTWFwcyB0aGUgY3VycmVudCBzdGF0ZSB0byB0cnVlIG9yIG5vdCB3aGVuIHRoZSBhY3Rpb24gc3RhdGUgY2hhbmdlcyB0by9mcm9tIGRpc2FibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgaXNEaXNhYmxlZCQgPSB0aGlzLnN0YXRlJC5waXBlKG1hcChpc0Rpc2FibGVkQWN0aW9uQ29udGV4dFN0YXRlKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIC8qKlxuICAgKiBQaXBlcyB3aGVuIGlkbGUgYnV0IG1vZGlmaWVkLlxuICAgKi9cbiAgcmVhZG9ubHkgaXNNb2RpZmllZCQgPSB0aGlzLmFmdGVyRGlzdGluY3RCb29sZWFuKCh4KSA9PiB4LmlzTW9kaWZpZWQpO1xuXG4gIC8qKlxuICAgKiBQaXBlcyB0cnVlIHdoZW4gaWRsZS5cbiAgICovXG4gIHJlYWRvbmx5IGlkbGUkID0gdGhpcy5hY3Rpb25TdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IHggPT09IERieEFjdGlvblN0YXRlLklETEUpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvKipcbiAgICogUGlwZXMgdHJ1ZSB3aGVuIHRyaWdnZXJlZC5cbiAgICovXG4gIHJlYWRvbmx5IHRyaWdnZXJlZCQgPSB0aGlzLmFmdGVyRGlzdGluY3RBY3Rpb25TdGF0ZShEYnhBY3Rpb25TdGF0ZS5UUklHR0VSRUQsICgpID0+IHRydWUpO1xuXG4gIC8qKlxuICAgKiBQaXBlcyB0aGUgcmVhZGllZCB2YWx1ZSBvbiBWYWx1ZVJlYWR5LlxuICAgKi9cbiAgcmVhZG9ubHkgdmFsdWVSZWFkeSQ6IE9ic2VydmFibGU8VD4gPSB0aGlzLmFmdGVyRGlzdGluY3RBY3Rpb25TdGF0ZShEYnhBY3Rpb25TdGF0ZS5WQUxVRV9SRUFEWSwgKHgpID0+IHgudmFsdWUgYXMgVCk7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRoZSBlcnJvciBvbiB0aGUgcmVqZWN0aW9uIHN0YXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVqZWN0ZWQkID0gdGhpcy5hZnRlckRpc3RpbmN0QWN0aW9uU3RhdGUoRGJ4QWN0aW9uU3RhdGUuUkVKRUNURUQsICh4KSA9PiB4LmVycm9yKTtcblxuICAvKipcbiAgICogUGlwZXMgdGhlIHJlc3VsdCB3aGVuIHRoZSBBY3Rpb25TdGF0ZSBiZWNvbWVzIHJlamVjdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVqZWN0ZWRQYWlyJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlKERieEFjdGlvblN0YXRlLlJFU09MVkVELCAoeCkgPT4gKHsgdmFsdWU6IHgudmFsdWUsIGVycm9yOiB4LmVycm9yIH0pIGFzIERieEFjdGlvblJlamVjdGVkUGFpcjxUPik7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRoZSByZXN1bHQgd2hlbiB0aGUgQWN0aW9uU3RhdGUgYmVjb21lcyB3b3JraW5nLlxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2luZyQgPSB0aGlzLmFmdGVyRGlzdGluY3RBY3Rpb25TdGF0ZShEYnhBY3Rpb25TdGF0ZS5XT1JLSU5HLCAoKSA9PiB0cnVlKTtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgaXQgaXMgY3VycmVudGx5IGluIGEgd29ya2luZyBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGlzV29ya2luZyQgPSB0aGlzLmFmdGVyRGlzdGluY3RCb29sZWFuKCh4KSA9PiBpc1dvcmtpbmdBY3Rpb25TdGF0ZSh4LmFjdGlvblN0YXRlKSk7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRoZSBjdXJyZW50IGVycm9yLlxuICAgKi9cbiAgcmVhZG9ubHkgZXJyb3IkID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IHguZXJyb3IpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvKipcbiAgICogUGlwZXMgdGhlIHJlc3VsdCB3aGVuIHRoZSBBY3Rpb25TdGF0ZSBiZWNvbWVzIHN1Y2Nlc3MuXG4gICAqL1xuICByZWFkb25seSBzdWNjZXNzJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlKERieEFjdGlvblN0YXRlLlJFU09MVkVELCAoeCkgPT4geC5yZXN1bHQpO1xuXG4gIC8qKlxuICAgKiBQaXBlcyB0aGUgcmVzdWx0IHdoZW4gdGhlIEFjdGlvblN0YXRlIGJlY29tZXMgc3VjY2Vzcy5cbiAgICovXG4gIHJlYWRvbmx5IHN1Y2Nlc3NQYWlyJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlKERieEFjdGlvblN0YXRlLlJFU09MVkVELCAoeCkgPT4gKHsgdmFsdWU6IHgudmFsdWUsIHJlc3VsdDogeC5yZXN1bHQgfSkgYXMgRGJ4QWN0aW9uU3VjY2Vzc1BhaXI8VCwgTz4pO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCBpdCBpcyBjdXJyZW50bHkgaW4gYSBzdWNjZXNzIHN0YXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgaXNTdWNjZXNzJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEJvb2xlYW4oKHgpID0+IHguYWN0aW9uU3RhdGUgPT09IERieEFjdGlvblN0YXRlLlJFU09MVkVEKTtcblxuICAvKipcbiAgICogUmV0dXJucyBhIGxvYWRpbmcgc3RhdGUgYmFzZWQgb24gdGhlIGN1cnJlbnQgc3RhdGUuXG4gICAqL1xuICByZWFkb25seSBsb2FkaW5nU3RhdGUkID0gdGhpcy5hZnRlckRpc3RpbmN0TG9hZGluZ1N0YXRlVHlwZUNoYW5nZSgpLnBpcGUoXG4gICAgbWFwKCh4KSA9PiBsb2FkaW5nU3RhdGVGb3JBY3Rpb25Db250ZXh0U3RhdGU8Tz4oeCkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgTG9hZGluZ1N0YXRlVHlwZSBiYXNlZCBvbiB0aGUgY3VycmVudCBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGxvYWRpbmdTdGF0ZVR5cGUkID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IGxvYWRpbmdTdGF0ZVR5cGVGb3JBY3Rpb25Db250ZXh0U3RhdGUoeCkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvKipcbiAgICogTnVtYmVyIG9mIGVycm9ycyBzaW5jZSBsYXN0IHN1Y2Nlc3MuXG4gICAqL1xuICByZWFkb25seSBlcnJvckNvdW50U2luY2VMYXN0U3VjY2VzcyQgPSB0aGlzLmlzU3VjY2VzcyQucGlwZShcbiAgICBzdGFydFdpdGgoZmFsc2UpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuZXJyb3IkLnBpcGUoZmlsdGVyTWF5YmUoKSwgc2NhbkNvdW50KCksIHN0YXJ0V2l0aCgwKSkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoZSBzdGF0ZSBjYW4gYmUgdHJpZ2dlcmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY2FuVHJpZ2dlciQgPSB0aGlzLnN0YXRlJC5waXBlKG1hcChjYW5UcmlnZ2VyQWN0aW9uKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIC8qKlxuICAgKiBQaXBlIHRoYXQgbWFwcyB3aGV0aGVyIG9yIG5vdCB0aGlzIGlzIG1vZGlmaWVkIGFuZCBjYW4gYmUgdHJpZ2dlcmVkLlxuICAgKlxuICAgKiBVcGRhdGVzIGV2ZXJ5IHN0YXRlIHVwZGF0ZSBpbnN0ZWFkIG9mIHdoZW4gdGhlIHZhbHVlIGNoYW5nZXMuXG4gICAqL1xuICByZWFkb25seSBpc01vZGlmaWVkQW5kQ2FuVHJpZ2dlclVwZGF0ZXMkID0gdGhpcy5zdGF0ZSQucGlwZShtYXAoKHgpID0+IGFjdGlvbkNvbnRleHRJc01vZGlmaWVkQW5kQ2FuVHJpZ2dlcih4KSwgc2hhcmVSZXBsYXkoMSkpKTtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgaXQgY2FuIGJlIHRyaWdnZXJlZCBhbmQgbW9kaWZpZWQuXG4gICAqL1xuICByZWFkb25seSBpc01vZGlmaWVkQW5kQ2FuVHJpZ2dlciQgPSB0aGlzLmlzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyVXBkYXRlcyQucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcblxuICByZWFkb25seSBoYXNOb0Vycm9yQW5kSXNNb2RpZmllZEFuZENhblRyaWdnZXIkID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IGFjdGlvbkNvbnRleHRIYXNOb0Vycm9yQW5kSXNNb2RpZmllZEFuZENhblRyaWdnZXIoeCkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvLyBNQVJLOiBTdGF0ZSBDaGFuZ2VzXG4gIC8qKlxuICAgKiBBZGRzIGEgZGlzYWJsZWQgcmVhc29uLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGtleT86IHZvaWQgfCBEYnhBY3Rpb25EaXNhYmxlZEtleSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBkaXNhYmxlZDogQm9vbGVhblN0cmluZ0tleUFycmF5VXRpbGl0eS5pbnNlcnQoc3RhdGUuZGlzYWJsZWQsIChrZXkgYXMgc3RyaW5nKSA/PyBERUZBVUxUX0FDVElPTl9ESVNBQkxFRF9LRVkpXG4gIH0pKTtcblxuICAvKipcbiAgICogUmVtb3ZlcyBhIGRpc2FibGVkIHJlYXNvbi5cbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGtleT86IHZvaWQgfCBEYnhBY3Rpb25EaXNhYmxlZEtleSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBkaXNhYmxlZDogQm9vbGVhblN0cmluZ0tleUFycmF5VXRpbGl0eS5yZW1vdmUoc3RhdGUuZGlzYWJsZWQsIChrZXkgYXMgc3RyaW5nKSA/PyBERUZBVUxUX0FDVElPTl9ESVNBQkxFRF9LRVkpXG4gIH0pKTtcblxuICAvKipcbiAgICogVHJpZ2dlcnMgdGhlIG1vZGlmaWVkIHN0YXRlLCBpZiBub3QgZGlzYWJsZWQuXG4gICAqXG4gICAqIEVxdWl2YWxlbnQgdG8gY2FsbGluZyBzZXRJc01vZGlmaWVkKCkgd2l0aCBvcHBvc2l0ZSBpbnB1dC5cbiAgICovXG4gIHJlYWRvbmx5IHNldElzU2FtZSA9IHRoaXMudXBkYXRlcjx2b2lkLCB2b2lkIHwgYm9vbGVhbj4odXBkYXRlSXNTYW1lT25BY3Rpb25Db250ZXh0U3RhdGUpO1xuXG4gIC8qKlxuICAgKiBUcmlnZ2VycyB0aGUgbW9kaWZpZWQgc3RhdGUsIGlmIG5vdCBkaXNhYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IHNldElzTW9kaWZpZWQgPSB0aGlzLnVwZGF0ZXI8dm9pZCwgdm9pZCB8IGJvb2xlYW4+KHVwZGF0ZUlzTW9kaWZpZWRPbkFjdGlvbkNvbnRleHRTdGF0ZSk7XG5cbiAgLyoqXG4gICAqIFRyaWdnZXJzIHRoZSBhY3Rpb24gaWYgdGhlIHN0YXRlIGlzIGN1cnJlbnRseSBub3QgaWRsZS4gVGhlIGN1cnJlbnQgc3RhdGUgaXMgY2xlYXJlZCwgYnV0IHRoZSBlcnJvciBpcyByZXRhaW5lZCAoYXMgd2UgbWF5IG5lZWQgdGhlIGVycm9yIGZyb20gdGhlIHByZXZpb3VzIGF0dGVtcHQpLlxuICAgKlxuICAgKiBXaWxsIG5vdCBmaXJlIGlmIHRoZSBhY3Rpb24gaXMgZGlzYWJsZWQuXG4gICAqL1xuICByZWFkb25seSB0cmlnZ2VyID0gdGhpcy51cGRhdGVyKChzdGF0ZSkgPT4gKGNhblRyaWdnZXJBY3Rpb24oc3RhdGUpID8geyBpc01vZGlmaWVkOiBzdGF0ZS5pc01vZGlmaWVkLCBhY3Rpb25TdGF0ZTogRGJ4QWN0aW9uU3RhdGUuVFJJR0dFUkVELCBlcnJvcjogc3RhdGUuZXJyb3IsIHZhbHVlOiB1bmRlZmluZWQgfSA6IHN0YXRlKSk7XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIHZhbHVlLCBzZXR0aW5nIHZhbHVlIHJlYWR5LiBUaGUgY3VycmVudCByZXN1bHQgaXMgY2xlYXJlZC5cbiAgICovXG4gIHJlYWRvbmx5IHJlYWR5VmFsdWUgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCB2YWx1ZTogVCkgPT4gKGNhblJlYWR5VmFsdWUoc3RhdGUpID8geyAuLi5zdGF0ZSwgYWN0aW9uU3RhdGU6IERieEFjdGlvblN0YXRlLlZBTFVFX1JFQURZLCB2YWx1ZSwgcmVzdWx0OiB1bmRlZmluZWQgfSA6IHN0YXRlKSk7XG5cbiAgLyoqXG4gICAqIE5vdGlmeXMgdGhlIGNvbnRleHQgdGhhdCB0aGUgYWN0aW9uIGlzIGluIHByb2dyZXNzLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhcnRXb3JraW5nID0gdGhpcy51cGRhdGVyKChzdGF0ZSkgPT4gKHsgLi4uc3RhdGUsIGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZS5XT1JLSU5HIH0pKTtcblxuICAvKipcbiAgICogVHJpZ2dlcnMgcmVqZWN0aW9uIG9mIHRoZSBhY3Rpb24uIFRoZSB2YWx1ZSBpcyBjbGVhcmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVqZWN0ID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgZXJyb3I/OiBNYXliZTxSZWFkYWJsZUVycm9yPikgPT4gKHtcbiAgICBpc01vZGlmaWVkOiBzdGF0ZS5pc01vZGlmaWVkLFxuICAgIGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZS5SRUpFQ1RFRCxcbiAgICBlcnJvcixcbiAgICBlcnJvckNvdW50OiAoc3RhdGUuZXJyb3JDb3VudCA/PyAwKSArIDEsXG4gICAgZGlzYWJsZWQ6IHN0YXRlLmRpc2FibGVkXG4gIH0pKTtcblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgc3RhdGUgdG8gc3VjY2VzcywgYW5kIG9wdGlvbmFsbHkgc2V0cyBhIHJlc3VsdC5cbiAgICpcbiAgICogQ2xlYXJzIG1vZGlmaWVkIHN0YXRlLCBhbmQgYW55IGVycm9ycy5cbiAgICovXG4gIHJlYWRvbmx5IHJlc29sdmUgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCByZXN1bHQ/OiBNYXliZTxPPikgPT4gKHsgaXNNb2RpZmllZDogZmFsc2UsIGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZS5SRVNPTFZFRCwgdmFsdWU6IHN0YXRlLnZhbHVlLCByZXN1bHQsIGVycm9yOiB1bmRlZmluZWQsIGRpc2FibGVkOiBzdGF0ZS5kaXNhYmxlZCB9KSk7XG5cbiAgLyoqXG4gICAqIENvbXBsZXRlbHkgcmVzZXRzIHRoZSBzdG9yZS5cbiAgICovXG4gIHJlYWRvbmx5IHJlc2V0ID0gdGhpcy51cGRhdGVyKCgpID0+ICh7IC4uLklOSVRJQUxfU1RBVEUgfSkgYXMgQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+KTtcblxuICAvLyBNQVJLOiBVdGlsaXR5XG4gIGFmdGVyRGlzdGluY3RCb29sZWFuKGZyb21TdGF0ZTogKHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGU8VCwgTz4pID0+IGJvb2xlYW4pOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZSQucGlwZShcbiAgICAgIG1hcCgoeCkgPT4gZnJvbVN0YXRlKHgpKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICBzaGFyZVJlcGxheSgxKVxuICAgICk7XG4gIH1cblxuICBhZnRlckRpc3RpbmN0QWN0aW9uU3RhdGU8WD4oYWN0aW9uU3RhdGU6IERieEFjdGlvblN0YXRlLCBmcm9tU3RhdGU6IChzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+KSA9PiBYKTogT2JzZXJ2YWJsZTxYPiB7XG4gICAgcmV0dXJuIHRoaXMuYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlQ2hhbmdlKCkucGlwZShcbiAgICAgIGZpbHRlcigoeCkgPT4geC5hY3Rpb25TdGF0ZSA9PT0gYWN0aW9uU3RhdGUpLCAvLyBPbmx5IHBpcGUgd2hlbiB0aGUgbmV3IGFjdGlvbiBzdGF0ZSBtYXRjaGVzLlxuICAgICAgbWFwKCh4KSA9PiBmcm9tU3RhdGUoeCkpLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuICB9XG5cbiAgYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlQ2hhbmdlKCk6IE9ic2VydmFibGU8QWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+PiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgICBtYXAoKHgpID0+IFt4LCB4LmFjdGlvblN0YXRlXSBhcyBbQWN0aW9uQ29udGV4dFN0YXRlLCBEYnhBY3Rpb25TdGF0ZV0pLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IGE/LlsxXSA9PT0gYj8uWzFdKSwgLy8gRmlsdGVyIG91dCB3aGVuIHRoZSBzdGF0ZSByZW1haW5zIHRoZSBzYW1lLlxuICAgICAgbWFwKCh4KSA9PiB4WzBdIGFzIEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPiksXG4gICAgICBzaGFyZVJlcGxheSgxKVxuICAgICk7XG4gIH1cblxuICBhZnRlckRpc3RpbmN0TG9hZGluZ1N0YXRlVHlwZUNoYW5nZSgpOiBPYnNlcnZhYmxlPEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPj4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlJC5waXBlKFxuICAgICAgbWFwKCh4KSA9PiBbeCwgbG9hZGluZ1N0YXRlVHlwZUZvckFjdGlvbkNvbnRleHRTdGF0ZSh4KV0gYXMgW0FjdGlvbkNvbnRleHRTdGF0ZSwgTG9hZGluZ1N0YXRlVHlwZV0pLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IGE/LlsxXSA9PT0gYj8uWzFdKSwgLy8gRmlsdGVyIG91dCB3aGVuIHRoZSBsb2FkaW5nIHN0YXRlIHJlbWFpbnMgdGhlIHNhbWUuXG4gICAgICBtYXAoKHgpID0+IHhbMF0gYXMgQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+KSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKTtcbiAgfVxuXG4gIC8vIE1BUks6IENsZWFudXBcbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgLy8gV2FpdCBmb3IgYW55IGFjdGlvbnMgdG8gY29tcGxldGUgYmVmb3JlIGRlc3Ryb3lpbmcuXG4gICAgdGhpcy5sb2NrU2V0Lm9uTmV4dFVubG9jaygoKSA9PiB7XG4gICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH0sIDIwMDApO1xuICB9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUlzU2FtZU9uQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+KHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGU8VCwgTz4sIGlzU2FtZT86IHZvaWQgfCBib29sZWFuKTogQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+IHtcbiAgcmV0dXJuIHVwZGF0ZUlzTW9kaWZpZWRPbkFjdGlvbkNvbnRleHRTdGF0ZShzdGF0ZSwgaXNTYW1lID09IG51bGwgPyBmYWxzZSA6ICFpc1NhbWUpO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVJc01vZGlmaWVkT25BY3Rpb25Db250ZXh0U3RhdGU8VCwgTz4oc3RhdGU6IEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPiwgaXNNb2RpZmllZD86IHZvaWQgfCBib29sZWFuKTogQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+IHtcbiAgcmV0dXJuIHtcbiAgICAuLi5zdGF0ZSxcbiAgICBhY3Rpb25TdGF0ZTogc3RhdGUuYWN0aW9uU3RhdGUgPT09IERieEFjdGlvblN0YXRlLlJFU09MVkVEID8gRGJ4QWN0aW9uU3RhdGUuSURMRSA6IHN0YXRlLmFjdGlvblN0YXRlLCAvLyBTZXQgdG8gaWRsZSBmcm9tIHN1Y2Nlc3MuXG4gICAgaXNNb2RpZmllZDogKGlzTW9kaWZpZWQgYXMgYm9vbGVhbikgPz8gdHJ1ZSAvLyBpZiBpc01vZGlmaWVkIGlzIG5vdCBpbnB1dCwgZGVmYXVsdCBpdCB0byB0cnVlXG4gIH07XG59XG4iXX0=
|
|
@@ -53,6 +53,9 @@ export class DbxActionContextStoreSourceInstance {
|
|
|
53
53
|
get state$() {
|
|
54
54
|
return this.pipeStore((x) => x.state$);
|
|
55
55
|
}
|
|
56
|
+
get idle$() {
|
|
57
|
+
return this.pipeStore((x) => x.idle$);
|
|
58
|
+
}
|
|
56
59
|
get triggered$() {
|
|
57
60
|
return this.pipeStore((x) => x.triggered$);
|
|
58
61
|
}
|
|
@@ -147,4 +150,4 @@ export class DbxActionContextStoreSourceInstance {
|
|
|
147
150
|
this.useStore((x) => x.reset());
|
|
148
151
|
}
|
|
149
152
|
}
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnN0b3JlLnNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvYWN0aW9uL2FjdGlvbi5zdG9yZS5zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQTRCLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFrQyxNQUFNLGVBQWUsQ0FBQztBQUtyRjs7R0FFRztBQUNILE1BQU0sT0FBZ0Isd0JBQXdCO0NBTzdDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLGlDQUE0RCxTQUFRLHdCQUE4QjtDQUFHO0FBRTNILE1BQU0sVUFBVSw0QkFBNEIsQ0FBTyxHQUFnRDtJQUNqRyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUNqQyxDQUFDO0FBSUQsTUFBTSxVQUFVLGVBQWUsQ0FBd0MsTUFBc0MsRUFBRSxNQUF3QztJQUNySixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFJRDs7R0FFRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQTJCLE1BQXNDLEVBQUUsS0FBbUM7SUFDbEksT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN0RCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sbUNBQW1DO0lBQ3JDLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBRWhCLE9BQU8sQ0FBaUM7SUFFekQsWUFBWSxNQUFzQztRQUNoRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLElBQUksS0FBSyxDQUFDLHFC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LEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQXVEO1FBQ25FLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU0sT0FBTyxDQUFDLEtBQXdCO1FBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpcnN0LCBzd2l0Y2hNYXAsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTG9ja1NldCwgZmlsdGVyTWF5YmUsIExvYWRpbmdTdGF0ZSwgTG9hZGluZ1N0YXRlVHlwZSB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgRGVzdHJveWFibGUsIE1heWJlLCBSZWFkYWJsZUVycm9yIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBBY3Rpb25Db250ZXh0U3RhdGUsIEFjdGlvbkNvbnRleHRTdG9yZSB9IGZyb20gJy4vYWN0aW9uLnN0b3JlJztcbmltcG9ydCB7IERieEFjdGlvbkRpc2FibGVkS2V5LCBEYnhBY3Rpb25SZWplY3RlZFBhaXIsIERieEFjdGlvblN0YXRlLCBEYnhBY3Rpb25TdWNjZXNzUGFpciB9IGZyb20gJy4vYWN0aW9uJztcblxuLyoqXG4gKiBTb3VyY2UgdGhhdCBwcm92aWRlcyBhIEFjdGlvbkNvbnRleHRTdG9yZSBvYnNlcnZhYmxlLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWN0aW9uQ29udGV4dFN0b3JlU291cmNlPFQgPSB1bmtub3duLCBPID0gdW5rbm93bj4ge1xuICAvKipcbiAgICogT2JzZXJ2YWJsZSByZWZlcmVuY2luZyB0aGUgQWN0aW9uQ29udGV4dFN0b3JlLlxuICAgKlxuICAgKiBUaGlzIG9ic2VydmFibGUgYnkgZGVzaWduIGlzIHByZS1maWx0ZXJlZCB0byBub3QgcmV0dXJuIG51bGwgdmFsdWVzLlxuICAgKi9cbiAgYWJzdHJhY3QgcmVhZG9ubHkgc3RvcmUkOiBPYnNlcnZhYmxlPEFjdGlvbkNvbnRleHRTdG9yZTxULCBPPj47XG59XG5cbi8qKlxuICogU2Vjb25kYXJ5IHNvdXJjZS4gVXNlZCBieSBEYnhBY3Rpb25Db250ZXh0Q29tcG9uZW50IHRvIGZpbmQgc2Vjb25kYXJ5IHNvdXJjZXMuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTZWNvbmRhcnlBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2U8VCA9IHVua25vd24sIE8gPSB1bmtub3duPiBleHRlbmRzIEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZTxULCBPPiB7fVxuXG5leHBvcnQgZnVuY3Rpb24gYWN0aW9uQ29udGV4dFN0b3JlU291cmNlUGlwZTxULCBPPihvYnM6IE9ic2VydmFibGU8TWF5YmU8QWN0aW9uQ29udGV4dFN0b3JlPFQsIE8+Pj4pOiBPYnNlcnZhYmxlPEFjdGlvbkNvbnRleHRTdG9yZTxULCBPPj4ge1xuICByZXR1cm4gb2JzLnBpcGUoZmlsdGVyTWF5YmUoKSk7XG59XG5cbmV4cG9ydCB0eXBlIFBpcGVBY3Rpb25TdG9yZUZ1bmN0aW9uPFIsIFQsIE8+ID0gKHN0b3JlOiBBY3Rpb25Db250ZXh0U3RvcmU8VCwgTz4pID0+IE9ic2VydmFibGU8Uj47XG5cbmV4cG9ydCBmdW5jdGlvbiBwaXBlQWN0aW9uU3RvcmU8UiA9IHVua25vd24sIFQgPSB1bmtub3duLCBPID0gdW5rbm93bj4oc291cmNlOiBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2U8VCwgTz4sIHBpcGVGbjogUGlwZUFjdGlvblN0b3JlRnVuY3Rpb248UiwgVCwgTz4pOiBPYnNlcnZhYmxlPFI+IHtcbiAgcmV0dXJuIHNvdXJjZS5zdG9yZSQucGlwZShzd2l0Y2hNYXAocGlwZUZuKSk7XG59XG5cbmV4cG9ydCB0eXBlIFVzZUFjdGlvblN0b3JlRnVuY3Rpb248VCwgTz4gPSAoc3RvcmU6IEFjdGlvbkNvbnRleHRTdG9yZTxULCBPPikgPT4gdm9pZDtcblxuLyoqXG4gKiBDb252ZW5pZW5jZSBmdW5jdGlvbiBmb3Igc3Vic2NyaWJpbmcgdG8gdGhlIGlucHV0IHNvdXJjZSBvbmNlIGFuZCB1c2luZyB0aGUgcHJvdmlkZWQgc3RvcmUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VBY3Rpb25TdG9yZTxUID0gdW5rbm93biwgTyA9IHVua25vd24+KHNvdXJjZTogQWN0aW9uQ29udGV4dFN0b3JlU291cmNlPFQsIE8+LCB1c2VGbjogVXNlQWN0aW9uU3RvcmVGdW5jdGlvbjxULCBPPik6IFN1YnNjcmlwdGlvbiB7XG4gIHJldHVybiBzb3VyY2Uuc3RvcmUkLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKHVzZUZuKTtcbn1cblxuLyoqXG4gKiBTZXJ2aWNlIHRoYXQgd3JhcHMgYSBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBEYnhBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZTxUID0gdW5rbm93biwgTyA9IHVua25vd24+IGltcGxlbWVudHMgQWN0aW9uQ29udGV4dFN0b3JlU291cmNlPFQsIE8+LCBEZXN0cm95YWJsZSB7XG4gIHJlYWRvbmx5IGxvY2tTZXQgPSBuZXcgTG9ja1NldCgpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3NvdXJjZTogQWN0aW9uQ29udGV4dFN0b3JlU291cmNlPFQsIE8+O1xuXG4gIGNvbnN0cnVjdG9yKHNvdXJjZTogQWN0aW9uQ29udGV4dFN0b3JlU291cmNlPFQsIE8+KSB7XG4gICAgaWYgKCFzb3VyY2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignU291cmNlIGlzIHJlcXVpcmVkLicpO1xuICAgIH1cblxuICAgIHRoaXMuX3NvdXJjZSA9IHNvdXJjZTtcbiAgfVxuXG4gIGdldCBzb3VyY2UoKTogQWN0aW9uQ29udGV4dFN0b3JlU291cmNlPFQsIE8+IHtcbiAgICByZXR1cm4gdGhpcy5fc291cmNlO1xuICB9XG5cbiAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5sb2NrU2V0LmRlc3Ryb3lPbk5leHRVbmxvY2soKTtcbiAgfVxuXG4gIC8vIE1BUks6IFN0b3JlXG4gIGdldCBzdG9yZSQoKTogT2JzZXJ2YWJsZTxBY3Rpb25Db250ZXh0U3RvcmU8VCwgTz4+IHtcbiAgICByZXR1cm4gdGhpcy5zb3VyY2Uuc3RvcmUkO1xuICB9XG5cbiAgcGlwZVN0b3JlPFI+KHBpcGVGbjogUGlwZUFjdGlvblN0b3JlRnVuY3Rpb248UiwgVCwgTz4pOiBPYnNlcnZhYmxlPFI+IHtcbiAgICByZXR1cm4gcGlwZUFjdGlvblN0b3JlKHRoaXMuc291cmNlLCBwaXBlRm4pO1xuICB9XG5cbiAgdXNlU3RvcmUodXNlRm46IFVzZUFjdGlvblN0b3JlRnVuY3Rpb248VCwgTz4pOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB1c2VBY3Rpb25TdG9yZSh0aGlzLnNvdXJjZSwgdXNlRm4pO1xuICB9XG5cbiAgZ2V0IHN0YXRlJCgpOiBPYnNlcnZhYmxlPEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5zdGF0ZSQpO1xuICB9XG5cbiAgZ2V0IHRyaWdnZXJlZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LnRyaWdnZXJlZCQpO1xuICB9XG5cbiAgZ2V0IHZhbHVlUmVhZHkkKCk6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC52YWx1ZVJlYWR5JCk7XG4gIH1cblxuICBnZXQgc3VjY2VzcyQoKTogT2JzZXJ2YWJsZTxNYXliZTxPPj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5zdWNjZXNzJCk7XG4gIH1cblxuICBnZXQgc3VjY2Vzc1BhaXIkKCk6IE9ic2VydmFibGU8RGJ4QWN0aW9uU3VjY2Vzc1BhaXI8VCwgTz4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHguc3VjY2Vzc1BhaXIkKTtcbiAgfVxuXG4gIGdldCBlcnJvciQoKTogT2JzZXJ2YWJsZTxNYXliZTxSZWFkYWJsZUVycm9yPj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5lcnJvciQpO1xuICB9XG5cbiAgZ2V0IHJlamVjdGVkJCgpOiBPYnNlcnZhYmxlPE1heWJlPFJlYWRhYmxlRXJyb3I+PiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LnJlamVjdGVkJCk7XG4gIH1cblxuICBnZXQgcmVqZWN0ZWRQYWlyJCgpOiBPYnNlcnZhYmxlPERieEFjdGlvblJlamVjdGVkUGFpcjxUPj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5yZWplY3RlZFBhaXIkKTtcbiAgfVxuXG4gIGdldCBpc01vZGlmaWVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHguaXNNb2RpZmllZCQpO1xuICB9XG5cbiAgZ2V0IGNhblRyaWdnZXIkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5jYW5UcmlnZ2VyJCk7XG4gIH1cblxuICBnZXQgaXNNb2RpZmllZEFuZENhblRyaWdnZXJVcGRhdGVzJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHguaXNNb2RpZmllZEFuZENhblRyaWdnZXJVcGRhdGVzJCk7XG4gIH1cblxuICBnZXQgaXNNb2RpZmllZEFuZENhblRyaWdnZXIkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5pc01vZGlmaWVkQW5kQ2FuVHJpZ2dlciQpO1xuICB9XG5cbiAgZ2V0IGFjdGlvblN0YXRlJCgpOiBPYnNlcnZhYmxlPERieEFjdGlvblN0YXRlPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LmFjdGlvblN0YXRlJCk7XG4gIH1cblxuICBnZXQgbG9hZGluZ1N0YXRlJCgpOiBPYnNlcnZhYmxlPExvYWRpbmdTdGF0ZTxPPj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5sb2FkaW5nU3RhdGUkKTtcbiAgfVxuXG4gIGdldCBsb2FkaW5nU3RhdGVUeXBlJCgpOiBPYnNlcnZhYmxlPExvYWRpbmdTdGF0ZVR5cGU+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHgubG9hZGluZ1N0YXRlVHlwZSQpO1xuICB9XG5cbiAgZ2V0IGlzV29ya2luZyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LmlzV29ya2luZyQpO1xuICB9XG5cbiAgZ2V0IGlzU3VjY2VzcyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LmlzU3VjY2VzcyQpO1xuICB9XG5cbiAgZ2V0IGRpc2FibGVkS2V5cyQoKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5kaXNhYmxlZEtleXMkKTtcbiAgfVxuXG4gIGdldCBpc0Rpc2FibGVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHguaXNEaXNhYmxlZCQpO1xuICB9XG5cbiAgZ2V0IGVycm9yQ291bnRTaW5jZUxhc3RTdWNjZXNzJCgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5lcnJvckNvdW50U2luY2VMYXN0U3VjY2VzcyQpO1xuICB9XG5cbiAgcHVibGljIGVuYWJsZShrZXk/OiBEYnhBY3Rpb25EaXNhYmxlZEtleSwgZW5hYmxlID0gdHJ1ZSk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZShrZXksICFlbmFibGUpO1xuICB9XG5cbiAgcHVibGljIGRpc2FibGUoa2V5PzogRGJ4QWN0aW9uRGlzYWJsZWRLZXksIGRpc2FibGUgPSB0cnVlKTogdm9pZCB7XG4gICAgdGhpcy51c2VTdG9yZSgoeCkgPT4gKGRpc2FibGUgPyB4LmRpc2FibGUoa2V5KSA6IHguZW5hYmxlKGtleSkpKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRJc1NhbWUoaXNTYW1lPzogYm9vbGVhbiB8IE9ic2VydmFibGU8Ym9vbGVhbj4gfCBPYnNlcnZhYmxlPHZvaWQ+KTogdm9pZCB7XG4gICAgdGhpcy51c2VTdG9yZSgoeCkgPT4geC5zZXRJc1NhbWUoaXNTYW1lKSk7XG4gIH1cblxuICBwdWJsaWMgc2V0SXNNb2RpZmllZChpc01vZGlmaWVkPzogYm9vbGVhbiB8IE9ic2VydmFibGU8Ym9vbGVhbj4gfCBPYnNlcnZhYmxlPHZvaWQ+KTogdm9pZCB7XG4gICAgdGhpcy51c2VTdG9yZSgoeCkgPT4geC5zZXRJc01vZGlmaWVkKGlzTW9kaWZpZWQpKTtcbiAgfVxuXG4gIHB1YmxpYyB0cmlnZ2VyKCk6IHZvaWQge1xuICAgIHRoaXMudXNlU3RvcmUoKHgpID0+IHgudHJpZ2dlcigpKTtcbiAgfVxuXG4gIHB1YmxpYyB0cmlnZ2VyV2l0aFZhbHVlKHZhbHVlOiBUIHwgT2JzZXJ2YWJsZTxUPik6IHZvaWQge1xuICAgIHRoaXMudXNlU3RvcmUoKHgpID0+IHtcbiAgICAgIHgudHJpZ2dlcigpO1xuICAgICAgeC5yZWFkeVZhbHVlKHZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkeVZhbHVlKHZhbHVlOiBUIHwgT2JzZXJ2YWJsZTxUPik6IHZvaWQge1xuICAgIHRoaXMudXNlU3RvcmUoKHgpID0+IHgucmVhZHlWYWx1ZSh2YWx1ZSkpO1xuICB9XG5cbiAgcHVibGljIHN0YXJ0V29ya2luZygpOiB2b2lkIHtcbiAgICB0aGlzLnVzZVN0b3JlKCh4KSA9PiB4LnN0YXJ0V29ya2luZygpKTtcbiAgfVxuXG4gIHB1YmxpYyByZWplY3QoZXJyb3I6IE1heWJlPFJlYWRhYmxlRXJyb3IgfCBPYnNlcnZhYmxlPFJlYWRhYmxlRXJyb3I+Pik6IHZvaWQge1xuICAgIHRoaXMudXNlU3RvcmUoKHgpID0+IHgucmVqZWN0KGVycm9yKSk7XG4gIH1cblxuICBwdWJsaWMgcmVzb2x2ZSh2YWx1ZTogTyB8IE9ic2VydmFibGU8Tz4pOiB2b2lkIHtcbiAgICB0aGlzLnVzZVN0b3JlKCh4KSA9PiB4LnJlc29sdmUodmFsdWUpKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLnVzZVN0b3JlKCh4KSA9PiB4LnJlc2V0KCkpO1xuICB9XG59XG4iXX0=
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnN0b3JlLnNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvYWN0aW9uL2FjdGlvbi5zdG9yZS5zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQTRCLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFrQyxNQUFNLGVBQWUsQ0FBQztBQUtyRjs7R0FFRztBQUNILE1BQU0sT0FBZ0Isd0JBQXdCO0NBTzdDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLGlDQUE0RCxTQUFRLHdCQUE4QjtDQUFHO0FBRTNILE1BQU0sVUFBVSw0QkFBNEIsQ0FBTyxHQUFnRDtJQUNqRyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUNqQyxDQUFDO0FBSUQsTUFBTSxVQUFVLGVBQWUsQ0FBd0MsTUFBc0MsRUFBRSxNQUF3QztJQUNySixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFJRDs7R0FFRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQTJCLE1BQXNDLEVBQUUsS0FBbUM7SUFDbEksT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN0RCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sbUNBQW1DO0lBQ3JDLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBRWhCLE9BQU8sQ0FBaUM7SUFFekQsWUFBWSxNQUFzQztRQUNoRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLElBQUksS0FBSyxDQUFDLHFC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Q0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUF1RDtRQUNuRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVNLE9BQU8sQ0FBQyxLQUF3QjtRQUNyQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNsQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaXJzdCwgc3dpdGNoTWFwLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExvY2tTZXQsIGZpbHRlck1heWJlLCBMb2FkaW5nU3RhdGUsIExvYWRpbmdTdGF0ZVR5cGUgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IERlc3Ryb3lhYmxlLCBNYXliZSwgUmVhZGFibGVFcnJvciB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgQWN0aW9uQ29udGV4dFN0YXRlLCBBY3Rpb25Db250ZXh0U3RvcmUgfSBmcm9tICcuL2FjdGlvbi5zdG9yZSc7XG5pbXBvcnQgeyBEYnhBY3Rpb25EaXNhYmxlZEtleSwgRGJ4QWN0aW9uUmVqZWN0ZWRQYWlyLCBEYnhBY3Rpb25TdGF0ZSwgRGJ4QWN0aW9uU3VjY2Vzc1BhaXIgfSBmcm9tICcuL2FjdGlvbic7XG5cbi8qKlxuICogU291cmNlIHRoYXQgcHJvdmlkZXMgYSBBY3Rpb25Db250ZXh0U3RvcmUgb2JzZXJ2YWJsZS5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZTxUID0gdW5rbm93biwgTyA9IHVua25vd24+IHtcbiAgLyoqXG4gICAqIE9ic2VydmFibGUgcmVmZXJlbmNpbmcgdGhlIEFjdGlvbkNvbnRleHRTdG9yZS5cbiAgICpcbiAgICogVGhpcyBvYnNlcnZhYmxlIGJ5IGRlc2lnbiBpcyBwcmUtZmlsdGVyZWQgdG8gbm90IHJldHVybiBudWxsIHZhbHVlcy5cbiAgICovXG4gIGFic3RyYWN0IHJlYWRvbmx5IHN0b3JlJDogT2JzZXJ2YWJsZTxBY3Rpb25Db250ZXh0U3RvcmU8VCwgTz4+O1xufVxuXG4vKipcbiAqIFNlY29uZGFyeSBzb3VyY2UuIFVzZWQgYnkgRGJ4QWN0aW9uQ29udGV4dENvbXBvbmVudCB0byBmaW5kIHNlY29uZGFyeSBzb3VyY2VzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2Vjb25kYXJ5QWN0aW9uQ29udGV4dFN0b3JlU291cmNlPFQgPSB1bmtub3duLCBPID0gdW5rbm93bj4gZXh0ZW5kcyBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2U8VCwgTz4ge31cblxuZXhwb3J0IGZ1bmN0aW9uIGFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZVBpcGU8VCwgTz4ob2JzOiBPYnNlcnZhYmxlPE1heWJlPEFjdGlvbkNvbnRleHRTdG9yZTxULCBPPj4+KTogT2JzZXJ2YWJsZTxBY3Rpb25Db250ZXh0U3RvcmU8VCwgTz4+IHtcbiAgcmV0dXJuIG9icy5waXBlKGZpbHRlck1heWJlKCkpO1xufVxuXG5leHBvcnQgdHlwZSBQaXBlQWN0aW9uU3RvcmVGdW5jdGlvbjxSLCBULCBPPiA9IChzdG9yZTogQWN0aW9uQ29udGV4dFN0b3JlPFQsIE8+KSA9PiBPYnNlcnZhYmxlPFI+O1xuXG5leHBvcnQgZnVuY3Rpb24gcGlwZUFjdGlvblN0b3JlPFIgPSB1bmtub3duLCBUID0gdW5rbm93biwgTyA9IHVua25vd24+KHNvdXJjZTogQWN0aW9uQ29udGV4dFN0b3JlU291cmNlPFQsIE8+LCBwaXBlRm46IFBpcGVBY3Rpb25TdG9yZUZ1bmN0aW9uPFIsIFQsIE8+KTogT2JzZXJ2YWJsZTxSPiB7XG4gIHJldHVybiBzb3VyY2Uuc3RvcmUkLnBpcGUoc3dpdGNoTWFwKHBpcGVGbikpO1xufVxuXG5leHBvcnQgdHlwZSBVc2VBY3Rpb25TdG9yZUZ1bmN0aW9uPFQsIE8+ID0gKHN0b3JlOiBBY3Rpb25Db250ZXh0U3RvcmU8VCwgTz4pID0+IHZvaWQ7XG5cbi8qKlxuICogQ29udmVuaWVuY2UgZnVuY3Rpb24gZm9yIHN1YnNjcmliaW5nIHRvIHRoZSBpbnB1dCBzb3VyY2Ugb25jZSBhbmQgdXNpbmcgdGhlIHByb3ZpZGVkIHN0b3JlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlQWN0aW9uU3RvcmU8VCA9IHVua25vd24sIE8gPSB1bmtub3duPihzb3VyY2U6IEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZTxULCBPPiwgdXNlRm46IFVzZUFjdGlvblN0b3JlRnVuY3Rpb248VCwgTz4pOiBTdWJzY3JpcHRpb24ge1xuICByZXR1cm4gc291cmNlLnN0b3JlJC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSh1c2VGbik7XG59XG5cbi8qKlxuICogU2VydmljZSB0aGF0IHdyYXBzIGEgQWN0aW9uQ29udGV4dFN0b3JlU291cmNlLlxuICovXG5leHBvcnQgY2xhc3MgRGJ4QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2U8VCA9IHVua25vd24sIE8gPSB1bmtub3duPiBpbXBsZW1lbnRzIEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZTxULCBPPiwgRGVzdHJveWFibGUge1xuICByZWFkb25seSBsb2NrU2V0ID0gbmV3IExvY2tTZXQoKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9zb3VyY2U6IEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZTxULCBPPjtcblxuICBjb25zdHJ1Y3Rvcihzb3VyY2U6IEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZTxULCBPPikge1xuICAgIGlmICghc291cmNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NvdXJjZSBpcyByZXF1aXJlZC4nKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zb3VyY2UgPSBzb3VyY2U7XG4gIH1cblxuICBnZXQgc291cmNlKCk6IEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZTxULCBPPiB7XG4gICAgcmV0dXJuIHRoaXMuX3NvdXJjZTtcbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubG9ja1NldC5kZXN0cm95T25OZXh0VW5sb2NrKCk7XG4gIH1cblxuICAvLyBNQVJLOiBTdG9yZVxuICBnZXQgc3RvcmUkKCk6IE9ic2VydmFibGU8QWN0aW9uQ29udGV4dFN0b3JlPFQsIE8+PiB7XG4gICAgcmV0dXJuIHRoaXMuc291cmNlLnN0b3JlJDtcbiAgfVxuXG4gIHBpcGVTdG9yZTxSPihwaXBlRm46IFBpcGVBY3Rpb25TdG9yZUZ1bmN0aW9uPFIsIFQsIE8+KTogT2JzZXJ2YWJsZTxSPiB7XG4gICAgcmV0dXJuIHBpcGVBY3Rpb25TdG9yZSh0aGlzLnNvdXJjZSwgcGlwZUZuKTtcbiAgfVxuXG4gIHVzZVN0b3JlKHVzZUZuOiBVc2VBY3Rpb25TdG9yZUZ1bmN0aW9uPFQsIE8+KTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdXNlQWN0aW9uU3RvcmUodGhpcy5zb3VyY2UsIHVzZUZuKTtcbiAgfVxuXG4gIGdldCBzdGF0ZSQoKTogT2JzZXJ2YWJsZTxBY3Rpb25Db250ZXh0U3RhdGU8VCwgTz4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHguc3RhdGUkKTtcbiAgfVxuXG4gIGdldCBpZGxlJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHguaWRsZSQpO1xuICB9XG5cbiAgZ2V0IHRyaWdnZXJlZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LnRyaWdnZXJlZCQpO1xuICB9XG5cbiAgZ2V0IHZhbHVlUmVhZHkkKCk6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC52YWx1ZVJlYWR5JCk7XG4gIH1cblxuICBnZXQgc3VjY2VzcyQoKTogT2JzZXJ2YWJsZTxNYXliZTxPPj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5zdWNjZXNzJCk7XG4gIH1cblxuICBnZXQgc3VjY2Vzc1BhaXIkKCk6IE9ic2VydmFibGU8RGJ4QWN0aW9uU3VjY2Vzc1BhaXI8VCwgTz4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHguc3VjY2Vzc1BhaXIkKTtcbiAgfVxuXG4gIGdldCBlcnJvciQoKTogT2JzZXJ2YWJsZTxNYXliZTxSZWFkYWJsZUVycm9yPj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5lcnJvciQpO1xuICB9XG5cbiAgZ2V0IHJlamVjdGVkJCgpOiBPYnNlcnZhYmxlPE1heWJlPFJlYWRhYmxlRXJyb3I+PiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LnJlamVjdGVkJCk7XG4gIH1cblxuICBnZXQgcmVqZWN0ZWRQYWlyJCgpOiBPYnNlcnZhYmxlPERieEFjdGlvblJlamVjdGVkUGFpcjxUPj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5yZWplY3RlZFBhaXIkKTtcbiAgfVxuXG4gIGdldCBpc01vZGlmaWVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHguaXNNb2RpZmllZCQpO1xuICB9XG5cbiAgZ2V0IGNhblRyaWdnZXIkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5jYW5UcmlnZ2VyJCk7XG4gIH1cblxuICBnZXQgaXNNb2RpZmllZEFuZENhblRyaWdnZXJVcGRhdGVzJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHguaXNNb2RpZmllZEFuZENhblRyaWdnZXJVcGRhdGVzJCk7XG4gIH1cblxuICBnZXQgaXNNb2RpZmllZEFuZENhblRyaWdnZXIkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5pc01vZGlmaWVkQW5kQ2FuVHJpZ2dlciQpO1xuICB9XG5cbiAgZ2V0IGFjdGlvblN0YXRlJCgpOiBPYnNlcnZhYmxlPERieEFjdGlvblN0YXRlPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LmFjdGlvblN0YXRlJCk7XG4gIH1cblxuICBnZXQgbG9hZGluZ1N0YXRlJCgpOiBPYnNlcnZhYmxlPExvYWRpbmdTdGF0ZTxPPj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5sb2FkaW5nU3RhdGUkKTtcbiAgfVxuXG4gIGdldCBsb2FkaW5nU3RhdGVUeXBlJCgpOiBPYnNlcnZhYmxlPExvYWRpbmdTdGF0ZVR5cGU+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHgubG9hZGluZ1N0YXRlVHlwZSQpO1xuICB9XG5cbiAgZ2V0IGlzV29ya2luZyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LmlzV29ya2luZyQpO1xuICB9XG5cbiAgZ2V0IGlzU3VjY2VzcyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LmlzU3VjY2VzcyQpO1xuICB9XG5cbiAgZ2V0IGRpc2FibGVkS2V5cyQoKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5kaXNhYmxlZEtleXMkKTtcbiAgfVxuXG4gIGdldCBpc0Rpc2FibGVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHguaXNEaXNhYmxlZCQpO1xuICB9XG5cbiAgZ2V0IGVycm9yQ291bnRTaW5jZUxhc3RTdWNjZXNzJCgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5lcnJvckNvdW50U2luY2VMYXN0U3VjY2VzcyQpO1xuICB9XG5cbiAgcHVibGljIGVuYWJsZShrZXk/OiBEYnhBY3Rpb25EaXNhYmxlZEtleSwgZW5hYmxlID0gdHJ1ZSk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZShrZXksICFlbmFibGUpO1xuICB9XG5cbiAgcHVibGljIGRpc2FibGUoa2V5PzogRGJ4QWN0aW9uRGlzYWJsZWRLZXksIGRpc2FibGUgPSB0cnVlKTogdm9pZCB7XG4gICAgdGhpcy51c2VTdG9yZSgoeCkgPT4gKGRpc2FibGUgPyB4LmRpc2FibGUoa2V5KSA6IHguZW5hYmxlKGtleSkpKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRJc1NhbWUoaXNTYW1lPzogYm9vbGVhbiB8IE9ic2VydmFibGU8Ym9vbGVhbj4gfCBPYnNlcnZhYmxlPHZvaWQ+KTogdm9pZCB7XG4gICAgdGhpcy51c2VTdG9yZSgoeCkgPT4geC5zZXRJc1NhbWUoaXNTYW1lKSk7XG4gIH1cblxuICBwdWJsaWMgc2V0SXNNb2RpZmllZChpc01vZGlmaWVkPzogYm9vbGVhbiB8IE9ic2VydmFibGU8Ym9vbGVhbj4gfCBPYnNlcnZhYmxlPHZvaWQ+KTogdm9pZCB7XG4gICAgdGhpcy51c2VTdG9yZSgoeCkgPT4geC5zZXRJc01vZGlmaWVkKGlzTW9kaWZpZWQpKTtcbiAgfVxuXG4gIHB1YmxpYyB0cmlnZ2VyKCk6IHZvaWQge1xuICAgIHRoaXMudXNlU3RvcmUoKHgpID0+IHgudHJpZ2dlcigpKTtcbiAgfVxuXG4gIHB1YmxpYyB0cmlnZ2VyV2l0aFZhbHVlKHZhbHVlOiBUIHwgT2JzZXJ2YWJsZTxUPik6IHZvaWQge1xuICAgIHRoaXMudXNlU3RvcmUoKHgpID0+IHtcbiAgICAgIHgudHJpZ2dlcigpO1xuICAgICAgeC5yZWFkeVZhbHVlKHZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkeVZhbHVlKHZhbHVlOiBUIHwgT2JzZXJ2YWJsZTxUPik6IHZvaWQge1xuICAgIHRoaXMudXNlU3RvcmUoKHgpID0+IHgucmVhZHlWYWx1ZSh2YWx1ZSkpO1xuICB9XG5cbiAgcHVibGljIHN0YXJ0V29ya2luZygpOiB2b2lkIHtcbiAgICB0aGlzLnVzZVN0b3JlKCh4KSA9PiB4LnN0YXJ0V29ya2luZygpKTtcbiAgfVxuXG4gIHB1YmxpYyByZWplY3QoZXJyb3I6IE1heWJlPFJlYWRhYmxlRXJyb3IgfCBPYnNlcnZhYmxlPFJlYWRhYmxlRXJyb3I+Pik6IHZvaWQge1xuICAgIHRoaXMudXNlU3RvcmUoKHgpID0+IHgucmVqZWN0KGVycm9yKSk7XG4gIH1cblxuICBwdWJsaWMgcmVzb2x2ZSh2YWx1ZTogTyB8IE9ic2VydmFibGU8Tz4pOiB2b2lkIHtcbiAgICB0aGlzLnVzZVN0b3JlKCh4KSA9PiB4LnJlc29sdmUodmFsdWUpKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLnVzZVN0b3JlKCh4KSA9PiB4LnJlc2V0KCkpO1xuICB9XG59XG4iXX0=
|
|
@@ -110,4 +110,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
110
110
|
standalone: true
|
|
111
111
|
}]
|
|
112
112
|
}] });
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmF1dG90cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvYWN0aW9uL2RpcmVjdGl2ZS9hdXRvL2FjdGlvbi5hdXRvdHJpZ2dlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQXFCLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUM5SyxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFMUQsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO0FBRXJDLE1BQU0sbUJBQW1CLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztBQUV0QyxNQUFNLHlCQUF5QixHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7QUFFM0MsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLENBQUM7QUFFcEMsTUFBTSw2Q0FBNkMsR0FBRyxHQUFHLENBQUM7QUFDMUQsTUFBTSxnREFBZ0QsR0FBRyxFQUFFLENBQUM7QUFFNUQ7Ozs7R0FJRztBQUtILE1BQU0sT0FBTyw2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QUMsQ0FBQyxDQUFDLEVBQ25CLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLHVDQUF1QztJQUN0RixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBaUIsQ0FBQyxDQUM3QixDQUFDO0lBRUYsUUFBUTtRQUNOLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDL0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUSxXQUFXO1FBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUU7WUFDcEMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt3R0E1SFUsNkJBQTZCOzRGQUE3Qiw2QkFBNkI7OzRGQUE3Qiw2QkFBNkI7a0JBSnpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDZDQUE2QztvQkFDdkQsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBEaXJlY3RpdmUsIE9uSW5pdCwgT25EZXN0cm95LCBpbnB1dCwgY29tcHV0ZWQsIHNpZ25hbCwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdFN1YnNjcmlwdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL3N1YnNjcmlwdGlvbic7XG5pbXBvcnQgeyBkZWJvdW5jZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGV4aGF1c3RNYXAsIGZpbHRlciwgZmlyc3QsIG1hcCwgbWVyZ2VNYXAsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAsIHRocm90dGxlLCBFTVBUWSwgaW50ZXJ2YWwsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERieEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlIH0gZnJvbSAnLi4vLi4vYWN0aW9uLnN0b3JlLnNvdXJjZSc7XG5pbXBvcnQgeyBpc0RlZmluZWRBbmROb3RGYWxzZSwgaXNOb3RGYWxzZSwgdHlwZSBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5jb25zdCBERUZBVUxUX0RFQk9VTkNFX01TID0gMiAqIDEwMDA7XG5cbmNvbnN0IERFRkFVTFRfVEhST1RUTEVfTVMgPSAxMCAqIDEwMDA7XG5cbmNvbnN0IERFRkFVTFRfRVJST1JfVEhST1RUTEVfTVMgPSAzICogMTAwMDtcblxuY29uc3QgTUFYX0VSUk9SU19UT19USFJPVFRMRV9PTiA9IDY7XG5cbmNvbnN0IERCWF9BQ1RJT05fQVVUT19UUklHR0VSX0ZBU1RfVFJJR0dFUl9ERUJPVU5DRSA9IDIwMDtcbmNvbnN0IERCWF9BQ1RJT05fQVVUT19UUklHR0VSX0lOU1RBTlRfVFJJR0dFUl9ERUJPVU5DRSA9IDEwO1xuXG4vKipcbiAqIERpcmVjdGl2ZSB0aGF0IGF1dG9tYXRpY2FsbHkgdHJpZ2dlcnMgdGhlIGFjdGlvbiBwZXJpb2RpY2FsbHkgd2hlbiBpdCBpcyBpbiBhIG1vZGlmaWVkIHN0YXRlLlxuICpcbiAqIFdoZW4gdXNpbmcgYXV0byB0cmlnZ2VycyBiZSBzdXJlIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBhY3Rpb24gaXMgbm90IHRyaWdnZXJpbmcgdG9vIG9mdGVuIGR1ZSB0byBtaXNjb25maWd1cmF0aW9uLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdkYnhBY3Rpb25BdXRvVHJpZ2dlcixbZGJ4QWN0aW9uQXV0b1RyaWdnZXJdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBEYnhBY3Rpb25BdXRvVHJpZ2dlckRpcmVjdGl2ZTxUID0gdW5rbm93biwgTyA9IHVua25vd24+IGV4dGVuZHMgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHJlYWRvbmx5IHNvdXJjZSA9IGluamVjdChEYnhBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZTxULCBPPiwgeyBob3N0OiB0cnVlIH0pO1xuXG4gIHJlYWRvbmx5IHRyaWdnZXJEZWJvdW5jZSA9IGlucHV0PE1heWJlPG51bWJlcj4+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IHRyaWdnZXJUaHJvdHRsZSA9IGlucHV0PE1heWJlPG51bWJlcj4+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IHRyaWdnZXJFcnJvclRocm90dGxlID0gaW5wdXQ8bnVtYmVyLCBNYXliZTxudW1iZXI+PihERUZBVUxUX0VSUk9SX1RIUk9UVExFX01TLCB7IHRyYW5zZm9ybTogKHgpID0+IHggPz8gREVGQVVMVF9FUlJPUl9USFJPVFRMRV9NUyB9KTtcbiAgcmVhZG9ubHkgbWF4RXJyb3JzRm9yVGhyb3R0bGUgPSBpbnB1dDxudW1iZXIsIE1heWJlPG51bWJlcj4+KE1BWF9FUlJPUlNfVE9fVEhST1RUTEVfT04sIHsgdHJhbnNmb3JtOiAoeCkgPT4geCA/PyBNQVhfRVJST1JTX1RPX1RIUk9UVExFX09OIH0pO1xuICByZWFkb25seSB0cmlnZ2VyTGltaXQgPSBpbnB1dDxNYXliZTxudW1iZXI+PigpO1xuICByZWFkb25seSB0cmlnZ2VyRW5hYmxlZCA9IGlucHV0PGJvb2xlYW4sIE1heWJlPHN0cmluZyB8IGJvb2xlYW4+Pih0cnVlLCB7IGFsaWFzOiAnZGJ4QWN0aW9uQXV0b1RyaWdnZXInLCB0cmFuc2Zvcm06IGlzTm90RmFsc2UgfSk7XG4gIHJlYWRvbmx5IHVzZUZhc3RUcmlnZ2VyUHJlc2V0ID0gaW5wdXQ8Ym9vbGVhbiwgTWF5YmU8c3RyaW5nIHwgYm9vbGVhbj4+KGZhbHNlLCB7IHRyYW5zZm9ybTogaXNEZWZpbmVkQW5kTm90RmFsc2UgfSk7XG4gIHJlYWRvbmx5IHVzZUluc3RhbnRUcmlnZ2VyUHJlc2V0ID0gaW5wdXQ8Ym9vbGVhbiwgTWF5YmU8c3RyaW5nIHwgYm9vbGVhbj4+KGZhbHNlLCB7IHRyYW5zZm9ybTogaXNEZWZpbmVkQW5kTm90RmFsc2UgfSk7XG5cbiAgcmVhZG9ubHkgdHJpZ2dlckRlYm91bmNlU2lnbmFsID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGxldCBkZWJvdW5jZSA9IHRoaXMudHJpZ2dlckRlYm91bmNlKCk7XG5cbiAgICBpZiAoZGVib3VuY2UgPT0gbnVsbCkge1xuICAgICAgY29uc3QgdXNlRmFzdFRyaWdnZXIgPSB0aGlzLnVzZUZhc3RUcmlnZ2VyUHJlc2V0KCk7XG4gICAgICBjb25zdCB1c2VJbnN0YW50VHJpZ2dlciA9IHRoaXMudXNlSW5zdGFudFRyaWdnZXJQcmVzZXQoKTtcblxuICAgICAgaWYgKHVzZUZhc3RUcmlnZ2VyKSB7XG4gICAgICAgIGRlYm91bmNlID0gREJYX0FDVElPTl9BVVRPX1RSSUdHRVJfRkFTVF9UUklHR0VSX0RFQk9VTkNFO1xuICAgICAgfSBlbHNlIGlmICh1c2VJbnN0YW50VHJpZ2dlcikge1xuICAgICAgICBkZWJvdW5jZSA9IERCWF9BQ1RJT05fQVVUT19UUklHR0VSX0lOU1RBTlRfVFJJR0dFUl9ERUJPVU5DRTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZGVib3VuY2UgPz8gREVGQVVMVF9ERUJPVU5DRV9NUztcbiAgfSk7XG5cbiAgcmVhZG9ubHkgdHJpZ2dlclRocm90dGxlU2lnbmFsOiBTaWduYWw8bnVtYmVyPiA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBsZXQgdGhyb3R0bGUgPSB0aGlzLnRyaWdnZXJUaHJvdHRsZSgpO1xuXG4gICAgaWYgKHRocm90dGxlID09IG51bGwpIHtcbiAgICAgIGNvbnN0IHVzZUZhc3RUcmlnZ2VyID0gdGhpcy51c2VGYXN0VHJpZ2dlclByZXNldCgpO1xuICAgICAgY29uc3QgdXNlSW5zdGFudFRyaWdnZXIgPSB0aGlzLnVzZUluc3RhbnRUcmlnZ2VyUHJlc2V0KCk7XG5cbiAgICAgIGlmICh1c2VGYXN0VHJpZ2dlcikge1xuICAgICAgICB0aHJvdHRsZSA9IERCWF9BQ1RJT05fQVVUT19UUklHR0VSX0ZBU1RfVFJJR0dFUl9ERUJPVU5DRTtcbiAgICAgIH0gZWxzZSBpZiAodXNlSW5zdGFudFRyaWdnZXIpIHtcbiAgICAgICAgdGhyb3R0bGUgPSBEQlhfQUNUSU9OX0FVVE9fVFJJR0dFUl9JTlNUQU5UX1RSSUdHRVJfREVCT1VOQ0U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRocm90dGxlID8/IERFRkFVTFRfVEhST1RUTEVfTVM7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IHRyaWdnZXJDb3VudFNpZ25hbCA9IHNpZ25hbDxudW1iZXI+KDApO1xuXG4gIHJlYWRvbmx5IF9lcnJvckNvdW50JCA9IHRoaXMuc291cmNlLmVycm9yQ291bnRTaW5jZUxhc3RTdWNjZXNzJDtcbiAgcmVhZG9ubHkgX3RyaWdnZXJDb3VudCQgPSB0aGlzLnNvdXJjZS5pc01vZGlmaWVkQW5kQ2FuVHJpZ2dlclVwZGF0ZXMkLnBpcGUoXG4gICAgLy8gZWFjaCB0aW1lIHNvbWV0aGluZyBpcyB0cmlnZ2VyZWQgdGhlXG4gICAgZmlsdGVyKCgpID0+IHRoaXMudHJpZ2dlckVuYWJsZWQoKSA/PyBmYWxzZSksXG4gICAgZGVib3VuY2UoKCkgPT4gaW50ZXJ2YWwodGhpcy50cmlnZ2VyRGVib3VuY2VTaWduYWwoKSkpLFxuICAgIHRocm90dGxlKFxuICAgICAgKCkgPT5cbiAgICAgICAgdGhpcy5fZXJyb3JDb3VudCQucGlwZShcbiAgICAgICAgICBmaXJzdCgpLFxuICAgICAgICAgIGV4aGF1c3RNYXAoKGVycm9yQ291bnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1heEVycm9ycyA9IHRoaXMubWF4RXJyb3JzRm9yVGhyb3R0bGUoKSA/PyBNQVhfRVJST1JTX1RPX1RIUk9UVExFX09OO1xuICAgICAgICAgICAgY29uc3QgdGhyb3R0bGVUaW1lID0gdGhpcy50cmlnZ2VyRXJyb3JUaHJvdHRsZSgpID8/IERFRkFVTFRfRVJST1JfVEhST1RUTEVfTVM7XG4gICAgICAgICAgICBjb25zdCBhZGRpdGlvbmFsSW50ZXJ2YWwgPSBNYXRoLm1pbihlcnJvckNvdW50LCBtYXhFcnJvcnMpICogdGhyb3R0bGVUaW1lO1xuXG4gICAgICAgICAgICByZXR1cm4gaW50ZXJ2YWwodGhpcy50cmlnZ2VyVGhyb3R0bGVTaWduYWwoKSArIGFkZGl0aW9uYWxJbnRlcnZhbCk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICAgIHsgbGVhZGluZzogdHJ1ZSwgdHJhaWxpbmc6IHRydWUgfVxuICAgICksXG4gICAgLy8gQ2hlY2sgYWdhaW4gZm9yIHRoZSBcInRyYWlsaW5nXCIgcGllY2UuXG4gICAgZmlsdGVyKCgpID0+IHRoaXMudHJpZ2dlckVuYWJsZWQoKSA/PyBmYWxzZSksXG4gICAgbWVyZ2VNYXAoKCkgPT4gdGhpcy5zb3VyY2UuaXNNb2RpZmllZEFuZENhblRyaWdnZXIkLnBpcGUoZmlyc3QoKSkpLFxuICAgIGZpbHRlcigoeCkgPT4geCksXG4gICAgbWFwKCgpID0+IHtcbiAgICAgIGNvbnN0IGNvdW50ID0gdGhpcy50cmlnZ2VyQ291bnRTaWduYWwoKTtcbiAgICAgIHRoaXMudHJpZ2dlckNvdW50U2lnbmFsLnVwZGF0ZSgoeCkgPT4geCArIDEpO1xuICAgICAgcmV0dXJuIGNvdW50O1xuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLyoqXG4gICAqIE9ic2VydmFibGUgZm9yIHRoZSB0cmlnZ2VyIG1lY2hhbmlzbS5cbiAgICovXG4gIHJlYWRvbmx5IHRyaWdnZXJDb3VudCQgPSB0b09ic2VydmFibGUodGhpcy50cmlnZ2VyRW5hYmxlZCkucGlwZShcbiAgICBzd2l0Y2hNYXAoKGVuYWJsZWQpID0+IHtcbiAgICAgIGxldCBjb3VudE9iczogT2JzZXJ2YWJsZTxudW1iZXI+O1xuXG4gICAgICBpZiAoZW5hYmxlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgY291bnRPYnMgPSB0aGlzLl90cmlnZ2VyQ291bnQkO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY291bnRPYnMgPSBFTVBUWTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvdW50T2JzO1xuICAgIH0pXG4gICk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaXNUcmlnZ2VyTGltaXRlZCQ6IE9ic2VydmFibGU8cmVhZG9ubHkgW251bWJlciwgYm9vbGVhbl0+ID0gY29tYmluZUxhdGVzdChbdGhpcy50cmlnZ2VyQ291bnQkLCB0b09ic2VydmFibGUodGhpcy50cmlnZ2VyTGltaXQpXSkucGlwZShcbiAgICBtYXAoKFt0cmlnZ2VyQ291bnQsIGxpbWl0XSkgPT4ge1xuICAgICAgY29uc3QgaXNBbGxvd2VkVG9SdW4gPSBsaW1pdCAhPSBudWxsID8gdHJpZ2dlckNvdW50IDwgbGltaXQgOiB0cnVlO1xuICAgICAgcmV0dXJuIFt0cmlnZ2VyQ291bnQsIGlzQWxsb3dlZFRvUnVuXSBhcyBjb25zdDtcbiAgICB9KSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGlzVHJpZ2dlckFsbG93ZWRUb1J1biQgPSB0aGlzLl9pc1RyaWdnZXJMaW1pdGVkJC5waXBlKFxuICAgIG1hcCgoeCkgPT4geFsxXSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcbiAgcmVhZG9ubHkgYXV0b21hdGljVHJpZ2dlciQ6IE9ic2VydmFibGU8dm9pZD4gPSB0aGlzLl9pc1RyaWdnZXJMaW1pdGVkJC5waXBlKFxuICAgIGZpbHRlcigoeCkgPT4geFsxXSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IGFbMF0gPT09IGJbMF0pLCAvLyBPbmx5IHRyaWdnZXIgd2hlbiB0aGUgY291bnQgY2hhbmdlcy5cbiAgICBtYXAoKCkgPT4gdW5kZWZpbmVkIGFzIHZvaWQpXG4gICk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWIgPSB0aGlzLmF1dG9tYXRpY1RyaWdnZXIkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnNvdXJjZS50cmlnZ2VyKCk7XG4gICAgfSk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnNvdXJjZS5sb2NrU2V0Lm9uTmV4dFVubG9jaygoKSA9PiB7XG4gICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmF1dG90cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvYWN0aW9uL2RpcmVjdGl2ZS9hdXRvL2FjdGlvbi5hdXRvdHJpZ2dlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQXFCLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUM5SyxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFMUQsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO0FBRXJDLE1BQU0sbUJBQW1CLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztBQUV0QyxNQUFNLHlCQUF5QixHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7QUFFM0MsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLENBQUM7QUFFcEMsTUFBTSw2Q0FBNkMsR0FBRyxHQUFHLENBQUM7QUFDMUQsTUFBTSxnREFBZ0QsR0FBRyxFQUFFLENBQUM7QUFFNUQ7Ozs7R0FJRztBQUtILE1BQU0sT0FBTyw2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QUMsQ0FBQyxDQUFDLEVBQ25CLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLHVDQUF1QztJQUN0RixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBaUIsQ0FBQyxDQUM3QixDQUFDO0lBRUYsUUFBUTtRQUNOLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDL0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUSxXQUFXO1FBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUU7WUFDcEMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt3R0E1SFUsNkJBQTZCOzRGQUE3Qiw2QkFBNkI7OzRGQUE3Qiw2QkFBNkI7a0JBSnpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDZDQUE2QztvQkFDdkQsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBEaXJlY3RpdmUsIE9uSW5pdCwgT25EZXN0cm95LCBpbnB1dCwgY29tcHV0ZWQsIHNpZ25hbCwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdFN1YnNjcmlwdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL3N1YnNjcmlwdGlvbic7XG5pbXBvcnQgeyBkZWJvdW5jZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGV4aGF1c3RNYXAsIGZpbHRlciwgZmlyc3QsIG1hcCwgbWVyZ2VNYXAsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAsIHRocm90dGxlLCBFTVBUWSwgaW50ZXJ2YWwsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERieEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlIH0gZnJvbSAnLi4vLi4vYWN0aW9uLnN0b3JlLnNvdXJjZSc7XG5pbXBvcnQgeyBpc0RlZmluZWRBbmROb3RGYWxzZSwgaXNOb3RGYWxzZSwgdHlwZSBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5jb25zdCBERUZBVUxUX0RFQk9VTkNFX01TID0gMiAqIDEwMDA7XG5cbmNvbnN0IERFRkFVTFRfVEhST1RUTEVfTVMgPSAxMCAqIDEwMDA7XG5cbmNvbnN0IERFRkFVTFRfRVJST1JfVEhST1RUTEVfTVMgPSAzICogMTAwMDtcblxuY29uc3QgTUFYX0VSUk9SU19UT19USFJPVFRMRV9PTiA9IDY7XG5cbmNvbnN0IERCWF9BQ1RJT05fQVVUT19UUklHR0VSX0ZBU1RfVFJJR0dFUl9ERUJPVU5DRSA9IDIwMDtcbmNvbnN0IERCWF9BQ1RJT05fQVVUT19UUklHR0VSX0lOU1RBTlRfVFJJR0dFUl9ERUJPVU5DRSA9IDEwO1xuXG4vKipcbiAqIERpcmVjdGl2ZSB0aGF0IGF1dG9tYXRpY2FsbHkgdHJpZ2dlcnMgdGhlIGFjdGlvbiBwZXJpb2RpY2FsbHkgd2hlbiBpdCBpcyBpbiBhIG1vZGlmaWVkIHN0YXRlLlxuICpcbiAqIFdoZW4gdXNpbmcgYXV0byB0cmlnZ2VycyBiZSBzdXJlIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBhY3Rpb24gaXMgbm90IHRyaWdnZXJpbmcgdG9vIG9mdGVuIGR1ZSB0byBtaXNjb25maWd1cmF0aW9uLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdkYnhBY3Rpb25BdXRvVHJpZ2dlcixbZGJ4QWN0aW9uQXV0b1RyaWdnZXJdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBEYnhBY3Rpb25BdXRvVHJpZ2dlckRpcmVjdGl2ZTxUID0gdW5rbm93biwgTyA9IHVua25vd24+IGV4dGVuZHMgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHJlYWRvbmx5IHNvdXJjZSA9IGluamVjdChEYnhBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZTxULCBPPiwgeyBob3N0OiB0cnVlIH0pO1xuXG4gIHJlYWRvbmx5IHRyaWdnZXJEZWJvdW5jZSA9IGlucHV0PE1heWJlPG51bWJlcj4+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IHRyaWdnZXJUaHJvdHRsZSA9IGlucHV0PE1heWJlPG51bWJlcj4+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IHRyaWdnZXJFcnJvclRocm90dGxlID0gaW5wdXQ8bnVtYmVyLCBNYXliZTxudW1iZXI+PihERUZBVUxUX0VSUk9SX1RIUk9UVExFX01TLCB7IHRyYW5zZm9ybTogKHgpID0+IHggPz8gREVGQVVMVF9FUlJPUl9USFJPVFRMRV9NUyB9KTtcbiAgcmVhZG9ubHkgbWF4RXJyb3JzRm9yVGhyb3R0bGUgPSBpbnB1dDxudW1iZXIsIE1heWJlPG51bWJlcj4+KE1BWF9FUlJPUlNfVE9fVEhST1RUTEVfT04sIHsgdHJhbnNmb3JtOiAoeCkgPT4geCA/PyBNQVhfRVJST1JTX1RPX1RIUk9UVExFX09OIH0pO1xuICByZWFkb25seSB0cmlnZ2VyTGltaXQgPSBpbnB1dDxNYXliZTxudW1iZXI+PigpO1xuICByZWFkb25seSB0cmlnZ2VyRW5hYmxlZCA9IGlucHV0PGJvb2xlYW4sIE1heWJlPHN0cmluZyB8IGJvb2xlYW4+Pih0cnVlLCB7IGFsaWFzOiAnZGJ4QWN0aW9uQXV0b1RyaWdnZXInLCB0cmFuc2Zvcm06IGlzTm90RmFsc2UgfSk7XG4gIHJlYWRvbmx5IHVzZUZhc3RUcmlnZ2VyUHJlc2V0ID0gaW5wdXQ8Ym9vbGVhbiwgTWF5YmU8JycgfCBib29sZWFuPj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBpc0RlZmluZWRBbmROb3RGYWxzZSB9KTtcbiAgcmVhZG9ubHkgdXNlSW5zdGFudFRyaWdnZXJQcmVzZXQgPSBpbnB1dDxib29sZWFuLCBNYXliZTwnJyB8IGJvb2xlYW4+PihmYWxzZSwgeyB0cmFuc2Zvcm06IGlzRGVmaW5lZEFuZE5vdEZhbHNlIH0pO1xuXG4gIHJlYWRvbmx5IHRyaWdnZXJEZWJvdW5jZVNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBsZXQgZGVib3VuY2UgPSB0aGlzLnRyaWdnZXJEZWJvdW5jZSgpO1xuXG4gICAgaWYgKGRlYm91bmNlID09IG51bGwpIHtcbiAgICAgIGNvbnN0IHVzZUZhc3RUcmlnZ2VyID0gdGhpcy51c2VGYXN0VHJpZ2dlclByZXNldCgpO1xuICAgICAgY29uc3QgdXNlSW5zdGFudFRyaWdnZXIgPSB0aGlzLnVzZUluc3RhbnRUcmlnZ2VyUHJlc2V0KCk7XG5cbiAgICAgIGlmICh1c2VGYXN0VHJpZ2dlcikge1xuICAgICAgICBkZWJvdW5jZSA9IERCWF9BQ1RJT05fQVVUT19UUklHR0VSX0ZBU1RfVFJJR0dFUl9ERUJPVU5DRTtcbiAgICAgIH0gZWxzZSBpZiAodXNlSW5zdGFudFRyaWdnZXIpIHtcbiAgICAgICAgZGVib3VuY2UgPSBEQlhfQUNUSU9OX0FVVE9fVFJJR0dFUl9JTlNUQU5UX1RSSUdHRVJfREVCT1VOQ0U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlYm91bmNlID8/IERFRkFVTFRfREVCT1VOQ0VfTVM7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IHRyaWdnZXJUaHJvdHRsZVNpZ25hbDogU2lnbmFsPG51bWJlcj4gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgbGV0IHRocm90dGxlID0gdGhpcy50cmlnZ2VyVGhyb3R0bGUoKTtcblxuICAgIGlmICh0aHJvdHRsZSA9PSBudWxsKSB7XG4gICAgICBjb25zdCB1c2VGYXN0VHJpZ2dlciA9IHRoaXMudXNlRmFzdFRyaWdnZXJQcmVzZXQoKTtcbiAgICAgIGNvbnN0IHVzZUluc3RhbnRUcmlnZ2VyID0gdGhpcy51c2VJbnN0YW50VHJpZ2dlclByZXNldCgpO1xuXG4gICAgICBpZiAodXNlRmFzdFRyaWdnZXIpIHtcbiAgICAgICAgdGhyb3R0bGUgPSBEQlhfQUNUSU9OX0FVVE9fVFJJR0dFUl9GQVNUX1RSSUdHRVJfREVCT1VOQ0U7XG4gICAgICB9IGVsc2UgaWYgKHVzZUluc3RhbnRUcmlnZ2VyKSB7XG4gICAgICAgIHRocm90dGxlID0gREJYX0FDVElPTl9BVVRPX1RSSUdHRVJfSU5TVEFOVF9UUklHR0VSX0RFQk9VTkNFO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aHJvdHRsZSA/PyBERUZBVUxUX1RIUk9UVExFX01TO1xuICB9KTtcblxuICByZWFkb25seSB0cmlnZ2VyQ291bnRTaWduYWwgPSBzaWduYWw8bnVtYmVyPigwKTtcblxuICByZWFkb25seSBfZXJyb3JDb3VudCQgPSB0aGlzLnNvdXJjZS5lcnJvckNvdW50U2luY2VMYXN0U3VjY2VzcyQ7XG4gIHJlYWRvbmx5IF90cmlnZ2VyQ291bnQkID0gdGhpcy5zb3VyY2UuaXNNb2RpZmllZEFuZENhblRyaWdnZXJVcGRhdGVzJC5waXBlKFxuICAgIC8vIGVhY2ggdGltZSBzb21ldGhpbmcgaXMgdHJpZ2dlcmVkIHRoZVxuICAgIGZpbHRlcigoKSA9PiB0aGlzLnRyaWdnZXJFbmFibGVkKCkgPz8gZmFsc2UpLFxuICAgIGRlYm91bmNlKCgpID0+IGludGVydmFsKHRoaXMudHJpZ2dlckRlYm91bmNlU2lnbmFsKCkpKSxcbiAgICB0aHJvdHRsZShcbiAgICAgICgpID0+XG4gICAgICAgIHRoaXMuX2Vycm9yQ291bnQkLnBpcGUoXG4gICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICBleGhhdXN0TWFwKChlcnJvckNvdW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBtYXhFcnJvcnMgPSB0aGlzLm1heEVycm9yc0ZvclRocm90dGxlKCkgPz8gTUFYX0VSUk9SU19UT19USFJPVFRMRV9PTjtcbiAgICAgICAgICAgIGNvbnN0IHRocm90dGxlVGltZSA9IHRoaXMudHJpZ2dlckVycm9yVGhyb3R0bGUoKSA/PyBERUZBVUxUX0VSUk9SX1RIUk9UVExFX01TO1xuICAgICAgICAgICAgY29uc3QgYWRkaXRpb25hbEludGVydmFsID0gTWF0aC5taW4oZXJyb3JDb3VudCwgbWF4RXJyb3JzKSAqIHRocm90dGxlVGltZTtcblxuICAgICAgICAgICAgcmV0dXJuIGludGVydmFsKHRoaXMudHJpZ2dlclRocm90dGxlU2lnbmFsKCkgKyBhZGRpdGlvbmFsSW50ZXJ2YWwpO1xuICAgICAgICAgIH0pXG4gICAgICAgICksXG4gICAgICB7IGxlYWRpbmc6IHRydWUsIHRyYWlsaW5nOiB0cnVlIH1cbiAgICApLFxuICAgIC8vIENoZWNrIGFnYWluIGZvciB0aGUgXCJ0cmFpbGluZ1wiIHBpZWNlLlxuICAgIGZpbHRlcigoKSA9PiB0aGlzLnRyaWdnZXJFbmFibGVkKCkgPz8gZmFsc2UpLFxuICAgIG1lcmdlTWFwKCgpID0+IHRoaXMuc291cmNlLmlzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyJC5waXBlKGZpcnN0KCkpKSxcbiAgICBmaWx0ZXIoKHgpID0+IHgpLFxuICAgIG1hcCgoKSA9PiB7XG4gICAgICBjb25zdCBjb3VudCA9IHRoaXMudHJpZ2dlckNvdW50U2lnbmFsKCk7XG4gICAgICB0aGlzLnRyaWdnZXJDb3VudFNpZ25hbC51cGRhdGUoKHgpID0+IHggKyAxKTtcbiAgICAgIHJldHVybiBjb3VudDtcbiAgICB9KSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIC8qKlxuICAgKiBPYnNlcnZhYmxlIGZvciB0aGUgdHJpZ2dlciBtZWNoYW5pc20uXG4gICAqL1xuICByZWFkb25seSB0cmlnZ2VyQ291bnQkID0gdG9PYnNlcnZhYmxlKHRoaXMudHJpZ2dlckVuYWJsZWQpLnBpcGUoXG4gICAgc3dpdGNoTWFwKChlbmFibGVkKSA9PiB7XG4gICAgICBsZXQgY291bnRPYnM6IE9ic2VydmFibGU8bnVtYmVyPjtcblxuICAgICAgaWYgKGVuYWJsZWQgIT09IGZhbHNlKSB7XG4gICAgICAgIGNvdW50T2JzID0gdGhpcy5fdHJpZ2dlckNvdW50JDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvdW50T2JzID0gRU1QVFk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb3VudE9icztcbiAgICB9KVxuICApO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2lzVHJpZ2dlckxpbWl0ZWQkOiBPYnNlcnZhYmxlPHJlYWRvbmx5IFtudW1iZXIsIGJvb2xlYW5dPiA9IGNvbWJpbmVMYXRlc3QoW3RoaXMudHJpZ2dlckNvdW50JCwgdG9PYnNlcnZhYmxlKHRoaXMudHJpZ2dlckxpbWl0KV0pLnBpcGUoXG4gICAgbWFwKChbdHJpZ2dlckNvdW50LCBsaW1pdF0pID0+IHtcbiAgICAgIGNvbnN0IGlzQWxsb3dlZFRvUnVuID0gbGltaXQgIT0gbnVsbCA/IHRyaWdnZXJDb3VudCA8IGxpbWl0IDogdHJ1ZTtcbiAgICAgIHJldHVybiBbdHJpZ2dlckNvdW50LCBpc0FsbG93ZWRUb1J1bl0gYXMgY29uc3Q7XG4gICAgfSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBpc1RyaWdnZXJBbGxvd2VkVG9SdW4kID0gdGhpcy5faXNUcmlnZ2VyTGltaXRlZCQucGlwZShcbiAgICBtYXAoKHgpID0+IHhbMV0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG4gIHJlYWRvbmx5IGF1dG9tYXRpY1RyaWdnZXIkOiBPYnNlcnZhYmxlPHZvaWQ+ID0gdGhpcy5faXNUcmlnZ2VyTGltaXRlZCQucGlwZShcbiAgICBmaWx0ZXIoKHgpID0+IHhbMV0pLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBhWzBdID09PSBiWzBdKSwgLy8gT25seSB0cmlnZ2VyIHdoZW4gdGhlIGNvdW50IGNoYW5nZXMuXG4gICAgbWFwKCgpID0+IHVuZGVmaW5lZCBhcyB2b2lkKVxuICApO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3ViID0gdGhpcy5hdXRvbWF0aWNUcmlnZ2VyJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5zb3VyY2UudHJpZ2dlcigpO1xuICAgIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zb3VyY2UubG9ja1NldC5vbk5leHRVbmxvY2soKCkgPT4ge1xuICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -17,7 +17,7 @@ export class DbxActionMapSourceDirective {
|
|
|
17
17
|
}
|
|
18
18
|
this._currentKey = nextKey;
|
|
19
19
|
this._addToStore();
|
|
20
|
-
});
|
|
20
|
+
}, { allowSignalWrites: true });
|
|
21
21
|
ngOnDestroy() {
|
|
22
22
|
this._removeFromToStore();
|
|
23
23
|
}
|
|
@@ -41,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
41
41
|
standalone: true
|
|
42
42
|
}]
|
|
43
43
|
}] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLm1hcC5zb3VyY2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hY3Rpb24vZGlyZWN0aXZlL21hcC9hY3Rpb24ubWFwLnNvdXJjZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU1RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsMkJBQTJCLEVBQWEsTUFBTSxjQUFjLENBQUM7O0FBRXRFOztHQUVHO0FBS0gsTUFBTSxPQUFPLDJCQUEyQjtJQUNyQiw0QkFBNEIsR0FBRyxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUUzRSxNQUFNLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFMUQsR0FBRyxHQUFHLEtBQUssQ0FBbUIsU0FBUyxFQUFFLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQztJQUMzRSxXQUFXLENBQW1CO0lBRW5CLFVBQVUsR0FBRyxNQUFNLENBQ3BDLEdBQUcsRUFBRTtRQUNILE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUUzQixJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDNUIsQ0FBQztRQUVELElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDO1FBQzNCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDLEVBQ0QsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FDNUIsQ0FBQztJQUVGLFdBQVc7UUFDVCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsNEJBQTRCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xGLENBQUM7SUFDSCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEUsQ0FBQztJQUNILENBQUM7d0dBcENVLDJCQUEyQjs0RkFBM0IsMkJBQTJCOzs0RkFBM0IsMkJBQTJCO2tCQUp2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT25EZXN0cm95LCBlZmZlY3QsIGluamVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHR5cGUgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZSB9IGZyb20gJy4uLy4uL2FjdGlvbi5zdG9yZS5zb3VyY2UnO1xuaW1wb3J0IHsgQWN0aW9uQ29udGV4dFN0b3JlU291cmNlTWFwLCBBY3Rpb25LZXkgfSBmcm9tICcuL2FjdGlvbi5tYXAnO1xuXG4vKipcbiAqIFVzZWQgdG8gY29tbXVuaWNhdGUgd2l0aCBhbiBkYnhBY3Rpb25NYXAgYW5kIHNldCB0aGUgQWN0aW9uQ29udGV4dFN0b3JlIHRvIHRoZSBzdG9yZSBiYXNlZCBvbiB0aGUga2V5LlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4QWN0aW9uTWFwU291cmNlXScsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRGJ4QWN0aW9uTWFwU291cmNlRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aW9uQ29udGV4dFN0b3JlU291cmNlTWFwID0gaW5qZWN0KEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZU1hcCk7XG5cbiAgcmVhZG9ubHkgc291cmNlID0gaW5qZWN0KEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZSwgeyBob3N0OiB0cnVlIH0pO1xuXG4gIHJlYWRvbmx5IGtleSA9IGlucHV0PE1heWJlPEFjdGlvbktleT4+KHVuZGVmaW5lZCwgeyBhbGlhczogJ2RieEFjdGlvbk1hcFNvdXJjZScgfSk7XG4gIHByaXZhdGUgX2N1cnJlbnRLZXk6IE1heWJlPEFjdGlvbktleT47XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9rZXlFZmZlY3QgPSBlZmZlY3QoXG4gICAgKCkgPT4ge1xuICAgICAgY29uc3QgbmV4dEtleSA9IHRoaXMua2V5KCk7XG5cbiAgICAgIGlmICh0aGlzLl9jdXJyZW50S2V5ICE9PSBuZXh0S2V5KSB7XG4gICAgICAgIHRoaXMuX3JlbW92ZUZyb21Ub1N0b3JlKCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX2N1cnJlbnRLZXkgPSBuZXh0S2V5O1xuICAgICAgdGhpcy5fYWRkVG9TdG9yZSgpO1xuICAgIH0sXG4gICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XG4gICk7XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fcmVtb3ZlRnJvbVRvU3RvcmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FkZFRvU3RvcmUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2N1cnJlbnRLZXkpIHtcbiAgICAgIHRoaXMuX2FjdGlvbkNvbnRleHRTdG9yZVNvdXJjZU1hcC5hZGRTdG9yZVNvdXJjZSh0aGlzLl9jdXJyZW50S2V5LCB0aGlzLnNvdXJjZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVtb3ZlRnJvbVRvU3RvcmUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2N1cnJlbnRLZXkpIHtcbiAgICAgIHRoaXMuX2FjdGlvbkNvbnRleHRTdG9yZVNvdXJjZU1hcC5yZW1vdmVTdG9yZVNvdXJjZSh0aGlzLl9jdXJyZW50S2V5KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Directive, inject, input } from '@angular/core';
|
|
2
|
+
import { emitDelayObs } from '@dereekb/rxjs';
|
|
3
|
+
import { of, exhaustMap, shareReplay } from 'rxjs';
|
|
4
|
+
import { AbstractIfDirective } from '../../../view/if.directive';
|
|
5
|
+
import { DbxActionContextStoreSourceInstance } from '../../action.store.source';
|
|
6
|
+
import { transformEmptyStringInputToUndefined } from '../../../util/input';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
/**
|
|
9
|
+
* Structural directive that displays the content before the store has success.
|
|
10
|
+
*
|
|
11
|
+
* Can be configured to hide for a temporary period.
|
|
12
|
+
*/
|
|
13
|
+
export class DbxActionIdleDirective extends AbstractIfDirective {
|
|
14
|
+
_store = inject(DbxActionContextStoreSourceInstance);
|
|
15
|
+
hideAfter = input(undefined, { alias: 'dbxActionIdle', transform: transformEmptyStringInputToUndefined });
|
|
16
|
+
show$ = this._store.idle$.pipe(exhaustMap((idle) => {
|
|
17
|
+
if (idle) {
|
|
18
|
+
return emitDelayObs(true, false, this.hideAfter());
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
return of(false);
|
|
22
|
+
}
|
|
23
|
+
}), shareReplay(1));
|
|
24
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxActionIdleDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
25
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: DbxActionIdleDirective, isStandalone: true, selector: "[dbxActionIdle]", inputs: { hideAfter: { classPropertyName: "hideAfter", publicName: "dbxActionIdle", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });
|
|
26
|
+
}
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxActionIdleDirective, decorators: [{
|
|
28
|
+
type: Directive,
|
|
29
|
+
args: [{
|
|
30
|
+
selector: '[dbxActionIdle]',
|
|
31
|
+
standalone: true
|
|
32
|
+
}]
|
|
33
|
+
}] });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmlkbGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hY3Rpb24vZGlyZWN0aXZlL3N0YXRlL2FjdGlvbi5pZGxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3QyxPQUFPLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEYsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBRTNFOzs7O0dBSUc7QUFLSCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsbUJBQW1CO0lBQzVDLE1BQU0sR0FBRyxNQUFNLENBQUMsbUNBQW1DLENBQUMsQ0FBQztJQUU3RCxTQUFTLEdBQUcsS0FBSyxDQUFvQyxTQUFTLEVBQUUsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxvQ0FBb0MsRUFBRSxDQUFDLENBQUM7SUFFN0ksS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDckMsVUFBVSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDbEIsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULE9BQU8sWUFBWSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDckQsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQyxDQUFDLEVBQ0YsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7d0dBZFMsc0JBQXNCOzRGQUF0QixzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBSmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBlbWl0RGVsYXlPYnMgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IHR5cGUgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IG9mLCBleGhhdXN0TWFwLCBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWJzdHJhY3RJZkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL3ZpZXcvaWYuZGlyZWN0aXZlJztcbmltcG9ydCB7IERieEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlIH0gZnJvbSAnLi4vLi4vYWN0aW9uLnN0b3JlLnNvdXJjZSc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1FbXB0eVN0cmluZ0lucHV0VG9VbmRlZmluZWQgfSBmcm9tICcuLi8uLi8uLi91dGlsL2lucHV0JztcblxuLyoqXG4gKiBTdHJ1Y3R1cmFsIGRpcmVjdGl2ZSB0aGF0IGRpc3BsYXlzIHRoZSBjb250ZW50IGJlZm9yZSB0aGUgc3RvcmUgaGFzIHN1Y2Nlc3MuXG4gKlxuICogQ2FuIGJlIGNvbmZpZ3VyZWQgdG8gaGlkZSBmb3IgYSB0ZW1wb3JhcnkgcGVyaW9kLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4QWN0aW9uSWRsZV0nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIERieEFjdGlvbklkbGVEaXJlY3RpdmUgZXh0ZW5kcyBBYnN0cmFjdElmRGlyZWN0aXZlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfc3RvcmUgPSBpbmplY3QoRGJ4QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2UpO1xuXG4gIHJlYWRvbmx5IGhpZGVBZnRlciA9IGlucHV0PE1heWJlPG51bWJlcj4sIE1heWJlPG51bWJlcj4gfCAnJz4odW5kZWZpbmVkLCB7IGFsaWFzOiAnZGJ4QWN0aW9uSWRsZScsIHRyYW5zZm9ybTogdHJhbnNmb3JtRW1wdHlTdHJpbmdJbnB1dFRvVW5kZWZpbmVkIH0pO1xuXG4gIHJlYWRvbmx5IHNob3ckID0gdGhpcy5fc3RvcmUuaWRsZSQucGlwZShcbiAgICBleGhhdXN0TWFwKChpZGxlKSA9PiB7XG4gICAgICBpZiAoaWRsZSkge1xuICAgICAgICByZXR1cm4gZW1pdERlbGF5T2JzKHRydWUsIGZhbHNlLCB0aGlzLmhpZGVBZnRlcigpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgICB9XG4gICAgfSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcbn1cbiJdfQ==
|
|
@@ -3,6 +3,7 @@ import { emitDelayObs } from '@dereekb/rxjs';
|
|
|
3
3
|
import { of, exhaustMap, shareReplay } from 'rxjs';
|
|
4
4
|
import { AbstractIfDirective } from '../../../view/if.directive';
|
|
5
5
|
import { DbxActionContextStoreSourceInstance } from '../../action.store.source';
|
|
6
|
+
import { transformEmptyStringInputToUndefined } from '../../../util/input';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
/**
|
|
8
9
|
* Structural directive that displays the content before the store has success.
|
|
@@ -11,7 +12,7 @@ import * as i0 from "@angular/core";
|
|
|
11
12
|
*/
|
|
12
13
|
export class DbxActionPreSuccessDirective extends AbstractIfDirective {
|
|
13
14
|
_store = inject(DbxActionContextStoreSourceInstance);
|
|
14
|
-
hideFor = input(undefined, { alias: 'dbxActionPreSuccess', transform:
|
|
15
|
+
hideFor = input(undefined, { alias: 'dbxActionPreSuccess', transform: transformEmptyStringInputToUndefined });
|
|
15
16
|
show$ = this._store.isSuccess$.pipe(exhaustMap((success) => {
|
|
16
17
|
if (success) {
|
|
17
18
|
return emitDelayObs(false, true, this.hideFor());
|
|
@@ -30,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
30
31
|
standalone: true
|
|
31
32
|
}]
|
|
32
33
|
}] });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnByZXN1Y2Nlc3MuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hY3Rpb24vZGlyZWN0aXZlL3N0YXRlL2FjdGlvbi5wcmVzdWNjZXNzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3QyxPQUFPLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEYsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBRTNFOzs7O0dBSUc7QUFLSCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsbUJBQW1CO0lBQ2xELE1BQU0sR0FBRyxNQUFNLENBQUMsbUNBQW1DLENBQUMsQ0FBQztJQUU3RCxPQUFPLEdBQUcsS0FBSyxDQUFvQyxTQUFTLEVBQUUsRUFBRSxLQUFLLEVBQUUscUJBQXFCLEVBQUUsU0FBUyxFQUFFLG9DQUFvQyxFQUFFLENBQUMsQ0FBQztJQUVqSixLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUMxQyxVQUFVLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUNyQixJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osT0FBTyxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNuRCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xCLENBQUM7SUFDSCxDQUFDLENBQUMsRUFDRixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQzt3R0FkUyw0QkFBNEI7NEZBQTVCLDRCQUE0Qjs7NEZBQTVCLDRCQUE0QjtrQkFKeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGVtaXREZWxheU9icyB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgdHlwZSBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgb2YsIGV4aGF1c3RNYXAsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBYnN0cmFjdElmRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vdmlldy9pZi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRGJ4QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2UgfSBmcm9tICcuLi8uLi9hY3Rpb24uc3RvcmUuc291cmNlJztcbmltcG9ydCB7IHRyYW5zZm9ybUVtcHR5U3RyaW5nSW5wdXRUb1VuZGVmaW5lZCB9IGZyb20gJy4uLy4uLy4uL3V0aWwvaW5wdXQnO1xuXG4vKipcbiAqIFN0cnVjdHVyYWwgZGlyZWN0aXZlIHRoYXQgZGlzcGxheXMgdGhlIGNvbnRlbnQgYmVmb3JlIHRoZSBzdG9yZSBoYXMgc3VjY2Vzcy5cbiAqXG4gKiBDYW4gYmUgY29uZmlndXJlZCB0byBoaWRlIGZvciBhIHRlbXBvcmFyeSBwZXJpb2QuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tkYnhBY3Rpb25QcmVTdWNjZXNzXScsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRGJ4QWN0aW9uUHJlU3VjY2Vzc0RpcmVjdGl2ZSBleHRlbmRzIEFic3RyYWN0SWZEaXJlY3RpdmUge1xuICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yZSA9IGluamVjdChEYnhBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZSk7XG5cbiAgcmVhZG9ubHkgaGlkZUZvciA9IGlucHV0PE1heWJlPG51bWJlcj4sIE1heWJlPG51bWJlcj4gfCAnJz4odW5kZWZpbmVkLCB7IGFsaWFzOiAnZGJ4QWN0aW9uUHJlU3VjY2VzcycsIHRyYW5zZm9ybTogdHJhbnNmb3JtRW1wdHlTdHJpbmdJbnB1dFRvVW5kZWZpbmVkIH0pO1xuXG4gIHJlYWRvbmx5IHNob3ckID0gdGhpcy5fc3RvcmUuaXNTdWNjZXNzJC5waXBlKFxuICAgIGV4aGF1c3RNYXAoKHN1Y2Nlc3MpID0+IHtcbiAgICAgIGlmIChzdWNjZXNzKSB7XG4gICAgICAgIHJldHVybiBlbWl0RGVsYXlPYnMoZmFsc2UsIHRydWUsIHRoaXMuaGlkZUZvcigpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBvZih0cnVlKTtcbiAgICAgIH1cbiAgICB9KSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xufVxuIl19
|
|
@@ -3,6 +3,7 @@ import { emitDelayObs } from '@dereekb/rxjs';
|
|
|
3
3
|
import { of, exhaustMap, shareReplay } from 'rxjs';
|
|
4
4
|
import { AbstractIfDirective } from '../../../view/if.directive';
|
|
5
5
|
import { DbxActionContextStoreSourceInstance } from '../../action.store.source';
|
|
6
|
+
import { transformEmptyStringInputToUndefined } from '../../../util/input';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
/**
|
|
8
9
|
* Structural directive that displays the content when the store has a success value.
|
|
@@ -11,7 +12,7 @@ import * as i0 from "@angular/core";
|
|
|
11
12
|
*/
|
|
12
13
|
export class DbxActionHasSuccessDirective extends AbstractIfDirective {
|
|
13
14
|
_store = inject(DbxActionContextStoreSourceInstance);
|
|
14
|
-
hideAfter = input(undefined, { alias: 'dbxActionHasSuccess', transform:
|
|
15
|
+
hideAfter = input(undefined, { alias: 'dbxActionHasSuccess', transform: transformEmptyStringInputToUndefined });
|
|
15
16
|
show$ = this._store.isSuccess$.pipe(exhaustMap((success) => {
|
|
16
17
|
if (success) {
|
|
17
18
|
return emitDelayObs(true, false, this.hideAfter());
|
|
@@ -30,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
30
31
|
standalone: true
|
|
31
32
|
}]
|
|
32
33
|
}] });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnN1Y2Nlc3MuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hY3Rpb24vZGlyZWN0aXZlL3N0YXRlL2FjdGlvbi5zdWNjZXNzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3QyxPQUFPLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEYsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBRTNFOzs7O0dBSUc7QUFLSCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsbUJBQW1CO0lBQ2xELE1BQU0sR0FBRyxNQUFNLENBQUMsbUNBQW1DLENBQUMsQ0FBQztJQUU3RCxTQUFTLEdBQUcsS0FBSyxDQUFvQyxTQUFTLEVBQUUsRUFBRSxLQUFLLEVBQUUscUJBQXFCLEVBQUUsU0FBUyxFQUFFLG9DQUFvQyxFQUFFLENBQUMsQ0FBQztJQUVuSixLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUMxQyxVQUFVLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUNyQixJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osT0FBTyxZQUFZLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUNyRCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25CLENBQUM7SUFDSCxDQUFDLENBQUMsRUFDRixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQzt3R0FkUyw0QkFBNEI7NEZBQTVCLDRCQUE0Qjs7NEZBQTVCLDRCQUE0QjtrQkFKeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPbkRlc3Ryb3ksIERpcmVjdGl2ZSwgaW5qZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZW1pdERlbGF5T2JzIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyB0eXBlIE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBvZiwgZXhoYXVzdE1hcCwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFic3RyYWN0SWZEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi92aWV3L2lmLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBEYnhBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZSB9IGZyb20gJy4uLy4uL2FjdGlvbi5zdG9yZS5zb3VyY2UnO1xuaW1wb3J0IHsgdHJhbnNmb3JtRW1wdHlTdHJpbmdJbnB1dFRvVW5kZWZpbmVkIH0gZnJvbSAnLi4vLi4vLi4vdXRpbC9pbnB1dCc7XG5cbi8qKlxuICogU3RydWN0dXJhbCBkaXJlY3RpdmUgdGhhdCBkaXNwbGF5cyB0aGUgY29udGVudCB3aGVuIHRoZSBzdG9yZSBoYXMgYSBzdWNjZXNzIHZhbHVlLlxuICpcbiAqIENhbiBiZSBjb25maWd1cmVkIHRvIHNob3cgZm9yIGEgdGVtcG9yYXJ5IHBlcmlvZC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2RieEFjdGlvbkhhc1N1Y2Nlc3NdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBEYnhBY3Rpb25IYXNTdWNjZXNzRGlyZWN0aXZlIGV4dGVuZHMgQWJzdHJhY3RJZkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JlID0gaW5qZWN0KERieEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlKTtcblxuICByZWFkb25seSBoaWRlQWZ0ZXIgPSBpbnB1dDxNYXliZTxudW1iZXI+LCBNYXliZTxudW1iZXI+IHwgJyc+KHVuZGVmaW5lZCwgeyBhbGlhczogJ2RieEFjdGlvbkhhc1N1Y2Nlc3MnLCB0cmFuc2Zvcm06IHRyYW5zZm9ybUVtcHR5U3RyaW5nSW5wdXRUb1VuZGVmaW5lZCB9KTtcblxuICByZWFkb25seSBzaG93JCA9IHRoaXMuX3N0b3JlLmlzU3VjY2VzcyQucGlwZShcbiAgICBleGhhdXN0TWFwKChzdWNjZXNzKSA9PiB7XG4gICAgICBpZiAoc3VjY2Vzcykge1xuICAgICAgICByZXR1cm4gZW1pdERlbGF5T2JzKHRydWUsIGZhbHNlLCB0aGlzLmhpZGVBZnRlcigpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgICB9XG4gICAgfSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Directive, inject, input } from '@angular/core';
|
|
2
|
+
import { emitDelayObs } from '@dereekb/rxjs';
|
|
3
|
+
import { of, exhaustMap, shareReplay } from 'rxjs';
|
|
4
|
+
import { AbstractIfDirective } from '../../../view/if.directive';
|
|
5
|
+
import { DbxActionContextStoreSourceInstance } from '../../action.store.source';
|
|
6
|
+
import { transformEmptyStringInputToUndefined } from '../../../util/input';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
/**
|
|
9
|
+
* Structural directive that displays the content when the store has been triggered.
|
|
10
|
+
*
|
|
11
|
+
* Can be configured to hide for a temporary period.
|
|
12
|
+
*/
|
|
13
|
+
export class DbxActionTriggeredDirective extends AbstractIfDirective {
|
|
14
|
+
_store = inject(DbxActionContextStoreSourceInstance);
|
|
15
|
+
hideAfter = input(undefined, { alias: 'dbxActionTriggered', transform: transformEmptyStringInputToUndefined });
|
|
16
|
+
show$ = this._store.triggered$.pipe(exhaustMap((triggered) => {
|
|
17
|
+
if (triggered) {
|
|
18
|
+
return emitDelayObs(true, false, this.hideAfter());
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
return of(false);
|
|
22
|
+
}
|
|
23
|
+
}), shareReplay(1));
|
|
24
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxActionTriggeredDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
25
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: DbxActionTriggeredDirective, isStandalone: true, selector: "[dbxActionTriggered]", inputs: { hideAfter: { classPropertyName: "hideAfter", publicName: "dbxActionTriggered", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });
|
|
26
|
+
}
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxActionTriggeredDirective, decorators: [{
|
|
28
|
+
type: Directive,
|
|
29
|
+
args: [{
|
|
30
|
+
selector: '[dbxActionTriggered]',
|
|
31
|
+
standalone: true
|
|
32
|
+
}]
|
|
33
|
+
}] });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnRyaWdnZXJlZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2FjdGlvbi9kaXJlY3RpdmUvc3RhdGUvYWN0aW9uLnRyaWdnZXJlZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0MsT0FBTyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUUzRTs7OztHQUlHO0FBS0gsTUFBTSxPQUFPLDJCQUE0QixTQUFRLG1CQUFtQjtJQUNqRCxNQUFNLEdBQUcsTUFBTSxDQUFDLG1DQUFtQyxDQUFDLENBQUM7SUFFN0QsU0FBUyxHQUFHLEtBQUssQ0FBb0MsU0FBUyxFQUFFLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxvQ0FBb0MsRUFBRSxDQUFDLENBQUM7SUFFbEosS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDMUMsVUFBVSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7UUFDdkIsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLE9BQU8sWUFBWSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDckQsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQyxDQUFDLEVBQ0YsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7d0dBZFMsMkJBQTJCOzRGQUEzQiwyQkFBMkI7OzRGQUEzQiwyQkFBMkI7a0JBSnZDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBlbWl0RGVsYXlPYnMgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IHR5cGUgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IG9mLCBleGhhdXN0TWFwLCBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWJzdHJhY3RJZkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL3ZpZXcvaWYuZGlyZWN0aXZlJztcbmltcG9ydCB7IERieEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlIH0gZnJvbSAnLi4vLi4vYWN0aW9uLnN0b3JlLnNvdXJjZSc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1FbXB0eVN0cmluZ0lucHV0VG9VbmRlZmluZWQgfSBmcm9tICcuLi8uLi8uLi91dGlsL2lucHV0JztcblxuLyoqXG4gKiBTdHJ1Y3R1cmFsIGRpcmVjdGl2ZSB0aGF0IGRpc3BsYXlzIHRoZSBjb250ZW50IHdoZW4gdGhlIHN0b3JlIGhhcyBiZWVuIHRyaWdnZXJlZC5cbiAqXG4gKiBDYW4gYmUgY29uZmlndXJlZCB0byBoaWRlIGZvciBhIHRlbXBvcmFyeSBwZXJpb2QuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tkYnhBY3Rpb25UcmlnZ2VyZWRdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBEYnhBY3Rpb25UcmlnZ2VyZWREaXJlY3RpdmUgZXh0ZW5kcyBBYnN0cmFjdElmRGlyZWN0aXZlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfc3RvcmUgPSBpbmplY3QoRGJ4QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2UpO1xuXG4gIHJlYWRvbmx5IGhpZGVBZnRlciA9IGlucHV0PE1heWJlPG51bWJlcj4sIE1heWJlPG51bWJlcj4gfCAnJz4odW5kZWZpbmVkLCB7IGFsaWFzOiAnZGJ4QWN0aW9uVHJpZ2dlcmVkJywgdHJhbnNmb3JtOiB0cmFuc2Zvcm1FbXB0eVN0cmluZ0lucHV0VG9VbmRlZmluZWQgfSk7XG5cbiAgcmVhZG9ubHkgc2hvdyQgPSB0aGlzLl9zdG9yZS50cmlnZ2VyZWQkLnBpcGUoXG4gICAgZXhoYXVzdE1hcCgodHJpZ2dlcmVkKSA9PiB7XG4gICAgICBpZiAodHJpZ2dlcmVkKSB7XG4gICAgICAgIHJldHVybiBlbWl0RGVsYXlPYnModHJ1ZSwgZmFsc2UsIHRoaXMuaGlkZUFmdGVyKCkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9KSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xufVxuIl19
|