taxtank-core 0.10.3 → 0.10.4

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 (23) hide show
  1. package/bundles/taxtank-core.umd.js +1133 -937
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/collections/collection-dictionary.js +6 -6
  4. package/esm2015/lib/collections/report/property/property-report-item-depreciation.collection.js +19 -0
  5. package/esm2015/lib/collections/report/property/property-report-item-transaction.collection.js +19 -0
  6. package/esm2015/lib/models/depreciation/depreciation.js +3 -3
  7. package/esm2015/lib/models/report/property/property-report-item-depreciation.js +13 -0
  8. package/esm2015/lib/models/report/property/property-report-item-transaction.js +12 -0
  9. package/esm2015/lib/models/report/property/property-report-item.js +18 -0
  10. package/esm2015/lib/services/report/property/property-transaction-report.service.js +112 -0
  11. package/esm2015/public-api.js +6 -1
  12. package/fesm2015/taxtank-core.js +863 -695
  13. package/fesm2015/taxtank-core.js.map +1 -1
  14. package/lib/collections/collection-dictionary.d.ts +1 -1
  15. package/lib/collections/report/property/property-report-item-depreciation.collection.d.ts +12 -0
  16. package/lib/collections/report/property/property-report-item-transaction.collection.d.ts +12 -0
  17. package/lib/models/depreciation/depreciation.d.ts +1 -1
  18. package/lib/models/report/property/property-report-item-depreciation.d.ts +10 -0
  19. package/lib/models/report/property/property-report-item-transaction.d.ts +10 -0
  20. package/lib/models/report/property/property-report-item.d.ts +18 -0
  21. package/lib/services/report/property/property-transaction-report.service.d.ts +49 -0
  22. package/package.json +1 -1
  23. package/public-api.d.ts +5 -0
