taxtank-core 0.27.4 → 0.27.5

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 (53) hide show
  1. package/bundles/taxtank-core.umd.js +153 -131
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/collections/chart-accounts.collection.js +3 -3
  4. package/esm2015/lib/collections/transaction/transaction.collection.js +5 -2
  5. package/esm2015/lib/collections/vehicle/vehicle-claim.collection.js +2 -4
  6. package/esm2015/lib/collections/vehicle/vehicle-logbook.collection.js +15 -30
  7. package/esm2015/lib/db/Enums/depreciation-calculation.enum.js +2 -1
  8. package/esm2015/lib/forms/abstract.form.js +11 -5
  9. package/esm2015/lib/forms/bank/bank-account/bank-account-allocation.form.js +6 -3
  10. package/esm2015/lib/forms/sole/sole-business-allocations.form.js +2 -1
  11. package/esm2015/lib/forms/sole/sole-invoice-template.form.js +2 -2
  12. package/esm2015/lib/forms/vehicle/vehicle-claim-details.form.js +3 -7
  13. package/esm2015/lib/forms/vehicle/vehicle-claim.form.js +8 -2
  14. package/esm2015/lib/forms/vehicle/vehicle-logbook.form.js +22 -15
  15. package/esm2015/lib/models/account-setup/account-setup-items.const.js +2 -2
  16. package/esm2015/lib/models/bank/bank-account.js +4 -1
  17. package/esm2015/lib/models/chart-accounts/chart-accounts.js +9 -9
  18. package/esm2015/lib/models/financial-year/financial-year.js +2 -1
  19. package/esm2015/lib/models/report/my-tax/my-tax-deductions/my-tax-deductions.js +2 -2
  20. package/esm2015/lib/models/sole/sole-invoice-template.js +5 -4
  21. package/esm2015/lib/models/transaction/transaction.js +3 -3
  22. package/esm2015/lib/models/vehicle/logbook-period.js +2 -1
  23. package/esm2015/lib/models/vehicle/vehicle-claim-details.js +12 -11
  24. package/esm2015/lib/models/vehicle/vehicle-claim.js +14 -13
  25. package/esm2015/lib/models/vehicle/vehicle-logbook.js +18 -5
  26. package/esm2015/lib/services/account-setup/account-setup.service.js +2 -2
  27. package/esm2015/lib/services/http/depreciation/depreciation.service.js +1 -2
  28. package/esm2015/lib/services/http/transaction/transaction.service.js +1 -2
  29. package/esm2015/lib/services/http/vehicle/vehicle-claim-details.service.js +7 -6
  30. package/esm2015/lib/services/http/vehicle/vehicle-claim.service.js +10 -10
  31. package/fesm2015/taxtank-core.js +137 -118
  32. package/fesm2015/taxtank-core.js.map +1 -1
  33. package/lib/collections/chart-accounts.collection.d.ts +2 -2
  34. package/lib/collections/transaction/transaction.collection.d.ts +2 -2
  35. package/lib/collections/vehicle/vehicle-claim.collection.d.ts +1 -3
  36. package/lib/collections/vehicle/vehicle-logbook.collection.d.ts +4 -9
  37. package/lib/db/Enums/depreciation-calculation.enum.d.ts +1 -0
  38. package/lib/forms/abstract.form.d.ts +3 -1
  39. package/lib/forms/bank/bank-account/bank-account-allocation.form.d.ts +4 -2
  40. package/lib/forms/sole/sole-business-allocations.form.d.ts +1 -0
  41. package/lib/forms/vehicle/vehicle-claim-details.form.d.ts +1 -6
  42. package/lib/forms/vehicle/vehicle-claim.form.d.ts +3 -0
  43. package/lib/forms/vehicle/vehicle-logbook.form.d.ts +4 -0
  44. package/lib/models/bank/bank-account.d.ts +2 -0
  45. package/lib/models/chart-accounts/chart-accounts.d.ts +6 -6
  46. package/lib/models/financial-year/financial-year.d.ts +1 -0
  47. package/lib/models/sole/sole-invoice-template.d.ts +1 -1
  48. package/lib/models/transaction/transaction.d.ts +2 -2
  49. package/lib/models/vehicle/logbook-period.d.ts +1 -0
  50. package/lib/models/vehicle/vehicle-claim-details.d.ts +8 -2
  51. package/lib/models/vehicle/vehicle-claim.d.ts +6 -4
  52. package/lib/models/vehicle/vehicle-logbook.d.ts +8 -4
  53. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import { Inject, Injectable } from '@angular/core';
2
2
  import { VehicleClaimDetails } from '../../../models';
3
3
  import { ReplaySubject } from 'rxjs';
4
- import { map, take } from 'rxjs/operators';
4
+ import { map } from 'rxjs/operators';
5
5
  import { plainToClass } from 'class-transformer';
6
6
  import { AppEvent } from '../../../models/event/app-event';
7
7
  import { AppEventTypeEnum } from '../../../models/event/app-event-type.enum';
@@ -70,11 +70,12 @@ export class VehicleClaimDetailsService {
70
70
  * @TODO Vik: Best period move this and related logic to backend
71
71
  */
72
72
  updateToManual() {
73
- // We are sure this.cache exist here because logbook best period calculation is based on vehicle claim details,
74
- // so before we can get logbook best period changes, we must get vehicle claim details
73
+ // no need to update if cache not exist
74
+ if (!this.cache) {
75
+ return;
76
+ }
75
77
  const vehicleClaimDetails = plainToClass(VehicleClaimDetails, Object.assign({}, this.cache, { isManual: true }));
76
- // take(1) is using to avoid unnecessary callback calling whe user updated details directly
77
- this.update(vehicleClaimDetails).pipe(take(1)).subscribe();
78
+ this.update(vehicleClaimDetails).subscribe();
78
79
  }
79
80
  }
