@coolon/angular-ui-powerups 0.0.37 → 0.0.38

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 (116) hide show
  1. package/bundles/coolon-angular-ui-powerups.umd.js +1427 -808
  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 +16 -14
  6. package/coolon-angular-ui-powerups.metadata.json +1 -1
  7. package/esm2015/coolon-angular-ui-powerups.js +16 -14
  8. package/esm2015/index.js +2 -2
  9. package/esm2015/lib/angular-ui-powerups.module.js +6 -8
  10. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +1 -2
  11. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +1 -2
  12. package/esm2015/lib/place/components/abstract-place-navigation.component.js +75 -0
  13. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js +47 -0
  14. package/esm2015/lib/place/components/place-outlet/route-animations.js +12 -5
  15. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +5 -39
  16. package/esm2015/lib/place/guards/leave-place.guard.js +11 -2
  17. package/esm2015/lib/place/guards/place-route.guard.js +29 -37
  18. package/esm2015/lib/place/index.js +11 -9
  19. package/esm2015/lib/place/nav-item.js +23 -0
  20. package/esm2015/lib/place/place-component-like.js +17 -0
  21. package/esm2015/lib/place/place-component.js +118 -14
  22. package/esm2015/lib/place/place-updates-service.js +16 -0
  23. package/esm2015/lib/place/place.decorator.js +1 -1
  24. package/esm2015/lib/place/place.module.js +6 -3
  25. package/esm2015/lib/place/place.service.js +30 -6
  26. package/esm2015/lib/place/route/default-parameter-sanitiser.js +78 -0
  27. package/esm2015/lib/place/route/parameter-decorators.js +15 -7
  28. package/esm2015/lib/place/route/parameter-definition.class.js +2 -2
  29. package/esm2015/lib/place/route/parameter-sanitiser.js +17 -2
  30. package/esm2015/lib/place/route/parameter-snapshot.js +382 -0
  31. package/esm2015/lib/place/route/parameter-type.js +3 -2
  32. package/esm2015/lib/place/route/route-parameter-sanitiser.js +73 -38
  33. package/esm2015/lib/place/visit.js +22 -0
  34. package/esm2015/public_api.js +2 -2
  35. package/esm5/coolon-angular-ui-powerups.js +16 -14
  36. package/esm5/index.js +2 -2
  37. package/esm5/lib/angular-ui-powerups.module.js +6 -8
  38. package/esm5/lib/interaction/components/activity-container/activity-container.component.js +1 -2
  39. package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +1 -2
  40. package/esm5/lib/place/components/abstract-place-navigation.component.js +86 -0
  41. package/esm5/lib/place/components/list-place-nav/list-place-nav.component.js +61 -0
  42. package/esm5/lib/place/components/place-outlet/route-animations.js +12 -5
  43. package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +6 -43
  44. package/esm5/lib/place/guards/leave-place.guard.js +11 -2
  45. package/esm5/lib/place/guards/place-route.guard.js +28 -37
  46. package/esm5/lib/place/index.js +11 -9
  47. package/esm5/lib/place/nav-item.js +23 -0
  48. package/esm5/lib/place/place-component-like.js +17 -0
  49. package/esm5/lib/place/place-component.js +132 -15
  50. package/esm5/lib/place/place-updates-service.js +16 -0
  51. package/esm5/lib/place/place.decorator.js +1 -1
  52. package/esm5/lib/place/place.module.js +6 -3
  53. package/esm5/lib/place/place.service.js +35 -6
  54. package/esm5/lib/place/route/default-parameter-sanitiser.js +85 -0
  55. package/esm5/lib/place/route/parameter-decorators.js +15 -7
  56. package/esm5/lib/place/route/parameter-definition.class.js +2 -2
  57. package/esm5/lib/place/route/parameter-sanitiser.js +17 -2
  58. package/esm5/lib/place/route/parameter-snapshot.js +474 -0
  59. package/esm5/lib/place/route/parameter-type.js +3 -2
  60. package/esm5/lib/place/route/route-parameter-sanitiser.js +100 -45
  61. package/esm5/lib/place/visit.js +22 -0
  62. package/esm5/public_api.js +2 -2
  63. package/fesm2015/coolon-angular-ui-powerups.js +1145 -650
  64. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  65. package/fesm5/coolon-angular-ui-powerups.js +1390 -778
  66. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  67. package/lib/place/components/abstract-place-navigation.component.d.ts +13 -0
  68. package/lib/place/components/list-place-nav/list-place-nav.component.d.ts +8 -0
  69. package/lib/place/components/place-outlet/route-animations.d.ts +1 -0
  70. package/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.d.ts +2 -9
  71. package/lib/place/guards/place-route.guard.d.ts +4 -4
  72. package/lib/place/index.d.ts +8 -6
  73. package/lib/place/nav-item.d.ts +5 -0
  74. package/lib/place/{i-place-component.d.ts → place-component-like.d.ts} +1 -1
  75. package/lib/place/place-component.d.ts +19 -8
  76. package/lib/place/place-updates-service.d.ts +10 -0
  77. package/lib/place/place.service.d.ts +11 -8
  78. package/lib/place/route/default-parameter-sanitiser.d.ts +13 -0
  79. package/lib/place/route/parameter-decorators.d.ts +6 -2
  80. package/lib/place/route/parameter-definition.class.d.ts +3 -3
  81. package/lib/place/route/parameter-sanitiser.d.ts +8 -1
  82. package/lib/place/route/parameter-snapshot.d.ts +46 -0
  83. package/lib/place/route/route-parameter-sanitiser.d.ts +13 -9
  84. package/lib/place/visit.d.ts +6 -0
  85. package/package.json +1 -1
  86. package/schematics/place-routes/index.js +8 -95
  87. package/schematics/place-routes/index.js.map +1 -1
  88. package/schematics/place-routes/place-builder.d.ts +19 -0
  89. package/schematics/place-routes/place-builder.js +109 -0
  90. package/schematics/place-routes/place-builder.js.map +1 -0
  91. package/schematics/place-routes/{scanner.d.ts → place-class-scanner.d.ts} +10 -6
  92. package/schematics/place-routes/{scanner.js → place-class-scanner.js} +43 -18
  93. package/schematics/place-routes/place-class-scanner.js.map +1 -0
  94. package/schematics/place-routes/place-def.d.ts +19 -4
  95. package/schematics/place-routes/place-def.js +54 -4
  96. package/schematics/place-routes/place-def.js.map +1 -1
  97. package/schematics/place-routes/templates/{place-routes.ts.template → places.ts.template} +14 -11
  98. package/esm2015/lib/place/i-place-component.js +0 -17
  99. package/esm2015/lib/place/i-place-service.js +0 -16
  100. package/esm2015/lib/place/route/resolved-parameter.js +0 -16
  101. package/esm2015/lib/place/route/resolved-route-parameter-snapshot.js +0 -106
  102. package/esm2015/lib/place/route/route-parameter-bindings.js +0 -150
  103. package/esm2015/lib/place/route/visit-snapshot.js +0 -7
  104. package/esm5/lib/place/i-place-component.js +0 -17
  105. package/esm5/lib/place/i-place-service.js +0 -16
  106. package/esm5/lib/place/route/resolved-parameter.js +0 -16
  107. package/esm5/lib/place/route/resolved-route-parameter-snapshot.js +0 -129
  108. package/esm5/lib/place/route/route-parameter-bindings.js +0 -167
  109. package/esm5/lib/place/route/visit-snapshot.js +0 -11
  110. package/lib/place/i-place-service.d.ts +0 -10
  111. package/lib/place/route/resolved-parameter.d.ts +0 -5
  112. package/lib/place/route/resolved-route-parameter-snapshot.d.ts +0 -12
  113. package/lib/place/route/route-parameter-bindings.d.ts +0 -17
  114. package/lib/place/route/visit-snapshot.d.ts +0 -2
  115. package/schematics/place-routes/scanner.js.map +0 -1
  116. package/schematics/place-routes/templates/place-router.ts.template +0 -33
@@ -3,15 +3,19 @@
3
3
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
4
  */
5
5
  import * as tslib_1 from "tslib";
6
- import { assert, lang, Trace } from '@coolon/pectin';
6
+ import { assert, Binding, Dsl, lang, MutableValueModel, Trace } from '@coolon/pectin';
7
+ import { Klass } from '@coolon/typescript-utilities';
7
8
  import { Memoize } from '@typescript-plus/fast-memoize-decorator';
8
9
  import * as _ from 'lodash';
9
10
  import 'reflect-metadata';
10
11
  import { DisposableComponent } from '../components/disposable-component';
11
- import { RouteParameterBindings } from './route/route-parameter-bindings';
12
+ import { ParameterSnapshot } from './route/parameter-snapshot';
12
13
  // RAKE: making this Symbol(...) broke things.
13
14
  /** @type {?} */
14
15
  export const DEFINITION_META_DATA_KEY = 'PLACE_DEFINITION_OPTIONS';
16
+ // this one seems ok.
17
+ /** @type {?} */
18
+ export const ROUTE_PARAMETER_LIST_KEY = Symbol('place:route:parameters');
15
19
  export class PlaceComponent extends DisposableComponent {
16
20
  /**
17
21
  * @param {?} activatedRoute
@@ -20,12 +24,82 @@ export class PlaceComponent extends DisposableComponent {
20
24
  constructor(activatedRoute, placeService) {
21
25
  super();
22
26
  this.activatedRoute = activatedRoute;
23
- this.routeBindingMediator = this.registerDisposable(new RouteParameterBindings(this, placeService));
27
+ this._incomingRouteChange = new MutableValueModel(false);
28
+ this.resolvedParameters = new MutableValueModel();
29
+ const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
30
+ this.placeDefinition.getRouteParameters().forEach((/**
31
+ * @param {?} p
32
+ * @return {?}
33
+ */
34
+ p => this.installBinding(p)));
35
+ observe.valuesFrom(activatedRoute.paramMap)
36
+ .last()
37
+ .map((/**
38
+ * @param {?} params
39
+ * @return {?}
40
+ */
41
+ params => ParameterSnapshot.create(this.placeDefinition, params)))
42
+ .subscribe((/**
43
+ * @param {?} resolvedParameters
44
+ * @return {?}
45
+ */
46
+ resolvedParameters => {
47
+ this._incomingRouteChange.value = true;
48
+ this.resolvedParameters.value = resolvedParameters;
49
+ this._incomingRouteChange.value = false;
50
+ }));
51
+ when.valueOf(this.resolvedParameters).changes((/**
52
+ * @param {?} params
53
+ * @param {?} previous
54
+ * @return {?}
55
+ */
56
+ (params, previous) => {
57
+ placeService.notifyRouteParametersChanged({
58
+ activatedRoute: this.activatedRoute,
59
+ next: params,
60
+ previous: previous,
61
+ updateRoute: !this.incomingRouteChange.value // we update the route if it's a component triggered change.
62
+ });
63
+ }));
64
+ }
65
+ /**
66
+ * @return {?}
67
+ */
68
+ get incomingRouteChange() {
69
+ return this._incomingRouteChange.readonly;
70
+ }
71
+ /**
72
+ * @private
73
+ * @template T, S
74
+ * @param {?} parameterDef
75
+ * @return {?}
76
+ */
77
+ installBinding(parameterDef) {
78
+ /** @type {?} */
79
+ const model = (/** @type {?} */ (this[parameterDef.propertyName]));
80
+ // this.txo.observe(parameterDef.propertyName, model);
81
+ this.registerDisposable(new Binding(this.resolvedParameters, model, {
82
+ /**
83
+ * @param {?} parameters
84
+ * @return {?}
85
+ */
86
+ toRight(parameters) {
87
+ return parameters.getResolvedParameterValue(parameterDef);
88
+ },
89
+ /**
90
+ * @param {?} value
91
+ * @param {?=} currentParameters
92
+ * @return {?}
93
+ */
94
+ toLeft(value, currentParameters) {
95
+ return currentParameters.replace(parameterDef, value);
96
+ }
97
+ }));
24
98
  }
25
99
  /**
26
100
  * @return {?}
27
101
  */
28
- get placeConfig() {
102
+ get placeDefinition() {
29
103
  return PlaceComponent.getDefinition((/** @type {?} */ ((/** @type {?} */ (this.constructor)))));
30
104
  }
31
105
  /**
@@ -44,7 +118,7 @@ tslib_1.__decorate([
44
118
  Memoize(),
45
119
  tslib_1.__metadata("design:type", PlaceComponent.Definition),
46
120
  tslib_1.__metadata("design:paramtypes", [])
47
- ], PlaceComponent.prototype, "placeConfig", null);
121
+ ], PlaceComponent.prototype, "placeDefinition", null);
48
122
  tslib_1.__decorate([
49
123
  Trace(),
50
124
  tslib_1.__metadata("design:type", Function),
@@ -52,11 +126,13 @@ tslib_1.__decorate([
52
126
  tslib_1.__metadata("design:returntype", void 0)
53
127
  ], PlaceComponent.prototype, "onPlaceReady", null);
54
128
  if (false) {
129
+ /** @type {?} */
130
+ PlaceComponent.prototype._incomingRouteChange;
55
131
  /**
56
132
  * @type {?}
57
133
  * @private
58
134
  */
59
- PlaceComponent.prototype.routeBindingMediator;
135
+ PlaceComponent.prototype.resolvedParameters;
60
136
  /** @type {?} */
61
137
  PlaceComponent.prototype.activatedRoute;
62
138
  }
