taxtank-core 0.3.0 → 0.4.1

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 (72) hide show
  1. package/bundles/taxtank-core.umd.js +195 -70
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/collections/bank-account.collection.js +3 -3
  4. package/esm2015/lib/collections/bank-transaction.collection.js +3 -3
  5. package/esm2015/lib/collections/client-movement.collection.js +3 -3
  6. package/esm2015/lib/collections/client-portfolio-report.collection.js +3 -3
  7. package/esm2015/lib/collections/client.collection.js +3 -3
  8. package/esm2015/lib/collections/collection-dictionary.js +1 -1
  9. package/esm2015/lib/collections/collection.js +75 -0
  10. package/esm2015/lib/collections/depreciation-forecast.collection.js +5 -5
  11. package/esm2015/lib/collections/depreciation.collection.js +8 -3
  12. package/esm2015/lib/collections/employee.collection.js +3 -3
  13. package/esm2015/lib/collections/income-source.collection.js +3 -3
  14. package/esm2015/lib/collections/loan.collection.js +3 -3
  15. package/esm2015/lib/collections/message-document.collection.js +3 -3
  16. package/esm2015/lib/collections/message.collection.js +3 -3
  17. package/esm2015/lib/collections/property.collection.js +3 -3
  18. package/esm2015/lib/collections/service-price.collection.js +3 -3
  19. package/esm2015/lib/collections/service-subscription.collection.js +3 -3
  20. package/esm2015/lib/collections/tax-return-category-item.collection.js +3 -3
  21. package/esm2015/lib/collections/tax-review.collection.js +3 -3
  22. package/esm2015/lib/collections/transaction-allocation.collection.js +3 -3
  23. package/esm2015/lib/collections/transaction.collection.js +3 -3
  24. package/esm2015/lib/collections/user-event-setting.collection.js +3 -3
  25. package/esm2015/lib/db/Enums/chart-accounts-metadata-list.enum.js +2 -1
  26. package/esm2015/lib/models/data-table/data-table.js +6 -4
  27. package/esm2015/lib/models/depreciation/depreciation.js +5 -1
  28. package/esm2015/lib/models/event/app-event-type.enum.js +17 -14
  29. package/esm2015/lib/models/logbook/vehicle-claim.js +7 -1
  30. package/esm2015/lib/models/transaction/transaction.js +11 -2
  31. package/esm2015/lib/services/pdf/pdf.service.js +39 -6
  32. package/esm2015/lib/services/property/property-category-movement.service.js +47 -0
  33. package/esm2015/lib/services/property/property.service.js +12 -1
  34. package/esm2015/lib/services/xlsx/xlsx.service.js +1 -1
  35. package/esm2015/public-api.js +3 -2
  36. package/fesm2015/taxtank-core.js +160 -54
  37. package/fesm2015/taxtank-core.js.map +1 -1
  38. package/lib/collections/bank-account.collection.d.ts +2 -2
  39. package/lib/collections/bank-transaction.collection.d.ts +2 -2
  40. package/lib/collections/client-movement.collection.d.ts +2 -2
  41. package/lib/collections/client-portfolio-report.collection.d.ts +2 -2
  42. package/lib/collections/client.collection.d.ts +2 -2
  43. package/lib/collections/collection-dictionary.d.ts +2 -2
  44. package/lib/collections/{abstract.collection.d.ts → collection.d.ts} +3 -9
  45. package/lib/collections/depreciation-forecast.collection.d.ts +2 -2
  46. package/lib/collections/depreciation.collection.d.ts +3 -2
  47. package/lib/collections/employee.collection.d.ts +2 -2
  48. package/lib/collections/income-source.collection.d.ts +2 -2
  49. package/lib/collections/loan.collection.d.ts +2 -2
  50. package/lib/collections/message-document.collection.d.ts +2 -2
  51. package/lib/collections/message.collection.d.ts +2 -2
  52. package/lib/collections/property.collection.d.ts +2 -2
  53. package/lib/collections/service-price.collection.d.ts +2 -2
  54. package/lib/collections/service-subscription.collection.d.ts +2 -2
  55. package/lib/collections/tax-return-category-item.collection.d.ts +2 -2
  56. package/lib/collections/tax-review.collection.d.ts +2 -2
  57. package/lib/collections/transaction-allocation.collection.d.ts +2 -2
  58. package/lib/collections/transaction.collection.d.ts +2 -2
  59. package/lib/collections/user-event-setting.collection.d.ts +2 -2
  60. package/lib/db/Enums/chart-accounts-metadata-list.enum.d.ts +1 -0
  61. package/lib/models/data-table/data-table.d.ts +2 -2
  62. package/lib/models/depreciation/depreciation.d.ts +1 -0
  63. package/lib/models/event/app-event-type.enum.d.ts +16 -13
  64. package/lib/models/logbook/vehicle-claim.d.ts +4 -0
  65. package/lib/models/transaction/transaction.d.ts +3 -0
  66. package/lib/services/pdf/pdf.service.d.ts +10 -1
  67. package/lib/services/property/property-category-movement.service.d.ts +15 -0
  68. package/lib/services/property/property.service.d.ts +4 -0
  69. package/lib/services/xlsx/xlsx.service.d.ts +1 -1
  70. package/package.json +1 -1
  71. package/public-api.d.ts +2 -1
  72. package/esm2015/lib/collections/abstract.collection.js +0 -83
