@coolon/angular-ui-powerups 0.0.95 → 0.0.97

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.
Files changed (93) hide show
  1. package/bundles/coolon-angular-ui-powerups.umd.js +3108 -2277
  2. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  3. package/bundles/coolon-angular-ui-powerups.umd.min.js +1 -1
  4. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  5. package/coolon-angular-ui-powerups.d.ts +17 -20
  6. package/coolon-angular-ui-powerups.metadata.json +1 -1
  7. package/esm2015/coolon-angular-ui-powerups.js +17 -20
  8. package/esm2015/index.js +2 -2
  9. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +15 -51
  10. package/esm2015/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js +15 -47
  11. package/esm2015/lib/interaction/index.js +4 -2
  12. package/esm2015/lib/interaction/interaction-context-base.js +158 -0
  13. package/esm2015/lib/interaction/interaction-context.js +58 -78
  14. package/esm2015/lib/interaction/interaction.module.js +1 -1
  15. package/esm2015/lib/interaction/services/dialog-interaction-context.js +163 -0
  16. package/esm2015/lib/interaction/services/dialog-interaction.service.js +68 -181
  17. package/esm2015/lib/interaction/services/modal-interaction.service.js +109 -0
  18. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +9 -43
  19. package/esm2015/lib/place/guards/abstract-place.guard.js +165 -0
  20. package/esm2015/lib/place/guards/consolidated-param-map.js +133 -0
  21. package/esm2015/lib/place/guards/interaction.guard.js +113 -0
  22. package/esm2015/lib/place/guards/navigation-session.js +590 -0
  23. package/esm2015/lib/place/guards/place-component-deactivation-handler.js +110 -0
  24. package/esm2015/lib/place/index.js +7 -5
  25. package/esm2015/lib/place/place-component.js +1 -1
  26. package/esm2015/lib/place/place-router.js +205 -236
  27. package/esm2015/lib/place/place.module.js +2 -4
  28. package/esm2015/lib/place/route/visit-sanitiser.js +2 -2
  29. package/esm2015/lib/place/url-snapshot.js +96 -0
  30. package/esm2015/public_api.js +3 -3
  31. package/esm5/coolon-angular-ui-powerups.js +17 -20
  32. package/esm5/index.js +2 -2
  33. package/esm5/lib/interaction/components/activity-container/activity-container.component.js +22 -73
  34. package/esm5/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js +25 -76
  35. package/esm5/lib/interaction/index.js +4 -2
  36. package/esm5/lib/interaction/interaction-context-base.js +211 -0
  37. package/esm5/lib/interaction/interaction-context.js +72 -94
  38. package/esm5/lib/interaction/interaction.module.js +1 -1
  39. package/esm5/lib/interaction/services/dialog-interaction-context.js +188 -0
  40. package/esm5/lib/interaction/services/dialog-interaction.service.js +83 -232
  41. package/esm5/lib/interaction/services/modal-interaction.service.js +153 -0
  42. package/esm5/lib/place/components/place-outlet/place-outlet.component.js +9 -43
  43. package/esm5/lib/place/guards/abstract-place.guard.js +212 -0
  44. package/esm5/lib/place/guards/consolidated-param-map.js +161 -0
  45. package/esm5/lib/place/guards/interaction.guard.js +125 -0
  46. package/esm5/lib/place/guards/navigation-session.js +741 -0
  47. package/esm5/lib/place/guards/place-component-deactivation-handler.js +138 -0
  48. package/esm5/lib/place/index.js +7 -5
  49. package/esm5/lib/place/place-component.js +1 -1
  50. package/esm5/lib/place/place-router.js +324 -295
  51. package/esm5/lib/place/place.module.js +2 -4
  52. package/esm5/lib/place/route/visit-sanitiser.js +2 -2
  53. package/esm5/lib/place/url-snapshot.js +120 -0
  54. package/esm5/public_api.js +3 -3
  55. package/fesm2015/coolon-angular-ui-powerups.js +2250 -1642
  56. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  57. package/fesm5/coolon-angular-ui-powerups.js +3228 -2398
  58. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  59. package/lib/interaction/components/activity-container/activity-container.component.d.ts +5 -10
  60. package/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.d.ts +4 -9
  61. package/lib/interaction/index.d.ts +3 -1
  62. package/lib/interaction/interaction-context-base.d.ts +27 -0
  63. package/lib/interaction/interaction-context.d.ts +18 -15
  64. package/lib/interaction/services/dialog-interaction-context.d.ts +18 -0
  65. package/lib/interaction/services/dialog-interaction.service.d.ts +14 -23
  66. package/lib/interaction/services/modal-interaction.service.d.ts +15 -0
  67. package/lib/place/components/place-outlet/place-outlet.component.d.ts +1 -4
  68. package/lib/place/guards/abstract-place.guard.d.ts +19 -0
  69. package/lib/place/guards/consolidated-param-map.d.ts +14 -0
  70. package/lib/{interaction/guards/interaction-guard.service.d.ts → place/guards/interaction.guard.d.ts} +8 -4
  71. package/lib/place/guards/navigation-session.d.ts +96 -0
  72. package/lib/place/guards/place-component-deactivation-handler.d.ts +14 -0
  73. package/lib/place/index.d.ts +6 -4
  74. package/lib/place/place-component.d.ts +1 -1
  75. package/lib/place/place-router.d.ts +23 -31
  76. package/lib/place/url-snapshot.d.ts +16 -0
  77. package/package.json +1 -1
  78. package/schematics/place-routes/place-def.js +2 -2
  79. package/schematics/place-routes/templates/place-routes.ts.template +9 -16
  80. package/esm2015/lib/interaction/guards/interaction-guard.service.js +0 -85
  81. package/esm2015/lib/place/guards/abstract-enter-place.guard.js +0 -296
  82. package/esm2015/lib/place/guards/leave-place.guard.js +0 -47
  83. package/esm2015/lib/place/navigation-session.js +0 -279
  84. package/esm2015/lib/place/places/noop-gateway-place.component.js +0 -58
  85. package/esm5/lib/interaction/guards/interaction-guard.service.js +0 -94
  86. package/esm5/lib/place/guards/abstract-enter-place.guard.js +0 -372
  87. package/esm5/lib/place/guards/leave-place.guard.js +0 -55
  88. package/esm5/lib/place/navigation-session.js +0 -353
  89. package/esm5/lib/place/places/noop-gateway-place.component.js +0 -61
  90. package/lib/place/guards/abstract-enter-place.guard.d.ts +0 -33
  91. package/lib/place/guards/leave-place.guard.d.ts +0 -8
  92. package/lib/place/navigation-session.d.ts +0 -43
  93. package/lib/place/places/noop-gateway-place.component.d.ts +0 -10
