@coolon/angular-ui-powerups 0.0.90 → 0.0.92
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/bundles/coolon-angular-ui-powerups.umd.js +432 -364
- package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
- package/bundles/coolon-angular-ui-powerups.umd.min.js +1 -1
- package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
- package/coolon-angular-ui-powerups.d.ts +7 -7
- package/coolon-angular-ui-powerups.metadata.json +1 -1
- package/esm2015/coolon-angular-ui-powerups.js +8 -8
- package/esm2015/lib/directives/command.directive.js +28 -5
- package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +2 -7
- package/esm2015/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js +3 -8
- package/esm2015/lib/interaction/interaction-context.js +70 -14
- package/esm2015/lib/interaction/services/dialog-interaction.service.js +11 -19
- package/esm2015/lib/place/navigation-session.js +171 -39
- package/esm2015/lib/place/place-component.js +4 -19
- package/esm2015/lib/place/place-router.js +72 -31
- package/esm2015/lib/place/route/guards/enter-place-guard.service.js +2 -2
- package/esm2015/lib/place/route/guards/leave-place.guard.js +7 -177
- package/esm5/coolon-angular-ui-powerups.js +8 -8
- package/esm5/lib/directives/command.directive.js +32 -5
- package/esm5/lib/interaction/components/activity-container/activity-container.component.js +2 -11
- package/esm5/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js +3 -12
- package/esm5/lib/interaction/interaction-context.js +89 -27
- package/esm5/lib/interaction/services/dialog-interaction.service.js +11 -22
- package/esm5/lib/place/navigation-session.js +214 -54
- package/esm5/lib/place/place-component.js +4 -35
- package/esm5/lib/place/place-router.js +82 -37
- package/esm5/lib/place/route/guards/enter-place-guard.service.js +2 -2
- package/esm5/lib/place/route/guards/leave-place.guard.js +7 -176
- package/fesm2015/coolon-angular-ui-powerups.js +350 -299
- package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
- package/fesm5/coolon-angular-ui-powerups.js +427 -359
- package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
- package/lib/directives/command.directive.d.ts +2 -0
- package/lib/interaction/components/activity-container/activity-container.component.d.ts +1 -2
- package/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.d.ts +3 -4
- package/lib/interaction/interaction-context.d.ts +6 -3
- package/lib/interaction/services/dialog-interaction.service.d.ts +3 -5
- package/lib/place/navigation-session.d.ts +26 -9
- package/lib/place/place-component.d.ts +4 -9
- package/lib/place/place-router.d.ts +8 -3
- package/lib/place/route/guards/leave-place.guard.d.ts +2 -10
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import * as tslib_1 from "tslib";
|
|
6
|
-
import { GarbageCollector } from '@coolon/pectin';
|
|
6
|
+
import { Deferred, DelegatingListModel, Dsl, GarbageCollector } from '@coolon/pectin';
|
|
7
7
|
import * as _ from 'lodash';
|
|
8
8
|
/**
|
|
9
9
|
* @abstract
|
|
@@ -14,51 +14,107 @@ var /**
|
|
|
14
14
|
InteractionContext = /** @class */ (function (_super) {
|
|
15
15
|
tslib_1.__extends(InteractionContext, _super);
|
|
16
16
|
function InteractionContext() {
|
|
17
|
-
|
|
18
|
-
}
|
|
19
|
-
Object.defineProperty(InteractionContext.prototype, "currentActivity", {
|
|
17
|
+
var _this = _super.call(this) || this;
|
|
20
18
|
/**
|
|
21
|
-
* Returns the
|
|
19
|
+
* Returns the current list of activities that are in progress.
|
|
22
20
|
* This model is only updated in the next tick after the view has been updated.
|
|
23
21
|
*/
|
|
22
|
+
_this._activityListDelegate = new DelegatingListModel();
|
|
23
|
+
var _a = Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
|
|
24
|
+
when.listOf(_this.activityList).becomesPopulated((/**
|
|
25
|
+
* @param {?} activities
|
|
26
|
+
* @return {?}
|
|
27
|
+
*/
|
|
28
|
+
function (activities) {
|
|
29
|
+
if (_this.deferredGetCurrentActivity) {
|
|
30
|
+
_this.deferredGetCurrentActivity.resolve(_.last(activities));
|
|
31
|
+
_this.deferredGetCurrentActivity = null;
|
|
32
|
+
}
|
|
33
|
+
}));
|
|
34
|
+
return _this;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* @protected
|
|
38
|
+
* @param {?} activityList
|
|
39
|
+
* @return {?}
|
|
40
|
+
*/
|
|
41
|
+
InteractionContext.prototype.setActivityList = /**
|
|
42
|
+
* @protected
|
|
43
|
+
* @param {?} activityList
|
|
44
|
+
* @return {?}
|
|
45
|
+
*/
|
|
46
|
+
function (activityList) {
|
|
47
|
+
this._activityListDelegate.setDelegate(activityList);
|
|
48
|
+
};
|
|
49
|
+
Object.defineProperty(InteractionContext.prototype, "activityList", {
|
|
24
50
|
get: /**
|
|
25
|
-
* Returns the activity that is currently active.
|
|
26
|
-
* This model is only updated in the next tick after the view has been updated.
|
|
27
51
|
* @return {?}
|
|
28
52
|
*/
|
|
29
53
|
function () {
|
|
30
|
-
return
|
|
54
|
+
return this._activityListDelegate.readonly;
|
|
31
55
|
},
|
|
32
56
|
enumerable: true,
|
|
33
57
|
configurable: true
|
|
34
58
|
});
|
|
35
59
|
/**
|
|
36
|
-
*
|
|
60
|
+
* Returns the activity that is currently active.
|
|
61
|
+
* This model is only updated in the next tick after the view has been updated.
|
|
62
|
+
*/
|
|
63
|
+
/**
|
|
64
|
+
* Returns the activity that is currently active.
|
|
65
|
+
* This model is only updated in the next tick after the view has been updated.
|
|
37
66
|
* @return {?}
|
|
38
67
|
*/
|
|
39
|
-
InteractionContext.prototype.
|
|
40
|
-
*
|
|
68
|
+
InteractionContext.prototype.getCurrentActivity = /**
|
|
69
|
+
* Returns the activity that is currently active.
|
|
70
|
+
* This model is only updated in the next tick after the view has been updated.
|
|
41
71
|
* @return {?}
|
|
42
72
|
*/
|
|
43
|
-
function (
|
|
73
|
+
function () {
|
|
44
74
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
75
|
+
return tslib_1.__generator(this, function (_a) {
|
|
76
|
+
if (!this.isActive()) {
|
|
77
|
+
return [2 /*return*/, Promise.reject('no activity in progress')];
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
if (this.deferredGetCurrentActivity) {
|
|
81
|
+
// we're already waiting then just return the same promise
|
|
82
|
+
return [2 /*return*/, this.deferredGetCurrentActivity.promise];
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
if (this.activityList.length < 1) {
|
|
86
|
+
this.deferredGetCurrentActivity = Deferred.defer();
|
|
87
|
+
return [2 /*return*/, this.deferredGetCurrentActivity.promise];
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
return [2 /*return*/, _.last(this.activityList.value)];
|
|
91
|
+
}
|
|
92
|
+
}
|
|
58
93
|
}
|
|
94
|
+
return [2 /*return*/];
|
|
59
95
|
});
|
|
60
96
|
});
|
|
61
97
|
};
|
|
98
|
+
/**
|
|
99
|
+
* @param {?} confirm
|
|
100
|
+
* @return {?}
|
|
101
|
+
*/
|
|
102
|
+
InteractionContext.prototype.confirm = /**
|
|
103
|
+
* @param {?} confirm
|
|
104
|
+
* @return {?}
|
|
105
|
+
*/
|
|
106
|
+
function (confirm) {
|
|
107
|
+
// Important: we have to implement confirmOrReject as the main entry point
|
|
108
|
+
// as the canDeactivation guards need to be able to cancel an interaction
|
|
109
|
+
// without caring about returning a value.
|
|
110
|
+
return this.confirmOrReject(confirm).then((/**
|
|
111
|
+
* @return {?}
|
|
112
|
+
*/
|
|
113
|
+
function () { return true; })).catch((/**
|
|
114
|
+
* @return {?}
|
|
115
|
+
*/
|
|
116
|
+
function () { return false; }));
|
|
117
|
+
};
|
|
62
118
|
return InteractionContext;
|
|
63
119
|
}(GarbageCollector));
|
|
64
120
|
/**
|
|
@@ -70,8 +126,14 @@ if (false) {
|
|
|
70
126
|
* Returns the current list of activities that are in progress.
|
|
71
127
|
* This model is only updated in the next tick after the view has been updated.
|
|
72
128
|
* @type {?}
|
|
129
|
+
* @private
|
|
130
|
+
*/
|
|
131
|
+
InteractionContext.prototype._activityListDelegate;
|
|
132
|
+
/**
|
|
133
|
+
* @type {?}
|
|
134
|
+
* @private
|
|
73
135
|
*/
|
|
74
|
-
InteractionContext.prototype.
|
|
136
|
+
InteractionContext.prototype.deferredGetCurrentActivity;
|
|
75
137
|
/**
|
|
76
138
|
* Returns true if an activity is currently running.
|
|
77
139
|
* @abstract
|
|
@@ -109,4 +171,4 @@ if (false) {
|
|
|
109
171
|
*/
|
|
110
172
|
InteractionContext.prototype.alert = function (alert) { };
|
|
111
173
|
}
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24tY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9pbnRlcmFjdGlvbi1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFpQixRQUFRLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxFQUFFLGdCQUFnQixFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEgsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7Ozs7QUFLNUI7Ozs7SUFBaUQsOENBQWdCO0lBVS9EO1FBQUEsWUFDRSxpQkFBTyxTQVFSOzs7OztRQWJnQiwyQkFBcUIsR0FBRyxJQUFJLG1CQUFtQixFQUFzQixDQUFDO1FBTS9FLElBQUEsMkJBQWtGLEVBQWhGLGdCQUFLLEVBQUUsb0JBQU8sRUFBRSxrQkFBTSxFQUFFLGNBQUksRUFBRSxnQkFBSyxFQUFFLG9CQUFPLEVBQUUsc0JBQWtDO1FBQ3hGLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLGdCQUFnQjs7OztRQUFDLFVBQUMsVUFBVTtZQUN6RCxJQUFJLEtBQUksQ0FBQywwQkFBMEIsRUFBRTtnQkFDbkMsS0FBSSxDQUFDLDBCQUEwQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQzVELEtBQUksQ0FBQywwQkFBMEIsR0FBRyxJQUFJLENBQUM7YUFDeEM7UUFDSCxDQUFDLEVBQUMsQ0FBQzs7SUFDTCxDQUFDOzs7Ozs7SUFFUyw0Q0FBZTs7Ozs7SUFBekIsVUFBMEIsWUFBMkM7UUFDbkUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsc0JBQUksNENBQVk7Ozs7UUFBaEI7WUFDRSxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUM7UUFDN0MsQ0FBQzs7O09BQUE7SUFHRDs7O09BR0c7Ozs7OztJQUNHLCtDQUFrQjs7Ozs7SUFBeEI7OztnQkFDRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO29CQUNwQixzQkFBTyxPQUFPLENBQUMsTUFBTSxDQUFDLHlCQUF5QixDQUFDLEVBQUM7aUJBQ2xEO3FCQUFNO29CQUNMLElBQUksSUFBSSxDQUFDLDBCQUEwQixFQUFFO3dCQUNuQywwREFBMEQ7d0JBQzFELHNCQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLEVBQUM7cUJBQ2hEO3lCQUFNO3dCQUNMLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFOzRCQUNoQyxJQUFJLENBQUMsMEJBQTBCLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDOzRCQUNuRCxzQkFBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsT0FBTyxFQUFDO3lCQUNoRDs2QkFBTTs0QkFDTCxzQkFBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUM7eUJBQ3hDO3FCQUNGO2lCQUNGOzs7O0tBQ0Y7Ozs7O0lBU0Qsb0NBQU87Ozs7SUFBUCxVQUFRLE9BQWdCO1FBQ3RCLDBFQUEwRTtRQUMxRSx5RUFBeUU7UUFDekUsMENBQTBDO1FBQzFDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJOzs7UUFBQyxjQUFNLE9BQUEsSUFBSSxFQUFKLENBQUksRUFBQyxDQUFDLEtBQUs7OztRQUFDLGNBQU0sT0FBQSxLQUFLLEVBQUwsQ0FBSyxFQUFDLENBQUM7SUFDM0UsQ0FBQztJQWNILHlCQUFDO0FBQUQsQ0FBQyxBQTlFRCxDQUFpRCxnQkFBZ0IsR0E4RWhFOzs7Ozs7Ozs7Ozs7SUF4RUMsbURBQXVGOzs7OztJQUV2Rix3REFBc0U7Ozs7OztJQStDdEUsd0RBQTZCOzs7Ozs7OztJQUU3QiwrRUFBc0c7Ozs7OztJQVN0RyxzRUFBZ0U7Ozs7Ozs7Ozs7SUFRaEUsc0ZBQXNIOzs7Ozs7SUFFdEgsMERBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0YWJsZSwgRGVmZXJyZWQsIERlbGVnYXRpbmdMaXN0TW9kZWwsIERzbCwgR2FyYmFnZUNvbGxlY3RvciwgTGlzdE1vZGVsIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQWN0aXZpdHkgfSBmcm9tICcuL2FjdGl2aXR5JztcbmltcG9ydCB7IEFsZXJ0IH0gZnJvbSAnLi9hbGVydCc7XG5pbXBvcnQgeyBDb25maXJtIH0gZnJvbSAnLi9jb25maXJtJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEludGVyYWN0aW9uQ29udGV4dCBleHRlbmRzIEdhcmJhZ2VDb2xsZWN0b3Ige1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGxpc3Qgb2YgYWN0aXZpdGllcyB0aGF0IGFyZSBpbiBwcm9ncmVzcy5cbiAgICogVGhpcyBtb2RlbCBpcyBvbmx5IHVwZGF0ZWQgaW4gdGhlIG5leHQgdGljayBhZnRlciB0aGUgdmlldyBoYXMgYmVlbiB1cGRhdGVkLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZpdHlMaXN0RGVsZWdhdGUgPSBuZXcgRGVsZWdhdGluZ0xpc3RNb2RlbDxBY3Rpdml0eTxhbnksIGFueT4+KCk7XG5cbiAgcHJpdmF0ZSBkZWZlcnJlZEdldEN1cnJlbnRBY3Rpdml0eTogRGVmZXJyZWQ8QWN0aXZpdHk8YW55LCBhbnksIGFueT4+O1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHsgY2hhaW4sIHZhbHVlT2YsIGJlZm9yZSwgd2hlbiwgYWZ0ZXIsIG9ic2VydmUsIHN3aXRjaE9uIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgd2hlbi5saXN0T2YodGhpcy5hY3Rpdml0eUxpc3QpLmJlY29tZXNQb3B1bGF0ZWQoKGFjdGl2aXRpZXMpID0+IHtcbiAgICAgIGlmICh0aGlzLmRlZmVycmVkR2V0Q3VycmVudEFjdGl2aXR5KSB7XG4gICAgICAgIHRoaXMuZGVmZXJyZWRHZXRDdXJyZW50QWN0aXZpdHkucmVzb2x2ZShfLmxhc3QoYWN0aXZpdGllcykpO1xuICAgICAgICB0aGlzLmRlZmVycmVkR2V0Q3VycmVudEFjdGl2aXR5ID0gbnVsbDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRBY3Rpdml0eUxpc3QoYWN0aXZpdHlMaXN0OiBMaXN0TW9kZWw8QWN0aXZpdHk8YW55LCBhbnk+Pikge1xuICAgIHRoaXMuX2FjdGl2aXR5TGlzdERlbGVnYXRlLnNldERlbGVnYXRlKGFjdGl2aXR5TGlzdCk7XG4gIH1cblxuICBnZXQgYWN0aXZpdHlMaXN0KCk6IExpc3RNb2RlbDxBY3Rpdml0eTxhbnksIGFueSwgYW55Pj4ge1xuICAgIHJldHVybiB0aGlzLl9hY3Rpdml0eUxpc3REZWxlZ2F0ZS5yZWFkb25seTtcbiAgfVxuXG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGFjdGl2aXR5IHRoYXQgaXMgY3VycmVudGx5IGFjdGl2ZS5cbiAgICogVGhpcyBtb2RlbCBpcyBvbmx5IHVwZGF0ZWQgaW4gdGhlIG5leHQgdGljayBhZnRlciB0aGUgdmlldyBoYXMgYmVlbiB1cGRhdGVkLlxuICAgKi9cbiAgYXN5bmMgZ2V0Q3VycmVudEFjdGl2aXR5KCk6IFByb21pc2U8QWN0aXZpdHk8YW55LCBhbnk+PiB7XG4gICAgaWYgKCF0aGlzLmlzQWN0aXZlKCkpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgnbm8gYWN0aXZpdHkgaW4gcHJvZ3Jlc3MnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuZGVmZXJyZWRHZXRDdXJyZW50QWN0aXZpdHkpIHtcbiAgICAgICAgLy8gd2UncmUgYWxyZWFkeSB3YWl0aW5nIHRoZW4ganVzdCByZXR1cm4gdGhlIHNhbWUgcHJvbWlzZVxuICAgICAgICByZXR1cm4gdGhpcy5kZWZlcnJlZEdldEN1cnJlbnRBY3Rpdml0eS5wcm9taXNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZpdHlMaXN0Lmxlbmd0aCA8IDEpIHtcbiAgICAgICAgICB0aGlzLmRlZmVycmVkR2V0Q3VycmVudEFjdGl2aXR5ID0gRGVmZXJyZWQuZGVmZXIoKTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5kZWZlcnJlZEdldEN1cnJlbnRBY3Rpdml0eS5wcm9taXNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBfLmxhc3QodGhpcy5hY3Rpdml0eUxpc3QudmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiBhbiBhY3Rpdml0eSBpcyBjdXJyZW50bHkgcnVubmluZy5cbiAgICovXG4gIGFic3RyYWN0IGlzQWN0aXZlKCk6IGJvb2xlYW47XG5cbiAgYWJzdHJhY3Qgc3RhcnRBY3Rpdml0eTxELCBSLCBFPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCk6IFByb21pc2U8Uj47XG5cbiAgY29uZmlybShjb25maXJtOiBDb25maXJtKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgLy8gSW1wb3J0YW50OiB3ZSBoYXZlIHRvIGltcGxlbWVudCBjb25maXJtT3JSZWplY3QgYXMgdGhlIG1haW4gZW50cnkgcG9pbnRcbiAgICAvLyBhcyB0aGUgY2FuRGVhY3RpdmF0aW9uIGd1YXJkcyBuZWVkIHRvIGJlIGFibGUgdG8gY2FuY2VsIGFuIGludGVyYWN0aW9uXG4gICAgLy8gd2l0aG91dCBjYXJpbmcgYWJvdXQgcmV0dXJuaW5nIGEgdmFsdWUuXG4gICAgcmV0dXJuIHRoaXMuY29uZmlybU9yUmVqZWN0KGNvbmZpcm0pLnRoZW4oKCkgPT4gdHJ1ZSkuY2F0Y2goKCkgPT4gZmFsc2UpO1xuICB9XG5cbiAgYWJzdHJhY3QgYXN5bmMgY29uZmlybU9yUmVqZWN0KGNvbmZpcm06IENvbmZpcm0pOiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBQcmVzZW50cyB0aGUgY29uZmlybWF0aW9uIHRvIHRoZSB1c2VyIGFuZCBydW5zIHRoZSBhY3Rpdml0eSBvbmx5IGlmIHRoZSB1c2VyIGNvbmZpcm1zLlxuICAgKiBAcGFyYW0gY29uZmlybTpDb25maXJtIHRoZSBjb25maXJtYXRpb24gdG8gZGlzcGxheS5cbiAgICogQHBhcmFtIGFjdGl2aXR5VHlwZSB0aGUgYWN0aXZpdHkgdG8gcnVuIGlmIGNvbmZpcm1lZC5cbiAgICogQHBhcmFtIGRhdGEgdGhlIGFjdGl2aXR5IGRhdGEuXG4gICAqL1xuICBhYnN0cmFjdCBjb25maXJtVGhlbjxELCBSLCBFPihjb25maXJtOiBDb25maXJtLCBhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCk6IFByb21pc2U8Uj47XG5cbiAgYWJzdHJhY3QgYWxlcnQoYWxlcnQ6IEFsZXJ0KTogUHJvbWlzZTx2b2lkPjtcblxufVxuXG4iXX0=
|
|
@@ -8,7 +8,7 @@ import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';
|
|
|
8
8
|
import { MatDialog } from '@angular/material';
|
|
9
9
|
import { MAT_DIALOG_DEFAULT_OPTIONS, MatDialogConfig } from '@angular/material/dialog';
|
|
10
10
|
import { Router } from '@angular/router';
|
|
11
|
-
import {
|
|
11
|
+
import { lang, MutableValueModel, ValueModel } from '@coolon/pectin';
|
|
12
12
|
import { assert } from '@coolon/typescript-utilities';
|
|
13
13
|
import { ActivityContainerComponent } from '../components/activity-container/activity-container.component';
|
|
14
14
|
import { AlertDialogComponent } from '../components/alert-dialog/alert-dialog.component';
|
|
@@ -82,11 +82,9 @@ var DialogInteractionService = /** @class */ (function (_super) {
|
|
|
82
82
|
_this.router = router;
|
|
83
83
|
_this.dialogServiceDefaults = dialogServiceDefaults;
|
|
84
84
|
_this.matDialogDefaultConfig = matDialogDefaultConfig;
|
|
85
|
-
_this._activityList = new DelegatingListModel();
|
|
86
85
|
_this.startingGuard = new Guard();
|
|
86
|
+
_this._inActivityPromise = new MutableValueModel(false);
|
|
87
87
|
assert.notNil(dialogService);
|
|
88
|
-
var _a = Dsl.disposeWith(_this), chain = _a.chain, valueOf = _a.valueOf, before = _a.before, when = _a.when, after = _a.after, observe = _a.observe, switchOn = _a.switchOn;
|
|
89
|
-
_this.active = chain(_this._activityList).isNotEmpty();
|
|
90
88
|
return _this;
|
|
91
89
|
}
|
|
92
90
|
/**
|
|
@@ -96,23 +94,14 @@ var DialogInteractionService = /** @class */ (function (_super) {
|
|
|
96
94
|
* @return {?}
|
|
97
95
|
*/
|
|
98
96
|
function () {
|
|
99
|
-
return this.
|
|
97
|
+
return this._inActivityPromise.value;
|
|
100
98
|
};
|
|
101
|
-
|
|
102
|
-
* @return {?}
|
|
103
|
-
*/
|
|
104
|
-
DialogInteractionService.prototype.cancelActivity = /**
|
|
105
|
-
* @return {?}
|
|
106
|
-
*/
|
|
107
|
-
function () {
|
|
108
|
-
this.currentActivity.cancel(null);
|
|
109
|
-
};
|
|
110
|
-
Object.defineProperty(DialogInteractionService.prototype, "activityList", {
|
|
99
|
+
Object.defineProperty(DialogInteractionService.prototype, "active", {
|
|
111
100
|
get: /**
|
|
112
101
|
* @return {?}
|
|
113
102
|
*/
|
|
114
103
|
function () {
|
|
115
|
-
return this.
|
|
104
|
+
return this._inActivityPromise.readonly;
|
|
116
105
|
},
|
|
117
106
|
enumerable: true,
|
|
118
107
|
configurable: true
|
|
@@ -163,6 +152,7 @@ var DialogInteractionService = /** @class */ (function (_super) {
|
|
|
163
152
|
*/
|
|
164
153
|
function () {
|
|
165
154
|
console.log('###### STARTING');
|
|
155
|
+
_this._inActivityPromise.value = true;
|
|
166
156
|
// this.currentActivityId = uuid.v1();
|
|
167
157
|
// this.location.go(this.router.routerState.snapshot.url, "aup");
|
|
168
158
|
/** @type {?} */
|
|
@@ -221,6 +211,7 @@ var DialogInteractionService = /** @class */ (function (_super) {
|
|
|
221
211
|
* @return {?}
|
|
222
212
|
*/
|
|
223
213
|
function () {
|
|
214
|
+
_this._inActivityPromise.value = false;
|
|
224
215
|
console.log('###### FINISHED');
|
|
225
216
|
// this.currentActivityId = null;
|
|
226
217
|
self.safelyUpdateActivityListDelegate(null);
|
|
@@ -246,7 +237,7 @@ var DialogInteractionService = /** @class */ (function (_super) {
|
|
|
246
237
|
setTimeout((/**
|
|
247
238
|
* @return {?}
|
|
248
239
|
*/
|
|
249
|
-
function () { return _this.
|
|
240
|
+
function () { return _this.setActivityList(delegate); }));
|
|
250
241
|
};
|
|
251
242
|
/**
|
|
252
243
|
* @param {?} alert
|
|
@@ -314,14 +305,12 @@ if (false) {
|
|
|
314
305
|
* @type {?}
|
|
315
306
|
* @private
|
|
316
307
|
*/
|
|
317
|
-
DialogInteractionService.prototype.
|
|
308
|
+
DialogInteractionService.prototype.startingGuard;
|
|
318
309
|
/**
|
|
319
310
|
* @type {?}
|
|
320
311
|
* @private
|
|
321
312
|
*/
|
|
322
|
-
DialogInteractionService.prototype.
|
|
323
|
-
/** @type {?} */
|
|
324
|
-
DialogInteractionService.prototype.active;
|
|
313
|
+
DialogInteractionService.prototype._inActivityPromise;
|
|
325
314
|
/**
|
|
326
315
|
* @type {?}
|
|
327
316
|
* @private
|
|
@@ -336,4 +325,4 @@ if (false) {
|
|
|
336
325
|
/** @type {?} */
|
|
337
326
|
DialogInteractionService.prototype.matDialogDefaultConfig;
|
|
338
327
|
}
|
|
339
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vc2VydmljZXMvZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLG1CQUFtQixDQUFDO0FBQzVELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUdMLG1CQUFtQixFQUNuQixHQUFHLEVBQ0gsSUFBSSxFQUVKLFVBQVUsRUFDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUd0RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUMzRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN6RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUU5RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7O0FBRTVELE1BQU0sS0FBTyxtQ0FBbUMsR0FBRyxJQUFJLGNBQWMsQ0FBdUIscUNBQXFDLENBQUM7QUFFbEk7SUFBb0IsaUNBQW1CO0lBRXJDO2VBQ0Usa0JBQU0sRUFBRSxZ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QUFFLElBQUksQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs7Z0JBcEhGLFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Ozs7Z0JBbkRRLFNBQVM7Z0JBRlQsUUFBUTtnQkFJUixNQUFNO2dCQURzQixlQUFlLHVCQTREckMsUUFBUSxZQUFJLE1BQU0sU0FBQyxtQ0FBbUM7Z0JBNURoQyxlQUFlLHVCQTZEckMsUUFBUSxZQUFJLE1BQU0sU0FBQywwQkFBMEI7OzttQ0FoRTVEO0NBd0tDLEFBckhELENBRzhDLGtCQUFrQixHQWtIL0Q7U0FsSFksd0JBQXdCOzs7Ozs7SUFFbkMsaURBQStFOzs7OztJQUMvRSxpREFBb0M7O0lBQ3BDLDBDQUF3Qzs7Ozs7SUFFNUIsaURBQXlDOztJQUN6Qyw0Q0FBMkI7O0lBQzNCLDBDQUF1Qjs7SUFDdkIseURBQTZHOztJQUM3RywwREFBcUciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbCc7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RFRkFVTFRfT1BUSU9OUywgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBCb29sZWFuVmFsdWVNb2RlbENoYWluLFxuICBDb25zdHJ1Y3RhYmxlLFxuICBEZWxlZ2F0aW5nTGlzdE1vZGVsLFxuICBEc2wsXG4gIGxhbmcsXG4gIExpc3RNb2RlbCxcbiAgVmFsdWVNb2RlbFxufSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBhc3NlcnQgfSBmcm9tICdAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzJztcbmltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi4vYWN0aXZpdHknO1xuaW1wb3J0IHsgQWxlcnQgfSBmcm9tICcuLi9hbGVydCc7XG5pbXBvcnQgeyBBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYWN0aXZpdHktY29udGFpbmVyL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWxlcnREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2FsZXJ0LWRpYWxvZy9hbGVydC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb25maXJtLXRoZW4tZGlhbG9nL2NvbmZpcm0tdGhlbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvY29uZmlybWF0aW9uLWRpYWxvZy9jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtIH0gZnJvbSAnLi4vY29uZmlybSc7XG5pbXBvcnQgeyBJbnRlcmFjdGlvbkNvbnRleHQgfSBmcm9tICcuLi9pbnRlcmFjdGlvbi1jb250ZXh0JztcblxuZXhwb3J0IGNvbnN0IERJQUxPR19JTlRFUkFDVElPTl9TRVJWSUNFX0RFRkFVTFRTID0gbmV3IEluamVjdGlvblRva2VuPE1hdERpYWxvZ0NvbmZpZzxhbnk+PignRElBTE9HX0lOVEVSQUNUSU9OX1NFUlZJQ0VfREVGQVVMVFMnKTtcblxuY2xhc3MgR3VhcmQgZXh0ZW5kcyBWYWx1ZU1vZGVsPGJvb2xlYW4+IHtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcih7IGluaXRpYWxWYWx1ZTogZmFsc2UgfSk7XG4gIH1cblxuICBnZXQgdmFsdWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUucmVhZCgpO1xuICB9XG5cbiAgd2hpbGVUcnVlPFI+KGZ1bjogKCkgPT4gUik6IFIge1xuICAgIHRoaXMuc3RhcnRUcmFuc2FjdGlvbigpLmNvbW1pdCh0cnVlKTtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGZ1bigpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXJ0VHJhbnNhY3Rpb24oKS5jb21taXQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHJ1bklmRmFsc2U8Uj4oZnVuOiAoKSA9PiBSLCBkZWZhdWx0VmFsdWU6IFIgPSBudWxsKTogUiB7XG4gICAgcmV0dXJuICF0aGlzLnZhbHVlID8gZnVuKCkgOiBkZWZhdWx0VmFsdWU7XG4gIH1cbn1cblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEaWFsb2dJbnRlcmFjdGlvblNlcnZpY2UgZXh0ZW5kcyBJbnRlcmFjdGlvbkNvbnRleHQge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2aXR5TGlzdCA9IG5ldyBEZWxlZ2F0aW5nTGlzdE1vZGVsPEFjdGl2aXR5PGFueSwgYW55Pj4oKTtcbiAgcHJpdmF0ZSBzdGFydGluZ0d1YXJkID0gbmV3IEd1YXJkKCk7XG4gIHJlYWRvbmx5IGFjdGl2ZTogQm9vbGVhblZhbHVlTW9kZWxDaGFpbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGRpYWxvZ1NlcnZpY2U6IE1hdERpYWxvZyxcbiAgICAgICAgICAgICAgcmVhZG9ubHkgbG9jYXRpb246IExvY2F0aW9uLFxuICAgICAgICAgICAgICByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChESUFMT0dfSU5URVJBQ1RJT05fU0VSVklDRV9ERUZBVUxUUykgcmVhZG9ubHkgZGlhbG9nU2VydmljZURlZmF1bHRzOiBNYXREaWFsb2dDb25maWc8YW55PixcbiAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChNQVRfRElBTE9HX0RFRkFVTFRfT1BUSU9OUykgcmVhZG9ubHkgbWF0RGlhbG9nRGVmYXVsdENvbmZpZzogTWF0RGlhbG9nQ29uZmlnPGFueT5cbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICBhc3NlcnQubm90TmlsKGRpYWxvZ1NlcnZpY2UpO1xuICAgIGNvbnN0IHsgY2hhaW4sIHZhbHVlT2YsIGJlZm9yZSwgd2hlbiwgYWZ0ZXIsIG9ic2VydmUsIHN3aXRjaE9uIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgdGhpcy5hY3RpdmUgPSBjaGFpbih0aGlzLl9hY3Rpdml0eUxpc3QpLmlzTm90RW1wdHkoKTtcbiAgfVxuXG4gIGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZS52YWx1ZTtcbiAgfVxuXG4gIGNhbmNlbEFjdGl2aXR5KCkge1xuICAgIHRoaXMuY3VycmVudEFjdGl2aXR5LmNhbmNlbChudWxsKTtcbiAgfVxuXG4gIGdldCBhY3Rpdml0eUxpc3QoKTogTGlzdE1vZGVsPEFjdGl2aXR5PGFueSwgYW55Pj4ge1xuICAgIHJldHVybiB0aGlzLl9hY3Rpdml0eUxpc3QucmVhZG9ubHk7XG4gIH1cblxuICBzdGFydEFjdGl2aXR5PEQsIFIsIEU+KGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sIGRhdGE/OiBEKTogUHJvbWlzZTxSPiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0QWN0aXZpdHkoYWN0aXZpdHlUeXBlLCBkYXRhKTtcbiAgfVxuXG4gIHByaXZhdGUgX3N0YXJ0QWN0aXZpdHk8RCwgUiwgRT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PiwgZGF0YTogRCwgZGlzYWJsZUNsb3NlOiBib29sZWFuID0gdHJ1ZSkge1xuICAgIGlmICh0aGlzLmlzQWN0aXZlKCkpIHtcbiAgICAgIGxhbmcuaWxsZWdhbFN0YXRlKGBBY3Rpdml0eSBhbHJlYWR5IGluIHByb2dyZXNzOiAke3RoaXMuYWN0aXZpdHlMaXN0LnZhbHVlLm1hcChhID0+IGEuY29uc3RydWN0b3IubmFtZSkuam9pbignLCAnKX1gKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc3RhcnRpbmdHdWFyZC53aGlsZVRydWUoKCkgPT4ge1xuICAgICAgY29uc29sZS5sb2coJyMjIyMjIyAgU1RBUlRJTkcnKTtcbiAgICAgIC8vIHRoaXMuY3VycmVudEFjdGl2aXR5SWQgPSB1dWlkLnYxKCk7XG4gICAgICAvLyB0aGlzLmxvY2F0aW9uLmdvKHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90LnVybCwgXCJhdXBcIik7XG5cbiAgICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgICAgY29uc3QgY29uZmlnOiBNYXREaWFsb2dDb25maWcgPSB7XG4gICAgICAgIGF1dG9Gb2N1czogZmFsc2UsXG4gICAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgICBjbG9zZU9uTmF2aWdhdGlvbjogZmFsc2UsXG4gICAgICAgIC4uLnRoaXMubWF0RGlhbG9nRGVmYXVsdENvbmZpZyxcbiAgICAgICAgLi4udGhpcy5kaWFsb2dTZXJ2aWNlRGVmYXVsdHMsXG4gICAgICAgIC4uLntcbiAgICAgICAgICBkYXRhLFxuICAgICAgICAgIGRpc2FibGVDbG9zZSxcbiAgICAgICAgICBwYW5lbENsYXNzOiAnZGlhbG9nLWludGVyYWN0aW9uLXNlcnZpY2UnXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBjb25zdCBtYXREaWFsb2dSZWYgPSB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudCwgY29uZmlnKSBhcyBNYXREaWFsb2dSZWY8QWN0aXZpdHlDb250YWluZXJDb21wb25lbnQ8RCwgUiwgRT4+O1xuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPFI+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgY29uc3QgYWN0aXZpdHlDb250YWluZXIgPSBtYXREaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2U7XG4gICAgICAgIHNlbGYuc2FmZWx5VXBkYXRlQWN0aXZpdHlMaXN0RGVsZWdhdGUoYWN0aXZpdHlDb250YWluZXIuYWN0aXZpdHlMaXN0KTtcblxuICAgICAgICBhY3Rpdml0eUNvbnRhaW5lci5pbml0aWFsQWN0aXZpdHlPdXRsZXRDb250ZXh0ID0ge1xuICAgICAgICAgIGFjdGl2aXR5Q2xhc3M6IGFjdGl2aXR5VHlwZSxcbiAgICAgICAgICBhY3Rpdml0eURhdGE6IGRhdGEsXG4gICAgICAgICAgb25Eb25lKHJlc3VsdCkge1xuICAgICAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xuICAgICAgICAgICAgbWF0RGlhbG9nUmVmLmNsb3NlKHRydWUpOyAvLyByZXR1cm4gdHJ1ZSB0byBsZXQgdGhlIGFmdGVyIGNsb3NlIGxpc3RlbmVyIGtub3cgd2UndmUgYWxyZWFkeSBoYW5kbGVkIGl0LlxuICAgICAgICAgIH0sXG4gICAgICAgICAgb25DYW5jZWwoZXJyb3IpIHtcbiAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgICBtYXREaWFsb2dSZWYuY2xvc2UodHJ1ZSk7IC8vIHJldHVybiB0cnVlIHRvIGxldCB0aGUgYWZ0ZXIgY2xvc2UgbGlzdGVuZXIga25vdyB3ZSd2ZSBhbHJlYWR5IGhhbmRsZWQgaXQuXG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICAvLyB3ZSBuZWVkIHRvIGNoZWNrIGlmIG91ciBvbkRvbmUvb25DYW5jZWwgbWV0aG9kcyBhYm92ZSB3ZSBjYWxsZWQgb3IgaWYgd2Ugd2VyZVxuICAgICAgICAvLyBjbG9zZWQgYnkgdGhlIHVzZXIgY2xpY2tpbmcgdGhlIGJhY2tkcm9wLiAgSWYgdGhlIGxhdGVyIHRoZW4gd2UgbmVlZCB0byByZWplY3RcbiAgICAgICAgLy8gb3VyIHByb21pc2UuXG4gICAgICAgIG1hdERpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShwcm9taXNlQWxyZWFkeUZpbmlzaGVkID0+IHtcbiAgICAgICAgICBpZiAoIXByb21pc2VBbHJlYWR5RmluaXNoZWQpIHtcbiAgICAgICAgICAgIHJlamVjdCgnYXV0by1jbG9zZWQnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBtYXREaWFsb2dSZWYudXBkYXRlU2l6ZSgpO1xuICAgICAgfSkuZmluYWxseSgoKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKCcjIyMjIyMgIEZJTklTSEVEJyk7XG4gICAgICAgIC8vIHRoaXMuY3VycmVudEFjdGl2aXR5SWQgPSBudWxsO1xuICAgICAgICBzZWxmLnNhZmVseVVwZGF0ZUFjdGl2aXR5TGlzdERlbGVnYXRlKG51bGwpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0ZWggZGVsZWdhdGUgb24gdGhlIG5leHQgdGljayB0byBhdm9pZCBtb2RpZnlpbmcgc3RhdGUgZHVyaW5nIHRoZSBjdXJyZW50IGNoYW5nZSBkZXRlY3Rpb24gY3ljbGUuXG4gICAqIEBwYXJhbSBkZWxlZ2F0ZVxuICAgKi9cbiAgc2FmZWx5VXBkYXRlQWN0aXZpdHlMaXN0RGVsZWdhdGUoZGVsZWdhdGU6IExpc3RNb2RlbDxBY3Rpdml0eTxhbnksIGFueT4+KSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl9hY3Rpdml0eUxpc3Quc2V0RGVsZWdhdGUoZGVsZWdhdGUpKTtcbiAgfVxuXG4gIGFsZXJ0KGFsZXJ0OiBBbGVydCk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIFRPRE86IFRlc3QgZGlzYWJsZUNsb3NlID09PSBmYWxzZVxuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5KEFsZXJ0RGlhbG9nQ29tcG9uZW50LCBhbGVydCwgZmFsc2UpO1xuICB9XG5cbiAgY29uZmlybU9yUmVqZWN0KGNvbmZpcm06IENvbmZpcm0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eShDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQsIGNvbmZpcm0sIHRydWUpO1xuICB9XG5cbiAgY29uZmlybVRoZW48RCwgUiwgRT4oY29uZmlybTogQ29uZmlybSwgYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PiwgZGF0YT86IEQpOiBQcm9taXNlPFI+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eTxDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudC5EYXRhPEQsIFIsIEU+LCBSLCBFPihDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgY29uZmlybSxcbiAgICAgIGFjdGl2aXR5VHlwZTogYWN0aXZpdHlUeXBlLFxuICAgICAgZGF0YTogZGF0YVxuICAgIH0sIHRydWUpO1xuICB9XG59XG4iXX0=
|
|
328
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vc2VydmljZXMvZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLG1CQUFtQixDQUFDO0FBQzVELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUtMLElBQUksRUFFSixpQkFBaUIsRUFDakIsVUFBVSxFQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBR3RELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQzdHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBRTlHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7QUFFNUQsTUFBTSxLQUFPLG1DQUFtQyxHQUFHLElBQUksY0FBYyxDQUF1QixxQ0FBcUMsQ0FBQztBQUVsSTtJQUFvQixpQ0FBbUI7SUFFckM7ZUFDRSxrQkFBTSxFQUFFLFlBQVksRUFBRSxL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aEMsZUFBZSx1QkE2RHJDLFFBQVEsWUFBSSxNQUFNLFNBQUMsMEJBQTBCOzs7bUNBaEU1RDtDQW9LQyxBQWhIRCxDQUc4QyxrQkFBa0IsR0E2Ry9EO1NBN0dZLHdCQUF3Qjs7Ozs7O0lBRW5DLGlEQUFvQzs7Ozs7SUFDcEMsc0RBQTRFOzs7OztJQUVoRSxpREFBeUM7O0lBQ3pDLDRDQUEyQjs7SUFDM0IsMENBQXVCOztJQUN2Qix5REFBNkc7O0lBQzdHLDBEQUFxRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREVGQVVMVF9PUFRJT05TLCBNYXREaWFsb2dDb25maWcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW4sXG4gIENvbnN0cnVjdGFibGUsXG4gIERlbGVnYXRpbmdMaXN0TW9kZWwsXG4gIERzbCxcbiAgbGFuZyxcbiAgTGlzdE1vZGVsLFxuICBNdXRhYmxlVmFsdWVNb2RlbCxcbiAgVmFsdWVNb2RlbFxufSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBhc3NlcnQgfSBmcm9tICdAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzJztcbmltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi4vYWN0aXZpdHknO1xuaW1wb3J0IHsgQWxlcnQgfSBmcm9tICcuLi9hbGVydCc7XG5pbXBvcnQgeyBBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYWN0aXZpdHktY29udGFpbmVyL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWxlcnREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2FsZXJ0LWRpYWxvZy9hbGVydC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb25maXJtLXRoZW4tZGlhbG9nL2NvbmZpcm0tdGhlbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvY29uZmlybWF0aW9uLWRpYWxvZy9jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtIH0gZnJvbSAnLi4vY29uZmlybSc7XG5pbXBvcnQgeyBJbnRlcmFjdGlvbkNvbnRleHQgfSBmcm9tICcuLi9pbnRlcmFjdGlvbi1jb250ZXh0JztcblxuZXhwb3J0IGNvbnN0IERJQUxPR19JTlRFUkFDVElPTl9TRVJWSUNFX0RFRkFVTFRTID0gbmV3IEluamVjdGlvblRva2VuPE1hdERpYWxvZ0NvbmZpZzxhbnk+PignRElBTE9HX0lOVEVSQUNUSU9OX1NFUlZJQ0VfREVGQVVMVFMnKTtcblxuY2xhc3MgR3VhcmQgZXh0ZW5kcyBWYWx1ZU1vZGVsPGJvb2xlYW4+IHtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcih7IGluaXRpYWxWYWx1ZTogZmFsc2UgfSk7XG4gIH1cblxuICBnZXQgdmFsdWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUucmVhZCgpO1xuICB9XG5cbiAgd2hpbGVUcnVlPFI+KGZ1bjogKCkgPT4gUik6IFIge1xuICAgIHRoaXMuc3RhcnRUcmFuc2FjdGlvbigpLmNvbW1pdCh0cnVlKTtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGZ1bigpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXJ0VHJhbnNhY3Rpb24oKS5jb21taXQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHJ1bklmRmFsc2U8Uj4oZnVuOiAoKSA9PiBSLCBkZWZhdWx0VmFsdWU6IFIgPSBudWxsKTogUiB7XG4gICAgcmV0dXJuICF0aGlzLnZhbHVlID8gZnVuKCkgOiBkZWZhdWx0VmFsdWU7XG4gIH1cbn1cblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEaWFsb2dJbnRlcmFjdGlvblNlcnZpY2UgZXh0ZW5kcyBJbnRlcmFjdGlvbkNvbnRleHQge1xuXG4gIHByaXZhdGUgc3RhcnRpbmdHdWFyZCA9IG5ldyBHdWFyZCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9pbkFjdGl2aXR5UHJvbWlzZSA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxib29sZWFuPihmYWxzZSk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkaWFsb2dTZXJ2aWNlOiBNYXREaWFsb2csXG4gICAgICAgICAgICAgIHJlYWRvbmx5IGxvY2F0aW9uOiBMb2NhdGlvbixcbiAgICAgICAgICAgICAgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRElBTE9HX0lOVEVSQUNUSU9OX1NFUlZJQ0VfREVGQVVMVFMpIHJlYWRvbmx5IGRpYWxvZ1NlcnZpY2VEZWZhdWx0czogTWF0RGlhbG9nQ29uZmlnPGFueT4sXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTUFUX0RJQUxPR19ERUZBVUxUX09QVElPTlMpIHJlYWRvbmx5IG1hdERpYWxvZ0RlZmF1bHRDb25maWc6IE1hdERpYWxvZ0NvbmZpZzxhbnk+XG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgYXNzZXJ0Lm5vdE5pbChkaWFsb2dTZXJ2aWNlKTtcbiAgfVxuXG4gIGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pbkFjdGl2aXR5UHJvbWlzZS52YWx1ZTtcbiAgfVxuXG4gIGdldCBhY3RpdmUoKTogVmFsdWVNb2RlbDxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2luQWN0aXZpdHlQcm9taXNlLnJlYWRvbmx5O1xuICB9XG5cbiAgc3RhcnRBY3Rpdml0eTxELCBSLCBFPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCk6IFByb21pc2U8Uj4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5KGFjdGl2aXR5VHlwZSwgZGF0YSk7XG4gIH1cblxuICBwcml2YXRlIF9zdGFydEFjdGl2aXR5PEQsIFIsIEU+KGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sIGRhdGE6IEQsIGRpc2FibGVDbG9zZTogYm9vbGVhbiA9IHRydWUpIHtcbiAgICBpZiAodGhpcy5pc0FjdGl2ZSgpKSB7XG4gICAgICBsYW5nLmlsbGVnYWxTdGF0ZShgQWN0aXZpdHkgYWxyZWFkeSBpbiBwcm9ncmVzczogJHt0aGlzLmFjdGl2aXR5TGlzdC52YWx1ZS5tYXAoYSA9PiBhLmNvbnN0cnVjdG9yLm5hbWUpLmpvaW4oJywgJyl9YCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnN0YXJ0aW5nR3VhcmQud2hpbGVUcnVlKCgpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKCcjIyMjIyMgIFNUQVJUSU5HJyk7XG4gICAgICB0aGlzLl9pbkFjdGl2aXR5UHJvbWlzZS52YWx1ZSA9IHRydWU7XG4gICAgICAvLyB0aGlzLmN1cnJlbnRBY3Rpdml0eUlkID0gdXVpZC52MSgpO1xuICAgICAgLy8gdGhpcy5sb2NhdGlvbi5nbyh0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdC51cmwsIFwiYXVwXCIpO1xuXG4gICAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICAgIGNvbnN0IGNvbmZpZzogTWF0RGlhbG9nQ29uZmlnID0ge1xuICAgICAgICBhdXRvRm9jdXM6IGZhbHNlLFxuICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgY2xvc2VPbk5hdmlnYXRpb246IGZhbHNlLFxuICAgICAgICAuLi50aGlzLm1hdERpYWxvZ0RlZmF1bHRDb25maWcsXG4gICAgICAgIC4uLnRoaXMuZGlhbG9nU2VydmljZURlZmF1bHRzLFxuICAgICAgICAuLi57XG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgICBkaXNhYmxlQ2xvc2UsXG4gICAgICAgICAgcGFuZWxDbGFzczogJ2RpYWxvZy1pbnRlcmFjdGlvbi1zZXJ2aWNlJ1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgY29uc3QgbWF0RGlhbG9nUmVmID0gdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4oQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQsIGNvbmZpZykgYXMgTWF0RGlhbG9nUmVmPEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50PEQsIFIsIEU+PjtcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxSPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGNvbnN0IGFjdGl2aXR5Q29udGFpbmVyID0gbWF0RGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlO1xuICAgICAgICBzZWxmLnNhZmVseVVwZGF0ZUFjdGl2aXR5TGlzdERlbGVnYXRlKGFjdGl2aXR5Q29udGFpbmVyLmFjdGl2aXR5TGlzdCk7XG5cbiAgICAgICAgYWN0aXZpdHlDb250YWluZXIuaW5pdGlhbEFjdGl2aXR5T3V0bGV0Q29udGV4dCA9IHtcbiAgICAgICAgICBhY3Rpdml0eUNsYXNzOiBhY3Rpdml0eVR5cGUsXG4gICAgICAgICAgYWN0aXZpdHlEYXRhOiBkYXRhLFxuICAgICAgICAgIG9uRG9uZShyZXN1bHQpIHtcbiAgICAgICAgICAgIHJlc29sdmUocmVzdWx0KTtcbiAgICAgICAgICAgIG1hdERpYWxvZ1JlZi5jbG9zZSh0cnVlKTsgLy8gcmV0dXJuIHRydWUgdG8gbGV0IHRoZSBhZnRlciBjbG9zZSBsaXN0ZW5lciBrbm93IHdlJ3ZlIGFscmVhZHkgaGFuZGxlZCBpdC5cbiAgICAgICAgICB9LFxuICAgICAgICAgIG9uQ2FuY2VsKGVycm9yKSB7XG4gICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgbWF0RGlhbG9nUmVmLmNsb3NlKHRydWUpOyAvLyByZXR1cm4gdHJ1ZSB0byBsZXQgdGhlIGFmdGVyIGNsb3NlIGxpc3RlbmVyIGtub3cgd2UndmUgYWxyZWFkeSBoYW5kbGVkIGl0LlxuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgLy8gd2UgbmVlZCB0byBjaGVjayBpZiBvdXIgb25Eb25lL29uQ2FuY2VsIG1ldGhvZHMgYWJvdmUgd2UgY2FsbGVkIG9yIGlmIHdlIHdlcmVcbiAgICAgICAgLy8gY2xvc2VkIGJ5IHRoZSB1c2VyIGNsaWNraW5nIHRoZSBiYWNrZHJvcC4gIElmIHRoZSBsYXRlciB0aGVuIHdlIG5lZWQgdG8gcmVqZWN0XG4gICAgICAgIC8vIG91ciBwcm9taXNlLlxuICAgICAgICBtYXREaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUocHJvbWlzZUFscmVhZHlGaW5pc2hlZCA9PiB7XG4gICAgICAgICAgaWYgKCFwcm9taXNlQWxyZWFkeUZpbmlzaGVkKSB7XG4gICAgICAgICAgICByZWplY3QoJ2F1dG8tY2xvc2VkJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgbWF0RGlhbG9nUmVmLnVwZGF0ZVNpemUoKTtcbiAgICAgIH0pLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICB0aGlzLl9pbkFjdGl2aXR5UHJvbWlzZS52YWx1ZSA9IGZhbHNlO1xuICAgICAgICBjb25zb2xlLmxvZygnIyMjIyMjICBGSU5JU0hFRCcpO1xuICAgICAgICAvLyB0aGlzLmN1cnJlbnRBY3Rpdml0eUlkID0gbnVsbDtcbiAgICAgICAgc2VsZi5zYWZlbHlVcGRhdGVBY3Rpdml0eUxpc3REZWxlZ2F0ZShudWxsKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGVoIGRlbGVnYXRlIG9uIHRoZSBuZXh0IHRpY2sgdG8gYXZvaWQgbW9kaWZ5aW5nIHN0YXRlIGR1cmluZyB0aGUgY3VycmVudCBjaGFuZ2UgZGV0ZWN0aW9uIGN5Y2xlLlxuICAgKiBAcGFyYW0gZGVsZWdhdGVcbiAgICovXG4gIHNhZmVseVVwZGF0ZUFjdGl2aXR5TGlzdERlbGVnYXRlKGRlbGVnYXRlOiBMaXN0TW9kZWw8QWN0aXZpdHk8YW55LCBhbnk+Pikge1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zZXRBY3Rpdml0eUxpc3QoZGVsZWdhdGUpKTtcbiAgfVxuXG4gIGFsZXJ0KGFsZXJ0OiBBbGVydCk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIFRPRE86IFRlc3QgZGlzYWJsZUNsb3NlID09PSBmYWxzZVxuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5KEFsZXJ0RGlhbG9nQ29tcG9uZW50LCBhbGVydCwgZmFsc2UpO1xuICB9XG5cbiAgY29uZmlybU9yUmVqZWN0KGNvbmZpcm06IENvbmZpcm0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eShDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQsIGNvbmZpcm0sIHRydWUpO1xuICB9XG5cbiAgY29uZmlybVRoZW48RCwgUiwgRT4oY29uZmlybTogQ29uZmlybSwgYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PiwgZGF0YT86IEQpOiBQcm9taXNlPFI+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eTxDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudC5EYXRhPEQsIFIsIEU+LCBSLCBFPihDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgY29uZmlybSxcbiAgICAgIGFjdGl2aXR5VHlwZTogYWN0aXZpdHlUeXBlLFxuICAgICAgZGF0YTogZGF0YVxuICAgIH0sIHRydWUpO1xuICB9XG59XG4iXX0=
|