@@ -73,13 +149,24 @@ if (false) {
73
149
  this.order = options.order;
74
150
  this.data = options.data;
75
151
  this.authenticate = _.isNil(options.authenticate) || options.authenticate;
152
+ this.children = (options.children || []).map((/**
153
+ * @param {?} c
154
+ * @return {?}
155
+ */
156
+ c => PlaceComponent.getDefinition(c).component));
76
157
  }
77
158
  /**
78
- * @param {?} construcable
79
159
  * @return {?}
80
160
  */
81
- isDescriptorForType(construcable) {
82
- return lang.constructorChain(construcable).includes(PlaceComponent);
161
+ getRouteParameters() {
162
+ return Klass.get(this.component).getMetadataList(ROUTE_PARAMETER_LIST_KEY);
163
+ }
164
+ /**
165
+ * @param {?} constructable
166
+ * @return {?}
167
+ */
168
+ isDescriptorForType(constructable) {
169
+ return lang.constructorChain(constructable).includes(PlaceComponent);
83
170
  }
84
171
  /**
85
172
  * @param {?} placeComponent
@@ -120,6 +207,12 @@ if (false) {
120
207
  }
121
208
  }
122
209
  }
210
+ tslib_1.__decorate([
211
+ Memoize(),
212
+ tslib_1.__metadata("design:type", Function),
213
+ tslib_1.__metadata("design:paramtypes", []),
214
+ tslib_1.__metadata("design:returntype", Array)
215
+ ], Definition.prototype, "getRouteParameters", null);
123
216
  PlaceComponent.Definition = Definition;
124
217
  if (false) {
125
218
  /** @type {?} */
@@ -131,6 +224,8 @@ if (false) {
131
224
  /** @type {?} */
132
225
  Definition.prototype.data;
133
226
  /** @type {?} */
227
+ Definition.prototype.children;
228
+ /** @type {?} */
134
229
  Definition.prototype.component;
135
230
  }
136
231
  /**
@@ -147,15 +242,24 @@ if (false) {
147
242
  Options.prototype.data;
148
243
  /** @type {?|undefined} */
149
244
  Options.prototype.authenticate;
245
+ /** @type {?|undefined} */
246
+ Options.prototype.children;
247
+ }
248
+ /**
249
+ * @record
250
+ */
251
+ function ChildOptions() { }
252
+ PlaceComponent.ChildOptions = ChildOptions;
253
+ if (false) {
254
+ /** @type {?} */
255
+ ChildOptions.prototype.parent;
150
256
  }
151
257
  /**
152
258
  * @param {?} klass
153
259
  * @return {?}
154
260
  */
155
261
  function getDefinition(klass) {
156
- /** @type {?} */
157
- const placeOptions = Reflect.getMetadata(DEFINITION_META_DATA_KEY, klass);
158
- return new Definition(klass, placeOptions);
262
+ return Reflect.getMetadata(DEFINITION_META_DATA_KEY, klass);
159
263
  }
160
264
  PlaceComponent.getDefinition = getDefinition;
161
265
  /**
@@ -164,8 +268,8 @@ if (false) {
164
268
  * @return {?}
165
269
  */
166
270
  function injectDefinition(klass, options) {
167
- Reflect.defineMetadata(DEFINITION_META_DATA_KEY, options, klass);
271
+ Reflect.defineMetadata(DEFINITION_META_DATA_KEY, new Definition(klass, options), klass);
168
272
  }
169
273
  PlaceComponent.injectDefinition = injectDefinition;