@@ -100,6 +100,9 @@ export class Transaction extends TransactionBase {
100
100
  get frankingCredit() {
101
101
  return this.getMetadataFieldValue(ChartAccountsMetadataListEnum.FRANKING_CREDIT);
102
102
  }
103
+ get eligibleForReduction() {
104
+ return this.getMetadataFieldValue(ChartAccountsMetadataListEnum.ELIGIBLE_FOR_REDUCTION);
105
+ }
103
106
  get untaxedElement() {
104
107
  return this.getMetadataFieldValue(ChartAccountsMetadataListEnum.UNTAXED_ELEMENT);
105
108
  }
@@ -110,6 +113,12 @@ export class Transaction extends TransactionBase {
110
113
  get isTransfer() {
111
114
  return this.operation === TransactionOperationEnum.TRANSFER;
112
115
  }
116
+ get debit() {
117
+ return this.isDebit() ? Math.abs(this.amount) : null;
118
+ }
119
+ get credit() {
120
+ return this.isCredit() ? Math.abs(this.amount) : null;
121
+ }
113
122
  /**
114
123
  * Get value of transaction metadata field
115
124
  * @param field for which value should be returned
@@ -133,7 +142,7 @@ export class Transaction extends TransactionBase {
133
142
  (this.transactions
134
143
  .reduce((sum, transaction) => sum + Math.abs(transaction.amount), 0) * modifier);
135
144
  case this.isWorkTank():
136
- return this.amount + ((this.tax + this.frankingCredit - this.taxFreeComponent) * modifier);
145
+ return this.amount + ((this.tax + this.frankingCredit - this.taxFreeComponent - this.eligibleForReduction) * modifier);
137
146
  default:
138
147
  return this.amount || 0;
139
148
  }
@@ -211,4 +220,4 @@ __decorate([
211
220
  __decorate([
212
221
  Exclude({ toPlainOnly: true })
213
222
  ], Transaction.prototype, "file", void 0);
214
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsV0FBVyxJQUFJLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRTNFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENB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LCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvbiBhcyBUcmFuc2FjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RyYW5zYWN0aW9uLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvY2hhcnQtYWNjb3VudHMtY2F0ZWdvcnkuZW51bSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90cmFuc2FjdGlvbi1vcGVyYXRpb24uZW51bSc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzTGlzdEVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1saXN0LmVudW0nO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c01ldGFkYXRhTGlzdEVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1tZXRhZGF0YS1saXN0LmVudW0nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25Tb3VyY2VFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tc291cmNlLmVudW0nO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uVHlwZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9kZXByZWNpYXRpb24tdHlwZS5lbnVtJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbkNhbGN1bGF0aW9uRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL2RlcHJlY2lhdGlvbi1jYWxjdWxhdGlvbi5lbnVtJztcbmltcG9ydCB7IEV4Y2x1ZGUsIHBsYWluVG9DbGFzcywgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFByb3BlcnR5IH0gZnJvbSAnLi4vcHJvcGVydHkvcHJvcGVydHknO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25SZWNlaXB0IH0gZnJvbSAnLi90cmFuc2FjdGlvbi1yZWNlaXB0JztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHMgfSBmcm9tICcuLi9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cyc7XG5pbXBvcnQgeyBJbmNvbWVTb3VyY2UgfSBmcm9tICcuLi9pbmNvbWUtc291cmNlL2luY29tZS1zb3VyY2UnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25NZXRhZGF0YSB9IGZyb20gJy4vdHJhbnNhY3Rpb24tbWV0YWRhdGEnO1xuaW1wb3J0IHsgTG9hbiB9IGZyb20gJy4uL2xvYW4vbG9hbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkFsbG9jYXRpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24nO1xuaW1wb3J0IHsgQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUyB9IGZyb20gJy4uL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLWNhdGVnb3JpZXMuY29uc3QnO1xuaW1wb3J0IHsgSW5jb21lQW1vdW50VHlwZUVudW0gfSBmcm9tICcuL2luY29tZS1hbW91bnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IElSZWNlaXB0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9yZWNlaXB0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBJVGFuayB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvdGFuay5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24uY29sbGVjdGlvbic7XG5pbXBvcnQgeyBEZXByZWNpYXRpb24gfSBmcm9tICcuLi9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uJztcblxuLy8gQFRPRE8gcmVmYWN0b3Igd2l0aCBiYXNlTW9kZWwgaW4gY29uc3RydWN0b3JcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbiBleHRlbmRzIFRyYW5zYWN0aW9uQmFzZSBpbXBsZW1lbnRzIElSZWNlaXB0LCBJVGFuayB7XG4gIC8vIGxpc3Qgb2YgY2hpbGQgdHJhbnNhY3Rpb25zIChmZWVzKVxuICBAVHlwZSgoKSA9PiBUcmFuc2FjdGlvbilcbiAgdHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdID0gW107XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHkpXG4gIHByb3BlcnR5OiBQcm9wZXJ0eTtcblxuICBAVHlwZSgoKSA9PiBUcmFuc2FjdGlvblJlY2VpcHQpXG4gIHJlY2VpcHQ6IFRyYW5zYWN0aW9uUmVjZWlwdDtcblxuICBAVHlwZSgoKSA9PiBDaGFydEFjY291bnRzKVxuICBjaGFydEFjY291bnRzOiBDaGFydEFjY291bnRzO1xuXG4gIEBUeXBlKCgpID0+IEluY29tZVNvdXJjZSlcbiAgaW5jb21lU291cmNlOiBJbmNvbWVTb3VyY2U7XG5cbiAgQFR5cGUoKCkgPT4gVHJhbnNhY3Rpb25NZXRhZGF0YSlcbiAgbWV0YWRhdGE6IFRyYW5zYWN0aW9uTWV0YWRhdGFbXSA9IFtdO1xuXG4gIEBUeXBlKCgpID0+IFRyYW5zYWN0aW9uKVxuICB0cmFuc2ZlcjogVHJhbnNhY3Rpb247XG5cbiAgQFR5cGUoKCkgPT4gTG9hbilcbiAgbG9hbjogTG9hbjtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBkYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IFRyYW5zYWN0aW9uQWxsb2NhdGlvbilcbiAgYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbltdID0gW107XG5cbiAgLy8gY291bGQgYmUgRmlsZSB3aGVuIGp1c3QgYWRkZWQgbmV3IGltYWdlXG4gIEBFeGNsdWRlKHt0b1BsYWluT25seTogdHJ1ZX0pXG4gIGZpbGU6IEZpbGU7XG5cbiAgdGF4OiBudW1iZXIgPSAwO1xuICBvcGVyYXRpb246IFRyYW5zYWN0aW9uT3BlcmF0aW9uRW51bSA9IFRyYW5zYWN0aW9uT3BlcmF0aW9uRW51bS5GSU5EX0FORF9NQVRDSDtcbiAgYWxsb2NhdGVkQW1vdW50OiBudW1iZXI7XG4gIHVuYWxsb2NhdGVkQW1vdW50OiBudW1iZXI7XG4gIGlzU2VsZWN0ZWQ6IGJvb2xlYW47XG4gIGNsYWltUGVyY2VudDogbnVtYmVyID0gMTAwO1xuICBhbW91bnQ6IG51bWJlciA9IDA7XG5cbiAgaXNEZWJpdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBUcmFuc2FjdGlvblR5cGVFbnVtLkRFQklUO1xuICB9XG5cbiAgaXNDcmVkaXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlRW51bS5DUkVESVQ7XG4gIH1cblxuICBpc0luY29tZSgpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuY2hhcnRBY2NvdW50cykge1xuICAgICAgcmV0dXJuIHRoaXMuaXNDcmVkaXQoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5pbmNvbWUuaW5jbHVkZXModGhpcy5jaGFydEFjY291bnRzLmNhdGVnb3J5KTtcbiAgfVxuXG4gIGlzRXhwZW5zZSgpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuY2hhcnRBY2NvdW50cykge1xuICAgICAgcmV0dXJuIHRoaXMuaXNEZWJpdCgpO1xuICAgIH1cblxuICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLmV4cGVuc2UuaW5jbHVkZXModGhpcy5jaGFydEFjY291bnRzLmNhdGVnb3J5KTtcbiAgfVxuXG4gIGlzUGVyc29uYWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLnRhbmtUeXBlO1xuICB9XG5cbiAgZ2V0IGNoYXJ0QWNjb3VudHNDYXRlZ29yaWVzKCk6IENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW1bXSB7XG4gICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICBjYXNlIHRoaXMuaXNQZXJzb25hbCgpOlxuICAgICAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5wZXJzb25hbDtcblxuICAgICAgY2FzZSB0aGlzLmlzUHJvcGVydHlUYW5rKCk6XG4gICAgICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLnByb3BlcnR5O1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy53b3JrO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiB0cmFuc2FjdGlvbiBoYXMgJ0tsbXMgdHJhdmVsbGVkIGZvciB3b3JrJyBjaGFydCBhY2NvdW50cyBjYXRlZ29yeVxuICAgKi9cbiAgZ2V0IGlzS2xtc0NoYXJ0QWNjb3VudHNDYXRlZ29yeSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jaGFydEFjY291bnRzLmlkID09PSBDaGFydEFjY291bnRzTGlzdEVudW0uS0xNU19UUkFWRUxMRURfRk9SX1dPUks7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRyYW5zYWN0aW9uIGRhdGVcbiAgICovXG4gIGdldERhdGUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuZGF0ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiB0cmFuc2FjdGlvbiB0eXBlIGlzIHZlaGljbGVcbiAgICovXG4gIGlzVmVoaWNsZVRyYW5zYWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNoYXJ0QWNjb3VudHMuaXNWZWhpY2xlRXhwZW5zZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXQgYW1vdW50IChjbGVhbiBhbW91bnQgYWZ0ZXIgYWxsIGRlZHVjdGlvbnMpXG4gICAqL1xuICBnZXROZXRBbW91bnQoKTogbnVtYmVyIHtcbiAgICAvLyBAVE9ETyBmaXggaGFjayB3aGlsZSB0cmFuc2FjdGlvbnMgcmVmYWN0b3JpbmcgKHVzZSBjbGFzcy10cmFuc2Zvcm1lcilcbiAgICByZXR1cm4gKyhNYXRoLnJvdW5kKHRoaXMuZ2V0SW5jb21lQW1vdW50QnlUeXBlKEluY29tZUFtb3VudFR5cGVFbnVtLk5FVCkgKiAxMDApIC8gMTAwKS50b0ZpeGVkKDIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBncm9zcyBpbmNvbWUgYW1vdW50XG4gICAqL1xuICBnZXRHcm9zc0luY29tZSgpOiBudW1iZXIge1xuICAgIC8vIEBUT0RPIGZpeCBoYWNrIHdoaWxlIHRyYW5zYWN0aW9ucyByZWZhY3RvcmluZyAodXNlIGNsYXNzLXRyYW5zZm9ybWVyKVxuICAgIHJldHVybiArKE1hdGgucm91bmQodGhpcy5nZXRJbmNvbWVBbW91bnRCeVR5cGUoSW5jb21lQW1vdW50VHlwZUVudW0uR1JPU1MpICogMTAwKSAvIDEwMCkudG9GaXhlZCgyKTtcbiAgfVxuXG4gIGdldCB0YXhGcmVlQ29tcG9uZW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TWV0YWRhdGFGaWVsZFZhbHVlKENoYXJ0QWNjb3VudHNNZXRhZGF0YUxpc3RFbnVtLlRBWF9GUkVFX0NPTVBPTkVOVCk7XG4gIH1cblxuICBnZXQgZnJhbmtpbmdDcmVkaXQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRNZXRhZGF0YUZpZWxkVmFsdWUoQ2hhcnRBY2NvdW50c01ldGFkYXRhTGlzdEVudW0uRlJBTktJTkdfQ1JFRElUKTtcbiAgfVxuXG4gIGdldCB1bnRheGVkRWxlbWVudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldE1ldGFkYXRhRmllbGRWYWx1ZShDaGFydEFjY291bnRzTWV0YWRhdGFMaXN0RW51bS5VTlRBWEVEX0VMRU1FTlQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHRyYW5zYWN0aW9uIHJlY29uY2lsZSBvcGVyYXRpb24gaWYgVFJBTlNGRVJcbiAgICogQFRPRE8gYmFkIHVzYWdlIG9mIGdldCAoYW5kIGFsbCBpcyogbWV0aG9kcyksIGdldHRlciBzaG91bGQgc291bmQgbGlrZSBhIG5vdW5cbiAgICovXG4gIGdldCBpc1RyYW5zZmVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm9wZXJhdGlvbiA9PT0gVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtLlRSQU5TRkVSO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB2YWx1ZSBvZiB0cmFuc2FjdGlvbiBtZXRhZGF0YSBmaWVsZFxuICAgKiBAcGFyYW0gZmllbGQgZm9yIHdoaWNoIHZhbHVlIHNob3VsZCBiZSByZXR1cm5lZFxuICAgKi9cbiAgcHJpdmF0ZSBnZXRNZXRhZGF0YUZpZWxkVmFsdWUoZmllbGQ6IENoYXJ0QWNjb3VudHNNZXRhZGF0YUxpc3RFbnVtKTogbnVtYmVyIHtcbiAgICByZXR1cm4gK3RoaXMubWV0YWRhdGEuZmluZCgodHJhbnNhY3Rpb25NZXRhZGF0YTogVHJhbnNhY3Rpb25NZXRhZGF0YSk6IGJvb2xlYW4gPT4ge1xuICAgICAgcmV0dXJuIHRyYW5zYWN0aW9uTWV0YWRhdGEuY2hhcnRBY2NvdW50c01ldGFkYXRhLmlkID09PSBmaWVsZDtcbiAgICB9KT8udmFsdWUgfHwgMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIE5ldCBvciBHcm9zcyBpbmNvbWUgYW1vdW50IGJhc2VkIG9uIHByb3ZpZGVkIGluY29tZSB0eXBlXG4gICAqIEBwYXJhbSBpbmNvbWVUeXBlIGJ5IHdoaWNoIGFtb3VudCBzaG91bGQgYmUgcmV0dXJuZWRcbiAgICovXG4gIHByaXZhdGUgZ2V0SW5jb21lQW1vdW50QnlUeXBlKGluY29tZVR5cGU6IEluY29tZUFtb3VudFR5cGVFbnVtKTogbnVtYmVyIHtcbiAgICAvLyBtb2RpZmllciB0aGF0IGRldGVybWluZXMgd2hldGhlciB0aGUgdmFsdWVzIG9mIHRoZSB0cmFuc2FjdGlvbiBmaWVsZHMgd2lsbCBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkXG4gICAgY29uc3QgbW9kaWZpZXI6IG51bWJlciA9IGluY29tZVR5cGUgPT09IEluY29tZUFtb3VudFR5cGVFbnVtLkdST1NTID8gMSA6IC0xO1xuXG4gICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICBjYXNlIHRoaXMuaXNQcm9wZXJ0eVRhbmsoKTpcbiAgICAgICAgcmV0dXJuIHRoaXMuYW1vdW50ICtcbiAgICAgICAgICAodGhpcy50cmFuc2FjdGlvbnNcbiAgICAgICAgICAgIC5yZWR1Y2UoKHN1bTogbnVtYmVyLCB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBudW1iZXIgPT4gc3VtICsgTWF0aC5hYnModHJhbnNhY3Rpb24uYW1vdW50KSwgMCkgKiBtb2RpZmllcik7XG4gICAgICBjYXNlIHRoaXMuaXNXb3JrVGFuaygpOlxuICAgICAgICByZXR1cm4gdGhpcy5hbW91bnQgKyAoKHRoaXMudGF4ICsgdGhpcy5mcmFua2luZ0NyZWRpdCAtIHRoaXMudGF4RnJlZUNvbXBvbmVudCkgKiBtb2RpZmllcik7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdGhpcy5hbW91bnQgfHwgMDtcbiAgICB9XG4gIH1cblxuICBpc0ludGVyZXN0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNoYXJ0QWNjb3VudHMuaWQgPT09IENoYXJ0QWNjb3VudHNMaXN0RW51bS5JTlRFUkVTVF9PTl9MT0FOO1xuICB9XG5cbiAgaXNDYXNoKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNvdXJjZSA9PT0gVHJhbnNhY3Rpb25Tb3VyY2VFbnVtLkNBU0g7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIERlcHJlY2lhdGlvbiBpbnN0YW5jZSBiYXNlZCBvbiBUcmFuc2FjdGlvblxuICAgKi9cbiAgdG9EZXByZWNpYXRpb24oKTogRGVwcmVjaWF0aW9uIHtcbiAgICByZXR1cm4gcGxhaW5Ub0NsYXNzKERlcHJlY2lhdGlvbiwge1xuICAgICAgZGF0ZTogdGhpcy5kYXRlLFxuICAgICAgYW1vdW50OiB0aGlzLmFtb3VudCxcbiAgICAgIGNoYXJ0QWNjb3VudHM6IHRoaXMuY2hhcnRBY2NvdW50cyxcbiAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmRlc2NyaXB0aW9uLFxuICAgICAgdHlwZTogRGVwcmVjaWF0aW9uVHlwZUVudW0uUExBTlRfRVFVSVBNRU5ULFxuICAgICAgY2xhaW1QZXJjZW50OiB0aGlzLmNsYWltUGVyY2VudCxcbiAgICAgIHByb3BlcnR5OiB0aGlzLnByb3BlcnR5LFxuICAgICAgY2FsY3VsYXRpb246IHRoaXMucHJvcGVydHkgPyB0aGlzLnByb3BlcnR5LmRlcHJlY2lhdGlvbkNhbGN1bGF0aW9uIDogRGVwcmVjaWF0aW9uQ2FsY3VsYXRpb25FbnVtLlBSSU1FX0NPU1RcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiB0cmFuc2FjdGlvbiBpcyBjb21wbGV0ZWx5IGFsbG9jYXRlZFxuICAgKi9cbiAgaXNBbGxvY2F0ZWQoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXROZXRBbW91bnQoKSA9PT0gdGhpcy5nZXRBbGxvY2F0ZWRBbW91bnQoYWxsb2NhdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0cmFuc2FjdGlvbiBhbGxvY2F0ZWQgYW1vdW50XG4gICAqL1xuICBnZXRBbGxvY2F0ZWRBbW91bnQoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBudW1iZXIge1xuICAgIHJldHVybiBhbGxvY2F0aW9ucy5nZXRCeVRyYW5zYWN0aW9uc0lkcyhbdGhpcy5pZF0pLmFtb3VudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdHJhbnNhY3Rpb24gdW5hbGxvY2F0ZWQgYW1vdW50XG4gICAqL1xuICBnZXRVbmFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TmV0QW1vdW50KCkgLSB0aGlzLmdldEFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9ucyk7XG4gIH1cbn1cbiJdfQ==
223
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsV0FBVyxJQUFJLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRTNFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENB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LENBQUM7a0RBQ0c7QUFHN0I7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDO2lEQUNFO0FBRzNCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDOzZDQUNLO0FBR3JDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQzs2Q0FDRjtBQUd0QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7eUNBQ047QUFHWDtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7eUNBQ047QUFHWDtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztnREFDUTtBQUkxQztJQURDLE9BQU8sQ0FBQyxFQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUMsQ0FBQzt5Q0FDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvbiBhcyBUcmFuc2FjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RyYW5zYWN0aW9uLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvY2hhcnQtYWNjb3VudHMtY2F0ZWdvcnkuZW51bSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90cmFuc2FjdGlvbi1vcGVyYXRpb24uZW51bSc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzTGlzdEVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1saXN0LmVudW0nO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c01ldGFkYXRhTGlzdEVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1tZXRhZGF0YS1saXN0LmVudW0nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25Tb3VyY2VFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tc291cmNlLmVudW0nO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uVHlwZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9kZXByZWNpYXRpb24tdHlwZS5lbnVtJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbkNhbGN1bGF0aW9uRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL2RlcHJlY2lhdGlvbi1jYWxjdWxhdGlvbi5lbnVtJztcbmltcG9ydCB7IEV4Y2x1ZGUsIHBsYWluVG9DbGFzcywgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFByb3BlcnR5IH0gZnJvbSAnLi4vcHJvcGVydHkvcHJvcGVydHknO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25SZWNlaXB0IH0gZnJvbSAnLi90cmFuc2FjdGlvbi1yZWNlaXB0JztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHMgfSBmcm9tICcuLi9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cyc7XG5pbXBvcnQgeyBJbmNvbWVTb3VyY2UgfSBmcm9tICcuLi9pbmNvbWUtc291cmNlL2luY29tZS1zb3VyY2UnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25NZXRhZGF0YSB9IGZyb20gJy4vdHJhbnNhY3Rpb24tbWV0YWRhdGEnO1xuaW1wb3J0IHsgTG9hbiB9IGZyb20gJy4uL2xvYW4vbG9hbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkFsbG9jYXRpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24nO1xuaW1wb3J0IHsgQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUyB9IGZyb20gJy4uL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLWNhdGVnb3JpZXMuY29uc3QnO1xuaW1wb3J0IHsgSW5jb21lQW1vdW50VHlwZUVudW0gfSBmcm9tICcuL2luY29tZS1hbW91bnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IElSZWNlaXB0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9yZWNlaXB0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBJVGFuayB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvdGFuay5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24uY29sbGVjdGlvbic7XG5pbXBvcnQgeyBEZXByZWNpYXRpb24gfSBmcm9tICcuLi9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uJztcblxuLy8gQFRPRE8gcmVmYWN0b3Igd2l0aCBiYXNlTW9kZWwgaW4gY29uc3RydWN0b3JcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbiBleHRlbmRzIFRyYW5zYWN0aW9uQmFzZSBpbXBsZW1lbnRzIElSZWNlaXB0LCBJVGFuayB7XG4gIC8vIGxpc3Qgb2YgY2hpbGQgdHJhbnNhY3Rpb25zIChmZWVzKVxuICBAVHlwZSgoKSA9PiBUcmFuc2FjdGlvbilcbiAgdHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdID0gW107XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHkpXG4gIHByb3BlcnR5OiBQcm9wZXJ0eTtcblxuICBAVHlwZSgoKSA9PiBUcmFuc2FjdGlvblJlY2VpcHQpXG4gIHJlY2VpcHQ6IFRyYW5zYWN0aW9uUmVjZWlwdDtcblxuICBAVHlwZSgoKSA9PiBDaGFydEFjY291bnRzKVxuICBjaGFydEFjY291bnRzOiBDaGFydEFjY291bnRzO1xuXG4gIEBUeXBlKCgpID0+IEluY29tZVNvdXJjZSlcbiAgaW5jb21lU291cmNlOiBJbmNvbWVTb3VyY2U7XG5cbiAgQFR5cGUoKCkgPT4gVHJhbnNhY3Rpb25NZXRhZGF0YSlcbiAgbWV0YWRhdGE6IFRyYW5zYWN0aW9uTWV0YWRhdGFbXSA9IFtdO1xuXG4gIEBUeXBlKCgpID0+IFRyYW5zYWN0aW9uKVxuICB0cmFuc2ZlcjogVHJhbnNhY3Rpb247XG5cbiAgQFR5cGUoKCkgPT4gTG9hbilcbiAgbG9hbjogTG9hbjtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBkYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IFRyYW5zYWN0aW9uQWxsb2NhdGlvbilcbiAgYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbltdID0gW107XG5cbiAgLy8gY291bGQgYmUgRmlsZSB3aGVuIGp1c3QgYWRkZWQgbmV3IGltYWdlXG4gIEBFeGNsdWRlKHt0b1BsYWluT25seTogdHJ1ZX0pXG4gIGZpbGU6IEZpbGU7XG5cbiAgdGF4OiBudW1iZXIgPSAwO1xuICBvcGVyYXRpb246IFRyYW5zYWN0aW9uT3BlcmF0aW9uRW51bSA9IFRyYW5zYWN0aW9uT3BlcmF0aW9uRW51bS5GSU5EX0FORF9NQVRDSDtcbiAgYWxsb2NhdGVkQW1vdW50OiBudW1iZXI7XG4gIHVuYWxsb2NhdGVkQW1vdW50OiBudW1iZXI7XG4gIGlzU2VsZWN0ZWQ6IGJvb2xlYW47XG4gIGNsYWltUGVyY2VudDogbnVtYmVyID0gMTAwO1xuICBhbW91bnQ6IG51bWJlciA9IDA7XG5cbiAgaXNEZWJpdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBUcmFuc2FjdGlvblR5cGVFbnVtLkRFQklUO1xuICB9XG5cbiAgaXNDcmVkaXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlRW51bS5DUkVESVQ7XG4gIH1cblxuICBpc0luY29tZSgpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuY2hhcnRBY2NvdW50cykge1xuICAgICAgcmV0dXJuIHRoaXMuaXNDcmVkaXQoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5pbmNvbWUuaW5jbHVkZXModGhpcy5jaGFydEFjY291bnRzLmNhdGVnb3J5KTtcbiAgfVxuXG4gIGlzRXhwZW5zZSgpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuY2hhcnRBY2NvdW50cykge1xuICAgICAgcmV0dXJuIHRoaXMuaXNEZWJpdCgpO1xuICAgIH1cblxuICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLmV4cGVuc2UuaW5jbHVkZXModGhpcy5jaGFydEFjY291bnRzLmNhdGVnb3J5KTtcbiAgfVxuXG4gIGlzUGVyc29uYWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLnRhbmtUeXBlO1xuICB9XG5cbiAgZ2V0IGNoYXJ0QWNjb3VudHNDYXRlZ29yaWVzKCk6IENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW1bXSB7XG4gICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICBjYXNlIHRoaXMuaXNQZXJzb25hbCgpOlxuICAgICAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5wZXJzb25hbDtcblxuICAgICAgY2FzZSB0aGlzLmlzUHJvcGVydHlUYW5rKCk6XG4gICAgICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLnByb3BlcnR5O1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy53b3JrO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiB0cmFuc2FjdGlvbiBoYXMgJ0tsbXMgdHJhdmVsbGVkIGZvciB3b3JrJyBjaGFydCBhY2NvdW50cyBjYXRlZ29yeVxuICAgKi9cbiAgZ2V0IGlzS2xtc0NoYXJ0QWNjb3VudHNDYXRlZ29yeSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jaGFydEFjY291bnRzLmlkID09PSBDaGFydEFjY291bnRzTGlzdEVudW0uS0xNU19UUkFWRUxMRURfRk9SX1dPUks7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRyYW5zYWN0aW9uIGRhdGVcbiAgICovXG4gIGdldERhdGUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuZGF0ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiB0cmFuc2FjdGlvbiB0eXBlIGlzIHZlaGljbGVcbiAgICovXG4gIGlzVmVoaWNsZVRyYW5zYWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNoYXJ0QWNjb3VudHMuaXNWZWhpY2xlRXhwZW5zZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXQgYW1vdW50IChjbGVhbiBhbW91bnQgYWZ0ZXIgYWxsIGRlZHVjdGlvbnMpXG4gICAqL1xuICBnZXROZXRBbW91bnQoKTogbnVtYmVyIHtcbiAgICAvLyBAVE9ETyBmaXggaGFjayB3aGlsZSB0cmFuc2FjdGlvbnMgcmVmYWN0b3JpbmcgKHVzZSBjbGFzcy10cmFuc2Zvcm1lcilcbiAgICByZXR1cm4gKyhNYXRoLnJvdW5kKHRoaXMuZ2V0SW5jb21lQW1vdW50QnlUeXBlKEluY29tZUFtb3VudFR5cGVFbnVtLk5FVCkgKiAxMDApIC8gMTAwKS50b0ZpeGVkKDIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBncm9zcyBpbmNvbWUgYW1vdW50XG4gICAqL1xuICBnZXRHcm9zc0luY29tZSgpOiBudW1iZXIge1xuICAgIC8vIEBUT0RPIGZpeCBoYWNrIHdoaWxlIHRyYW5zYWN0aW9ucyByZWZhY3RvcmluZyAodXNlIGNsYXNzLXRyYW5zZm9ybWVyKVxuICAgIHJldHVybiArKE1hdGgucm91bmQodGhpcy5nZXRJbmNvbWVBbW91bnRCeVR5cGUoSW5jb21lQW1vdW50VHlwZUVudW0uR1JPU1MpICogMTAwKSAvIDEwMCkudG9GaXhlZCgyKTtcbiAgfVxuXG4gIGdldCB0YXhGcmVlQ29tcG9uZW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TWV0YWRhdGFGaWVsZFZhbHVlKENoYXJ0QWNjb3VudHNNZXRhZGF0YUxpc3RFbnVtLlRBWF9GUkVFX0NPTVBPTkVOVCk7XG4gIH1cblxuICBnZXQgZnJhbmtpbmdDcmVkaXQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRNZXRhZGF0YUZpZWxkVmFsdWUoQ2hhcnRBY2NvdW50c01ldGFkYXRhTGlzdEVudW0uRlJBTktJTkdfQ1JFRElUKTtcbiAgfVxuXG4gIGdldCBlbGlnaWJsZUZvclJlZHVjdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldE1ldGFkYXRhRmllbGRWYWx1ZShDaGFydEFjY291bnRzTWV0YWRhdGFMaXN0RW51bS5FTElHSUJMRV9GT1JfUkVEVUNUSU9OKTtcbiAgfVxuXG4gIGdldCB1bnRheGVkRWxlbWVudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldE1ldGFkYXRhRmllbGRWYWx1ZShDaGFydEFjY291bnRzTWV0YWRhdGFMaXN0RW51bS5VTlRBWEVEX0VMRU1FTlQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHRyYW5zYWN0aW9uIHJlY29uY2lsZSBvcGVyYXRpb24gaWYgVFJBTlNGRVJcbiAgICogQFRPRE8gYmFkIHVzYWdlIG9mIGdldCAoYW5kIGFsbCBpcyogbWV0aG9kcyksIGdldHRlciBzaG91bGQgc291bmQgbGlrZSBhIG5vdW5cbiAgICovXG4gIGdldCBpc1RyYW5zZmVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm9wZXJhdGlvbiA9PT0gVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtLlRSQU5TRkVSO1xuICB9XG5cbiAgZ2V0IGRlYml0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXNEZWJpdCgpID8gTWF0aC5hYnModGhpcy5hbW91bnQpIDogbnVsbDtcbiAgfVxuXG4gIGdldCBjcmVkaXQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pc0NyZWRpdCgpID8gTWF0aC5hYnModGhpcy5hbW91bnQpIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdmFsdWUgb2YgdHJhbnNhY3Rpb24gbWV0YWRhdGEgZmllbGRcbiAgICogQHBhcmFtIGZpZWxkIGZvciB3aGljaCB2YWx1ZSBzaG91bGQgYmUgcmV0dXJuZWRcbiAgICovXG4gIHByaXZhdGUgZ2V0TWV0YWRhdGFGaWVsZFZhbHVlKGZpZWxkOiBDaGFydEFjY291bnRzTWV0YWRhdGFMaXN0RW51bSk6IG51bWJlciB7XG4gICAgcmV0dXJuICt0aGlzLm1ldGFkYXRhLmZpbmQoKHRyYW5zYWN0aW9uTWV0YWRhdGE6IFRyYW5zYWN0aW9uTWV0YWRhdGEpOiBib29sZWFuID0+IHtcbiAgICAgIHJldHVybiB0cmFuc2FjdGlvbk1ldGFkYXRhLmNoYXJ0QWNjb3VudHNNZXRhZGF0YS5pZCA9PT0gZmllbGQ7XG4gICAgfSk/LnZhbHVlIHx8IDA7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBOZXQgb3IgR3Jvc3MgaW5jb21lIGFtb3VudCBiYXNlZCBvbiBwcm92aWRlZCBpbmNvbWUgdHlwZVxuICAgKiBAcGFyYW0gaW5jb21lVHlwZSBieSB3aGljaCBhbW91bnQgc2hvdWxkIGJlIHJldHVybmVkXG4gICAqL1xuICBwcml2YXRlIGdldEluY29tZUFtb3VudEJ5VHlwZShpbmNvbWVUeXBlOiBJbmNvbWVBbW91bnRUeXBlRW51bSk6IG51bWJlciB7XG4gICAgLy8gbW9kaWZpZXIgdGhhdCBkZXRlcm1pbmVzIHdoZXRoZXIgdGhlIHZhbHVlcyBvZiB0aGUgdHJhbnNhY3Rpb24gZmllbGRzIHdpbGwgYmUgYWRkZWQgb3Igc3VidHJhY3RlZFxuICAgIGNvbnN0IG1vZGlmaWVyOiBudW1iZXIgPSBpbmNvbWVUeXBlID09PSBJbmNvbWVBbW91bnRUeXBlRW51bS5HUk9TUyA/IDEgOiAtMTtcblxuICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgY2FzZSB0aGlzLmlzUHJvcGVydHlUYW5rKCk6XG4gICAgICAgIHJldHVybiB0aGlzLmFtb3VudCArXG4gICAgICAgICAgKHRoaXMudHJhbnNhY3Rpb25zXG4gICAgICAgICAgICAucmVkdWNlKChzdW06IG51bWJlciwgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogbnVtYmVyID0+IHN1bSArIE1hdGguYWJzKHRyYW5zYWN0aW9uLmFtb3VudCksIDApICogbW9kaWZpZXIpO1xuICAgICAgY2FzZSB0aGlzLmlzV29ya1RhbmsoKTpcbiAgICAgICAgcmV0dXJuIHRoaXMuYW1vdW50ICsgKCh0aGlzLnRheCArIHRoaXMuZnJhbmtpbmdDcmVkaXQgLSB0aGlzLnRheEZyZWVDb21wb25lbnQgLSB0aGlzLmVsaWdpYmxlRm9yUmVkdWN0aW9uKSAqIG1vZGlmaWVyKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB0aGlzLmFtb3VudCB8fCAwO1xuICAgIH1cbiAgfVxuXG4gIGlzSW50ZXJlc3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2hhcnRBY2NvdW50cy5pZCA9PT0gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLklOVEVSRVNUX09OX0xPQU47XG4gIH1cblxuICBpc0Nhc2goKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc291cmNlID09PSBUcmFuc2FjdGlvblNvdXJjZUVudW0uQ0FTSDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgRGVwcmVjaWF0aW9uIGluc3RhbmNlIGJhc2VkIG9uIFRyYW5zYWN0aW9uXG4gICAqL1xuICB0b0RlcHJlY2lhdGlvbigpOiBEZXByZWNpYXRpb24ge1xuICAgIHJldHVybiBwbGFpblRvQ2xhc3MoRGVwcmVjaWF0aW9uLCB7XG4gICAgICBkYXRlOiB0aGlzLmRhdGUsXG4gICAgICBhbW91bnQ6IHRoaXMuYW1vdW50LFxuICAgICAgY2hhcnRBY2NvdW50czogdGhpcy5jaGFydEFjY291bnRzLFxuICAgICAgZGVzY3JpcHRpb246IHRoaXMuZGVzY3JpcHRpb24sXG4gICAgICB0eXBlOiBEZXByZWNpYXRpb25UeXBlRW51bS5QTEFOVF9FUVVJUE1FTlQsXG4gICAgICBjbGFpbVBlcmNlbnQ6IHRoaXMuY2xhaW1QZXJjZW50LFxuICAgICAgcHJvcGVydHk6IHRoaXMucHJvcGVydHksXG4gICAgICBjYWxjdWxhdGlvbjogdGhpcy5wcm9wZXJ0eSA/IHRoaXMucHJvcGVydHkuZGVwcmVjaWF0aW9uQ2FsY3VsYXRpb24gOiBEZXByZWNpYXRpb25DYWxjdWxhdGlvbkVudW0uUFJJTUVfQ09TVFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHRyYW5zYWN0aW9uIGlzIGNvbXBsZXRlbHkgYWxsb2NhdGVkXG4gICAqL1xuICBpc0FsbG9jYXRlZChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdldE5ldEFtb3VudCgpID09PSB0aGlzLmdldEFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRyYW5zYWN0aW9uIGFsbG9jYXRlZCBhbW91bnRcbiAgICovXG4gIGdldEFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIGFsbG9jYXRpb25zLmdldEJ5VHJhbnNhY3Rpb25zSWRzKFt0aGlzLmlkXSkuYW1vdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0cmFuc2FjdGlvbiB1bmFsbG9jYXRlZCBhbW91bnRcbiAgICovXG4gIGdldFVuYWxsb2NhdGVkQW1vdW50KGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXROZXRBbW91bnQoKSAtIHRoaXMuZ2V0QWxsb2NhdGVkQW1vdW50KGFsbG9jYXRpb25zKTtcbiAgfVxufVxuIl19
@@ -1,7 +1,7 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import jsPDF from 'jspdf';
3
3
  import autoTable from 'jspdf-autotable';
4
- import { PDF_CONFIG } from "../../models/pdf/pdf-config";
4
+ import { PDF_CONFIG } from '../../models/pdf/pdf-config';
5
5
  import * as i0 from "@angular/core";
6
6
  /**
7
7
  * Service to work with PDF (generate, download, e.t.c.)
@@ -16,14 +16,47 @@ export class PdfService {
16
16
  document.save(`${fileName}.pdf`);
17
17
  }
18
18
  /**
19
+ * @Todo rename when all DataTable dependent methods will be cleared-up
20
+ */
21
+ exportTables(tables, title, fileName) {
22
+ const document = this.generateFromTables(tables, title);
23
+ document.save(`${fileName}.pdf`);
24
+ }
25
+ /**
26
+ * @Todo rename when all DataTable dependent methods will be cleared-up
27
+ */
28
+ generateFromTables(tables, title) {
29
+ const pdf = new jsPDF();
30
+ // set document title
31
+ pdf.setFontSize(PDF_CONFIG.text.fontSize)
32
+ .setFont(PDF_CONFIG.text.fontName, PDF_CONFIG.text.fontStyle, PDF_CONFIG.text.fontWeight)
33
+ .text(title, PDF_CONFIG.text.positionX, PDF_CONFIG.text.positionY);
34
+ tables.forEach((table) => {
35
+ // coords of last table
36
+ const lastTableCoords = pdf['lastAutoTable'].finalY || PDF_CONFIG.contentCoords.marginTop;
37
+ // table options
38
+ const options = {
39
+ html: table,
40
+ startY: lastTableCoords + PDF_CONFIG.contentTitleCoords.marginTop,
41
+ footStyles: {
42
+ fillColor: PDF_CONFIG.text.fillColor,
43
+ textColor: PDF_CONFIG.text.textColor
44
+ }
45
+ };
46
+ autoTable(pdf, options);
47
+ });
48
+ return pdf;
49
+ }
50
+ /**
51
+ * @Todo remove/refactor when all DataTable dependent methods will be cleared-up
19
52
  * Generate PDF file from provided data
20
53
  */
21
54
  generatePdfFile(tables, title) {
22
55
  const pdf = new jsPDF();
23
- // set document title
24
- pdf.setFontSize(PDF_CONFIG.text.fontSize);
25
- pdf.setFont(PDF_CONFIG.text.fontName, PDF_CONFIG.text.fontStyle, PDF_CONFIG.text.fontWeight);
26
- pdf.text(title, PDF_CONFIG.text.positionX, PDF_CONFIG.text.positionY);
56
+ // set document font params
57
+ pdf.setFontSize(PDF_CONFIG.text.fontSize)
58
+ .setFont(PDF_CONFIG.text.fontName, PDF_CONFIG.text.fontStyle, PDF_CONFIG.text.fontWeight)
59
+ .text(title, PDF_CONFIG.text.positionX, PDF_CONFIG.text.positionY);
27
60
  tables.forEach((table) => {
28
61
  // coords of last table
29
62
  const lastTableCoords = pdf['lastAutoTable'].finalY || PDF_CONFIG.contentCoords.marginTop;
@@ -52,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
52
85
  providedIn: 'root'
53
86
  }]
54
87
  }] });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvcGRmL3BkZi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sU0FBUyxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQzs7QUFNeEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sVUFBVTtJQUNyQiwwQkFBMEI7SUFDMUI7O09BRUc7SUFDSCxRQUFRLENBQUMsTUFBd0IsRUFBRSxLQUFhLEVBQUUsUUFBZ0I7UUFDaEUsTUFBTSxRQUFRLEdBQVUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFNUQsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsTUFBTSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOztPQUVHO0lBQ0ssZUFBZSxDQUFDLE1BQXdCLEVBQUUsS0FBYztRQUM5RCxNQUFNLEdBQUcsR0FBVSxJQUFJLEtBQUssRUFBRSxDQUFDO1FBRS9CLHFCQUFxQjtRQUNyQixHQUFHLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdGLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFdEUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRTtZQUMxQyx1QkFBdUI7WUFDdkIsTUFBTSxlQUFlLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztZQUMxRixHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsZUFBZSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDbkgsZ0JBQWdCO1lBQ2hCLE1BQU0sT0FBTyxHQUFHO2dCQUNkLE1BQU0sRUFBRSxlQUFlLEdBQUcsVUFBVSxDQUFDLGtCQUFrQixDQUFDLFNBQVM7Z0JBQ2pFLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUErQixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzlFLElBQUksRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDO2dCQUNuQixJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzFCLFVBQVUsRUFBRTtvQkFDVixTQUFTLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTO29CQUNwQyxTQUFTLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTO2lCQUNyQzthQUNGLENBQUM7WUFFRixTQUFTLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDOzt3R0ExQ1UsVUFBVTs0R0FBVixVQUFVLGNBTlQsTUFBTTs0RkFNUCxVQUFVO2tCQVB0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGFUYWJsZSB9IGZyb20gXCIuLi8uLi9tb2RlbHMvZGF0YS10YWJsZS9kYXRhLXRhYmxlXCI7XG5pbXBvcnQgeyBEYXRhVGFibGVDb2x1bW59IGZyb20gXCIuLi8uLi9tb2RlbHMvZGF0YS10YWJsZS9kYXRhLXRhYmxlLWNvbHVtblwiO1xuaW1wb3J0IGpzUERGIGZyb20gJ2pzcGRmJztcbmltcG9ydCBhdXRvVGFibGUgZnJvbSAnanNwZGYtYXV0b3RhYmxlJztcbmltcG9ydCB7IFBERl9DT05GSUd9IGZyb20gXCIuLi8uLi9tb2RlbHMvcGRmL3BkZi1jb25maWdcIjtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5cbi8qKlxuICogU2VydmljZSB0byB3b3JrIHdpdGggUERGIChnZW5lcmF0ZSwgZG93bmxvYWQsIGUudC5jLilcbiAqL1xuZXhwb3J0IGNsYXNzIFBkZlNlcnZpY2Uge1xuICAvLyBAVG9kbyByZW1vdmUgJ2FueScgdHlwZVxuICAvKipcbiAgICogRG93bmxvYWQgZ2VuZXJhdGVkIFBERiBmaWxlXG4gICAqL1xuICBkb3dubG9hZCh0YWJsZXM6IERhdGFUYWJsZTxhbnk+W10sIHRpdGxlOiBzdHJpbmcsIGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBkb2N1bWVudDoganNQREYgPSB0aGlzLmdlbmVyYXRlUGRmRmlsZSh0YWJsZXMsIHRpdGxlKTtcblxuICAgIGRvY3VtZW50LnNhdmUoYCR7ZmlsZU5hbWV9LnBkZmApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIFBERiBmaWxlIGZyb20gcHJvdmlkZWQgZGF0YVxuICAgKi9cbiAgcHJpdmF0ZSBnZW5lcmF0ZVBkZkZpbGUodGFibGVzOiBEYXRhVGFibGU8YW55PltdLCB0aXRsZT86IHN0cmluZyk6IGpzUERGIHtcbiAgICBjb25zdCBwZGY6IGpzUERGID0gbmV3IGpzUERGKCk7XG5cbiAgICAvLyBzZXQgZG9jdW1lbnQgdGl0bGVcbiAgICBwZGYuc2V0Rm9udFNpemUoUERGX0NPTkZJRy50ZXh0LmZvbnRTaXplKTtcbiAgICBwZGYuc2V0Rm9udChQREZfQ09ORklHLnRleHQuZm9udE5hbWUsIFBERl9DT05GSUcudGV4dC5mb250U3R5bGUsIFBERl9DT05GSUcudGV4dC5mb250V2VpZ2h0KTtcbiAgICBwZGYudGV4dCh0aXRsZSwgUERGX0NPTkZJRy50ZXh0LnBvc2l0aW9uWCwgUERGX0NPTkZJRy50ZXh0LnBvc2l0aW9uWSk7XG5cbiAgICB0YWJsZXMuZm9yRWFjaCgodGFibGU6IERhdGFUYWJsZTxvYmplY3Q+KSA9PiB7XG4gICAgICAvLyBjb29yZHMgb2YgbGFzdCB0YWJsZVxuICAgICAgY29uc3QgbGFzdFRhYmxlQ29vcmRzID0gcGRmWydsYXN0QXV0b1RhYmxlJ10uZmluYWxZIHx8IFBERl9DT05GSUcuY29udGVudENvb3Jkcy5tYXJnaW5Ub3A7XG4gICAgICBwZGYudGV4dCh0YWJsZS5jYXB0aW9uLCBQREZfQ09ORklHLmNvbnRlbnRDb29yZHMubWFyZ2luTGVmdCwgbGFzdFRhYmxlQ29vcmRzICsgUERGX0NPTkZJRy5jb250ZW50Q29vcmRzLm1hcmdpblRvcCk7XG4gICAgICAvLyB0YWJsZSBvcHRpb25zXG4gICAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgICBzdGFydFk6IGxhc3RUYWJsZUNvb3JkcyArIFBERl9DT05GSUcuY29udGVudFRpdGxlQ29vcmRzLm1hcmdpblRvcCxcbiAgICAgICAgaGVhZDogW3RhYmxlWydjb2x1bW5zJ10ubWFwKChjb2x1bW46IERhdGFUYWJsZUNvbHVtbjxvYmplY3Q+KSA9PiBjb2x1bW4ubmFtZSldLFxuICAgICAgICBib2R5OiB0YWJsZVsncm93cyddLFxuICAgICAgICBmb290OiBbdGFibGVbJ2Zvb3RlclJvdyddXSxcbiAgICAgICAgZm9vdFN0eWxlczoge1xuICAgICAgICAgIGZpbGxDb2xvcjogUERGX0NPTkZJRy50ZXh0LmZpbGxDb2xvcixcbiAgICAgICAgICB0ZXh0Q29sb3I6IFBERl9DT05GSUcudGV4dC50ZXh0Q29sb3JcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgYXV0b1RhYmxlKHBkZiwgb3B0aW9ucyk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcGRmO1xuICB9XG59XG4iXX0=
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvcGRmL3BkZi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sU0FBUyxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFNekQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sVUFBVTtJQUNyQiwwQkFBMEI7SUFDMUI7O09BRUc7SUFDSCxRQUFRLENBQUMsTUFBd0IsRUFBRSxLQUFhLEVBQUUsUUFBZ0I7UUFDaEUsTUFBTSxRQUFRLEdBQVUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFNUQsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsTUFBTSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsWUFBWSxDQUFDLE1BQW9DLEVBQUUsS0FBYSxFQUFFLFFBQWdCO1FBQ2hGLE1BQU0sUUFBUSxHQUFVLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDL0QsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsTUFBTSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOztPQUVHO0lBQ0ssa0JBQWtCLENBQUMsTUFBb0MsRUFBRSxLQUFjO1FBQzdFLE1BQU0sR0FBRyxHQUFVLElBQUksS0FBSyxFQUFFLENBQUM7UUFFL0IscUJBQXFCO1FBQ3JCLEdBQUcsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7YUFDdEMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJ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QkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRhVGFibGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvZGF0YS10YWJsZS9kYXRhLXRhYmxlJztcbmltcG9ydCB7IERhdGFUYWJsZUNvbHVtbiB9IGZyb20gJy4uLy4uL21vZGVscy9kYXRhLXRhYmxlL2RhdGEtdGFibGUtY29sdW1uJztcbmltcG9ydCBqc1BERiBmcm9tICdqc3BkZic7XG5pbXBvcnQgYXV0b1RhYmxlIGZyb20gJ2pzcGRmLWF1dG90YWJsZSc7XG5pbXBvcnQgeyBQREZfQ09ORklHIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3BkZi9wZGYtY29uZmlnJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5cbi8qKlxuICogU2VydmljZSB0byB3b3JrIHdpdGggUERGIChnZW5lcmF0ZSwgZG93bmxvYWQsIGUudC5jLilcbiAqL1xuZXhwb3J0IGNsYXNzIFBkZlNlcnZpY2Uge1xuICAvLyBAVG9kbyByZW1vdmUgJ2FueScgdHlwZVxuICAvKipcbiAgICogRG93bmxvYWQgZ2VuZXJhdGVkIFBERiBmaWxlXG4gICAqL1xuICBkb3dubG9hZCh0YWJsZXM6IERhdGFUYWJsZTxhbnk+W10sIHRpdGxlOiBzdHJpbmcsIGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBkb2N1bWVudDoganNQREYgPSB0aGlzLmdlbmVyYXRlUGRmRmlsZSh0YWJsZXMsIHRpdGxlKTtcblxuICAgIGRvY3VtZW50LnNhdmUoYCR7ZmlsZU5hbWV9LnBkZmApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUb2RvIHJlbmFtZSB3aGVuIGFsbCBEYXRhVGFibGUgZGVwZW5kZW50IG1ldGhvZHMgd2lsbCBiZSBjbGVhcmVkLXVwXG4gICAqL1xuICBleHBvcnRUYWJsZXModGFibGVzOiBOb2RlTGlzdE9mPEhUTUxUYWJsZUVsZW1lbnQ+LCB0aXRsZTogc3RyaW5nLCBmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgZG9jdW1lbnQ6IGpzUERGID0gdGhpcy5nZW5lcmF0ZUZyb21UYWJsZXModGFibGVzLCB0aXRsZSk7XG4gICAgZG9jdW1lbnQuc2F2ZShgJHtmaWxlTmFtZX0ucGRmYCk7XG4gIH1cblxuICAvKipcbiAgICogQFRvZG8gcmVuYW1lIHdoZW4gYWxsIERhdGFUYWJsZSBkZXBlbmRlbnQgbWV0aG9kcyB3aWxsIGJlIGNsZWFyZWQtdXBcbiAgICovXG4gIHByaXZhdGUgZ2VuZXJhdGVGcm9tVGFibGVzKHRhYmxlczogTm9kZUxpc3RPZjxIVE1MVGFibGVFbGVtZW50PiwgdGl0bGU/OiBzdHJpbmcpOiBqc1BERiB7XG4gICAgY29uc3QgcGRmOiBqc1BERiA9IG5ldyBqc1BERigpO1xuXG4gICAgLy8gc2V0IGRvY3VtZW50IHRpdGxlXG4gICAgcGRmLnNldEZvbnRTaXplKFBERl9DT05GSUcudGV4dC5mb250U2l6ZSlcbiAgICAgIC5zZXRGb250KFBERl9DT05GSUcudGV4dC5mb250TmFtZSwgUERGX0NPTkZJRy50ZXh0LmZvbnRTdHlsZSwgUERGX0NPTkZJRy50ZXh0LmZvbnRXZWlnaHQpXG4gICAgICAudGV4dCh0aXRsZSwgUERGX0NPTkZJRy50ZXh0LnBvc2l0aW9uWCwgUERGX0NPTkZJRy50ZXh0LnBvc2l0aW9uWSk7XG5cbiAgICB0YWJsZXMuZm9yRWFjaCgodGFibGU6IEhUTUxUYWJsZUVsZW1lbnQpID0+IHtcbiAgICAgIC8vIGNvb3JkcyBvZiBsYXN0IHRhYmxlXG4gICAgICBjb25zdCBsYXN0VGFibGVDb29yZHMgPSBwZGZbJ2xhc3RBdXRvVGFibGUnXS5maW5hbFkgfHwgUERGX0NPTkZJRy5jb250ZW50Q29vcmRzLm1hcmdpblRvcDtcbiAgICAgIC8vIHRhYmxlIG9wdGlvbnNcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAgIGh0bWw6IHRhYmxlLFxuICAgICAgICBzdGFydFk6IGxhc3RUYWJsZUNvb3JkcyArIFBERl9DT05GSUcuY29udGVudFRpdGxlQ29vcmRzLm1hcmdpblRvcCxcbiAgICAgICAgZm9vdFN0eWxlczoge1xuICAgICAgICAgIGZpbGxDb2xvcjogUERGX0NPTkZJRy50ZXh0LmZpbGxDb2xvcixcbiAgICAgICAgICB0ZXh0Q29sb3I6IFBERl9DT05GSUcudGV4dC50ZXh0Q29sb3JcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgYXV0b1RhYmxlKHBkZiwgb3B0aW9ucyk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcGRmO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUb2RvIHJlbW92ZS9yZWZhY3RvciB3aGVuIGFsbCBEYXRhVGFibGUgZGVwZW5kZW50IG1ldGhvZHMgd2lsbCBiZSBjbGVhcmVkLXVwXG4gICAqIEdlbmVyYXRlIFBERiBmaWxlIGZyb20gcHJvdmlkZWQgZGF0YVxuICAgKi9cbiAgcHJpdmF0ZSBnZW5lcmF0ZVBkZkZpbGUodGFibGVzOiBEYXRhVGFibGU8YW55PltdLCB0aXRsZT86IHN0cmluZyk6IGpzUERGIHtcbiAgICBjb25zdCBwZGY6IGpzUERGID0gbmV3IGpzUERGKCk7XG5cbiAgICAvLyBzZXQgZG9jdW1lbnQgZm9udCBwYXJhbXNcbiAgICBwZGYuc2V0Rm9udFNpemUoUERGX0NPTkZJRy50ZXh0LmZvbnRTaXplKVxuICAgICAgLnNldEZvbnQoUERGX0NPTkZJRy50ZXh0LmZvbnROYW1lLCBQREZfQ09ORklHLnRleHQuZm9udFN0eWxlLCBQREZfQ09ORklHLnRleHQuZm9udFdlaWdodClcbiAgICAgIC50ZXh0KHRpdGxlLCBQREZfQ09ORklHLnRleHQucG9zaXRpb25YLCBQREZfQ09ORklHLnRleHQucG9zaXRpb25ZKTtcblxuICAgIHRhYmxlcy5mb3JFYWNoKCh0YWJsZTogRGF0YVRhYmxlPG9iamVjdD4pID0+IHtcbiAgICAgIC8vIGNvb3JkcyBvZiBsYXN0IHRhYmxlXG4gICAgICBjb25zdCBsYXN0VGFibGVDb29yZHMgPSBwZGZbJ2xhc3RBdXRvVGFibGUnXS5maW5hbFkgfHwgUERGX0NPTkZJRy5jb250ZW50Q29vcmRzLm1hcmdpblRvcDtcbiAgICAgIHBkZi50ZXh0KHRhYmxlLmNhcHRpb24sIFBERl9DT05GSUcuY29udGVudENvb3Jkcy5tYXJnaW5MZWZ0LCBsYXN0VGFibGVDb29yZHMgKyBQREZfQ09ORklHLmNvbnRlbnRDb29yZHMubWFyZ2luVG9wKTtcbiAgICAgIC8vIHRhYmxlIG9wdGlvbnNcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAgIHN0YXJ0WTogbGFzdFRhYmxlQ29vcmRzICsgUERGX0NPTkZJRy5jb250ZW50VGl0bGVDb29yZHMubWFyZ2luVG9wLFxuICAgICAgICBoZWFkOiBbdGFibGVbJ2NvbHVtbnMnXS5tYXAoKGNvbHVtbjogRGF0YVRhYmxlQ29sdW1uPG9iamVjdD4pID0+IGNvbHVtbi5uYW1lKV0sXG4gICAgICAgIGJvZHk6IHRhYmxlWydyb3dzJ10sXG4gICAgICAgIGZvb3Q6IFt0YWJsZVsnZm9vdGVyUm93J11dLFxuICAgICAgICBmb290U3R5bGVzOiB7XG4gICAgICAgICAgZmlsbENvbG9yOiBQREZfQ09ORklHLnRleHQuZmlsbENvbG9yLFxuICAgICAgICAgIHRleHRDb2xvcjogUERGX0NPTkZJRy50ZXh0LnRleHRDb2xvclxuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBhdXRvVGFibGUocGRmLCBvcHRpb25zKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBwZGY7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,47 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { PropertyCategoryMovement } from '../../models/property/property-category-movement';
3
+ import { BaseRestService } from '../base-rest.service';
4
+ import { map } from 'rxjs/operators';
5
+ import { AppEvent } from '../../models/event/app-event';
6
+ import { AppEventTypeEnum } from '../../models/event/app-event-type.enum';
7
+ import * as i0 from "@angular/core";
8
+ export class PropertyCategoryMovementService extends BaseRestService {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.modelClass = PropertyCategoryMovement;
12
+ this.url = 'properties/category-movements';
13
+ }
14
+ add(model) {
15
+ return super.add(model).pipe(map((newMovement) => {
16
+ // @TODO Alex: we need to teach restService to dispatch events + limit list of methods (not all services have all 4 or even more considering batch requests) + collections
17
+ this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.PROPERTY_MOVEMENT_CREATED, null));
18
+ return newMovement;
19
+ }));
20
+ }
21
+ update(model) {
22
+ return super.update(model).pipe(map((updatedMovement) => {
23
+ this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.PROPERTY_MOVEMENT_CREATED, null));
24
+ return updatedMovement;
25
+ }));
26
+ }
27
+ delete(model) {
28
+ return super.delete(model).pipe(map(() => {
29
+ this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.PROPERTY_MOVEMENT_CREATED, null));
30
+ }));
31
+ }
32
+ // @TODO Alex: Move to collection
33
+ getByPropertyId(id) {
34
+ return this.get().pipe(map((movements) => {
35
+ return movements.filter((movement) => movement.property.id === id);
36
+ }));
37
+ }
38
+ }
39
+ PropertyCategoryMovementService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyCategoryMovementService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
40
+ PropertyCategoryMovementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyCategoryMovementService, providedIn: 'root' });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyCategoryMovementService, decorators: [{
42
+ type: Injectable,
43
+ args: [{
44
+ providedIn: 'root'
45
+ }]
46
+ }] });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktY2F0ZWdvcnktbW92ZW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9wcm9wZXJ0eS9wcm9wZXJ0eS1jYXRlZ29yeS1tb3ZlbWVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFFNUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXZELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7O0FBSzFFLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxlQUF1RTtJQUg1SDs7UUFJRSxlQUFVLEdBQW9DLHdCQUF3QixDQUFDO1FBQ3ZFLFFBQUcsR0FBVywrQkFBK0IsQ0FBQztLQXFDL0M7SUFuQ0MsR0FBRyxDQUFDLEtBQStCO1FBQ2pDLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQzFCLEdBQUcsQ0FBQyxDQUFDLFdBQXFDLEVBQTRCLEVBQUU7WUFDdEUsMEtBQTBLO1lBQzFLLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMseUJBQXlCLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQTtZQUNwRyxPQUFPLFdBQVcsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUErQjtRQUNwQyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUM3QixHQUFHLENBQUMsQ0FBQyxlQUF5QyxFQUE0QixFQUFFO1lBQzFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMseUJBQXlCLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNyRyxPQUFPLGVBQWUsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUErQjtRQUNwQyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUM3QixHQUFHLENBQUMsR0FBUyxFQUFFO1lBQ2IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyx5QkFBeUIsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3ZHLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsaUNBQWlDO0lBQ2pDLGVBQWUsQ0FBQyxFQUFVO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FDcEIsR0FBRyxDQUFDLENBQUMsU0FBcUMsRUFBOEIsRUFBRTtZQUN4RSxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFrQyxFQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtRQUN2RyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7NkhBdENVLCtCQUErQjtpSUFBL0IsK0JBQStCLGNBRjlCLE1BQU07NEZBRVAsK0JBQStCO2tCQUgzQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudCB9IGZyb20gJy4uLy4uL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1jYXRlZ29yeS1tb3ZlbWVudCc7XG5pbXBvcnQgeyBQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnQgYXMgUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50QmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy9wcm9wZXJ0eS1jYXRlZ29yeS1tb3ZlbWVudCc7XG5pbXBvcnQgeyBCYXNlUmVzdFNlcnZpY2UgfSBmcm9tICcuLi9iYXNlLXJlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBcHBFdmVudCB9IGZyb20gJy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQnO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50U2VydmljZSBleHRlbmRzIEJhc2VSZXN0U2VydmljZTxQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnRCYXNlLCBQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnQ+IHtcbiAgbW9kZWxDbGFzczogdHlwZW9mIFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudCA9IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudDtcbiAgdXJsOiBzdHJpbmcgPSAncHJvcGVydGllcy9jYXRlZ29yeS1tb3ZlbWVudHMnO1xuXG4gIGFkZChtb2RlbDogUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50KTogT2JzZXJ2YWJsZTxQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnQ+IHtcbiAgICByZXR1cm4gc3VwZXIuYWRkKG1vZGVsKS5waXBlKFxuICAgICAgbWFwKChuZXdNb3ZlbWVudDogUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50KTogUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50ID0+IHtcbiAgICAgICAgLy8gQFRPRE8gQWxleDogd2UgbmVlZCB0byB0ZWFjaCByZXN0U2VydmljZSB0byBkaXNwYXRjaCBldmVudHMgKyBsaW1pdCBsaXN0IG9mIG1ldGhvZHMgKG5vdCBhbGwgc2VydmljZXMgaGF2ZSBhbGwgNCBvciBldmVuIG1vcmUgY29uc2lkZXJpbmcgYmF0Y2ggcmVxdWVzdHMpICsgY29sbGVjdGlvbnNcbiAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLlBST1BFUlRZX01PVkVNRU5UX0NSRUFURUQsIG51bGwpKVxuICAgICAgICByZXR1cm4gbmV3TW92ZW1lbnQ7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICB1cGRhdGUobW9kZWw6IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudCk6IE9ic2VydmFibGU8UHJvcGVydHlDYXRlZ29yeU1vdmVtZW50PiB7XG4gICAgcmV0dXJuIHN1cGVyLnVwZGF0ZShtb2RlbCkucGlwZShcbiAgICAgIG1hcCgodXBkYXRlZE1vdmVtZW50OiBQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnQpOiBQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnQgPT4ge1xuICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uUFJPUEVSVFlfTU9WRU1FTlRfQ1JFQVRFRCwgbnVsbCkpO1xuICAgICAgICByZXR1cm4gdXBkYXRlZE1vdmVtZW50O1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgZGVsZXRlKG1vZGVsOiBQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnQpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gc3VwZXIuZGVsZXRlKG1vZGVsKS5waXBlKFxuICAgICAgbWFwKCgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLlBST1BFUlRZX01PVkVNRU5UX0NSRUFURUQsIG51bGwpKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8vIEBUT0RPIEFsZXg6IE1vdmUgdG8gY29sbGVjdGlvblxuICBnZXRCeVByb3BlcnR5SWQoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8UHJvcGVydHlDYXRlZ29yeU1vdmVtZW50W10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoKS5waXBlKFxuICAgICAgbWFwKChtb3ZlbWVudHM6IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudFtdKTogUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50W10gPT4ge1xuICAgICAgICByZXR1cm4gbW92ZW1lbnRzLmZpbHRlcigobW92ZW1lbnQ6IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudCk6IGJvb2xlYW4gPT4gbW92ZW1lbnQucHJvcGVydHkuaWQgPT09IGlkKVxuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -26,6 +26,8 @@ export class PropertyService extends BaseRestService {
26
26
  listenEvents() {
27
27
  this.listenCoOwnerInviteAccepted();
28
28
  this.listenServiceSubscriptionUpdated();
29
+ // @TODO Alex: consider to refactor property movements logic similar to client-movements
30
+ this.listenMovementsChanged();
29
31
  }
30
32
  /**
31
33
  * Update cache when owner invitation accepted
@@ -39,6 +41,15 @@ export class PropertyService extends BaseRestService {
39
41
  listenServiceSubscriptionUpdated() {
40
42
  this.eventDispatcherService.on(AppEventTypeEnum.SERVICE_SUBSCRIPTION_UPDATED).subscribe(() => this.resetCache());
41
43
  }
44
+ /**
45
+ * Update cache when property category changed
46
+ */
47
+ listenMovementsChanged() {
48
+ // @TODO change dispatcher logic to work with multiple events
49
+ this.eventDispatcherService.on(AppEventTypeEnum.PROPERTY_MOVEMENT_CREATED).subscribe(() => this.resetCache());
50
+ this.eventDispatcherService.on(AppEventTypeEnum.PROPERTY_MOVEMENT_UPDATED).subscribe(() => this.resetCache());
51
+ this.eventDispatcherService.on(AppEventTypeEnum.PROPERTY_MOVEMENT_DELETED).subscribe(() => this.resetCache());
52
+ }
42
53
  update(property) {
43
54
  return super.update(property).pipe(map((updatedProperty) => {
44
55
  if (property.documentFile) {
@@ -112,4 +123,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
112
123
  type: Inject,
113
124
  args: ['environment']
114
125
  }] }]; } });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9wcm9wZXJ0eS9wcm9wZXJ0eS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWpELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOzs7O0FBRW5GOztHQUVHO0FBSUgsTUFBTSxPQUFPLGVBQWdCLFNBQVEsZUFBdUM7SUFJMUUsWUFDWSxJQUFnQixFQUNoQixzQkFBOEMsRUFDdkIsV0FBZ0I7UUFFakQsS0FBSyxDQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUp2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDdkIsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFObkQsZUFBVSxHQUFvQixRQUFRLENBQUM7UUFDdkMsUUFBRyxHQUFXLFlBQVksQ0FBQztRQVF6QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVE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VSxlQUFlLGtGQU9oQixhQUFhO2lIQVBaLGVBQWUsY0FGZCxNQUFNOzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFRSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb3BlcnR5IGFzIFByb3BlcnR5QmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy9wcm9wZXJ0eSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyByZXBsYWNlIH0gZnJvbSAnLi4vLi4vZnVuY3Rpb25zL2FycmF5JztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBQcm9wZXJ0eVN1YnNjcmlwdGlvbiBhcyBQcm9wZXJ0eVN1YnNjcmlwdGlvbkJhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvcHJvcGVydHktc3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IEJhc2VSZXN0U2VydmljZSB9IGZyb20gJy4uL2Jhc2UtcmVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFByb3BlcnR5IH0gZnJvbSAnLi4vLi4vbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5JztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgfSBmcm9tICcuLi9ldmVudC9ldmVudC1kaXNwYXRjaGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IEFwcEV2ZW50IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudCc7XG5pbXBvcnQgeyBQcm9wZXJ0eVN1YnNjcmlwdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1zdWJzY3JpcHRpb24nO1xuXG4vKipcbiAqIFNlcnZpY2UgZm9yIHdvcmsgd2l0aCBQcm9wZXJ0eVxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eVNlcnZpY2UgZXh0ZW5kcyBCYXNlUmVzdFNlcnZpY2U8UHJvcGVydHlCYXNlLCBQcm9wZXJ0eT4ge1xuICBtb2RlbENsYXNzOiB0eXBlb2YgUHJvcGVydHkgPSBQcm9wZXJ0eTtcbiAgdXJsOiBzdHJpbmcgPSAncHJvcGVydGllcyc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJvdGVjdGVkIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2U6IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueVxuICApIHtcbiAgICBzdXBlcihodHRwLCBldmVudERpc3BhdGNoZXJTZXJ2aWNlLCBlbnZpcm9ubWVudCk7XG4gICAgdGhpcy5saXN0ZW5FdmVudHMoKTtcbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlbkNvT3duZXJJbnZpdGVBY2NlcHRlZCgpO1xuICAgIHRoaXMubGlzdGVuU2VydmljZVN1YnNjcmlwdGlvblVwZGF0ZWQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgY2FjaGUgd2hlbiBvd25lciBpbnZpdGF0aW9uIGFjY2VwdGVkXG4gICAqL1xuICBwcml2YXRlIGxpc3RlbkNvT3duZXJJbnZpdGVBY2NlcHRlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5QUk9QRVJUWV9PV05FUl9VUERBVEVEKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZXNldENhY2hlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBjYWNoZSB3aGVuIHVzZXIncyBzZXJ2aWNlIHN1YnNjcmlwdGlvbiBpcyB1cGRhdGVkXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblNlcnZpY2VTdWJzY3JpcHRpb25VcGRhdGVkKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLlNFUlZJQ0VfU1VCU0NSSVBUSU9OX1VQREFURUQpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlc2V0Q2FjaGUoKSk7XG4gIH1cblxuICB1cGRhdGUocHJvcGVydHk6IFByb3BlcnR5KTogT2JzZXJ2YWJsZTxQcm9wZXJ0eT4ge1xuICAgIHJldHVybiBzdXBlci51cGRhdGUocHJvcGVydHkpLnBpcGUoXG4gICAgICBtYXAoKHVwZGF0ZWRQcm9wZXJ0eTogUHJvcGVydHkpOiBQcm9wZXJ0eSA9PiB7XG4gICAgICAgIGlmIChwcm9wZXJ0eS5kb2N1bWVudEZpbGUpIHtcbiAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uUFJPUEVSVFlfVVBEQVRFRF9XSVRIX0RPQ1VNRU5ULCBwcm9wZXJ0eSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1cGRhdGVkUHJvcGVydHk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBnZXRCeUNhdGVnb3J5SWQoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8UHJvcGVydHlbXT4ge1xuICAgIHJldHVybiB0aGlzLmdldCgpLnBpcGUoXG4gICAgICBtYXAoKHByb3BlcnRpZXM6IFByb3BlcnR5W10pOiBQcm9wZXJ0eVtdID0+IHtcbiAgICAgICAgcmV0dXJuIHByb3BlcnRpZXMuZmlsdGVyKChwcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuID0+IHByb3BlcnR5LmNhdGVnb3J5LmlkID09PSBpZCk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQWN0aXZhdGUgZGVhY3RpdmF0ZWQgcHJvcGVydHlcbiAgICovXG4gIGFjdGl2YXRlKHByb3BlcnR5OiBQcm9wZXJ0eSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9wcm9wZXJ0eS1zdWJzY3JpcHRpb25zYCwge3VzZXI6IHByb3BlcnR5LnVzZXIsIHByb3BlcnR5fSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHByb3BlcnR5U3Vic2NyaXB0aW9uQmFzZTogUHJvcGVydHlTdWJzY3JpcHRpb25CYXNlKSA9PiB7XG4gICAgICAgICAgY29uc3QgbmV3UHJvcGVydHlTdWJzY3JpcHRpb246IFByb3BlcnR5U3Vic2NyaXB0aW9uID0gcGxhaW5Ub0NsYXNzKFByb3BlcnR5U3Vic2NyaXB0aW9uLCBwcm9wZXJ0eVN1YnNjcmlwdGlvbkJhc2UpO1xuICAgICAgICAgIGNvbnN0IGFjdGl2YXRlZFByb3BlcnR5OiBQcm9wZXJ0eSA9IHBsYWluVG9DbGFzcyhQcm9wZXJ0eSwgT2JqZWN0LmFzc2lnbih7fSwgcHJvcGVydHksIHtzdWJzY3JpcHRpb25zOiBbbmV3UHJvcGVydHlTdWJzY3JpcHRpb25dfSkpO1xuXG4gICAgICAgICAgcmVwbGFjZSh0aGlzLmNhY2hlLCBhY3RpdmF0ZWRQcm9wZXJ0eSk7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWFjdGl2YXRlIGFjdGl2YXRlZCBwcm9wZXJ0eVxuICAgKi9cbiAgZGVhY3RpdmF0ZShwcm9wZXJ0eTogUHJvcGVydHkpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9wcm9wZXJ0eS1zdWJzY3JpcHRpb25zLyR7cHJvcGVydHkuZ2V0Q3VycmVudFN1YnNjcmlwdGlvbigpLmlkfWApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICBjb25zdCBkZWFjdGl2YXRlZFByb3BlcnR5OiBQcm9wZXJ0eSA9IHBsYWluVG9DbGFzcyhQcm9wZXJ0eSwgT2JqZWN0LmFzc2lnbih7fSwgcHJvcGVydHksIHtzdWJzY3JpcHRpb25zOiBbXX0pKTtcbiAgICAgICAgICByZXBsYWNlKHRoaXMuY2FjaGUsIGRlYWN0aXZhdGVkUHJvcGVydHkpO1xuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIHByb3BlcnR5IHBob3RvXG4gICAqIEBwYXJhbSBwcm9wZXJ0eSBQcm9wZXJ0eSBpbnN0YW5jZSBmb3IgcGhvdG8gdXBkYXRlXG4gICAqIEBwYXJhbSBwaG90b0Zvcm1EYXRhIEZvcm1EYXRhIHdpdGggcHJvcGVydHkgcGhvdG8gaW1hZ2VcbiAgICovXG4gIHVwZGF0ZVBob3RvKHByb3BlcnR5OiBQcm9wZXJ0eSwgcGhvdG9Gb3JtRGF0YTogRm9ybURhdGEpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vcHJvcGVydGllcy8ke3Byb3BlcnR5LmlkfS9waG90bz9fbWV0aG9kPVBVVGAsIHBob3RvRm9ybURhdGEpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChwaG90b0xpbms6IHN0cmluZyk6IHZvaWQgPT4ge1xuICAgICAgICAgIHByb3BlcnR5LnBob3RvID0gcGhvdG9MaW5rO1xuICAgICAgICAgIC8vIHVwZGF0ZSBwcm9wZXJ0aWVzIGNhY2hlXG4gICAgICAgICAgcmVwbGFjZSh0aGlzLmNhY2hlLCBwcm9wZXJ0eSk7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIGdldEJ5Q29Pd25lcklkKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFByb3BlcnR5W10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoKS5waXBlKFxuICAgICAgbWFwKChwcm9wZXJ0aWVzOiBQcm9wZXJ0eVtdKTogUHJvcGVydHlbXSA9PiB7XG4gICAgICAgIHJldHVybiBwcm9wZXJ0aWVzLmZpbHRlcigocHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiA9PiBwcm9wZXJ0eS51c2VyLmlkID09PSBpZCk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxpc3Qgb2YgYWN0aXZlIHVzZXIncyBwcm9wZXJ0aWVzXG4gICAqL1xuICBnZXRBY3RpdmUoKTogT2JzZXJ2YWJsZTxQcm9wZXJ0eVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCkucGlwZShcbiAgICAgIG1hcCgocHJvcGVydGllczogUHJvcGVydHlbXSk6IFByb3BlcnR5W10gPT4gcHJvcGVydGllcy5maWx0ZXIoKHByb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4gPT4gcHJvcGVydHkuaXNBY3RpdmUpKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9wcm9wZXJ0eS9wcm9wZXJ0eS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWpELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOzs7O0FBRW5GOztHQUVHO0FBSUgsTUFBTSxPQUFPLGVBQWdCLFNBQVEsZUFBdUM7SUFJMUUsWUFDWSxJQUFnQixFQUNoQixzQkFBOEMsRUFDdkIsV0FBZ0I7UUFFakQsS0FBSyxDQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUp2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDdkIsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFObkQsZUFBVSxHQUFvQixRQUFRLENBQUM7UUFDdkMsUUFBRyxHQUFXLFlBQVksQ0FBQztRQVF6QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVE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QyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQsY0FBYyxDQUFDLEVBQVU7UUFDdkIsT0FBTyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUNwQixHQUFHLENBQUMsQ0FBQyxVQUFzQixFQUFjLEVBQUU7WUFDekMsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBa0IsRUFBVyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDckYsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQ3BCLEdBQUcsQ0FBQyxDQUFDLFVBQXNCLEVBQWMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFrQixFQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FDbkgsQ0FBQztJQUNKLENBQUM7OzZHQTdIVSxlQUFlLGtGQU9oQixhQUFhO2lIQVBaLGVBQWUsY0FGZCxNQUFNOzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFRSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb3BlcnR5IGFzIFByb3BlcnR5QmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy9wcm9wZXJ0eSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyByZXBsYWNlIH0gZnJvbSAnLi4vLi4vZnVuY3Rpb25zL2FycmF5JztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBQcm9wZXJ0eVN1YnNjcmlwdGlvbiBhcyBQcm9wZXJ0eVN1YnNjcmlwdGlvbkJhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvcHJvcGVydHktc3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IEJhc2VSZXN0U2VydmljZSB9IGZyb20gJy4uL2Jhc2UtcmVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFByb3BlcnR5IH0gZnJvbSAnLi4vLi4vbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5JztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgfSBmcm9tICcuLi9ldmVudC9ldmVudC1kaXNwYXRjaGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IEFwcEV2ZW50IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudCc7XG5pbXBvcnQgeyBQcm9wZXJ0eVN1YnNjcmlwdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1zdWJzY3JpcHRpb24nO1xuXG4vKipcbiAqIFNlcnZpY2UgZm9yIHdvcmsgd2l0aCBQcm9wZXJ0eVxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eVNlcnZpY2UgZXh0ZW5kcyBCYXNlUmVzdFNlcnZpY2U8UHJvcGVydHlCYXNlLCBQcm9wZXJ0eT4ge1xuICBtb2RlbENsYXNzOiB0eXBlb2YgUHJvcGVydHkgPSBQcm9wZXJ0eTtcbiAgdXJsOiBzdHJpbmcgPSAncHJvcGVydGllcyc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJvdGVjdGVkIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2U6IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueVxuICApIHtcbiAgICBzdXBlcihodHRwLCBldmVudERpc3BhdGNoZXJTZXJ2aWNlLCBlbnZpcm9ubWVudCk7XG4gICAgdGhpcy5saXN0ZW5FdmVudHMoKTtcbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlbkNvT3duZXJJbnZpdGVBY2NlcHRlZCgpO1xuICAgIHRoaXMubGlzdGVuU2VydmljZVN1YnNjcmlwdGlvblVwZGF0ZWQoKTtcbiAgICAvLyBAVE9ETyBBbGV4OiBjb25zaWRlciB0byByZWZhY3RvciBwcm9wZXJ0eSBtb3ZlbWVudHMgbG9naWMgc2ltaWxhciB0byBjbGllbnQtbW92ZW1lbnRzXG4gICAgdGhpcy5saXN0ZW5Nb3ZlbWVudHNDaGFuZ2VkKCk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGNhY2hlIHdoZW4gb3duZXIgaW52aXRhdGlvbiBhY2NlcHRlZFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Db093bmVySW52aXRlQWNjZXB0ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uUFJPUEVSVFlfT1dORVJfVVBEQVRFRCkuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVzZXRDYWNoZSgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgY2FjaGUgd2hlbiB1c2VyJ3Mgc2VydmljZSBzdWJzY3JpcHRpb24gaXMgdXBkYXRlZFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5TZXJ2aWNlU3Vic2NyaXB0aW9uVXBkYXRlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5TRVJWSUNFX1NVQlNDUklQVElPTl9VUERBVEVEKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZXNldENhY2hlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBjYWNoZSB3aGVuIHByb3BlcnR5IGNhdGVnb3J5IGNoYW5nZWRcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuTW92ZW1lbnRzQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICAvLyBAVE9ETyBjaGFuZ2UgZGlzcGF0Y2hlciBsb2dpYyB0byB3b3JrIHdpdGggbXVsdGlwbGUgZXZlbnRzXG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uUFJPUEVSVFlfTU9WRU1FTlRfQ1JFQVRFRCkuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVzZXRDYWNoZSgpKTtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5QUk9QRVJUWV9NT1ZFTUVOVF9VUERBVEVEKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZXNldENhY2hlKCkpO1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLlBST1BFUlRZX01PVkVNRU5UX0RFTEVURUQpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlc2V0Q2FjaGUoKSk7XG4gIH1cblxuICB1cGRhdGUocHJvcGVydHk6IFByb3BlcnR5KTogT2JzZXJ2YWJsZTxQcm9wZXJ0eT4ge1xuICAgIHJldHVybiBzdXBlci51cGRhdGUocHJvcGVydHkpLnBpcGUoXG4gICAgICBtYXAoKHVwZGF0ZWRQcm9wZXJ0eTogUHJvcGVydHkpOiBQcm9wZXJ0eSA9PiB7XG4gICAgICAgIGlmIChwcm9wZXJ0eS5kb2N1bWVudEZpbGUpIHtcbiAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uUFJPUEVSVFlfVVBEQVRFRF9XSVRIX0RPQ1VNRU5ULCBwcm9wZXJ0eSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1cGRhdGVkUHJvcGVydHk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBnZXRCeUNhdGVnb3J5SWQoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8UHJvcGVydHlbXT4ge1xuICAgIHJldHVybiB0aGlzLmdldCgpLnBpcGUoXG4gICAgICBtYXAoKHByb3BlcnRpZXM6IFByb3BlcnR5W10pOiBQcm9wZXJ0eVtdID0+IHtcbiAgICAgICAgcmV0dXJuIHByb3BlcnRpZXMuZmlsdGVyKChwcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuID0+IHByb3BlcnR5LmNhdGVnb3J5LmlkID09PSBpZCk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQWN0aXZhdGUgZGVhY3RpdmF0ZWQgcHJvcGVydHlcbiAgICovXG4gIGFjdGl2YXRlKHByb3BlcnR5OiBQcm9wZXJ0eSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9wcm9wZXJ0eS1zdWJzY3JpcHRpb25zYCwge3VzZXI6IHByb3BlcnR5LnVzZXIsIHByb3BlcnR5fSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHByb3BlcnR5U3Vic2NyaXB0aW9uQmFzZTogUHJvcGVydHlTdWJzY3JpcHRpb25CYXNlKSA9PiB7XG4gICAgICAgICAgY29uc3QgbmV3UHJvcGVydHlTdWJzY3JpcHRpb246IFByb3BlcnR5U3Vic2NyaXB0aW9uID0gcGxhaW5Ub0NsYXNzKFByb3BlcnR5U3Vic2NyaXB0aW9uLCBwcm9wZXJ0eVN1YnNjcmlwdGlvbkJhc2UpO1xuICAgICAgICAgIGNvbnN0IGFjdGl2YXRlZFByb3BlcnR5OiBQcm9wZXJ0eSA9IHBsYWluVG9DbGFzcyhQcm9wZXJ0eSwgT2JqZWN0LmFzc2lnbih7fSwgcHJvcGVydHksIHtzdWJzY3JpcHRpb25zOiBbbmV3UHJvcGVydHlTdWJzY3JpcHRpb25dfSkpO1xuXG4gICAgICAgICAgcmVwbGFjZSh0aGlzLmNhY2hlLCBhY3RpdmF0ZWRQcm9wZXJ0eSk7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWFjdGl2YXRlIGFjdGl2YXRlZCBwcm9wZXJ0eVxuICAgKi9cbiAgZGVhY3RpdmF0ZShwcm9wZXJ0eTogUHJvcGVydHkpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9wcm9wZXJ0eS1zdWJzY3JpcHRpb25zLyR7cHJvcGVydHkuZ2V0Q3VycmVudFN1YnNjcmlwdGlvbigpLmlkfWApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICBjb25zdCBkZWFjdGl2YXRlZFByb3BlcnR5OiBQcm9wZXJ0eSA9IHBsYWluVG9DbGFzcyhQcm9wZXJ0eSwgT2JqZWN0LmFzc2lnbih7fSwgcHJvcGVydHksIHtzdWJzY3JpcHRpb25zOiBbXX0pKTtcbiAgICAgICAgICByZXBsYWNlKHRoaXMuY2FjaGUsIGRlYWN0aXZhdGVkUHJvcGVydHkpO1xuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIHByb3BlcnR5IHBob3RvXG4gICAqIEBwYXJhbSBwcm9wZXJ0eSBQcm9wZXJ0eSBpbnN0YW5jZSBmb3IgcGhvdG8gdXBkYXRlXG4gICAqIEBwYXJhbSBwaG90b0Zvcm1EYXRhIEZvcm1EYXRhIHdpdGggcHJvcGVydHkgcGhvdG8gaW1hZ2VcbiAgICovXG4gIHVwZGF0ZVBob3RvKHByb3BlcnR5OiBQcm9wZXJ0eSwgcGhvdG9Gb3JtRGF0YTogRm9ybURhdGEpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vcHJvcGVydGllcy8ke3Byb3BlcnR5LmlkfS9waG90bz9fbWV0aG9kPVBVVGAsIHBob3RvRm9ybURhdGEpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChwaG90b0xpbms6IHN0cmluZyk6IHZvaWQgPT4ge1xuICAgICAgICAgIHByb3BlcnR5LnBob3RvID0gcGhvdG9MaW5rO1xuICAgICAgICAgIC8vIHVwZGF0ZSBwcm9wZXJ0aWVzIGNhY2hlXG4gICAgICAgICAgcmVwbGFjZSh0aGlzLmNhY2hlLCBwcm9wZXJ0eSk7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIGdldEJ5Q29Pd25lcklkKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFByb3BlcnR5W10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoKS5waXBlKFxuICAgICAgbWFwKChwcm9wZXJ0aWVzOiBQcm9wZXJ0eVtdKTogUHJvcGVydHlbXSA9PiB7XG4gICAgICAgIHJldHVybiBwcm9wZXJ0aWVzLmZpbHRlcigocHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiA9PiBwcm9wZXJ0eS51c2VyLmlkID09PSBpZCk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxpc3Qgb2YgYWN0aXZlIHVzZXIncyBwcm9wZXJ0aWVzXG4gICAqL1xuICBnZXRBY3RpdmUoKTogT2JzZXJ2YWJsZTxQcm9wZXJ0eVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCkucGlwZShcbiAgICAgIG1hcCgocHJvcGVydGllczogUHJvcGVydHlbXSk6IFByb3BlcnR5W10gPT4gcHJvcGVydGllcy5maWx0ZXIoKHByb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4gPT4gcHJvcGVydHkuaXNBY3RpdmUpKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -51,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
