taxtank-core 0.33.118 → 0.33.120

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.
@@ -49,7 +49,7 @@ export class Depreciation extends DepreciationBase {
49
49
  && !this.isSBPCalculation()
50
50
  && this.isDiminishing()
51
51
  && !this.isWrittenOff()
52
- && this.currentYearForecast.closeBalance <= Depreciation.lowValuePoolThreshold;
52
+ && this.currentYearForecast.openBalance <= Depreciation.lowValuePoolThreshold;
53
53
  }
54
54
  isSBP() {
55
55
  return this.isAsset() && this.isSBPCalculation() && !this.isWrittenOff();
@@ -155,7 +155,7 @@ __decorate([
155
155
  // @TODO refactor
156
156
  value.forEach((forecast) => {
157
157
  forecast.isLVP =
158
- forecast.closeBalance < 1000 &&
158
+ forecast.openBalance < 1000 &&
159
159
  obj.calculation === DepreciationCalculationEnum.DIMINISHING &&
160
160
  obj.type === DepreciationTypeEnum.PLANT_EQUIPMENT &&
161
161
  !(obj.amount > Depreciation.writtenOffThreshold && obj.amount < Depreciation.lowValuePoolThreshold) &&
@@ -176,4 +176,4 @@ __decorate([
176
176
  __decorate([
177
177
  Exclude()
178
178
  ], Depreciation.prototype, "gstClaimAmount", null);
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjaWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxJQUFJLGdCQUFnQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDN0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDM0YsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0M7O0dBRUc7QUFDSCxNQUFNLE9BQU8sWUFBYSxTQUFRLGdCQUFnQjtJQUFsRDs7UUF5Q0UsY0FBUyxHQUEyQixFQUFFLENBQUM7UUFRdkMsU0FBSSxHQUF5QixvQkFBb0IsQ0FBQyxlQUFlLENBQUM7UUFDbEUsV0FBTSxHQUFHLENBQUMsQ0FBQztJQXVJYixDQUFDO2FBeExRLHdCQUFtQixHQUFHLEdBQUcsQUFBTixDQUFPO2FBQzFCLDBCQUFxQixHQUFH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QkFBcUIsQ0FBQztvQkFDbkcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLElBQUksSUFBSSxhQUFhLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwRyxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyxDQUFDOytDQUNxQztBQUd2QztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUM7bURBQ0c7QUFHN0I7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDO3FEQUNLO0FBc0hqQztJQURDLE9BQU8sRUFBRTtpREFRVDtBQUdEO0lBREMsT0FBTyxFQUFFO2tEQUdUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVwcmVjaWF0aW9uIGFzIERlcHJlY2lhdGlvbkJhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbic7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25UeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL2RlcHJlY2lhdGlvbi10eXBlLmVudW0nO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uQ2FsY3VsYXRpb25FbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvZGVwcmVjaWF0aW9uLWNhbGN1bGF0aW9uLmVudW0nO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c0hlYWRpbmdWZWhpY2xlTGlzdEVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcyc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25DYXBpdGFsUHJvamVjdCB9IGZyb20gJy4vZGVwcmVjaWF0aW9uLWNhcGl0YWwtcHJvamVjdCc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25Gb3JlY2FzdCB9IGZyb20gJy4vZGVwcmVjaWF0aW9uLWZvcmVjYXN0JztcbmltcG9ydCB7IEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi9maW5hbmNpYWwteWVhcic7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzIH0gZnJvbSAnLi4vY2hhcnQtYWNjb3VudHMnO1xuaW1wb3J0IHsgQmFua1RyYW5zYWN0aW9uIH0gZnJvbSAnLi4vYmFuayc7XG5pbXBvcnQgeyBFeGNsdWRlLCBUcmFuc2Zvcm0sIFR5cGUsIHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgRXhwZW5zZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG4vKipcbiAqIEBUT0RPIEFsZXg6IGNsYXJpZnkgZ3JvdXBpbmcgcnVsZXMgYW5kIHJlZmFjdG9yXG4gKi9cbmV4cG9ydCBjbGFzcyBEZXByZWNpYXRpb24gZXh0ZW5kcyBEZXByZWNpYXRpb25CYXNlIGltcGxlbWVudHMgRXhwZW5zZSB7XG4gIHN0YXRpYyB3cml0dGVuT2ZmVGhyZXNob2xkID0gMzAwO1xuICBzdGF0aWMgbG93VmFsdWVQb29sVGhyZXNob2xkID0gMTAwMDtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBwdXJjaGFzZURhdGU6IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgZGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBjbGFpbVN0YXJ0RGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBsb3dWYWx1ZVBvb2xEYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIHdyaXRlT2ZmTWFudWFsRGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICB3cml0ZU9mZkRhdGU6IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gRGVwcmVjaWF0aW9uQ2FwaXRhbFByb2plY3QpXG4gIGRlcHJlY2lhdGlvbkNhcGl0YWxQcm9qZWN0OiBEZXByZWNpYXRpb25DYXBpdGFsUHJvamVjdDtcblxuICBAVHlwZSgoKSA9PiBEZXByZWNpYXRpb25Gb3JlY2FzdClcbiAgQFRyYW5zZm9ybSgoeyB2YWx1ZSwgb2JqIH0pID0+IHtcbiAgICAvLyB2YWx1ZSA9IGFycmF5IG9mIERlcHJlY2lhdGlvbkZvcmVjYXN0XG4gICAgLy8gb2JqID0gcGxhaW4gKHdob2xlIERlcHJlY2lhdGlvbiBvYmplY3QpXG4gICAgLy8gU2V0IGlzTFZQIGZsYWcgZm9yIGVhY2ggRGVwcmVjaWF0aW9uRm9yZWNhc3RcbiAgICAvLyBAVE9ETyByZWZhY3RvclxuICAgIHZhbHVlLmZvckVhY2goKGZvcmVjYXN0OiBEZXByZWNpYXRpb25Gb3JlY2FzdCk6IHZvaWQgPT4ge1xuICAgICAgZm9yZWNhc3QuaXNMVlAgPVxuICAgICAgICBmb3JlY2FzdC5jbG9zZUJhbGFuY2UgPCAxMDAwICYmXG4gICAgICAgIG9iai5jYWxjdWxhdGlvbiA9PT0gRGVwcmVjaWF0aW9uQ2FsY3VsYXRpb25FbnVtLkRJTUlOSVNISU5HICYmXG4gICAgICAgIG9iai50eXBlID09PSBEZXByZWNpYXRpb25UeXBlRW51bS5QTEFOVF9FUVVJUE1FTlQgJiZcbiAgICAgICAgIShvYmouYW1vdW50ID4gRGVwcmVjaWF0aW9uLndyaXR0ZW5PZmZUaHJlc2hvbGQgJiYgb2JqLmFtb3VudCA8IERlcHJlY2lhdGlvbi5sb3dWYWx1ZVBvb2xUaHJlc2hvbGQpICYmXG4gICAgICAgICEob2JqLndyaXRlT2ZmRGF0ZSAmJiBuZXcgRmluYW5jaWFsWWVhcihuZXcgRGF0ZShvYmoud3JpdGVPZmZEYXRlKSkueWVhciA9PT0gb2JqLmZpbmFuY2lhbFllYXIpO1xuICAgIH0pO1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfSlcbiAgZm9yZWNhc3RzOiBEZXByZWNpYXRpb25Gb3JlY2FzdFtdID0gW107XG5cbiAgQFR5cGUoKCkgPT4gQ2hhcnRBY2NvdW50cylcbiAgY2hhcnRBY2NvdW50czogQ2hhcnRBY2NvdW50cztcblxuICBAVHlwZSgoKSA9PiBCYW5rVHJhbnNhY3Rpb24pXG4gIGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uO1xuXG4gIHR5cGU6IERlcHJlY2lhdGlvblR5cGVFbnVtID0gRGVwcmVjaWF0aW9uVHlwZUVudW0uUExBTlRfRVFVSVBNRU5UO1xuICBhbW91bnQgPSAwO1xuXG4gIGlzQ2FwaXRhbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBEZXByZWNpYXRpb25UeXBlRW51bS5DQVBJVEFMX1dPUktTO1xuICB9XG5cbiAgaXNCb3Jyb3dpbmdFeHBlbnNlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IERlcHJlY2lhdGlvblR5cGVFbnVtLkJPUlJPV0lOR19FWFBFTlNFUztcbiAgfVxuXG4gIGlzQXNzZXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gRGVwcmVjaWF0aW9uVHlwZUVudW0uUExBTlRfRVFVSVBNRU5UO1xuICB9XG5cbiAgaXNTQlBDYWxjdWxhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jYWxjdWxhdGlvbiA9PT0gRGVwcmVjaWF0aW9uQ2FsY3VsYXRpb25FbnVtLlNCUDtcbiAgfVxuXG4gIGlzUHJpbWVDb3N0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNhbGN1bGF0aW9uID09PSBEZXByZWNpYXRpb25DYWxjdWxhdGlvbkVudW0uUFJJTUVfQ09TVDtcbiAgfVxuXG4gIGlzRGltaW5pc2hpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRpb24gPT09IERlcHJlY2lhdGlvbkNhbGN1bGF0aW9uRW51bS5ESU1JTklTSElORztcbiAgfVxuXG4gIC8vIFBvb2wgY2hlY2tpbmdcblxuICBpc1BsYW50RXF1aXBtZW50UG9vbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0Fzc2V0KCkgJiYgIXRoaXMuaXNTQlBDYWxjdWxhdGlvbigpICYmICF0aGlzLmlzV3JpdHRlbk9mZigpICYmICF0aGlzLmlzTFZQKCk7XG4gIH1cblxuICBpc0xWUCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0Fzc2V0KClcbiAgICAgICYmICF0aGlzLmlzU0JQQ2FsY3VsYXRpb24oKVxuICAgICAgJiYgdGhpcy5pc0RpbWluaXNoaW5nKClcbiAgICAgICYmICF0aGlzLmlzV3JpdHRlbk9mZigpXG4gICAgICAmJiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3QuY2xvc2VCYWxhbmNlIDw9IERlcHJlY2lhdGlvbi5sb3dWYWx1ZVBvb2xUaHJlc2hvbGQ7XG4gIH1cblxuICBpc1NCUCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0Fzc2V0KCkgJiYgdGhpcy5pc1NCUENhbGN1bGF0aW9uKCkgJiYgIXRoaXMuaXNXcml0dGVuT2ZmKCk7XG4gIH1cblxuICBpc1dyaXR0ZW5PZmYoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMud3JpdGVPZmZZZWFyID09PSBuZXcgRmluYW5jaWFsWWVhcigpLnllYXI7XG4gIH1cblxuICBnZXQgd3JpdGVPZmZZZWFyKCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLndyaXRlT2ZmTWFudWFsRGF0ZSAmJiAhdGhpcy53cml0ZU9mZkRhdGUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgRmluYW5jaWFsWWVhcih0aGlzLndyaXRlT2ZmTWFudWFsRGF0ZSB8fCB0aGlzLndyaXRlT2ZmRGF0ZSk/LnllYXI7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgZGVwcmVjaWF0aW9uIGNoYXJ0IGFjY291bnRzIGhlYWRpbmcgcmVsYXRlZCB0byB2ZWhpY2xlcyBjYXRlZ29yeVxuICAgKi9cbiAgaXNWZWhpY2xlRGVwcmVjaWF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNoYXJ0QWNjb3VudHMuaGVhZGluZz8uaWQgPT09IENoYXJ0QWNjb3VudHNIZWFkaW5nVmVoaWNsZUxpc3RFbnVtLkRFUFJFQ0lBVElPTl9WRUhJQ0xFUztcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyBWaWs6IFJlc2VhcmNoIGEgcHJvYmxlbSB3aXRoIGRlcHJlY2lhdGlvbnMgd2l0aG91dCBjdXJyZW50IHllYXIgZm9yZWNhc3RcbiAgICovXG4gIGdldCBjdXJyZW50WWVhckZvcmVjYXN0KCk6IERlcHJlY2lhdGlvbkZvcmVjYXN0IHtcbiAgICByZXR1cm4gdGhpcy5mb3JlY2FzdHMuZmluZChcbiAgICAgIChmb3JlY2FzdDogRGVwcmVjaWF0aW9uRm9yZWNhc3QpOiBib29sZWFuID0+IGZvcmVjYXN0LmZpbmFuY2lhbFllYXIgPT09IG5ldyBGaW5hbmNpYWxZZWFyKCkueWVhclxuICAgICkgfHwgcGxhaW5Ub0NsYXNzKERlcHJlY2lhdGlvbkZvcmVjYXN0LCB7XG4gICAgICBmaW5hbmNpYWxZZWFyOiBuZXcgRmluYW5jaWFsWWVhcigpLnllYXIsXG4gICAgICBvcGVuQmFsYW5jZTogMCxcbiAgICAgIGNsb3NlQmFsYW5jZTogMCxcbiAgICAgIGFtb3VudDogMCxcbiAgICAgIGNsYWltUGVyY2VudDogMFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0Rm9yZWNhc3RCeVllYXIoeWVhcjogbnVtYmVyKTogRGVwcmVjaWF0aW9uRm9yZWNhc3Qge1xuICAgIHJldHVybiB0aGlzLmZvcmVjYXN0cy5maW5kKChmb3JlY2FzdDogRGVwcmVjaWF0aW9uRm9yZWNhc3QpOiBib29sZWFuID0+IGZvcmVjYXN0LmZpbmFuY2lhbFllYXIgPT09IHllYXIpO1xuICB9XG5cbiAgZ2V0Q2xhaW1BbW91bnRCeVllYXIoeWVhcjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRGb3JlY2FzdEJ5WWVhcih5ZWFyKT8uY2xhaW1BbW91bnQgfHwgMDtcbiAgfVxuXG4gIGdldENsb3NlQmFsYW5jZUJ5WWVhcih5ZWFyOiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldEZvcmVjYXN0QnlZZWFyKHllYXIpPy5jbG9zZUJhbGFuY2UgfHwgMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgdHJhbnNhY3Rpb24gZnJvbSBjdXJyZW50IGRlcHJlY2lhdGlvblxuICAgKi9cbiAgdG9UcmFuc2FjdGlvbihwYXJhbXMgPSB7fSk6IFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCBjbGFpbVBlcmNlbnQgPSB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3Q/LmNsYWltUGVyY2VudCB8fCAwO1xuXG4gICAgcmV0dXJuIHBsYWluVG9DbGFzcyhcbiAgICAgIFRyYW5zYWN0aW9uLFxuICAgICAgT2JqZWN0LmFzc2lnbihwYXJhbXMsIHRoaXMsIHtcbiAgICAgICAgYW1vdW50OiAtdGhpcy5jdXJyZW50WWVhckZvcmVjYXN0Py5hbW91bnQgfHwgMCxcbiAgICAgICAgY2xhaW1BbW91bnQ6IC10aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3Q/LmNsYWltQW1vdW50IHx8IDAsXG4gICAgICAgIGNsYWltUGVyY2VudDogY2xhaW1QZXJjZW50LFxuICAgICAgICBzaGFyZWRDbGFpbVBlcmNlbnQ6IGNsYWltUGVyY2VudCxcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyBNaWNoYWVsOiByZW1vdmUgYW5kIGNoZWNrIGV2ZXJ5d2hlcmUgaW4gcmVwb3J0c1xuICAgKi9cbiAgZ2V0IGNsYWltQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFllYXJGb3JlY2FzdD8uY2xhaW1BbW91bnQgfHwgMDtcbiAgfVxuXG4gIEBFeGNsdWRlKClcbiAgZ2V0IGFtb3VudFdpdGhHc3QoKTogbnVtYmVyIHtcbiAgICAvLyBnc3QgYXBwbGllcyBvbmx5IHRvIG5ldyBhc3NldHNcbiAgICBpZiAodGhpcy5pc0N1cnJlbnRZZWFyQnV5KCkpIHtcbiAgICAgIHJldHVybiBzdXBlci5hbW91bnRXaXRoR3N0O1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmFtb3VudDtcbiAgfVxuXG4gIEBFeGNsdWRlKClcbiAgZ2V0IGdzdENsYWltQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ3N0QW1vdW50ICogdGhpcy5jdXJyZW50WWVhckZvcmVjYXN0Py5jbGFpbVJhdGU7XG4gIH1cblxuICAvKipcbiAgICogYXNzZXRzIHB1cmNoYXNlZCBpbiB0aGUgY3VycmVudCBmaW5hbmNpYWwgeWVhclxuICAgKi9cbiAgaXNDdXJyZW50WWVhckJ1eSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gbmV3IEZpbmFuY2lhbFllYXIodGhpcy5kYXRlKS55ZWFyID09PSBuZXcgRmluYW5jaWFsWWVhcigpLnllYXJcbiAgfVxufVxuIl19
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjaWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxJQUFJLGdCQUFnQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDN0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDM0YsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0M7O0dBRUc7QUFDSCxNQUFNLE9BQU8sWUFBYSxTQUFRLGdCQUFnQjtJQUFsRDs7UUF5Q0UsY0FBUyxHQUEyQixFQUFFLENBQUM7UUFRdkMsU0FBSSxHQUF5QixvQkFBb0IsQ0FBQyxlQUFlLENBQUM7UUFDbEUsV0FBTSxHQUFHLENBQUMsQ0FBQztJQXVJYixDQUFDO2FBeExRLHdCQUFtQixHQUFHLEdBQUcsQUFBTixDQUFPO2FBQzFCLDBCQUFxQixHQUFH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QkFBcUIsQ0FBQztvQkFDbkcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLElBQUksSUFBSSxhQUFhLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwRyxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyxDQUFDOytDQUNxQztBQUd2QztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUM7bURBQ0c7QUFHN0I7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDO3FEQUNLO0FBc0hqQztJQURDLE9BQU8sRUFBRTtpREFRVDtBQUdEO0lBREMsT0FBTyxFQUFFO2tEQUdUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVwcmVjaWF0aW9uIGFzIERlcHJlY2lhdGlvbkJhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbic7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25UeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL2RlcHJlY2lhdGlvbi10eXBlLmVudW0nO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uQ2FsY3VsYXRpb25FbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvZGVwcmVjaWF0aW9uLWNhbGN1bGF0aW9uLmVudW0nO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c0hlYWRpbmdWZWhpY2xlTGlzdEVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcyc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25DYXBpdGFsUHJvamVjdCB9IGZyb20gJy4vZGVwcmVjaWF0aW9uLWNhcGl0YWwtcHJvamVjdCc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25Gb3JlY2FzdCB9IGZyb20gJy4vZGVwcmVjaWF0aW9uLWZvcmVjYXN0JztcbmltcG9ydCB7IEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi9maW5hbmNpYWwteWVhcic7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzIH0gZnJvbSAnLi4vY2hhcnQtYWNjb3VudHMnO1xuaW1wb3J0IHsgQmFua1RyYW5zYWN0aW9uIH0gZnJvbSAnLi4vYmFuayc7XG5pbXBvcnQgeyBFeGNsdWRlLCBUcmFuc2Zvcm0sIFR5cGUsIHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgRXhwZW5zZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG4vKipcbiAqIEBUT0RPIEFsZXg6IGNsYXJpZnkgZ3JvdXBpbmcgcnVsZXMgYW5kIHJlZmFjdG9yXG4gKi9cbmV4cG9ydCBjbGFzcyBEZXByZWNpYXRpb24gZXh0ZW5kcyBEZXByZWNpYXRpb25CYXNlIGltcGxlbWVudHMgRXhwZW5zZSB7XG4gIHN0YXRpYyB3cml0dGVuT2ZmVGhyZXNob2xkID0gMzAwO1xuICBzdGF0aWMgbG93VmFsdWVQb29sVGhyZXNob2xkID0gMTAwMDtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBwdXJjaGFzZURhdGU6IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgZGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBjbGFpbVN0YXJ0RGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBsb3dWYWx1ZVBvb2xEYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIHdyaXRlT2ZmTWFudWFsRGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICB3cml0ZU9mZkRhdGU6IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gRGVwcmVjaWF0aW9uQ2FwaXRhbFByb2plY3QpXG4gIGRlcHJlY2lhdGlvbkNhcGl0YWxQcm9qZWN0OiBEZXByZWNpYXRpb25DYXBpdGFsUHJvamVjdDtcblxuICBAVHlwZSgoKSA9PiBEZXByZWNpYXRpb25Gb3JlY2FzdClcbiAgQFRyYW5zZm9ybSgoeyB2YWx1ZSwgb2JqIH0pID0+IHtcbiAgICAvLyB2YWx1ZSA9IGFycmF5IG9mIERlcHJlY2lhdGlvbkZvcmVjYXN0XG4gICAgLy8gb2JqID0gcGxhaW4gKHdob2xlIERlcHJlY2lhdGlvbiBvYmplY3QpXG4gICAgLy8gU2V0IGlzTFZQIGZsYWcgZm9yIGVhY2ggRGVwcmVjaWF0aW9uRm9yZWNhc3RcbiAgICAvLyBAVE9ETyByZWZhY3RvclxuICAgIHZhbHVlLmZvckVhY2goKGZvcmVjYXN0OiBEZXByZWNpYXRpb25Gb3JlY2FzdCk6IHZvaWQgPT4ge1xuICAgICAgZm9yZWNhc3QuaXNMVlAgPVxuICAgICAgICBmb3JlY2FzdC5vcGVuQmFsYW5jZSA8IDEwMDAgJiZcbiAgICAgICAgb2JqLmNhbGN1bGF0aW9uID09PSBEZXByZWNpYXRpb25DYWxjdWxhdGlvbkVudW0uRElNSU5JU0hJTkcgJiZcbiAgICAgICAgb2JqLnR5cGUgPT09IERlcHJlY2lhdGlvblR5cGVFbnVtLlBMQU5UX0VRVUlQTUVOVCAmJlxuICAgICAgICAhKG9iai5hbW91bnQgPiBEZXByZWNpYXRpb24ud3JpdHRlbk9mZlRocmVzaG9sZCAmJiBvYmouYW1vdW50IDwgRGVwcmVjaWF0aW9uLmxvd1ZhbHVlUG9vbFRocmVzaG9sZCkgJiZcbiAgICAgICAgIShvYmoud3JpdGVPZmZEYXRlICYmIG5ldyBGaW5hbmNpYWxZZWFyKG5ldyBEYXRlKG9iai53cml0ZU9mZkRhdGUpKS55ZWFyID09PSBvYmouZmluYW5jaWFsWWVhcik7XG4gICAgfSk7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9KVxuICBmb3JlY2FzdHM6IERlcHJlY2lhdGlvbkZvcmVjYXN0W10gPSBbXTtcblxuICBAVHlwZSgoKSA9PiBDaGFydEFjY291bnRzKVxuICBjaGFydEFjY291bnRzOiBDaGFydEFjY291bnRzO1xuXG4gIEBUeXBlKCgpID0+IEJhbmtUcmFuc2FjdGlvbilcbiAgYmFua1RyYW5zYWN0aW9uOiBCYW5rVHJhbnNhY3Rpb247XG5cbiAgdHlwZTogRGVwcmVjaWF0aW9uVHlwZUVudW0gPSBEZXByZWNpYXRpb25UeXBlRW51bS5QTEFOVF9FUVVJUE1FTlQ7XG4gIGFtb3VudCA9IDA7XG5cbiAgaXNDYXBpdGFsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IERlcHJlY2lhdGlvblR5cGVFbnVtLkNBUElUQUxfV09SS1M7XG4gIH1cblxuICBpc0JvcnJvd2luZ0V4cGVuc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gRGVwcmVjaWF0aW9uVHlwZUVudW0uQk9SUk9XSU5HX0VYUEVOU0VTO1xuICB9XG5cbiAgaXNBc3NldCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBEZXByZWNpYXRpb25UeXBlRW51bS5QTEFOVF9FUVVJUE1FTlQ7XG4gIH1cblxuICBpc1NCUENhbGN1bGF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNhbGN1bGF0aW9uID09PSBEZXByZWNpYXRpb25DYWxjdWxhdGlvbkVudW0uU0JQO1xuICB9XG5cbiAgaXNQcmltZUNvc3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRpb24gPT09IERlcHJlY2lhdGlvbkNhbGN1bGF0aW9uRW51bS5QUklNRV9DT1NUO1xuICB9XG5cbiAgaXNEaW1pbmlzaGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jYWxjdWxhdGlvbiA9PT0gRGVwcmVjaWF0aW9uQ2FsY3VsYXRpb25FbnVtLkRJTUlOSVNISU5HO1xuICB9XG5cbiAgLy8gUG9vbCBjaGVja2luZ1xuXG4gIGlzUGxhbnRFcXVpcG1lbnRQb29sKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzQXNzZXQoKSAmJiAhdGhpcy5pc1NCUENhbGN1bGF0aW9uKCkgJiYgIXRoaXMuaXNXcml0dGVuT2ZmKCkgJiYgIXRoaXMuaXNMVlAoKTtcbiAgfVxuXG4gIGlzTFZQKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzQXNzZXQoKVxuICAgICAgJiYgIXRoaXMuaXNTQlBDYWxjdWxhdGlvbigpXG4gICAgICAmJiB0aGlzLmlzRGltaW5pc2hpbmcoKVxuICAgICAgJiYgIXRoaXMuaXNXcml0dGVuT2ZmKClcbiAgICAgICYmIHRoaXMuY3VycmVudFllYXJGb3JlY2FzdC5vcGVuQmFsYW5jZSA8PSBEZXByZWNpYXRpb24ubG93VmFsdWVQb29sVGhyZXNob2xkO1xuICB9XG5cbiAgaXNTQlAoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNBc3NldCgpICYmIHRoaXMuaXNTQlBDYWxjdWxhdGlvbigpICYmICF0aGlzLmlzV3JpdHRlbk9mZigpO1xuICB9XG5cbiAgaXNXcml0dGVuT2ZmKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLndyaXRlT2ZmWWVhciA9PT0gbmV3IEZpbmFuY2lhbFllYXIoKS55ZWFyO1xuICB9XG5cbiAgZ2V0IHdyaXRlT2ZmWWVhcigpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy53cml0ZU9mZk1hbnVhbERhdGUgJiYgIXRoaXMud3JpdGVPZmZEYXRlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEZpbmFuY2lhbFllYXIodGhpcy53cml0ZU9mZk1hbnVhbERhdGUgfHwgdGhpcy53cml0ZU9mZkRhdGUpPy55ZWFyO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGRlcHJlY2lhdGlvbiBjaGFydCBhY2NvdW50cyBoZWFkaW5nIHJlbGF0ZWQgdG8gdmVoaWNsZXMgY2F0ZWdvcnlcbiAgICovXG4gIGlzVmVoaWNsZURlcHJlY2lhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jaGFydEFjY291bnRzLmhlYWRpbmc/LmlkID09PSBDaGFydEFjY291bnRzSGVhZGluZ1ZlaGljbGVMaXN0RW51bS5ERVBSRUNJQVRJT05fVkVISUNMRVM7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gVmlrOiBSZXNlYXJjaCBhIHByb2JsZW0gd2l0aCBkZXByZWNpYXRpb25zIHdpdGhvdXQgY3VycmVudCB5ZWFyIGZvcmVjYXN0XG4gICAqL1xuICBnZXQgY3VycmVudFllYXJGb3JlY2FzdCgpOiBEZXByZWNpYXRpb25Gb3JlY2FzdCB7XG4gICAgcmV0dXJuIHRoaXMuZm9yZWNhc3RzLmZpbmQoXG4gICAgICAoZm9yZWNhc3Q6IERlcHJlY2lhdGlvbkZvcmVjYXN0KTogYm9vbGVhbiA9PiBmb3JlY2FzdC5maW5hbmNpYWxZZWFyID09PSBuZXcgRmluYW5jaWFsWWVhcigpLnllYXJcbiAgICApIHx8IHBsYWluVG9DbGFzcyhEZXByZWNpYXRpb25Gb3JlY2FzdCwge1xuICAgICAgZmluYW5jaWFsWWVhcjogbmV3IEZpbmFuY2lhbFllYXIoKS55ZWFyLFxuICAgICAgb3BlbkJhbGFuY2U6IDAsXG4gICAgICBjbG9zZUJhbGFuY2U6IDAsXG4gICAgICBhbW91bnQ6IDAsXG4gICAgICBjbGFpbVBlcmNlbnQ6IDBcbiAgICB9KTtcbiAgfVxuXG4gIGdldEZvcmVjYXN0QnlZZWFyKHllYXI6IG51bWJlcik6IERlcHJlY2lhdGlvbkZvcmVjYXN0IHtcbiAgICByZXR1cm4gdGhpcy5mb3JlY2FzdHMuZmluZCgoZm9yZWNhc3Q6IERlcHJlY2lhdGlvbkZvcmVjYXN0KTogYm9vbGVhbiA9PiBmb3JlY2FzdC5maW5hbmNpYWxZZWFyID09PSB5ZWFyKTtcbiAgfVxuXG4gIGdldENsYWltQW1vdW50QnlZZWFyKHllYXI6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Rm9yZWNhc3RCeVllYXIoeWVhcik/LmNsYWltQW1vdW50IHx8IDA7XG4gIH1cblxuICBnZXRDbG9zZUJhbGFuY2VCeVllYXIoeWVhcjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRGb3JlY2FzdEJ5WWVhcih5ZWFyKT8uY2xvc2VCYWxhbmNlIHx8IDA7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IHRyYW5zYWN0aW9uIGZyb20gY3VycmVudCBkZXByZWNpYXRpb25cbiAgICovXG4gIHRvVHJhbnNhY3Rpb24ocGFyYW1zID0ge30pOiBUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgY2xhaW1QZXJjZW50ID0gdGhpcy5jdXJyZW50WWVhckZvcmVjYXN0Py5jbGFpbVBlcmNlbnQgfHwgMDtcblxuICAgIHJldHVybiBwbGFpblRvQ2xhc3MoXG4gICAgICBUcmFuc2FjdGlvbixcbiAgICAgIE9iamVjdC5hc3NpZ24ocGFyYW1zLCB0aGlzLCB7XG4gICAgICAgIGFtb3VudDogLXRoaXMuY3VycmVudFllYXJGb3JlY2FzdD8uYW1vdW50IHx8IDAsXG4gICAgICAgIGNsYWltQW1vdW50OiAtdGhpcy5jdXJyZW50WWVhckZvcmVjYXN0Py5jbGFpbUFtb3VudCB8fCAwLFxuICAgICAgICBjbGFpbVBlcmNlbnQ6IGNsYWltUGVyY2VudCxcbiAgICAgICAgc2hhcmVkQ2xhaW1QZXJjZW50OiBjbGFpbVBlcmNlbnQsXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gTWljaGFlbDogcmVtb3ZlIGFuZCBjaGVjayBldmVyeXdoZXJlIGluIHJlcG9ydHNcbiAgICovXG4gIGdldCBjbGFpbUFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3Q/LmNsYWltQW1vdW50IHx8IDA7XG4gIH1cblxuICBARXhjbHVkZSgpXG4gIGdldCBhbW91bnRXaXRoR3N0KCk6IG51bWJlciB7XG4gICAgLy8gZ3N0IGFwcGxpZXMgb25seSB0byBuZXcgYXNzZXRzXG4gICAgaWYgKHRoaXMuaXNDdXJyZW50WWVhckJ1eSgpKSB7XG4gICAgICByZXR1cm4gc3VwZXIuYW1vdW50V2l0aEdzdDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5hbW91bnQ7XG4gIH1cblxuICBARXhjbHVkZSgpXG4gIGdldCBnc3RDbGFpbUFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdzdEFtb3VudCAqIHRoaXMuY3VycmVudFllYXJGb3JlY2FzdD8uY2xhaW1SYXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIGFzc2V0cyBwdXJjaGFzZWQgaW4gdGhlIGN1cnJlbnQgZmluYW5jaWFsIHllYXJcbiAgICovXG4gIGlzQ3VycmVudFllYXJCdXkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIG5ldyBGaW5hbmNpYWxZZWFyKHRoaXMuZGF0ZSkueWVhciA9PT0gbmV3IEZpbmFuY2lhbFllYXIoKS55ZWFyXG4gIH1cbn1cbiJdfQ==
@@ -78,7 +78,7 @@ export class PropertyEquityChartData {
78
78
  items.forEach((item) => {
79
79
  // increase item values with property actual forecasts for item year
80
80
  item.marketValue = this.properties.items.reduce((sum, property) => sum + this.getMarketValueForPropertyByYear(property, item.year), 0);
81
- item.loanBalance = Math.abs(this.properties.items.reduce((sum, property) => sum + this.getLoanBalanceByYear(property, item.year), 0));
81
+ item.loanBalance = this.properties.items.reduce((sum, property) => sum + this.getLoanBalanceByYear(property, item.year), 0);
82
82
  });
83
83
  }
84
84
  /**
@@ -134,7 +134,7 @@ export class PropertyEquityChartData {
134
134
  if (year == this.currentYear) {
135
135
  return bankAccounts.items.reduce((totalSum, bankAccount) => totalSum + (bankAccount.getPropertyPercentage(property.id) * (Math.abs(loans.getByBankAccountId(bankAccount.id)?.currentBalance) || 0)), 0) - offset;
136
136
  }
137
- return property.getForecastByYear(year).loanBalance - offset;
137
+ return Math.abs(property.getForecastByYear(year).loanBalance) - offset;
138
138
  // @TODO TT-4888 no idea why it was calculated like that
139
139
  // return property.getValuationByYear(year).marketValue - offset;
140
140
  }
@@ -165,4 +165,4 @@ export class PropertyEquityChartData {
165
165
  });
166
166
  }
167
167
  }
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZXF1aXR5LWNoYXJ0LWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LWVxdWl0eS1jaGFydC1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBT3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUdoRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRCxtQ0FBbUM7QUFDbkMsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDO0FBRTFCOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLHVCQUF1QjtJQU1sQyxZQUNVLFVBQThCLEVBQzlCLFVBQXVDLEVBQ3ZDLFlBQW1DLEVBQ25DLEtBQXFCLEVBQ3JCLFlBQWtCO1FBSmxCLGVBQVUsR0FBVixVQUFVLENBQW9CO1FBQzlCLGVBQVUsR0FBVixVQUFVLENBQTZCO1FBQ3ZDLGlCQUFZLEdBQVosWUFBWSxDQUF1QjtRQUNuQyxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixpQkFBWSxHQUFaLFlBQVksQ0FBTTtRQUUxQixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQzVELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUN0RCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxvQkFB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QUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO2FBQ3pCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZmlyc3QgZnJvbSAnbG9kYXNoL2ZpcnN0JztcbmltcG9ydCB7IFByb3BlcnR5RXF1aXR5Q2hhcnRJdGVtIH0gZnJvbSAnLi9wcm9wZXJ0eS1lcXVpdHktY2hhcnQtaXRlbSc7XG5pbXBvcnQge1xuICBCYW5rQWNjb3VudENvbGxlY3Rpb24sXG4gIExvYW5Db2xsZWN0aW9uLFxuICBQcm9wZXJ0eUNvbGxlY3Rpb24sXG4gIFByb3BlcnR5VmFsdWF0aW9uQ29sbGVjdGlvblxufSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBGaW5hbmNpYWxZZWFyIH0gZnJvbSAnLi4vZmluYW5jaWFsLXllYXInO1xuaW1wb3J0IHsgUHJvcGVydHlFcXVpdHlDaGFydFR5cGVFbnVtIH0gZnJvbSAnLi9wcm9wZXJ0eS1lcXVpdHktY2hhcnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IFByb3BlcnR5IH0gZnJvbSAnLi9wcm9wZXJ0eSc7XG5pbXBvcnQgeyBCYW5rQWNjb3VudCB9IGZyb20gJy4uL2JhbmsnO1xuaW1wb3J0IHsgQmFua0FjY291bnRUeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zJztcblxuLy8gY291bnQgb2YgeWVhcnMgZm9yIGZ1dHVyZSB2YWx1ZXNcbmNvbnN0IEZPUkVDQVNUX1lFQVJTID0gMjU7XG5cbi8qKlxuICogY2xhc3MgY29udGFpbiBhY3R1YWwgYW5kIGZvcmVjYXN0ZWQgbWFya2V0IHZhbHVlcyBhbmQgbG9hbiBiYWxhbmNlcyBmb3IgcGFzc2VkIHByb3BlcnRpZXNcbiAqIFggYXhpcyAtIHllYXJzIGZyb20gdGhlIGZpcnN0IGFjdHVhbCBkYXRhIHllYXIgdG8gdGhlIGxhc3QgZm9yZWNhc3RlZCB5ZWFyXG4gKiBZIGF4aXMgLSBhbW91bnRzIG9mIG1hcmtldCB2YWx1ZXMsIGxvYW4gYmFsYW5jZXNcbiAqIEFsc28gb24gaG92ZXIgYXBwZWFyIGVxdWl0eSBwb3NpdGlvbnMgcG9pbnRcbiAqL1xuZXhwb3J0IGNsYXNzIFByb3BlcnR5RXF1aXR5Q2hhcnREYXRhIHtcbiAgLy8gbGlzdCBvZiBlcXVpdHkgcG9zaXRpb25zIGZvciBhbGwgeWVhcnMgcmFuZ2VcbiAgbGlzdDogUHJvcGVydHlFcXVpdHlDaGFydEl0ZW1bXTtcbiAgLy8gY3VycmVudCBmaW5hbmNpYWwgeWVhclxuICBjdXJyZW50WWVhcjogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcHJvcGVydGllczogUHJvcGVydHlDb2xsZWN0aW9uLFxuICAgIHByaXZhdGUgdmFsdWF0aW9uczogUHJvcGVydHlWYWx1YXRpb25Db2xsZWN0aW9uLFxuICAgIHByaXZhdGUgYmFua0FjY291bnRzOiBCYW5rQWNjb3VudENvbGxlY3Rpb24sXG4gICAgcHJpdmF0ZSBsb2FuczogTG9hbkNvbGxlY3Rpb24sXG4gICAgcHJpdmF0ZSByZWdpc3RlckRhdGU6IERhdGVcbiAgKSB7XG4gICAgdGhpcy5iYW5rQWNjb3VudHMgPSBiYW5rQWNjb3VudHMuZ2V0TG9hbkFuZE9mZnNldEFjY291bnRzKCk7XG4gICAgdGhpcy5jdXJyZW50WWVhciA9IG5ldyBGaW5hbmNpYWxZZWFyKG5ldyBEYXRlKCkpLnllYXI7XG4gICAgdGhpcy5pbml0SXRlbXMoKTtcbiAgICB0aGlzLmJ1aWxkSGlzdG9yeUl0ZW1zKCk7XG4gICAgdGhpcy5idWlsZEFjdHVhbEl0ZW0oKTtcbiAgICB0aGlzLmJ1aWxkRm9yZWNhc3RlZEl0ZW1zKCk7XG4gICAgdGhpcy5jaGVja1plcm9Mb2FuQmFsYW5jZSgpO1xuICAgIHRoaXMuY2hlY2taZXJvTWFya2V0VmFsdWUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgaXRlbXMgbGlzdCBpbiBjaGFydCBzZXJpZXMgZm9ybWF0XG4gICAqIEBwYXJhbSB0eXBlXG4gICAqL1xuICBnZXRDaGFydFNlcmllcyh0eXBlOiBQcm9wZXJ0eUVxdWl0eUNoYXJ0VHlwZUVudW0pOiBudW1iZXJbXVtdIHtcbiAgICByZXR1cm4gdGhpcy5saXN0Lm1hcCgoaXRlbTogUHJvcGVydHlFcXVpdHlDaGFydEl0ZW0pID0+IGl0ZW0uZ2V0U2VyaWUodHlwZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBwcmVwYXJlZCBjaGFydCBkYXRhXG4gICAqL1xuICBnZXRDaGFydERhdGEoKTogb2JqZWN0W10ge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIGlkOiAnbWFya2V0VmFsdWUnLFxuICAgICAgICBuYW1lOiAnTWFya2V0IFZhbHVlJyxcbiAgICAgICAgc2VyaWVzOiB0aGlzLmdldENoYXJ0U2VyaWVzKFByb3BlcnR5RXF1aXR5Q2hhcnRUeXBlRW51bS5NQVJLRVRfVkFMVUUpLFxuICAgICAgICAvLyBkaXNwbGF5IGZ1dHVyZSBtYXJrZXQgdmFsdWUgd2l0aCBkYXNoIGxpbmUgYW5kIHBhc3QgbWFya2V0IHZhbHVlIHdpdGggc29saWQgbGluZVxuICAgICAgICB6b25lczogW3tcbiAgICAgICAgICAvLyBsaW5lIHN0eWxlIGFmdGVyIGN1cnJlbnQgY2FsZW5kYXIgeWVhclxuICAgICAgICAgIHZhbHVlOiB0aGlzLmN1cnJlbnRZZWFyLFxuICAgICAgICAgIGRhc2hTdHlsZTogJ1NvbGlkJ1xuICAgICAgICB9LCB7XG4gICAgICAgICAgLy8gZGVmYXVsdCBsaW5lIHN0eWxlXG4gICAgICAgICAgZGFzaFN0eWxlOiAnRGFzaCdcbiAgICAgICAgfV1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIC8vIGlkIHVzZWQgdG8gYWRkL3JlbW92ZSBzZXJpZSB0byBjaGFydFxuICAgICAgICBpZDogJ2xvYW5CYWxhbmNlJyxcbiAgICAgICAgbmFtZTogJ0xvYW4gQmFsYW5jZScsXG4gICAgICAgIHNlcmllczogdGhpcy5nZXRDaGFydFNlcmllcyhQcm9wZXJ0eUVxdWl0eUNoYXJ0VHlwZUVudW0uTE9BTl9CQUxBTkNFKVxuICAgICAgfVxuICAgIF07XG4gIH1cblxuICAvKipcbiAgICogY3JlYXRlIGVtcHR5IGVxdWl0eSBwb3NpdGlvbiBpdGVtIGZvciBlYWNoIHllYXIgaW4gY29sbGVjdGlvblxuICAgKi9cbiAgcHJpdmF0ZSBpbml0SXRlbXMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ID0gW107XG4gICAgZm9yIChsZXQgeWVhcjogbnVtYmVyID0gbmV3IEZpbmFuY2lhbFllYXIodGhpcy5yZWdpc3RlckRhdGUpLnllYXIgLSAxOyB5ZWFyIDw9ICh0aGlzLmN1cnJlbnRZZWFyICsgRk9SRUNBU1RfWUVBUlMpOyB5ZWFyKyspIHtcbiAgICAgIHRoaXMubGlzdC5wdXNoKG5ldyBQcm9wZXJ0eUVxdWl0eUNoYXJ0SXRlbSh5ZWFyKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIGNvbGxlY3QgZXF1aXR5IHBvc2l0aW9uIGl0ZW1zIHdpdGggcGFzdCB2YWx1ZXMgZnJvbSBwcm9wZXJ0aWVzIGZvcmVjYXN0c1xuICAgKi9cbiAgcHJpdmF0ZSBidWlsZEhpc3RvcnlJdGVtcygpOiB2b2lkIHtcbiAgICAvLyBnZXQgaXRlbXMgZm9yIHBhc3QgYW5kIGN1cnJlbnQgeWVhcnNcbiAgICBjb25zdCBpdGVtczogUHJvcGVydHlFcXVpdHlDaGFydEl0ZW1bXSA9IHRoaXMubGlzdC5maWx0ZXIoKGl0ZW06IFByb3BlcnR5RXF1aXR5Q2hhcnRJdGVtKSA9PiBpdGVtLnllYXIgPD0gdGhpcy5jdXJyZW50WWVhcik7XG4gICAgaXRlbXMuZm9yRWFjaCgoaXRlbTogUHJvcGVydHlFcXVpdHlDaGFydEl0ZW0pID0+IHtcbiAgICAgIC8vIGluY3JlYXNlIGl0ZW0gdmFsdWVzIHdpdGggcHJvcGVydHkgYWN0dWFsIGZvcmVjYXN0cyBmb3IgaXRlbSB5ZWFyXG4gICAgICBpdGVtLm1hcmtldFZhbHVlID0gdGhpcy5wcm9wZXJ0aWVzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHByb3BlcnR5OiBQcm9wZXJ0eSk6IG51bWJlciA9PiBzdW0gKyB0aGlzLmdldE1hcmtldFZhbHVlRm9yUHJvcGVydHlCeVllYXIocHJvcGVydHksIGl0ZW0ueWVhciksIDApO1xuXG4gICAgICBpdGVtLmxvYW5CYWxhbmNlID0gTWF0aC5hYnModGhpcy5wcm9wZXJ0aWVzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHByb3BlcnR5OiBQcm9wZXJ0eSk6IG51bWJlciA9PiBzdW0gKyB0aGlzLmdldExvYW5CYWxhbmNlQnlZZWFyKHByb3BlcnR5LCBpdGVtLnllYXIpLCAwKSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gcmVtb3ZlLCB0aGVyZSBpcyBubyBkaWZmZXJlbmNlIGJldHdlZW4gYWN0dWFsIGFuZCBoaXN0b3J5IGNhbGN1bGF0aW9uc1xuICAgKiBzZXQgYWN0dWFsIHllYXIncyByZWFsIGRhdGFcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgYnVpbGRBY3R1YWxJdGVtKCk6IHZvaWQge1xuICAgIGNvbnN0IGl0ZW06IFByb3BlcnR5RXF1aXR5Q2hhcnRJdGVtID0gdGhpcy5saXN0LmZpbmQoKGk6IFByb3BlcnR5RXF1aXR5Q2hhcnRJdGVtKSA9PiBpLnllYXIgPT09IHRoaXMuY3VycmVudFllYXIpO1xuICAgIGl0ZW0ubWFya2V0VmFsdWUgPSB0aGlzLnZhbHVhdGlvbnMuZ2V0TWFya2V0VmFsdWUobmV3IERhdGUoKSk7XG4gICAgaXRlbS5sb2FuQmFsYW5jZSA9IDA7XG4gICAgdGhpcy5wcm9wZXJ0aWVzLml0ZW1zLmZvckVhY2gocHJvcGVydHkgPT4ge1xuICAgICAgaXRlbS5sb2FuQmFsYW5jZSArPSB0aGlzLmdldExvYW5CYWxhbmNlQnlZZWFyKHByb3BlcnR5LCB0aGlzLmN1cnJlbnRZZWFyKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjb2xsZWN0IGVxdWl0eSBwb3NpdGlvbiBpdGVtcyB3aXRoIGZvcmVjYXN0ZWQgKGZ1dHVyZSkgY2FsY3VsYXRlZCB2YWx1ZXNcbiAgICovXG4gIHByaXZhdGUgYnVpbGRGb3JlY2FzdGVkSXRlbXMoKTogdm9pZCB7XG4gICAgLy8gY2FsY3VsYXRlIGZ1dHVyZSB2YWx1ZXMgZm9yIGFsbCBwcm9wZXJ0aWVzIHNlcGFyYXRlbHlcbiAgICB0aGlzLnByb3BlcnRpZXMuaXRlbXMuZm9yRWFjaCgocHJvcGVydHk6IFByb3BlcnR5KSA9PiB7XG4gICAgICBjb25zdCBtYXJrZXRWYWx1ZSA9IHRoaXMudmFsdWF0aW9ucy5maWx0ZXJCeSgncHJvcGVydHkuaWQnLCBwcm9wZXJ0eS5pZCkuZ2V0TWFya2V0VmFsdWUobmV3IERhdGUoKSk7XG4gICAgICBsZXQgZm9yZWNhc3RlZE1hcmtldFZhbHVlOiBudW1iZXIgPSAocHJvcGVydHkuZ3Jvd3RoUGVyY2VudCAvIDEwMCkgKiBtYXJrZXRWYWx1ZSArIG1hcmtldFZhbHVlO1xuXG4gICAgICAvLyBjYWxjdWxhdGUgZnV0dXJlIHZhbHVlcyBmb3IgZWFjaCBmdXR1cmUgeWVhciBmb3IgY3VycmVudCBoYW5kbGluZyBwcm9wZXJ0eVxuICAgICAgdGhpcy5saXN0XG4gICAgICAgIC5maWx0ZXIoKGl0ZW06IFByb3BlcnR5RXF1aXR5Q2hhcnRJdGVtKSA9PiBpdGVtLnllYXIgPiB0aGlzLmN1cnJlbnRZZWFyKVxuICAgICAgICAuZm9yRWFjaCgoaXRlbTogUHJvcGVydHlFcXVpdHlDaGFydEl0ZW0pID0+IHtcbiAgICAgICAgICAvLyBpbmNyZWFzZSBsb2FuIGJhbGFuY2UgYW1vdW50IGZvciBoYW5kbGluZyBlcXVpdHkgcG9zaXRpb24gaXRlbVxuICAgICAgICAgIGl0ZW0ubG9hbkJhbGFuY2UgKz0gdGhpcy5nZXRMb2FuQmFsYW5jZUJ5WWVhcihwcm9wZXJ0eSwgaXRlbS55ZWFyKTtcblxuICAgICAgICAgIC8vIGluY3JlYXNlIG1hcmtldCB2YWx1ZSBhbW91bnQgZm9yIGhhbmRsaW5nIGVxdWl0eSBwb3NpdGlvbiBpdGVtXG4gICAgICAgICAgaXRlbS5tYXJrZXRWYWx1ZSArPSBmb3JlY2FzdGVkTWFya2V0VmFsdWU7XG5cbiAgICAgICAgICAvLyBpbmNyZWFzZSBjdXJyZW50IG1hcmtldCB2YWx1ZSBmb3JlY2FzdCBmb3IgdGhlIG5leHQgY3ljbGUgaXRlcmF0aW9uXG4gICAgICAgICAgZm9yZWNhc3RlZE1hcmtldFZhbHVlICs9IGZvcmVjYXN0ZWRNYXJrZXRWYWx1ZSAqIChwcm9wZXJ0eS5ncm93dGhQZXJjZW50IC8gMTAwKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHByb3BlcnR5IGxvYW4gYmFsYW5jZSBieSBmaW5hbmNpYWwgeWVhclxuICAgKiBAcGFyYW0gcHJvcGVydHkgUHJvcGVydHkgaW5zdGFuY2UgZm9yIGZpbHRlclxuICAgKiBAcGFyYW0geWVhciBGaW5hbmNpYWwgeWVhciBudW1iZXJcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgZ2V0TG9hbkJhbGFuY2VCeVllYXIocHJvcGVydHk6IFByb3BlcnR5LCB5ZWFyOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGlmIChuZXcgRmluYW5jaWFsWWVhcihwcm9wZXJ0eS5jb250cmFjdERhdGUpLnllYXIgPiB5ZWFyKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICBjb25zdCBiYW5rQWNjb3VudHMgPSB0aGlzLmJhbmtBY2NvdW50cy5nZXRCeVByb3BlcnR5SWQocHJvcGVydHkuaWQpO1xuICAgIGNvbnN0IGxvYW5zID0gdGhpcy5sb2Fucy5nZXRCeUJhbmtBY2NvdW50c0lkcyhiYW5rQWNjb3VudHMuZ2V0SWRzKCkpO1xuICAgIGNvbnN0IG9mZnNldCA9IGJhbmtBY2NvdW50cy5maWx0ZXJCeSgndHlwZScsIEJhbmtBY2NvdW50VHlwZUVudW0uT0ZGU0VUKS5nZXRQcm9wZXJ0eUJhbGFuY2VBbW91bnQocHJvcGVydHkuaWQpO1xuXG4gICAgaWYgKHllYXIgPiB0aGlzLmN1cnJlbnRZZWFyKSB7XG4gICAgICByZXR1cm4gYmFua0FjY291bnRzLml0ZW1zLnJlZHVjZSgodG90YWxTdW06IG51bWJlciwgYmFua0FjY291bnQ6IEJhbmtBY2NvdW50KSA9PiB0b3RhbFN1bSArIChiYW5rQWNjb3VudC5nZXRQcm9wZXJ0eVBlcmNlbnRhZ2UocHJvcGVydHkuaWQpICogKGxvYW5zLmdldEJ5QmFua0FjY291bnRJZChiYW5rQWNjb3VudC5pZCk/LmdldExhc3RQYXltZW50QnlZZWFyKHllYXIpPy50b3RhbE93ZWQgfHwgMCkpLCAwKSAtIG9mZnNldDtcbiAgICB9XG5cbiAgICBpZiAoeWVhciA9PSB0aGlzLmN1cnJlbnRZZWFyKSB7XG4gICAgICByZXR1cm4gYmFua0FjY291bnRzLml0ZW1zLnJlZHVjZShcbiAgICAgICAgKHRvdGFsU3VtOiBudW1iZXIsIGJhbmtBY2NvdW50OiBCYW5rQWNjb3VudCkgPT4gdG90YWxTdW0gKyAoYmFua0FjY291bnQuZ2V0UHJvcGVydHlQZXJjZW50YWdlKHByb3BlcnR5LmlkKSAqIChNYXRoLmFicyhsb2Fucy5nZXRCeUJhbmtBY2NvdW50SWQoYmFua0FjY291bnQuaWQpPy5jdXJyZW50QmFsYW5jZSkgfHwgMCkpLCAwXG4gICAgICApIC0gb2Zmc2V0O1xuICAgIH1cblxuICAgIHJldHVybiBwcm9wZXJ0eS5nZXRGb3JlY2FzdEJ5WWVhcih5ZWFyKS5sb2FuQmFsYW5jZSAtIG9mZnNldDtcbiAgICAvLyBAVE9ETyBUVC00ODg4IG5vIGlkZWEgd2h5IGl0IHdhcyBjYWxjdWxhdGVkIGxpa2UgdGhhdFxuICAgIC8vIHJldHVybiBwcm9wZXJ0eS5nZXRWYWx1YXRpb25CeVllYXIoeWVhcikubWFya2V0VmFsdWUgLSBvZmZzZXQ7XG4gIH1cblxuICBnZXRNYXJrZXRWYWx1ZUZvclByb3BlcnR5QnlZZWFyKHByb3BlcnR5OiBQcm9wZXJ0eSwgeWVhcjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAobmV3IEZpbmFuY2lhbFllYXIocHJvcGVydHkuY29udHJhY3REYXRlKS55ZWFyID4geWVhcikge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHByb3BlcnR5LmdldFZhbHVhdGlvbkJ5WWVhcih5ZWFyKS5tYXJrZXRWYWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBsb2FuIGJhbGFuY2UgaXMgMCBhbmQgc2V0IGl0IGFzIG51bGwgKHRvIG5vdCB0byBkcmF3IHBvaW50IG9uIHRoZSBjaGFydClcbiAgICovXG4gIHByaXZhdGUgY2hlY2taZXJvTG9hbkJhbGFuY2UoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0LmZvckVhY2goKGl0ZW06IFByb3BlcnR5RXF1aXR5Q2hhcnRJdGVtKSA9PiB7XG4gICAgICBpZiAoaXRlbS5sb2FuQmFsYW5jZSA9PT0gMCkge1xuICAgICAgICBpdGVtLmxvYW5CYWxhbmNlID0gbnVsbDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBtYXJrZXQgdmFsdWUgaXMgMCBhbmQgc2V0IGl0IGFzIG51bGwgKHRvIG5vdCB0byBkcmF3IHBvaW50IG9uIHRoZSBjaGFydClcbiAgICovXG4gIHByaXZhdGUgY2hlY2taZXJvTWFya2V0VmFsdWUoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0LmZvckVhY2goKGl0ZW06IFByb3BlcnR5RXF1aXR5Q2hhcnRJdGVtKSA9PiB7XG4gICAgICBpZiAoaXRlbS5tYXJrZXRWYWx1ZSA9PT0gMCkge1xuICAgICAgICBpdGVtLm1hcmtldFZhbHVlID0gbnVsbDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZXF1aXR5LWNoYXJ0LWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LWVxdWl0eS1jaGFydC1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBT3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUdoRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRCxtQ0FBbUM7QUFDbkMsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDO0FBRTFCOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLHVCQUF1QjtJQU1sQyxZQUNVLFVBQThCLEVBQzlCLFVBQXVDLEVBQ3ZDLFlBQW1DLEVBQ25DLEtBQXFCLEVBQ3JCLFlBQWtCO1FBSmxCLGVBQVUsR0FBVixVQUFVLENBQW9CO1FBQzlCLGVBQVUsR0FBVixVQUFVLENBQTZCO1FBQ3ZDLGlCQUFZLEdBQVosWUFBWSxDQUF1QjtRQUNuQyxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixpQkFBWSxHQUFaLFlBQVksQ0FBTTtRQUUxQixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQzVELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUN0RCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxvQkFB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QUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO2FBQ3pCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZmlyc3QgZnJvbSAnbG9kYXNoL2ZpcnN0JztcbmltcG9ydCB7IFByb3BlcnR5RXF1aXR5Q2hhcnRJdGVtIH0gZnJvbSAnLi9wcm9wZXJ0eS1lcXVpdHktY2hhcnQtaXRlbSc7XG5pbXBvcnQge1xuICBCYW5rQWNjb3VudENvbGxlY3Rpb24sXG4gIExvYW5Db2xsZWN0aW9uLFxuICBQcm9wZXJ0eUNvbGxlY3Rpb24sXG4gIFByb3BlcnR5VmFsdWF0aW9uQ29sbGVjdGlvblxufSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBGaW5hbmNpYWxZZWFyIH0gZnJvbSAnLi4vZmluYW5jaWFsLXllYXInO1xuaW1wb3J0IHsgUHJvcGVydHlFcXVpdHlDaGFydFR5cGVFbnVtIH0gZnJvbSAnLi9wcm9wZXJ0eS1lcXVpdHktY2hhcnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IFByb3BlcnR5IH0gZnJvbSAnLi9wcm9wZXJ0eSc7XG5pbXBvcnQgeyBCYW5rQWNjb3VudCB9IGZyb20gJy4uL2JhbmsnO1xuaW1wb3J0IHsgQmFua0FjY291bnRUeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zJztcblxuLy8gY291bnQgb2YgeWVhcnMgZm9yIGZ1dHVyZSB2YWx1ZXNcbmNvbnN0IEZPUkVDQVNUX1lFQVJTID0gMjU7XG5cbi8qKlxuICogY2xhc3MgY29udGFpbiBhY3R1YWwgYW5kIGZvcmVjYXN0ZWQgbWFya2V0IHZhbHVlcyBhbmQgbG9hbiBiYWxhbmNlcyBmb3IgcGFzc2VkIHByb3BlcnRpZXNcbiAqIFggYXhpcyAtIHllYXJzIGZyb20gdGhlIGZpcnN0IGFjdHVhbCBkYXRhIHllYXIgdG8gdGhlIGxhc3QgZm9yZWNhc3RlZCB5ZWFyXG4gKiBZIGF4aXMgLSBhbW91bnRzIG9mIG1hcmtldCB2YWx1ZXMsIGxvYW4gYmFsYW5jZXNcbiAqIEFsc28gb24gaG92ZXIgYXBwZWFyIGVxdWl0eSBwb3NpdGlvbnMgcG9pbnRcbiAqL1xuZXhwb3J0IGNsYXNzIFByb3BlcnR5RXF1aXR5Q2hhcnREYXRhIHtcbiAgLy8gbGlzdCBvZiBlcXVpdHkgcG9zaXRpb25zIGZvciBhbGwgeWVhcnMgcmFuZ2VcbiAgbGlzdDogUHJvcGVydHlFcXVpdHlDaGFydEl0ZW1bXTtcbiAgLy8gY3VycmVudCBmaW5hbmNpYWwgeWVhclxuICBjdXJyZW50WWVhcjogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcHJvcGVydGllczogUHJvcGVydHlDb2xsZWN0aW9uLFxuICAgIHByaXZhdGUgdmFsdWF0aW9uczogUHJvcGVydHlWYWx1YXRpb25Db2xsZWN0aW9uLFxuICAgIHByaXZhdGUgYmFua0FjY291bnRzOiBCYW5rQWNjb3VudENvbGxlY3Rpb24sXG4gICAgcHJpdmF0ZSBsb2FuczogTG9hbkNvbGxlY3Rpb24sXG4gICAgcHJpdmF0ZSByZWdpc3RlckRhdGU6IERhdGVcbiAgKSB7XG4gICAgdGhpcy5iYW5rQWNjb3VudHMgPSBiYW5rQWNjb3VudHMuZ2V0TG9hbkFuZE9mZnNldEFjY291bnRzKCk7XG4gICAgdGhpcy5jdXJyZW50WWVhciA9IG5ldyBGaW5hbmNpYWxZZWFyKG5ldyBEYXRlKCkpLnllYXI7XG4gICAgdGhpcy5pbml0SXRlbXMoKTtcbiAgICB0aGlzLmJ1aWxkSGlzdG9yeUl0ZW1zKCk7XG4gICAgdGhpcy5idWlsZEFjdHVhbEl0ZW0oKTtcbiAgICB0aGlzLmJ1aWxkRm9yZWNhc3RlZEl0ZW1zKCk7XG4gICAgdGhpcy5jaGVja1plcm9Mb2FuQmFsYW5jZSgpO1xuICAgIHRoaXMuY2hlY2taZXJvTWFya2V0VmFsdWUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgaXRlbXMgbGlzdCBpbiBjaGFydCBzZXJpZXMgZm9ybWF0XG4gICAqIEBwYXJhbSB0eXBlXG4gICAqL1xuICBnZXRDaGFydFNlcmllcyh0eXBlOiBQcm9wZXJ0eUVxdWl0eUNoYXJ0VHlwZUVudW0pOiBudW1iZXJbXVtdIHtcbiAgICByZXR1cm4gdGhpcy5saXN0Lm1hcCgoaXRlbTogUHJvcGVydHlFcXVpdHlDaGFydEl0ZW0pID0+IGl0ZW0uZ2V0U2VyaWUodHlwZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBwcmVwYXJlZCBjaGFydCBkYXRhXG4gICAqL1xuICBnZXRDaGFydERhdGEoKTogb2JqZWN0W10ge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIGlkOiAnbWFya2V0VmFsdWUnLFxuICAgICAgICBuYW1lOiAnTWFya2V0IFZhbHVlJyxcbiAgICAgICAgc2VyaWVzOiB0aGlzLmdldENoYXJ0U2VyaWVzKFByb3BlcnR5RXF1aXR5Q2hhcnRUeXBlRW51bS5NQVJLRVRfVkFMVUUpLFxuICAgICAgICAvLyBkaXNwbGF5IGZ1dHVyZSBtYXJrZXQgdmFsdWUgd2l0aCBkYXNoIGxpbmUgYW5kIHBhc3QgbWFya2V0IHZhbHVlIHdpdGggc29saWQgbGluZVxuICAgICAgICB6b25lczogW3tcbiAgICAgICAgICAvLyBsaW5lIHN0eWxlIGFmdGVyIGN1cnJlbnQgY2FsZW5kYXIgeWVhclxuICAgICAgICAgIHZhbHVlOiB0aGlzLmN1cnJlbnRZZWFyLFxuICAgICAgICAgIGRhc2hTdHlsZTogJ1NvbGlkJ1xuICAgICAgICB9LCB7XG4gICAgICAgICAgLy8gZGVmYXVsdCBsaW5lIHN0eWxlXG4gICAgICAgICAgZGFzaFN0eWxlOiAnRGFzaCdcbiAgICAgICAgfV1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIC8vIGlkIHVzZWQgdG8gYWRkL3JlbW92ZSBzZXJpZSB0byBjaGFydFxuICAgICAgICBpZDogJ2xvYW5CYWxhbmNlJyxcbiAgICAgICAgbmFtZTogJ0xvYW4gQmFsYW5jZScsXG4gICAgICAgIHNlcmllczogdGhpcy5nZXRDaGFydFNlcmllcyhQcm9wZXJ0eUVxdWl0eUNoYXJ0VHlwZUVudW0uTE9BTl9CQUxBTkNFKVxuICAgICAgfVxuICAgIF07XG4gIH1cblxuICAvKipcbiAgICogY3JlYXRlIGVtcHR5IGVxdWl0eSBwb3NpdGlvbiBpdGVtIGZvciBlYWNoIHllYXIgaW4gY29sbGVjdGlvblxuICAgKi9cbiAgcHJpdmF0ZSBpbml0SXRlbXMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ID0gW107XG4gICAgZm9yIChsZXQgeWVhcjogbnVtYmVyID0gbmV3IEZpbmFuY2lhbFllYXIodGhpcy5yZWdpc3RlckRhdGUpLnllYXIgLSAxOyB5ZWFyIDw9ICh0aGlzLmN1cnJlbnRZZWFyICsgRk9SRUNBU1RfWUVBUlMpOyB5ZWFyKyspIHtcbiAgICAgIHRoaXMubGlzdC5wdXNoKG5ldyBQcm9wZXJ0eUVxdWl0eUNoYXJ0SXRlbSh5ZWFyKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIGNvbGxlY3QgZXF1aXR5IHBvc2l0aW9uIGl0ZW1zIHdpdGggcGFzdCB2YWx1ZXMgZnJvbSBwcm9wZXJ0aWVzIGZvcmVjYXN0c1xuICAgKi9cbiAgcHJpdmF0ZSBidWlsZEhpc3RvcnlJdGVtcygpOiB2b2lkIHtcbiAgICAvLyBnZXQgaXRlbXMgZm9yIHBhc3QgYW5kIGN1cnJlbnQgeWVhcnNcbiAgICBjb25zdCBpdGVtczogUHJvcGVydHlFcXVpdHlDaGFydEl0ZW1bXSA9IHRoaXMubGlzdC5maWx0ZXIoKGl0ZW06IFByb3BlcnR5RXF1aXR5Q2hhcnRJdGVtKSA9PiBpdGVtLnllYXIgPD0gdGhpcy5jdXJyZW50WWVhcik7XG4gICAgaXRlbXMuZm9yRWFjaCgoaXRlbTogUHJvcGVydHlFcXVpdHlDaGFydEl0ZW0pID0+IHtcbiAgICAgIC8vIGluY3JlYXNlIGl0ZW0gdmFsdWVzIHdpdGggcHJvcGVydHkgYWN0dWFsIGZvcmVjYXN0cyBmb3IgaXRlbSB5ZWFyXG4gICAgICBpdGVtLm1hcmtldFZhbHVlID0gdGhpcy5wcm9wZXJ0aWVzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHByb3BlcnR5OiBQcm9wZXJ0eSk6IG51bWJlciA9PiBzdW0gKyB0aGlzLmdldE1hcmtldFZhbHVlRm9yUHJvcGVydHlCeVllYXIocHJvcGVydHksIGl0ZW0ueWVhciksIDApO1xuXG4gICAgICBpdGVtLmxvYW5CYWxhbmNlID0gdGhpcy5wcm9wZXJ0aWVzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHByb3BlcnR5OiBQcm9wZXJ0eSk6IG51bWJlciA9PiBzdW0gKyB0aGlzLmdldExvYW5CYWxhbmNlQnlZZWFyKHByb3BlcnR5LCBpdGVtLnllYXIpLCAwKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyByZW1vdmUsIHRoZXJlIGlzIG5vIGRpZmZlcmVuY2UgYmV0d2VlbiBhY3R1YWwgYW5kIGhpc3RvcnkgY2FsY3VsYXRpb25zXG4gICAqIHNldCBhY3R1YWwgeWVhcidzIHJlYWwgZGF0YVxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBidWlsZEFjdHVhbEl0ZW0oKTogdm9pZCB7XG4gICAgY29uc3QgaXRlbTogUHJvcGVydHlFcXVpdHlDaGFydEl0ZW0gPSB0aGlzLmxpc3QuZmluZCgoaTogUHJvcGVydHlFcXVpdHlDaGFydEl0ZW0pID0+IGkueWVhciA9PT0gdGhpcy5jdXJyZW50WWVhcik7XG4gICAgaXRlbS5tYXJrZXRWYWx1ZSA9IHRoaXMudmFsdWF0aW9ucy5nZXRNYXJrZXRWYWx1ZShuZXcgRGF0ZSgpKTtcbiAgICBpdGVtLmxvYW5CYWxhbmNlID0gMDtcbiAgICB0aGlzLnByb3BlcnRpZXMuaXRlbXMuZm9yRWFjaChwcm9wZXJ0eSA9PiB7XG4gICAgICBpdGVtLmxvYW5CYWxhbmNlICs9IHRoaXMuZ2V0TG9hbkJhbGFuY2VCeVllYXIocHJvcGVydHksIHRoaXMuY3VycmVudFllYXIpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIGNvbGxlY3QgZXF1aXR5IHBvc2l0aW9uIGl0ZW1zIHdpdGggZm9yZWNhc3RlZCAoZnV0dXJlKSBjYWxjdWxhdGVkIHZhbHVlc1xuICAgKi9cbiAgcHJpdmF0ZSBidWlsZEZvcmVjYXN0ZWRJdGVtcygpOiB2b2lkIHtcbiAgICAvLyBjYWxjdWxhdGUgZnV0dXJlIHZhbHVlcyBmb3IgYWxsIHByb3BlcnRpZXMgc2VwYXJhdGVseVxuICAgIHRoaXMucHJvcGVydGllcy5pdGVtcy5mb3JFYWNoKChwcm9wZXJ0eTogUHJvcGVydHkpID0+IHtcbiAgICAgIGNvbnN0IG1hcmtldFZhbHVlID0gdGhpcy52YWx1YXRpb25zLmZpbHRlckJ5KCdwcm9wZXJ0eS5pZCcsIHByb3BlcnR5LmlkKS5nZXRNYXJrZXRWYWx1ZShuZXcgRGF0ZSgpKTtcbiAgICAgIGxldCBmb3JlY2FzdGVkTWFya2V0VmFsdWU6IG51bWJlciA9IChwcm9wZXJ0eS5ncm93dGhQZXJjZW50IC8gMTAwKSAqIG1hcmtldFZhbHVlICsgbWFya2V0VmFsdWU7XG5cbiAgICAgIC8vIGNhbGN1bGF0ZSBmdXR1cmUgdmFsdWVzIGZvciBlYWNoIGZ1dHVyZSB5ZWFyIGZvciBjdXJyZW50IGhhbmRsaW5nIHByb3BlcnR5XG4gICAgICB0aGlzLmxpc3RcbiAgICAgICAgLmZpbHRlcigoaXRlbTogUHJvcGVydHlFcXVpdHlDaGFydEl0ZW0pID0+IGl0ZW0ueWVhciA+IHRoaXMuY3VycmVudFllYXIpXG4gICAgICAgIC5mb3JFYWNoKChpdGVtOiBQcm9wZXJ0eUVxdWl0eUNoYXJ0SXRlbSkgPT4ge1xuICAgICAgICAgIC8vIGluY3JlYXNlIGxvYW4gYmFsYW5jZSBhbW91bnQgZm9yIGhhbmRsaW5nIGVxdWl0eSBwb3NpdGlvbiBpdGVtXG4gICAgICAgICAgaXRlbS5sb2FuQmFsYW5jZSArPSB0aGlzLmdldExvYW5CYWxhbmNlQnlZZWFyKHByb3BlcnR5LCBpdGVtLnllYXIpO1xuXG4gICAgICAgICAgLy8gaW5jcmVhc2UgbWFya2V0IHZhbHVlIGFtb3VudCBmb3IgaGFuZGxpbmcgZXF1aXR5IHBvc2l0aW9uIGl0ZW1cbiAgICAgICAgICBpdGVtLm1hcmtldFZhbHVlICs9IGZvcmVjYXN0ZWRNYXJrZXRWYWx1ZTtcblxuICAgICAgICAgIC8vIGluY3JlYXNlIGN1cnJlbnQgbWFya2V0IHZhbHVlIGZvcmVjYXN0IGZvciB0aGUgbmV4dCBjeWNsZSBpdGVyYXRpb25cbiAgICAgICAgICBmb3JlY2FzdGVkTWFya2V0VmFsdWUgKz0gZm9yZWNhc3RlZE1hcmtldFZhbHVlICogKHByb3BlcnR5Lmdyb3d0aFBlcmNlbnQgLyAxMDApO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgcHJvcGVydHkgbG9hbiBiYWxhbmNlIGJ5IGZpbmFuY2lhbCB5ZWFyXG4gICAqIEBwYXJhbSBwcm9wZXJ0eSBQcm9wZXJ0eSBpbnN0YW5jZSBmb3IgZmlsdGVyXG4gICAqIEBwYXJhbSB5ZWFyIEZpbmFuY2lhbCB5ZWFyIG51bWJlclxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBnZXRMb2FuQmFsYW5jZUJ5WWVhcihwcm9wZXJ0eTogUHJvcGVydHksIHllYXI6IG51bWJlcik6IG51bWJlciB7XG4gICAgaWYgKG5ldyBGaW5hbmNpYWxZZWFyKHByb3BlcnR5LmNvbnRyYWN0RGF0ZSkueWVhciA+IHllYXIpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIGNvbnN0IGJhbmtBY2NvdW50cyA9IHRoaXMuYmFua0FjY291bnRzLmdldEJ5UHJvcGVydHlJZChwcm9wZXJ0eS5pZCk7XG4gICAgY29uc3QgbG9hbnMgPSB0aGlzLmxvYW5zLmdldEJ5QmFua0FjY291bnRzSWRzKGJhbmtBY2NvdW50cy5nZXRJZHMoKSk7XG4gICAgY29uc3Qgb2Zmc2V0ID0gYmFua0FjY291bnRzLmZpbHRlckJ5KCd0eXBlJywgQmFua0FjY291bnRUeXBlRW51bS5PRkZTRVQpLmdldFByb3BlcnR5QmFsYW5jZUFtb3VudChwcm9wZXJ0eS5pZCk7XG5cbiAgICBpZiAoeWVhciA+IHRoaXMuY3VycmVudFllYXIpIHtcbiAgICAgIHJldHVybiBiYW5rQWNjb3VudHMuaXRlbXMucmVkdWNlKCh0b3RhbFN1bTogbnVtYmVyLCBiYW5rQWNjb3VudDogQmFua0FjY291bnQpID0+IHRvdGFsU3VtICsgKGJhbmtBY2NvdW50LmdldFByb3BlcnR5UGVyY2VudGFnZShwcm9wZXJ0eS5pZCkgKiAobG9hbnMuZ2V0QnlCYW5rQWNjb3VudElkKGJhbmtBY2NvdW50LmlkKT8uZ2V0TGFzdFBheW1lbnRCeVllYXIoeWVhcik/LnRvdGFsT3dlZCB8fCAwKSksIDApIC0gb2Zmc2V0O1xuICAgIH1cblxuICAgIGlmICh5ZWFyID09IHRoaXMuY3VycmVudFllYXIpIHtcbiAgICAgIHJldHVybiBiYW5rQWNjb3VudHMuaXRlbXMucmVkdWNlKFxuICAgICAgICAodG90YWxTdW06IG51bWJlciwgYmFua0FjY291bnQ6IEJhbmtBY2NvdW50KSA9PiB0b3RhbFN1bSArIChiYW5rQWNjb3VudC5nZXRQcm9wZXJ0eVBlcmNlbnRhZ2UocHJvcGVydHkuaWQpICogKE1hdGguYWJzKGxvYW5zLmdldEJ5QmFua0FjY291bnRJZChiYW5rQWNjb3VudC5pZCk/LmN1cnJlbnRCYWxhbmNlKSB8fCAwKSksIDBcbiAgICAgICkgLSBvZmZzZXQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIE1hdGguYWJzKHByb3BlcnR5LmdldEZvcmVjYXN0QnlZZWFyKHllYXIpLmxvYW5CYWxhbmNlKSAtIG9mZnNldDtcbiAgICAvLyBAVE9ETyBUVC00ODg4IG5vIGlkZWEgd2h5IGl0IHdhcyBjYWxjdWxhdGVkIGxpa2UgdGhhdFxuICAgIC8vIHJldHVybiBwcm9wZXJ0eS5nZXRWYWx1YXRpb25CeVllYXIoeWVhcikubWFya2V0VmFsdWUgLSBvZmZzZXQ7XG4gIH1cblxuICBnZXRNYXJrZXRWYWx1ZUZvclByb3BlcnR5QnlZZWFyKHByb3BlcnR5OiBQcm9wZXJ0eSwgeWVhcjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAobmV3IEZpbmFuY2lhbFllYXIocHJvcGVydHkuY29udHJhY3REYXRlKS55ZWFyID4geWVhcikge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHByb3BlcnR5LmdldFZhbHVhdGlvbkJ5WWVhcih5ZWFyKS5tYXJrZXRWYWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBsb2FuIGJhbGFuY2UgaXMgMCBhbmQgc2V0IGl0IGFzIG51bGwgKHRvIG5vdCB0byBkcmF3IHBvaW50IG9uIHRoZSBjaGFydClcbiAgICovXG4gIHByaXZhdGUgY2hlY2taZXJvTG9hbkJhbGFuY2UoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0LmZvckVhY2goKGl0ZW06IFByb3BlcnR5RXF1aXR5Q2hhcnRJdGVtKSA9PiB7XG4gICAgICBpZiAoaXRlbS5sb2FuQmFsYW5jZSA9PT0gMCkge1xuICAgICAgICBpdGVtLmxvYW5CYWxhbmNlID0gbnVsbDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBtYXJrZXQgdmFsdWUgaXMgMCBhbmQgc2V0IGl0IGFzIG51bGwgKHRvIG5vdCB0byBkcmF3IHBvaW50IG9uIHRoZSBjaGFydClcbiAgICovXG4gIHByaXZhdGUgY2hlY2taZXJvTWFya2V0VmFsdWUoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0LmZvckVhY2goKGl0ZW06IFByb3BlcnR5RXF1aXR5Q2hhcnRJdGVtKSA9PiB7XG4gICAgICBpZiAoaXRlbS5tYXJrZXRWYWx1ZSA9PT0gMCkge1xuICAgICAgICBpdGVtLm1hcmtldFZhbHVlID0gbnVsbDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -6171,7 +6171,7 @@ class PropertyEquityChartData {
6171
6171
  items.forEach((item) => {
6172
6172
  // increase item values with property actual forecasts for item year
6173
6173
  item.marketValue = this.properties.items.reduce((sum, property) => sum + this.getMarketValueForPropertyByYear(property, item.year), 0);
6174
- item.loanBalance = Math.abs(this.properties.items.reduce((sum, property) => sum + this.getLoanBalanceByYear(property, item.year), 0));
6174
+ item.loanBalance = this.properties.items.reduce((sum, property) => sum + this.getLoanBalanceByYear(property, item.year), 0);
6175
6175
  });
6176
6176
  }
6177
6177
  /**
@@ -6227,7 +6227,7 @@ class PropertyEquityChartData {
6227
6227
  if (year == this.currentYear) {
6228
6228
  return bankAccounts.items.reduce((totalSum, bankAccount) => totalSum + (bankAccount.getPropertyPercentage(property.id) * (Math.abs(loans.getByBankAccountId(bankAccount.id)?.currentBalance) || 0)), 0) - offset;
6229
6229
  }
6230
- return property.getForecastByYear(year).loanBalance - offset;
6230
+ return Math.abs(property.getForecastByYear(year).loanBalance) - offset;
6231
6231
  // @TODO TT-4888 no idea why it was calculated like that
6232
6232
  // return property.getValuationByYear(year).marketValue - offset;
6233
6233
  }
@@ -6781,7 +6781,7 @@ class Depreciation extends Depreciation$1 {
6781
6781
  && !this.isSBPCalculation()
6782
6782
  && this.isDiminishing()
6783
6783
  && !this.isWrittenOff()
6784
- && this.currentYearForecast.closeBalance <= Depreciation.lowValuePoolThreshold;
6784
+ && this.currentYearForecast.openBalance <= Depreciation.lowValuePoolThreshold;
6785
6785
  }
6786
6786
  isSBP() {
6787
6787
  return this.isAsset() && this.isSBPCalculation() && !this.isWrittenOff();
@@ -6887,7 +6887,7 @@ __decorate([
6887
6887
  // @TODO refactor
6888
6888
  value.forEach((forecast) => {
6889
6889
  forecast.isLVP =
6890
- forecast.closeBalance < 1000 &&
6890
+ forecast.openBalance < 1000 &&
6891
6891
  obj.calculation === DepreciationCalculationEnum.DIMINISHING &&
6892
6892
  obj.type === DepreciationTypeEnum.PLANT_EQUIPMENT &&
6893
6893
  !(obj.amount > Depreciation.writtenOffThreshold && obj.amount < Depreciation.lowValuePoolThreshold) &&