170
274
  })(PlaceComponent || (PlaceComponent = {}));
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3BsYWNlLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQWlCLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEUsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUd6RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7O0FBRzFFLE1BQU0sT0FBTyx3QkFBd0IsR0FBRywwQkFBMEI7QUFFbEUsTUFBTSxPQUFPLGNBQWUsU0FBUSxtQkFBbUI7Ozs7O0lBSXJELFlBQXFCLGNBQThCLEVBQUUsWUFBMkI7UUFDOUUsS0FBSyxFQUFFLENBQUM7UUFEVyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFFakQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLHNCQUFzQixDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7Ozs7SUFHRCxJQUFJLFdBQVc7UUFDYixPQUFPLGNBQWMsQ0FBQyxhQUFhLENBQUMsbUJBQUEsbUJBQUEsSUFBSSxDQUFDLFdBQVcsRUFBTyxFQUFpQyxDQUFDLENBQUM7SUFDaEcsQ0FBQzs7OztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Ozs7SUFHRCxZQUFZO0lBQ1osQ0FBQztDQUVGO0FBWkM7SUFEQyxPQUFPLEVBQUU7c0NBQ1MsY0FBYyxDQUFDLFVBQVU7O2lEQUUzQztBQU9EO0lBREMsS0FBSyxFQUFFOzs7O2tEQUVQOzs7Ozs7SUFsQkQsOENBQXFEOztJQUV6Qyx3Q0FBdUM7O0FBb0JyRCxXQUFpQixjQUFjO0lBRTdCLE1BQWEsVUFBVTs7Ozs7UUFNckIsWUFBcUIsU0FBd0MsRUFBRSxPQUErQjtZQUF6RSxjQUFTLEdBQVQsU0FBUyxDQUErQjtZQUMzRCxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztZQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDM0IsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQztRQUM1RSxDQUFDOzs7OztRQUVELG1CQUFtQixDQUFDLFlBQTJDO1lBQzdELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN0RSxDQUFDOzs7OztRQUVELGVBQWUsQ0FBQyxjQUE4QjtZQUM1QyxPQUFPLGNBQWMsQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN2RCxDQUFDOzs7Ozs7O1FBRUQsT0FBTyxDQUFJLEdBQVcsRUFBRSxZQUFnQjtZQUN0QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDaEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUN6RCxZQUFZLENBQUM7UUFDakIsQ0FBQzs7Ozs7OztRQUVELFVBQVUsQ0FBSSxJQUFjLEVBQUUsWUFBZ0I7WUFDNUMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFOztzQkFDUCxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUk7Ozs7Z0JBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFDO2dCQUN4RCxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO2FBQ2hEO2lCQUFNO2dCQUNMLE9BQU8sWUFBWSxDQUFDO2FBQ3JCO1FBQ0gsQ0FBQztLQUNGO0lBcENZLHlCQUFVLGFBb0N0QixDQUFBOzs7UUFuQ0MsMEJBQXNCOztRQUN0QixrQ0FBK0I7O1FBQy9CLDJCQUF1Qjs7UUFDdkIsMEJBQXNDOztRQUUxQiwrQkFBaUQ7Ozs7O0lBaUMvRCxzQkFNQzs7OztRQUxDLHVCQUFhOztRQUNiLHdCQUFjOztRQUNkLHVCQUE4Qjs7UUFDOUIsK0JBQXNCOzs7Ozs7SUFJeEIsU0FBZ0IsYUFBYSxDQUFDLEtBQW9DOztjQUMxRCxZQUFZLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLENBQUM7UUFDekUsT0FBTyxJQUFJLFVBQVUsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUhlLDRCQUFhLGdCQUc1QixDQUFBOzs7Ozs7SUFFRCxTQUFnQixnQkFBZ0IsQ0FBQyxLQUFvQyxFQUFFLE9BQWdCO1FBQ3JGLE9BQU8sQ0FBQyxjQUFjLENBQUMsd0JBQXdCLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFGZSwrQkFBZ0IsbUJBRS9CLENBQUE7QUFHSCxDQUFDLEVBM0RnQixjQUFjLEtBQWQsY0FBYyxRQTJEOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyU3RhdGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBhc3NlcnQsIENvbnN0cnVjdGFibGUsIGxhbmcsIFRyYWNlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgTWVtb2l6ZSB9IGZyb20gJ0B0eXBlc2NyaXB0LXBsdXMvZmFzdC1tZW1vaXplLWRlY29yYXRvcic7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgJ3JlZmxlY3QtbWV0YWRhdGEnO1xuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgSVBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi9pLXBsYWNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBJUGxhY2VTZXJ2aWNlIH0gZnJvbSAnLi9pLXBsYWNlLXNlcnZpY2UnO1xuaW1wb3J0IHsgUm91dGVQYXJhbWV0ZXJCaW5kaW5ncyB9IGZyb20gJy4vcm91dGUvcm91dGUtcGFyYW1ldGVyLWJpbmRpbmdzJztcblxuLy8gUkFLRTogbWFraW5nIHRoaXMgU3ltYm9sKC4uLikgYnJva2UgdGhpbmdzLlxuZXhwb3J0IGNvbnN0IERFRklOSVRJT05fTUVUQV9EQVRBX0tFWSA9ICdQTEFDRV9ERUZJTklUSU9OX09QVElPTlMnO1xuXG5leHBvcnQgY2xhc3MgUGxhY2VDb21wb25lbnQgZXh0ZW5kcyBEaXNwb3NhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgSVBsYWNlQ29tcG9uZW50IHtcblxuICBwcml2YXRlIHJvdXRlQmluZGluZ01lZGlhdG9yOiBSb3V0ZVBhcmFtZXRlckJpbmRpbmdzO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgcGxhY2VTZXJ2aWNlOiBJUGxhY2VTZXJ2aWNlKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnJvdXRlQmluZGluZ01lZGlhdG9yID0gdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUobmV3IFJvdXRlUGFyYW1ldGVyQmluZGluZ3ModGhpcywgcGxhY2VTZXJ2aWNlKSk7XG4gIH1cblxuICBATWVtb2l6ZSgpXG4gIGdldCBwbGFjZUNvbmZpZygpOiBQbGFjZUNvbXBvbmVudC5EZWZpbml0aW9uIHtcbiAgICByZXR1cm4gUGxhY2VDb21wb25lbnQuZ2V0RGVmaW5pdGlvbih0aGlzLmNvbnN0cnVjdG9yIGFzIGFueSBhcyBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50Pik7XG4gIH1cblxuICBjYW5EZWFjdGl2YXRlKCk6IGJvb2xlYW4gfCBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIEBUcmFjZSgpXG4gIG9uUGxhY2VSZWFkeSgpIHtcbiAgfVxuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUGxhY2VDb21wb25lbnQge1xuXG4gIGV4cG9ydCBjbGFzcyBEZWZpbml0aW9uIHtcbiAgICByZWFkb25seSBwYXRoOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgYXV0aGVudGljYXRlOiBib29sZWFuO1xuICAgIHJlYWRvbmx5IG9yZGVyOiBudW1iZXI7XG4gICAgcmVhZG9ubHkgZGF0YTogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcblxuICAgIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGNvbXBvbmVudDogQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4sIG9wdGlvbnM6IFBsYWNlQ29tcG9uZW50Lk9wdGlvbnMpIHtcbiAgICAgIGFzc2VydC5ub3ROaWwob3B0aW9ucyk7XG4gICAgICB0aGlzLnBhdGggPSBvcHRpb25zLnBhdGg7XG4gICAgICB0aGlzLm9yZGVyID0gb3B0aW9ucy5vcmRlcjtcbiAgICAgIHRoaXMuZGF0YSA9IG9wdGlvbnMuZGF0YTtcbiAgICAgIHRoaXMuYXV0aGVudGljYXRlID0gXy5pc05pbChvcHRpb25zLmF1dGhlbnRpY2F0ZSkgfHwgb3B0aW9ucy5hdXRoZW50aWNhdGU7XG4gICAgfVxuXG4gICAgaXNEZXNjcmlwdG9yRm9yVHlwZShjb25zdHJ1Y2FibGU6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+KSB7XG4gICAgICByZXR1cm4gbGFuZy5jb25zdHJ1Y3RvckNoYWluKGNvbnN0cnVjYWJsZSkuaW5jbHVkZXMoUGxhY2VDb21wb25lbnQpO1xuICAgIH1cblxuICAgIGlzRGVzY3JpcHRvckZvcihwbGFjZUNvbXBvbmVudDogUGxhY2VDb21wb25lbnQpIHtcbiAgICAgIHJldHVybiBwbGFjZUNvbXBvbmVudC5jb25zdHJ1Y3RvciA9PT0gdGhpcy5jb21wb25lbnQ7XG4gICAgfVxuXG4gICAgZ2V0RGF0YTxUPihrZXk6IHN0cmluZywgZGVmYXVsdFZhbHVlPzogVCk6IFQge1xuICAgICAgcmV0dXJuIHRoaXMuZGF0YSA/XG4gICAgICAgIF8uaXNOaWwodGhpcy5kYXRhW2tleV0pID8gZGVmYXVsdFZhbHVlIDogdGhpcy5kYXRhW2tleV0gOlxuICAgICAgICBkZWZhdWx0VmFsdWU7XG4gICAgfVxuXG4gICAgc2VhcmNoRGF0YTxUPihrZXlzOiBzdHJpbmdbXSwgZGVmYXVsdFZhbHVlPzogVCk6IFQge1xuICAgICAgaWYgKHRoaXMuZGF0YSkge1xuICAgICAgICBjb25zdCBmb3VuZCA9IGtleXMuZmluZChrZXkgPT4gIV8uaXNOaWwodGhpcy5kYXRhW2tleV0pKTtcbiAgICAgICAgcmV0dXJuIGZvdW5kID8gdGhpcy5kYXRhW2ZvdW5kXSA6IGRlZmF1bHRWYWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBkZWZhdWx0VmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICBleHBvcnQgaW50ZXJmYWNlIE9wdGlvbnMge1xuICAgIHBhdGg6IHN0cmluZyxcbiAgICBvcmRlcjogbnVtYmVyO1xuICAgIGRhdGE/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9LCAvLyBkZWZhdWx0cyB0byB0cnVlXG4gICAgYXV0aGVudGljYXRlPzogYm9vbGVhbiAvLyBkZWZhdWx0cyB0byB0cnVlXG4gICAgLy8gY2hpbGRPZj86IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0RGVmaW5pdGlvbihrbGFzczogQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4pOiBEZWZpbml0aW9uIHtcbiAgICBjb25zdCBwbGFjZU9wdGlvbnMgPSBSZWZsZWN0LmdldE1ldGFkYXRhKERFRklOSVRJT05fTUVUQV9EQVRBX0tFWSwga2xhc3MpO1xuICAgIHJldHVybiBuZXcgRGVmaW5pdGlvbihrbGFzcywgcGxhY2VPcHRpb25zKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBpbmplY3REZWZpbml0aW9uKGtsYXNzOiBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50Piwgb3B0aW9uczogT3B0aW9ucykge1xuICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoREVGSU5JVElPTl9NRVRBX0RBVEFfS0VZLCBvcHRpb25zLCBrbGFzcyk7XG4gIH1cblxuXG59XG4iXX0=
275
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3BsYWNlLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFDTCxNQUFNLEVBQ04sT0FBTyxFQUVQLEdBQUcsRUFFSCxJQUFJLEVBQ0osaUJBQWlCLEVBQ2pCLEtBQUssRUFFTixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEUsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUl6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBRy9ELE1BQU0sT0FBTyx3QkFBd0IsR0FBRywwQkFBMEI7OztBQUVsRSxNQUFNLE9BQU8sd0JBQXdCLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDO0FBRXhFLE1BQU0sT0FBTyxjQUFlLFNBQVEsbUJBQW1COzs7OztJQUtyRCxZQUFxQixjQUE4QixFQUFFLFlBQWlDO1FBQ3BGLEtBQUssRUFBRSxDQUFDO1FBRFcsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBSG5DLHlCQUFvQixHQUFHLElBQUksaUJBQWlCLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDNUQsdUJBQWtCLEdBQUcsSUFBSSxpQkFBaUIsRUFBcUIsQ0FBQztjQUl6RSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFD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cm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgYXNzZXJ0LFxuICBCaW5kaW5nLFxuICBDb25zdHJ1Y3RhYmxlLFxuICBEc2wsXG4gIElNdXRhYmxlSGFzVmFsdWUsXG4gIGxhbmcsXG4gIE11dGFibGVWYWx1ZU1vZGVsLFxuICBUcmFjZSxcbiAgVmFsdWVNb2RlbFxufSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBLbGFzcyB9IGZyb20gJ0Bjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXMnO1xuaW1wb3J0IHsgTWVtb2l6ZSB9IGZyb20gJ0B0eXBlc2NyaXB0LXBsdXMvZmFzdC1tZW1vaXplLWRlY29yYXRvcic7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgJ3JlZmxlY3QtbWV0YWRhdGEnO1xuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxhY2VDb21wb25lbnRMaWtlIH0gZnJvbSAnLi9wbGFjZS1jb21wb25lbnQtbGlrZSc7XG5pbXBvcnQgeyBQbGFjZVVwZGF0ZXNTZXJ2aWNlIH0gZnJvbSAnLi9wbGFjZS11cGRhdGVzLXNlcnZpY2UnO1xuaW1wb3J0IHsgUGFyYW1ldGVyRGVmaW5pdGlvbiB9IGZyb20gJy4vcm91dGUvcGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MnO1xuaW1wb3J0IHsgUGFyYW1ldGVyU25hcHNob3QgfSBmcm9tICcuL3JvdXRlL3BhcmFtZXRlci1zbmFwc2hvdCc7XG5cbi8vIFJBS0U6IG1ha2luZyB0aGlzIFN5bWJvbCguLi4pIGJyb2tlIHRoaW5ncy5cbmV4cG9ydCBjb25zdCBERUZJTklUSU9OX01FVEFfREFUQV9LRVkgPSAnUExBQ0VfREVGSU5JVElPTl9PUFRJT05TJztcbi8vIHRoaXMgb25lIHNlZW1zIG9rLlxuZXhwb3J0IGNvbnN0IFJPVVRFX1BBUkFNRVRFUl9MSVNUX0tFWSA9IFN5bWJvbCgncGxhY2U6cm91dGU6cGFyYW1ldGVycycpO1xuXG5leHBvcnQgY2xhc3MgUGxhY2VDb21wb25lbnQgZXh0ZW5kcyBEaXNwb3NhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgUGxhY2VDb21wb25lbnRMaWtlIHtcblxuICBwdWJsaWMgcmVhZG9ubHkgX2luY29taW5nUm91dGVDaGFuZ2UgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJlc29sdmVkUGFyYW1ldGVycyA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxQYXJhbWV0ZXJTbmFwc2hvdD4oKTtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsIHBsYWNlU2VydmljZTogUGxhY2VVcGRhdGVzU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gICAgY29uc3QgeyBjaGFpbiwgdmFsdWVPZiwgYmVmb3JlLCB3aGVuLCBhZnRlciwgb2JzZXJ2ZSwgc3dpdGNoT24gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcblxuICAgIHRoaXMucGxhY2VEZWZpbml0aW9uLmdldFJvdXRlUGFyYW1ldGVycygpLmZvckVhY2gocCA9PiB0aGlzLmluc3RhbGxCaW5kaW5nKHApKTtcblxuICAgIG9ic2VydmUudmFsdWVzRnJvbShhY3RpdmF0ZWRSb3V0ZS5wYXJhbU1hcClcbiAgICAgIC5sYXN0KClcbiAgICAgIC5tYXAocGFyYW1zID0+IFBhcmFtZXRlclNuYXBzaG90LmNyZWF0ZSh0aGlzLnBsYWNlRGVmaW5pdGlvbiwgcGFyYW1zKSlcbiAgICAgIC5zdWJzY3JpYmUocmVzb2x2ZWRQYXJhbWV0ZXJzID0+IHtcbiAgICAgICAgdGhpcy5faW5jb21pbmdSb3V0ZUNoYW5nZS52YWx1ZSA9IHRydWU7XG4gICAgICAgIHRoaXMucmVzb2x2ZWRQYXJhbWV0ZXJzLnZhbHVlID0gcmVzb2x2ZWRQYXJhbWV0ZXJzO1xuICAgICAgICB0aGlzLl9pbmNvbWluZ1JvdXRlQ2hhbmdlLnZhbHVlID0gZmFsc2U7XG4gICAgICB9KTtcblxuICAgIHdoZW4udmFsdWVPZih0aGlzLnJlc29sdmVkUGFyYW1ldGVycykuY2hhbmdlcygocGFyYW1zLCBwcmV2aW91cykgPT4ge1xuICAgICAgcGxhY2VTZXJ2aWNlLm5vdGlmeVJvdXRlUGFyYW1ldGVyc0NoYW5nZWQoe1xuICAgICAgICBhY3RpdmF0ZWRSb3V0ZTogdGhpcy5hY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgbmV4dDogcGFyYW1zLFxuICAgICAgICBwcmV2aW91czogcHJldmlvdXMsXG4gICAgICAgIHVwZGF0ZVJvdXRlOiAhdGhpcy5pbmNvbWluZ1JvdXRlQ2hhbmdlLnZhbHVlIC8vIHdlIHVwZGF0ZSB0aGUgcm91dGUgaWYgaXQncyBhIGNvbXBvbmVudCB0cmlnZ2VyZWQgY2hhbmdlLlxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBnZXQgaW5jb21pbmdSb3V0ZUNoYW5nZSgpOiBWYWx1ZU1vZGVsPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5faW5jb21pbmdSb3V0ZUNoYW5nZS5yZWFkb25seTtcbiAgfVxuXG4gIHByaXZhdGUgaW5zdGFsbEJpbmRpbmc8VCwgUz4ocGFyYW1ldGVyRGVmOiBQYXJhbWV0ZXJEZWZpbml0aW9uPFQsIFM+KSB7XG4gICAgY29uc3QgbW9kZWwgPSB0aGlzW3BhcmFtZXRlckRlZi5wcm9wZXJ0eU5hbWVdIGFzIElNdXRhYmxlSGFzVmFsdWU8Uz47XG4gICAgLy8gdGhpcy50eG8ub2JzZXJ2ZShwYXJhbWV0ZXJEZWYucHJvcGVydHlOYW1lLCBtb2RlbCk7XG4gICAgdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUobmV3IEJpbmRpbmcodGhpcy5yZXNvbHZlZFBhcmFtZXRlcnMsIG1vZGVsLCB7XG4gICAgICB0b1JpZ2h0KHBhcmFtZXRlcnM6IFBhcmFtZXRlclNuYXBzaG90KTogUyB7XG4gICAgICAgIHJldHVybiBwYXJhbWV0ZXJzLmdldFJlc29sdmVkUGFyYW1ldGVyVmFsdWUocGFyYW1ldGVyRGVmKTtcbiAgICAgIH0sXG4gICAgICB0b0xlZnQodmFsdWU6IFMsIGN1cnJlbnRQYXJhbWV0ZXJzPzogUGFyYW1ldGVyU25hcHNob3QpOiBQYXJhbWV0ZXJTbmFwc2hvdCB7XG4gICAgICAgIHJldHVybiBjdXJyZW50UGFyYW1ldGVycy5yZXBsYWNlKHBhcmFtZXRlckRlZiwgdmFsdWUpO1xuICAgICAgfVxuICAgIH0pKTtcbiAgfVxuXG5cbiAgQE1lbW9pemUoKVxuICBnZXQgcGxhY2VEZWZpbml0aW9uKCk6IFBsYWNlQ29tcG9uZW50LkRlZmluaXRpb24ge1xuICAgIHJldHVybiBQbGFjZUNvbXBvbmVudC5nZXREZWZpbml0aW9uKHRoaXMuY29uc3RydWN0b3IgYXMgYW55IGFzIENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+KTtcbiAgfVxuXG4gIGNhbkRlYWN0aXZhdGUoKTogYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgQFRyYWNlKClcbiAgb25QbGFjZVJlYWR5KCkge1xuICB9XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBQbGFjZUNvbXBvbmVudCB7XG5cbiAgZXhwb3J0IGNsYXNzIERlZmluaXRpb24ge1xuICAgIHJlYWRvbmx5IHBhdGg6IHN0cmluZztcbiAgICByZWFkb25seSBhdXRoZW50aWNhdGU6IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgb3JkZXI6IG51bWJlcjtcbiAgICByZWFkb25seSBkYXRhOiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuICAgIHJlYWRvbmx5IGNoaWxkcmVuOiBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50PltdO1xuXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgY29tcG9uZW50OiBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50Piwgb3B0aW9uczogUGxhY2VDb21wb25lbnQuT3B0aW9ucykge1xuICAgICAgYXNzZXJ0Lm5vdE5pbChvcHRpb25zKTtcbiAgICAgIHRoaXMucGF0aCA9IG9wdGlvbnMucGF0aDtcbiAgICAgIHRoaXMub3JkZXIgPSBvcHRpb25zLm9yZGVyO1xuICAgICAgdGhpcy5kYXRhID0gb3B0aW9ucy5kYXRhO1xuICAgICAgdGhpcy5hdXRoZW50aWNhdGUgPSBfLmlzTmlsKG9wdGlvbnMuYXV0aGVudGljYXRlKSB8fCBvcHRpb25zLmF1dGhlbnRpY2F0ZTtcbiAgICAgIHRoaXMuY2hpbGRyZW4gPSAob3B0aW9ucy5jaGlsZHJlbiB8fFtdKS5tYXAoYyA9PiBQbGFjZUNvbXBvbmVudC5nZXREZWZpbml0aW9uKGMpLmNvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgQE1lbW9pemUoKVxuICAgIGdldFJvdXRlUGFyYW1ldGVycygpOiBQYXJhbWV0ZXJEZWZpbml0aW9uPGFueT5bXSB7XG4gICAgICByZXR1cm4gS2xhc3MuZ2V0KHRoaXMuY29tcG9uZW50KS5nZXRNZXRhZGF0YUxpc3QoUk9VVEVfUEFSQU1FVEVSX0xJU1RfS0VZKTtcbiAgICB9XG5cbiAgICBpc0Rlc2NyaXB0b3JGb3JUeXBlKGNvbnN0cnVjdGFibGU6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+KSB7XG4gICAgICByZXR1cm4gbGFuZy5jb25zdHJ1Y3RvckNoYWluKGNvbnN0cnVjdGFibGUpLmluY2x1ZGVzKFBsYWNlQ29tcG9uZW50KTtcbiAgICB9XG5cbiAgICBpc0Rlc2NyaXB0b3JGb3IocGxhY2VDb21wb25lbnQ6IFBsYWNlQ29tcG9uZW50KSB7XG4gICAgICByZXR1cm4gcGxhY2VDb21wb25lbnQuY29uc3RydWN0b3IgPT09IHRoaXMuY29tcG9uZW50O1xuICAgIH1cblxuICAgIGdldERhdGE8VD4oa2V5OiBzdHJpbmcsIGRlZmF1bHRWYWx1ZT86IFQpOiBUIHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGEgP1xuICAgICAgICBfLmlzTmlsKHRoaXMuZGF0YVtrZXldKSA/IGRlZmF1bHRWYWx1ZSA6IHRoaXMuZGF0YVtrZXldIDpcbiAgICAgICAgZGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIHNlYXJjaERhdGE8VD4oa2V5czogc3RyaW5nW10sIGRlZmF1bHRWYWx1ZT86IFQpOiBUIHtcbiAgICAgIGlmICh0aGlzLmRhdGEpIHtcbiAgICAgICAgY29uc3QgZm91bmQgPSBrZXlzLmZpbmQoa2V5ID0+ICFfLmlzTmlsKHRoaXMuZGF0YVtrZXldKSk7XG4gICAgICAgIHJldHVybiBmb3VuZCA/IHRoaXMuZGF0YVtmb3VuZF0gOiBkZWZhdWx0VmFsdWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZGVmYXVsdFZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgZXhwb3J0IGludGVyZmFjZSBPcHRpb25zIHtcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgb3JkZXI6IG51bWJlcjtcbiAgICBkYXRhPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfSwgLy8gZGVmYXVsdHMgdG8gdHJ1ZVxuICAgIGF1dGhlbnRpY2F0ZT86IGJvb2xlYW4sIC8vIGRlZmF1bHRzIHRvIHRydWVcbiAgICBjaGlsZHJlbj86IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+W11cbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgQ2hpbGRPcHRpb25zIGV4dGVuZHMgT3B0aW9ucyB7XG4gICAgcGFyZW50OiBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50PlxuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldERlZmluaXRpb24oa2xhc3M6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+KTogRGVmaW5pdGlvbiB7XG4gICAgcmV0dXJuIFJlZmxlY3QuZ2V0TWV0YWRhdGEoREVGSU5JVElPTl9NRVRBX0RBVEFfS0VZLCBrbGFzcyk7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gaW5qZWN0RGVmaW5pdGlvbihrbGFzczogQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4sIG9wdGlvbnM6IE9wdGlvbnMpIHtcbiAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKERFRklOSVRJT05fTUVUQV9EQVRBX0tFWSwgbmV3IERlZmluaXRpb24oa2xhc3MsIG9wdGlvbnMpLCBrbGFzcyk7XG4gIH1cblxuXG59XG4iXX0=
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ /**
6
+ * @record
7
+ */
8
+ export function PlaceUpdatesService() { }
9
+ if (false) {
10
+ /**
11
+ * @param {?} params
12
+ * @return {?}
13
+ */
14
+ PlaceUpdatesService.prototype.notifyRouteParametersChanged = function (params) { };
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtdXBkYXRlcy1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3BsYWNlLXVwZGF0ZXMtc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEseUNBT0M7Ozs7OztJQU5DLG1GQUtHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgUGxhY2VDb21wb25lbnRMaWtlIH0gZnJvbSAnLi9wbGFjZS1jb21wb25lbnQtbGlrZSc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJTbmFwc2hvdCB9IGZyb20gJy4vcm91dGUvcGFyYW1ldGVyLXNuYXBzaG90JztcblxuZXhwb3J0IGludGVyZmFjZSBQbGFjZVVwZGF0ZXNTZXJ2aWNlIHtcbiAgbm90aWZ5Um91dGVQYXJhbWV0ZXJzQ2hhbmdlZChwYXJhbXM6IHtcbiAgICBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgbmV4dDogUGFyYW1ldGVyU25hcHNob3QsXG4gICAgcHJldmlvdXM6IFBhcmFtZXRlclNuYXBzaG90LFxuICAgIHVwZGF0ZVJvdXRlOiBib29sZWFuXG4gIH0pO1xufVxuIl19
@@ -20,4 +20,4 @@ export function Place(options) {
20
20
  PlaceComponent.injectDefinition((/** @type {?} */ (target)), options);
21
21
  });