51
51
  providedIn: 'root'
52
52
  }]
53
53
  }] });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGxzeC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL3hsc3gveGxzeC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxLQUFLLFNBQVMsTUFBTSxZQUFZLENBQUM7O0FBUXhDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUFDdEIsMEJBQTBCO0lBQzFCOztPQUVHO0lBQ0gsUUFBUSxDQUFDLE1BQXdCLEVBQUUsS0FBYSxFQUFFLFFBQWdCO1FBQ2hFLE1BQU0sU0FBUyxHQUFhLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzdELE1BQU0sSUFBSSxHQUFTLElBQUksSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDdkMsSUFBSSxFQUFFLGlGQUFpRjtTQUN4RixDQUFDLENBQUM7UUFFSCxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxHQUFHLFFBQVEsT0FBTyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVPLFlBQVksQ0FBQyxNQUF3QixFQUFFLEtBQWM7UUFDM0Qsc0JBQXNCO1FBQ3RCLE1BQU0sUUFBUSxHQUFrQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RELHlCQUF5QjtRQUN6QixNQUFNLFNBQVMsR0FBbUI7WUFDaEMsVUFBVSxFQUFFLEVBQUU7WUFDZCxNQUFNLEVBQUUsRUFBRTtTQUNYLENBQUM7UUFFRixNQUFNLFNBQVMsR0FBZSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFO1lBQ3BFLDZDQUE2QztZQUM3QyxPQUFPO2dCQUNMLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztnQkFDZixLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQStCLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7Z0JBQ25FLEdBQUcsS0FBSyxDQUFDLElBQUk7Z0JBQ2IsS0FBSyxDQUFDLFNBQVM7YUFDaEIsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQWMsRUFBRSxFQUFFO1lBQ25DLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsRUFBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7WUFDM0UsaUNBQWlDO1lBQ2pDLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDO1FBQ3pELENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDbEQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDbkUsQ0FBQzs7eUdBekNVLFdBQVc7NkdBQVgsV0FBVyxjQU5WLE1BQU07NEZBTVAsV0FBVztrQkFQdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyB4bHN4IGZyb20gJ3hsc3gnO1xuaW1wb3J0ICogYXMgRmlsZVNhdmVyIGZyb20gJ2ZpbGUtc2F2ZXInO1xuaW1wb3J0IHsgRGF0YVRhYmxlIH0gZnJvbSBcIi4uLy4uL21vZGVscy9kYXRhLXRhYmxlL2RhdGEtdGFibGVcIjtcbmltcG9ydCB7IERhdGFUYWJsZUNvbHVtbiB9IGZyb20gXCIuLi8uLi9tb2RlbHMvZGF0YS10YWJsZS9kYXRhLXRhYmxlLWNvbHVtblwiO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcblxuLyoqXG4gKiBTZXJ2aWNlIHRvIHdvcmsgd2l0aCBYTFNYIChnZW5lcmF0ZSwgZG93bmxvYWQsIGUudC5jLilcbiAqL1xuZXhwb3J0IGNsYXNzIFhsc3hTZXJ2aWNlIHtcbiAgLy8gQFRvZG8gcmVtb3ZlICdhbnknIHR5cGVcbiAgLyoqc1xuICAgKiBEb3dubG9hZCBnZW5lcmF0ZWQgRXhjZWwgZmlsZVxuICAgKi9cbiAgZG93bmxvYWQodGFibGVzOiBEYXRhVGFibGU8YW55PltdLCB0aXRsZTogc3RyaW5nLCBmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgZXhjZWxGaWxlOiBCbG9iUGFydCA9IHRoaXMuZ2VuZXJhdGVGaWxlKHRhYmxlcywgdGl0bGUpO1xuICAgIGNvbnN0IGRhdGE6IEJsb2IgPSBuZXcgQmxvYihbZXhjZWxGaWxlXSwge1xuICAgICAgdHlwZTogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0O2NoYXJzZXQ9VVRGLTgnXG4gICAgfSk7XG5cbiAgICBGaWxlU2F2ZXIuc2F2ZUFzKGRhdGEsIGAke2ZpbGVOYW1lfS54bHN4YCk7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlRmlsZSh0YWJsZXM6IERhdGFUYWJsZTxhbnk+W10sIHRpdGxlPzogc3RyaW5nKTogQmxvYlBhcnQge1xuICAgIC8vIGNyZWF0ZSBuZXcgd29ya2Jvb2tcbiAgICBjb25zdCB3b3JrYm9vazogeGxzeC5Xb3JrQm9vayA9IHhsc3gudXRpbHMuYm9va19uZXcoKTtcbiAgICAvLyBjcmVhdGUgZW1wdHkgd29ya3NoZWV0XG4gICAgY29uc3Qgd29ya3NoZWV0OiB4bHN4LldvcmtTaGVldCA9IHtcbiAgICAgIFNoZWV0TmFtZXM6IFtdLFxuICAgICAgU2hlZXRzOiB7fVxuICAgIH07XG5cbiAgICBjb25zdCBzaGVldERhdGE6IG9iamVjdFtdW10gPSB0YWJsZXMubWFwKCh0YWJsZTogRGF0YVRhYmxlPG9iamVjdD4pID0+IHtcbiAgICAgIC8vIGFkZCBjYXB0aW9uLCBjb2x1bW5zLCByb3dzIGFuZCBmb290ZXIgcm93c1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgW3RhYmxlLmNhcHRpb25dLFxuICAgICAgICB0YWJsZS5jb2x1bW5zLm1hcCgoY29sdW1uOiBEYXRhVGFibGVDb2x1bW48b2JqZWN0PikgPT4gY29sdW1uLm5hbWUpLFxuICAgICAgICAuLi50YWJsZS5yb3dzLFxuICAgICAgICB0YWJsZS5mb290ZXJSb3csXG4gICAgICBdO1xuICAgIH0pO1xuXG4gICAgc2hlZXREYXRhLmZvckVhY2goKGRhdGE6IG9iamVjdFtdKSA9PiB7XG4gICAgICB4bHN4LnV0aWxzLnNoZWV0X2FkZF9qc29uKHdvcmtzaGVldCwgZGF0YSwge29yaWdpbjogLTEsIHNraXBIZWFkZXI6IHRydWV9KTtcbiAgICAgIC8vIHNldCBlbXB0eSByb3cgYWZ0ZXIgZWFjaCB0YWJsZVxuICAgICAgeGxzeC51dGlscy5zaGVldF9hZGRfanNvbih3b3Jrc2hlZXQsIFtdLCB7b3JpZ2luOiAtMX0pO1xuICAgIH0pO1xuXG4gICAgeGxzeC51dGlscy5ib29rX2FwcGVuZF9zaGVldCh3b3JrYm9vaywgd29ya3NoZWV0KTtcbiAgICByZXR1cm4geGxzeC53cml0ZSh3b3JrYm9vaywgeyBib29rVHlwZTogJ3hsc3gnLCB0eXBlOiAnYXJyYXknIH0pO1xuICB9XG59XG4iXX0=
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGxzeC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL3hsc3gveGxzeC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxLQUFLLFNBQVMsTUFBTSxZQUFZLENBQUM7O0FBUXhDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUFDdEIsMEJBQTBCO0lBQzFCOztPQUVHO0lBQ0gsUUFBUSxDQUFDLE1BQXdCLEVBQUUsS0FBYSxFQUFFLFFBQWdCO1FBQ2hFLE1BQU0sU0FBUyxHQUFhLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzdELE1BQU0sSUFBSSxHQUFTLElBQUksSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDdkMsSUFBSSxFQUFFLGlGQUFpRjtTQUN4RixDQUFDLENBQUM7UUFFSCxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxHQUFHLFFBQVEsT0FBTyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVPLFlBQVksQ0FBQyxNQUF3QixFQUFFLEtBQWM7UUFDM0Qsc0JBQXNCO1FBQ3RCLE1BQU0sUUFBUSxHQUFrQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RELHlCQUF5QjtRQUN6QixNQUFNLFNBQVMsR0FBbUI7WUFDaEMsVUFBVSxFQUFFLEVBQUU7WUFDZCxNQUFNLEVBQUUsRUFBRTtTQUNYLENBQUM7UUFFRixNQUFNLFNBQVMsR0FBZSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFO1lBQ3BFLDZDQUE2QztZQUM3QyxPQUFPO2dCQUNMLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztnQkFDZixLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQStCLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7Z0JBQ25FLEdBQUcsS0FBSyxDQUFDLElBQUk7Z0JBQ2IsS0FBSyxDQUFDLFNBQVM7YUFDaEIsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQWMsRUFBRSxFQUFFO1lBQ25DLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsRUFBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7WUFDM0UsaUNBQWlDO1lBQ2pDLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDO1FBQ3pELENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDbEQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDbkUsQ0FBQzs7eUdBekNVLFdBQVc7NkdBQVgsV0FBVyxjQU5WLE1BQU07NEZBTVAsV0FBVztrQkFQdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyB4bHN4IGZyb20gJ3hsc3gnO1xuaW1wb3J0ICogYXMgRmlsZVNhdmVyIGZyb20gJ2ZpbGUtc2F2ZXInO1xuaW1wb3J0IHsgRGF0YVRhYmxlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2RhdGEtdGFibGUvZGF0YS10YWJsZSc7XG5pbXBvcnQgeyBEYXRhVGFibGVDb2x1bW4gfSBmcm9tICcuLi8uLi9tb2RlbHMvZGF0YS10YWJsZS9kYXRhLXRhYmxlLWNvbHVtbic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuXG4vKipcbiAqIFNlcnZpY2UgdG8gd29yayB3aXRoIFhMU1ggKGdlbmVyYXRlLCBkb3dubG9hZCwgZS50LmMuKVxuICovXG5leHBvcnQgY2xhc3MgWGxzeFNlcnZpY2Uge1xuICAvLyBAVG9kbyByZW1vdmUgJ2FueScgdHlwZVxuICAvKipzXG4gICAqIERvd25sb2FkIGdlbmVyYXRlZCBFeGNlbCBmaWxlXG4gICAqL1xuICBkb3dubG9hZCh0YWJsZXM6IERhdGFUYWJsZTxhbnk+W10sIHRpdGxlOiBzdHJpbmcsIGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBleGNlbEZpbGU6IEJsb2JQYXJ0ID0gdGhpcy5nZW5lcmF0ZUZpbGUodGFibGVzLCB0aXRsZSk7XG4gICAgY29uc3QgZGF0YTogQmxvYiA9IG5ldyBCbG9iKFtleGNlbEZpbGVdLCB7XG4gICAgICB0eXBlOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQ7Y2hhcnNldD1VVEYtOCdcbiAgICB9KTtcblxuICAgIEZpbGVTYXZlci5zYXZlQXMoZGF0YSwgYCR7ZmlsZU5hbWV9Lnhsc3hgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVGaWxlKHRhYmxlczogRGF0YVRhYmxlPGFueT5bXSwgdGl0bGU/OiBzdHJpbmcpOiBCbG9iUGFydCB7XG4gICAgLy8gY3JlYXRlIG5ldyB3b3JrYm9va1xuICAgIGNvbnN0IHdvcmtib29rOiB4bHN4LldvcmtCb29rID0geGxzeC51dGlscy5ib29rX25ldygpO1xuICAgIC8vIGNyZWF0ZSBlbXB0eSB3b3Jrc2hlZXRcbiAgICBjb25zdCB3b3Jrc2hlZXQ6IHhsc3guV29ya1NoZWV0ID0ge1xuICAgICAgU2hlZXROYW1lczogW10sXG4gICAgICBTaGVldHM6IHt9XG4gICAgfTtcblxuICAgIGNvbnN0IHNoZWV0RGF0YTogb2JqZWN0W11bXSA9IHRhYmxlcy5tYXAoKHRhYmxlOiBEYXRhVGFibGU8b2JqZWN0PikgPT4ge1xuICAgICAgLy8gYWRkIGNhcHRpb24sIGNvbHVtbnMsIHJvd3MgYW5kIGZvb3RlciByb3dzXG4gICAgICByZXR1cm4gW1xuICAgICAgICBbdGFibGUuY2FwdGlvbl0sXG4gICAgICAgIHRhYmxlLmNvbHVtbnMubWFwKChjb2x1bW46IERhdGFUYWJsZUNvbHVtbjxvYmplY3Q+KSA9PiBjb2x1bW4ubmFtZSksXG4gICAgICAgIC4uLnRhYmxlLnJvd3MsXG4gICAgICAgIHRhYmxlLmZvb3RlclJvdyxcbiAgICAgIF07XG4gICAgfSk7XG5cbiAgICBzaGVldERhdGEuZm9yRWFjaCgoZGF0YTogb2JqZWN0W10pID0+IHtcbiAgICAgIHhsc3gudXRpbHMuc2hlZXRfYWRkX2pzb24od29ya3NoZWV0LCBkYXRhLCB7b3JpZ2luOiAtMSwgc2tpcEhlYWRlcjogdHJ1ZX0pO1xuICAgICAgLy8gc2V0IGVtcHR5IHJvdyBhZnRlciBlYWNoIHRhYmxlXG4gICAgICB4bHN4LnV0aWxzLnNoZWV0X2FkZF9qc29uKHdvcmtzaGVldCwgW10sIHtvcmlnaW46IC0xfSk7XG4gICAgfSk7XG5cbiAgICB4bHN4LnV0aWxzLmJvb2tfYXBwZW5kX3NoZWV0KHdvcmtib29rLCB3b3Jrc2hlZXQpO1xuICAgIHJldHVybiB4bHN4LndyaXRlKHdvcmtib29rLCB7IGJvb2tUeXBlOiAneGxzeCcsIHR5cGU6ICdhcnJheScgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -5,7 +5,7 @@ export * from './lib/tt-core.module';
5
5
  /**
6
6
  * Collections
7
7
  */