@@ -0,0 +1,138 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import * as tslib_1 from "tslib";
6
+ var PlaceComponentDeactivationHandler = /** @class */ (function () {
7
+ function PlaceComponentDeactivationHandler(component, navigationSession) {
8
+ this.component = component;
9
+ this.navigationSession = navigationSession;
10
+ }
11
+ /**
12
+ * @param {?} nextState
13
+ * @return {?}
14
+ */
15
+ PlaceComponentDeactivationHandler.prototype.canDeactivate = /**
16
+ * @param {?} nextState
17
+ * @return {?}
18
+ */
19
+ function (nextState) {
20
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
21
+ return tslib_1.__generator(this, function (_a) {
22
+ // We'll get called multiple times if there's any parameter sanitisation so
23
+ // we always return true if we accepted promise from a previous cycle of the current
24
+ // navigation session.
25
+ if (!this.canDeactivatePromise) {
26
+ this.canDeactivatePromise = this.canDeactivateComponent(nextState);
27
+ }
28
+ return [2 /*return*/, this.canDeactivatePromise];
29
+ });
30
+ });
31
+ };
32
+ /**
33
+ * @protected
34
+ * @param {?} nextState
35
+ * @return {?}
36
+ */
37
+ PlaceComponentDeactivationHandler.prototype.canDeactivateComponent = /**
38
+ * @protected
39
+ * @param {?} nextState
40
+ * @return {?}
41
+ */
42
+ function (nextState) {
43
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
44
+ return tslib_1.__generator(this, function (_a) {
45
+ // Automatically cancel any active activities if the navigation session was triggered
46
+ // by the back button.
47
+ if (this.navigationSession.isPopState && this.component.interactionContext && this.component.interactionContext.isActive()) {
48
+ // Note: any modal interactions run in a different router outlet so we should never get place deactivated while
49
+ // one is active. This is because:
50
+ // 1. the user can't click anything to navigate away
51
+ // 2. clicking the back button will only change the outlet route and will leave the component route alone. This
52
+ // is all handled by the InteractionGuard and so the component guards will never run.
53
+ // TODO: how will I handle this now??
54
+ // BUT: activities could call navigate while they're still active.. but we'll barf and tell them
55
+ // to call activity.done(newVisitToNavigateTo) and let the caller do the navigate after the
56
+ // dialog has closed.
57
+ // Can I capture this in placeRouter.navigate(..) ? i.e. navigationSession && navigationSession.interactionContext.isActive()
58
+ // Or can I just ignore it altogether?
59
+ // 1. I no longer have a singleton dialog interaction that can be returned from any component in the deactivation cycle.
60
+ // 2. We only ever check the component once per nav cycle
61
+ // 3. The navigation session interaction context will barf if multiple components try and use it at once.
62
+ // if (this.component.interactionContext instanceof DialogInteractionContext) {
63
+ // // BUT: activities could call navigate while they're still active.. but we'll barf and tell them
64
+ // // to call activity.done(newVisitToNavigateTo) and let the caller do the navigate after the
65
+ // // dialog has closed.
66
+ // lang.illegalState('Navigation started from an activity in a modal dialog. Have your activity return a Visit instead and navigate after the activity has finished');
67
+ // }
68
+ // Now we just cancel the current activity and stay where we are
69
+ this.cancelCurrentActivityOf(this.component.interactionContext);
70
+ return [2 /*return*/, false];
71
+ }
72
+ // Ok, so now we're really leaving, so we ask the component if we should.;
73
+ if (this.isNotJustAChangeInRouteId(nextState) && this.component.canDeactivate) {
74
+ // No interaction in progress, so ask the component .
75
+ // This may start an interaction, hence checking the interaction context before now. I.e. if the place pops up the dialog, and
76
+ // the user clicks back again, we'll re-enter here and go bang when the component tries to open another dialog.
77
+ return [2 /*return*/, this.component.canDeactivate(this.navigationSession.interactionContext)];
78
+ }
79
+ return [2 /*return*/, true];
80
+ });
81
+ });
82
+ };
83
+ /**
84
+ * @protected
85
+ * @param {?} interactionContext
86
+ * @return {?}
87
+ */
88
+ PlaceComponentDeactivationHandler.prototype.cancelCurrentActivityOf = /**
89
+ * @protected
90
+ * @param {?} interactionContext
91
+ * @return {?}
92
+ */
93
+ function (interactionContext) {
94
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
95
+ var activity;
96
+ return tslib_1.__generator(this, function (_a) {
97
+ switch (_a.label) {
98
+ case 0: return [4 /*yield*/, interactionContext.getCurrentActivity()];
99
+ case 1:
100
+ activity = _a.sent();
101
+ console.log('cancelling', { activity: activity });
102
+ activity.cancel(null);
103
+ return [2 /*return*/];
104
+ }
105
+ });
106
+ });
107
+ };
108
+ /**
109
+ * @protected
110
+ * @param {?} nextState
111
+ * @return {?}
112
+ */
113
+ PlaceComponentDeactivationHandler.prototype.isNotJustAChangeInRouteId = /**
114
+ * @protected
115
+ * @param {?} nextState
116
+ * @return {?}
117
+ */
118
+ function (nextState) {
119
+ // Because places with a route-id cover two route segments we get asked to deactivate
120
+ // if the route id is added or removed. So if our path is still present the url
121
+ // then we shouldn't deactivate the place.
122
+ return !nextState.includesPathOf(this.component.placeDefinition);
123
+ };
124
+ return PlaceComponentDeactivationHandler;
125
+ }());
126
+ export { PlaceComponentDeactivationHandler };
127
+ if (false) {
128
+ /**
129
+ * @type {?}
130
+ * @private
131
+ */
132
+ PlaceComponentDeactivationHandler.prototype.canDeactivatePromise;
133
+ /** @type {?} */
134
+ PlaceComponentDeactivationHandler.prototype.component;
135
+ /** @type {?} */
136
+ PlaceComponentDeactivationHandler.prototype.navigationSession;
137
+ }
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtY29tcG9uZW50LWRlYWN0aXZhdGlvbi1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL2d1YXJkcy9wbGFjZS1jb21wb25lbnQtZGVhY3RpdmF0aW9uLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFNQTtJQUlFLDJDQUFxQixTQUF5QixFQUFXLGlCQUFvQztRQUF4RSxjQUFTLEdBQVQsU0FBUyxDQUFnQjtRQUFXLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7SUFDN0YsQ0FBQzs7Ozs7SUFFSyx5REFBYTs7OztJQUFuQixVQUFvQixTQUFzQjs7O2dCQUN4QywyRUFBMkU7Z0JBQzNFLG9GQUFvRjtnQkFDcEYsc0JBQXNCO2dCQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFO29CQUM5QixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO2lCQUNwRTtnQkFDRCxzQkFBTyxJQUFJLENBQUMsb0JBQW9CLEVBQUM7OztLQUNsQzs7Ozs7O0lBRWUsa0VBQXNCOzs7OztJQUF0QyxVQUF1QyxTQUFzQjs7O2dCQUMzRCxxRkFBcUY7Z0JBQ3JGLHNCQUFzQjtnQkFDdEIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsRUFBRTtvQkFDMUgsK0dBQStHO29CQUMvRyxrQ0FBa0M7b0JBQ2xDLG9EQUFvRDtvQkFDcEQsK0dBQStHO29CQUMvRyx3RkFBd0Y7b0JBRXhGLHFDQUFxQztvQkFDckMsZ0dBQWdHO29CQUNoRyxnR0FBZ0c7b0JBQ2hHLDBCQUEwQjtvQkFDMUIsNkhBQTZIO29CQUM3SCxzQ0FBc0M7b0JBQ3RDLHdIQUF3SDtvQkFDeEgseURBQXlEO29CQUN6RCx5R0FBeUc7b0JBRXpHLCtFQUErRTtvQkFDL0UscUdBQXFHO29CQUNyRyxxR0FBcUc7b0JBQ3JHLCtCQUErQjtvQkFDL0Isd0tBQXdLO29CQUN4SyxJQUFJO29CQUVKLGdFQUFnRTtvQkFDaEUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsQ0FBQztvQkFDaEUsc0JBQU8sS0FBSyxFQUFDO2lCQUNkO2dCQUVELDBFQUEwRTtnQkFDMUUsSUFBSSxJQUFJLENBQUMseUJBQXlCLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUU7b0JBQzdFLHFEQUFxRDtvQkFDckQsOEhBQThIO29CQUM5SCwrR0FBK0c7b0JBQy9HLHNCQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFDO2lCQUNoRjtnQkFDRCxzQkFBTyxJQUFJLEVBQUM7OztLQUNiOzs7Ozs7SUFFZSxtRUFBdUI7Ozs7O0lBQXZDLFVBQXdDLGtCQUFzQzs7Ozs7NEJBQzNELHFCQUFNLGtCQUFrQixDQUFDLGtCQUFrQixFQUFFLEVBQUE7O3dCQUF4RCxRQUFRLEdBQUcsU0FBNkM7d0JBQzlELE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLEVBQUUsUUFBUSxVQUFBLEVBQUUsQ0FBQyxDQUFDO3dCQUN4QyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDOzs7OztLQUN2Qjs7Ozs7O0lBRVMscUVBQXlCOzs7OztJQUFuQyxVQUFvQyxTQUFzQjtRQUN4RCxxRkFBcUY7UUFDckYsZ0ZBQWdGO1FBQ2hGLDBDQUEwQztRQUMxQyxPQUFPLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFDSCx3Q0FBQztBQUFELENBQUMsQUF2RUQsSUF1RUM7Ozs7Ozs7SUFyRUMsaUVBQStDOztJQUVuQyxzREFBa0M7O0lBQUUsOERBQTZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhY2UgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBJbnRlcmFjdGlvbkNvbnRleHQgfSBmcm9tICcuLi8uLi9pbnRlcmFjdGlvbi9pbnRlcmFjdGlvbi1jb250ZXh0JztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi4vcGxhY2UtY29tcG9uZW50JztcbmltcG9ydCB7IFVybFNuYXBzaG90IH0gZnJvbSAnLi4vdXJsLXNuYXBzaG90JztcbmltcG9ydCB7IE5hdmlnYXRpb25TZXNzaW9uIH0gZnJvbSAnLi9uYXZpZ2F0aW9uLXNlc3Npb24nO1xuXG5leHBvcnQgY2xhc3MgUGxhY2VDb21wb25lbnREZWFjdGl2YXRpb25IYW5kbGVyIHtcblxuICBwcml2YXRlIGNhbkRlYWN0aXZhdGVQcm9taXNlOiBQcm9taXNlPGJvb2xlYW4+O1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGNvbXBvbmVudDogUGxhY2VDb21wb25lbnQsIHJlYWRvbmx5IG5hdmlnYXRpb25TZXNzaW9uOiBOYXZpZ2F0aW9uU2Vzc2lvbikge1xuICB9XG5cbiAgYXN5bmMgY2FuRGVhY3RpdmF0ZShuZXh0U3RhdGU6IFVybFNuYXBzaG90KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgLy8gV2UnbGwgZ2V0IGNhbGxlZCBtdWx0aXBsZSB0aW1lcyBpZiB0aGVyZSdzIGFueSBwYXJhbWV0ZXIgc2FuaXRpc2F0aW9uIHNvXG4gICAgLy8gd2UgYWx3YXlzIHJldHVybiB0cnVlIGlmIHdlIGFjY2VwdGVkIHByb21pc2UgZnJvbSBhIHByZXZpb3VzIGN5Y2xlIG9mIHRoZSBjdXJyZW50XG4gICAgLy8gbmF2aWdhdGlvbiBzZXNzaW9uLlxuICAgIGlmICghdGhpcy5jYW5EZWFjdGl2YXRlUHJvbWlzZSkge1xuICAgICAgdGhpcy5jYW5EZWFjdGl2YXRlUHJvbWlzZSA9IHRoaXMuY2FuRGVhY3RpdmF0ZUNvbXBvbmVudChuZXh0U3RhdGUpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jYW5EZWFjdGl2YXRlUHJvbWlzZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBjYW5EZWFjdGl2YXRlQ29tcG9uZW50KG5leHRTdGF0ZTogVXJsU25hcHNob3QpIHtcbiAgICAvLyBBdXRvbWF0aWNhbGx5IGNhbmNlbCBhbnkgYWN0aXZlIGFjdGl2aXRpZXMgaWYgdGhlIG5hdmlnYXRpb24gc2Vzc2lvbiB3YXMgdHJpZ2dlcmVkXG4gICAgLy8gYnkgdGhlIGJhY2sgYnV0dG9uLlxuICAgIGlmICh0aGlzLm5hdmlnYXRpb25TZXNzaW9uLmlzUG9wU3RhdGUgJiYgdGhpcy5jb21wb25lbnQuaW50ZXJhY3Rpb25Db250ZXh0ICYmIHRoaXMuY29tcG9uZW50LmludGVyYWN0aW9uQ29udGV4dC5pc0FjdGl2ZSgpKSB7XG4gICAgICAvLyBOb3RlOiBhbnkgbW9kYWwgaW50ZXJhY3Rpb25zIHJ1biBpbiBhIGRpZmZlcmVudCByb3V0ZXIgb3V0bGV0IHNvIHdlIHNob3VsZCBuZXZlciBnZXQgcGxhY2UgZGVhY3RpdmF0ZWQgd2hpbGVcbiAgICAgIC8vIG9uZSBpcyBhY3RpdmUuIFRoaXMgaXMgYmVjYXVzZTpcbiAgICAgIC8vIDEuIHRoZSB1c2VyIGNhbid0IGNsaWNrIGFueXRoaW5nIHRvIG5hdmlnYXRlIGF3YXlcbiAgICAgIC8vIDIuIGNsaWNraW5nIHRoZSBiYWNrIGJ1dHRvbiB3aWxsIG9ubHkgY2hhbmdlIHRoZSBvdXRsZXQgcm91dGUgYW5kIHdpbGwgbGVhdmUgdGhlIGNvbXBvbmVudCByb3V0ZSBhbG9uZS4gVGhpc1xuICAgICAgLy8gICAgaXMgYWxsIGhhbmRsZWQgYnkgdGhlIEludGVyYWN0aW9uR3VhcmQgYW5kIHNvIHRoZSBjb21wb25lbnQgZ3VhcmRzIHdpbGwgbmV2ZXIgcnVuLlxuXG4gICAgICAvLyBUT0RPOiBob3cgd2lsbCBJIGhhbmRsZSB0aGlzIG5vdz8/XG4gICAgICAvLyBCVVQ6IGFjdGl2aXRpZXMgY291bGQgY2FsbCBuYXZpZ2F0ZSB3aGlsZSB0aGV5J3JlIHN0aWxsIGFjdGl2ZS4uIGJ1dCB3ZSdsbCBiYXJmIGFuZCB0ZWxsIHRoZW1cbiAgICAgIC8vICAgICAgdG8gY2FsbCBhY3Rpdml0eS5kb25lKG5ld1Zpc2l0VG9OYXZpZ2F0ZVRvKSBhbmQgbGV0IHRoZSBjYWxsZXIgZG8gdGhlIG5hdmlnYXRlIGFmdGVyIHRoZVxuICAgICAgLy8gICAgICBkaWFsb2cgaGFzIGNsb3NlZC5cbiAgICAgIC8vIENhbiBJIGNhcHR1cmUgdGhpcyBpbiBwbGFjZVJvdXRlci5uYXZpZ2F0ZSguLikgPyBpLmUuIG5hdmlnYXRpb25TZXNzaW9uICYmIG5hdmlnYXRpb25TZXNzaW9uLmludGVyYWN0aW9uQ29udGV4dC5pc0FjdGl2ZSgpXG4gICAgICAvLyBPciBjYW4gSSBqdXN0IGlnbm9yZSBpdCBhbHRvZ2V0aGVyP1xuICAgICAgLy8gMS4gSSBubyBsb25nZXIgaGF2ZSBhIHNpbmdsZXRvbiBkaWFsb2cgaW50ZXJhY3Rpb24gdGhhdCBjYW4gYmUgcmV0dXJuZWQgZnJvbSBhbnkgY29tcG9uZW50IGluIHRoZSBkZWFjdGl2YXRpb24gY3ljbGUuXG4gICAgICAvLyAyLiBXZSBvbmx5IGV2ZXIgY2hlY2sgdGhlIGNvbXBvbmVudCBvbmNlIHBlciBuYXYgY3ljbGVcbiAgICAgIC8vIDMuIFRoZSBuYXZpZ2F0aW9uIHNlc3Npb24gaW50ZXJhY3Rpb24gY29udGV4dCB3aWxsIGJhcmYgaWYgbXVsdGlwbGUgY29tcG9uZW50cyB0cnkgYW5kIHVzZSBpdCBhdCBvbmNlLlxuXG4gICAgICAvLyBpZiAodGhpcy5jb21wb25lbnQuaW50ZXJhY3Rpb25Db250ZXh0IGluc3RhbmNlb2YgRGlhbG9nSW50ZXJhY3Rpb25Db250ZXh0KSB7XG4gICAgICAvLyAgIC8vIEJVVDogYWN0aXZpdGllcyBjb3VsZCBjYWxsIG5hdmlnYXRlIHdoaWxlIHRoZXkncmUgc3RpbGwgYWN0aXZlLi4gYnV0IHdlJ2xsIGJhcmYgYW5kIHRlbGwgdGhlbVxuICAgICAgLy8gICAvLyAgICAgIHRvIGNhbGwgYWN0aXZpdHkuZG9uZShuZXdWaXNpdFRvTmF2aWdhdGVUbykgYW5kIGxldCB0aGUgY2FsbGVyIGRvIHRoZSBuYXZpZ2F0ZSBhZnRlciB0aGVcbiAgICAgIC8vICAgLy8gICAgICBkaWFsb2cgaGFzIGNsb3NlZC5cbiAgICAgIC8vICAgbGFuZy5pbGxlZ2FsU3RhdGUoJ05hdmlnYXRpb24gc3RhcnRlZCBmcm9tIGFuIGFjdGl2aXR5IGluIGEgbW9kYWwgZGlhbG9nLiBIYXZlIHlvdXIgYWN0aXZpdHkgcmV0dXJuIGEgVmlzaXQgaW5zdGVhZCBhbmQgbmF2aWdhdGUgYWZ0ZXIgdGhlIGFjdGl2aXR5IGhhcyBmaW5pc2hlZCcpO1xuICAgICAgLy8gfVxuXG4gICAgICAvLyBOb3cgd2UganVzdCBjYW5jZWwgdGhlIGN1cnJlbnQgYWN0aXZpdHkgYW5kIHN0YXkgd2hlcmUgd2UgYXJlXG4gICAgICB0aGlzLmNhbmNlbEN1cnJlbnRBY3Rpdml0eU9mKHRoaXMuY29tcG9uZW50LmludGVyYWN0aW9uQ29udGV4dCk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gT2ssIHNvIG5vdyB3ZSdyZSByZWFsbHkgbGVhdmluZywgc28gd2UgYXNrIHRoZSBjb21wb25lbnQgaWYgd2Ugc2hvdWxkLjtcbiAgICBpZiAodGhpcy5pc05vdEp1c3RBQ2hhbmdlSW5Sb3V0ZUlkKG5leHRTdGF0ZSkgJiYgdGhpcy5jb21wb25lbnQuY2FuRGVhY3RpdmF0ZSkge1xuICAgICAgLy8gTm8gaW50ZXJhY3Rpb24gaW4gcHJvZ3Jlc3MsIHNvIGFzayB0aGUgY29tcG9uZW50IC5cbiAgICAgIC8vIFRoaXMgbWF5IHN0YXJ0IGFuIGludGVyYWN0aW9uLCBoZW5jZSBjaGVja2luZyB0aGUgaW50ZXJhY3Rpb24gY29udGV4dCBiZWZvcmUgbm93LiBJLmUuIGlmIHRoZSBwbGFjZSBwb3BzIHVwIHRoZSBkaWFsb2csIGFuZFxuICAgICAgLy8gdGhlIHVzZXIgY2xpY2tzIGJhY2sgYWdhaW4sIHdlJ2xsIHJlLWVudGVyIGhlcmUgYW5kIGdvIGJhbmcgd2hlbiB0aGUgY29tcG9uZW50IHRyaWVzIHRvIG9wZW4gYW5vdGhlciBkaWFsb2cuXG4gICAgICByZXR1cm4gdGhpcy5jb21wb25lbnQuY2FuRGVhY3RpdmF0ZSh0aGlzLm5hdmlnYXRpb25TZXNzaW9uLmludGVyYWN0aW9uQ29udGV4dCk7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGNhbmNlbEN1cnJlbnRBY3Rpdml0eU9mKGludGVyYWN0aW9uQ29udGV4dDogSW50ZXJhY3Rpb25Db250ZXh0KSB7XG4gICAgY29uc3QgYWN0aXZpdHkgPSBhd2FpdCBpbnRlcmFjdGlvbkNvbnRleHQuZ2V0Q3VycmVudEFjdGl2aXR5KCk7XG4gICAgY29uc29sZS5sb2coJ2NhbmNlbGxpbmcnLCB7IGFjdGl2aXR5IH0pO1xuICAgIGFjdGl2aXR5LmNhbmNlbChudWxsKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc05vdEp1c3RBQ2hhbmdlSW5Sb3V0ZUlkKG5leHRTdGF0ZTogVXJsU25hcHNob3QpIHtcbiAgICAvLyBCZWNhdXNlIHBsYWNlcyB3aXRoIGEgcm91dGUtaWQgY292ZXIgdHdvIHJvdXRlIHNlZ21lbnRzIHdlIGdldCBhc2tlZCB0byBkZWFjdGl2YXRlXG4gICAgLy8gaWYgdGhlIHJvdXRlIGlkIGlzIGFkZGVkIG9yIHJlbW92ZWQuICBTbyBpZiBvdXIgcGF0aCBpcyBzdGlsbCBwcmVzZW50IHRoZSB1cmxcbiAgICAvLyB0aGVuIHdlIHNob3VsZG4ndCBkZWFjdGl2YXRlIHRoZSBwbGFjZS5cbiAgICByZXR1cm4gIW5leHRTdGF0ZS5pbmNsdWRlc1BhdGhPZih0aGlzLmNvbXBvbmVudC5wbGFjZURlZmluaXRpb24pO1xuICB9XG59XG4iXX0=
@@ -6,7 +6,6 @@
6
6
  * @file Automatically generated by barrelsby.