22
22
  }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UuZGVjb3JhdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3BsYWNlLmRlY29yYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFpQixJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBRW5ELE1BQU0sVUFBVSxLQUFLLENBQUMsT0FBK0I7SUFDbkQ7Ozs7SUFBTyxDQUFDLE1BQWdCLEVBQUUsRUFBRTtRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG1CQUFBLE1BQU0sRUFBc0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUMvRSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsTUFBTSx5REFBeUQsQ0FBQyxDQUFBO1NBQ3hGO1FBQ0QsY0FBYyxDQUFDLGdCQUFnQixDQUFDLG1CQUFBLE1BQU0sRUFBc0IsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN6RSxDQUFDLEVBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0YWJsZSwgbGFuZyB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi9wbGFjZS1jb21wb25lbnQnO1xuXG5leHBvcnQgZnVuY3Rpb24gUGxhY2Uob3B0aW9uczogUGxhY2VDb21wb25lbnQuT3B0aW9ucykge1xuICByZXR1cm4gKHRhcmdldDogRnVuY3Rpb24pID0+IHtcbiAgICBpZiAoIWxhbmcuY29uc3RydWN0b3JDaGFpbih0YXJnZXQgYXMgQ29uc3RydWN0YWJsZTxhbnk+KS5pbmNsdWRlcyhQbGFjZUNvbXBvbmVudCkpIHtcbiAgICAgICAgbGFuZy5pbGxlZ2FsU3RhdGUoYCR7dGFyZ2V0fSBtdXN0IGV4dGVuZCBQbGFjZUNvbXBvbmVudCB0byB1c2UgdGhlIEBQbGFjZSBkZWNvcmF0b3JgKVxuICAgIH1cbiAgICBQbGFjZUNvbXBvbmVudC5pbmplY3REZWZpbml0aW9uKHRhcmdldCBhcyBDb25zdHJ1Y3RhYmxlPGFueT4sIG9wdGlvbnMpO1xuICB9O1xufVxuXG4iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UuZGVjb3JhdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3BsYWNlLmRlY29yYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFpQixJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBRW5ELE1BQU0sVUFBVSxLQUFLLENBQUMsT0FBK0I7SUFDbkQ7Ozs7SUFBTyxDQUFDLE1BQWdCLEVBQUUsRUFBRTtRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG1CQUFBLE1BQU0sRUFBc0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUMvRSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsTUFBTSx5REFBeUQsQ0FBQyxDQUFBO1NBQ3hGO1FBQ0QsY0FBYyxDQUFDLGdCQUFnQixDQUFDLG1CQUFBLE1BQU0sRUFBc0IsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN6RSxDQUFDLEVBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0YWJsZSwgbGFuZyB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi9wbGFjZS1jb21wb25lbnQnO1xuXG5leHBvcnQgZnVuY3Rpb24gUGxhY2Uob3B0aW9uczogUGxhY2VDb21wb25lbnQuT3B0aW9ucykge1xuICByZXR1cm4gKHRhcmdldDogRnVuY3Rpb24pID0+IHtcbiAgICBpZiAoIWxhbmcuY29uc3RydWN0b3JDaGFpbih0YXJnZXQgYXMgQ29uc3RydWN0YWJsZTxhbnk+KS5pbmNsdWRlcyhQbGFjZUNvbXBvbmVudCkpIHtcbiAgICAgICAgbGFuZy5pbGxlZ2FsU3RhdGUoYCR7dGFyZ2V0fSBtdXN0IGV4dGVuZCBQbGFjZUNvbXBvbmVudCB0byB1c2UgdGhlIEBQbGFjZSBkZWNvcmF0b3JgKVxuICAgIH1cbiAgICBQbGFjZUNvbXBvbmVudC5pbmplY3REZWZpbml0aW9uKHRhcmdldCBhcyBDb25zdHJ1Y3RhYmxlPGFueT4sIG9wdGlvbnMpO1xuICB9O1xufVxuIl19
@@ -13,6 +13,7 @@ import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
13
13
  import { RouterModule } from '@angular/router';
14
14
  import { BusyOverlayComponent } from './components/busy-overlay/busy-overlay.component';
15
15
  import { EmptyStateComponent } from './components/empty-state/empty-state.component';
16
+ import { ListPlaceNavComponent } from './components/list-place-nav/list-place-nav.component';
16
17
  import { PlaceOutletComponent } from './components/place-outlet/place-outlet.component';
17
18
  import { TabbedPlaceNavigationComponent } from './components/tabbed-place-navigation/tabbed-place-navigation.component';
18
19
  import { PlaceService } from './place.service';
@@ -34,18 +35,20 @@ PlaceModule.decorators = [
34
35
  EmptyStateComponent,
35
36
  BusyOverlayComponent,
36
37
  PlaceOutletComponent,
37
- TabbedPlaceNavigationComponent
38
+ TabbedPlaceNavigationComponent,
39
+ ListPlaceNavComponent
38
40
  ],
39
41
  entryComponents: [BusyOverlayComponent],
40
42
  exports: [
41
43
  BusyOverlayComponent,
42
44
  PlaceOutletComponent,
43
45
  EmptyStateComponent,
44
- TabbedPlaceNavigationComponent
46
+ TabbedPlaceNavigationComponent,
47
+ ListPlaceNavComponent
45
48
  ],
46
49
  providers: [
47
50
  PlaceService
48
51
  ]
49
52
  },] }
50
53
  ];
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3BsYWNlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHdFQUF3RSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQThCL0MsTUFBTSxPQUFPLFdBQVc7OztZQTVCdkIsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLHVCQUF1QjtvQkFDdkIsd0JBQXdCO29CQUN4QixZQUFZO29CQUNaLGFBQWE7b0JBQ2IsYUFBYTtvQkFDYixnQkFBZ0I7b0JBQ2hCLGFBQWE7aUJBQ2Q7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLG1CQUFtQjtvQkFDbkIsb0JBQW9CO29CQUNwQixvQkFBb0I7b0JBQ3BCLDhCQUE4QjtpQkFDL0I7Z0JBQ0QsZUFBZSxFQUFFLENBQUMsb0JBQW9CLENBQUM7Z0JBQ3ZDLE9BQU8sRUFBRTtvQkFDUCxvQkFBb0I7b0JBQ3BCLG9CQUFvQjtvQkFDcEIsbUJBQW1CO29CQUNuQiw4QkFBOEI7aUJBQy9CO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxZQUFZO2lCQUNiO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcbmltcG9ydCB7IE1hdFRhYnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IEJyb3dzZXJBbmltYXRpb25zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBCdXN5T3ZlcmxheUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9idXN5LW92ZXJsYXkvYnVzeS1vdmVybGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbXB0eVN0YXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQbGFjZU91dGxldENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wbGFjZS1vdXRsZXQvcGxhY2Utb3V0bGV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJiZWRQbGFjZU5hdmlnYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFiYmVkLXBsYWNlLW5hdmlnYXRpb24vdGFiYmVkLXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFBsYWNlU2VydmljZSB9IGZyb20gJy4vcGxhY2Uuc2VydmljZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBNYXRUYWJzTW9kdWxlLFxuICAgIE1hdExpc3RNb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEVtcHR5U3RhdGVDb21wb25lbnQsXG4gICAgQnVzeU92ZXJsYXlDb21wb25lbnQsXG4gICAgUGxhY2VPdXRsZXRDb21wb25lbnQsXG4gICAgVGFiYmVkUGxhY2VOYXZpZ2F0aW9uQ29tcG9uZW50XG4gIF0sXG4gIGVudHJ5Q29tcG9uZW50czogW0J1c3lPdmVybGF5Q29tcG9uZW50XSxcbiAgZXhwb3J0czogW1xuICAgIEJ1c3lPdmVybGF5Q29tcG9uZW50LFxuICAgIFBsYWNlT3V0bGV0Q29tcG9uZW50LFxuICAgIEVtcHR5U3RhdGVDb21wb25lbnQsXG4gICAgVGFiYmVkUGxhY2VOYXZpZ2F0aW9uQ29tcG9uZW50XG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIFBsYWNlU2VydmljZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFBsYWNlTW9kdWxlIHtcblxufVxuIl19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3BsYWNlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHdFQUF3RSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQWdDL0MsTUFBTSxPQUFPLFdBQVc7OztZQTlCdkIsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLHVCQUF1QjtvQkFDdkIsd0JBQXdCO29CQUN4QixZQUFZO29CQUNaLGFBQWE7b0JBQ2IsYUFBYTtvQkFDYixnQkFBZ0I7b0JBQ2hCLGFBQWE7aUJBQ2Q7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLG1CQUFtQjtvQkFDbkIsb0JBQW9CO29CQUNwQixvQkFBb0I7b0JBQ3BCLDhCQUE4QjtvQkFDOUIscUJBQXFCO2lCQUN0QjtnQkFDRCxlQUFlLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztnQkFDdkMsT0FBTyxFQUFFO29CQUNQLG9CQUFvQjtvQkFDcEIsb0JBQW9CO29CQUNwQixtQkFBbUI7b0JBQ25CLDhCQUE4QjtvQkFDOUIscUJBQXFCO2lCQUN0QjtnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsWUFBWTtpQkFDYjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQnVzeU92ZXJsYXlDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYnVzeS1vdmVybGF5L2J1c3ktb3ZlcmxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW1wdHlTdGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGlzdFBsYWNlTmF2Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xpc3QtcGxhY2UtbmF2L2xpc3QtcGxhY2UtbmF2LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQbGFjZU91dGxldENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wbGFjZS1vdXRsZXQvcGxhY2Utb3V0bGV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJiZWRQbGFjZU5hdmlnYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFiYmVkLXBsYWNlLW5hdmlnYXRpb24vdGFiYmVkLXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFBsYWNlU2VydmljZSB9IGZyb20gJy4vcGxhY2Uuc2VydmljZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBNYXRUYWJzTW9kdWxlLFxuICAgIE1hdExpc3RNb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEVtcHR5U3RhdGVDb21wb25lbnQsXG4gICAgQnVzeU92ZXJsYXlDb21wb25lbnQsXG4gICAgUGxhY2VPdXRsZXRDb21wb25lbnQsXG4gICAgVGFiYmVkUGxhY2VOYXZpZ2F0aW9uQ29tcG9uZW50LFxuICAgIExpc3RQbGFjZU5hdkNvbXBvbmVudFxuICBdLFxuICBlbnRyeUNvbXBvbmVudHM6IFtCdXN5T3ZlcmxheUNvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtcbiAgICBCdXN5T3ZlcmxheUNvbXBvbmVudCxcbiAgICBQbGFjZU91dGxldENvbXBvbmVudCxcbiAgICBFbXB0eVN0YXRlQ29tcG9uZW50LFxuICAgIFRhYmJlZFBsYWNlTmF2aWdhdGlvbkNvbXBvbmVudCxcbiAgICBMaXN0UGxhY2VOYXZDb21wb25lbnRcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgUGxhY2VTZXJ2aWNlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUGxhY2VNb2R1bGUge1xuXG59XG4iXX0=
@@ -3,19 +3,22 @@
3
3
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
4
  */