8
- export * from './lib/collections/abstract.collection';
8
+ export * from './lib/collections/collection';
9
9
  export * from './lib/collections/bank-account.collection';
10
10
  export * from './lib/collections/bank-transaction.collection';
11
11
  export * from './lib/collections/client.collection';
@@ -292,6 +292,7 @@ export * from './lib/services/property/property.service';
292
292
  export * from './lib/services/property/property-calculation.service';
293
293
  export * from './lib/services/property/property-capital-cost.service';
294
294
  export * from './lib/services/property/property-category.service';
295
+ export * from './lib/services/property/property-category-movement.service';
295
296
  export * from './lib/services/property/property-document.service';
296
297
  export * from './lib/services/property/property-owner.service';
297
298
  export * from './lib/services/property/property-sold.service';
@@ -342,4 +343,4 @@ export * from './lib/functions/array';
342
343
  * Interceptors
343
344
  */
344
345
  export * from './lib/interceptors/interceptors.module';
345
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLHNCQUFzQixDQUFDO0FBRXJDOztHQUVHO0FBQ0gsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLGlEQUFpRCxDQUFDO0FBRWhFOztHQUVHO0FBQ0gsY0FBYyxrQ0FBa0MsQ0FBQztBQUVqRDs7R0FFRztBQUNILGNBQWMsa0NBQWtDLENBQUM7QUFFakQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYywyQ0FBMkMsQ0FBQztBQUUxRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMs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O0FBQzNDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGlDQUFpQyxDQUFDO0FBRWhEOztHQUVHO0FBQ0gsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsdUJBQXVCLENBQUM7QUFFdEM7O0dBRUc7QUFDSCxjQUFjLHdDQUF3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgdHQtY29yZVxuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi90dC1jb3JlLm1vZHVsZSc7XG5cbi8qKlxuICogQ29sbGVjdGlvbnNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvYWJzdHJhY3QuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9iYW5rLWFjY291bnQuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9iYW5rLXRyYW5zYWN0aW9uLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvY2xpZW50LmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvY2xpZW50LW1vdmVtZW50LmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvY2xpZW50LXBvcnRmb2xpby1yZXBvcnQuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9jb2xsZWN0aW9uLWRpY3Rpb25hcnknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvZGVwcmVjaWF0aW9uLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvZGVwcmVjaWF0aW9uLWZvcmVjYXN0LmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvZW1wbG95ZWUuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9pbmNvbWUtc291cmNlLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvbG9hbi5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL2xvZ2Jvb2suY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9tZXNzYWdlLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvbWVzc2FnZS1kb2N1bWVudC5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL3Byb3BlcnR5LmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvc2VydmljZS1wcmljZS5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL3NlcnZpY2Utc3Vic2NyaXB0aW9uLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvdGF4LXJldHVybi1jYXRlZ29yeS1pdGVtLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvdGF4LXJldmlldy5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24uY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy90cmFuc2FjdGlvbi5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL3VzZXItZXZlbnQtc2V0dGluZy5jb2xsZWN0aW9uJztcblxuLyoqXG4gKiBEQiBtb2RlbHNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvTW9kZWxzL3RyYW5zYWN0aW9uLWJhc2UnO1xuXG4vKipcbiAqIERCIGVudW1zXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2FkZHJlc3MtdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvYmFuay1hY2NvdW50LXN0YXR1cy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2JhbmstYWNjb3VudC10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvYmFuay1jb25uZWN0aW9uLXN0YXR1cy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2JhbmstdHJhbnNhY3Rpb24tdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvY2hhcnQtYWNjb3VudHMtY2F0ZWdvcnkuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1ldHAuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1oZWFkaW5nLXRheGFibGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1oZWFkaW5nLXRheC1kZWR1Y3RpYmxlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvY2hhcnQtYWNjb3VudHMtaGVhZGluZy12ZWhpY2xlLWxpc3QuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1saXN0LmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvY2hhcnQtYWNjb3VudHMtbWV0YWRhdGEtbGlzdC5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLW1ldGFkYXRhLXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvY2hhdC1zdGF0dXMuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2NsaWVudC1kZXRhaWxzLW1lZGljYXJlLWV4ZW1wdGlvbi5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2NsaWVudC1kZXRhaWxzLXdvcmstZGVwcmVjaWF0aW9uLWNhbGN1bGF0aW9uLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvY2xpZW50LWRldGFpbHMtd29ya2luZy1ob2xpZGF5LW1ha2VyLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jbGllbnQtaW52aXRlLXN0YXR1cy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2NsaWVudC1pbnZpdGUtdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvZGVwcmVjaWF0aW9uLWNhbGN1bGF0aW9uLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvZGVwcmVjaWF0aW9uLWNhbGN1bGF0aW9uLXBlcmNlbnQuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9kZXByZWNpYXRpb24tdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2RlcHJlY2lhdGlvbi13cml0ZS1vZmYtYW1vdW50LmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9maXJtLXR5cGUuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2luY29tZS1zb3VyY2UtdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2luY29tZS1zb3VyY2UtdHlwZS1saXN0LW90aGVyLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvaW5jb21lLXNvdXJjZS10eXBlLWxpc3Qtc2FsYXJ5LmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvaW5jb21lLXNvdXJjZS10eXBlLWxpc3Qtd29yay5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvaW52aXRlLXN0YXR1cy5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvbG9hbi1iYW5rLXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9sb2FuLWZyZXF1ZW5jeS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2xvYW4taW50ZXJlc3QtdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2xvYW4tcGF5b3V0LXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9sb2FuLXJlcGF5bWVudC1mcmVxdWVuY3kuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9sb2FuLXJlcGF5bWVudC10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvbG9hbi10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvbG9hbi12ZWhpY2xlLXR5cGUuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3Bob25lLXR5cGUuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3Byb3BlcnR5LWRlcHJlY2lhdGlvbi1jYWxjdWxhdGlvbi5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3Byb3BlcnR5LW93bmVyLWFjY2Vzcy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3Byb3BlcnR5LW93bmVyLXN0YXR1cy5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvcmVnaXN0cmF0aW9uLWludml0ZS1zdGF0dXMuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3NhbGFyeS1mb3JlY2FzdC1mcmVxdWVuY3kuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3NlcnZpY2Utbm90aWZpY2F0aW9uLXN0YXR1cy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3NlcnZpY2Utbm90aWZpY2F0aW9uLXR5cGUuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3NlcnZpY2UtcGF5bWVudC1zdGF0dXMuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3NlcnZpY2UtcHJpY2UtcmVjdXJyaW5nLWludGVydmFsLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvc2VydmljZS1wcmljZS10eXBlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9zZXJ2aWNlLXN1YnNjcmlwdGlvbi1zdGF0dXMuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3NwYXJlLWRvY3VtZW50LXNwYXJlLXR5cGUuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RhbmstdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdGF4LWNhbGN1bGF0aW9uLW1lZGljYXJlLWV4ZW1wdGlvbi5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RheC1jYWxjdWxhdGlvbi10eXBlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy90YXgtcmV0dXJuLWNhdGVnb3J5LWxpc3QuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy90YXgtcmV0dXJuLWNhdGVnb3J5LXNlY3Rpb24uZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RheC1yZXZpZXctc3RhdHVzLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy90YXgtc3VtbWFyeS1saXN0LmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdGF4LXN1bW1hcnktc2VjdGlvbi5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RheC1zdW1tYXJ5LXRheC1zdW1tYXJ5LmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy90aWNrZXQtZmVlZGJhY2suZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy90aWNrZXQtc3RhdHVzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdGlja2V0LXR5cGVzLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy90cmFuc2FjdGlvbi1vcGVyYXRpb24uZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy90cmFuc2FjdGlvbi1zb3VyY2UuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy90cmFuc2FjdGlvbi10eXBlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy91c2VyLWV2ZW50LXN0YXR1cy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3VzZXItZXZlbnQtdHlwZS1mcmVxdWVuY3kuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy91c2VyLWV2ZW50LXR5cGUtdXNlci10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdXNlci1ldmVudC10eXBlLWVtcGxveWVlLXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy91c2VyLWV2ZW50LXR5cGUtY2xpZW50LXR5cGUuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3VzZXItbWVkaWNhcmUtZXhlbXB0aW9uLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdXNlci1yb2xlcy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3VzZXItc3RhdHVzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdXNlci10aXRsZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3VzZXItd29yay1kZXByZWNpYXRpb24tY2FsY3VsYXRpb24uZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy91c2VyLXdvcmtpbmctaG9saWRheS1tYWtlci5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdmVoaWNsZS1jbGFpbS1tZXRob2QuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy92ZWhpY2xlLWxvZ2Jvb2stcHVycG9zZS5lbnVtJztcblxuLyoqXG4gKiBNb2RlbHMgYW5kIHJlbGF0ZWQgZW51bXMgYW5kIGNvbnN0c1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYWRkcmVzcy9hZGRyZXNzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9hZGRyZXNzL2NvdW50cnknO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFuay9iYW5rJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9iYW5rL2JhbmstYWNjb3VudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFuay9iYW5rLWFjY291bnQtY2hhcnQtZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFuay9iYW5rLWFjY291bnQtcHJvcGVydHknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2JhbmsvYmFuay1hY2NvdW50LXR5cGVzLmNvbnN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9iYW5rL2JhbmstY29ubmVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFuay9iYW5rLXRyYW5zYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9iYW5rL2JhbmstdHJhbnNhY3Rpb24tY2hhcnQtZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFuay9iYW5rLXRyYW5zYWN0aW9uLXN1bW1hcnktZmllbGRzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2JhbmsvYmFzaXEtam9iJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9iYW5rL2Jhc2lxLXRva2VuJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9iYW5rL3R5cGUtbG9hbi5jb25zdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9ib3Jyb3dpbmctZXhwZW5zZS9ib3Jyb3dpbmctZXhwZW5zZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYm9ycm93aW5nLWV4cGVuc2UvYm9ycm93aW5nLWV4cGVuc2UtbG9hbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jaGFydC9jaGFydC1kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jaGFydC9jaGFydC1zZXJpZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMtY2F0ZWdvcmllcy5jb25zdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMtZGVwcmVjaWF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy1oZWFkaW5nJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy1tZXRhZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMtdGF4LWxhYmVscy5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NoYXQvY2hhdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2hhdC9jaGF0LXZpZXctdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jaGF0L21lc3NhZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NoYXQvbWVzc2FnZS1kb2N1bWVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jbGllbnQvY2xpZW50LWRldGFpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NsaWVudC9jbGllbnQtaW52aXRlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jbGllbnQvY2xpZW50LW1vdmVtZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jbGllbnQvY2xpZW50LXBvcnRmb2xpby1jaGFydC1kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jbGllbnQvY2xpZW50LXBvcnRmb2xpby1yZXBvcnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY29sb3IvYWxwaGFiZXQtY29sb3JzLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGF0YS10YWJsZS9kYXRhLXRhYmxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kYXRhLXRhYmxlL2RhdGEtdGFibGUtY29sdW1uJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24tY2FwaXRhbC1wcm9qZWN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLWZvcmVjYXN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLWdyb3VwLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24tZ3JvdXAnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24tZ3JvdXAtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbi1ncm91cHMuY29uc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24tcmVjZWlwdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kb2N1bWVudC9kb2N1bWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZG9jdW1lbnQvZG9jdW1lbnQtYXBpLXVybC1wcmVmaXguZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZG9jdW1lbnQvZG9jdW1lbnQtZmlsZS10eXBlcy5jb25zdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZG9jdW1lbnQvZG9jdW1lbnQtZm9sZGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2VtcGxveWVlL2VtcGxveWVlLWRldGFpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2VtcGxveWVlL2VtcGxveWVlLWludml0ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9lbmRwb2ludC9lbmRwb2ludCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZW5kcG9pbnQvZW5kcG9pbnRzLmNvbnN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2V2ZW50L2FwcC1ldmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9maWxlL2ljb25zLWZpbGUuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9maW5hbmNpYWwteWVhci9maW5hbmNpYWwteWVhcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZmluYW5jaWFsLXllYXIvbW9udGgtbmFtZS1zaG9ydC5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9maW5hbmNpYWwteWVhci9tb250aC1udW1iZXIuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZmluYW5jaWFsLXllYXIvbW9udGhzLmNvbnN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2Zpcm0vZmlybSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9pbmNvbWUtcG9zaXRpb24vaW5jb21lLXBvc2l0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2luY29tZS1zb3VyY2UvaW5jb21lLXNvdXJjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvaW5jb21lLXNvdXJjZS9pbmNvbWUtc291cmNlLWNoYXJ0LWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2luY29tZS1zb3VyY2UvaW5jb21lLXNvdXJjZS1mb3JlY2FzdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvaW5jb21lLXNvdXJjZS9pbmNvbWUtc291cmNlLXR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2luY29tZS1zb3VyY2Uvc2FsYXJ5LWZvcmVjYXN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2xvYW4vbG9hbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvbG9hbi9sb2FuLW1heC1udW1iZXItb2YtcGF5bWVudHMuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvbG9hbi9sb2FuLXBheW1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2xvYW4vbG9hbi1wYXlvdXQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvbG9nYm9vay9kZWZhdWx0LXZlaGljbGUtZXhwZW5zZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvbG9nYm9vay9sb2dib29rLXBlcmlvZCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvbG9nYm9vay9sb2dib29rLXB1cnBvc2Utb3B0aW9ucy5jb25zdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvbG9nYm9vay92ZWhpY2xlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9sb2dib29rL3ZlaGljbGUtY2xhaW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2xvZ2Jvb2svdmVoaWNsZS1sb2dib29rJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcGhvbmUvcGhvbmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvY2FsY3VsYXRpb24tZm9ybS1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9jYWxjdWxhdGlvbi1mb3JtLXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvY2FwaXRhbC1jb3N0cy1pdG1lcy5jb25zdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvY29yZWxvZ2ljLXN1Z2dlc3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L293bmVyc2hpcC1maWx0ZXItb3B0aW9ucy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktY2FwaXRhbC1jb3N0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1jYXRlZ29yeSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktY2F0ZWdvcnktbW92ZW1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LWRvY3VtZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1lcXVpdHktY2hhcnQtZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktZXF1aXR5LWNoYXJ0LWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LWZvcmVjYXN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1vd25lcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktc29sZCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktc3Vic2NyaXB0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS12YWx1YXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcmVnaXN0cmF0aW9uLWludml0ZS9yZWdpc3RyYXRpb24taW52aXRlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NlcnZpY2Utc3Vic2NyaXB0aW9uL21vZHVsZS11cmwtbGlzdC5jb25zdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2VydmljZS1zdWJzY3JpcHRpb24vc2VydmljZS1wYXltZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZXJ2aWNlLXN1YnNjcmlwdGlvbi9zZXJ2aWNlLXByaWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZXJ2aWNlLXN1YnNjcmlwdGlvbi9zZXJ2aWNlLXByb2R1Y3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3NlcnZpY2Utc3Vic2NyaXB0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZXJ2aWNlLXN1YnNjcmlwdGlvbi9zZXJ2aWNlLXN1YnNjcmlwdGlvbi1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZXJ2aWNlLXN1YnNjcmlwdGlvbi9zdWJzY3JpcHRpb24tZGVzY3JpcHRpb24uY29uc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3N1YnNjcmlwdGlvbi10aXRsZS5jb25zdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2VydmljZS1zdWJzY3JpcHRpb24vc3Vic2NyaXB0aW9uLXR5cGUuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90YXgtcmV2aWV3L3RheC1yZXZpZXcnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdGF4LXN1bW1hcnkvdGF4LXJldHVybi1jYXRlZ29yeS1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90YXgtc3VtbWFyeS90YXgtcmV0dXJuLWNhdGVnb3J5LWl0ZW0tZGV0YWlscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdGF4LXN1bW1hcnkvdGF4LXN1bW1hcnknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RheC1zdW1tYXJ5L3RheC1zdW1tYXJ5LXNlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RheC1zdW1tYXJ5L3RheC1zdW1tYXJ5LXR5cGUuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90cmFuc2FjdGlvbi9pbmNvbWUtYW1vdW50LXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLW1ldGFkYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi1yZWNlaXB0JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3VzZXIvbXktYWNjb3VudC1oaXN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy91c2VyL215LWFjY291bnQtaGlzdG9yeS1pbml0aWF0ZWQtYnkuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdXNlci9teS1hY2NvdW50LWhpc3Rvcnktc3RhdHVzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3VzZXIvbXktYWNjb3VudC1oaXN0b3J5LXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdXNlci9vY2N1cGF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy91c2VyL3VzZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3VzZXIvdXNlci1yb2xlcy5jb25zdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdXNlci91c2VyLXRvLXJlZ2lzdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy91c2VyL3VzZXItd29yay1wb3NpdGlvbi5jb25zdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy91c2VyLWV2ZW50L3VzZXItZXZlbnQtdHlwZS1jYXRlZ29yeSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdXNlci1ldmVudC91c2VyLWV2ZW50LXNldHRpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3VzZXItZXZlbnQvdXNlci1ldmVudC1zZXR0aW5nLWZpZWxkLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3VzZXItZXZlbnQvdXNlci1ldmVudC10eXBlJztcblxuLyoqXG4gKiBTZXJ2aWNlc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9hZGRyZXNzL2FkZHJlc3Muc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2Fzc2V0L2Fzc2V0cy5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvYXV0aC9hdXRoLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvYXV0aC9qd3Quc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2JhbmsvYmFuay5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2JhbmsvYmFuay1hY2NvdW50LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvYmFuay9iYW5rLWFjY291bnQtY2FsY3VsYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9iYW5rL2JhbmstY29ubmVjdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2JhbmsvYmFuay10cmFuc2FjdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2JhbmsvYmFuay10cmFuc2FjdGlvbi1jYWxjdWxhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2JhbmsvYmFzaXEuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2JvcnJvd2luZy1leHBlbnNlL2JvcnJvd2luZy1leHBlbnNlLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLWRlcHJlY2lhdGlvbnMuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2NoYXQvY2hhdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2NoYXQvbWVzc2FnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2NoYXQvbWVzc2FnZS1kb2N1bWVudC5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvY2xpZW50L2NsaWVudC1pbnZpdGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9jbGllbnQvY2xpZW50LW1vdmVtZW50LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvY2xpZW50L2NsaWVudC1wb3J0Zm9saW8tcmVwb3J0LnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9kZXByZWNpYXRpb24vY2FwaXRhbC1wcm9qZWN0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbi5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvZG9jdW1lbnQvZG9jdW1lbnQtZm9sZGVyLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9lbXBsb3llZS9lbXBsb3llZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2VtcGxveWVlL2VtcGxveWVlLWludml0ZS5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvZXZlbnQvZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2V2ZW50L3NzZS5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvZmlybS9maXJtLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9oZWFkZXItdGl0bGUvaGVhZGVyLXRpdGxlLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9pbmNvbWUtc291cmNlL2luY29tZS1zb3VyY2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9pbmNvbWUtc291cmNlL2luY29tZS1zb3VyY2UtZm9yZWNhc3Quc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9pbmNvbWUtc291cmNlL3NhbGFyeS1mb3JlY2FzdC5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaW50ZXJjb20vaW50ZXJjb20uc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2xvYW4vbG9hbi5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvcGRmL3BkZi5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvcHJlbG9hZGVyL3ByZWxvYWRlci5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvcHJvcGVydHkvY29yZWxvZ2ljLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvcHJvcGVydHkvZXF1aXR5LXBvc2l0aW9uLWNoYXJ0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvcHJvcGVydHkvcHJvcGVydHkuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9wcm9wZXJ0eS9wcm9wZXJ0eS1jYWxjdWxhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3Byb3BlcnR5L3Byb3BlcnR5LWNhcGl0YWwtY29zdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3Byb3BlcnR5L3Byb3BlcnR5LWNhdGVnb3J5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvcHJvcGVydHkvcHJvcGVydHktZG9jdW1lbnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9wcm9wZXJ0eS9wcm9wZXJ0eS1vd25lci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3Byb3BlcnR5L3Byb3BlcnR5LXNvbGQuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3N1YnNjcmlwdGlvbi9zdWJzY3JpcHRpb24uc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RheC1yZXZpZXcvdGF4LXJldmlldy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RheC1yZXZpZXcvdGF4LXJldmlldy1oaXN0b3J5LnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90YXgtc3VtbWFyeS90YXgtc3VtbWFyeS5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi1hbGxvY2F0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tY2FsY3VsYXRpb24uc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3VzZXIvb2NjdXBhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3VzZXIvdXNlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3VzZXIvdXNlci1zd2l0Y2hlci5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdXNlci1ldmVudC91c2VyLWV2ZW50LXNldHRpbmcuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy91c2VyLWV2ZW50L3VzZXItZXZlbnQtdHlwZS5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvd29yay93b3JrLXRhbmsuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3hsc3gveGxzeC5zZXJ2aWNlJztcblxuLyoqXG4gKiBJbnRlcmZhY2VzXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvYXNzZXQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvYXNzZXQtZW50aXR5LXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2Fzc2V0LXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2NoYXJ0LWRhdGEuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvY2hhcnQtc2VyaWUuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvZG9jdW1lbnQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvZG9jdW1lbnRhYmxlLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2V2ZW50LWxpc3RlbmVyLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2luY29tZS1zb3VyY2UtZm9yZWNhc3QuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvb3B0aW9uLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL3Bob3RvYWJsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL3JlY2VpcHQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvc2FsYXJ5LWZvcmVjYXN0LmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL3RhbmsuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBGdW5jdGlvbnNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZnVuY3Rpb25zL2Nsb25lLWRlZXAnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZnVuY3Rpb25zL2NyZWF0ZS1kYXRlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Z1bmN0aW9ucy9lbnVtLXRvLWxpc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZnVuY3Rpb25zL2dldC1kb2MtaWNvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mdW5jdGlvbnMvbWF0LW9wdGlvbnMtZnVuY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Z1bmN0aW9ucy9tYXQtc29ydC1vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Z1bmN0aW9ucy9yb3VuZC10byc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mdW5jdGlvbnMvdGF4LXJldmlldy1maWx0ZXItcHJlZGljYXRlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Z1bmN0aW9ucy9hcnJheSc7XG5cbi8qKlxuICogSW50ZXJjZXB0b3JzXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyY2VwdG9ycy9pbnRlcmNlcHRvcnMubW9kdWxlJztcbiJdfQ==
346
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLHNCQUFzQixDQUFDO0FBRXJDOztHQUVHO0FBQ0gsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLGlEQUFpRCxDQUFDO0FBRWhFOztHQUVHO0FBQ0gsY0FBYyxrQ0FBa0MsQ0FBQztBQUVqRDs7R0FFRztBQUNILGNBQWMsa0NBQWtDLENBQUM7QUFFakQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYywyQ0FBMkMsQ0FBQztBQUUxRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMs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O0FBQ2xELGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsaUNBQWlDLENBQUM7QUFFaEQ7O0dBRUc7QUFDSCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyx1QkFBdUIsQ0FBQztBQUV0Qzs7R0FFRztBQUNILGNBQWMsd0NBQXdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB0dC1jb3JlXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL3R0LWNvcmUubW9kdWxlJztcblxuLyoqXG4gKiBDb2xsZWN0aW9uc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL2JhbmstYWNjb3VudC5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL2JhbmstdHJhbnNhY3Rpb24uY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9jbGllbnQuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9jbGllbnQtbW92ZW1lbnQuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9jbGllbnQtcG9ydGZvbGlvLXJlcG9ydC5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL2NvbGxlY3Rpb24tZGljdGlvbmFyeSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9kZXByZWNpYXRpb24uY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9kZXByZWNpYXRpb24tZm9yZWNhc3QuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9lbXBsb3llZS5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL2luY29tZS1zb3VyY2UuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9sb2FuLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvbG9nYm9vay5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL21lc3NhZ2UuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9tZXNzYWdlLWRvY3VtZW50LmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvcHJvcGVydHkuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9zZXJ2aWNlLXByaWNlLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvc2VydmljZS1zdWJzY3JpcHRpb24uY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy90YXgtcmV0dXJuLWNhdGVnb3J5LWl0ZW0uY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy90YXgtcmV2aWV3LmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvdHJhbnNhY3Rpb24tYWxsb2NhdGlvbi5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL3RyYW5zYWN0aW9uLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvdXNlci1ldmVudC1zZXR0aW5nLmNvbGxlY3Rpb24nO1xuXG4vKipcbiAqIERCIG1vZGVsc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9Nb2RlbHMvdHJhbnNhY3Rpb24tYmFzZSc7XG5cbi8qKlxuICogREIgZW51bXNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvYWRkcmVzcy10eXBlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9iYW5rLWFjY291bnQtc3RhdHVzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvYmFuay1hY2NvdW50LXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9iYW5rLWNvbm5lY3Rpb24tc3RhdHVzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvYmFuay10cmFuc2FjdGlvbi10eXBlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1jYXRlZ29yeS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLWV0cC5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLWhlYWRpbmctdGF4YWJsZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLWhlYWRpbmctdGF4LWRlZHVjdGlibGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1oZWFkaW5nLXZlaGljbGUtbGlzdC5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLWxpc3QuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1tZXRhZGF0YS1saXN0LmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvY2hhcnQtYWNjb3VudHMtbWV0YWRhdGEtdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jaGF0LXN0YXR1cy5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvY2xpZW50LWRldGFpbHMtbWVkaWNhcmUtZXhlbXB0aW9uLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvY2xpZW50LWRldGFpbHMtd29yay1kZXByZWNpYXRpb24tY2FsY3VsYXRpb24uZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jbGllbnQtZGV0YWlscy13b3JraW5nLWhvbGlkYXktbWFrZXIuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2NsaWVudC1pbnZpdGUtc3RhdHVzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvY2xpZW50LWludml0ZS10eXBlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9kZXByZWNpYXRpb24tY2FsY3VsYXRpb24uZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9kZXByZWNpYXRpb24tY2FsY3VsYXRpb24tcGVyY2VudC5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2RlcHJlY2lhdGlvbi10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvZGVwcmVjaWF0aW9uLXdyaXRlLW9mZi1hbW91bnQuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2Zpcm0tdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvaW5jb21lLXNvdXJjZS10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvaW5jb21lLXNvdXJjZS10eXBlLWxpc3Qtb3RoZXIuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9pbmNvbWUtc291cmNlLXR5cGUtbGlzdC1zYWxhcnkuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9pbmNvbWUtc291cmNlLXR5cGUtbGlzdC13b3JrLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9pbnZpdGUtc3RhdHVzLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9sb2FuLWJhbmstdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2xvYW4tZnJlcXVlbmN5LmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvbG9hbi1pbnRlcmVzdC10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvbG9hbi1wYXlvdXQtdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2xvYW4tcmVwYXltZW50LWZyZXF1ZW5jeS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2xvYW4tcmVwYXltZW50LXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9sb2FuLXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9sb2FuLXZlaGljbGUtdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvcGhvbmUtdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvcHJvcGVydHktZGVwcmVjaWF0aW9uLWNhbGN1bGF0aW9uLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvcHJvcGVydHktb3duZXItYWNjZXNzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvcHJvcGVydHktb3duZXItc3RhdHVzLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9yZWdpc3RyYXRpb24taW52aXRlLXN0YXR1cy5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvc2FsYXJ5LWZvcmVjYXN0LWZyZXF1ZW5jeS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvc2VydmljZS1ub3RpZmljYXRpb24tc3RhdHVzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvc2VydmljZS1ub3RpZmljYXRpb24tdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvc2VydmljZS1wYXltZW50LXN0YXR1cy5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvc2VydmljZS1wcmljZS1yZWN1cnJpbmctaW50ZXJ2YWwuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9zZXJ2aWNlLXByaWNlLXR5cGUuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3NlcnZpY2Utc3Vic2NyaXB0aW9uLXN0YXR1cy5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvc3BhcmUtZG9jdW1lbnQtc3BhcmUtdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdGFuay10eXBlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy90YXgtY2FsY3VsYXRpb24tbWVkaWNhcmUtZXhlbXB0aW9uLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdGF4LWNhbGN1bGF0aW9uLXR5cGUuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RheC1yZXR1cm4tY2F0ZWdvcnktbGlzdC5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RheC1yZXR1cm4tY2F0ZWdvcnktc2VjdGlvbi5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdGF4LXJldmlldy1zdGF0dXMuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RheC1zdW1tYXJ5LWxpc3QuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy90YXgtc3VtbWFyeS1zZWN0aW9uLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdGF4LXN1bW1hcnktdGF4LXN1bW1hcnkuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RpY2tldC1mZWVkYmFjay5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RpY2tldC1zdGF0dXMuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy90aWNrZXQtdHlwZXMuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RyYW5zYWN0aW9uLW9wZXJhdGlvbi5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RyYW5zYWN0aW9uLXNvdXJjZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RyYW5zYWN0aW9uLXR5cGUuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3VzZXItZXZlbnQtc3RhdHVzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdXNlci1ldmVudC10eXBlLWZyZXF1ZW5jeS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3VzZXItZXZlbnQtdHlwZS11c2VyLXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy91c2VyLWV2ZW50LXR5cGUtZW1wbG95ZWUtdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3VzZXItZXZlbnQtdHlwZS1jbGllbnQtdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdXNlci1tZWRpY2FyZS1leGVtcHRpb24uZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy91c2VyLXJvbGVzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdXNlci1zdGF0dXMuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy91c2VyLXRpdGxlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdXNlci13b3JrLWRlcHJlY2lhdGlvbi1jYWxjdWxhdGlvbi5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3VzZXItd29ya2luZy1ob2xpZGF5LW1ha2VyLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy92ZWhpY2xlLWNsYWltLW1ldGhvZC5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3ZlaGljbGUtbG9nYm9vay1wdXJwb3NlLmVudW0nO1xuXG4vKipcbiAqIE1vZGVscyBhbmQgcmVsYXRlZCBlbnVtcyBhbmQgY29uc3RzXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9hZGRyZXNzL2FkZHJlc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2FkZHJlc3MvY291bnRyeSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9iYW5rL2JhbmsnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2JhbmsvYmFuay1hY2NvdW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9iYW5rL2JhbmstYWNjb3VudC1jaGFydC1kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9iYW5rL2JhbmstYWNjb3VudC1wcm9wZXJ0eSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFuay9iYW5rLWFjY291bnQtdHlwZXMuY29uc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2JhbmsvYmFuay1jb25uZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9iYW5rL2JhbmstdHJhbnNhY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2JhbmsvYmFuay10cmFuc2FjdGlvbi1jaGFydC1kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9iYW5rL2JhbmstdHJhbnNhY3Rpb24tc3VtbWFyeS1maWVsZHMuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFuay9iYXNpcS1qb2InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2JhbmsvYmFzaXEtdG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2JhbmsvdHlwZS1sb2FuLmNvbnN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2JvcnJvd2luZy1leHBlbnNlL2JvcnJvd2luZy1leHBlbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9ib3Jyb3dpbmctZXhwZW5zZS9ib3Jyb3dpbmctZXhwZW5zZS1sb2FuJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NoYXJ0L2NoYXJ0LWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NoYXJ0L2NoYXJ0LXNlcmllJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy1jYXRlZ29yaWVzLmNvbnN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy1kZXByZWNpYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLWhlYWRpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLW1ldGFkYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy10YXgtbGFiZWxzLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2hhdC9jaGF0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jaGF0L2NoYXQtdmlldy10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NoYXQvbWVzc2FnZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2hhdC9tZXNzYWdlLWRvY3VtZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NsaWVudC9jbGllbnQtZGV0YWlscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2xpZW50L2NsaWVudC1pbnZpdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NsaWVudC9jbGllbnQtbW92ZW1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NsaWVudC9jbGllbnQtcG9ydGZvbGlvLWNoYXJ0LWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NsaWVudC9jbGllbnQtcG9ydGZvbGlvLXJlcG9ydCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jb2xvci9hbHBoYWJldC1jb2xvcnMuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kYXRhLXRhYmxlL2RhdGEtdGFibGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RhdGEtdGFibGUvZGF0YS10YWJsZS1jb2x1bW4nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbi1jYXBpdGFsLXByb2plY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24tZm9yZWNhc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24tZ3JvdXAuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbi1ncm91cCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbi1ncm91cC1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLWdyb3Vwcy5jb25zdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbi1yZWNlaXB0JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RvY3VtZW50L2RvY3VtZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kb2N1bWVudC9kb2N1bWVudC1hcGktdXJsLXByZWZpeC5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kb2N1bWVudC9kb2N1bWVudC1maWxlLXR5cGVzLmNvbnN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kb2N1bWVudC9kb2N1bWVudC1mb2xkZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZW1wbG95ZWUvZW1wbG95ZWUtZGV0YWlscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZW1wbG95ZWUvZW1wbG95ZWUtaW52aXRlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2VuZHBvaW50L2VuZHBvaW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9lbmRwb2ludC9lbmRwb2ludHMuY29uc3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2ZpbGUvaWNvbnMtZmlsZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2ZpbmFuY2lhbC15ZWFyL2ZpbmFuY2lhbC15ZWFyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9maW5hbmNpYWwteWVhci9tb250aC1uYW1lLXNob3J0LmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2ZpbmFuY2lhbC15ZWFyL21vbnRoLW51bWJlci5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9maW5hbmNpYWwteWVhci9tb250aHMuY29uc3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZmlybS9maXJtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2luY29tZS1wb3NpdGlvbi9pbmNvbWUtcG9zaXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvaW5jb21lLXNvdXJjZS9pbmNvbWUtc291cmNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9pbmNvbWUtc291cmNlL2luY29tZS1zb3VyY2UtY2hhcnQtZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvaW5jb21lLXNvdXJjZS9pbmNvbWUtc291cmNlLWZvcmVjYXN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9pbmNvbWUtc291cmNlL2luY29tZS1zb3VyY2UtdHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvaW5jb21lLXNvdXJjZS9zYWxhcnktZm9yZWNhc3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvbG9hbi9sb2FuJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9sb2FuL2xvYW4tbWF4LW51bWJlci1vZi1wYXltZW50cy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9sb2FuL2xvYW4tcGF5bWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvbG9hbi9sb2FuLXBheW91dCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9sb2dib29rL2RlZmF1bHQtdmVoaWNsZS1leHBlbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9sb2dib29rL2xvZ2Jvb2stcGVyaW9kJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9sb2dib29rL2xvZ2Jvb2stcHVycG9zZS1vcHRpb25zLmNvbnN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9sb2dib29rL3ZlaGljbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2xvZ2Jvb2svdmVoaWNsZS1jbGFpbSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvbG9nYm9vay92ZWhpY2xlLWxvZ2Jvb2snO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9waG9uZS9waG9uZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9jYWxjdWxhdGlvbi1mb3JtLWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L2NhbGN1bGF0aW9uLWZvcm0tdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9jYXBpdGFsLWNvc3RzLWl0bWVzLmNvbnN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9jb3JlbG9naWMtc3VnZ2VzdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvb3duZXJzaGlwLWZpbHRlci1vcHRpb25zLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1jYXBpdGFsLWNvc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LWNhdGVnb3J5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1jYXRlZ29yeS1tb3ZlbWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktZG9jdW1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LWVxdWl0eS1jaGFydC1kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1lcXVpdHktY2hhcnQtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktZm9yZWNhc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LW93bmVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1zb2xkJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1zdWJzY3JpcHRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LXZhbHVhdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9yZWdpc3RyYXRpb24taW52aXRlL3JlZ2lzdHJhdGlvbi1pbnZpdGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2VydmljZS1zdWJzY3JpcHRpb24vbW9kdWxlLXVybC1saXN0LmNvbnN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZXJ2aWNlLXN1YnNjcmlwdGlvbi9zZXJ2aWNlLXBheW1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3NlcnZpY2UtcHJpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3NlcnZpY2UtcHJvZHVjdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2VydmljZS1zdWJzY3JpcHRpb24vc2VydmljZS1zdWJzY3JpcHRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3NlcnZpY2Utc3Vic2NyaXB0aW9uLWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3N1YnNjcmlwdGlvbi1kZXNjcmlwdGlvbi5jb25zdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2VydmljZS1zdWJzY3JpcHRpb24vc3Vic2NyaXB0aW9uLXRpdGxlLmNvbnN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZXJ2aWNlLXN1YnNjcmlwdGlvbi9zdWJzY3JpcHRpb24tdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RheC1yZXZpZXcvdGF4LXJldmlldyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90YXgtc3VtbWFyeS90YXgtcmV0dXJuLWNhdGVnb3J5LWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RheC1zdW1tYXJ5L3RheC1yZXR1cm4tY2F0ZWdvcnktaXRlbS1kZXRhaWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90YXgtc3VtbWFyeS90YXgtc3VtbWFyeSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdGF4LXN1bW1hcnkvdGF4LXN1bW1hcnktc2VjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdGF4LXN1bW1hcnkvdGF4LXN1bW1hcnktdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RyYW5zYWN0aW9uL2luY29tZS1hbW91bnQtdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tYWxsb2NhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tbWV0YWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLXJlY2VpcHQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdXNlci9teS1hY2NvdW50LWhpc3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3VzZXIvbXktYWNjb3VudC1oaXN0b3J5LWluaXRpYXRlZC1ieS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy91c2VyL215LWFjY291bnQtaGlzdG9yeS1zdGF0dXMuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdXNlci9teS1hY2NvdW50LWhpc3RvcnktdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy91c2VyL29jY3VwYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3VzZXIvdXNlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdXNlci91c2VyLXJvbGVzLmNvbnN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy91c2VyL3VzZXItdG8tcmVnaXN0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3VzZXIvdXNlci13b3JrLXBvc2l0aW9uLmNvbnN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3VzZXItZXZlbnQvdXNlci1ldmVudC10eXBlLWNhdGVnb3J5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy91c2VyLWV2ZW50L3VzZXItZXZlbnQtc2V0dGluZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdXNlci1ldmVudC91c2VyLWV2ZW50LXNldHRpbmctZmllbGQuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdXNlci1ldmVudC91c2VyLWV2ZW50LXR5cGUnO1xuXG4vKipcbiAqIFNlcnZpY2VzXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2FkZHJlc3MvYWRkcmVzcy5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvYXNzZXQvYXNzZXRzLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9hdXRoL2F1dGguc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9hdXRoL2p3dC5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvYmFuay9iYW5rLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvYmFuay9iYW5rLWFjY291bnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9iYW5rL2JhbmstYWNjb3VudC1jYWxjdWxhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2JhbmsvYmFuay1jb25uZWN0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvYmFuay9iYW5rLXRyYW5zYWN0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvYmFuay9iYW5rLXRyYW5zYWN0aW9uLWNhbGN1bGF0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvYmFuay9iYXNpcS5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvYm9ycm93aW5nLWV4cGVuc2UvYm9ycm93aW5nLWV4cGVuc2Uuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMtZGVwcmVjaWF0aW9ucy5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvY2hhdC9jaGF0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvY2hhdC9tZXNzYWdlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvY2hhdC9tZXNzYWdlLWRvY3VtZW50LnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9jbGllbnQvY2xpZW50LWludml0ZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2NsaWVudC9jbGllbnQtbW92ZW1lbnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9jbGllbnQvY2xpZW50LXBvcnRmb2xpby1yZXBvcnQuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2RlcHJlY2lhdGlvbi9jYXBpdGFsLXByb2plY3Quc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9kb2N1bWVudC9kb2N1bWVudC1mb2xkZXIuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2VtcGxveWVlL2VtcGxveWVlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvZW1wbG95ZWUvZW1wbG95ZWUtaW52aXRlLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9ldmVudC9ldmVudC1kaXNwYXRjaGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvZXZlbnQvc3NlLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9maXJtL2Zpcm0uc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2hlYWRlci10aXRsZS9oZWFkZXItdGl0bGUuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2luY29tZS1zb3VyY2UvaW5jb21lLXNvdXJjZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2luY29tZS1zb3VyY2UvaW5jb21lLXNvdXJjZS1mb3JlY2FzdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2luY29tZS1zb3VyY2Uvc2FsYXJ5LWZvcmVjYXN0LnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9pbnRlcmNvbS9pbnRlcmNvbS5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvbG9hbi9sb2FuLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9wZGYvcGRmLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9wcmVsb2FkZXIvcHJlbG9hZGVyLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9wcm9wZXJ0eS9jb3JlbG9naWMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9wcm9wZXJ0eS9lcXVpdHktcG9zaXRpb24tY2hhcnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9wcm9wZXJ0eS9wcm9wZXJ0eS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3Byb3BlcnR5L3Byb3BlcnR5LWNhbGN1bGF0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvcHJvcGVydHkvcHJvcGVydHktY2FwaXRhbC1jb3N0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvcHJvcGVydHkvcHJvcGVydHktY2F0ZWdvcnkuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9wcm9wZXJ0eS9wcm9wZXJ0eS1jYXRlZ29yeS1tb3ZlbWVudC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3Byb3BlcnR5L3Byb3BlcnR5LWRvY3VtZW50LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvcHJvcGVydHkvcHJvcGVydHktb3duZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9wcm9wZXJ0eS9wcm9wZXJ0eS1zb2xkLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9zdWJzY3JpcHRpb24vc3Vic2NyaXB0aW9uLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90YXgtcmV2aWV3L3RheC1yZXZpZXcuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90YXgtcmV2aWV3L3RheC1yZXZpZXctaGlzdG9yeS5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdGF4LXN1bW1hcnkvdGF4LXN1bW1hcnkuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tYWxsb2NhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLWNhbGN1bGF0aW9uLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy91c2VyL29jY3VwYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy91c2VyL3VzZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy91c2VyL3VzZXItc3dpdGNoZXIuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3VzZXItZXZlbnQvdXNlci1ldmVudC1zZXR0aW5nLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdXNlci1ldmVudC91c2VyLWV2ZW50LXR5cGUuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3dvcmsvd29yay10YW5rLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy94bHN4L3hsc3guc2VydmljZSc7XG5cbi8qKlxuICogSW50ZXJmYWNlc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2Fzc2V0LmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2Fzc2V0LWVudGl0eS10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9hc3NldC10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9jaGFydC1kYXRhLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2NoYXJ0LXNlcmllLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2RvY3VtZW50LmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2RvY3VtZW50YWJsZS5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9ldmVudC1saXN0ZW5lci5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9pbmNvbWUtc291cmNlLWZvcmVjYXN0LmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL29wdGlvbi5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9waG90b2FibGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9yZWNlaXB0LmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL3NhbGFyeS1mb3JlY2FzdC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy90YW5rLmludGVyZmFjZSc7XG5cbi8qKlxuICogRnVuY3Rpb25zXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2Z1bmN0aW9ucy9jbG9uZS1kZWVwJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Z1bmN0aW9ucy9jcmVhdGUtZGF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mdW5jdGlvbnMvZW51bS10by1saXN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Z1bmN0aW9ucy9nZXQtZG9jLWljb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZnVuY3Rpb25zL21hdC1vcHRpb25zLWZ1bmN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mdW5jdGlvbnMvbWF0LXNvcnQtb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mdW5jdGlvbnMvcm91bmQtdG8nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZnVuY3Rpb25zL3RheC1yZXZpZXctZmlsdGVyLXByZWRpY2F0ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mdW5jdGlvbnMvYXJyYXknO1xuXG4vKipcbiAqIEludGVyY2VwdG9yc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmNlcHRvcnMvaW50ZXJjZXB0b3JzLm1vZHVsZSc7XG4iXX0=