7
7
  */
8
8
  export {} from "./nav-item";
9
- export { NavigationSession } from "./navigation-session";
10
9
  export { DEFINITION_META_DATA_KEY, ROUTE_PARAMETER_LIST_KEY, PlaceComponent } from "./place-component";
11
10
  export { AUP_PLACE_CONFIG } from "./place-config";
12
11
  export { PlaceDefinition } from "./place-definition";
@@ -14,6 +13,7 @@ export { PlaceHistory } from "./place-history";
14
13
  export { PlaceRouter } from "./place-router";
15
14
  export { Place } from "./place.decorator";
16
15
  export { PlaceModule } from "./place.module";
16
+ export { UrlSnapshot } from "./url-snapshot";
17
17
  export { Visit } from "./visit";
18
18
  export { AbstractPlaceNavigationComponent } from "./components/abstract-place-navigation.component";
19
19
  export { BusyOverlayComponent } from "./components/busy-overlay/busy-overlay.component";
@@ -22,10 +22,12 @@ export { ListPlaceNavComponent } from "./components/list-place-nav/list-place-na
22
22
  export { PlaceOutletComponent } from "./components/place-outlet/place-outlet.component";
23
23
  export { leftRightPlaceAnimation, LEFT_RIGHT_PLACE_ANIMATION } from "./components/place-outlet/route-animations";