80
81
  VehicleClaimDetailsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: VehicleClaimDetailsService, deps: [{ token: 'environment' }, { token: i1.HttpClient }, { token: i2.EventDispatcherService }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -88,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
88
89
  type: Inject,
89
90
  args: ['environment']
90
91
  }] }, { type: i1.HttpClient }, { type: i2.EventDispatcherService }]; } });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS1jbGFpbS1kZXRhaWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC92ZWhpY2xlL3ZlaGljbGUtY2xhaW0tZGV0YWlscy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBaUIsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRSxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWpELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7OztBQUc3RTs7R0FFRztBQUlILE1BQU0sT0FBTywwQkFBMEI7SUFLckMsWUFDbUMsV0FBZ0IsRUFDekMsSUFBZ0IsRUFDaEIsc0JBQThDO1FBRnJCLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBQ3pDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQU54RCxpQkFBWSxHQUF1QyxJQUFJLGFBQWEsQ0FBc0IsQ0FBQyxDQUFDLENBQUM7UUFDN0YsUUFBRyxHQUFXLHVCQUF1QixDQUFDO1FBT3BDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxHQUFHO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FB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LG1CQUFtQixHQUF3QixZQUFZLENBQzNELG1CQUFtQixFQUNuQixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQ2hELENBQUM7UUFFRiwyRkFBMkY7UUFDM0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUM3RCxDQUFDOzt3SEE1RlUsMEJBQTBCLGtCQU0zQixhQUFhOzRIQU5aLDBCQUEwQixjQUZ6QixNQUFNOzRGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU9JLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmVoaWNsZUNsYWltRGV0YWlscyBhcyBWZWhpY2xlQ2xhaW1EZXRhaWxzQmFzZSB9IGZyb20gJy4uLy4uLy4uL2RiL01vZGVscy92ZWhpY2xlL3ZlaGljbGUtY2xhaW0tZGV0YWlscyc7XG5pbXBvcnQgeyBMb2dib29rUGVyaW9kLCBWZWhpY2xlQ2xhaW1EZXRhaWxzIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZXZlbnQvZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudCc7XG5pbXBvcnQgeyBBcHBFdmVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudC10eXBlLmVudW0nO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2V2ZW50LWxpc3RlbmVyLmludGVyZmFjZSc7XG5cbi8qKlxuICogQFRPRE8gVFQtMTc3NyBBbGV4OiBleHRlbmQgZnJvbSByZXN0IHNlcnZpY2Ugd2hlbiBpdCByZWZhY3RvcmVkXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFZlaGljbGVDbGFpbURldGFpbHNTZXJ2aWNlIGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBjYWNoZTogVmVoaWNsZUNsYWltRGV0YWlscztcbiAgY2FjaGVTdWJqZWN0OiBSZXBsYXlTdWJqZWN0PFZlaGljbGVDbGFpbURldGFpbHM+ID0gbmV3IFJlcGxheVN1YmplY3Q8VmVoaWNsZUNsYWltRGV0YWlscz4oMSk7XG4gIHVybDogc3RyaW5nID0gJ3ZlaGljbGUtY2xhaW0tZGV0YWlscyc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueSxcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBldmVudERpc3BhdGNoZXJTZXJ2aWNlOiBFdmVudERpc3BhdGNoZXJTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gIH1cblxuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5CZXN0UGVyaW9kQ2hhbmdlcygpO1xuICB9XG5cbiAgZ2V0KCk6IE9ic2VydmFibGU8VmVoaWNsZUNsYWltRGV0YWlscz4ge1xuICAgIGlmICghdGhpcy5jYWNoZSkge1xuICAgICAgdGhpcy5odHRwLmdldChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfWApXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgocmVzcG9uc2U6IG9iamVjdCk6IFZlaGljbGVDbGFpbURldGFpbHMgPT4gcGxhaW5Ub0NsYXNzKFZlaGljbGVDbGFpbURldGFpbHMsIHJlc3BvbnNlWydoeWRyYTptZW1iZXInXVswXSwge2V4Y2x1ZGVQcmVmaXhlczogWydAJ119KSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCh2ZWhpY2xlQ2xhaW1EZXRhaWxzOiBWZWhpY2xlQ2xhaW1EZXRhaWxzKSA9PiB7XG4gICAgICAgICAgdGhpcy5jYWNoZSA9IHZlaGljbGVDbGFpbURldGFpbHM7XG4gICAgICAgICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0aGlzLmNhY2hlKTtcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jYWNoZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBhZGQoZGV0YWlsczogVmVoaWNsZUNsYWltRGV0YWlscyk6IE9ic2VydmFibGU8VmVoaWNsZUNsYWltRGV0YWlscz4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfWAsIGRldGFpbHMpLnBpcGUoXG4gICAgICBtYXAoKG5ld0RldGFpbHM6IFZlaGljbGVDbGFpbURldGFpbHNCYXNlKSA9PiB7XG4gICAgICAgIGNvbnN0IGRldGFpbHM6IFZlaGljbGVDbGFpbURldGFpbHMgPSBwbGFpblRvQ2xhc3MoVmVoaWNsZUNsYWltRGV0YWlscywgbmV3RGV0YWlscyk7XG5cbiAgICAgICAgdGhpcy5jYWNoZSA9IGRldGFpbHM7XG4gICAgICAgIHRoaXMuY2FjaGVTdWJqZWN0Lm5leHQoZGV0YWlscyk7XG5cbiAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLlZFSElDTEVfQ0xBSU1fREVUQUlMU19DUkVBVEVELCBkZXRhaWxzKSlcblxuICAgICAgICByZXR1cm4gZGV0YWlscztcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgdXBkYXRlKGRldGFpbHM6IFZlaGljbGVDbGFpbURldGFpbHMpOiBPYnNlcnZhYmxlPFZlaGljbGVDbGFpbURldGFpbHM+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfS8ke2RldGFpbHMuaWR9YCwgZGV0YWlscykucGlwZShcbiAgICAgIG1hcCgodXBkYXRlZERldGFpbHM6IFZlaGljbGVDbGFpbURldGFpbHNCYXNlKSA9PiB7XG4gICAgICAgIGNvbnN0IGRldGFpbHM6IFZlaGljbGVDbGFpbURldGFpbHMgPSBwbGFpblRvQ2xhc3MoVmVoaWNsZUNsYWltRGV0YWlscywgdXBkYXRlZERldGFpbHMsIHtleGNsdWRlUHJlZml4ZXM6IFsnQCddfSk7XG5cbiAgICAgICAgdGhpcy5jYWNoZSA9IGRldGFpbHM7XG4gICAgICAgIHRoaXMuY2FjaGVTdWJqZWN0Lm5leHQoZGV0YWlscyk7XG5cbiAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLlZFSElDTEVfQ0xBSU1fREVUQUlMU19VUERBVEVELCBkZXRhaWxzKSlcblxuICAgICAgICByZXR1cm4gZGV0YWlscztcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cblxuICAvKipcbiAgICogTGlzdGVuIGxvZ2Jvb2sgYmVzdCBwZXJpb2QgdXBkYXRlc1xuICAgKiBAVE9ETyBWaWs6IEJlc3QgcGVyaW9kIG1vdmUgdGhpcyBhbmQgcmVsYXRlZCBsb2dpYyB0byBiYWNrZW5kXG4gICAqL1xuICBwcml2YXRlIGxpc3RlbkJlc3RQZXJpb2RDaGFuZ2VzKCkge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLlZFSElDTEVfTE9HQk9PS19CRVNUX1BFUklPRF9VUERBVEVEKVxuICAgICAgLnN1YnNjcmliZSgoYmVzdFBlcmlvZDogTG9nYm9va1BlcmlvZCkgPT4ge1xuICAgICAgICAvLyBTZXQgZGV0YWlscyBhcyBtYW51YWwgaWYgYmVzdCBwZXJpb2Qgc3RvcCBleGlzdCAocmVtb3ZlZCBsb2dib29rIGNhc2UpXG4gICAgICAgIGlmICghYmVzdFBlcmlvZCkge1xuICAgICAgICAgIHRoaXMudXBkYXRlVG9NYW51YWwoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuXG4gIC8qKlxuICAgKiBTZXQgdmVoaWNsZSBjbGFpbSBkZXRhaWxzIGFzIG1hbnVhbFxuICAgKiBAVE9ETyBWaWs6IEJlc3QgcGVyaW9kIG1vdmUgdGhpcyBhbmQgcmVsYXRlZCBsb2dpYyB0byBiYWNrZW5kXG4gICAqL1xuICBwcml2YXRlIHVwZGF0ZVRvTWFudWFsKCk6IHZvaWQge1xuICAgIC8vIFdlIGFyZSBzdXJlIHRoaXMuY2FjaGUgZXhpc3QgaGVyZSBiZWNhdXNlIGxvZ2Jvb2sgYmVzdCBwZXJpb2QgY2FsY3VsYXRpb24gaXMgYmFzZWQgb24gdmVoaWNsZSBjbGFpbSBkZXRhaWxzLFxuICAgIC8vIHNvIGJlZm9yZSB3ZSBjYW4gZ2V0IGxvZ2Jvb2sgYmVzdCBwZXJpb2QgY2hhbmdlcywgd2UgbXVzdCBnZXQgdmVoaWNsZSBjbGFpbSBkZXRhaWxzXG4gICAgY29uc3QgdmVoaWNsZUNsYWltRGV0YWlsczogVmVoaWNsZUNsYWltRGV0YWlscyA9IHBsYWluVG9DbGFzcyhcbiAgICAgIFZlaGljbGVDbGFpbURldGFpbHMsXG4gICAgICBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmNhY2hlLCB7aXNNYW51YWw6IHRydWV9KVxuICAgICk7XG5cbiAgICAvLyB0YWtlKDEpIGlzIHVzaW5nIHRvIGF2b2lkIHVubmVjZXNzYXJ5IGNhbGxiYWNrIGNhbGxpbmcgd2hlIHVzZXIgdXBkYXRlZCBkZXRhaWxzIGRpcmVjdGx5XG4gICAgdGhpcy51cGRhdGUodmVoaWNsZUNsYWltRGV0YWlscykucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS1jbGFpbS1kZXRhaWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC92ZWhpY2xlL3ZlaGljbGUtY2xhaW0tZGV0YWlscy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBaUIsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRSxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxHQUFHLEVBQVEsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7O0FBRzdFOztHQUVHO0FBSUgsTUFBTSxPQUFPLDBCQUEwQjtJQUtyQyxZQUNtQyxXQUFnQixFQUN6QyxJQUFnQixFQUNoQixzQkFBOEM7UUFGckIsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFDekMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBTnhELGlCQUFZLEdBQXVDLElBQUksYUFBYSxDQUFzQixDQUFDLENBQUMsQ0FBQztRQUM3RixRQUFHLEdBQVcsdUJBQXVCLENBQUM7UUFPcEMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELEdBQUc7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFB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QUU7WUFDZixPQUFPO1NBQ1I7UUFFRCxNQUFNLG1CQUFtQixHQUF3QixZQUFZLENBQzNELG1CQUFtQixFQUNuQixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQ2hELENBQUM7UUFFRixJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDL0MsQ0FBQzs7d0hBOUZVLDBCQUEwQixrQkFNM0IsYUFBYTs0SEFOWiwwQkFBMEIsY0FGekIsTUFBTTs0RkFFUCwwQkFBMEI7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZlaGljbGVDbGFpbURldGFpbHMgYXMgVmVoaWNsZUNsYWltRGV0YWlsc0Jhc2UgfSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMvdmVoaWNsZS92ZWhpY2xlLWNsYWltLWRldGFpbHMnO1xuaW1wb3J0IHsgTG9nYm9va1BlcmlvZCwgVmVoaWNsZUNsYWltRGV0YWlscyB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgRXZlbnREaXNwYXRjaGVyU2VydmljZSB9IGZyb20gJy4uLy4uL2V2ZW50L2V2ZW50LWRpc3BhdGNoZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBFdmVudCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQnO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9ldmVudC1saXN0ZW5lci5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEBUT0RPIFRULTE3NzcgQWxleDogZXh0ZW5kIGZyb20gcmVzdCBzZXJ2aWNlIHdoZW4gaXQgcmVmYWN0b3JlZFxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBWZWhpY2xlQ2xhaW1EZXRhaWxzU2VydmljZSBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgY2FjaGU6IFZlaGljbGVDbGFpbURldGFpbHM7XG4gIGNhY2hlU3ViamVjdDogUmVwbGF5U3ViamVjdDxWZWhpY2xlQ2xhaW1EZXRhaWxzPiA9IG5ldyBSZXBsYXlTdWJqZWN0PFZlaGljbGVDbGFpbURldGFpbHM+KDEpO1xuICB1cmw6IHN0cmluZyA9ICd2ZWhpY2xlLWNsYWltLWRldGFpbHMnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJvdGVjdGVkIGVudmlyb25tZW50OiBhbnksXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgZXZlbnREaXNwYXRjaGVyU2VydmljZTogRXZlbnREaXNwYXRjaGVyU2VydmljZVxuICApIHtcbiAgICB0aGlzLmxpc3RlbkV2ZW50cygpO1xuICB9XG5cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuQmVzdFBlcmlvZENoYW5nZXMoKTtcbiAgfVxuXG4gIGdldCgpOiBPYnNlcnZhYmxlPFZlaGljbGVDbGFpbURldGFpbHM+IHtcbiAgICBpZiAoIXRoaXMuY2FjaGUpIHtcbiAgICAgIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH1gKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKHJlc3BvbnNlOiBvYmplY3QpOiBWZWhpY2xlQ2xhaW1EZXRhaWxzID0+IHBsYWluVG9DbGFzcyhWZWhpY2xlQ2xhaW1EZXRhaWxzLCByZXNwb25zZVsnaHlkcmE6bWVtYmVyJ11bMF0sIHtleGNsdWRlUHJlZml4ZXM6IFsnQCddfSkpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgodmVoaWNsZUNsYWltRGV0YWlsczogVmVoaWNsZUNsYWltRGV0YWlscykgPT4ge1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB2ZWhpY2xlQ2xhaW1EZXRhaWxzO1xuICAgICAgICAgIHRoaXMuY2FjaGVTdWJqZWN0Lm5leHQodGhpcy5jYWNoZSk7XG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY2FjaGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgYWRkKGRldGFpbHM6IFZlaGljbGVDbGFpbURldGFpbHMpOiBPYnNlcnZhYmxlPFZlaGljbGVDbGFpbURldGFpbHM+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH1gLCBkZXRhaWxzKS5waXBlKFxuICAgICAgbWFwKChuZXdEZXRhaWxzOiBWZWhpY2xlQ2xhaW1EZXRhaWxzQmFzZSkgPT4ge1xuICAgICAgICBjb25zdCBkZXRhaWxzOiBWZWhpY2xlQ2xhaW1EZXRhaWxzID0gcGxhaW5Ub0NsYXNzKFZlaGljbGVDbGFpbURldGFpbHMsIG5ld0RldGFpbHMpO1xuXG4gICAgICAgIHRoaXMuY2FjaGUgPSBkZXRhaWxzO1xuICAgICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KGRldGFpbHMpO1xuXG4gICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX0RFVEFJTFNfQ1JFQVRFRCwgZGV0YWlscykpXG5cbiAgICAgICAgcmV0dXJuIGRldGFpbHM7XG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIHVwZGF0ZShkZXRhaWxzOiBWZWhpY2xlQ2xhaW1EZXRhaWxzKTogT2JzZXJ2YWJsZTxWZWhpY2xlQ2xhaW1EZXRhaWxzPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vJHtkZXRhaWxzLmlkfWAsIGRldGFpbHMpLnBpcGUoXG4gICAgICBtYXAoKHVwZGF0ZWREZXRhaWxzOiBWZWhpY2xlQ2xhaW1EZXRhaWxzQmFzZSkgPT4ge1xuICAgICAgICBjb25zdCBkZXRhaWxzOiBWZWhpY2xlQ2xhaW1EZXRhaWxzID0gcGxhaW5Ub0NsYXNzKFZlaGljbGVDbGFpbURldGFpbHMsIHVwZGF0ZWREZXRhaWxzLCB7ZXhjbHVkZVByZWZpeGVzOiBbJ0AnXX0pO1xuXG4gICAgICAgIHRoaXMuY2FjaGUgPSBkZXRhaWxzO1xuICAgICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KGRldGFpbHMpO1xuXG4gICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX0RFVEFJTFNfVVBEQVRFRCwgZGV0YWlscykpXG5cbiAgICAgICAgcmV0dXJuIGRldGFpbHM7XG4gICAgICB9KVxuICAgIClcbiAgfVxuXG5cbiAgLyoqXG4gICAqIExpc3RlbiBsb2dib29rIGJlc3QgcGVyaW9kIHVwZGF0ZXNcbiAgICogQFRPRE8gVmlrOiBCZXN0IHBlcmlvZCBtb3ZlIHRoaXMgYW5kIHJlbGF0ZWQgbG9naWMgdG8gYmFja2VuZFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5CZXN0UGVyaW9kQ2hhbmdlcygpIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0xPR0JPT0tfQkVTVF9QRVJJT0RfVVBEQVRFRClcbiAgICAgIC5zdWJzY3JpYmUoKGJlc3RQZXJpb2Q6IExvZ2Jvb2tQZXJpb2QpID0+IHtcbiAgICAgICAgLy8gU2V0IGRldGFpbHMgYXMgbWFudWFsIGlmIGJlc3QgcGVyaW9kIHN0b3AgZXhpc3QgKHJlbW92ZWQgbG9nYm9vayBjYXNlKVxuICAgICAgICBpZiAoIWJlc3RQZXJpb2QpIHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZVRvTWFudWFsKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cblxuICAvKipcbiAgICogU2V0IHZlaGljbGUgY2xhaW0gZGV0YWlscyBhcyBtYW51YWxcbiAgICogQFRPRE8gVmlrOiBCZXN0IHBlcmlvZCBtb3ZlIHRoaXMgYW5kIHJlbGF0ZWQgbG9naWMgdG8gYmFja2VuZFxuICAgKi9cbiAgcHJpdmF0ZSB1cGRhdGVUb01hbnVhbCgpOiB2b2lkIHtcbiAgICAvLyBubyBuZWVkIHRvIHVwZGF0ZSBpZiBjYWNoZSBub3QgZXhpc3RcbiAgICBpZiAoIXRoaXMuY2FjaGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB2ZWhpY2xlQ2xhaW1EZXRhaWxzOiBWZWhpY2xlQ2xhaW1EZXRhaWxzID0gcGxhaW5Ub0NsYXNzKFxuICAgICAgVmVoaWNsZUNsYWltRGV0YWlscyxcbiAgICAgIE9iamVjdC5hc3NpZ24oe30sIHRoaXMuY2FjaGUsIHtpc01hbnVhbDogdHJ1ZX0pXG4gICAgKTtcblxuICAgIHRoaXMudXBkYXRlKHZlaGljbGVDbGFpbURldGFpbHMpLnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