5
5
  import * as tslib_1 from "tslib";
6
- import { Injectable } from '@angular/core';
6
+ import { Injectable, Injector } from '@angular/core';
7
7
  import { Router } from '@angular/router';
8
8
  import { GarbageCollector, MutableListModel, Trace } from '@coolon/pectin';
9
9
  import { PlaceComponent } from './place-component';
10
+ import { ParameterSnapshot } from './route/parameter-snapshot';
10
11
  import * as i0 from "@angular/core";
11
12
  import * as i1 from "@angular/router";
12
13
  export class PlaceService extends GarbageCollector {
13
14
  /**
14
15
  * @param {?} router
16
+ * @param {?} injector
15
17
  */
16
- constructor(router) {
18
+ constructor(router, injector) {
17
19
  super();
18
20
  this.router = router;
21
+ this.injector = injector;
19
22
  this._activePlaces = new MutableListModel();
20
23
  }
21
24
  /**
@@ -52,10 +55,19 @@ export class PlaceService extends GarbageCollector {
52
55
  /** @type {?} */
53
56
  const path = routeId ? [relativePath, routeId, params.next.getFormattedParameters()] : [relativePath, params.next.getFormattedParameters()];
54
57
  this.router.navigate(path, {
55
- relativeTo: params.placeComponent.activatedRoute
58
+ relativeTo: params.activatedRoute
56
59
  });
57
60
  }
58
61
  }
62
+ /**
63
+ * @param {?} snapshot
64
+ * @return {?}
65
+ */
66
+ sanitise(snapshot) {
67
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
68
+ return snapshot;
69
+ });
70
+ }
59
71
  }