24
24
  export { TabbedPlaceNavigationComponent } from "./components/tabbed-place-navigation/tabbed-place-navigation.component";
25
- export { AbstractEnterPlaceGuard } from "./guards/abstract-enter-place.guard";
26
- export { LeavePlaceGuard } from "./guards/leave-place.guard";
25
+ export { AbstractPlaceGuard } from "./guards/abstract-place.guard";
26
+ export { ConsolidatedParameterMap } from "./guards/consolidated-param-map";
27
+ export { InteractionGuard } from "./guards/interaction.guard";
28
+ export { NavigationSession } from "./guards/navigation-session";
27
29
  export { NoopAuthGuard } from "./guards/noop-auth-guard.service";
28
- export { NoopGatewayPlace } from "./places/noop-gateway-place.component";
30
+ export { PlaceComponentDeactivationHandler } from "./guards/place-component-deactivation-handler";
29
31
  export { Formatter } from "./route/formatter";
30
32
  export {} from "./route/json-types";
31
33
  export { RouteId, VisitParameter, VisitParameterList } from "./route/parameter-decorators";
@@ -33,4 +35,4 @@ export { ParameterDefinition } from "./route/parameter-definition.class";
33
35
  export {} from "./route/parameter-sanitiser";
34
36
  export {} from "./route/parameter-snapshot";