@@ -3,7 +3,7 @@ import { VehicleClaim } from '../../../models';
3
3
  import { RestService } from '../rest/rest.service';
4
4
  import { AppEventTypeEnum } from '../../../models/event/app-event-type.enum';
5
5
  import { combineLatest } from 'rxjs';
6
- import { map, take } from 'rxjs/operators';
6
+ import { map } from 'rxjs/operators';
7
7
  import { AppEvent } from '../../../models/event/app-event';
8
8
  import { plainToClass } from 'class-transformer';
9
9
  import * as i0 from "@angular/core";
@@ -34,10 +34,7 @@ export class VehicleClaimService extends RestService {
34
34
  * when details method changed, all claims current values become 0
35
35
  */
36
36
  listenVehicleClaimDetailsChanges() {
37
- this.eventDispatcherService.on([
38
- AppEventTypeEnum.VEHICLE_CLAIM_DETAILS_CREATED,
39
- AppEventTypeEnum.VEHICLE_CLAIM_DETAILS_UPDATED
40
- ])
37
+ this.eventDispatcherService.on(AppEventTypeEnum.VEHICLE_CLAIM_DETAILS_UPDATED)
41
38
  .subscribe(() => {
42
39
  this.resetCache();
43
40
  });
@@ -62,14 +59,17 @@ export class VehicleClaimService extends RestService {
62
59
  * @TODO Vik: Best period move this and related logic to backend
63
60
  */
64
61
  updateWorkUsage(bestPeriod) {
65
- // We are sure this.cache exist here because logbook best period calculation is based on vehicle claims,
66
- // so before we can get logbook best period changes, we must get vehicle claims
62
+ // no need to update if cache not exist
63
+ if (!this.cache) {
64
+ return;
65
+ }
66
+ // @TODO Vik (TT-2210): need batch endpoint for this update
67
+ // @TODO Alex (TT-2210): fix frontend when endpoint ready
67
68
  const batch$ = this.cache.map((claim) => {
68
69
  const claimToUpdate = plainToClass(VehicleClaim, Object.assign({}, claim, { workUsage: bestPeriod === null || bestPeriod === void 0 ? void 0 : bestPeriod.getWorkUsageByClaim(claim) }));
69
70
  return this.update(claimToUpdate);
70
71
  });
71
- // take(1) is using to avoid unnecessary callback calling whe user updated details directly
72
- combineLatest(batch$).pipe(take(1)).subscribe();
72
+ combineLatest(batch$).subscribe();
73
73
  }
74
74
  }
75
75
  VehicleClaimService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: VehicleClaimService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
@@ -80,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
80
80
  providedIn: 'root'
81
81
  }]