@@ -10,7 +10,7 @@ export class CollectionDictionary {
10
10
  * @param path Path to the property to be grouped (Examples: 'transaction', 'property.category')
11
11
  * @param prop Optional: Field to group by (Default 'id', Examples: 'id', 'amount', 'date')
12
12
  */
13
- constructor(collection, path = '', prop = 'id') {
13
+ constructor(collection, path = 'id') {
14
14
  /**
15
15
  * List of grouped collections
16
16
  */
@@ -21,10 +21,10 @@ export class CollectionDictionary {
21
21
  return;
22
22
  }
23
23
  // Check if the first collection item has property by path
24
- if (!has(collection.items[0], path) && path) {
24
+ if (!has(collection.items[0], path)) {
25
25
  return;
26
26
  }
27
- this.groupItems(collection, path, prop);
27
+ this.groupItems(collection, path);
28
28
  }
29
29
  /**
30
30
  * List of collections keys
@@ -62,12 +62,12 @@ export class CollectionDictionary {
62
62
  /**
63
63
  * Group collection items by passed path into items object
64
64
  */
65
- groupItems(collection, path, prop) {
65
+ groupItems(collection, path) {
66
66
  // Create empty initial object for groups
67
67
  const obj = {};
68
68
  // Group collection items
69
69
  collection.items.forEach((item) => {
70
- let key = get(item, `${path ? path + '.' : ''}${prop}`);
70
+ let key = get(item, path);
71
71
  // if object does not have property for grouping it will be grouped as 'other'
72
72
  if (key === undefined) {
73
73
  key = 'other';
@@ -83,4 +83,4 @@ export class CollectionDictionary {
83
83
  });
84
84
  }
85
85
  }
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1kaWN0aW9uYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2NvbGxlY3Rpb24tZGljdGlvbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEdBQUcsTUFBTSxZQUFZLENBQUM7QUFDN0IsT0FBTyxHQUFHLE1BQU0sWUFBWSxDQUFDO0FBQzdCLE9BQU8sT0FBTyxNQUFNLGdCQUFnQixDQUFDO0FBR3JDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLG9CQUFvQjtJQVcvQjs7OztPQUlHO0lBQ0gsWUFDRSxVQUFzQixFQUN0QixPQUFlLEVBQUUsRUFDakIsT0FBZSxJQUFJO1FBbEJyQjs7V0FFRztRQUNILFVBQUssR0FBa0MsRUFBRSxDQUFDO1FBaUJ4QyxJQUFJLENBQUMscUJBQXFCLEdBQUcsVUFBVSxDQUFDLFdBQWtELENBQUM7UUFFM0YsNENBQTRDO1FBQzVDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFO1lBQ3RCLE9BQU87U0FDUjtRQUVELDBEQUEwRDtRQUMxRCxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFO1lBQzNDLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLElBQUk7UUFDTixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7T0FFRztJQUNILEdBQUcsQ0FBQyxHQUFvQjtRQUN0QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxHQUFHLENBQUMsR0FBb0IsRUFBRSxLQUFpQjtRQUN6QyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsSUFBYztRQUNsQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FDMUIsT0FBTyxDQUNMLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFVLEVBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQ2xFLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILGdCQUFnQixDQUFDLFFBQWtCLEVBQUU7UUFDbkMsT0FBTyxJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDMUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ssVUFBVSxDQUFDLFVBQXNCLEVBQUUsSUFBWSxFQUFFLElBQVk7UUFDbkUseUNBQXlDO1FBQ3pDLE1BQU0sR0FBRyxHQUFxQyxFQUFFLENBQUM7UUFFakQseUJBQXlCO1FBQ3pCLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBWSxFQUFRLEVBQUU7WUFDOUMsSUFBSSxHQUFHLEdBQVcsR0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLENBQUM7WUFFaEUsOEVBQThFO1lBQzlFLElBQUksR0FBRyxLQUFLLFNBQVMsRUFBRTtnQkFDckIsR0FBRyxHQUFHLE9BQU8sQ0FBQzthQUNmO1lBRUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDYixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO2FBQ2Y7WUFFRCxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO1FBRUgsaUNBQWlDO1FBQ2pDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBVyxFQUFRLEVBQUU7WUFDN0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDcEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaGFzIGZyb20gJ2xvZGFzaC9oYXMnO1xuaW1wb3J0IGdldCBmcm9tICdsb2Rhc2gvZ2V0JztcbmltcG9ydCBmbGF0dGVuIGZyb20gJ2xvZGFzaC9mbGF0dGVuJztcbmltcG9ydCB7IENvbGxlY3Rpb24gYXMgQmFzZUNvbGxlY3Rpb24gfSBmcm9tICcuL2NvbGxlY3Rpb24nO1xuXG4vKipcbiAqIExpc3Qgb2YgY29sbGVjdGlvbnMgZ3JvdXBlZCBieSBwYXNzZWQgcHJvcGVydHlcbiAqL1xuZXhwb3J0IGNsYXNzIENvbGxlY3Rpb25EaWN0aW9uYXJ5PENvbGxlY3Rpb24gZXh0ZW5kcyBCYXNlQ29sbGVjdGlvbjxvYmplY3Q+PiB7XG4gIC8qKlxuICAgKiBMaXN0IG9mIGdyb3VwZWQgY29sbGVjdGlvbnNcbiAgICovXG4gIGl0ZW1zOiB7IFtrZXk6IHN0cmluZ106IENvbGxlY3Rpb24gfSA9IHt9O1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RvciBmdW5jdGlvbiBvZiBwYXNzZWQgY29sbGVjdGlvbiBmb3IgY3JlYXRpbmcgbmV3IGluc3RhbmNlc1xuICAgKi9cbiAgcHJpdmF0ZSBjb2xsZWN0aW9uQ29uc3RydWN0b3I6IG5ldyAoaXRlbXM6IG9iamVjdFtdKSA9PiBDb2xsZWN0aW9uO1xuXG4gIC8qKlxuICAgKiBAcGFyYW0gY29sbGVjdGlvbiBUaGUgQ29sbGVjdGlvbiBpbnN0YW5jZSB0byBiZSBncm91cGVkXG4gICAqIEBwYXJhbSBwYXRoIFBhdGggdG8gdGhlIHByb3BlcnR5IHRvIGJlIGdyb3VwZWQgKEV4YW1wbGVzOiAndHJhbnNhY3Rpb24nLCAncHJvcGVydHkuY2F0ZWdvcnknKVxuICAgKiBAcGFyYW0gcHJvcCBPcHRpb25hbDogRmllbGQgdG8gZ3JvdXAgYnkgKERlZmF1bHQgJ2lkJywgRXhhbXBsZXM6ICdpZCcsICdhbW91bnQnLCAnZGF0ZScpXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uLFxuICAgIHBhdGg6IHN0cmluZyA9ICcnLFxuICAgIHByb3A6IHN0cmluZyA9ICdpZCdcbiAgKSB7XG4gICAgdGhpcy5jb2xsZWN0aW9uQ29uc3RydWN0b3IgPSBjb2xsZWN0aW9uLmNvbnN0cnVjdG9yIGFzIG5ldyAoaXRlbXM6IG9iamVjdFtdKSA9PiBDb2xsZWN0aW9uO1xuXG4gICAgLy8gTm90aGluZyB0byBncm91cCB3aGVuIGNvbGxlY3Rpb24gaXMgZW1wdHlcbiAgICBpZiAoIWNvbGxlY3Rpb24ubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQ2hlY2sgaWYgdGhlIGZpcnN0IGNvbGxlY3Rpb24gaXRlbSBoYXMgcHJvcGVydHkgYnkgcGF0aFxuICAgIGlmICghaGFzKGNvbGxlY3Rpb24uaXRlbXNbMF0sIHBhdGgpICYmIHBhdGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmdyb3VwSXRlbXMoY29sbGVjdGlvbiwgcGF0aCwgcHJvcCk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdCBvZiBjb2xsZWN0aW9ucyBrZXlzXG4gICAqL1xuICBnZXQga2V5cygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuaXRlbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjb2xsZWN0aW9uIGJ5IGtleSBvciByZXR1cm4gZW1wdHkgY29sbGVjdGlvbiBpZiBrZXkgZG9lcyBub3QgZXhpc3RcbiAgICovXG4gIGdldChrZXk6IHN0cmluZyB8IG51bWJlcik6IENvbGxlY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLml0ZW1zW2tleV0gPyB0aGlzLml0ZW1zW2tleV0gOiB0aGlzLmNyZWF0ZUNvbGxlY3Rpb24oW10pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBuZXcgaXRlbSBieSBrZXlcbiAgICovXG4gIGFkZChrZXk6IHN0cmluZyB8IG51bWJlciwgdmFsdWU6IENvbGxlY3Rpb24pIHtcbiAgICB0aGlzLml0ZW1zW2tleV0gPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBKb2luIHNldmVyYWwgY29sbGVjdGlvbnMgYnkgaWRzXG4gICAqL1xuICBtZXJnZShrZXlzOiBudW1iZXJbXSk6IENvbGxlY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZUNvbGxlY3Rpb24oXG4gICAgICBmbGF0dGVuKFxuICAgICAgICBrZXlzLm1hcCgoaWQ6IG51bWJlcik6IG9iamVjdFtdID0+IHRoaXMuZ2V0KGlkLnRvU3RyaW5nKCkpLml0ZW1zKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGluc3RhbmNlIG9mIGNvbGxlY3Rpb25cbiAgICovXG4gIGNyZWF0ZUNvbGxlY3Rpb24oaXRlbXM6IG9iamVjdFtdID0gW10pOiBDb2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IHRoaXMuY29sbGVjdGlvbkNvbnN0cnVjdG9yKGl0ZW1zKTtcbiAgfVxuXG4gIGxlbmd0aCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmtleXMubGVuZ3RoO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyb3VwIGNvbGxlY3Rpb24gaXRlbXMgYnkgcGFzc2VkIHBhdGggaW50byBpdGVtcyBvYmplY3RcbiAgICovXG4gIHByaXZhdGUgZ3JvdXBJdGVtcyhjb2xsZWN0aW9uOiBDb2xsZWN0aW9uLCBwYXRoOiBzdHJpbmcsIHByb3A6IHN0cmluZyk6IHZvaWQge1xuICAgIC8vIENyZWF0ZSBlbXB0eSBpbml0aWFsIG9iamVjdCBmb3IgZ3JvdXBzXG4gICAgY29uc3Qgb2JqOiB7IFtrZXk6IHN0cmluZ106IEFycmF5PG9iamVjdD4gfSA9IHt9O1xuXG4gICAgLy8gR3JvdXAgY29sbGVjdGlvbiBpdGVtc1xuICAgIGNvbGxlY3Rpb24uaXRlbXMuZm9yRWFjaCgoaXRlbTogb2JqZWN0KTogdm9pZCA9PiB7XG4gICAgICBsZXQga2V5OiBzdHJpbmcgPSBnZXQoaXRlbSwgYCR7cGF0aCA/IHBhdGggKyAnLicgOiAnJ30ke3Byb3B9YCk7XG5cbiAgICAgIC8vIGlmIG9iamVjdCBkb2VzIG5vdCBoYXZlIHByb3BlcnR5IGZvciBncm91cGluZyBpdCB3aWxsIGJlIGdyb3VwZWQgYXMgJ290aGVyJ1xuICAgICAgaWYgKGtleSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGtleSA9ICdvdGhlcic7XG4gICAgICB9XG5cbiAgICAgIGlmICghb2JqW2tleV0pIHtcbiAgICAgICAgb2JqW2tleV0gPSBbXTtcbiAgICAgIH1cblxuICAgICAgb2JqW2tleV0ucHVzaChpdGVtKTtcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSBjb2xsZWN0aW9ucyBmcm9tIGdyb3Vwc1xuICAgIE9iamVjdC5rZXlzKG9iaikuZm9yRWFjaCgoa2V5OiBzdHJpbmcpOiB2b2lkID0+IHtcbiAgICAgIHRoaXMuaXRlbXNba2V5XSA9IHRoaXMuY3JlYXRlQ29sbGVjdGlvbihvYmpba2V5XSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1kaWN0aW9uYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2NvbGxlY3Rpb24tZGljdGlvbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEdBQUcsTUFBTSxZQUFZLENBQUM7QUFDN0IsT0FBTyxHQUFHLE1BQU0sWUFBWSxDQUFDO0FBQzdCLE9BQU8sT0FBTyxNQUFNLGdCQUFnQixDQUFDO0FBR3JDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLG9CQUFvQjtJQVcvQjs7OztPQUlHO0lBQ0gsWUFDRSxVQUFzQixFQUN0QixPQUFlLElBQUk7UUFqQnJCOztXQUVHO1FBQ0gsVUFBSyxHQUFrQyxFQUFFLENBQUM7UUFnQnhDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxVQUFVLENBQUMsV0FBa0QsQ0FBQztRQUUzRiw0Q0FBNEM7UUFDNUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUU7WUFDdEIsT0FBTztTQUNSO1FBRUQsMERBQTBEO1FBQzFELElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNuQyxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLElBQUk7UUFDTixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7T0FFRztJQUNILEdBQUcsQ0FBQyxHQUFvQjtRQUN0QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxHQUFHLENBQUMsR0FBb0IsRUFBRSxLQUFpQjtRQUN6QyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsSUFBYztRQUNsQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FDMUIsT0FBTyxDQUNMLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFVLEVBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQ2xFLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILGdCQUFnQixDQUFDLFFBQWtCLEVBQUU7UUFDbkMsT0FBTyxJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDMUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ssVUFBVSxDQUFDLFVBQXNCLEVBQUUsSUFBWTtRQUNyRCx5Q0FBeUM7UUFDekMsTUFBTSxHQUFHLEdBQXFDLEVBQUUsQ0FBQztRQUVqRCx5QkFBeUI7UUFDekIsVUFBVSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFZLEVBQVEsRUFBRTtZQUM5QyxJQUFJLEdBQUcsR0FBVyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBRWxDLDhFQUE4RTtZQUM5RSxJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUU7Z0JBQ3JCLEdBQUcsR0FBRyxPQUFPLENBQUM7YUFDZjtZQUVELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQzthQUNmO1lBRUQsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztRQUVILGlDQUFpQztRQUNqQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVcsRUFBUSxFQUFFO1lBQzdDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGhhcyBmcm9tICdsb2Rhc2gvaGFzJztcbmltcG9ydCBnZXQgZnJvbSAnbG9kYXNoL2dldCc7XG5pbXBvcnQgZmxhdHRlbiBmcm9tICdsb2Rhc2gvZmxhdHRlbic7XG5pbXBvcnQgeyBDb2xsZWN0aW9uIGFzIEJhc2VDb2xsZWN0aW9uIH0gZnJvbSAnLi9jb2xsZWN0aW9uJztcblxuLyoqXG4gKiBMaXN0IG9mIGNvbGxlY3Rpb25zIGdyb3VwZWQgYnkgcGFzc2VkIHByb3BlcnR5XG4gKi9cbmV4cG9ydCBjbGFzcyBDb2xsZWN0aW9uRGljdGlvbmFyeTxDb2xsZWN0aW9uIGV4dGVuZHMgQmFzZUNvbGxlY3Rpb248b2JqZWN0Pj4ge1xuICAvKipcbiAgICogTGlzdCBvZiBncm91cGVkIGNvbGxlY3Rpb25zXG4gICAqL1xuICBpdGVtczogeyBba2V5OiBzdHJpbmddOiBDb2xsZWN0aW9uIH0gPSB7fTtcblxuICAvKipcbiAgICogQ29uc3RydWN0b3IgZnVuY3Rpb24gb2YgcGFzc2VkIGNvbGxlY3Rpb24gZm9yIGNyZWF0aW5nIG5ldyBpbnN0YW5jZXNcbiAgICovXG4gIHByaXZhdGUgY29sbGVjdGlvbkNvbnN0cnVjdG9yOiBuZXcgKGl0ZW1zOiBvYmplY3RbXSkgPT4gQ29sbGVjdGlvbjtcblxuICAvKipcbiAgICogQHBhcmFtIGNvbGxlY3Rpb24gVGhlIENvbGxlY3Rpb24gaW5zdGFuY2UgdG8gYmUgZ3JvdXBlZFxuICAgKiBAcGFyYW0gcGF0aCBQYXRoIHRvIHRoZSBwcm9wZXJ0eSB0byBiZSBncm91cGVkIChFeGFtcGxlczogJ3RyYW5zYWN0aW9uJywgJ3Byb3BlcnR5LmNhdGVnb3J5JylcbiAgICogQHBhcmFtIHByb3AgT3B0aW9uYWw6IEZpZWxkIHRvIGdyb3VwIGJ5IChEZWZhdWx0ICdpZCcsIEV4YW1wbGVzOiAnaWQnLCAnYW1vdW50JywgJ2RhdGUnKVxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgY29sbGVjdGlvbjogQ29sbGVjdGlvbixcbiAgICBwYXRoOiBzdHJpbmcgPSAnaWQnXG4gICkge1xuICAgIHRoaXMuY29sbGVjdGlvbkNvbnN0cnVjdG9yID0gY29sbGVjdGlvbi5jb25zdHJ1Y3RvciBhcyBuZXcgKGl0ZW1zOiBvYmplY3RbXSkgPT4gQ29sbGVjdGlvbjtcblxuICAgIC8vIE5vdGhpbmcgdG8gZ3JvdXAgd2hlbiBjb2xsZWN0aW9uIGlzIGVtcHR5XG4gICAgaWYgKCFjb2xsZWN0aW9uLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIENoZWNrIGlmIHRoZSBmaXJzdCBjb2xsZWN0aW9uIGl0ZW0gaGFzIHByb3BlcnR5IGJ5IHBhdGhcbiAgICBpZiAoIWhhcyhjb2xsZWN0aW9uLml0ZW1zWzBdLCBwYXRoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZ3JvdXBJdGVtcyhjb2xsZWN0aW9uLCBwYXRoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGNvbGxlY3Rpb25zIGtleXNcbiAgICovXG4gIGdldCBrZXlzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5pdGVtcyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNvbGxlY3Rpb24gYnkga2V5IG9yIHJldHVybiBlbXB0eSBjb2xsZWN0aW9uIGlmIGtleSBkb2VzIG5vdCBleGlzdFxuICAgKi9cbiAgZ2V0KGtleTogc3RyaW5nIHwgbnVtYmVyKTogQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXNba2V5XSA/IHRoaXMuaXRlbXNba2V5XSA6IHRoaXMuY3JlYXRlQ29sbGVjdGlvbihbXSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIG5ldyBpdGVtIGJ5IGtleVxuICAgKi9cbiAgYWRkKGtleTogc3RyaW5nIHwgbnVtYmVyLCB2YWx1ZTogQ29sbGVjdGlvbikge1xuICAgIHRoaXMuaXRlbXNba2V5XSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEpvaW4gc2V2ZXJhbCBjb2xsZWN0aW9ucyBieSBpZHNcbiAgICovXG4gIG1lcmdlKGtleXM6IG51bWJlcltdKTogQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlQ29sbGVjdGlvbihcbiAgICAgIGZsYXR0ZW4oXG4gICAgICAgIGtleXMubWFwKChpZDogbnVtYmVyKTogb2JqZWN0W10gPT4gdGhpcy5nZXQoaWQudG9TdHJpbmcoKSkuaXRlbXMpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgaW5zdGFuY2Ugb2YgY29sbGVjdGlvblxuICAgKi9cbiAgY3JlYXRlQ29sbGVjdGlvbihpdGVtczogb2JqZWN0W10gPSBbXSk6IENvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgdGhpcy5jb2xsZWN0aW9uQ29uc3RydWN0b3IoaXRlbXMpO1xuICB9XG5cbiAgbGVuZ3RoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMua2V5cy5sZW5ndGg7XG4gIH1cblxuICAvKipcbiAgICogR3JvdXAgY29sbGVjdGlvbiBpdGVtcyBieSBwYXNzZWQgcGF0aCBpbnRvIGl0ZW1zIG9iamVjdFxuICAgKi9cbiAgcHJpdmF0ZSBncm91cEl0ZW1zKGNvbGxlY3Rpb246IENvbGxlY3Rpb24sIHBhdGg6IHN0cmluZyk6IHZvaWQge1xuICAgIC8vIENyZWF0ZSBlbXB0eSBpbml0aWFsIG9iamVjdCBmb3IgZ3JvdXBzXG4gICAgY29uc3Qgb2JqOiB7IFtrZXk6IHN0cmluZ106IEFycmF5PG9iamVjdD4gfSA9IHt9O1xuXG4gICAgLy8gR3JvdXAgY29sbGVjdGlvbiBpdGVtc1xuICAgIGNvbGxlY3Rpb24uaXRlbXMuZm9yRWFjaCgoaXRlbTogb2JqZWN0KTogdm9pZCA9PiB7XG4gICAgICBsZXQga2V5OiBzdHJpbmcgPSBnZXQoaXRlbSwgcGF0aCk7XG5cbiAgICAgIC8vIGlmIG9iamVjdCBkb2VzIG5vdCBoYXZlIHByb3BlcnR5IGZvciBncm91cGluZyBpdCB3aWxsIGJlIGdyb3VwZWQgYXMgJ290aGVyJ1xuICAgICAgaWYgKGtleSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGtleSA9ICdvdGhlcic7XG4gICAgICB9XG5cbiAgICAgIGlmICghb2JqW2tleV0pIHtcbiAgICAgICAgb2JqW2tleV0gPSBbXTtcbiAgICAgIH1cblxuICAgICAgb2JqW2tleV0ucHVzaChpdGVtKTtcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSBjb2xsZWN0aW9ucyBmcm9tIGdyb3Vwc1xuICAgIE9iamVjdC5rZXlzKG9iaikuZm9yRWFjaCgoa2V5OiBzdHJpbmcpOiB2b2lkID0+IHtcbiAgICAgIHRoaXMuaXRlbXNba2V5XSA9IHRoaXMuY3JlYXRlQ29sbGVjdGlvbihvYmpba2V5XSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { Collection } from '../../collection';
2
+ import { CollectionDictionary } from '../../collection-dictionary';
3
+ import { PropertyReportItemDepreciation } from '../../../models/report/property/property-report-item-depreciation';
4
+ /**
5
+ * Collection to work with depreciation-based property report items
6
+ */
7
+ export class PropertyReportItemDepreciationCollection extends Collection {
8
+ constructor(depreciations, property, chartAccounts) {
9
+ super();
10
+ this.setItems(depreciations, property, chartAccounts);
11
+ }
12
+ setItems(depreciations, property, chartAccounts) {
13
+ const depreciationsbyType = new CollectionDictionary(depreciations, 'type');
14
+ this.items = depreciationsbyType.keys.map((type) => {
15
+ return new PropertyReportItemDepreciation(depreciationsbyType.get(type), property, chartAccounts.getById(depreciationsbyType.get(type).first.chartAccounts.id));
16
+ });
17
+ }
18
+ }
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktcmVwb3J0LWl0ZW0tZGVwcmVjaWF0aW9uLmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvcmVwb3J0L3Byb3BlcnR5L3Byb3BlcnR5LXJlcG9ydC1pdGVtLWRlcHJlY2lhdGlvbi5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUs5QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUVuSDs7R0FFRztBQUNILE1BQU0sT0FBTyx3Q0FBeUMsU0FBUSxVQUE4QjtJQUMxRixZQUNFLGFBQXFDLEVBQ3JDLFFBQWtCLEVBQ2xCLGFBQXdDO1FBRXhDLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFBO0lBQ3ZELENBQUM7SUFFTyxRQUFRLENBQUMsYUFBcUMsRUFBRSxRQUFrQixFQUFFLGFBQXdDO1FBQ2xILE1BQU0sbUJBQW1CLEdBQWlELElBQUksb0JBQW9CLENBQ2hHLGFBQWEsRUFDYixNQUFNLENBQ1AsQ0FBQztRQUVGLElBQUksQ0FBQyxLQUFLLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVksRUFBRSxFQUFFO1lBQ3pELE9BQU8sSUFBSSw4QkFBOEIsQ0FDdkMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUM3QixRQUFRLEVBQ1IsYUFBYSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FDNUUsQ0FBQTtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgUHJvcGVydHlSZXBvcnRJdGVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3JlcG9ydC9wcm9wZXJ0eS9wcm9wZXJ0eS1yZXBvcnQtaXRlbSc7XG5pbXBvcnQgeyBQcm9wZXJ0eSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eSc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9kZXByZWNpYXRpb24uY29sbGVjdGlvbic7XG5pbXBvcnQgeyBDb2xsZWN0aW9uRGljdGlvbmFyeSB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb24tZGljdGlvbmFyeSc7XG5pbXBvcnQgeyBQcm9wZXJ0eVJlcG9ydEl0ZW1EZXByZWNpYXRpb24gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcmVwb3J0L3Byb3BlcnR5L3Byb3BlcnR5LXJlcG9ydC1pdGVtLWRlcHJlY2lhdGlvbic7XG5cbi8qKlxuICogQ29sbGVjdGlvbiB0byB3b3JrIHdpdGggZGVwcmVjaWF0aW9uLWJhc2VkIHByb3BlcnR5IHJlcG9ydCBpdGVtc1xuICovXG5leHBvcnQgY2xhc3MgUHJvcGVydHlSZXBvcnRJdGVtRGVwcmVjaWF0aW9uQ29sbGVjdGlvbiBleHRlbmRzIENvbGxlY3Rpb248UHJvcGVydHlSZXBvcnRJdGVtPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIGRlcHJlY2lhdGlvbnM6IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24sXG4gICAgcHJvcGVydHk6IFByb3BlcnR5LFxuICAgIGNoYXJ0QWNjb3VudHM6IENvbGxlY3Rpb248Q2hhcnRBY2NvdW50cz5cbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnNldEl0ZW1zKGRlcHJlY2lhdGlvbnMsIHByb3BlcnR5LCBjaGFydEFjY291bnRzKVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRJdGVtcyhkZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25Db2xsZWN0aW9uLCBwcm9wZXJ0eTogUHJvcGVydHksIGNoYXJ0QWNjb3VudHM6IENvbGxlY3Rpb248Q2hhcnRBY2NvdW50cz4pOiB2b2lkIHtcbiAgICBjb25zdCBkZXByZWNpYXRpb25zYnlUeXBlOiBDb2xsZWN0aW9uRGljdGlvbmFyeTxEZXByZWNpYXRpb25Db2xsZWN0aW9uPiA9IG5ldyBDb2xsZWN0aW9uRGljdGlvbmFyeTxEZXByZWNpYXRpb25Db2xsZWN0aW9uPihcbiAgICAgIGRlcHJlY2lhdGlvbnMsXG4gICAgICAndHlwZSdcbiAgICApO1xuXG4gICAgdGhpcy5pdGVtcyA9IGRlcHJlY2lhdGlvbnNieVR5cGUua2V5cy5tYXAoKHR5cGU6IHN0cmluZykgPT4ge1xuICAgICAgcmV0dXJuIG5ldyBQcm9wZXJ0eVJlcG9ydEl0ZW1EZXByZWNpYXRpb24oXG4gICAgICAgIGRlcHJlY2lhdGlvbnNieVR5cGUuZ2V0KHR5cGUpLFxuICAgICAgICBwcm9wZXJ0eSxcbiAgICAgICAgY2hhcnRBY2NvdW50cy5nZXRCeUlkKGRlcHJlY2lhdGlvbnNieVR5cGUuZ2V0KHR5cGUpLmZpcnN0LmNoYXJ0QWNjb3VudHMuaWQpXG4gICAgICApXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { Collection } from '../../collection';
2
+ import { CollectionDictionary } from '../../collection-dictionary';
3
+ import { PropertyReportItemTransaction } from '../../../models/report/property/property-report-item-transaction';
4
+ /**
5
+ * Collection to work with transaction-based property report items
6
+ */
7
+ export class PropertyReportItemTransactionCollection extends Collection {
8
+ constructor(transactions, property, chartAccounts) {
9
+ super();
10
+ this.setItems(transactions, property, chartAccounts);
11
+ }
12
+ setItems(transactions, property, chartAccounts) {
13
+ const transactionsDictionary = new CollectionDictionary(transactions, 'chartAccounts.id');
14
+ this.items = transactionsDictionary.keys.map((chartAccountId) => {
15
+ return new PropertyReportItemTransaction(transactionsDictionary.get(chartAccountId), property, chartAccounts.getById(+chartAccountId));
16
+ });
17
+ }
18
+ }
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktcmVwb3J0LWl0ZW0tdHJhbnNhY3Rpb24uY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy9yZXBvcnQvcHJvcGVydHkvcHJvcGVydHktcmVwb3J0LWl0ZW0tdHJhbnNhY3Rpb24uY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFLOUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbkUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFFakg7O0dBRUc7QUFDSCxNQUFNLE9BQU8sdUNBQXdDLFNBQVEsVUFBOEI7SUFDekYsWUFDRSxZQUFtQyxFQUNuQyxRQUFrQixFQUNsQixhQUF3QztRQUV4QyxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU8sUUFBUSxDQUFDLFlBQW1DLEVBQUUsUUFBa0IsRUFBRSxhQUF3QztRQUNoSCxNQUFNLHNCQUFzQixHQUFnRCxJQUFJLG9CQUFvQixDQUNsRyxZQUFZLEVBQ1osa0JBQWtCLENBQ25CLENBQUM7UUFFRixJQUFJLENBQUMsS0FBSyxHQUFHLHNCQUFzQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxjQUFzQixFQUFFLEVBQUU7WUFDdEUsT0FBTyxJQUFJLDZCQUE2QixDQUN0QyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEVBQzFDLFFBQVEsRUFDUixhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQ3ZDLENBQUE7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IFByb3BlcnR5UmVwb3J0SXRlbSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9yZXBvcnQvcHJvcGVydHkvcHJvcGVydHktcmVwb3J0LWl0ZW0nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24uY29sbGVjdGlvbic7XG5pbXBvcnQgeyBQcm9wZXJ0eSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eSc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzJztcbmltcG9ydCB7IENvbGxlY3Rpb25EaWN0aW9uYXJ5IH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbi1kaWN0aW9uYXJ5JztcbmltcG9ydCB7IFByb3BlcnR5UmVwb3J0SXRlbVRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3JlcG9ydC9wcm9wZXJ0eS9wcm9wZXJ0eS1yZXBvcnQtaXRlbS10cmFuc2FjdGlvbic7XG5cbi8qKlxuICogQ29sbGVjdGlvbiB0byB3b3JrIHdpdGggdHJhbnNhY3Rpb24tYmFzZWQgcHJvcGVydHkgcmVwb3J0IGl0ZW1zXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eVJlcG9ydEl0ZW1UcmFuc2FjdGlvbkNvbGxlY3Rpb24gZXh0ZW5kcyBDb2xsZWN0aW9uPFByb3BlcnR5UmVwb3J0SXRlbT4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICB0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbixcbiAgICBwcm9wZXJ0eTogUHJvcGVydHksXG4gICAgY2hhcnRBY2NvdW50czogQ29sbGVjdGlvbjxDaGFydEFjY291bnRzPlxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuc2V0SXRlbXModHJhbnNhY3Rpb25zLCBwcm9wZXJ0eSwgY2hhcnRBY2NvdW50cyk7XG4gIH1cblxuICBwcml2YXRlIHNldEl0ZW1zKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25Db2xsZWN0aW9uLCBwcm9wZXJ0eTogUHJvcGVydHksIGNoYXJ0QWNjb3VudHM6IENvbGxlY3Rpb248Q2hhcnRBY2NvdW50cz4pOiB2b2lkIHtcbiAgICBjb25zdCB0cmFuc2FjdGlvbnNEaWN0aW9uYXJ5OiBDb2xsZWN0aW9uRGljdGlvbmFyeTxUcmFuc2FjdGlvbkNvbGxlY3Rpb24+ID0gbmV3IENvbGxlY3Rpb25EaWN0aW9uYXJ5PFRyYW5zYWN0aW9uQ29sbGVjdGlvbj4oXG4gICAgICB0cmFuc2FjdGlvbnMsXG4gICAgICAnY2hhcnRBY2NvdW50cy5pZCdcbiAgICApO1xuXG4gICAgdGhpcy5pdGVtcyA9IHRyYW5zYWN0aW9uc0RpY3Rpb25hcnkua2V5cy5tYXAoKGNoYXJ0QWNjb3VudElkOiBzdHJpbmcpID0+IHtcbiAgICAgIHJldHVybiBuZXcgUHJvcGVydHlSZXBvcnRJdGVtVHJhbnNhY3Rpb24oXG4gICAgICAgIHRyYW5zYWN0aW9uc0RpY3Rpb25hcnkuZ2V0KGNoYXJ0QWNjb3VudElkKSxcbiAgICAgICAgcHJvcGVydHksXG4gICAgICAgIGNoYXJ0QWNjb3VudHMuZ2V0QnlJZCgrY2hhcnRBY2NvdW50SWQpXG4gICAgICApXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -97,8 +97,8 @@ export class Depreciation extends DepreciationBase {
97
97
  /**
98
98
  * Create a new transaction from current depreciation
99
99
  */
100
- toTransaction() {
101
- return plainToClass(Transaction, Object.assign({}, this, { amount: this.currentYearForecast.amount }));
100
+ toTransaction(params = {}) {
101
+ return plainToClass(Transaction, Object.assign(params, this, { amount: this.currentYearForecast.amount }));
102
102
  }
103
103
  get claimAmount() {
104
104
  var _a;
@@ -149,4 +149,4 @@ __decorate([
149
149
  __decorate([
150
150
  Type(() => BankTransaction)
151
151
  ], Depreciation.prototype, "bankTransaction", void 0);
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjaWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxJQUFJLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDM0YsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0seURBQXlELENBQUM7QUFDOUcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXpELE1BQU0sT0FBTyxZQUFhLFNBQVEsZ0JBQWdCO0lBQWxEOztRQXNDRSxjQUFTLEdBQTJCLEVBQUUsQ0FBQztRQVF2QyxTQUFJLEdBQXlCLG9CQUFvQixDQUFDLGVBQWUsQ0FBQztJQTBHcEUsQ0FBQztJQXRHQyxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLG9CQUFvQixDQUFD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O29CQUN4RyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksSUFBSSxJQUFJLGFBQWEsQ0FBQyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3BHLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLENBQUM7K0NBQ3FDO0FBR3ZDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQzttREFDRztBQUc3QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUM7cURBQ0siLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXByZWNpYXRpb24gYXMgRGVwcmVjaWF0aW9uQmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy9kZXByZWNpYXRpb24nO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uVHlwZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9kZXByZWNpYXRpb24tdHlwZS5lbnVtJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbkNhbGN1bGF0aW9uRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL2RlcHJlY2lhdGlvbi1jYWxjdWxhdGlvbi5lbnVtJztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHNIZWFkaW5nVmVoaWNsZUxpc3RFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvY2hhcnQtYWNjb3VudHMtaGVhZGluZy12ZWhpY2xlLWxpc3QuZW51bSc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzTGlzdEVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1saXN0LmVudW0nO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uQ2FwaXRhbFByb2plY3QgfSBmcm9tICcuL2RlcHJlY2lhdGlvbi1jYXBpdGFsLXByb2plY3QnO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uRm9yZWNhc3QgfSBmcm9tICcuL2RlcHJlY2lhdGlvbi1mb3JlY2FzdCc7XG5pbXBvcnQgeyBGaW5hbmNpYWxZZWFyIH0gZnJvbSAnLi4vZmluYW5jaWFsLXllYXIvZmluYW5jaWFsLXllYXInO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50cyB9IGZyb20gJy4uL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzJztcbmltcG9ydCB7IEJhbmtUcmFuc2FjdGlvbiB9IGZyb20gJy4uL2JhbmsvYmFuay10cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBJVGFuayB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvdGFuay5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSVJlY2VpcHQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3JlY2VpcHQuaW50ZXJmYWNlJztcbmltcG9ydCB7IElBc3NldCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvYXNzZXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcywgVHJhbnNmb3JtLCBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuLi90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5cbmV4cG9ydCBjbGFzcyBEZXByZWNpYXRpb24gZXh0ZW5kcyBEZXByZWNpYXRpb25CYXNlIGltcGxlbWVudHMgSVRhbmssIElSZWNlaXB0IHtcbiAgc3RhdGljIFdSSVRURU5fT0ZGX1RIUkVTSE9MRCA9IDMwMDtcbiAgc3RhdGljIExPV19WQUxVRV9QT09MX1RIUkVTSE9MRCA9IDEwMDA7XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgcHVyY2hhc2VEYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIGRhdGU6IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgbG93VmFsdWVQb29sRGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICB3cml0ZU9mZk1hbnVhbERhdGU6IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgd3JpdGVPZmZEYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IERlcHJlY2lhdGlvbkNhcGl0YWxQcm9qZWN0KVxuICBkZXByZWNpYXRpb25DYXBpdGFsUHJvamVjdDogRGVwcmVjaWF0aW9uQ2FwaXRhbFByb2plY3Q7XG5cbiAgQFR5cGUoKCkgPT4gRGVwcmVjaWF0aW9uRm9yZWNhc3QpXG4gIEBUcmFuc2Zvcm0oKHt2YWx1ZSwgb2JqfSkgPT4ge1xuICAgIC8vIHZhbHVlID0gYXJyYXkgb2YgRGVwcmVjaWF0aW9uRm9yZWNhc3RcbiAgICAvLyBvYmogPSBwbGFpbiAod2hvbGUgRGVwcmVjaWF0aW9uIG9iamVjdClcbiAgICAvLyBTZXQgaXNMVlAgZmxhZyBmb3IgZWFjaCBEZXByZWNpYXRpb25Gb3JlY2FzdFxuICAgIC8vIEBUT0RPIHJlZmFjdG9yXG4gICAgdmFsdWUuZm9yRWFjaCgoZm9yZWNhc3Q6IERlcHJlY2lhdGlvbkZvcmVjYXN0KTogdm9pZCA9PiB7XG4gICAgICBmb3JlY2FzdC5pc0xWUCA9XG4gICAgICAgIGZvcmVjYXN0LmNsb3NlQmFsYW5jZSA8IDEwMDAgJiZcbiAgICAgICAgb2JqLmNhbGN1bGF0aW9uID09PSBEZXByZWNpYXRpb25DYWxjdWxhdGlvbkVudW0uRElNSU5JU0hJTkcgJiZcbiAgICAgICAgb2JqLnR5cGUgPT09IERlcHJlY2lhdGlvblR5cGVFbnVtLlBMQU5UX0VRVUlQTUVOVCAmJlxuICAgICAgICAhKG9iai5hbW91bnQgPiBEZXByZWNpYXRpb24uV1JJVFRFTl9PRkZfVEhSRVNIT0xEICYmIG9iai5hbW91bnQgPCBEZXByZWNpYXRpb24uTE9XX1ZBTFVFX1BPT0xfVEhSRVNIT0xEKSAmJlxuICAgICAgICAhKG9iai53cml0ZU9mZkRhdGUgJiYgbmV3IEZpbmFuY2lhbFllYXIobmV3IERhdGUob2JqLndyaXRlT2ZmRGF0ZSkpLnllYXIgPT09IG9iai5maW5hbmNpYWxZZWFyKTtcbiAgICB9KTtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH0pXG4gIGZvcmVjYXN0czogRGVwcmVjaWF0aW9uRm9yZWNhc3RbXSA9IFtdO1xuXG4gIEBUeXBlKCgpID0+IENoYXJ0QWNjb3VudHMpXG4gIGNoYXJ0QWNjb3VudHM6IENoYXJ0QWNjb3VudHM7XG5cbiAgQFR5cGUoKCkgPT4gQmFua1RyYW5zYWN0aW9uKVxuICBiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbjtcblxuICB0eXBlOiBEZXByZWNpYXRpb25UeXBlRW51bSA9IERlcHJlY2lhdGlvblR5cGVFbnVtLlBMQU5UX0VRVUlQTUVOVDtcblxuICByZWNlaXB0OiBJQXNzZXQ7XG5cbiAgaXNDYXBpdGFsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IERlcHJlY2lhdGlvblR5cGVFbnVtLkNBUElUQUxfV09SS1M7XG4gIH1cblxuICBpc0JvcnJvd2luZ0V4cGVuc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gRGVwcmVjaWF0aW9uVHlwZUVudW0uQk9SUk9XSU5HX0VYUEVOU0VTO1xuICB9XG5cbiAgaXNBc3NldCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBEZXByZWNpYXRpb25UeXBlRW51bS5QTEFOVF9FUVVJUE1FTlQ7XG4gIH1cblxuICAvKipcbiAgICogY2hlY2sgaWYgZGVwcmVjaWF0aW9uIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gd3JpdHRlbiBvZmYgY2F0ZWdvcnlcbiAgICogZGV0YWlscyBpbiBwcm9qZWN0IGRvY3VtZW50YXRpb25cbiAgICogQFRPRE8gbmV3IEZpbmFuY2lhbFllYXIodGhpcy53cml0ZU9mZkRhdGUpID09PSBuZXcgRmluYW5jaWFsWWVhcigpXG4gICAqL1xuICBpc1dyaXR0ZW5PZmYoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNBc3NldCAmJiB0aGlzLndyaXRlT2ZmRGF0ZSAmJiBuZXcgRmluYW5jaWFsWWVhcih0aGlzLndyaXRlT2ZmRGF0ZSkueWVhciA9PT0gdGhpcy5maW5hbmNpYWxZZWFyO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGRlcHJlY2lhdGlvbiBpcyBQbGFudCAmIEVxdWlwbWVudFxuICAgKi9cbiAgaXNQbGFudEVxdWlwbWVudCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0Fzc2V0KCkgJiYgIXRoaXMuaXNXcml0dGVuT2ZmKCkgJiYgIXRoaXMuaXNMb3dWYWx1ZVBvb2woKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjaGVjayBpZiBkZXByZWNpYXRpb24gc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBsb3cgdmFsdWUgcG9vbFxuICAgKiBkZXRhaWxzIGluIHByb2plY3QgZG9jdW1lbnRhdGlvblxuICAgKiBAVE9ETyBuZXcgRmluYW5jaWFsWWVhcih0aGlzLndyaXRlT2ZmRGF0ZSkgPT09IG5ldyBGaW5hbmNpYWxZZWFyKClcbiAgICovXG4gIGlzTG93VmFsdWVQb29sKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzQXNzZXQgJiZcbiAgICAgIHRoaXMuY2FsY3VsYXRpb24gPT09IERlcHJlY2lhdGlvbkNhbGN1bGF0aW9uRW51bS5ESU1JTklTSElORyAmJlxuICAgICAgdGhpcy5hbW91bnQgPiBEZXByZWNpYXRpb24uV1JJVFRFTl9PRkZfVEhSRVNIT0xEICYmXG4gICAgICB0aGlzLmFtb3VudCA8PSBEZXByZWNpYXRpb24uTE9XX1ZBTFVFX1BPT0xfVEhSRVNIT0xEO1xuICB9XG5cbiAgaXNQcmltZUNvc3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRpb24gPT09IERlcHJlY2lhdGlvbkNhbGN1bGF0aW9uRW51bS5QUklNRV9DT1NUO1xuICB9XG5cbiAgaXNEaW1pbmlzaGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jYWxjdWxhdGlvbiA9PT0gRGVwcmVjaWF0aW9uQ2FsY3VsYXRpb25FbnVtLkRJTUlOSVNISU5HO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGRlcHJlY2lhdGlvbiBjaGFydCBhY2NvdW50cyBoZWFkaW5nIHJlbGF0ZWQgdG8gdmVoaWNsZXMgY2F0ZWdvcnlcbiAgICovXG4gIGlzVmVoaWNsZURlcHJlY2lhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jaGFydEFjY291bnRzLmhlYWRpbmc/LmlkID09PSBDaGFydEFjY291bnRzSGVhZGluZ1ZlaGljbGVMaXN0RW51bS5ERVBSRUNJQVRJT05fVkVISUNMRVM7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGRlcHJlY2lhdGlvbiBwdXJjaGFzZSBkYXRlXG4gICAqL1xuICBnZXREYXRlKCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLmRhdGU7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gd3JvbmcgeWVhciwgdXNlIGN1cnJlbnQgZmluYW5jaWFsIHllYXIsIGNoZWNrIGV2ZXJ5d2hlcmVcbiAgICovXG4gIGdldCBjdXJyZW50WWVhckZvcmVjYXN0KCk6IERlcHJlY2lhdGlvbkZvcmVjYXN0IHtcbiAgICByZXR1cm4gdGhpcy5mb3JlY2FzdHMuZmluZCgoZm9yZWNhc3Q6IERlcHJlY2lhdGlvbkZvcmVjYXN0KTogYm9vbGVhbiA9PiB7XG4gICAgICByZXR1cm4gZm9yZWNhc3QuZmluYW5jaWFsWWVhciA9PT0gbmV3IEZpbmFuY2lhbFllYXIoKS55ZWFyO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0Rm9yZWNhc3RCeVllYXIoeWVhcjogbnVtYmVyKTogRGVwcmVjaWF0aW9uRm9yZWNhc3Qge1xuICAgIHJldHVybiB0aGlzLmZvcmVjYXN0cy5maW5kKChmb3JlY2FzdDogRGVwcmVjaWF0aW9uRm9yZWNhc3QpOiBib29sZWFuID0+IHtcbiAgICAgIHJldHVybiBmb3JlY2FzdC5maW5hbmNpYWxZZWFyID09PSB5ZWFyO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0Q2xhaW1BbW91bnRCeVllYXIoeWVhcjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRGb3JlY2FzdEJ5WWVhcih5ZWFyKT8uY2xhaW1BbW91bnQgfHwgMDtcbiAgfVxuXG4gIGdldENsb3NlQmFsYW5jZUJ5WWVhcih5ZWFyOiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldEZvcmVjYXN0QnlZZWFyKHllYXIpPy5jbG9zZUJhbGFuY2UgfHwgMDtcbiAgfVxuXG4gIGlzQnVpbGRpbmdBdENvc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2hhcnRBY2NvdW50cy5pZCA9PT0gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLkJVSUxESU5HX0FUX0NPU1Q7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IHRyYW5zYWN0aW9uIGZyb20gY3VycmVudCBkZXByZWNpYXRpb25cbiAgICovXG4gIHRvVHJhbnNhY3Rpb24oKTogVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiBwbGFpblRvQ2xhc3MoXG4gICAgICBUcmFuc2FjdGlvbixcbiAgICAgIE9iamVjdC5hc3NpZ24oe30sIHRoaXMsICB7YW1vdW50OiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3QuYW1vdW50fSlcbiAgICApO1xuICB9XG5cbiAgZ2V0IGNsYWltQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFllYXJGb3JlY2FzdD8uY2xhaW1BbW91bnQgfHwgMDtcbiAgfVxufVxuIl19
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjaWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxJQUFJLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDM0YsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0seURBQXlELENBQUM7QUFDOUcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXpELE1BQU0sT0FBTyxZQUFhLFNBQVEsZ0JBQWdCO0lBQWxEOztRQXNDRSxjQUFTLEdBQTJCLEVBQUUsQ0FBQztRQVF2QyxTQUFJLEdBQXlCLG9CQUFvQixDQUFDLGVBQWUsQ0FBQztJQTBHcEUsQ0FBQztJQXRHQyxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLG9CQUFvQixDQUFD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WUFBWSxDQUFDLHdCQUF3QixDQUFDO29CQUN4RyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksSUFBSSxJQUFJLGFBQWEsQ0FBQyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3BHLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLENBQUM7K0NBQ3FDO0FBR3ZDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQzttREFDRztBQUc3QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUM7cURBQ0siLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXByZWNpYXRpb24gYXMgRGVwcmVjaWF0aW9uQmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy9kZXByZWNpYXRpb24nO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uVHlwZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9kZXByZWNpYXRpb24tdHlwZS5lbnVtJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbkNhbGN1bGF0aW9uRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL2RlcHJlY2lhdGlvbi1jYWxjdWxhdGlvbi5lbnVtJztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHNIZWFkaW5nVmVoaWNsZUxpc3RFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvY2hhcnQtYWNjb3VudHMtaGVhZGluZy12ZWhpY2xlLWxpc3QuZW51bSc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzTGlzdEVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1saXN0LmVudW0nO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uQ2FwaXRhbFByb2plY3QgfSBmcm9tICcuL2RlcHJlY2lhdGlvbi1jYXBpdGFsLXByb2plY3QnO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uRm9yZWNhc3QgfSBmcm9tICcuL2RlcHJlY2lhdGlvbi1mb3JlY2FzdCc7XG5pbXBvcnQgeyBGaW5hbmNpYWxZZWFyIH0gZnJvbSAnLi4vZmluYW5jaWFsLXllYXIvZmluYW5jaWFsLXllYXInO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50cyB9IGZyb20gJy4uL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzJztcbmltcG9ydCB7IEJhbmtUcmFuc2FjdGlvbiB9IGZyb20gJy4uL2JhbmsvYmFuay10cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBJVGFuayB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvdGFuay5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSVJlY2VpcHQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3JlY2VpcHQuaW50ZXJmYWNlJztcbmltcG9ydCB7IElBc3NldCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvYXNzZXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcywgVHJhbnNmb3JtLCBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuLi90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5cbmV4cG9ydCBjbGFzcyBEZXByZWNpYXRpb24gZXh0ZW5kcyBEZXByZWNpYXRpb25CYXNlIGltcGxlbWVudHMgSVRhbmssIElSZWNlaXB0IHtcbiAgc3RhdGljIFdSSVRURU5fT0ZGX1RIUkVTSE9MRCA9IDMwMDtcbiAgc3RhdGljIExPV19WQUxVRV9QT09MX1RIUkVTSE9MRCA9IDEwMDA7XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgcHVyY2hhc2VEYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIGRhdGU6IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgbG93VmFsdWVQb29sRGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICB3cml0ZU9mZk1hbnVhbERhdGU6IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgd3JpdGVPZmZEYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IERlcHJlY2lhdGlvbkNhcGl0YWxQcm9qZWN0KVxuICBkZXByZWNpYXRpb25DYXBpdGFsUHJvamVjdDogRGVwcmVjaWF0aW9uQ2FwaXRhbFByb2plY3Q7XG5cbiAgQFR5cGUoKCkgPT4gRGVwcmVjaWF0aW9uRm9yZWNhc3QpXG4gIEBUcmFuc2Zvcm0oKHt2YWx1ZSwgb2JqfSkgPT4ge1xuICAgIC8vIHZhbHVlID0gYXJyYXkgb2YgRGVwcmVjaWF0aW9uRm9yZWNhc3RcbiAgICAvLyBvYmogPSBwbGFpbiAod2hvbGUgRGVwcmVjaWF0aW9uIG9iamVjdClcbiAgICAvLyBTZXQgaXNMVlAgZmxhZyBmb3IgZWFjaCBEZXByZWNpYXRpb25Gb3JlY2FzdFxuICAgIC8vIEBUT0RPIHJlZmFjdG9yXG4gICAgdmFsdWUuZm9yRWFjaCgoZm9yZWNhc3Q6IERlcHJlY2lhdGlvbkZvcmVjYXN0KTogdm9pZCA9PiB7XG4gICAgICBmb3JlY2FzdC5pc0xWUCA9XG4gICAgICAgIGZvcmVjYXN0LmNsb3NlQmFsYW5jZSA8IDEwMDAgJiZcbiAgICAgICAgb2JqLmNhbGN1bGF0aW9uID09PSBEZXByZWNpYXRpb25DYWxjdWxhdGlvbkVudW0uRElNSU5JU0hJTkcgJiZcbiAgICAgICAgb2JqLnR5cGUgPT09IERlcHJlY2lhdGlvblR5cGVFbnVtLlBMQU5UX0VRVUlQTUVOVCAmJlxuICAgICAgICAhKG9iai5hbW91bnQgPiBEZXByZWNpYXRpb24uV1JJVFRFTl9PRkZfVEhSRVNIT0xEICYmIG9iai5hbW91bnQgPCBEZXByZWNpYXRpb24uTE9XX1ZBTFVFX1BPT0xfVEhSRVNIT0xEKSAmJlxuICAgICAgICAhKG9iai53cml0ZU9mZkRhdGUgJiYgbmV3IEZpbmFuY2lhbFllYXIobmV3IERhdGUob2JqLndyaXRlT2ZmRGF0ZSkpLnllYXIgPT09IG9iai5maW5hbmNpYWxZZWFyKTtcbiAgICB9KTtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH0pXG4gIGZvcmVjYXN0czogRGVwcmVjaWF0aW9uRm9yZWNhc3RbXSA9IFtdO1xuXG4gIEBUeXBlKCgpID0+IENoYXJ0QWNjb3VudHMpXG4gIGNoYXJ0QWNjb3VudHM6IENoYXJ0QWNjb3VudHM7XG5cbiAgQFR5cGUoKCkgPT4gQmFua1RyYW5zYWN0aW9uKVxuICBiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbjtcblxuICB0eXBlOiBEZXByZWNpYXRpb25UeXBlRW51bSA9IERlcHJlY2lhdGlvblR5cGVFbnVtLlBMQU5UX0VRVUlQTUVOVDtcblxuICByZWNlaXB0OiBJQXNzZXQ7XG5cbiAgaXNDYXBpdGFsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IERlcHJlY2lhdGlvblR5cGVFbnVtLkNBUElUQUxfV09SS1M7XG4gIH1cblxuICBpc0JvcnJvd2luZ0V4cGVuc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gRGVwcmVjaWF0aW9uVHlwZUVudW0uQk9SUk9XSU5HX0VYUEVOU0VTO1xuICB9XG5cbiAgaXNBc3NldCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBEZXByZWNpYXRpb25UeXBlRW51bS5QTEFOVF9FUVVJUE1FTlQ7XG4gIH1cblxuICAvKipcbiAgICogY2hlY2sgaWYgZGVwcmVjaWF0aW9uIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gd3JpdHRlbiBvZmYgY2F0ZWdvcnlcbiAgICogZGV0YWlscyBpbiBwcm9qZWN0IGRvY3VtZW50YXRpb25cbiAgICogQFRPRE8gbmV3IEZpbmFuY2lhbFllYXIodGhpcy53cml0ZU9mZkRhdGUpID09PSBuZXcgRmluYW5jaWFsWWVhcigpXG4gICAqL1xuICBpc1dyaXR0ZW5PZmYoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNBc3NldCAmJiB0aGlzLndyaXRlT2ZmRGF0ZSAmJiBuZXcgRmluYW5jaWFsWWVhcih0aGlzLndyaXRlT2ZmRGF0ZSkueWVhciA9PT0gdGhpcy5maW5hbmNpYWxZZWFyO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGRlcHJlY2lhdGlvbiBpcyBQbGFudCAmIEVxdWlwbWVudFxuICAgKi9cbiAgaXNQbGFudEVxdWlwbWVudCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0Fzc2V0KCkgJiYgIXRoaXMuaXNXcml0dGVuT2ZmKCkgJiYgIXRoaXMuaXNMb3dWYWx1ZVBvb2woKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjaGVjayBpZiBkZXByZWNpYXRpb24gc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBsb3cgdmFsdWUgcG9vbFxuICAgKiBkZXRhaWxzIGluIHByb2plY3QgZG9jdW1lbnRhdGlvblxuICAgKiBAVE9ETyBuZXcgRmluYW5jaWFsWWVhcih0aGlzLndyaXRlT2ZmRGF0ZSkgPT09IG5ldyBGaW5hbmNpYWxZZWFyKClcbiAgICovXG4gIGlzTG93VmFsdWVQb29sKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzQXNzZXQgJiZcbiAgICAgIHRoaXMuY2FsY3VsYXRpb24gPT09IERlcHJlY2lhdGlvbkNhbGN1bGF0aW9uRW51bS5ESU1JTklTSElORyAmJlxuICAgICAgdGhpcy5hbW91bnQgPiBEZXByZWNpYXRpb24uV1JJVFRFTl9PRkZfVEhSRVNIT0xEICYmXG4gICAgICB0aGlzLmFtb3VudCA8PSBEZXByZWNpYXRpb24uTE9XX1ZBTFVFX1BPT0xfVEhSRVNIT0xEO1xuICB9XG5cbiAgaXNQcmltZUNvc3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRpb24gPT09IERlcHJlY2lhdGlvbkNhbGN1bGF0aW9uRW51bS5QUklNRV9DT1NUO1xuICB9XG5cbiAgaXNEaW1pbmlzaGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jYWxjdWxhdGlvbiA9PT0gRGVwcmVjaWF0aW9uQ2FsY3VsYXRpb25FbnVtLkRJTUlOSVNISU5HO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGRlcHJlY2lhdGlvbiBjaGFydCBhY2NvdW50cyBoZWFkaW5nIHJlbGF0ZWQgdG8gdmVoaWNsZXMgY2F0ZWdvcnlcbiAgICovXG4gIGlzVmVoaWNsZURlcHJlY2lhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jaGFydEFjY291bnRzLmhlYWRpbmc/LmlkID09PSBDaGFydEFjY291bnRzSGVhZGluZ1ZlaGljbGVMaXN0RW51bS5ERVBSRUNJQVRJT05fVkVISUNMRVM7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGRlcHJlY2lhdGlvbiBwdXJjaGFzZSBkYXRlXG4gICAqL1xuICBnZXREYXRlKCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLmRhdGU7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gd3JvbmcgeWVhciwgdXNlIGN1cnJlbnQgZmluYW5jaWFsIHllYXIsIGNoZWNrIGV2ZXJ5d2hlcmVcbiAgICovXG4gIGdldCBjdXJyZW50WWVhckZvcmVjYXN0KCk6IERlcHJlY2lhdGlvbkZvcmVjYXN0IHtcbiAgICByZXR1cm4gdGhpcy5mb3JlY2FzdHMuZmluZCgoZm9yZWNhc3Q6IERlcHJlY2lhdGlvbkZvcmVjYXN0KTogYm9vbGVhbiA9PiB7XG4gICAgICByZXR1cm4gZm9yZWNhc3QuZmluYW5jaWFsWWVhciA9PT0gbmV3IEZpbmFuY2lhbFllYXIoKS55ZWFyO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0Rm9yZWNhc3RCeVllYXIoeWVhcjogbnVtYmVyKTogRGVwcmVjaWF0aW9uRm9yZWNhc3Qge1xuICAgIHJldHVybiB0aGlzLmZvcmVjYXN0cy5maW5kKChmb3JlY2FzdDogRGVwcmVjaWF0aW9uRm9yZWNhc3QpOiBib29sZWFuID0+IHtcbiAgICAgIHJldHVybiBmb3JlY2FzdC5maW5hbmNpYWxZZWFyID09PSB5ZWFyO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0Q2xhaW1BbW91bnRCeVllYXIoeWVhcjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRGb3JlY2FzdEJ5WWVhcih5ZWFyKT8uY2xhaW1BbW91bnQgfHwgMDtcbiAgfVxuXG4gIGdldENsb3NlQmFsYW5jZUJ5WWVhcih5ZWFyOiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldEZvcmVjYXN0QnlZZWFyKHllYXIpPy5jbG9zZUJhbGFuY2UgfHwgMDtcbiAgfVxuXG4gIGlzQnVpbGRpbmdBdENvc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2hhcnRBY2NvdW50cy5pZCA9PT0gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLkJVSUxESU5HX0FUX0NPU1Q7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IHRyYW5zYWN0aW9uIGZyb20gY3VycmVudCBkZXByZWNpYXRpb25cbiAgICovXG4gIHRvVHJhbnNhY3Rpb24ocGFyYW1zID0ge30pOiBUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIHBsYWluVG9DbGFzcyhcbiAgICAgIFRyYW5zYWN0aW9uLFxuICAgICAgT2JqZWN0LmFzc2lnbihwYXJhbXMsIHRoaXMsICB7YW1vdW50OiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3QuYW1vdW50fSlcbiAgICApO1xuICB9XG5cbiAgZ2V0IGNsYWltQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFllYXJGb3JlY2FzdD8uY2xhaW1BbW91bnQgfHwgMDtcbiAgfVxufVxuIl19
@@ -0,0 +1,13 @@
1
+ import { PropertyReportItem } from './property-report-item';
2
+ import { DepreciationTypeEnum } from '../../../db/Enums/depreciation-type.enum';
3
+ /**
4
+ * Class with depreciation-based property transactions report entities
5
+ */
6
+ export class PropertyReportItemDepreciation extends PropertyReportItem {
7
+ constructor(depreciations, property, chartAccounts) {
8
+ super(property, chartAccounts);
9
+ this.amount = depreciations.getCurrentYearForecastAmount();
10
+ this.description = DepreciationTypeEnum[depreciations.first.type];
11
+ }
12
+ }
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktcmVwb3J0LWl0ZW0tZGVwcmVjaWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9yZXBvcnQvcHJvcGVydHkvcHJvcGVydHktcmVwb3J0LWl0ZW0tZGVwcmVjaWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBSTVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRWhGOztHQUVHO0FBQ0gsTUFBTSxPQUFPLDhCQUErQixTQUFRLGtCQUFrQjtJQUNwRSxZQUNFLGFBQXFDLEVBQ3JDLFFBQWtCLEVBQ2xCLGFBQTRCO1FBRTVCLEtBQUssQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztRQUMzRCxJQUFJLENBQUMsV0FBVyxHQUFJLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDcEUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvcGVydHlSZXBvcnRJdGVtIH0gZnJvbSAnLi9wcm9wZXJ0eS1yZXBvcnQtaXRlbSc7XG5pbXBvcnQgeyBQcm9wZXJ0eSB9IGZyb20gJy4uLy4uL3Byb3BlcnR5L3Byb3BlcnR5JztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHMgfSBmcm9tICcuLi8uLi9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cyc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vY29sbGVjdGlvbnMvZGVwcmVjaWF0aW9uLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uVHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9kYi9FbnVtcy9kZXByZWNpYXRpb24tdHlwZS5lbnVtJztcblxuLyoqXG4gKiBDbGFzcyB3aXRoIGRlcHJlY2lhdGlvbi1iYXNlZCBwcm9wZXJ0eSB0cmFuc2FjdGlvbnMgcmVwb3J0IGVudGl0aWVzXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eVJlcG9ydEl0ZW1EZXByZWNpYXRpb24gZXh0ZW5kcyBQcm9wZXJ0eVJlcG9ydEl0ZW0ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBkZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25Db2xsZWN0aW9uLFxuICAgIHByb3BlcnR5OiBQcm9wZXJ0eSxcbiAgICBjaGFydEFjY291bnRzOiBDaGFydEFjY291bnRzXG4gICkge1xuICAgIHN1cGVyKHByb3BlcnR5LCBjaGFydEFjY291bnRzKTtcbiAgICB0aGlzLmFtb3VudCA9IGRlcHJlY2lhdGlvbnMuZ2V0Q3VycmVudFllYXJGb3JlY2FzdEFtb3VudCgpO1xuICAgIHRoaXMuZGVzY3JpcHRpb24gPSAgRGVwcmVjaWF0aW9uVHlwZUVudW1bZGVwcmVjaWF0aW9ucy5maXJzdC50eXBlXVxuICB9XG59XG4iXX0=
@@ -0,0 +1,12 @@
1
+ import { PropertyReportItem } from './property-report-item';
2
+ /**
3
+ * Class with transaction-based property transactions report entities
4
+ */
5
+ export class PropertyReportItemTransaction extends PropertyReportItem {
6
+ constructor(transactions, property, chartAccounts) {
7
+ super(property, chartAccounts);
8
+ this.amount = transactions.amount;
9
+ this.description = chartAccounts.name;
10
+ }
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktcmVwb3J0LWl0ZW0tdHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3JlcG9ydC9wcm9wZXJ0eS9wcm9wZXJ0eS1yZXBvcnQtaXRlbS10cmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUs1RDs7R0FFRztBQUNILE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxrQkFBa0I7SUFDbkUsWUFDRSxZQUFtQyxFQUNuQyxRQUFrQixFQUNsQixhQUE0QjtRQUU1QixLQUFLLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUNsQyxJQUFJLENBQUMsV0FBVyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUE7SUFDdkMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvcGVydHlSZXBvcnRJdGVtIH0gZnJvbSAnLi9wcm9wZXJ0eS1yZXBvcnQtaXRlbSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9jb2xsZWN0aW9ucy90cmFuc2FjdGlvbi5jb2xsZWN0aW9uJztcbmltcG9ydCB7IFByb3BlcnR5IH0gZnJvbSAnLi4vLi4vcHJvcGVydHkvcHJvcGVydHknO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50cyB9IGZyb20gJy4uLy4uL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzJztcblxuLyoqXG4gKiBDbGFzcyB3aXRoIHRyYW5zYWN0aW9uLWJhc2VkIHByb3BlcnR5IHRyYW5zYWN0aW9ucyByZXBvcnQgZW50aXRpZXNcbiAqL1xuZXhwb3J0IGNsYXNzIFByb3BlcnR5UmVwb3J0SXRlbVRyYW5zYWN0aW9uIGV4dGVuZHMgUHJvcGVydHlSZXBvcnRJdGVtIHtcbiAgY29uc3RydWN0b3IoXG4gICAgdHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24sXG4gICAgcHJvcGVydHk6IFByb3BlcnR5LFxuICAgIGNoYXJ0QWNjb3VudHM6IENoYXJ0QWNjb3VudHNcbiAgKSB7XG4gICAgc3VwZXIocHJvcGVydHksIGNoYXJ0QWNjb3VudHMpO1xuICAgIHRoaXMuYW1vdW50ID0gdHJhbnNhY3Rpb25zLmFtb3VudDtcbiAgICB0aGlzLmRlc2NyaXB0aW9uID0gY2hhcnRBY2NvdW50cy5uYW1lXG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Class with property transactions report entities
3
+ */
4
+ export class PropertyReportItem {
5
+ constructor(property, chartAccounts) {
6
+ this.claimPercent = property.claimPercent;
7
+ this.sharePercent = property.sharePercent;
8
+ this.subCode = chartAccounts.taxReturnItem.subCode;
9
+ this.description = chartAccounts.name;
10
+ }
11
+ get claimAmount() {
12
+ return +(this.amount * (this.claimPercent / 100)).toFixed(2);
13
+ }
14
+ get shareClaimAmount() {
15
+ return this.claimAmount * (this.sharePercent / 100);
16
+ }
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktcmVwb3J0LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3JlcG9ydC9wcm9wZXJ0eS9wcm9wZXJ0eS1yZXBvcnQtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQTs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFXN0IsWUFDRSxRQUFrQixFQUNsQixhQUE0QjtRQUU1QixJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDMUMsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQzFDLElBQUksQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUM7UUFDbkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFBO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsQ0FBQztJQUN0RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9wZXJ0eSB9IGZyb20gJy4uLy4uL3Byb3BlcnR5L3Byb3BlcnR5JztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHMgfSBmcm9tICcuLi8uLi9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cyc7XG5cbi8qKlxuICogQ2xhc3Mgd2l0aCBwcm9wZXJ0eSB0cmFuc2FjdGlvbnMgcmVwb3J0IGVudGl0aWVzXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eVJlcG9ydEl0ZW0ge1xuICBhbW91bnQ6IG51bWJlcjtcbiAgZGVzY3JpcHRpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGF4IHJldHVybiBpdGVtIHN1Yi1jb2RlXG4gICAqL1xuICBzdWJDb2RlOiBzdHJpbmc7XG4gIHNoYXJlUGVyY2VudDogbnVtYmVyO1xuICBjbGFpbVBlcmNlbnQ6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm9wZXJ0eTogUHJvcGVydHksXG4gICAgY2hhcnRBY2NvdW50czogQ2hhcnRBY2NvdW50c1xuICApIHtcbiAgICB0aGlzLmNsYWltUGVyY2VudCA9IHByb3BlcnR5LmNsYWltUGVyY2VudDtcbiAgICB0aGlzLnNoYXJlUGVyY2VudCA9IHByb3BlcnR5LnNoYXJlUGVyY2VudDtcbiAgICB0aGlzLnN1YkNvZGUgPSBjaGFydEFjY291bnRzLnRheFJldHVybkl0ZW0uc3ViQ29kZTtcbiAgICB0aGlzLmRlc2NyaXB0aW9uID0gY2hhcnRBY2NvdW50cy5uYW1lXG4gIH1cblxuICBnZXQgY2xhaW1BbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKyh0aGlzLmFtb3VudCAqICh0aGlzLmNsYWltUGVyY2VudCAvIDEwMCkpLnRvRml4ZWQoMik7XG4gIH1cblxuICBnZXQgc2hhcmVDbGFpbUFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmNsYWltQW1vdW50ICogKHRoaXMuc2hhcmVQZXJjZW50IC8gMTAwKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,112 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { combineLatest } from 'rxjs';
3
+ import { DepreciationCollection } from '../../../collections/depreciation.collection';
4
+ import { CHART_ACCOUNTS_CATEGORIES } from '../../../models/chart-accounts/chart-accounts-categories.const';
5
+ import { Collection } from '../../../collections/collection';
6
+ import { CollectionDictionary } from '../../../collections/collection-dictionary';
7
+ import { TransactionCollection } from '../../../collections/transaction.collection';
8
+ import { map } from 'rxjs/operators';
9
+ import { PropertyCollection } from '../../../collections/property/property.collection';
10
+ import { PropertyReportItemTransactionCollection } from '../../../collections/report/property/property-report-item-transaction.collection';
11
+ import { PropertyReportItemDepreciationCollection } from '../../../collections/report/property/property-report-item-depreciation.collection';
12
+ import * as i0 from "@angular/core";
13
+ import * as i1 from "../../http/property/property.service";
14
+ import * as i2 from "../../http/transaction/transaction.service";
15
+ import * as i3 from "../../http/depreciation/depreciation.service";
16
+ import * as i4 from "../../http/chart-accounts/chart-accounts.service";
17
+ /**
18
+ * Service to handle Property transactions report items data (get income / expense report items, e.t.c.)
19
+ */
20
+ export class PropertyTransactionReportService {
21
+ constructor(propertyService, transactionService, depreciationService, chartAccountsService) {
22
+ this.propertyService = propertyService;
23
+ this.transactionService = transactionService;
24
+ this.depreciationService = depreciationService;
25
+ this.chartAccountsService = chartAccountsService;
26
+ }
27
+ /**
28
+ * Get collections dictionary of income report items, grouped by property id
29
+ */
30
+ getIncomes() {
31
+ return combineLatest([
32
+ this.getProperties(),
33
+ this.getTransactions(),
34
+ this.getChartAccounts(),
35
+ ]).pipe(map(([properties, transactions, chartAccounts]) => {
36
+ return this.initIncomeItemsData(transactions, properties, chartAccounts);
37
+ }));
38
+ }
39
+ /**
40
+ * Get collections dictionary of expense report items, grouped by property id
41
+ */
42
+ getExpenses() {
43
+ return combineLatest([
44
+ this.getProperties(),
45
+ this.getTransactions(),
46
+ this.getDepreciations(),
47
+ this.getChartAccounts()
48
+ ]).pipe(map(([properties, transactions, depreciations, chartAccounts]) => {
49
+ return this.initExpenseItemsData(transactions, depreciations, properties, chartAccounts);
50
+ }));
51
+ }
52
+ initIncomeItemsData(transactions, properties, chartAccounts) {
53
+ // empty collection dictionary to be filled with income report items
54
+ const incomesByProperty = new CollectionDictionary(new Collection([]), 'property.id');
55
+ const incomeTransactionsByProperty = new CollectionDictionary(transactions.getIncomeTransactions(), 'property.id');
56
+ incomeTransactionsByProperty.keys.forEach((propertyId) => {
57
+ incomesByProperty.add(propertyId, new PropertyReportItemTransactionCollection(incomeTransactionsByProperty.get(propertyId), properties.getById(+propertyId), chartAccounts));
58
+ });
59
+ return incomesByProperty;
60
+ }
61
+ initExpenseItemsData(transactions, depreciations, properties, chartAccounts) {
62
+ // empty collection dictionary to be filled with expense report items
63
+ const expensesByProperty = new CollectionDictionary(new Collection([]), 'property.id');
64
+ const transactionsByProperty = new CollectionDictionary(transactions.getExpenseTransactions(), 'property.id');
65
+ const depreciationsByProperty = new CollectionDictionary(depreciations, 'property.id');
66
+ transactionsByProperty.keys.forEach((propertyId) => {
67
+ expensesByProperty.add(propertyId, new Collection([
68
+ ...new PropertyReportItemTransactionCollection(transactionsByProperty.get(propertyId), properties.getById(+propertyId), chartAccounts).items,
69
+ ...new PropertyReportItemDepreciationCollection(depreciationsByProperty.get(propertyId), properties.getById(+propertyId), chartAccounts).items
70
+ ]));
71
+ });
72
+ return expensesByProperty;
73
+ }
74
+ /**
75
+ * Get colection of property transactions
76
+ */
77
+ getTransactions() {
78
+ return this.transactionService.get().pipe(map((transactions) => {
79
+ return new TransactionCollection(transactions)
80
+ .getByChartAccountsCategories(CHART_ACCOUNTS_CATEGORIES.property);
81
+ }));
82
+ }
83
+ /**
84
+ * Get list of asset & capital property depreciations
85
+ */
86
+ getDepreciations() {
87
+ return this.depreciationService.get().pipe(map((depreciations) => {
88
+ return new DepreciationCollection(depreciations)
89
+ .getByChartAccountsCategories(CHART_ACCOUNTS_CATEGORIES.property)
90
+ .getWithoutBorrowingExpenses();
91
+ }));
92
+ }
93
+ getProperties() {
94
+ return this.propertyService.get().pipe(map((properties) => {
95
+ return new PropertyCollection(properties);
96
+ }));
97
+ }
98
+ getChartAccounts() {
99
+ return this.chartAccountsService.getChartAccounts().pipe(map((chartAccounts) => {
100
+ return new Collection(chartAccounts);
101
+ }));
102
+ }
103
+ }
104
+ PropertyTransactionReportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyTransactionReportService, deps: [{ token: i1.PropertyService }, { token: i2.TransactionService }, { token: i3.DepreciationService }, { token: i4.ChartAccountsService }], target: i0.ɵɵFactoryTarget.Injectable });
105
+ PropertyTransactionReportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyTransactionReportService, providedIn: 'root' });
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyTransactionReportService, decorators: [{
107
+ type: Injectable,
108
+ args: [{
109
+ providedIn: 'root'
110
+ }]
111
+ }], ctorParameters: function () { return [{ type: i1.PropertyService }, { type: i2.TransactionService }, { type: i3.DepreciationService }, { type: i4.ChartAccountsService }]; } });
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktdHJhbnNhY3Rpb24tcmVwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvcmVwb3J0L3Byb3BlcnR5L3Byb3BlcnR5LXRyYW5zYWN0aW9uLXJlcG9ydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLM0MsT0FBTyxFQUFFLGFBQWEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUtqRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN0RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUMzRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDcEYsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3ZGLE9BQU8sRUFDTCx1Q0FBdUMsRUFDeEMsTUFBTSxrRkFBa0YsQ0FBQztBQUMxRixPQUFPLEVBQ0wsd0NBQXdDLEVBQ3pDLE1BQU0sbUZBQW1GLENBQUM7Ozs7OztBQUUzRjs7R0FFRztBQUlILE1BQU0sT0FBTyxnQ0FBZ0M7SUFNM0MsWUFDVSxlQUFnQyxFQUNoQyxrQkFBc0MsRUFDdEMsbUJBQXdDLEVBQ3hDLG9CQUEwQztRQUgxQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7SUFFcEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsVUFBVTtRQUNSLE9BQU8sYUFBYSxDQUFDO1lBQ25CLElBQUksQ0FBQyxhQUFhLEVBQW9DO1lBQ3RELElBQUksQ0FBQyxlQUFlLEVBQXVDO1lBQzNELElBQUksQ0FBQyxnQkFBZ0IsRUFBMkM7U0FDakUsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUUsYUFBYSxDQUFDLEVBQUUsRUFBRTtZQUNoRCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQzNFLENBQUMsQ0FBQyxDQUNILENBQUE7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxXQUFXO1FBQ1QsT0FBTyxhQUFhLENBQUM7WUFDbkIsSUFBSSxDQUFDLGFBQWEsRUFBb0M7WUFDdEQsSUFBSSxDQUFDLGVBQWUsRUFBdUM7WUFDM0QsSUFBSSxDQUFDLGdCQUFnQixFQUF3QztZQUM3RCxJQUFJLENBQUMsZ0JBQWdCLEVBQTJDO1NBQ2pFLENBQUMsQ0FBQyxJQUFJLENBQ0wsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxhQUFhLENBQUMsRUFBRSxFQUFFO1lBQy9ELE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQzNGLENBQUMsQ0FBQyxDQUNILENBQUE7SUFDSCxDQUFDO0lBRU8sbUJBQW1CLENBQ3pCLFlBQW1DLEVBQ25DLFVBQThCLEVBQzlCLGFBQXdDO1FBRXhDLG9FQUFvRTtRQUNwRSxNQUFNLGlCQUFpQixHQUF5RCxJQUFJLG9CQUFvQixDQUN0RyxJQUFJLFVBQVUsQ0FBcUIsRUFBRSxDQUFDLEVBQ3RDLGFBQWEsQ0FDZCxDQUFDO1FBRUYsTUFBTSw0QkFBNEIsR0FBZ0QsSUFBSSxvQkFBb0IsQ0FDeEcsWUFBWSxDQUFDLHFCQUFxQixFQUFFLEVBQ3BDLGFBQWEsQ0FDZCxDQUFDO1FBRUYsNEJBQTRCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQWtCLEVBQUUsRUFBRTtZQUMvRCxpQkFBaUIsQ0FBQyxHQUFHLENBQ25CLFVBQVUsRUFDVixJQUFJLHVDQUF1QyxDQUN6Qyw0QkFBNEIsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQzVDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFDL0IsYUFBYSxDQUNkLENBQ0YsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxpQkFBaUIsQ0FBQztJQUMzQixDQUFDO0lBRU8sb0JBQW9CLENBQzFCLFlBQW1DLEVBQ25DLGFBQXFDLEVBQ3JDLFVBQThCLEVBQzlCLGFBQXdDO1FBRXhDLHFFQUFxRTtRQUNyRSxNQUFNLGtCQUFrQixHQUF5RCxJQUFJLG9CQUFvQixDQUN2RyxJQUFJLFVBQVUsQ0FBcUIsRUFBRSxDQUFDLEVBQ3RDLGFBQWEsQ0FDZCxDQUFDO1FBQ0YsTUFBTSxzQkFBc0IsR0FBZ0QsSUFBSSxvQkFBb0IsQ0FDbEcsWUFBWSxDQUFDLHNCQUFzQixFQUFFLEVBQ3JDLGFBQWEsQ0FDZCxDQUFDO1FBRUYsTUFBTSx1QkFBdUIsR0FBaUQsSUFBSSxvQkFBb0IsQ0FDcEcsYUFBYSxFQUNiLGFBQWEsQ0FDZCxDQUFDO1FBRUYsc0JBQXNCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQWtCLEVBQUUsRUFBRTtZQUN6RCxrQkFBa0IsQ0FBQyxHQUFHLENBQ3BCLFVBQVUsRUFDVixJQUFJLFVBQVUsQ0FBcUI7Z0JBQ2pDLEdBQUcsSUFBSSx1Q0FBdUMsQ0FDNUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUN0QyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQy9CLGFBQWEsQ0FDZCxDQUFDLEtBQUs7Z0JBQ1AsR0FBRyxJQUFJLHdDQUF3QyxDQUM3Qyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQ3ZDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFDL0IsYUFBYSxDQUNkLENBQUMsS0FBSzthQUNSLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLGtCQUFrQixDQUFDO0lBQzVCLENBQUM7SUFFRDs7T0FFRztJQUNLLGVBQWU7UUFDckIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUN2QyxHQUFHLENBQUMsQ0FBQyxZQUEyQixFQUFFLEVBQUU7WUFDbEMsT0FBTyxJQUFJLHFCQUFxQixDQUFDLFlBQVksQ0FBQztpQkFDM0MsNEJBQTRCLENBQUMseUJBQXlCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEUsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNLLGdCQUFnQjtRQUN0QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQ3hDLEdBQUcsQ0FBQyxDQUFDLGFBQTZCLEVBQUUsRUFBRTtZQUNwQyxPQUFPLElBQUksc0JBQXNCLENBQUMsYUFBYSxDQUFDO2lCQUM3Qyw0QkFBNEIsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLENBQUM7aUJBQ2hFLDJCQUEyQixFQUFFLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNILENBQUM7SUFFTyxhQUFhO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQ3BDLEdBQUcsQ0FBQyxDQUFDLFVBQXNCLEVBQUUsRUFBRTtZQUM3QixPQUFPLElBQUksa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDM0MsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNILENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxJQUFJLENBQ3RELEdBQUcsQ0FBQyxDQUFDLGFBQThCLEVBQUUsRUFBRTtZQUNyQyxPQUFPLElBQUksVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUNILENBQUE7SUFDSCxDQUFDOzs4SEE1SlUsZ0NBQWdDO2tJQUFoQyxnQ0FBZ0MsY0FGL0IsTUFBTTs0RkFFUCxnQ0FBZ0M7a0JBSDVDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJvcGVydHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaHR0cC9wcm9wZXJ0eS9wcm9wZXJ0eS5zZXJ2aWNlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2h0dHAvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaHR0cC9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9odHRwL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUHJvcGVydHkgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHknO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24nO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50cyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cyc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vY29sbGVjdGlvbnMvZGVwcmVjaWF0aW9uLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy1jYXRlZ29yaWVzLmNvbnN0JztcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9jb2xsZWN0aW9ucy9jb2xsZWN0aW9uJztcbmltcG9ydCB7IFByb3BlcnR5UmVwb3J0SXRlbSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9yZXBvcnQvcHJvcGVydHkvcHJvcGVydHktcmVwb3J0LWl0ZW0nO1xuaW1wb3J0IHsgQ29sbGVjdGlvbkRpY3Rpb25hcnkgfSBmcm9tICcuLi8uLi8uLi9jb2xsZWN0aW9ucy9jb2xsZWN0aW9uLWRpY3Rpb25hcnknO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vY29sbGVjdGlvbnMvdHJhbnNhY3Rpb24uY29sbGVjdGlvbic7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQcm9wZXJ0eUNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9jb2xsZWN0aW9ucy9wcm9wZXJ0eS9wcm9wZXJ0eS5jb2xsZWN0aW9uJztcbmltcG9ydCB7XG4gIFByb3BlcnR5UmVwb3J0SXRlbVRyYW5zYWN0aW9uQ29sbGVjdGlvblxufSBmcm9tICcuLi8uLi8uLi9jb2xsZWN0aW9ucy9yZXBvcnQvcHJvcGVydHkvcHJvcGVydHktcmVwb3J0LWl0ZW0tdHJhbnNhY3Rpb24uY29sbGVjdGlvbic7XG5pbXBvcnQge1xuICBQcm9wZXJ0eVJlcG9ydEl0ZW1EZXByZWNpYXRpb25Db2xsZWN0aW9uXG59IGZyb20gJy4uLy4uLy4uL2NvbGxlY3Rpb25zL3JlcG9ydC9wcm9wZXJ0eS9wcm9wZXJ0eS1yZXBvcnQtaXRlbS1kZXByZWNpYXRpb24uY29sbGVjdGlvbic7XG5cbi8qKlxuICogU2VydmljZSB0byBoYW5kbGUgUHJvcGVydHkgdHJhbnNhY3Rpb25zIHJlcG9ydCBpdGVtcyBkYXRhIChnZXQgaW5jb21lIC8gZXhwZW5zZSByZXBvcnQgaXRlbXMsIGUudC5jLilcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUHJvcGVydHlUcmFuc2FjdGlvblJlcG9ydFNlcnZpY2Uge1xuICBwcm9wZXJ0aWVzOiBQcm9wZXJ0eVtdO1xuICB0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbjtcbiAgZGVwcmVjaWF0aW9uczogRGVwcmVjaWF0aW9uQ29sbGVjdGlvbjtcbiAgY2hhcnRBY2NvdW50czogQ29sbGVjdGlvbjxDaGFydEFjY291bnRzPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHByb3BlcnR5U2VydmljZTogUHJvcGVydHlTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkZXByZWNpYXRpb25TZXJ2aWNlOiBEZXByZWNpYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhcnRBY2NvdW50c1NlcnZpY2U6IENoYXJ0QWNjb3VudHNTZXJ2aWNlXG4gICkge1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjb2xsZWN0aW9ucyBkaWN0aW9uYXJ5IG9mIGluY29tZSByZXBvcnQgaXRlbXMsIGdyb3VwZWQgYnkgcHJvcGVydHkgaWRcbiAgICovXG4gIGdldEluY29tZXMoKTogT2JzZXJ2YWJsZTxDb2xsZWN0aW9uRGljdGlvbmFyeTxDb2xsZWN0aW9uPFByb3BlcnR5UmVwb3J0SXRlbT4+PiB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5nZXRQcm9wZXJ0aWVzKCkgYXMgT2JzZXJ2YWJsZTxQcm9wZXJ0eUNvbGxlY3Rpb24+LFxuICAgICAgdGhpcy5nZXRUcmFuc2FjdGlvbnMoKSBhcyBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uQ29sbGVjdGlvbj4sXG4gICAgICB0aGlzLmdldENoYXJ0QWNjb3VudHMoKSBhcyBPYnNlcnZhYmxlPENvbGxlY3Rpb248Q2hhcnRBY2NvdW50cz4+LFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFtwcm9wZXJ0aWVzLCB0cmFuc2FjdGlvbnMsIGNoYXJ0QWNjb3VudHNdKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmluaXRJbmNvbWVJdGVtc0RhdGEodHJhbnNhY3Rpb25zLCBwcm9wZXJ0aWVzLCBjaGFydEFjY291bnRzKTtcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjb2xsZWN0aW9ucyBkaWN0aW9uYXJ5IG9mIGV4cGVuc2UgcmVwb3J0IGl0ZW1zLCBncm91cGVkIGJ5IHByb3BlcnR5IGlkXG4gICAqL1xuICBnZXRFeHBlbnNlcygpOiBPYnNlcnZhYmxlPENvbGxlY3Rpb25EaWN0aW9uYXJ5PENvbGxlY3Rpb248UHJvcGVydHlSZXBvcnRJdGVtPj4+IHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmdldFByb3BlcnRpZXMoKSBhcyBPYnNlcnZhYmxlPFByb3BlcnR5Q29sbGVjdGlvbj4sXG4gICAgICB0aGlzLmdldFRyYW5zYWN0aW9ucygpIGFzIE9ic2VydmFibGU8VHJhbnNhY3Rpb25Db2xsZWN0aW9uPixcbiAgICAgIHRoaXMuZ2V0RGVwcmVjaWF0aW9ucygpIGFzIE9ic2VydmFibGU8RGVwcmVjaWF0aW9uQ29sbGVjdGlvbj4sXG4gICAgICB0aGlzLmdldENoYXJ0QWNjb3VudHMoKSBhcyBPYnNlcnZhYmxlPENvbGxlY3Rpb248Q2hhcnRBY2NvdW50cz4+XG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW3Byb3BlcnRpZXMsIHRyYW5zYWN0aW9ucywgZGVwcmVjaWF0aW9ucywgY2hhcnRBY2NvdW50c10pID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5pdEV4cGVuc2VJdGVtc0RhdGEodHJhbnNhY3Rpb25zLCBkZXByZWNpYXRpb25zLCBwcm9wZXJ0aWVzLCBjaGFydEFjY291bnRzKTtcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0SW5jb21lSXRlbXNEYXRhKFxuICAgIHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25Db2xsZWN0aW9uLFxuICAgIHByb3BlcnRpZXM6IFByb3BlcnR5Q29sbGVjdGlvbixcbiAgICBjaGFydEFjY291bnRzOiBDb2xsZWN0aW9uPENoYXJ0QWNjb3VudHM+XG4gICk6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PENvbGxlY3Rpb248UHJvcGVydHlSZXBvcnRJdGVtPj4ge1xuICAgIC8vIGVtcHR5IGNvbGxlY3Rpb24gZGljdGlvbmFyeSB0byBiZSBmaWxsZWQgd2l0aCBpbmNvbWUgcmVwb3J0IGl0ZW1zXG4gICAgY29uc3QgaW5jb21lc0J5UHJvcGVydHk6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PENvbGxlY3Rpb248UHJvcGVydHlSZXBvcnRJdGVtPj4gPSBuZXcgQ29sbGVjdGlvbkRpY3Rpb25hcnkoXG4gICAgICBuZXcgQ29sbGVjdGlvbjxQcm9wZXJ0eVJlcG9ydEl0ZW0+KFtdKSxcbiAgICAgICdwcm9wZXJ0eS5pZCdcbiAgICApO1xuXG4gICAgY29uc3QgaW5jb21lVHJhbnNhY3Rpb25zQnlQcm9wZXJ0eTogQ29sbGVjdGlvbkRpY3Rpb25hcnk8VHJhbnNhY3Rpb25Db2xsZWN0aW9uPiA9IG5ldyBDb2xsZWN0aW9uRGljdGlvbmFyeShcbiAgICAgIHRyYW5zYWN0aW9ucy5nZXRJbmNvbWVUcmFuc2FjdGlvbnMoKSxcbiAgICAgICdwcm9wZXJ0eS5pZCdcbiAgICApO1xuXG4gICAgaW5jb21lVHJhbnNhY3Rpb25zQnlQcm9wZXJ0eS5rZXlzLmZvckVhY2goKHByb3BlcnR5SWQ6IHN0cmluZykgPT4ge1xuICAgICAgaW5jb21lc0J5UHJvcGVydHkuYWRkKFxuICAgICAgICBwcm9wZXJ0eUlkLFxuICAgICAgICBuZXcgUHJvcGVydHlSZXBvcnRJdGVtVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgICAgIGluY29tZVRyYW5zYWN0aW9uc0J5UHJvcGVydHkuZ2V0KHByb3BlcnR5SWQpLFxuICAgICAgICAgIHByb3BlcnRpZXMuZ2V0QnlJZCgrcHJvcGVydHlJZCksXG4gICAgICAgICAgY2hhcnRBY2NvdW50c1xuICAgICAgICApXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGluY29tZXNCeVByb3BlcnR5O1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0RXhwZW5zZUl0ZW1zRGF0YShcbiAgICB0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbixcbiAgICBkZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25Db2xsZWN0aW9uLFxuICAgIHByb3BlcnRpZXM6IFByb3BlcnR5Q29sbGVjdGlvbixcbiAgICBjaGFydEFjY291bnRzOiBDb2xsZWN0aW9uPENoYXJ0QWNjb3VudHM+XG4gICk6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PENvbGxlY3Rpb248UHJvcGVydHlSZXBvcnRJdGVtPj4ge1xuICAgIC8vIGVtcHR5IGNvbGxlY3Rpb24gZGljdGlvbmFyeSB0byBiZSBmaWxsZWQgd2l0aCBleHBlbnNlIHJlcG9ydCBpdGVtc1xuICAgIGNvbnN0IGV4cGVuc2VzQnlQcm9wZXJ0eTogQ29sbGVjdGlvbkRpY3Rpb25hcnk8Q29sbGVjdGlvbjxQcm9wZXJ0eVJlcG9ydEl0ZW0+PiA9IG5ldyBDb2xsZWN0aW9uRGljdGlvbmFyeShcbiAgICAgIG5ldyBDb2xsZWN0aW9uPFByb3BlcnR5UmVwb3J0SXRlbT4oW10pLFxuICAgICAgJ3Byb3BlcnR5LmlkJ1xuICAgICk7XG4gICAgY29uc3QgdHJhbnNhY3Rpb25zQnlQcm9wZXJ0eTogQ29sbGVjdGlvbkRpY3Rpb25hcnk8VHJhbnNhY3Rpb25Db2xsZWN0aW9uPiA9IG5ldyBDb2xsZWN0aW9uRGljdGlvbmFyeShcbiAgICAgIHRyYW5zYWN0aW9ucy5nZXRFeHBlbnNlVHJhbnNhY3Rpb25zKCksXG4gICAgICAncHJvcGVydHkuaWQnXG4gICAgKTtcblxuICAgIGNvbnN0IGRlcHJlY2lhdGlvbnNCeVByb3BlcnR5OiBDb2xsZWN0aW9uRGljdGlvbmFyeTxEZXByZWNpYXRpb25Db2xsZWN0aW9uPiA9IG5ldyBDb2xsZWN0aW9uRGljdGlvbmFyeShcbiAgICAgIGRlcHJlY2lhdGlvbnMsXG4gICAgICAncHJvcGVydHkuaWQnXG4gICAgKTtcblxuICAgIHRyYW5zYWN0aW9uc0J5UHJvcGVydHkua2V5cy5mb3JFYWNoKChwcm9wZXJ0eUlkOiBzdHJpbmcpID0+IHtcbiAgICAgIGV4cGVuc2VzQnlQcm9wZXJ0eS5hZGQoXG4gICAgICAgIHByb3BlcnR5SWQsXG4gICAgICAgIG5ldyBDb2xsZWN0aW9uPFByb3BlcnR5UmVwb3J0SXRlbT4oW1xuICAgICAgICAgIC4uLm5ldyBQcm9wZXJ0eVJlcG9ydEl0ZW1UcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICAgICAgICB0cmFuc2FjdGlvbnNCeVByb3BlcnR5LmdldChwcm9wZXJ0eUlkKSxcbiAgICAgICAgICAgIHByb3BlcnRpZXMuZ2V0QnlJZCgrcHJvcGVydHlJZCksXG4gICAgICAgICAgICBjaGFydEFjY291bnRzXG4gICAgICAgICAgKS5pdGVtcyxcbiAgICAgICAgICAuLi5uZXcgUHJvcGVydHlSZXBvcnRJdGVtRGVwcmVjaWF0aW9uQ29sbGVjdGlvbihcbiAgICAgICAgICAgIGRlcHJlY2lhdGlvbnNCeVByb3BlcnR5LmdldChwcm9wZXJ0eUlkKSxcbiAgICAgICAgICAgIHByb3BlcnRpZXMuZ2V0QnlJZCgrcHJvcGVydHlJZCksXG4gICAgICAgICAgICBjaGFydEFjY291bnRzXG4gICAgICAgICAgKS5pdGVtc1xuICAgICAgICBdKVxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBleHBlbnNlc0J5UHJvcGVydHk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNvbGVjdGlvbiBvZiBwcm9wZXJ0eSB0cmFuc2FjdGlvbnNcbiAgICovXG4gIHByaXZhdGUgZ2V0VHJhbnNhY3Rpb25zKCk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25Db2xsZWN0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldCgpLnBpcGUoXG4gICAgICBtYXAoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbih0cmFuc2FjdGlvbnMpXG4gICAgICAgICAgLmdldEJ5Q2hhcnRBY2NvdW50c0NhdGVnb3JpZXMoQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5wcm9wZXJ0eSk7XG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbGlzdCBvZiBhc3NldCAmIGNhcGl0YWwgcHJvcGVydHkgZGVwcmVjaWF0aW9uc1xuICAgKi9cbiAgcHJpdmF0ZSBnZXREZXByZWNpYXRpb25zKCk6IE9ic2VydmFibGU8RGVwcmVjaWF0aW9uQ29sbGVjdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmRlcHJlY2lhdGlvblNlcnZpY2UuZ2V0KCkucGlwZShcbiAgICAgIG1hcCgoZGVwcmVjaWF0aW9uczogRGVwcmVjaWF0aW9uW10pID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBEZXByZWNpYXRpb25Db2xsZWN0aW9uKGRlcHJlY2lhdGlvbnMpXG4gICAgICAgICAgLmdldEJ5Q2hhcnRBY2NvdW50c0NhdGVnb3JpZXMoQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5wcm9wZXJ0eSlcbiAgICAgICAgICAuZ2V0V2l0aG91dEJvcnJvd2luZ0V4cGVuc2VzKCk7XG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UHJvcGVydGllcygpOiBPYnNlcnZhYmxlPFByb3BlcnR5Q29sbGVjdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLnByb3BlcnR5U2VydmljZS5nZXQoKS5waXBlKFxuICAgICAgbWFwKChwcm9wZXJ0aWVzOiBQcm9wZXJ0eVtdKSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvcGVydHlDb2xsZWN0aW9uKHByb3BlcnRpZXMpXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2hhcnRBY2NvdW50cygpOiBPYnNlcnZhYmxlPENvbGxlY3Rpb248Q2hhcnRBY2NvdW50cz4+IHtcbiAgICByZXR1cm4gdGhpcy5jaGFydEFjY291bnRzU2VydmljZS5nZXRDaGFydEFjY291bnRzKCkucGlwZShcbiAgICAgIG1hcCgoY2hhcnRBY2NvdW50czogQ2hhcnRBY2NvdW50c1tdKSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgQ29sbGVjdGlvbihjaGFydEFjY291bnRzKTtcbiAgICAgIH0pXG4gICAgKVxuICB9XG59XG4iXX0=