60
72
  PlaceService.decorators = [
61
73
  { type: Injectable, args: [{
@@ -64,9 +76,10 @@ PlaceService.decorators = [
64
76
  ];
65
77
  /** @nocollapse */
66
78
  PlaceService.ctorParameters = () => [
67
- { type: Router }
79
+ { type: Router },
80
+ { type: Injector }
68
81
  ];
69
- /** @nocollapse */ PlaceService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function PlaceService_Factory() { return new PlaceService(i0.ɵɵinject(i1.Router)); }, token: PlaceService, providedIn: "root" });
82
+ /** @nocollapse */ PlaceService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function PlaceService_Factory() { return new PlaceService(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i0.INJECTOR)); }, token: PlaceService, providedIn: "root" });
70
83
  tslib_1.__decorate([
71
84
  Trace(),
72
85
  tslib_1.__metadata("design:type", Function),
@@ -85,6 +98,12 @@ tslib_1.__decorate([
85
98
  tslib_1.__metadata("design:paramtypes", [Object]),
86
99
  tslib_1.__metadata("design:returntype", void 0)
87
100
  ], PlaceService.prototype, "notifyRouteParametersChanged", null);
101
+ tslib_1.__decorate([
102
+ Trace(),
103
+ tslib_1.__metadata("design:type", Function),
104
+ tslib_1.__metadata("design:paramtypes", [ParameterSnapshot]),
105
+ tslib_1.__metadata("design:returntype", Promise)
106
+ ], PlaceService.prototype, "sanitise", null);
88
107
  if (false) {
89
108
  /**
90
109
  * @type {?}
@@ -96,5 +115,10 @@ if (false) {
96
115
  * @protected
97
116
  */
98
117
  PlaceService.prototype.router;
118
+ /**
119
+ * @type {?}
120
+ * @protected
121
+ */
122
+ PlaceService.prototype.injector;
99
123
  }
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9wbGFjZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWtCLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQU1uRCxNQUFNLE9BQU8sWUFBYSxTQUFRLGdCQUFnQjs7OztJQUloRCxZQUFzQixNQUFjO1FBQ2xDLEtBQUssRUFBRSxDQUFDO1FBRFksV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUY1QixrQkFBYSxHQUFHLElBQUksZ0JBQWdCLEVBQWtCLENBQUM7SUFJL0QsQ0FBQzs7OztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7SUFDckMsQ0FBQzs7Ozs7SUFHRCxVQUFVLENBQUMsS0FBcUI7UUFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQzs7Ozs7SUFHRCxZQUFZLENBQUMsS0FBcUI7UUFDaEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQzs7Ozs7SUFHRCw0QkFBNEIsQ0FBQyxNQUs1QjtRQUNDLGdDQUFnQztRQUNoQyxJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUU7O2tCQUNoQixPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRTs7a0JBQzNDLFlBQVksR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHOztrQkFDMUQsSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDM0ksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFO2dCQUN6QixVQUFVLEVBQUUsTUFBTSxDQUFDLGNBQWMsQ0FBQyxjQUFjO2FBQ2pELENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7O1lBekNGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OztZQVJ3QixNQUFNOzs7QUFzQjdCO0lBREMsS0FBSyxFQUFFOzs2Q0FDVSxjQUFjOzs4Q0FFL0I7QUFHRDtJQURDLEtBQUssRUFBRTs7NkNBQ1ksY0FBYzs7Z0RBRWpDO0FBR0Q7SUFEQyxLQUFLLEVBQUU7Ozs7Z0VBZ0JQOzs7Ozs7SUFwQ0QscUNBQStEOzs7OztJQUVuRCw4QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEdhcmJhZ2VDb2xsZWN0b3IsIE11dGFibGVMaXN0TW9kZWwsIFRyYWNlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgSVBsYWNlU2VydmljZSB9IGZyb20gJy4vaS1wbGFjZS1zZXJ2aWNlJztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi9wbGFjZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVzb2x2ZWRSb3V0ZVBhcmFtZXRlclNuYXBzaG90IH0gZnJvbSAnLi9yb3V0ZS9yZXNvbHZlZC1yb3V0ZS1wYXJhbWV0ZXItc25hcHNob3QnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQbGFjZVNlcnZpY2UgZXh0ZW5kcyBHYXJiYWdlQ29sbGVjdG9yIGltcGxlbWVudHMgSVBsYWNlU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBfYWN0aXZlUGxhY2VzID0gbmV3IE11dGFibGVMaXN0TW9kZWw8UGxhY2VDb21wb25lbnQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHJvdXRlcjogUm91dGVyKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGdldCBhY3RpdmVQbGFjZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZVBsYWNlcy5yZWFkb25seTtcbiAgfVxuXG4gIEBUcmFjZSgpXG4gIG9uQWN0aXZhdGUocGxhY2U6IFBsYWNlQ29tcG9uZW50KSB7XG4gICAgdGhpcy5fYWN0aXZlUGxhY2VzLnB1c2gocGxhY2UpO1xuICB9XG5cbiAgQFRyYWNlKClcbiAgb25EZWFjdGl2YXRlKHBsYWNlOiBQbGFjZUNvbXBvbmVudCkge1xuICAgIHRoaXMuX2FjdGl2ZVBsYWNlcy5yZW1vdmUocGxhY2UpO1xuICB9XG5cbiAgQFRyYWNlKClcbiAgbm90aWZ5Um91dGVQYXJhbWV0ZXJzQ2hhbmdlZChwYXJhbXM6IHtcbiAgICBwbGFjZUNvbXBvbmVudDogUGxhY2VDb21wb25lbnQsXG4gICAgbmV4dDogUmVzb2x2ZWRSb3V0ZVBhcmFtZXRlclNuYXBzaG90LFxuICAgIHByZXZpb3VzOiBSZXNvbHZlZFJvdXRlUGFyYW1ldGVyU25hcHNob3QsXG4gICAgdXBkYXRlUm91dGU6IGJvb2xlYW5cbiAgfSkge1xuICAgIC8vIFdlIHVwZGF0ZSB0aGUgcm91dGVyIHN0YXRlLi4uXG4gICAgaWYgKHBhcmFtcy51cGRhdGVSb3V0ZSkge1xuICAgICAgY29uc3Qgcm91dGVJZCA9IHBhcmFtcy5uZXh0LmdldEZvcm1hdHRlZFJvdXRlSWQoKTtcbiAgICAgIGNvbnN0IHJlbGF0aXZlUGF0aCA9ICEhcGFyYW1zLnByZXZpb3VzLmhhc1JvdXRlSWQoKSA/ICcuLicgOiAnLic7XG4gICAgICBjb25zdCBwYXRoID0gcm91dGVJZCA/IFtyZWxhdGl2ZVBhdGgsIHJvdXRlSWQsIHBhcmFtcy5uZXh0LmdldEZvcm1hdHRlZFBhcmFtZXRlcnMoKV0gOiBbcmVsYXRpdmVQYXRoLCBwYXJhbXMubmV4dC5nZXRGb3JtYXR0ZWRQYXJhbWV0ZXJzKCldO1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUocGF0aCwge1xuICAgICAgICByZWxhdGl2ZVRvOiBwYXJhbXMucGxhY2VDb21wb25lbnQuYWN0aXZhdGVkUm91dGVcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9wbGFjZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFrQixNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFLL0QsTUFBTSxPQUFPLFlBQWEsU0FBUSxnQkFBZ0I7Ozs7O0lBSWhELFlBQXNCLE1BQWMsRUFBWSxRQUFrQjtRQUNoRSxLQUFLLEVBQUUsQ0FBQztRQURZLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBWSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRjFELGtCQUFhLEdBQUcsSUFBSSxnQkFBZ0IsRUFBa0IsQ0FBQztJQUkvRCxDQUFDOzs7O0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztJQUNyQyxDQUFDOzs7OztJQUdELFVBQVUsQ0FBQyxLQUFxQjtRQUM5QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDOzs7OztJQUdELFlBQVksQ0FBQyxLQUFxQjtRQUNoQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDOzs7OztJQUdELDRCQUE0QixDQUFDLE1BSzVCO1FBQ0MsZ0NBQWdDO1FBQ2hDLElBQUksTUFBTSxDQUFDLFdBQVcsRUFBRTs7a0JBQ2hCLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFOztrQkFDM0MsWUFBWSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUc7O2tCQUMxRCxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUMzSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUU7Z0JBQ3pCLFVBQVUsRUFBRSxNQUFNLENBQUMsY0FBYzthQUNsQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7Ozs7O0lBR0ssUUFBUSxDQUFDLFFBQTJCOztZQUN4QyxPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO0tBQUE7OztZQTlDRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUFUd0IsTUFBTTtZQURWLFFBQVE7OztBQXdCM0I7SUFEQyxLQUFLLEVBQUU7OzZDQUNVLGNBQWM7OzhDQUUvQjtBQUdEO0lBREMsS0FBSyxFQUFFOzs2Q0FDWSxjQUFjOztnREFFakM7QUFHRDtJQURDLEtBQUssRUFBRTs7OztnRUFnQlA7QUFHRDtJQURDLEtBQUssRUFBRTs7NkNBQ2lCLGlCQUFpQjs7NENBRXpDOzs7Ozs7SUF6Q0QscUNBQStEOzs7OztJQUVuRCw4QkFBd0I7Ozs7O0lBQUUsZ0NBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgR2FyYmFnZUNvbGxlY3RvciwgTXV0YWJsZUxpc3RNb2RlbCwgVHJhY2UgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBQbGFjZUNvbXBvbmVudExpa2UgfSBmcm9tICcuL3BsYWNlLWNvbXBvbmVudC1saWtlJztcbmltcG9ydCB7IFBsYWNlVXBkYXRlc1NlcnZpY2UgfSBmcm9tICcuL3BsYWNlLXVwZGF0ZXMtc2VydmljZSc7XG5pbXBvcnQgeyBQbGFjZUNvbXBvbmVudCB9IGZyb20gJy4vcGxhY2UtY29tcG9uZW50JztcbmltcG9ydCB7IFBhcmFtZXRlclNuYXBzaG90IH0gZnJvbSAnLi9yb3V0ZS9wYXJhbWV0ZXItc25hcHNob3QnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQbGFjZVNlcnZpY2UgZXh0ZW5kcyBHYXJiYWdlQ29sbGVjdG9yIGltcGxlbWVudHMgUGxhY2VVcGRhdGVzU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBfYWN0aXZlUGxhY2VzID0gbmV3IE11dGFibGVMaXN0TW9kZWw8UGxhY2VDb21wb25lbnQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHJvdXRlcjogUm91dGVyLCBwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGdldCBhY3RpdmVQbGFjZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZVBsYWNlcy5yZWFkb25seTtcbiAgfVxuXG4gIEBUcmFjZSgpXG4gIG9uQWN0aXZhdGUocGxhY2U6IFBsYWNlQ29tcG9uZW50KSB7XG4gICAgdGhpcy5fYWN0aXZlUGxhY2VzLnB1c2gocGxhY2UpO1xuICB9XG5cbiAgQFRyYWNlKClcbiAgb25EZWFjdGl2YXRlKHBsYWNlOiBQbGFjZUNvbXBvbmVudCkge1xuICAgIHRoaXMuX2FjdGl2ZVBsYWNlcy5yZW1vdmUocGxhY2UpO1xuICB9XG5cbiAgQFRyYWNlKClcbiAgbm90aWZ5Um91dGVQYXJhbWV0ZXJzQ2hhbmdlZChwYXJhbXM6IHtcbiAgICBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgbmV4dDogUGFyYW1ldGVyU25hcHNob3QsXG4gICAgcHJldmlvdXM6IFBhcmFtZXRlclNuYXBzaG90LFxuICAgIHVwZGF0ZVJvdXRlOiBib29sZWFuXG4gIH0pIHtcbiAgICAvLyBXZSB1cGRhdGUgdGhlIHJvdXRlciBzdGF0ZS4uLlxuICAgIGlmIChwYXJhbXMudXBkYXRlUm91dGUpIHtcbiAgICAgIGNvbnN0IHJvdXRlSWQgPSBwYXJhbXMubmV4dC5nZXRGb3JtYXR0ZWRSb3V0ZUlkKCk7XG4gICAgICBjb25zdCByZWxhdGl2ZVBhdGggPSAhIXBhcmFtcy5wcmV2aW91cy5oYXNSb3V0ZUlkKCkgPyAnLi4nIDogJy4nO1xuICAgICAgY29uc3QgcGF0aCA9IHJvdXRlSWQgPyBbcmVsYXRpdmVQYXRoLCByb3V0ZUlkLCBwYXJhbXMubmV4dC5nZXRGb3JtYXR0ZWRQYXJhbWV0ZXJzKCldIDogW3JlbGF0aXZlUGF0aCwgcGFyYW1zLm5leHQuZ2V0Rm9ybWF0dGVkUGFyYW1ldGVycygpXTtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKHBhdGgsIHtcbiAgICAgICAgcmVsYXRpdmVUbzogcGFyYW1zLmFjdGl2YXRlZFJvdXRlXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBAVHJhY2UoKVxuICBhc3luYyBzYW5pdGlzZShzbmFwc2hvdDogUGFyYW1ldGVyU25hcHNob3QpOiBQcm9taXNlPFBhcmFtZXRlclNuYXBzaG90PiB7XG4gICAgcmV0dXJuIHNuYXBzaG90O1xuICB9XG5cblxufVxuIl19
@@ -0,0 +1,78 @@
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
+ import { Trace } from '@coolon/pectin';
7
+ import * as _ from 'lodash';
8
+ /**
9
+ * @template T, S
10
+ */
11
+ export class DefaultParameterSanitiser {
12
+ /**
13
+ * @param {?} def
14
+ * @param {?} placeService
15
+ * @param {?} options
16
+ */
17
+ constructor(def, placeService, options) {
18
+ this.def = def;
19
+ this.placeService = placeService;
20
+ this.remember = _.isNil(options.remember) ? false : options.remember;
21
+ this.defaultValue = _.isNil(options.defaultValue) ? null : options.defaultValue;
22
+ }
23
+ /**
24
+ * @param {?} value
25
+ * @param {?} visit
26
+ * @return {?}
27
+ */
28
+ sanitise(value, visit) {
29
+ if (this.isBlank(value)) {
30
+ if (this.remember) {
31
+ // value = null;
32
+ }
33
+ return this.isBlank(value) && !_.isNil(this.defaultValue) ? this.defaultValue : value;
34
+ }
35
+ else {
36
+ return value;
37
+ }
38
+ }
39
+ /**
40
+ * @private
41
+ * @param {?} value
42
+ * @return {?}
43
+ */
44
+ isBlank(value) {
45
+ /** @type {?} */
46
+ const isNil = _.isNil(value);
47
+ return this.def.isArray ? !isNil || value['length'] < 1 : isNil;
48
+ }
49
+ }
50
+ tslib_1.__decorate([
51
+ Trace(),
52
+ tslib_1.__metadata("design:type", Function),
53
+ tslib_1.__metadata("design:paramtypes", [Object, Object]),
54
+ tslib_1.__metadata("design:returntype", Object)
55
+ ], DefaultParameterSanitiser.prototype, "sanitise", null);
56
+ if (false) {
57
+ /**
58
+ * @type {?}
59
+ * @private
60
+ */
61
+ DefaultParameterSanitiser.prototype.remember;
62
+ /**
63
+ * @type {?}
64
+ * @private
65
+ */
66
+ DefaultParameterSanitiser.prototype.defaultValue;
67
+ /**
68
+ * @type {?}
69
+ * @private
70
+ */
71
+ DefaultParameterSanitiser.prototype.def;
72
+ /**
73
+ * @type {?}
74
+ * @private
75
+ */
76
+ DefaultParameterSanitiser.prototype.placeService;
77
+ }
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1wYXJhbWV0ZXItc2FuaXRpc2VyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3JvdXRlL2RlZmF1bHQtcGFyYW1ldGVyLXNhbml0aXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQzs7OztBQU01QixNQUFNLE9BQU8seUJBQXlCOzs7Ozs7SUFLcEMsWUFBb0IsR0FBOEIsRUFBbUIsWUFBMEIsRUFBRSxPQUFzQztRQUFuSCxRQUFHLEdBQUgsR0FBRyxDQUEyQjtRQUFtQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUM3RixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDckUsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDO0lBQ2xGLENBQUM7Ozs7OztJQUdELFFBQVEsQ0FBQyxLQUFRLEVBQUUsS0FBWTtRQUM3QixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDdkIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNqQixnQkFBZ0I7YUFDakI7WUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1NBRXZGO2FBQU07WUFDTCxPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQzs7Ozs7O0lBRU8sT0FBTyxDQUFDLEtBQVE7O2NBQ2hCLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDbEUsQ0FBQztDQUNGO0FBaEJDO0lBREMsS0FBSyxFQUFFOzs7O3lEQVdQOzs7Ozs7SUFuQkQsNkNBQTBCOzs7OztJQUMxQixpREFBd0I7Ozs7O0lBRVosd0NBQXNDOzs7OztJQUFFLGlEQUEyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYWNlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgUGxhY2VTZXJ2aWNlIH0gZnJvbSAnLi4vcGxhY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBWaXNpdCB9IGZyb20gJy4uL3Zpc2l0JztcbmltcG9ydCB7IFBhcmFtZXRlckRlZmluaXRpb24gfSBmcm9tICcuL3BhcmFtZXRlci1kZWZpbml0aW9uLmNsYXNzJztcbmltcG9ydCB7IFBhcmFtZXRlclNhbml0aXNlciB9IGZyb20gJy4vcGFyYW1ldGVyLXNhbml0aXNlcic7XG5cbmV4cG9ydCBjbGFzcyBEZWZhdWx0UGFyYW1ldGVyU2FuaXRpc2VyPFQsIFM+IGltcGxlbWVudHMgUGFyYW1ldGVyU2FuaXRpc2VyPFM+IHtcblxuICBwcml2YXRlIHJlbWVtYmVyOiBib29sZWFuO1xuICBwcml2YXRlIGRlZmF1bHRWYWx1ZTogUztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRlZjogUGFyYW1ldGVyRGVmaW5pdGlvbjxULCBTPiwgcHJpdmF0ZSByZWFkb25seSBwbGFjZVNlcnZpY2U6IFBsYWNlU2VydmljZSwgb3B0aW9uczogUGFyYW1ldGVyU2FuaXRpc2VyLk9wdGlvbnM8Uz4pIHtcbiAgICB0aGlzLnJlbWVtYmVyID0gXy5pc05pbChvcHRpb25zLnJlbWVtYmVyKSA/IGZhbHNlIDogb3B0aW9ucy5yZW1lbWJlcjtcbiAgICB0aGlzLmRlZmF1bHRWYWx1ZSA9IF8uaXNOaWwob3B0aW9ucy5kZWZhdWx0VmFsdWUpID8gbnVsbCA6IG9wdGlvbnMuZGVmYXVsdFZhbHVlO1xuICB9XG5cbiAgQFRyYWNlKClcbiAgc2FuaXRpc2UodmFsdWU6IFMsIHZpc2l0OiBWaXNpdCk6IFByb21pc2U8Uz4gfCBTIHtcbiAgICBpZiAodGhpcy5pc0JsYW5rKHZhbHVlKSkge1xuICAgICAgaWYgKHRoaXMucmVtZW1iZXIpIHtcbiAgICAgICAgLy8gdmFsdWUgPSBudWxsO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuaXNCbGFuayh2YWx1ZSkgJiYgIV8uaXNOaWwodGhpcy5kZWZhdWx0VmFsdWUpID8gdGhpcy5kZWZhdWx0VmFsdWUgOiB2YWx1ZTtcblxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc0JsYW5rKHZhbHVlOiBTKSB7XG4gICAgY29uc3QgaXNOaWwgPSBfLmlzTmlsKHZhbHVlKTtcbiAgICByZXR1cm4gdGhpcy5kZWYuaXNBcnJheSA/ICFpc05pbCB8fCB2YWx1ZVsnbGVuZ3RoJ10gPCAxIDogaXNOaWw7XG4gIH1cbn1cbiJdfQ==
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import { assert, UseDelegate } from '@coolon/pectin';
6
6
  import { Klass, Opts } from '@coolon/typescript-utilities';
7
- import { RouteParameterBindings } from './route-parameter-bindings';
7
+ import { ROUTE_PARAMETER_LIST_KEY } from '../place-component';
8
8
  /**
9
9
  * @record
10
10
  * @template T
@@ -16,6 +16,10 @@ if (false) {
16
16
  /** @type {?|undefined} */
17
17
  ParameterOptions.prototype.optional;
18
18
  /** @type {?|undefined} */
19
+ ParameterOptions.prototype.remember;
20
+ /** @type {?|undefined} */
21
+ ParameterOptions.prototype.defaultValue;
22
+ /** @type {?|undefined} */
19
23
  ParameterOptions.prototype.sanitiser;
20
24
  }
21
25
  /**
@@ -29,7 +33,11 @@ if (false) {
29
33
  /** @type {?|undefined} */
30
34
  ListParameterOptions.prototype.optional;
31
35
  /** @type {?|undefined} */
32
- ListParameterOptions.prototype.listSanitiser;
36
+ ListParameterOptions.prototype.remember;
37
+ /** @type {?|undefined} */
38
+ ListParameterOptions.prototype.defaultValue;
39
+ /** @type {?|undefined} */
40
+ ListParameterOptions.prototype.sanitiser;
33
41
  }
34
42
  /**
35
43
  * @template T
@@ -47,7 +55,7 @@ export function RouteId(type, options) {
47
55
  (prototype, propertyKey) => {
48
56
  /** @type {?} */
49
57
  const param = createDefinition(propertyKey, type, options, true);
50
- Klass.get(prototype).addToOwnMetadataList(RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY, param);
58
+ Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, param);
51
59
  UseDelegate()(prototype, propertyKey);
52
60
  });
53
61
  }
@@ -67,7 +75,7 @@ export function RouteParameter(type, options) {
67
75
  (prototype, propertyKey) => {
68
76
  /** @type {?} */
69
77
  const param = createDefinition(propertyKey, type, options, false);
70
- Klass.get(prototype).addToOwnMetadataList(RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY, param);
78
+ Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, param);
71
79
  UseDelegate()(prototype, propertyKey);
72
80
  });
73
81
  }
@@ -87,7 +95,7 @@ export function RouteParameterList(elementType, options) {
87
95
  (prototype, propertyKey) => {
88
96
  /** @type {?} */
89
97
  const param = createArrayDefinition(propertyKey, elementType, options);
90
- Klass.get(prototype).addToOwnMetadataList(RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY, param);
98
+ Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, param);
91
99
  UseDelegate()(prototype, propertyKey);
92
100
  });
93
101
  }
@@ -132,10 +140,10 @@ function createArrayDefinition(propertyName, type, options) {
132
140
  name: opts.getOptional('as', propertyNameAsString),
133
141
  propertyName: propertyNameAsString,
134
142
  type: assert.notNil(type),
135
- sanitiser: opts.getOptional('listSanitiser', null),
143
+ sanitiser: opts.getOptional('sanitiser', null),
136
144
  isRouteId: false,
137
145
  isArray: true
138
146
  };
139
147
  return def;