82
82
  }] });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS1jbGFpbS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvdmVoaWNsZS92ZWhpY2xlLWNsYWltLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQWlCLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUU3RSxPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFLakQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFdBQTJDO0lBSHBGOztRQUlFLGVBQVUsR0FBd0IsWUFBWSxDQUFDO1FBQy9DLFFBQUcsR0FBVyxnQkFBZ0IsQ0FBQztLQThFaEM7SUE1RUMsWUFBWTtRQUNWLElBQUksQ0FBQyxnQ0FBZ0MsRUFBRSxDQUFDO1FBQ3hDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxHQUFHLENBQUMsS0FBbUI7UUFDckIsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDMUIsR0FBRyxDQUFDLENBQUMsWUFBMEIsRUFBRSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUV6RyxPQUFPLFlBQVksQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFtQixFQUFFLGNBQXNCLEVBQUU7UUFDbEQsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQzFDLEdBQUcsQ0FBQyxDQUFDLFlBQTBCLEVBQUUsRUFBRTtZQUNqQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFFekcsT0FBTyxZQUFZLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSyxnQ0FBZ0M7UUFDdEMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQztZQUM3QixnQkFBZ0IsQ0FBQyw2QkFBNkI7WUFDOUMsZ0JBQWdCLENBQUMsNkJBQTZCO1NBQy9DLENBQUM7YUFDQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVEOzs7T0FHRztJQUNLLHVCQUF1QjtRQUM3QixJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLG1DQUFtQyxDQUFDO2FBQ2pGLFNBQVMsQ0FBQyxDQUFDLFVBQXlCLEVBQUUsRUFBRTtZQUN2Qyx3REFBd0Q7WUFDeEQsbUZBQW1GO1lBQ25GLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ2YsT0FBTzthQUNSO1lBRUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFHRDs7O09BR0c7SUFDSyxlQUFlLENBQUMsVUFBeUI7UUFDL0Msd0dBQXdHO1FBQ3hHLCtFQUErRTtRQUMvRSxNQUFNLE1BQU0sR0FBK0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFtQixFQUFFLEVBQUU7WUFDaEYsTUFBTSxhQUFhLEdBQWlCLFlBQVksQ0FDOUMsWUFBWSxFQUNaLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFDLFNBQVMsRUFBRSxVQUFVLGFBQVYsVUFBVSx1QkFBVixVQUFVLENBQUUsbUJBQW1CLENBQUMsS0FBSyxDQUFDLEVBQUMsQ0FBQyxDQUM5RSxDQUFDO1lBRUYsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFBO1FBRUYsMkZBQTJGO1FBQzNGLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbEQsQ0FBQzs7aUhBL0VVLG1CQUFtQjtxSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZlaGljbGVDbGFpbSBhcyBWZWhpY2xlQ2xhaW1CYXNlIH0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzL3ZlaGljbGUvdmVoaWNsZS1jbGFpbSc7XG5pbXBvcnQgeyBMb2dib29rUGVyaW9kLCBWZWhpY2xlQ2xhaW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi9yZXN0L3Jlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBBcHBFdmVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudC10eXBlLmVudW0nO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2V2ZW50LWxpc3RlbmVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBcHBFdmVudCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBWZWhpY2xlQ2xhaW1TZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8VmVoaWNsZUNsYWltQmFzZSwgVmVoaWNsZUNsYWltPiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgbW9kZWxDbGFzczogdHlwZW9mIFZlaGljbGVDbGFpbSA9IFZlaGljbGVDbGFpbTtcbiAgdXJsOiBzdHJpbmcgPSAndmVoaWNsZS1jbGFpbXMnO1xuXG4gIGxpc3RlbkV2ZW50cygpIHtcbiAgICB0aGlzLmxpc3RlblZlaGljbGVDbGFpbURldGFpbHNDaGFuZ2VzKCk7XG4gICAgdGhpcy5saXN0ZW5CZXN0UGVyaW9kQ2hhbmdlcygpO1xuICB9XG5cbiAgYWRkKG1vZGVsOiBWZWhpY2xlQ2xhaW0pOiBPYnNlcnZhYmxlPFZlaGljbGVDbGFpbT4ge1xuICAgIHJldHVybiBzdXBlci5hZGQobW9kZWwpLnBpcGUoXG4gICAgICBtYXAoKHZlaGljbGVDbGFpbTogVmVoaWNsZUNsYWltKSA9PiB7XG4gICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX0NSRUFURUQsIHZlaGljbGVDbGFpbSkpO1xuXG4gICAgICAgIHJldHVybiB2ZWhpY2xlQ2xhaW07XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICB1cGRhdGUobW9kZWw6IFZlaGljbGVDbGFpbSwgcXVlcnlQYXJhbXM6IG9iamVjdCA9IHt9KTogT2JzZXJ2YWJsZTxWZWhpY2xlQ2xhaW0+IHtcbiAgICByZXR1cm4gc3VwZXIudXBkYXRlKG1vZGVsLCBxdWVyeVBhcmFtcykucGlwZShcbiAgICAgIG1hcCgodmVoaWNsZUNsYWltOiBWZWhpY2xlQ2xhaW0pID0+IHtcbiAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLlZFSElDTEVfQ0xBSU1fVVBEQVRFRCwgdmVoaWNsZUNsYWltKSk7XG5cbiAgICAgICAgcmV0dXJuIHZlaGljbGVDbGFpbTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRhaWxzIGNoYW5nZXMgbWF5IGFmZmVjdCB2ZWhpY2xlIGNsYWltczpcbiAgICogd2hlbiBkZXRhaWxzIG1ldGhvZCBjaGFuZ2VkLCBhbGwgY2xhaW1zIGN1cnJlbnQgdmFsdWVzIGJlY29tZSAwXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblZlaGljbGVDbGFpbURldGFpbHNDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihbXG4gICAgICBBcHBFdmVudFR5cGVFbnVtLlZFSElDTEVfQ0xBSU1fREVUQUlMU19DUkVBVEVELFxuICAgICAgQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX0RFVEFJTFNfVVBEQVRFRFxuICAgIF0pXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5yZXNldENhY2hlKCk7XG4gICAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIEJlc3QgcGVyaW9kIGNoYW5nZXMgYWZmZWN0IHRvIGNsYWltcyB3b3JrVXNhZ2VcbiAgICogQFRPRE8gVmlrOiBCZXN0IHBlcmlvZCBtb3ZlIHRoaXMgYW5kIHJlbGF0ZWQgbG9naWMgdG8gYmFja2VuZFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5CZXN0UGVyaW9kQ2hhbmdlcygpIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0xPR0JPT0tfQkVTVF9QRVJJT0RfVVBEQVRFRClcbiAgICAgIC5zdWJzY3JpYmUoKGJlc3RQZXJpb2Q6IExvZ2Jvb2tQZXJpb2QpID0+IHtcbiAgICAgICAgLy8gbm8gbmVlZCB0byB1cGRhdGUgY2xhaW1zIHdoZW4gYmVzdCBwZXJpb2QgYmVjb21lIG51bGxcbiAgICAgICAgLy8gKGNhc2Ugd2hlbiBsb2dib29rIHJlbW92ZWQgYW5kIHVzZXIgZG9uJ3QgaGF2ZSBlbm91Z2ggbG9nYm9va3MgZm9yIGNsYWltIHBlcmlvZClcbiAgICAgICAgaWYgKCFiZXN0UGVyaW9kKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVXb3JrVXNhZ2UoYmVzdFBlcmlvZCk7XG4gICAgICB9KTtcbiAgfVxuXG5cbiAgLyoqXG4gICAqIFVwZGF0ZSB3b3JrVXNhZ2UgZm9yIGFsbCB2ZWhpY2xlIGNsYWltcyBpZiBsb2dib29rIGJlc3QgcGVyaW9kIGNoYW5nZWRcbiAgICogQFRPRE8gVmlrOiBCZXN0IHBlcmlvZCBtb3ZlIHRoaXMgYW5kIHJlbGF0ZWQgbG9naWMgdG8gYmFja2VuZFxuICAgKi9cbiAgcHJpdmF0ZSB1cGRhdGVXb3JrVXNhZ2UoYmVzdFBlcmlvZDogTG9nYm9va1BlcmlvZCk6IHZvaWQge1xuICAgIC8vIFdlIGFyZSBzdXJlIHRoaXMuY2FjaGUgZXhpc3QgaGVyZSBiZWNhdXNlIGxvZ2Jvb2sgYmVzdCBwZXJpb2QgY2FsY3VsYXRpb24gaXMgYmFzZWQgb24gdmVoaWNsZSBjbGFpbXMsXG4gICAgLy8gc28gYmVmb3JlIHdlIGNhbiBnZXQgbG9nYm9vayBiZXN0IHBlcmlvZCBjaGFuZ2VzLCB3ZSBtdXN0IGdldCB2ZWhpY2xlIGNsYWltc1xuICAgIGNvbnN0IGJhdGNoJDogT2JzZXJ2YWJsZTxWZWhpY2xlQ2xhaW0+W10gPSB0aGlzLmNhY2hlLm1hcCgoY2xhaW06IFZlaGljbGVDbGFpbSkgPT4ge1xuICAgICAgY29uc3QgY2xhaW1Ub1VwZGF0ZTogVmVoaWNsZUNsYWltID0gcGxhaW5Ub0NsYXNzKFxuICAgICAgICBWZWhpY2xlQ2xhaW0sXG4gICAgICAgIE9iamVjdC5hc3NpZ24oe30sIGNsYWltLCB7d29ya1VzYWdlOiBiZXN0UGVyaW9kPy5nZXRXb3JrVXNhZ2VCeUNsYWltKGNsYWltKX0pXG4gICAgICApO1xuXG4gICAgICByZXR1cm4gdGhpcy51cGRhdGUoY2xhaW1Ub1VwZGF0ZSk7XG4gICAgfSlcblxuICAgIC8vIHRha2UoMSkgaXMgdXNpbmcgdG8gYXZvaWQgdW5uZWNlc3NhcnkgY2FsbGJhY2sgY2FsbGluZyB3aGUgdXNlciB1cGRhdGVkIGRldGFpbHMgZGlyZWN0bHlcbiAgICBjb21iaW5lTGF0ZXN0KGJhdGNoJCkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS1jbGFpbS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvdmVoaWNsZS92ZWhpY2xlLWNsYWltLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQWlCLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUU3RSxPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxHQUFHLEVBQVEsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUtqRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsV0FBMkM7SUFIcEY7O1FBSUUsZUFBVSxHQUF3QixZQUFZLENBQUM7UUFDL0MsUUFBRyxHQUFXLGdCQUFnQixDQUFDO0tBK0VoQztJQTdFQyxZQUFZO1FBQ1YsSUFBSSxDQUFDLGdDQUFnQyxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELEdBQUcsQ0FBQyxLQUFtQjtRQUNyQixPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUMxQixHQUFHLENBQUMsQ0FBQyxZQUEwQixFQUFFLEVBQUU7WUFDakMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO1lBRXpHLE9BQU8sWUFBWSxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQW1CLEVBQUUsY0FBc0IsRUFBRTtRQUNsRCxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FDMUMsR0FBRyxDQUFDLENBQUMsWUFBMEIsRUFBRSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUV6RyxPQUFPLFlBQVksQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNLLGdDQUFnQztRQUN0QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLDZCQUE2QixDQUFDO2FBQzNFLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssdUJBQXVCO1FBQzdCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsbUNBQW1DLENBQUM7YUFDakYsU0FBUyxDQUFDLENBQUMsVUFBeUIsRUFBRSxFQUFFO1lBQ3ZDLHdEQUF3RDtZQUN4RCxtRkFBbUY7WUFDbkYsSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDZixPQUFPO2FBQ1I7WUFFRCxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUdEOzs7T0FHRztJQUNLLGVBQWUsQ0FBQyxVQUF5QjtRQUMvQyx1Q0FBdUM7UUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixPQUFPO1NBQ1I7UUFFRCwyREFBMkQ7UUFDM0QseURBQXlEO1FBQ3pELE1BQU0sTUFBTSxHQUErQixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQW1CLEVBQUUsRUFBRTtZQUNoRixNQUFNLGFBQWEsR0FBaUIsWUFBWSxDQUM5QyxZQUFZLEVBQ1osTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUMsU0FBUyxFQUFFLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsRUFBQyxDQUFDLENBQzlFLENBQUM7WUFFRixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUE7UUFFRixhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDcEMsQ0FBQzs7aUhBaEZVLG1CQUFtQjtxSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZlaGljbGVDbGFpbSBhcyBWZWhpY2xlQ2xhaW1CYXNlIH0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzL3ZlaGljbGUvdmVoaWNsZS1jbGFpbSc7XG5pbXBvcnQgeyBMb2dib29rUGVyaW9kLCBWZWhpY2xlQ2xhaW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi9yZXN0L3Jlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBBcHBFdmVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudC10eXBlLmVudW0nO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2V2ZW50LWxpc3RlbmVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBcHBFdmVudCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBWZWhpY2xlQ2xhaW1TZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8VmVoaWNsZUNsYWltQmFzZSwgVmVoaWNsZUNsYWltPiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgbW9kZWxDbGFzczogdHlwZW9mIFZlaGljbGVDbGFpbSA9IFZlaGljbGVDbGFpbTtcbiAgdXJsOiBzdHJpbmcgPSAndmVoaWNsZS1jbGFpbXMnO1xuXG4gIGxpc3RlbkV2ZW50cygpIHtcbiAgICB0aGlzLmxpc3RlblZlaGljbGVDbGFpbURldGFpbHNDaGFuZ2VzKCk7XG4gICAgdGhpcy5saXN0ZW5CZXN0UGVyaW9kQ2hhbmdlcygpO1xuICB9XG5cbiAgYWRkKG1vZGVsOiBWZWhpY2xlQ2xhaW0pOiBPYnNlcnZhYmxlPFZlaGljbGVDbGFpbT4ge1xuICAgIHJldHVybiBzdXBlci5hZGQobW9kZWwpLnBpcGUoXG4gICAgICBtYXAoKHZlaGljbGVDbGFpbTogVmVoaWNsZUNsYWltKSA9PiB7XG4gICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX0NSRUFURUQsIHZlaGljbGVDbGFpbSkpO1xuXG4gICAgICAgIHJldHVybiB2ZWhpY2xlQ2xhaW07XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICB1cGRhdGUobW9kZWw6IFZlaGljbGVDbGFpbSwgcXVlcnlQYXJhbXM6IG9iamVjdCA9IHt9KTogT2JzZXJ2YWJsZTxWZWhpY2xlQ2xhaW0+IHtcbiAgICByZXR1cm4gc3VwZXIudXBkYXRlKG1vZGVsLCBxdWVyeVBhcmFtcykucGlwZShcbiAgICAgIG1hcCgodmVoaWNsZUNsYWltOiBWZWhpY2xlQ2xhaW0pID0+IHtcbiAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLlZFSElDTEVfQ0xBSU1fVVBEQVRFRCwgdmVoaWNsZUNsYWltKSk7XG5cbiAgICAgICAgcmV0dXJuIHZlaGljbGVDbGFpbTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRhaWxzIGNoYW5nZXMgbWF5IGFmZmVjdCB2ZWhpY2xlIGNsYWltczpcbiAgICogd2hlbiBkZXRhaWxzIG1ldGhvZCBjaGFuZ2VkLCBhbGwgY2xhaW1zIGN1cnJlbnQgdmFsdWVzIGJlY29tZSAwXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblZlaGljbGVDbGFpbURldGFpbHNDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLlZFSElDTEVfQ0xBSU1fREVUQUlMU19VUERBVEVEKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMucmVzZXRDYWNoZSgpO1xuICAgICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBCZXN0IHBlcmlvZCBjaGFuZ2VzIGFmZmVjdCB0byBjbGFpbXMgd29ya1VzYWdlXG4gICAqIEBUT0RPIFZpazogQmVzdCBwZXJpb2QgbW92ZSB0aGlzIGFuZCByZWxhdGVkIGxvZ2ljIHRvIGJhY2tlbmRcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuQmVzdFBlcmlvZENoYW5nZXMoKSB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uVkVISUNMRV9MT0dCT09LX0JFU1RfUEVSSU9EX1VQREFURUQpXG4gICAgICAuc3Vic2NyaWJlKChiZXN0UGVyaW9kOiBMb2dib29rUGVyaW9kKSA9PiB7XG4gICAgICAgIC8vIG5vIG5lZWQgdG8gdXBkYXRlIGNsYWltcyB3aGVuIGJlc3QgcGVyaW9kIGJlY29tZSBudWxsXG4gICAgICAgIC8vIChjYXNlIHdoZW4gbG9nYm9vayByZW1vdmVkIGFuZCB1c2VyIGRvbid0IGhhdmUgZW5vdWdoIGxvZ2Jvb2tzIGZvciBjbGFpbSBwZXJpb2QpXG4gICAgICAgIGlmICghYmVzdFBlcmlvZCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlV29ya1VzYWdlKGJlc3RQZXJpb2QpO1xuICAgICAgfSk7XG4gIH1cblxuXG4gIC8qKlxuICAgKiBVcGRhdGUgd29ya1VzYWdlIGZvciBhbGwgdmVoaWNsZSBjbGFpbXMgaWYgbG9nYm9vayBiZXN0IHBlcmlvZCBjaGFuZ2VkXG4gICAqIEBUT0RPIFZpazogQmVzdCBwZXJpb2QgbW92ZSB0aGlzIGFuZCByZWxhdGVkIGxvZ2ljIHRvIGJhY2tlbmRcbiAgICovXG4gIHByaXZhdGUgdXBkYXRlV29ya1VzYWdlKGJlc3RQZXJpb2Q6IExvZ2Jvb2tQZXJpb2QpOiB2b2lkIHtcbiAgICAvLyBubyBuZWVkIHRvIHVwZGF0ZSBpZiBjYWNoZSBub3QgZXhpc3RcbiAgICBpZiAoIXRoaXMuY2FjaGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBAVE9ETyBWaWsgKFRULTIyMTApOiBuZWVkIGJhdGNoIGVuZHBvaW50IGZvciB0aGlzIHVwZGF0ZVxuICAgIC8vIEBUT0RPIEFsZXggKFRULTIyMTApOiBmaXggZnJvbnRlbmQgd2hlbiBlbmRwb2ludCByZWFkeVxuICAgIGNvbnN0IGJhdGNoJDogT2JzZXJ2YWJsZTxWZWhpY2xlQ2xhaW0+W10gPSB0aGlzLmNhY2hlLm1hcCgoY2xhaW06IFZlaGljbGVDbGFpbSkgPT4ge1xuICAgICAgY29uc3QgY2xhaW1Ub1VwZGF0ZTogVmVoaWNsZUNsYWltID0gcGxhaW5Ub0NsYXNzKFxuICAgICAgICBWZWhpY2xlQ2xhaW0sXG4gICAgICAgIE9iamVjdC5hc3NpZ24oe30sIGNsYWltLCB7d29ya1VzYWdlOiBiZXN0UGVyaW9kPy5nZXRXb3JrVXNhZ2VCeUNsYWltKGNsYWltKX0pXG4gICAgICApO1xuXG4gICAgICByZXR1cm4gdGhpcy51cGRhdGUoY2xhaW1Ub1VwZGF0ZSk7XG4gICAgfSlcblxuICAgIGNvbWJpbmVMYXRlc3QoYmF0Y2gkKS5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19