@ts-core/angular 11.0.81 → 11.0.82

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.
@@ -33,10 +33,10 @@ export class RouterBaseService extends Loadable {
33
33
  this.status = LoadableStatus.LOADING;
34
34
  }
35
35
  else if (event instanceof NavigationEnd || event instanceof NavigationCancel || event instanceof NavigationError) {
36
- this.status = LoadableStatus.LOADED;
37
36
  if (event instanceof NavigationEnd) {
38
37
  this._lastUrl = event.url;
39
38
  }
39
+ this.status = LoadableStatus.LOADED;
40
40
  }
41
41
  });
42
42
  }
@@ -71,7 +71,7 @@ export class RouterBaseService extends Loadable {
71
71
  this.isNeedUpdateExtras = false;
72
72
  this.applyExtras(this.extrasToApply);
73
73
  }
74
- this.observer.next(new ObservableData(LoadableEvent.COMPLETE));
74
+ this.observer.next(new ObservableData(LoadableEvent.COMPLETE, { url: this.url, lastUrl: this.lastUrl }));
75
75
  break;
76
76
  }
77
77
  if (newStatus === LoadableStatus.LOADED || newStatus === LoadableStatus.ERROR) {
@@ -206,8 +206,11 @@ export class RouterBaseService extends Loadable {
206
206
  get urlTree() {
207
207
  return this.router.parseUrl(this.url);
208
208
  }
209
+ get lastUrlTree() {
210
+ return this.router.parseUrl(this.lastUrl);
211
+ }
209
212
  get router() {
210
213
  return this._router;
211
214
  }
212
215
  }
213
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm91dGVyQmFzZVNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZS9Sb3V0ZXJCYXNlU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILGNBQWMsRUFFZCxnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLGVBQWUsRUFFZixlQUFlLEVBR2xCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTFELE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxRQUFvQjtJQWN2RCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQXNCLE9BQWUsRUFBWSxNQUEyQjtRQUN4RSxLQUFLLEVBQUUsQ0FBQztRQURVLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFBWSxXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQVZsRSx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFZMUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUU5QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENB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LElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDYixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICAgIE5hdmlnYXRpb25DYW5jZWwsXG4gICAgTmF2aWdhdGlvbkVuZCxcbiAgICBOYXZpZ2F0aW9uRXJyb3IsXG4gICAgTmF2aWdhdGlvbkV4dHJhcyxcbiAgICBOYXZpZ2F0aW9uU3RhcnQsXG4gICAgUm91dGVyLFxuICAgIFVybFRyZWVcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IExvYWRhYmxlLCBMb2FkYWJsZUV2ZW50LCBMb2FkYWJsZVN0YXR1cyB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlRGF0YSB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbi9vYnNlcnZlcic7XG5pbXBvcnQgeyBOYXRpdmVXaW5kb3dTZXJ2aWNlIH0gZnJvbSAnQHRzLWNvcmUvZnJvbnRlbmQvc2VydmljZS9OYXRpdmVXaW5kb3dTZXJ2aWNlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGNsYXNzIFJvdXRlckJhc2VTZXJ2aWNlIGV4dGVuZHMgTG9hZGFibGU8dm9pZCwgdm9pZD4ge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgcGFyYW1zOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xuXG4gICAgcHJvdGVjdGVkIGV4dHJhc1RvQXBwbHk6IE5hdmlnYXRpb25FeHRyYXM7XG4gICAgcHJvdGVjdGVkIGlzTmVlZFVwZGF0ZUV4dHJhczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHJvdGVjdGVkIF9sYXN0VXJsOiBzdHJpbmc7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfcm91dGVyOiBSb3V0ZXIsIHByb3RlY3RlZCB3aW5kb3c6IE5hdGl2ZVdpbmRvd1NlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5wYXJhbXMgPSBuZXcgTWFwKCk7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgICAgIHRoaXMuX2xhc3RVcmwgPSB0aGlzLnVybDtcbiAgICAgICAgdGhpcy53aW5kb3cuZ2V0UGFyYW1zKCkuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4gdGhpcy5wYXJhbXMuc2V0KGtleSwgdmFsdWUpKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplT2JzZXJ2ZXJzKCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHJpdmF0ZSBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIGluaXRpYWxpemVPYnNlcnZlcnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXR1cyA9IExvYWRhYmxlU3RhdHVzLkxPQURJTkc7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCB8fCBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25DYW5jZWwgfHwgZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRXJyb3IpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXR1cyA9IExvYWRhYmxlU3RhdHVzLkxPQURFRDtcbiAgICAgICAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2xhc3RVcmwgPSBldmVudC51cmw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYXN5bmMgYXBwbHlFeHRyYXMoZXh0cmFzPzogTmF2aWdhdGlvbkV4dHJhcyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgICBsZXQgcGFyYW1zID0ge30gYXMgTmF2aWdhdGlvbkV4dHJhcztcbiAgICAgICAgcGFyYW1zLnF1ZXJ5UGFyYW1zID0gdGhpcy5nZXRRdWVyeVBhcmFtcygpO1xuXG4gICAgICAgIGlmICghXy5pc05pbChleHRyYXMpKSB7XG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKHBhcmFtcywgZXh0cmFzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5pc0xvYWRpbmcpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXSwgcGFyYW1zKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmV4dHJhc1RvQXBwbHkgPSBleHRyYXM7XG4gICAgICAgIHRoaXMuaXNOZWVkVXBkYXRlRXh0cmFzID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRRdWVyeVBhcmFtcygpOiBhbnkge1xuICAgICAgICBsZXQgcGFyYW1zID0ge30gYXMgYW55O1xuICAgICAgICB0aGlzLnBhcmFtcy5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiAocGFyYW1zW2tleV0gPSB2YWx1ZSkpO1xuICAgICAgICByZXR1cm4gcGFyYW1zO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjb21taXRTdGF0dXNDaGFuZ2VkUHJvcGVydGllcyhvbGRTdGF0dXM6IExvYWRhYmxlU3RhdHVzLCBuZXdTdGF0dXM6IExvYWRhYmxlU3RhdHVzKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLmNvbW1pdFN0YXR1c0NoYW5nZWRQcm9wZXJ0aWVzKG9sZFN0YXR1cywgbmV3U3RhdHVzKTtcblxuICAgICAgICBzd2l0Y2ggKG5ld1N0YXR1cykge1xuICAgICAgICAgICAgY2FzZSBMb2FkYWJsZVN0YXR1cy5MT0FESU5HOlxuICAgICAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9hZGFibGVFdmVudC5TVEFSVEVEKSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIExvYWRhYmxlU3RhdHVzLkxPQURFRDpcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc05lZWRVcGRhdGVFeHRyYXMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc05lZWRVcGRhdGVFeHRyYXMgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hcHBseUV4dHJhcyh0aGlzLmV4dHJhc1RvQXBwbHkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvYWRhYmxlRXZlbnQuQ09NUExFVEUpKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChuZXdTdGF0dXMgPT09IExvYWRhYmxlU3RhdHVzLkxPQURFRCB8fCBuZXdTdGF0dXMgPT09IExvYWRhYmxlU3RhdHVzLkVSUk9SKSB7XG4gICAgICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvYWRhYmxlRXZlbnQuRklOSVNIRUQpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdE5hdmlnYXRlIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgYXN5bmMgbmF2aWdhdGUodXJsOiBzdHJpbmcsIGV4dHJhcz86IE5hdmlnYXRpb25FeHRyYXMsIGlzQ2xlYXJQYXJhbXM/OiBib29sZWFuKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICAgIGlmIChpc0NsZWFyUGFyYW1zKSB7XG4gICAgICAgICAgICB0aGlzLnBhcmFtcy5jbGVhcigpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHBhcmFtcyA9IHt9IGFzIE5hdmlnYXRpb25FeHRyYXM7XG4gICAgICAgIHBhcmFtcy5xdWVyeVBhcmFtcyA9IHRoaXMuZ2V0UXVlcnlQYXJhbXMoKTtcbiAgICAgICAgaWYgKCFfLmlzTmlsKGV4dHJhcykpIHtcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24ocGFyYW1zLCBleHRyYXMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHVybCwgcGFyYW1zKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmF2aWdhdGVUb0V4dGVybmFsVXJsKHVybDogc3RyaW5nLCB0YXJnZXQ6IHN0cmluZyA9ICdfYmxhbmsnKTogdm9pZCB7XG4gICAgICAgIHRoaXMud2luZG93Lm9wZW4odXJsLCB0YXJnZXQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuYXZpZ2F0ZVRvTGFzdChleHRyYXM/OiBOYXZpZ2F0aW9uRXh0cmFzKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdmlnYXRlKHRoaXMubGFzdFVybCwgZXh0cmFzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgbmF2aWdhdGVJZk5vdExvYWRpbmcodXJsOiBzdHJpbmcsIGV4dHJhcz86IE5hdmlnYXRpb25FeHRyYXMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmlzTG9hZGluZyA/IHRoaXMubmF2aWdhdGUodXJsLCBleHRyYXMpIDogZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIHJlbG9hZCgpOiB2b2lkIHtcbiAgICAgICAgbG9jYXRpb24ucmVsb2FkKCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHVibGljIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgaXNVcmxBY3RpdmUoaXRlbTogc3RyaW5nIHwgVXJsVHJlZSwgaXNFeGFjdDogYm9vbGVhbiA9IGZhbHNlKTogYm9vbGVhbiB7XG4gICAgICAgIGlmIChpc0V4YWN0KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZXIuaXNBY3RpdmUoaXRlbSwgaXNFeGFjdCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKF8uaXNTdHJpbmcoaXRlbSkpIHtcbiAgICAgICAgICAgIGl0ZW0gPSB0aGlzLnJvdXRlci5wYXJzZVVybChpdGVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBjdXJyZW50ID0gdGhpcy5yb3V0ZXIucGFyc2VVcmwodGhpcy51cmxUcmVlLnRvU3RyaW5nKCkpO1xuICAgICAgICBpdGVtLmZyYWdtZW50ID0gY3VycmVudC5mcmFnbWVudCA9IG51bGw7XG4gICAgICAgIGl0ZW0ucXVlcnlQYXJhbXMgPSBjdXJyZW50LnF1ZXJ5UGFyYW1zID0ge307XG4gICAgICAgIHJldHVybiBpdGVtLnRvU3RyaW5nKCkgPT09IGN1cnJlbnQudG9TdHJpbmcoKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQdWJsaWMgUGFyYW0gTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBnZXRQYXJhbXM8VCA9IGFueT4oKTogVCB7XG4gICAgICAgIGxldCBwYXJhbXMgPSB7fSBhcyBhbnk7XG4gICAgICAgIHRoaXMucGFyYW1zLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IChwYXJhbXNba2V5XSA9IHZhbHVlKSk7XG4gICAgICAgIHJldHVybiBwYXJhbXM7XG4gICAgfVxuXG4gICAgcHVibGljIGhhc1BhcmFtKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wYXJhbXMuaGFzKG5hbWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRQYXJhbTxUID0gc3RyaW5nPihuYW1lOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZT86IFQpOiBUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzUGFyYW0obmFtZSkgPyAodGhpcy5wYXJhbXMuZ2V0KG5hbWUpIGFzIGFueSkgOiBkZWZhdWx0VmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFBhcmFtKG5hbWU6IHN0cmluZywgdmFsdWU6IGFueSwgZXh0cmFzPzogTmF2aWdhdGlvbkV4dHJhcyk6IHZvaWQge1xuICAgICAgICBpZiAoIV8uaXNOaWwodmFsdWUpKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IHZhbHVlLnRvU3RyaW5nKCkudHJpbSgpO1xuICAgICAgICAgICAgaWYgKF8uaXNFbXB0eSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFfLmlzTmlsKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5wYXJhbXMuc2V0KG5hbWUsIHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucGFyYW1zLmRlbGV0ZShuYW1lKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIV8uaXNOaWwoZXh0cmFzKSkge1xuICAgICAgICAgICAgZXh0cmFzID0geyByZXBsYWNlVXJsOiB0cnVlIH07XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hcHBseUV4dHJhcyhleHRyYXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmVQYXJhbShuYW1lOiBzdHJpbmcsIGV4dHJhcz86IE5hdmlnYXRpb25FeHRyYXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaGFzUGFyYW0obmFtZSkpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0UGFyYW0obmFtZSwgbnVsbCwgZXh0cmFzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhclBhcmFtcyhleHRyYXM/OiBOYXZpZ2F0aW9uRXh0cmFzKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGFyYW1zLmNsZWFyKCk7XG4gICAgICAgIGlmICghXy5pc05pbChleHRyYXMpKSB7XG4gICAgICAgICAgICBleHRyYXMgPSB7IHJlcGxhY2VVcmw6IHRydWUgfTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFwcGx5RXh0cmFzKGV4dHJhcyk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBoYXNQYXJhbXMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhcmFtcy5zaXplID4gMDtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRGcmFnbWVudCBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGdldEZyYWdtZW50KHNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZSB8IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGRlZmF1bHRWYWx1ZT86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGlmIChzbmFwc2hvdCBpbnN0YW5jZW9mIEFjdGl2YXRlZFJvdXRlKSB7XG4gICAgICAgICAgICBzbmFwc2hvdCA9IHNuYXBzaG90LnNuYXBzaG90O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAhXy5pc05pbChzbmFwc2hvdC5mcmFnbWVudCkgPyBzbmFwc2hvdC5mcmFnbWVudCA6IGRlZmF1bHRWYWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgc2V0RnJhZ21lbnQodmFsdWU6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hcHBseUV4dHJhcyh7IGZyYWdtZW50OiB2YWx1ZSB9KTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQdWJsaWMgVXJsIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZ2V0IHVybCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZXIudXJsO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbGFzdFVybCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fbGFzdFVybDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHVybFRyZWUoKTogVXJsVHJlZSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlci5wYXJzZVVybCh0aGlzLnVybCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCByb3V0ZXIoKTogUm91dGVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JvdXRlcjtcbiAgICB9XG59XG4iXX0=
216
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm91dGVyQmFzZVNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZS9Sb3V0ZXJCYXNlU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILGNBQWMsRUFFZCxnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLGVBQWUsRUFFZixlQUFlLEVBR2xCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTFELE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxRQUEwQztJQWM3RSw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQXNCLE9BQWUsRUFBWSxNQUEyQjtRQUN4RSxLQUFLLEVBQUUsQ0FBQztRQURVLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFBWSxXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQVZsRSx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFZMUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUU5QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENB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QUMzQixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDYixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICAgIE5hdmlnYXRpb25DYW5jZWwsXG4gICAgTmF2aWdhdGlvbkVuZCxcbiAgICBOYXZpZ2F0aW9uRXJyb3IsXG4gICAgTmF2aWdhdGlvbkV4dHJhcyxcbiAgICBOYXZpZ2F0aW9uU3RhcnQsXG4gICAgUm91dGVyLFxuICAgIFVybFRyZWVcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IExvYWRhYmxlLCBMb2FkYWJsZUV2ZW50LCBMb2FkYWJsZVN0YXR1cyB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlRGF0YSB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbi9vYnNlcnZlcic7XG5pbXBvcnQgeyBOYXRpdmVXaW5kb3dTZXJ2aWNlIH0gZnJvbSAnQHRzLWNvcmUvZnJvbnRlbmQvc2VydmljZS9OYXRpdmVXaW5kb3dTZXJ2aWNlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGNsYXNzIFJvdXRlckJhc2VTZXJ2aWNlIGV4dGVuZHMgTG9hZGFibGU8dm9pZCwgUm91dGVyQmFzZVNlcnZpY2VFdmVudERhdGE+IHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIHBhcmFtczogTWFwPHN0cmluZywgc3RyaW5nPjtcblxuICAgIHByb3RlY3RlZCBleHRyYXNUb0FwcGx5OiBOYXZpZ2F0aW9uRXh0cmFzO1xuICAgIHByb3RlY3RlZCBpc05lZWRVcGRhdGVFeHRyYXM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHByb3RlY3RlZCBfbGFzdFVybDogc3RyaW5nO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0Q29uc3RydWN0b3JcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX3JvdXRlcjogUm91dGVyLCBwcm90ZWN0ZWQgd2luZG93OiBOYXRpdmVXaW5kb3dTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMucGFyYW1zID0gbmV3IE1hcCgpO1xuICAgICAgICB0aGlzLm9ic2VydmVyID0gbmV3IFN1YmplY3QoKTtcblxuICAgICAgICB0aGlzLl9sYXN0VXJsID0gdGhpcy51cmw7XG4gICAgICAgIHRoaXMud2luZG93LmdldFBhcmFtcygpLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHRoaXMucGFyYW1zLnNldChrZXksIHZhbHVlKSk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZU9ic2VydmVycygpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFByaXZhdGUgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBpbml0aWFsaXplT2JzZXJ2ZXJzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJvdXRlci5ldmVudHMucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKS5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGF0dXMgPSBMb2FkYWJsZVN0YXR1cy5MT0FESU5HO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQgfHwgZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uQ2FuY2VsIHx8IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVycm9yKSB7XG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9sYXN0VXJsID0gZXZlbnQudXJsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnN0YXR1cyA9IExvYWRhYmxlU3RhdHVzLkxPQURFRDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFzeW5jIGFwcGx5RXh0cmFzKGV4dHJhcz86IE5hdmlnYXRpb25FeHRyYXMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAgICAgbGV0IHBhcmFtcyA9IHt9IGFzIE5hdmlnYXRpb25FeHRyYXM7XG4gICAgICAgIHBhcmFtcy5xdWVyeVBhcmFtcyA9IHRoaXMuZ2V0UXVlcnlQYXJhbXMoKTtcblxuICAgICAgICBpZiAoIV8uaXNOaWwoZXh0cmFzKSkge1xuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihwYXJhbXMsIGV4dHJhcyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuaXNMb2FkaW5nKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHBhcmFtcyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5leHRyYXNUb0FwcGx5ID0gZXh0cmFzO1xuICAgICAgICB0aGlzLmlzTmVlZFVwZGF0ZUV4dHJhcyA9IHRydWU7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0UXVlcnlQYXJhbXMoKTogYW55IHtcbiAgICAgICAgbGV0IHBhcmFtcyA9IHt9IGFzIGFueTtcbiAgICAgICAgdGhpcy5wYXJhbXMuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4gKHBhcmFtc1trZXldID0gdmFsdWUpKTtcbiAgICAgICAgcmV0dXJuIHBhcmFtcztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29tbWl0U3RhdHVzQ2hhbmdlZFByb3BlcnRpZXMob2xkU3RhdHVzOiBMb2FkYWJsZVN0YXR1cywgbmV3U3RhdHVzOiBMb2FkYWJsZVN0YXR1cyk6IHZvaWQge1xuICAgICAgICBzdXBlci5jb21taXRTdGF0dXNDaGFuZ2VkUHJvcGVydGllcyhvbGRTdGF0dXMsIG5ld1N0YXR1cyk7XG5cbiAgICAgICAgc3dpdGNoIChuZXdTdGF0dXMpIHtcbiAgICAgICAgICAgIGNhc2UgTG9hZGFibGVTdGF0dXMuTE9BRElORzpcbiAgICAgICAgICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvYWRhYmxlRXZlbnQuU1RBUlRFRCkpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBMb2FkYWJsZVN0YXR1cy5MT0FERUQ6XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNOZWVkVXBkYXRlRXh0cmFzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNOZWVkVXBkYXRlRXh0cmFzID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXBwbHlFeHRyYXModGhpcy5leHRyYXNUb0FwcGx5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2FkYWJsZUV2ZW50LkNPTVBMRVRFLCB7IHVybDogdGhpcy51cmwsIGxhc3RVcmw6IHRoaXMubGFzdFVybCB9KSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobmV3U3RhdHVzID09PSBMb2FkYWJsZVN0YXR1cy5MT0FERUQgfHwgbmV3U3RhdHVzID09PSBMb2FkYWJsZVN0YXR1cy5FUlJPUikge1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2FkYWJsZUV2ZW50LkZJTklTSEVEKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHROYXZpZ2F0ZSBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGFzeW5jIG5hdmlnYXRlKHVybDogc3RyaW5nLCBleHRyYXM/OiBOYXZpZ2F0aW9uRXh0cmFzLCBpc0NsZWFyUGFyYW1zPzogYm9vbGVhbik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgICBpZiAoaXNDbGVhclBhcmFtcykge1xuICAgICAgICAgICAgdGhpcy5wYXJhbXMuY2xlYXIoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBwYXJhbXMgPSB7fSBhcyBOYXZpZ2F0aW9uRXh0cmFzO1xuICAgICAgICBwYXJhbXMucXVlcnlQYXJhbXMgPSB0aGlzLmdldFF1ZXJ5UGFyYW1zKCk7XG4gICAgICAgIGlmICghXy5pc05pbChleHRyYXMpKSB7XG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKHBhcmFtcywgZXh0cmFzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh1cmwsIHBhcmFtcyk7XG4gICAgfVxuXG4gICAgcHVibGljIG5hdmlnYXRlVG9FeHRlcm5hbFVybCh1cmw6IHN0cmluZywgdGFyZ2V0OiBzdHJpbmcgPSAnX2JsYW5rJyk6IHZvaWQge1xuICAgICAgICB0aGlzLndpbmRvdy5vcGVuKHVybCwgdGFyZ2V0KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmF2aWdhdGVUb0xhc3QoZXh0cmFzPzogTmF2aWdhdGlvbkV4dHJhcyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXZpZ2F0ZSh0aGlzLmxhc3RVcmwsIGV4dHJhcyk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIG5hdmlnYXRlSWZOb3RMb2FkaW5nKHVybDogc3RyaW5nLCBleHRyYXM/OiBOYXZpZ2F0aW9uRXh0cmFzKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pc0xvYWRpbmcgPyB0aGlzLm5hdmlnYXRlKHVybCwgZXh0cmFzKSA6IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWxvYWQoKTogdm9pZCB7XG4gICAgICAgIGxvY2F0aW9uLnJlbG9hZCgpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGlzVXJsQWN0aXZlKGl0ZW06IHN0cmluZyB8IFVybFRyZWUsIGlzRXhhY3Q6IGJvb2xlYW4gPSBmYWxzZSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoaXNFeGFjdCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucm91dGVyLmlzQWN0aXZlKGl0ZW0sIGlzRXhhY3QpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChfLmlzU3RyaW5nKGl0ZW0pKSB7XG4gICAgICAgICAgICBpdGVtID0gdGhpcy5yb3V0ZXIucGFyc2VVcmwoaXRlbSk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgY3VycmVudCA9IHRoaXMucm91dGVyLnBhcnNlVXJsKHRoaXMudXJsVHJlZS50b1N0cmluZygpKTtcbiAgICAgICAgaXRlbS5mcmFnbWVudCA9IGN1cnJlbnQuZnJhZ21lbnQgPSBudWxsO1xuICAgICAgICBpdGVtLnF1ZXJ5UGFyYW1zID0gY3VycmVudC5xdWVyeVBhcmFtcyA9IHt9O1xuICAgICAgICByZXR1cm4gaXRlbS50b1N0cmluZygpID09PSBjdXJyZW50LnRvU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHVibGljIFBhcmFtIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZ2V0UGFyYW1zPFQgPSBhbnk+KCk6IFQge1xuICAgICAgICBsZXQgcGFyYW1zID0ge30gYXMgYW55O1xuICAgICAgICB0aGlzLnBhcmFtcy5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiAocGFyYW1zW2tleV0gPSB2YWx1ZSkpO1xuICAgICAgICByZXR1cm4gcGFyYW1zO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYXNQYXJhbShuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGFyYW1zLmhhcyhuYW1lKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UGFyYW08VCA9IHN0cmluZz4obmFtZTogc3RyaW5nLCBkZWZhdWx0VmFsdWU/OiBUKTogVCB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhc1BhcmFtKG5hbWUpID8gKHRoaXMucGFyYW1zLmdldChuYW1lKSBhcyBhbnkpIDogZGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRQYXJhbShuYW1lOiBzdHJpbmcsIHZhbHVlOiBhbnksIGV4dHJhcz86IE5hdmlnYXRpb25FeHRyYXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFfLmlzTmlsKHZhbHVlKSkge1xuICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZS50b1N0cmluZygpLnRyaW0oKTtcbiAgICAgICAgICAgIGlmIChfLmlzRW1wdHkodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICghXy5pc05pbCh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMucGFyYW1zLnNldChuYW1lLCB2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnBhcmFtcy5kZWxldGUobmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFfLmlzTmlsKGV4dHJhcykpIHtcbiAgICAgICAgICAgIGV4dHJhcyA9IHsgcmVwbGFjZVVybDogdHJ1ZSB9O1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuYXBwbHlFeHRyYXMoZXh0cmFzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlUGFyYW0obmFtZTogc3RyaW5nLCBleHRyYXM/OiBOYXZpZ2F0aW9uRXh0cmFzKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmhhc1BhcmFtKG5hbWUpKSB7XG4gICAgICAgICAgICB0aGlzLnNldFBhcmFtKG5hbWUsIG51bGwsIGV4dHJhcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXJQYXJhbXMoZXh0cmFzPzogTmF2aWdhdGlvbkV4dHJhcyk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhcmFtcy5jbGVhcigpO1xuICAgICAgICBpZiAoIV8uaXNOaWwoZXh0cmFzKSkge1xuICAgICAgICAgICAgZXh0cmFzID0geyByZXBsYWNlVXJsOiB0cnVlIH07XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hcHBseUV4dHJhcyhleHRyYXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaGFzUGFyYW1zKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wYXJhbXMuc2l6ZSA+IDA7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0RnJhZ21lbnQgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBnZXRGcmFnbWVudChzbmFwc2hvdDogQWN0aXZhdGVkUm91dGUgfCBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBkZWZhdWx0VmFsdWU/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoc25hcHNob3QgaW5zdGFuY2VvZiBBY3RpdmF0ZWRSb3V0ZSkge1xuICAgICAgICAgICAgc25hcHNob3QgPSBzbmFwc2hvdC5zbmFwc2hvdDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gIV8uaXNOaWwoc25hcHNob3QuZnJhZ21lbnQpID8gc25hcHNob3QuZnJhZ21lbnQgOiBkZWZhdWx0VmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHNldEZyYWdtZW50KHZhbHVlOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBwbHlFeHRyYXMoeyBmcmFnbWVudDogdmFsdWUgfSk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHVibGljIFVybCBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGdldCB1cmwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucm91dGVyLnVybDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGxhc3RVcmwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xhc3RVcmw7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB1cmxUcmVlKCk6IFVybFRyZWUge1xuICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZXIucGFyc2VVcmwodGhpcy51cmwpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbGFzdFVybFRyZWUoKTogVXJsVHJlZSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlci5wYXJzZVVybCh0aGlzLmxhc3RVcmwpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcm91dGVyKCk6IFJvdXRlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yb3V0ZXI7XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJvdXRlckJhc2VTZXJ2aWNlRXZlbnREYXRhIHtcbiAgICB1cmw6IHN0cmluZztcbiAgICBsYXN0VXJsOiBzdHJpbmc7XG59XG4iXX0=
@@ -8818,10 +8818,10 @@ class RouterBaseService extends Loadable {
8818
8818
  this.status = LoadableStatus.LOADING;
8819
8819
  }
8820
8820
  else if (event instanceof NavigationEnd || event instanceof NavigationCancel || event instanceof NavigationError) {
8821
- this.status = LoadableStatus.LOADED;
8822
8821
  if (event instanceof NavigationEnd) {
8823
8822
  this._lastUrl = event.url;
8824
8823
  }
8824
+ this.status = LoadableStatus.LOADED;
8825
8825
  }
8826
8826
  });
8827
8827
  }
@@ -8856,7 +8856,7 @@ class RouterBaseService extends Loadable {
8856
8856
  this.isNeedUpdateExtras = false;
8857
8857
  this.applyExtras(this.extrasToApply);
8858
8858
  }
8859
- this.observer.next(new ObservableData(LoadableEvent.COMPLETE));
8859
+ this.observer.next(new ObservableData(LoadableEvent.COMPLETE, { url: this.url, lastUrl: this.lastUrl }));
8860
8860
  break;
8861
8861
  }
8862
8862
  if (newStatus === LoadableStatus.LOADED || newStatus === LoadableStatus.ERROR) {
@@ -8991,6 +8991,9 @@ class RouterBaseService extends Loadable {
8991
8991
  get urlTree() {
8992
8992
  return this.router.parseUrl(this.url);
8993
8993
  }
8994
+ get lastUrlTree() {
8995
+ return this.router.parseUrl(this.lastUrl);
8996
+ }
8994
8997
  get router() {
8995
8998
  return this._router;
8996
8999
  }