140
148
  }
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLWRlY29yYXRvcnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2Uvcm91dGUvcGFyYW1ldGVyLWRlY29yYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQWlCLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFJM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7O0FBRXBFLHNDQUlDOzs7SUFIQyw4QkFBWTs7SUFDWixvQ0FBa0I7O0lBQ2xCLHFDQUFpRDs7Ozs7O0FBR25ELDBDQUlDOzs7SUFIQyxrQ0FBWTs7SUFDWix3Q0FBa0I7O0lBQ2xCLDZDQUF1RDs7Ozs7Ozs7QUFHekQsTUFBTSxVQUFVLE9BQU8sQ0FBNEIsSUFBc0IsRUFBRSxPQUE2QjtJQUN0RyxtQ0FBbUM7SUFDbkM7Ozs7O0lBQU8sQ0FBQyxTQUFpQixFQUFFLFdBQTRCLEVBQUUsRUFBRTs7Y0FDbkQsS0FBSyxHQUFHLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQztRQUNoRSxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLHNCQUFzQixDQUFDLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2xHLFdBQVcsRUFBRSxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN4QyxDQUFDLEVBQUM7QUFDSixDQUFDOzs7Ozs7O0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBSSxJQUFzQixFQUFFLE9BQTZCO0lBQ3JGLG1DQUFtQztJQUNuQzs7Ozs7SUFBTyxDQUFDLFNBQWlCLEVBQUUsV0FBNEIsRUFBRSxFQUFFOztjQUNuRCxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDO1FBQ2pFLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsb0JBQW9CLENBQUMsc0JBQXNCLENBQUMsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbEcsV0FBVyxFQUFFLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3hDLENBQUMsRUFBQztBQUNKLENBQUM7Ozs7Ozs7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUksV0FBNkIsRUFBRSxPQUFpQztJQUNwRyxtQ0FBbUM7SUFDbkM7Ozs7O0lBQU8sQ0FBQyxTQUFpQixFQUFFLFdBQTRCLEVBQUUsRUFBRTs7Y0FDbkQsS0FBSyxHQUFHLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDO1FBQ3RFLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsb0JBQW9CLENBQUMsc0JBQXNCLENBQUMsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbEcsV0FBVyxFQUFFLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3hDLENBQUMsRUFBQztBQUNKLENBQUM7Ozs7Ozs7OztBQUVELFNBQVMsZ0JBQWdCLENBQUksWUFBNkIsRUFBRSxJQUFzQixFQUFFLE9BQTRCLEVBQUUsT0FBZ0I7O1VBQzFILElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQzs7VUFDeEIsb0JBQW9CLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxRQUFRLEVBQUU7O1VBQzdELEdBQUcsR0FBMkI7UUFDbEMsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLG9CQUFvQixDQUFDO1FBQ2xELFlBQVksRUFBRSxvQkFBb0I7UUFDbEMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3pCLFNBQVMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUM7UUFDOUMsU0FBUyxFQUFFLE9BQU87UUFDbEIsT0FBTyxFQUFFLEtBQUs7S0FDZjtJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQzs7Ozs7Ozs7QUFFRCxTQUFTLHFCQUFxQixDQUFJLFlBQTZCLEVBQUUsSUFBc0IsRUFBRSxPQUFnQzs7VUFDakgsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDOztVQUN4QixvQkFBb0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLFFBQVEsRUFBRTs7VUFFN0QsR0FBRyxHQUFnQztRQUN2QyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLENBQUM7UUFDbEQsWUFBWSxFQUFFLG9CQUFvQjtRQUNsQyxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDekIsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQztRQUNsRCxTQUFTLEVBQUUsS0FBSztRQUNoQixPQUFPLEVBQUUsSUFBSTtLQUNkO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXNzZXJ0LCBDb25zdHJ1Y3RhYmxlLCBVc2VEZWxlZ2F0ZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IEtsYXNzLCBPcHRzIH0gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJEZWZpbml0aW9uIH0gZnJvbSAnLi9wYXJhbWV0ZXItZGVmaW5pdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJTYW5pdGlzZXIgfSBmcm9tICcuL3BhcmFtZXRlci1zYW5pdGlzZXInO1xuaW1wb3J0IHsgUGFyYW1ldGVyVHlwZSB9IGZyb20gJy4vcGFyYW1ldGVyLXR5cGUnO1xuaW1wb3J0IHsgUm91dGVQYXJhbWV0ZXJCaW5kaW5ncyB9IGZyb20gJy4vcm91dGUtcGFyYW1ldGVyLWJpbmRpbmdzJztcblxuZXhwb3J0IGludGVyZmFjZSBQYXJhbWV0ZXJPcHRpb25zPFQ+IHtcbiAgYXM/OiBzdHJpbmc7XG4gIG9wdGlvbmFsPzpib29sZWFuO1xuICBzYW5pdGlzZXI/OiBDb25zdHJ1Y3RhYmxlPFBhcmFtZXRlclNhbml0aXNlcjxUPj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdFBhcmFtZXRlck9wdGlvbnM8VD4ge1xuICBhcz86IHN0cmluZztcbiAgb3B0aW9uYWw/OmJvb2xlYW47XG4gIGxpc3RTYW5pdGlzZXI/OiBDb25zdHJ1Y3RhYmxlPFBhcmFtZXRlclNhbml0aXNlcjxUW10+Pjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFJvdXRlSWQ8VCBleHRlbmRzIHN0cmluZyB8IG51bWJlcj4odHlwZTogUGFyYW1ldGVyVHlwZTxUPiwgb3B0aW9ucz86IFBhcmFtZXRlck9wdGlvbnM8VD4pOiBQcm9wZXJ0eURlY29yYXRvciB7XG4gIC8vIGFzc2VydC5pc1RydXRoeSh0eXBlLmlzVmFsaWQoKSk7XG4gIHJldHVybiAocHJvdG90eXBlOiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcgfCBzeW1ib2wpID0+IHtcbiAgICBjb25zdCBwYXJhbSA9IGNyZWF0ZURlZmluaXRpb24ocHJvcGVydHlLZXksIHR5cGUsIG9wdGlvbnMsIHRydWUpO1xuICAgIEtsYXNzLmdldChwcm90b3R5cGUpLmFkZFRvT3duTWV0YWRhdGFMaXN0KFJvdXRlUGFyYW1ldGVyQmluZGluZ3MuUk9VVEVfUEFSQU1FVEVSX0xJU1RfS0VZLCBwYXJhbSk7XG4gICAgVXNlRGVsZWdhdGUoKShwcm90b3R5cGUsIHByb3BlcnR5S2V5KTtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFJvdXRlUGFyYW1ldGVyPFQ+KHR5cGU6IFBhcmFtZXRlclR5cGU8VD4sIG9wdGlvbnM/OiBQYXJhbWV0ZXJPcHRpb25zPFQ+KTogUHJvcGVydHlEZWNvcmF0b3Ige1xuICAvLyBhc3NlcnQuaXNUcnV0aHkodHlwZS5pc1ZhbGlkKCkpO1xuICByZXR1cm4gKHByb3RvdHlwZTogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nIHwgc3ltYm9sKSA9PiB7XG4gICAgY29uc3QgcGFyYW0gPSBjcmVhdGVEZWZpbml0aW9uKHByb3BlcnR5S2V5LCB0eXBlLCBvcHRpb25zLCBmYWxzZSk7XG4gICAgS2xhc3MuZ2V0KHByb3RvdHlwZSkuYWRkVG9Pd25NZXRhZGF0YUxpc3QoUm91dGVQYXJhbWV0ZXJCaW5kaW5ncy5ST1VURV9QQVJBTUVURVJfTElTVF9LRVksIHBhcmFtKTtcbiAgICBVc2VEZWxlZ2F0ZSgpKHByb3RvdHlwZSwgcHJvcGVydHlLZXkpO1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUm91dGVQYXJhbWV0ZXJMaXN0PEU+KGVsZW1lbnRUeXBlOiBQYXJhbWV0ZXJUeXBlPEU+LCBvcHRpb25zPzogTGlzdFBhcmFtZXRlck9wdGlvbnM8RT4pOiBQcm9wZXJ0eURlY29yYXRvciB7XG4gIC8vIGFzc2VydC5pc1RydXRoeSh0eXBlLmlzVmFsaWQoKSk7XG4gIHJldHVybiAocHJvdG90eXBlOiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcgfCBzeW1ib2wpID0+IHtcbiAgICBjb25zdCBwYXJhbSA9IGNyZWF0ZUFycmF5RGVmaW5pdGlvbihwcm9wZXJ0eUtleSwgZWxlbWVudFR5cGUsIG9wdGlvbnMpO1xuICAgIEtsYXNzLmdldChwcm90b3R5cGUpLmFkZFRvT3duTWV0YWRhdGFMaXN0KFJvdXRlUGFyYW1ldGVyQmluZGluZ3MuUk9VVEVfUEFSQU1FVEVSX0xJU1RfS0VZLCBwYXJhbSk7XG4gICAgVXNlRGVsZWdhdGUoKShwcm90b3R5cGUsIHByb3BlcnR5S2V5KTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRGVmaW5pdGlvbjxUPihwcm9wZXJ0eU5hbWU6IHN5bWJvbCB8IHN0cmluZywgdHlwZTogUGFyYW1ldGVyVHlwZTxUPiwgb3B0aW9uczogUGFyYW1ldGVyT3B0aW9uczxUPiwgcm91dGVJZDogYm9vbGVhbikge1xuICBjb25zdCBvcHRzID0gT3B0cy5nZXQob3B0aW9ucyk7XG4gIGNvbnN0IHByb3BlcnR5TmFtZUFzU3RyaW5nID0gYXNzZXJ0Lm5vdE5pbChwcm9wZXJ0eU5hbWUpLnRvU3RyaW5nKCk7XG4gIGNvbnN0IGRlZjogUGFyYW1ldGVyRGVmaW5pdGlvbjxUPiA9IHtcbiAgICBuYW1lOiBvcHRzLmdldE9wdGlvbmFsKCdhcycsIHByb3BlcnR5TmFtZUFzU3RyaW5nKSxcbiAgICBwcm9wZXJ0eU5hbWU6IHByb3BlcnR5TmFtZUFzU3RyaW5nLFxuICAgIHR5cGU6IGFzc2VydC5ub3ROaWwodHlwZSksXG4gICAgc2FuaXRpc2VyOiBvcHRzLmdldE9wdGlvbmFsKCdzYW5pdGlzZXInLCBudWxsKSxcbiAgICBpc1JvdXRlSWQ6IHJvdXRlSWQsXG4gICAgaXNBcnJheTogZmFsc2VcbiAgfTtcbiAgcmV0dXJuIGRlZjtcbn1cblxuZnVuY3Rpb24gY3JlYXRlQXJyYXlEZWZpbml0aW9uPFQ+KHByb3BlcnR5TmFtZTogc3ltYm9sIHwgc3RyaW5nLCB0eXBlOiBQYXJhbWV0ZXJUeXBlPFQ+LCBvcHRpb25zOiBMaXN0UGFyYW1ldGVyT3B0aW9uczxUPikge1xuICBjb25zdCBvcHRzID0gT3B0cy5nZXQob3B0aW9ucyk7XG4gIGNvbnN0IHByb3BlcnR5TmFtZUFzU3RyaW5nID0gYXNzZXJ0Lm5vdE5pbChwcm9wZXJ0eU5hbWUpLnRvU3RyaW5nKCk7XG5cbiAgY29uc3QgZGVmOiBQYXJhbWV0ZXJEZWZpbml0aW9uPFQsIFRbXT4gPSB7XG4gICAgbmFtZTogb3B0cy5nZXRPcHRpb25hbCgnYXMnLCBwcm9wZXJ0eU5hbWVBc1N0cmluZyksXG4gICAgcHJvcGVydHlOYW1lOiBwcm9wZXJ0eU5hbWVBc1N0cmluZyxcbiAgICB0eXBlOiBhc3NlcnQubm90TmlsKHR5cGUpLFxuICAgIHNhbml0aXNlcjogb3B0cy5nZXRPcHRpb25hbCgnbGlzdFNhbml0aXNlcicsIG51bGwpLFxuICAgIGlzUm91dGVJZDogZmFsc2UsXG4gICAgaXNBcnJheTogdHJ1ZVxuICB9O1xuICByZXR1cm4gZGVmO1xufVxuIl19
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLWRlY29yYXRvcnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2Uvcm91dGUvcGFyYW1ldGVyLWRlY29yYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQWlCLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7O0FBSzlELHNDQU1DOzs7SUFMQyw4QkFBWTs7SUFDWixvQ0FBbUI7O0lBQ25CLG9DQUFtQjs7SUFDbkIsd0NBQWlCOztJQUNqQixxQ0FBaUY7Ozs7OztBQUduRiwwQ0FNQzs7O0lBTEMsa0NBQVk7O0lBQ1osd0NBQW1COztJQUNuQix3Q0FBbUI7O0lBQ25CLDRDQUFtQjs7SUFDbkIseUNBQXFGOzs7Ozs7OztBQUd2RixNQUFNLFVBQVUsT0FBTyxDQUE0QixJQUFzQixFQUFFLE9BQTZCO0lBQ3RHLG1DQUFtQztJQUNuQzs7Ozs7SUFBTyxDQUFDLFNBQWlCLEVBQUUsV0FBNEIsRUFBRSxFQUFFOztjQUNuRCxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDO1FBQ2hFLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsb0JBQW9CLENBQUMsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0UsV0FBVyxFQUFFLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3hDLENBQUMsRUFBQztBQUNKLENBQUM7Ozs7Ozs7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFJLElBQXNCLEVBQUUsT0FBNkI7SUFDckYsbUNBQW1DO0lBQ25DOzs7OztJQUFPLENBQUMsU0FBaUIsRUFBRSxXQUE0QixFQUFFLEVBQUU7O2NBQ25ELEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUM7UUFDakUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMzRSxXQUFXLEVBQUUsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDeEMsQ0FBQyxFQUFDO0FBQ0osQ0FBQzs7Ozs7OztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBSSxXQUE2QixFQUFFLE9BQWlDO0lBQ3BHLG1DQUFtQztJQUNuQzs7Ozs7SUFBTyxDQUFDLFNBQWlCLEVBQUUsV0FBNEIsRUFBRSxFQUFFOztjQUNuRCxLQUFLLEdBQUcscUJBQXFCLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUM7UUFDdEUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMzRSxXQUFXLEVBQUUsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDeEMsQ0FBQyxFQUFDO0FBQ0osQ0FBQzs7Ozs7Ozs7O0FBRUQsU0FBUyxnQkFBZ0IsQ0FBSSxZQUE2QixFQUFFLElBQXNCLEVBQUUsT0FBNEIsRUFBRSxPQUFnQjs7VUFDMUgsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDOztVQUN4QixvQkFBb0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLFFBQVEsRUFBRTs7VUFDN0QsR0FBRyxHQUE4QjtRQUNyQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLENBQUM7UUFDbEQsWUFBWSxFQUFFLG9CQUFvQjtRQUNsQyxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDekIsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQztRQUM5QyxTQUFTLEVBQUUsT0FBTztRQUNsQixPQUFPLEVBQUUsS0FBSztLQUNmO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDOzs7Ozs7OztBQUVELFNBQVMscUJBQXFCLENBQUksWUFBNkIsRUFBRSxJQUFzQixFQUFFLE9BQWdDOztVQUNqSCxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7O1VBQ3hCLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsUUFBUSxFQUFFOztVQUU3RCxHQUFHLEdBQWdDO1FBQ3ZDLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxvQkFBb0IsQ0FBQztRQUNsRCxZQUFZLEVBQUUsb0JBQW9CO1FBQ2xDLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN6QixTQUFTLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDO1FBQzlDLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLE9BQU8sRUFBRSxJQUFJO0tBQ2Q7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhc3NlcnQsIENvbnN0cnVjdGFibGUsIFVzZURlbGVnYXRlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgS2xhc3MsIE9wdHMgfSBmcm9tICdAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzJztcbmltcG9ydCB7IFJPVVRFX1BBUkFNRVRFUl9MSVNUX0tFWSB9IGZyb20gJy4uL3BsYWNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJEZWZpbml0aW9uIH0gZnJvbSAnLi9wYXJhbWV0ZXItZGVmaW5pdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJTYW5pdGlzZXIgfSBmcm9tICcuL3BhcmFtZXRlci1zYW5pdGlzZXInO1xuaW1wb3J0IHsgUGFyYW1ldGVyVHlwZSB9IGZyb20gJy4vcGFyYW1ldGVyLXR5cGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFtZXRlck9wdGlvbnM8VD4ge1xuICBhcz86IHN0cmluZztcbiAgb3B0aW9uYWw/OiBib29sZWFuO1xuICByZW1lbWJlcj86IGJvb2xlYW47XG4gIGRlZmF1bHRWYWx1ZT86IFQ7XG4gIHNhbml0aXNlcj86IENvbnN0cnVjdGFibGU8UGFyYW1ldGVyU2FuaXRpc2VyPFQ+PiB8IFBhcmFtZXRlclNhbml0aXNlci5PcHRpb25zPFQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RQYXJhbWV0ZXJPcHRpb25zPFQ+IHtcbiAgYXM/OiBzdHJpbmc7XG4gIG9wdGlvbmFsPzogYm9vbGVhbjtcbiAgcmVtZW1iZXI/OiBib29sZWFuO1xuICBkZWZhdWx0VmFsdWU/OiBUW107XG4gIHNhbml0aXNlcj86IENvbnN0cnVjdGFibGU8UGFyYW1ldGVyU2FuaXRpc2VyPFRbXT4+IHwgUGFyYW1ldGVyU2FuaXRpc2VyLk9wdGlvbnM8VFtdPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFJvdXRlSWQ8VCBleHRlbmRzIHN0cmluZyB8IG51bWJlcj4odHlwZTogUGFyYW1ldGVyVHlwZTxUPiwgb3B0aW9ucz86IFBhcmFtZXRlck9wdGlvbnM8VD4pOiBQcm9wZXJ0eURlY29yYXRvciB7XG4gIC8vIGFzc2VydC5pc1RydXRoeSh0eXBlLmlzVmFsaWQoKSk7XG4gIHJldHVybiAocHJvdG90eXBlOiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcgfCBzeW1ib2wpID0+IHtcbiAgICBjb25zdCBwYXJhbSA9IGNyZWF0ZURlZmluaXRpb24ocHJvcGVydHlLZXksIHR5cGUsIG9wdGlvbnMsIHRydWUpO1xuICAgIEtsYXNzLmdldChwcm90b3R5cGUpLmFkZFRvT3duTWV0YWRhdGFMaXN0KFJPVVRFX1BBUkFNRVRFUl9MSVNUX0tFWSwgcGFyYW0pO1xuICAgIFVzZURlbGVnYXRlKCkocHJvdG90eXBlLCBwcm9wZXJ0eUtleSk7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBSb3V0ZVBhcmFtZXRlcjxUPih0eXBlOiBQYXJhbWV0ZXJUeXBlPFQ+LCBvcHRpb25zPzogUGFyYW1ldGVyT3B0aW9uczxUPik6IFByb3BlcnR5RGVjb3JhdG9yIHtcbiAgLy8gYXNzZXJ0LmlzVHJ1dGh5KHR5cGUuaXNWYWxpZCgpKTtcbiAgcmV0dXJuIChwcm90b3R5cGU6IE9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZyB8IHN5bWJvbCkgPT4ge1xuICAgIGNvbnN0IHBhcmFtID0gY3JlYXRlRGVmaW5pdGlvbihwcm9wZXJ0eUtleSwgdHlwZSwgb3B0aW9ucywgZmFsc2UpO1xuICAgIEtsYXNzLmdldChwcm90b3R5cGUpLmFkZFRvT3duTWV0YWRhdGFMaXN0KFJPVVRFX1BBUkFNRVRFUl9MSVNUX0tFWSwgcGFyYW0pO1xuICAgIFVzZURlbGVnYXRlKCkocHJvdG90eXBlLCBwcm9wZXJ0eUtleSk7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBSb3V0ZVBhcmFtZXRlckxpc3Q8RT4oZWxlbWVudFR5cGU6IFBhcmFtZXRlclR5cGU8RT4sIG9wdGlvbnM/OiBMaXN0UGFyYW1ldGVyT3B0aW9uczxFPik6IFByb3BlcnR5RGVjb3JhdG9yIHtcbiAgLy8gYXNzZXJ0LmlzVHJ1dGh5KHR5cGUuaXNWYWxpZCgpKTtcbiAgcmV0dXJuIChwcm90b3R5cGU6IE9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZyB8IHN5bWJvbCkgPT4ge1xuICAgIGNvbnN0IHBhcmFtID0gY3JlYXRlQXJyYXlEZWZpbml0aW9uKHByb3BlcnR5S2V5LCBlbGVtZW50VHlwZSwgb3B0aW9ucyk7XG4gICAgS2xhc3MuZ2V0KHByb3RvdHlwZSkuYWRkVG9Pd25NZXRhZGF0YUxpc3QoUk9VVEVfUEFSQU1FVEVSX0xJU1RfS0VZLCBwYXJhbSk7XG4gICAgVXNlRGVsZWdhdGUoKShwcm90b3R5cGUsIHByb3BlcnR5S2V5KTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRGVmaW5pdGlvbjxUPihwcm9wZXJ0eU5hbWU6IHN5bWJvbCB8IHN0cmluZywgdHlwZTogUGFyYW1ldGVyVHlwZTxUPiwgb3B0aW9uczogUGFyYW1ldGVyT3B0aW9uczxUPiwgcm91dGVJZDogYm9vbGVhbikge1xuICBjb25zdCBvcHRzID0gT3B0cy5nZXQob3B0aW9ucyk7XG4gIGNvbnN0IHByb3BlcnR5TmFtZUFzU3RyaW5nID0gYXNzZXJ0Lm5vdE5pbChwcm9wZXJ0eU5hbWUpLnRvU3RyaW5nKCk7XG4gIGNvbnN0IGRlZjogUGFyYW1ldGVyRGVmaW5pdGlvbjxULCBUPiA9IHtcbiAgICBuYW1lOiBvcHRzLmdldE9wdGlvbmFsKCdhcycsIHByb3BlcnR5TmFtZUFzU3RyaW5nKSxcbiAgICBwcm9wZXJ0eU5hbWU6IHByb3BlcnR5TmFtZUFzU3RyaW5nLFxuICAgIHR5cGU6IGFzc2VydC5ub3ROaWwodHlwZSksXG4gICAgc2FuaXRpc2VyOiBvcHRzLmdldE9wdGlvbmFsKCdzYW5pdGlzZXInLCBudWxsKSxcbiAgICBpc1JvdXRlSWQ6IHJvdXRlSWQsXG4gICAgaXNBcnJheTogZmFsc2VcbiAgfTtcbiAgcmV0dXJuIGRlZjtcbn1cblxuZnVuY3Rpb24gY3JlYXRlQXJyYXlEZWZpbml0aW9uPFQ+KHByb3BlcnR5TmFtZTogc3ltYm9sIHwgc3RyaW5nLCB0eXBlOiBQYXJhbWV0ZXJUeXBlPFQ+LCBvcHRpb25zOiBMaXN0UGFyYW1ldGVyT3B0aW9uczxUPikge1xuICBjb25zdCBvcHRzID0gT3B0cy5nZXQob3B0aW9ucyk7XG4gIGNvbnN0IHByb3BlcnR5TmFtZUFzU3RyaW5nID0gYXNzZXJ0Lm5vdE5pbChwcm9wZXJ0eU5hbWUpLnRvU3RyaW5nKCk7XG5cbiAgY29uc3QgZGVmOiBQYXJhbWV0ZXJEZWZpbml0aW9uPFQsIFRbXT4gPSB7XG4gICAgbmFtZTogb3B0cy5nZXRPcHRpb25hbCgnYXMnLCBwcm9wZXJ0eU5hbWVBc1N0cmluZyksXG4gICAgcHJvcGVydHlOYW1lOiBwcm9wZXJ0eU5hbWVBc1N0cmluZyxcbiAgICB0eXBlOiBhc3NlcnQubm90TmlsKHR5cGUpLFxuICAgIHNhbml0aXNlcjogb3B0cy5nZXRPcHRpb25hbCgnc2FuaXRpc2VyJywgbnVsbCksXG4gICAgaXNSb3V0ZUlkOiBmYWxzZSxcbiAgICBpc0FycmF5OiB0cnVlXG4gIH07XG4gIHJldHVybiBkZWY7XG59XG4iXX0=
@@ -4,7 +4,7 @@
4
4
  */