35
37
  export { VisitSanitiser } from "./route/visit-sanitiser";
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLGVBQWMsWUFBWSxDQUFDO0FBQzNCLGtDQUFjLHNCQUFzQixDQUFDO0FBQ3JDLG1GQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGlDQUFjLGdCQUFnQixDQUFDO0FBQy9CLGdDQUFjLG9CQUFvQixDQUFDO0FBQ25DLDZCQUFjLGlCQUFpQixDQUFDO0FBQ2hDLDRCQUFjLGdCQUFnQixDQUFDO0FBQy9CLHNCQUFjLG1CQUFtQixDQUFDO0FBQ2xDLDRCQUFjLGdCQUFnQixDQUFDO0FBQy9CLHNCQUFjLFNBQVMsQ0FBQztBQUN4QixpREFBYyxrREFBa0QsQ0FBQztBQUNqRSxxQ0FBYyxrREFBa0QsQ0FBQztBQUNqRSxvQ0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxzQ0FBYyxzREFBc0QsQ0FBQztBQUNyRSxxQ0FBYyxrREFBa0QsQ0FBQztBQUNqRSxvRUFBYyw0Q0FBNEMsQ0FBQztBQUMzRCwrQ0FBYyx3RUFBd0UsQ0FBQztBQUN2Rix3Q0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxnQ0FBYyw0QkFBNEIsQ0FBQztBQUMzQyw4QkFBYyxrQ0FBa0MsQ0FBQztBQUNqRCxpQ0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCwwQkFBYyxtQkFBbUIsQ0FBQztBQUNsQyxlQUFjLG9CQUFvQixDQUFDO0FBQ25DLDREQUFjLDhCQUE4QixDQUFDO0FBQzdDLG9DQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGVBQWMsNkJBQTZCLENBQUM7QUFDNUMsZUFBYyw0QkFBNEIsQ0FBQztBQUMzQywrQkFBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGUgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgYmFycmVsc2J5LlxuICovXG5cbmV4cG9ydCAqIGZyb20gXCIuL25hdi1pdGVtXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9uYXZpZ2F0aW9uLXNlc3Npb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BsYWNlLWNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGxhY2UtY29uZmlnXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wbGFjZS1kZWZpbml0aW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wbGFjZS1oaXN0b3J5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wbGFjZS1yb3V0ZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BsYWNlLmRlY29yYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGxhY2UubW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi92aXNpdFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9hYnN0cmFjdC1wbGFjZS1uYXZpZ2F0aW9uLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9idXN5LW92ZXJsYXkvYnVzeS1vdmVybGF5LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvbGlzdC1wbGFjZS1uYXYvbGlzdC1wbGFjZS1uYXYuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL3BsYWNlLW91dGxldC9wbGFjZS1vdXRsZXQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL3BsYWNlLW91dGxldC9yb3V0ZS1hbmltYXRpb25zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL3RhYmJlZC1wbGFjZS1uYXZpZ2F0aW9uL3RhYmJlZC1wbGFjZS1uYXZpZ2F0aW9uLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZ3VhcmRzL2Fic3RyYWN0LWVudGVyLXBsYWNlLmd1YXJkXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ndWFyZHMvbGVhdmUtcGxhY2UuZ3VhcmRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2d1YXJkcy9ub29wLWF1dGgtZ3VhcmQuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGxhY2VzL25vb3AtZ2F0ZXdheS1wbGFjZS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JvdXRlL2Zvcm1hdHRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcm91dGUvanNvbi10eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcm91dGUvcGFyYW1ldGVyLWRlY29yYXRvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JvdXRlL3BhcmFtZXRlci1kZWZpbml0aW9uLmNsYXNzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb3V0ZS9wYXJhbWV0ZXItc2FuaXRpc2VyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb3V0ZS9wYXJhbWV0ZXItc25hcHNob3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JvdXRlL3Zpc2l0LXNhbml0aXNlclwiO1xuIl19
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLGVBQWMsWUFBWSxDQUFDO0FBQzNCLG1GQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGlDQUFjLGdCQUFnQixDQUFDO0FBQy9CLGdDQUFjLG9CQUFvQixDQUFDO0FBQ25DLDZCQUFjLGlCQUFpQixDQUFDO0FBQ2hDLDRCQUFjLGdCQUFnQixDQUFDO0FBQy9CLHNCQUFjLG1CQUFtQixDQUFDO0FBQ2xDLDRCQUFjLGdCQUFnQixDQUFDO0FBQy9CLDRCQUFjLGdCQUFnQixDQUFDO0FBQy9CLHNCQUFjLFNBQVMsQ0FBQztBQUN4QixpREFBYyxrREFBa0QsQ0FBQztBQUNqRSxxQ0FBYyxrREFBa0QsQ0FBQztBQUNqRSxvQ0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxzQ0FBYyxzREFBc0QsQ0FBQztBQUNyRSxxQ0FBYyxrREFBa0QsQ0FBQztBQUNqRSxvRUFBYyw0Q0FBNEMsQ0FBQztBQUMzRCwrQ0FBYyx3RUFBd0UsQ0FBQztBQUN2RixtQ0FBYywrQkFBK0IsQ0FBQztBQUM5Qyx5Q0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxpQ0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxrQ0FBYyw2QkFBNkIsQ0FBQztBQUM1Qyw4QkFBYyxrQ0FBa0MsQ0FBQztBQUNqRCxrREFBYywrQ0FBK0MsQ0FBQztBQUM5RCwwQkFBYyxtQkFBbUIsQ0FBQztBQUNsQyxlQUFjLG9CQUFvQixDQUFDO0FBQ25DLDREQUFjLDhCQUE4QixDQUFDO0FBQzdDLG9DQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGVBQWMsNkJBQTZCLENBQUM7QUFDNUMsZUFBYyw0QkFBNEIsQ0FBQztBQUMzQywrQkFBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGUgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgYmFycmVsc2J5LlxuICovXG5cbmV4cG9ydCAqIGZyb20gXCIuL25hdi1pdGVtXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wbGFjZS1jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BsYWNlLWNvbmZpZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGxhY2UtZGVmaW5pdGlvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGxhY2UtaGlzdG9yeVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGxhY2Utcm91dGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wbGFjZS5kZWNvcmF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BsYWNlLm1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXJsLXNuYXBzaG90XCI7XG5leHBvcnQgKiBmcm9tIFwiLi92aXNpdFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9hYnN0cmFjdC1wbGFjZS1uYXZpZ2F0aW9uLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9idXN5LW92ZXJsYXkvYnVzeS1vdmVybGF5LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvbGlzdC1wbGFjZS1uYXYvbGlzdC1wbGFjZS1uYXYuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL3BsYWNlLW91dGxldC9wbGFjZS1vdXRsZXQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL3BsYWNlLW91dGxldC9yb3V0ZS1hbmltYXRpb25zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL3RhYmJlZC1wbGFjZS1uYXZpZ2F0aW9uL3RhYmJlZC1wbGFjZS1uYXZpZ2F0aW9uLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZ3VhcmRzL2Fic3RyYWN0LXBsYWNlLmd1YXJkXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ndWFyZHMvY29uc29saWRhdGVkLXBhcmFtLW1hcFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZ3VhcmRzL2ludGVyYWN0aW9uLmd1YXJkXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ndWFyZHMvbmF2aWdhdGlvbi1zZXNzaW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ndWFyZHMvbm9vcC1hdXRoLWd1YXJkLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2d1YXJkcy9wbGFjZS1jb21wb25lbnQtZGVhY3RpdmF0aW9uLWhhbmRsZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JvdXRlL2Zvcm1hdHRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcm91dGUvanNvbi10eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcm91dGUvcGFyYW1ldGVyLWRlY29yYXRvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JvdXRlL3BhcmFtZXRlci1kZWZpbml0aW9uLmNsYXNzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb3V0ZS9wYXJhbWV0ZXItc2FuaXRpc2VyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb3V0ZS9wYXJhbWV0ZXItc25hcHNob3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JvdXRlL3Zpc2l0LXNhbml0aXNlclwiO1xuIl19
@@ -162,4 +162,4 @@ if (false) {
162
162
  }