5
5
  /**
6
6
  * @record
7
- * @template E, S
7
+ * @template T, S
8
8
  */
9
9
  export function ParameterDefinition() { }
10
10
  if (false) {
@@ -21,4 +21,4 @@ if (false) {
21
21
  /** @type {?} */
22
22
  ParameterDefinition.prototype.isArray;
23
23
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2Uvcm91dGUvcGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFJQSx5Q0FPQzs7O0lBTkMsbUNBQXNCOztJQUN0QiwyQ0FBOEI7O0lBQzlCLG1DQUFnQzs7SUFDaEMsd0NBQXlEOztJQUN6RCx3Q0FBNEI7O0lBQzVCLHNDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdGFibGUgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBQYXJhbWV0ZXJTYW5pdGlzZXIgfSBmcm9tICcuL3BhcmFtZXRlci1zYW5pdGlzZXInO1xuaW1wb3J0IHsgUGFyYW1ldGVyVHlwZSB9IGZyb20gJy4vcGFyYW1ldGVyLXR5cGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFtZXRlckRlZmluaXRpb248RSxTPUU+IHtcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICByZWFkb25seSBwcm9wZXJ0eU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgdHlwZTogUGFyYW1ldGVyVHlwZTxFPjtcbiAgcmVhZG9ubHkgc2FuaXRpc2VyOiBDb25zdHJ1Y3RhYmxlPFBhcmFtZXRlclNhbml0aXNlcjxTPj47XG4gIHJlYWRvbmx5IGlzUm91dGVJZDogYm9vbGVhbjtcbiAgcmVhZG9ubHkgaXNBcnJheTogYm9vbGVhbjtcbn1cbiJdfQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2Uvcm91dGUvcGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFJQSx5Q0FPQzs7O0lBTkMsbUNBQXNCOztJQUN0QiwyQ0FBOEI7O0lBQzlCLG1DQUFnQzs7SUFDaEMsd0NBQXlGOztJQUN6Rix3Q0FBNEI7O0lBQzVCLHNDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdGFibGUgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBQYXJhbWV0ZXJTYW5pdGlzZXIgfSBmcm9tICcuL3BhcmFtZXRlci1zYW5pdGlzZXInO1xuaW1wb3J0IHsgUGFyYW1ldGVyVHlwZSB9IGZyb20gJy4vcGFyYW1ldGVyLXR5cGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFtZXRlckRlZmluaXRpb248VCxTPVQ+IHtcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICByZWFkb25seSBwcm9wZXJ0eU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgdHlwZTogUGFyYW1ldGVyVHlwZTxUPjtcbiAgcmVhZG9ubHkgc2FuaXRpc2VyOiBDb25zdHJ1Y3RhYmxlPFBhcmFtZXRlclNhbml0aXNlcjxTPj4gfCBQYXJhbWV0ZXJTYW5pdGlzZXIuT3B0aW9uczxTPjtcbiAgcmVhZG9ubHkgaXNSb3V0ZUlkOiBib29sZWFuO1xuICByZWFkb25seSBpc0FycmF5OiBib29sZWFuO1xufVxuIl19