163
163
  PlaceComponent.injectDefinition = injectDefinition;
164
164
  })(PlaceComponent || (PlaceComponent = {}));
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3BsYWNlLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxNQUFNLEVBQ04sT0FBTyxFQUlQLElBQUksRUFHTCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEUsT0FBTyxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUV6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQUtyRCxNQUFNLEtBQU8sd0JBQXdCLEdBQUcsMEJBQTBCOzs7QUFFbEUsTUFBTSxLQUFPLHdCQUF3QixHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQztBQUV4RTtJQUFvQywwQ0FBbUI7SUFTckQ7ZUFDRSxpQkFBTztJQUNULENBQUM7Ozs7O0lBRU0sMkNBQWtCOzs7O0lBQXpCLFVBQTBCLEtBQXdCO1FBQWxELGlCQU1DO1FBTEMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLE9BQU87Ozs7UUFBQyxVQUFBLFlBQVk7WUFDL0QsS0FBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwQyxDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7Ozs7SUFFTyx1Q0FBYzs7Ozs7O0lBQXRCLFVBQTZCLFlBQXVDOztZQUM1RCxLQUFLLEdBQUcsbUJBQUEsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsRUFBdUI7UUFDcEUsc0RBQXNEO1FBQ3RELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRTtZQUNyRCxPQUFPOzs7O1lBQVAsVUFBUSxLQUFZOztvQkFDWixLQUFLLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO2dCQUNuRCw0RUFBNEU7Z0JBQzVFLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztZQUNELE1BQU07Ozs7O1lBQU4sVUFBTyxLQUFRLEVBQUUsWUFBb0I7Z0JBQ25DLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLEVBQUUsSUFBSSxFQUFFLFlBQVksQ0FBQyxJQUFJLEVBQUUsS0FBSyxPQUFBLEVBQUUsWUFBWSxjQUFBLEVBQUUsQ0FBQyxDQUFDO2dCQUMvRSxPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ25ELENBQUM7U0FDRixDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFHRCxzQkFBSSwyQ0FBZTs7OztRQUFuQjtZQUNFLE9BQU8sY0FBYyxDQUFDLGFBQWEsQ0FBQyxtQkFBQSxtQkFBQSxJQUFJLENBQUMsV0FBVyxFQUFPLEVBQWlDLENBQUMsQ0FBQztRQUNoRyxDQUFDOzs7T0FBQTtJQUVELHNCQUFJLHVDQUFXOzs7O1FBQWY7WUFDRSxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLEdBQUc7Ozs7WUFBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxTQUFTLEVBQVgsQ0FBVyxFQUFDLENBQUM7UUFDN0QsQ0FBQzs7O09BQUE7Ozs7SUFFRCxxQ0FBWTs7O0lBQVo7SUFDQSxDQUFDO0lBVEQ7UUFEQyxPQUFPLEVBQUU7MENBQ2EsZUFBZTs7eURBRXJDO0lBU0gscUJBQUM7Q0FBQSxBQWpERCxDQUFvQyxtQkFBbUIsR0FpRHREO1NBakRZLGNBQWM7Ozs7OztJQUV6QiwrQkFBaUM7O0lBR2pDLDRDQUF3Qzs7QUE4QzFDLFdBQWlCLGNBQWM7Ozs7O0lBRTdCLFNBQWdCLDJCQUEyQixDQUFDLE1BQVc7UUFDckQsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsbUJBQUEsTUFBTSxFQUFzQixDQUFDLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFGZSwwQ0FBMkIsOEJBRTFDLENBQUE7Ozs7O0lBRUQsU0FBZ0Isa0JBQWtCLENBQUMsS0FBb0M7UUFDckUsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLGVBQWUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFGZSxpQ0FBa0IscUJBRWpDLENBQUE7Ozs7O0lBRUQsU0FBZ0IsYUFBYSxDQUFDLEtBQW9DO1FBQ2hFLE9BQU8sT0FBTyxDQUFDLFdBQVcsQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRmUsNEJBQWEsZ0JBRTVCLENBQUE7Ozs7OztJQUVELFNBQWdCLGdCQUFnQixDQUFDLEtBQW9DLEVBQUUsVUFBMkI7UUFDaEcsT0FBTyxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUZlLCtCQUFnQixtQkFFL0IsQ0FBQTtBQUVILENBQUMsRUFsQmdCLGNBQWMsS0FBZCxjQUFjLFFBa0I5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFzc2VydCxcbiAgQmluZGluZyxcbiAgQ29uc3RydWN0YWJsZSxcbiAgR3VhcmQsXG4gIElNdXRhYmxlSGFzVmFsdWUsXG4gIGxhbmcsXG4gIE11dGFibGVWYWx1ZU1vZGVsLFxuICBWYWx1ZU1vZGVsXG59IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IEtsYXNzIH0gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5pbXBvcnQgeyBNZW1vaXplIH0gZnJvbSAnQHR5cGVzY3JpcHQtcGx1cy9mYXN0LW1lbW9pemUtZGVjb3JhdG9yJztcbmltcG9ydCAncmVmbGVjdC1tZXRhZGF0YSc7XG5pbXBvcnQgeyBEaXNwb3NhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9kaXNwb3NhYmxlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnRlcmFjdGlvbkNvbnRleHQgfSBmcm9tICcuLi9pbnRlcmFjdGlvbi9pbnRlcmFjdGlvbi1jb250ZXh0JztcbmltcG9ydCB7IFBsYWNlRGVmaW5pdGlvbiB9IGZyb20gJy4vcGxhY2UtZGVmaW5pdGlvbic7XG5pbXBvcnQgeyBQYXJhbWV0ZXJEZWZpbml0aW9uIH0gZnJvbSAnLi9yb3V0ZS9wYXJhbWV0ZXItZGVmaW5pdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBWaXNpdCB9IGZyb20gJy4vdmlzaXQnO1xuXG4vLyBSQUtFOiBtYWtpbmcgdGhpcyBTeW1ib2woLi4uKSBicm9rZSB0aGluZ3MuXG5leHBvcnQgY29uc3QgREVGSU5JVElPTl9NRVRBX0RBVEFfS0VZID0gJ1BMQUNFX0RFRklOSVRJT05fT1BUSU9OUyc7XG4vLyB0aGlzIG9uZSBzZWVtcyBvay5cbmV4cG9ydCBjb25zdCBST1VURV9QQVJBTUVURVJfTElTVF9LRVkgPSBTeW1ib2woJ3BsYWNlOnJvdXRlOnBhcmFtZXRlcnMnKTtcblxuZXhwb3J0IGNsYXNzIFBsYWNlQ29tcG9uZW50IGV4dGVuZHMgRGlzcG9zYWJsZUNvbXBvbmVudCB7XG5cbiAgcHJpdmF0ZSB2aXNpdDogVmFsdWVNb2RlbDxWaXNpdD47XG4gIC8vIHByaXZhdGUgX2luRGVhY3RpdmF0aW9uR3VhcmQgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGludGVyYWN0aW9uQ29udGV4dD86IEludGVyYWN0aW9uQ29udGV4dDtcblxuICBjYW5EZWFjdGl2YXRlPygpOiBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIGluaXRpYWxpc2VCaW5kaW5ncyh2aXNpdDogVmFsdWVNb2RlbDxWaXNpdD4pIHtcbiAgICBhc3NlcnQuaXNOaWwodGhpcy52aXNpdCk7XG4gICAgdGhpcy52aXNpdCA9IHZpc2l0O1xuICAgIHRoaXMucGxhY2VEZWZpbml0aW9uLmdldFZpc2l0UGFyYW1ldGVyRGVmcygpLmZvckVhY2gocGFyYW1ldGVyRGVmID0+IHtcbiAgICAgIHRoaXMuaW5zdGFsbEJpbmRpbmcocGFyYW1ldGVyRGVmKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5zdGFsbEJpbmRpbmc8VCwgUz4ocGFyYW1ldGVyRGVmOiBQYXJhbWV0ZXJEZWZpbml0aW9uPFQsIFM+KSB7XG4gICAgY29uc3QgbW9kZWwgPSB0aGlzW3BhcmFtZXRlckRlZi5wcm9wZXJ0eU5hbWVdIGFzIElNdXRhYmxlSGFzVmFsdWU8Uz47XG4gICAgLy8gdGhpcy50eG8ub2JzZXJ2ZShwYXJhbWV0ZXJEZWYucHJvcGVydHlOYW1lLCBtb2RlbCk7XG4gICAgdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUobmV3IEJpbmRpbmcodGhpcy52aXNpdCwgbW9kZWwsIHtcbiAgICAgIHRvUmlnaHQodmlzaXQ6IFZpc2l0KTogUyB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdmlzaXQuZ2V0UGFyYW1ldGVyKHBhcmFtZXRlckRlZi5uYW1lKTtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ3B1c2ggdG8gY29tcG9uZW50Jywge25hbWU6cGFyYW1ldGVyRGVmLm5hbWUsIHZhbHVlLCB2aXNpdH0pO1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9LFxuICAgICAgdG9MZWZ0KHZhbHVlOiBTLCBjdXJyZW50VmlzaXQ/OiBWaXNpdCk6IFZpc2l0IHtcbiAgICAgICAgY29uc29sZS5sb2coJ3B1c2ggdG8gcm91dGUnLCB7IG5hbWU6IHBhcmFtZXRlckRlZi5uYW1lLCB2YWx1ZSwgY3VycmVudFZpc2l0IH0pO1xuICAgICAgICByZXR1cm4gY3VycmVudFZpc2l0LnJlcGxhY2UocGFyYW1ldGVyRGVmLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfSkpO1xuICB9XG5cbiAgQE1lbW9pemUoKVxuICBnZXQgcGxhY2VEZWZpbml0aW9uKCk6IFBsYWNlRGVmaW5pdGlvbiB7XG4gICAgcmV0dXJuIFBsYWNlQ29tcG9uZW50LmdldERlZmluaXRpb24odGhpcy5jb25zdHJ1Y3RvciBhcyBhbnkgYXMgQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4pO1xuICB9XG5cbiAgZ2V0IGNoaWxkUGxhY2VzKCk6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+W10ge1xuICAgIHJldHVybiB0aGlzLnBsYWNlRGVmaW5pdGlvbi5jaGlsZHJlbi5tYXAoZCA9PiBkLmNvbXBvbmVudCk7XG4gIH1cblxuICBvblBsYWNlUmVhZHkoKSB7XG4gIH1cblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIFBsYWNlQ29tcG9uZW50IHtcblxuICBleHBvcnQgZnVuY3Rpb24gaXNQbGFjZUNvbXBvbmVudENvbnN0cnVjdG9yKHRhcmdldDogYW55KTogdGFyZ2V0IGlzIENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+IHtcbiAgICByZXR1cm4gbGFuZy5jb25zdHJ1Y3RvckNoYWluKHRhcmdldCBhcyBDb25zdHJ1Y3RhYmxlPGFueT4pLmluY2x1ZGVzKFBsYWNlQ29tcG9uZW50KTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRSb3V0ZVBhcmFtZXRlcnMoa2xhc3M6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+KTogUGFyYW1ldGVyRGVmaW5pdGlvbjxhbnk+W10ge1xuICAgIHJldHVybiBLbGFzcy5nZXQoa2xhc3MpLmdldE1ldGFkYXRhTGlzdChST1VURV9QQVJBTUVURVJfTElTVF9LRVkpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldERlZmluaXRpb24oa2xhc3M6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+KTogUGxhY2VEZWZpbml0aW9uIHtcbiAgICByZXR1cm4gUmVmbGVjdC5nZXRNZXRhZGF0YShERUZJTklUSU9OX01FVEFfREFUQV9LRVksIGtsYXNzKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBpbmplY3REZWZpbml0aW9uKGtsYXNzOiBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50PiwgZGVmaW5pdGlvbjogUGxhY2VEZWZpbml0aW9uKSB7XG4gICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShERUZJTklUSU9OX01FVEFfREFUQV9LRVksIGRlZmluaXRpb24sIGtsYXNzKTtcbiAgfVxuXG59XG4iXX0=
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3BsYWNlLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFtQyxJQUFJLEVBQWMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xFLE9BQU8sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFLckQsTUFBTSxLQUFPLHdCQUF3QixHQUFHLDBCQUEwQjs7O0FBRWxFLE1BQU0sS0FBTyx3QkFBd0IsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUM7QUFFeEU7SUFBb0MsMENBQW1CO0lBU3JEO2VBQ0UsaUJBQU87SUFDVCxDQUFDOzs7OztJQUVNLDJDQUFrQjs7OztJQUF6QixVQUEwQixLQUF3QjtRQUFsRCxpQkFNQztRQUxDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxPQUFPOzs7O1FBQUMsVUFBQSxZQUFZO1lBQy9ELEtBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDcEMsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7Ozs7O0lBRU8sdUNBQWM7Ozs7OztJQUF0QixVQUE2QixZQUF1Qzs7WUFDNUQsS0FBSyxHQUFHLG1CQUFBLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLEVBQXVCO1FBQ3BFLHNEQUFzRDtRQUN0RCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUU7WUFDckQsT0FBTzs7OztZQUFQLFVBQVEsS0FBWTs7b0JBQ1osS0FBSyxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztnQkFDbkQsNEVBQTRFO2dCQUM1RSxPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7WUFDRCxNQUFNOzs7OztZQUFOLFVBQU8sS0FBUSxFQUFFLFlBQW9CO2dCQUNuQyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksRUFBRSxZQUFZLENBQUMsSUFBSSxFQUFFLEtBQUssT0FBQSxFQUFFLFlBQVksY0FBQSxFQUFFLENBQUMsQ0FBQztnQkFDL0UsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNuRCxDQUFDO1NBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBR0Qsc0JBQUksMkNBQWU7Ozs7UUFBbkI7WUFDRSxPQUFPLGNBQWMsQ0FBQyxhQUFhLENBQUMsbUJBQUEsbUJBQUEsSUFBSSxDQUFDLFdBQVcsRUFBTyxFQUFpQyxDQUFDLENBQUM7UUFDaEcsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSx1Q0FBVzs7OztRQUFmO1lBQ0UsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxHQUFHOzs7O1lBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsU0FBUyxFQUFYLENBQVcsRUFBQyxDQUFDO1FBQzdELENBQUM7OztPQUFBOzs7O0lBRUQscUNBQVk7OztJQUFaO0lBQ0EsQ0FBQztJQVREO1FBREMsT0FBTyxFQUFFOzBDQUNhLGVBQWU7O3lEQUVyQztJQVNILHFCQUFDO0NBQUEsQUFqREQsQ0FBb0MsbUJBQW1CLEdBaUR0RDtTQWpEWSxjQUFjOzs7Ozs7SUFFekIsK0JBQWlDOztJQUdqQyw0Q0FBd0M7O0FBOEMxQyxXQUFpQixjQUFjOzs7OztJQUU3QixTQUFnQiwyQkFBMkIsQ0FBQyxNQUFXO1FBQ3JELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLG1CQUFBLE1BQU0sRUFBc0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRmUsMENBQTJCLDhCQUUxQyxDQUFBOzs7OztJQUVELFNBQWdCLGtCQUFrQixDQUFDLEtBQW9DO1FBQ3JFLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxlQUFlLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRmUsaUNBQWtCLHFCQUVqQyxDQUFBOzs7OztJQUVELFNBQWdCLGFBQWEsQ0FBQyxLQUFvQztRQUNoRSxPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUMsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUZlLDRCQUFhLGdCQUU1QixDQUFBOzs7Ozs7SUFFRCxTQUFnQixnQkFBZ0IsQ0FBQyxLQUFvQyxFQUFFLFVBQTJCO1FBQ2hHLE9BQU8sQ0FBQyxjQUFjLENBQUMsd0JBQXdCLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFGZSwrQkFBZ0IsbUJBRS9CLENBQUE7QUFFSCxDQUFDLEVBbEJnQixjQUFjLEtBQWQsY0FBYyxRQWtCOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhc3NlcnQsIEJpbmRpbmcsIENvbnN0cnVjdGFibGUsIElNdXRhYmxlSGFzVmFsdWUsIGxhbmcsIFZhbHVlTW9kZWwgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBLbGFzcyB9IGZyb20gJ0Bjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXMnO1xuaW1wb3J0IHsgTWVtb2l6ZSB9IGZyb20gJ0B0eXBlc2NyaXB0LXBsdXMvZmFzdC1tZW1vaXplLWRlY29yYXRvcic7XG5pbXBvcnQgJ3JlZmxlY3QtbWV0YWRhdGEnO1xuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25Db250ZXh0IH0gZnJvbSAnLi4vaW50ZXJhY3Rpb24vaW50ZXJhY3Rpb24tY29udGV4dCc7XG5pbXBvcnQgeyBQbGFjZURlZmluaXRpb24gfSBmcm9tICcuL3BsYWNlLWRlZmluaXRpb24nO1xuaW1wb3J0IHsgUGFyYW1ldGVyRGVmaW5pdGlvbiB9IGZyb20gJy4vcm91dGUvcGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MnO1xuaW1wb3J0IHsgVmlzaXQgfSBmcm9tICcuL3Zpc2l0JztcblxuLy8gUkFLRTogbWFraW5nIHRoaXMgU3ltYm9sKC4uLikgYnJva2UgdGhpbmdzLlxuZXhwb3J0IGNvbnN0IERFRklOSVRJT05fTUVUQV9EQVRBX0tFWSA9ICdQTEFDRV9ERUZJTklUSU9OX09QVElPTlMnO1xuLy8gdGhpcyBvbmUgc2VlbXMgb2suXG5leHBvcnQgY29uc3QgUk9VVEVfUEFSQU1FVEVSX0xJU1RfS0VZID0gU3ltYm9sKCdwbGFjZTpyb3V0ZTpwYXJhbWV0ZXJzJyk7XG5cbmV4cG9ydCBjbGFzcyBQbGFjZUNvbXBvbmVudCBleHRlbmRzIERpc3Bvc2FibGVDb21wb25lbnQge1xuXG4gIHByaXZhdGUgdmlzaXQ6IFZhbHVlTW9kZWw8VmlzaXQ+O1xuICAvLyBwcml2YXRlIF9pbkRlYWN0aXZhdGlvbkd1YXJkID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcblxuICBpbnRlcmFjdGlvbkNvbnRleHQ/OiBJbnRlcmFjdGlvbkNvbnRleHQ7XG5cbiAgY2FuRGVhY3RpdmF0ZT8oaW50ZXJhY3Rpb25Db250ZXh0OiBJbnRlcmFjdGlvbkNvbnRleHQpOiBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIGluaXRpYWxpc2VCaW5kaW5ncyh2aXNpdDogVmFsdWVNb2RlbDxWaXNpdD4pIHtcbiAgICBhc3NlcnQuaXNOaWwodGhpcy52aXNpdCk7XG4gICAgdGhpcy52aXNpdCA9IHZpc2l0O1xuICAgIHRoaXMucGxhY2VEZWZpbml0aW9uLmdldFZpc2l0UGFyYW1ldGVyRGVmcygpLmZvckVhY2gocGFyYW1ldGVyRGVmID0+IHtcbiAgICAgIHRoaXMuaW5zdGFsbEJpbmRpbmcocGFyYW1ldGVyRGVmKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5zdGFsbEJpbmRpbmc8VCwgUz4ocGFyYW1ldGVyRGVmOiBQYXJhbWV0ZXJEZWZpbml0aW9uPFQsIFM+KSB7XG4gICAgY29uc3QgbW9kZWwgPSB0aGlzW3BhcmFtZXRlckRlZi5wcm9wZXJ0eU5hbWVdIGFzIElNdXRhYmxlSGFzVmFsdWU8Uz47XG4gICAgLy8gdGhpcy50eG8ub2JzZXJ2ZShwYXJhbWV0ZXJEZWYucHJvcGVydHlOYW1lLCBtb2RlbCk7XG4gICAgdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUobmV3IEJpbmRpbmcodGhpcy52aXNpdCwgbW9kZWwsIHtcbiAgICAgIHRvUmlnaHQodmlzaXQ6IFZpc2l0KTogUyB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdmlzaXQuZ2V0UGFyYW1ldGVyKHBhcmFtZXRlckRlZi5uYW1lKTtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ3B1c2ggdG8gY29tcG9uZW50Jywge25hbWU6cGFyYW1ldGVyRGVmLm5hbWUsIHZhbHVlLCB2aXNpdH0pO1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9LFxuICAgICAgdG9MZWZ0KHZhbHVlOiBTLCBjdXJyZW50VmlzaXQ/OiBWaXNpdCk6IFZpc2l0IHtcbiAgICAgICAgY29uc29sZS5sb2coJ3B1c2ggdG8gcm91dGUnLCB7IG5hbWU6IHBhcmFtZXRlckRlZi5uYW1lLCB2YWx1ZSwgY3VycmVudFZpc2l0IH0pO1xuICAgICAgICByZXR1cm4gY3VycmVudFZpc2l0LnJlcGxhY2UocGFyYW1ldGVyRGVmLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfSkpO1xuICB9XG5cbiAgQE1lbW9pemUoKVxuICBnZXQgcGxhY2VEZWZpbml0aW9uKCk6IFBsYWNlRGVmaW5pdGlvbiB7XG4gICAgcmV0dXJuIFBsYWNlQ29tcG9uZW50LmdldERlZmluaXRpb24odGhpcy5jb25zdHJ1Y3RvciBhcyBhbnkgYXMgQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4pO1xuICB9XG5cbiAgZ2V0IGNoaWxkUGxhY2VzKCk6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+W10ge1xuICAgIHJldHVybiB0aGlzLnBsYWNlRGVmaW5pdGlvbi5jaGlsZHJlbi5tYXAoZCA9PiBkLmNvbXBvbmVudCk7XG4gIH1cblxuICBvblBsYWNlUmVhZHkoKSB7XG4gIH1cblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIFBsYWNlQ29tcG9uZW50IHtcblxuICBleHBvcnQgZnVuY3Rpb24gaXNQbGFjZUNvbXBvbmVudENvbnN0cnVjdG9yKHRhcmdldDogYW55KTogdGFyZ2V0IGlzIENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+IHtcbiAgICByZXR1cm4gbGFuZy5jb25zdHJ1Y3RvckNoYWluKHRhcmdldCBhcyBDb25zdHJ1Y3RhYmxlPGFueT4pLmluY2x1ZGVzKFBsYWNlQ29tcG9uZW50KTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRSb3V0ZVBhcmFtZXRlcnMoa2xhc3M6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+KTogUGFyYW1ldGVyRGVmaW5pdGlvbjxhbnk+W10ge1xuICAgIHJldHVybiBLbGFzcy5nZXQoa2xhc3MpLmdldE1ldGFkYXRhTGlzdChST1VURV9QQVJBTUVURVJfTElTVF9LRVkpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldERlZmluaXRpb24oa2xhc3M6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+KTogUGxhY2VEZWZpbml0aW9uIHtcbiAgICByZXR1cm4gUmVmbGVjdC5nZXRNZXRhZGF0YShERUZJTklUSU9OX01FVEFfREFUQV9LRVksIGtsYXNzKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBpbmplY3REZWZpbml0aW9uKGtsYXNzOiBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50PiwgZGVmaW5pdGlvbjogUGxhY2VEZWZpbml0aW9uKSB7XG4gICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShERUZJTklUSU9OX01FVEFfREFUQV9LRVksIGRlZmluaXRpb24sIGtsYXNzKTtcbiAgfVxuXG59XG4iXX0=