@esolve/ng-esolve-connect 0.87.1 → 0.88.0

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 (143) hide show
  1. package/README.md +7 -1
  2. package/esm2022/lib/account/address/classes/esolve-address.model.mjs +1 -1
  3. package/esm2022/lib/account/address/classes/esolve-session-address-result.model.mjs +1 -1
  4. package/esm2022/lib/account/esolve-account.service.mjs +13 -9
  5. package/esm2022/lib/account/esolve-session-shipping-result.model.mjs +1 -1
  6. package/esm2022/lib/account/location/classes/esolve-location-update-result.model.mjs +1 -1
  7. package/esm2022/lib/account/user-account/classes/esolve-statement-ageing.model.mjs +1 -1
  8. package/esm2022/lib/account/user-account/classes/esolve-statement-balances.model.mjs +1 -1
  9. package/esm2022/lib/account/user-account/classes/esolve-statement-transaction.model.mjs +1 -1
  10. package/esm2022/lib/account/user-account/classes/esolve-statement.model.mjs +1 -1
  11. package/esm2022/lib/account/user-account/classes/esolve-user-account-business.model.mjs +1 -1
  12. package/esm2022/lib/account/user-account/classes/esolve-user-account-contact.model.mjs +1 -1
  13. package/esm2022/lib/account/user-account/classes/esolve-user-account.model.mjs +1 -1
  14. package/esm2022/lib/account/user-account/classes/esolve-user-client-account.model.mjs +1 -1
  15. package/esm2022/lib/assets/classes/esolve-asset.model.mjs +1 -1
  16. package/esm2022/lib/assets/classes/esolve-linked-asset.model.mjs +1 -1
  17. package/esm2022/lib/assets/esolve-assets.service.mjs +7 -5
  18. package/esm2022/lib/auth/esolve-auth-interceptor.service.mjs +4 -4
  19. package/esm2022/lib/auth/esolve-auth.service.mjs +4 -4
  20. package/esm2022/lib/auth/esolve-otp.service.mjs +4 -4
  21. package/esm2022/lib/auth/models/esolve-otp-validation.model.mjs +1 -1
  22. package/esm2022/lib/banners/classes/esolve-banner.model.mjs +1 -1
  23. package/esm2022/lib/banners/esolve-banner.service.mjs +7 -5
  24. package/esm2022/lib/cart/classes/esolve-cart-alternative.model.mjs +1 -1
  25. package/esm2022/lib/cart/classes/esolve-cart-stock-item.model.mjs +1 -1
  26. package/esm2022/lib/cart/classes/esolve-cart-totals.model.mjs +1 -1
  27. package/esm2022/lib/cart/classes/esolve-delivery-category-totals.model.mjs +1 -1
  28. package/esm2022/lib/cart/classes/esolve-transaction-analytics-data.model.mjs +1 -1
  29. package/esm2022/lib/cart/esolve-cart.service.mjs +4 -4
  30. package/esm2022/lib/category-tree/classes/esolve-category-tree-item.model.mjs +1 -1
  31. package/esm2022/lib/category-tree/esolve-category-tree.service.mjs +7 -5
  32. package/esm2022/lib/competitions/classes/esolve-competition-winner.model.mjs +1 -1
  33. package/esm2022/lib/competitions/classes/esolve-competition.model.mjs +1 -1
  34. package/esm2022/lib/competitions/services/esolve-competitions.service.mjs +7 -5
  35. package/esm2022/lib/core/esolve-config.service.mjs +4 -4
  36. package/esm2022/lib/core/providers/provide-ng-esolve-connect.function.mjs +1 -1
  37. package/esm2022/lib/coupons/classes/esolve-coupon.model.mjs +1 -1
  38. package/esm2022/lib/coupons/esolve-coupons.service.mjs +4 -4
  39. package/esm2022/lib/deliveries/classes/esolve-delivery-status.model.mjs +1 -1
  40. package/esm2022/lib/deliveries/esolve-deliveries.service.mjs +8 -11
  41. package/esm2022/lib/device/esolve-device.service.mjs +4 -4
  42. package/esm2022/lib/enquiry/esolve-enquiry.service.mjs +4 -4
  43. package/esm2022/lib/geocoder/esolve-geocoder.service.mjs +4 -4
  44. package/esm2022/lib/images/directives/cdn-src.directive.mjs +4 -4
  45. package/esm2022/lib/images/functions/process-image-src.function.mjs +1 -1
  46. package/esm2022/lib/locations/classes/esolve-location-trading-times.model.mjs +1 -1
  47. package/esm2022/lib/locations/classes/esolve-location.model.mjs +1 -1
  48. package/esm2022/lib/locations/esolve-locations.service.mjs +7 -5
  49. package/esm2022/lib/manufacturers/classes/esolve-manufacturer.model.mjs +1 -1
  50. package/esm2022/lib/manufacturers/esolve-manufacturers.service.mjs +7 -5
  51. package/esm2022/lib/menu/classes/esolve-menu-item.model.mjs +1 -1
  52. package/esm2022/lib/menu/esolve-menu.service.mjs +7 -5
  53. package/esm2022/lib/news/classes/esolve-news-article.model.mjs +1 -1
  54. package/esm2022/lib/news/classes/esolve-news-group.model.mjs +1 -1
  55. package/esm2022/lib/news/esolve-news.service.mjs +4 -4
  56. package/esm2022/lib/ng-esolve-connect.module.mjs +4 -4
  57. package/esm2022/lib/payment/classes/esolve-payment-result.model.mjs +1 -1
  58. package/esm2022/lib/payment/classes/esolve-vault-item-result.model.mjs +1 -1
  59. package/esm2022/lib/payment/esolve-payment.service.mjs +22 -10
  60. package/esm2022/lib/ranges/classes/esolve-range.model.mjs +1 -1
  61. package/esm2022/lib/ranges/esolve-ranges.service.mjs +7 -5
  62. package/esm2022/lib/seo/classes/esolve-seo-info.model.mjs +1 -1
  63. package/esm2022/lib/seo/esolve-seo.service.mjs +4 -4
  64. package/esm2022/lib/session/esolve-session-metadata.service.mjs +4 -4
  65. package/esm2022/lib/session/esolve-session.service.mjs +4 -4
  66. package/esm2022/lib/shared/cookie/esolve-cookie.service.mjs +3 -3
  67. package/esm2022/lib/shared/errors/esolve-error-handler.service.mjs +4 -4
  68. package/esm2022/lib/shared/errors/esolve-http-error.model.mjs +1 -1
  69. package/esm2022/lib/shared/esolve-hex-hash.function.mjs +1 -1
  70. package/esm2022/lib/shared/esolve-list.model.mjs +1 -1
  71. package/esm2022/lib/shared/filters/classes/esolve-generic-filter.model.mjs +1 -1
  72. package/esm2022/lib/shared/filters/classes/esolve-multiple-select-filter.model.mjs +1 -1
  73. package/esm2022/lib/shared/filters/classes/esolve-range-filter.model.mjs +1 -1
  74. package/esm2022/lib/shared/filters/classes/esolve-single-select-filter.model.mjs +1 -1
  75. package/esm2022/lib/shared/filters/classes/esolve-toggle-filter.model.mjs +1 -1
  76. package/esm2022/lib/shared/filters/esolve-filter-factory.mjs +1 -1
  77. package/esm2022/lib/shared/response/esolve-response-handler.service.mjs +4 -4
  78. package/esm2022/lib/shipping/classes/esolve-time-slot-config.model.mjs +1 -1
  79. package/esm2022/lib/shipping/classes/esolve-time-slot-date.model.mjs +1 -1
  80. package/esm2022/lib/shipping/classes/esolve-time-slot-days.model.mjs +1 -1
  81. package/esm2022/lib/shipping/classes/esolve-time-slot-times.model.mjs +1 -1
  82. package/esm2022/lib/shipping/classes/esolve-time-slot.model.mjs +1 -1
  83. package/esm2022/lib/shipping/esolve-shipping.service.mjs +4 -4
  84. package/esm2022/lib/specials/classes/esolve-special-image-collection.model.mjs +1 -1
  85. package/esm2022/lib/specials/classes/esolve-special.model.mjs +1 -1
  86. package/esm2022/lib/specials/esolve-specials.service.mjs +4 -4
  87. package/esm2022/lib/stock/classes/esolve-additional-stock-image.model.mjs +1 -1
  88. package/esm2022/lib/stock/classes/esolve-stock-group.model.mjs +1 -1
  89. package/esm2022/lib/stock/classes/esolve-stock-image-collection.model.mjs +1 -1
  90. package/esm2022/lib/stock/classes/esolve-stock-image.model.mjs +1 -1
  91. package/esm2022/lib/stock/classes/esolve-stock-item-base.model.mjs +1 -1
  92. package/esm2022/lib/stock/classes/esolve-stock-item.model.mjs +1 -1
  93. package/esm2022/lib/stock/classes/esolve-stock-price.model.mjs +1 -1
  94. package/esm2022/lib/stock/classes/esolve-stock-transaction-history.model.mjs +1 -1
  95. package/esm2022/lib/stock/esolve-stock.service.mjs +19 -9
  96. package/esm2022/lib/suppliers/esolve-suppliers.service.mjs +7 -5
  97. package/esm2022/lib/tags/classes/esolve-tag.model.mjs +1 -1
  98. package/esm2022/lib/tags/esolve-tags.service.mjs +7 -6
  99. package/esm2022/lib/topics/classes/esolve-topic.model.mjs +1 -1
  100. package/esm2022/lib/topics/esolve-topic.service.mjs +7 -5
  101. package/esm2022/lib/transactions/classes/esolve-transaction-delivery.model.mjs +1 -1
  102. package/esm2022/lib/transactions/classes/esolve-transaction-item.model.mjs +1 -1
  103. package/esm2022/lib/transactions/classes/esolve-transaction.model.mjs +1 -1
  104. package/esm2022/lib/transactions/esolve-transactions.service.mjs +5 -5
  105. package/esm2022/lib/vouchers/classes/esolve-voucher.model.mjs +1 -1
  106. package/esm2022/lib/vouchers/esolve-vouchers.service.mjs +4 -4
  107. package/esm2022/lib/wallet/classes/esolve-wallet-balances.model.mjs +1 -1
  108. package/esm2022/lib/wallet/classes/esolve-wallet-transaction.model.mjs +1 -1
  109. package/esm2022/lib/wallet/esolve-wallet.service.mjs +4 -4
  110. package/esm2022/lib/wishlist/esolve-wishlist.service.mjs +4 -4
  111. package/esm2022/media/lib/classes/esolve-media-article.model.mjs +1 -1
  112. package/esm2022/media/lib/classes/esolve-media-group.model.mjs +1 -1
  113. package/esm2022/media/lib/classes/esolve-media-layout-section.model.mjs +1 -1
  114. package/esm2022/media/lib/components/media-layout/esolve-media-layout.component.mjs +3 -3
  115. package/esm2022/media/lib/components/media-section/esolve-media-section.component.mjs +4 -4
  116. package/esm2022/media/lib/ng-esolve-connect-media.module.mjs +4 -4
  117. package/esm2022/media/lib/services/esolve-media-layout.service.mjs +4 -4
  118. package/esm2022/media/lib/services/esolve-media.service.mjs +4 -4
  119. package/esm2022/notifications/lib/classes/esolve-notification-button-action.model.mjs +1 -1
  120. package/esm2022/notifications/lib/classes/esolve-system-notification.model.mjs +1 -1
  121. package/esm2022/notifications/lib/services/esolve-notifications.service.mjs +4 -4
  122. package/esm2022/survey/lib/classes/esolve-survey-answer-result.model.mjs +1 -1
  123. package/esm2022/survey/lib/classes/esolve-survey-check-question.model.mjs +1 -1
  124. package/esm2022/survey/lib/classes/esolve-survey-input-question.model.mjs +1 -1
  125. package/esm2022/survey/lib/classes/esolve-survey-options-question.model.mjs +1 -1
  126. package/esm2022/survey/lib/classes/esolve-survey-radio-question.model.mjs +1 -1
  127. package/esm2022/survey/lib/classes/esolve-survey-rating-question.model.mjs +1 -1
  128. package/esm2022/survey/lib/classes/esolve-survey-select-question.model.mjs +1 -1
  129. package/esm2022/survey/lib/classes/esolve-survey-textarea-question.model.mjs +1 -1
  130. package/esm2022/survey/lib/classes/esolve-survey-values-question.model.mjs +1 -1
  131. package/esm2022/survey/lib/classes/esolve-survey.model.mjs +1 -1
  132. package/esm2022/survey/lib/services/esolve-survey.service.mjs +4 -4
  133. package/fesm2022/esolve-ng-esolve-connect-media.mjs +16 -16
  134. package/fesm2022/esolve-ng-esolve-connect-media.mjs.map +1 -1
  135. package/fesm2022/esolve-ng-esolve-connect-notifications.mjs +3 -3
  136. package/fesm2022/esolve-ng-esolve-connect-notifications.mjs.map +1 -1
  137. package/fesm2022/esolve-ng-esolve-connect-survey.mjs +3 -3
  138. package/fesm2022/esolve-ng-esolve-connect-survey.mjs.map +1 -1
  139. package/fesm2022/esolve-ng-esolve-connect.mjs +197 -150
  140. package/fesm2022/esolve-ng-esolve-connect.mjs.map +1 -1
  141. package/lib/account/esolve-account.service.d.ts +1 -1
  142. package/lib/deliveries/esolve-deliveries.service.d.ts +1 -4
  143. package/package.json +7 -7
package/README.md CHANGED
@@ -14,7 +14,13 @@ npm i --save @esolve/ng-esolve-connect
14
14
  OR
15
15
 
16
16
  ```bash
17
- ng add @esolve/ng-esolve-connect
17
+ pnpm add @esolve/ng-esolve-connect
18
+ ```
19
+
20
+ OR
21
+
22
+ ```bash
23
+ yarn add @esolve/ng-esolve-connect
18
24
  ```
19
25
 
20
26
  ## Usage
@@ -34,4 +34,4 @@ export class EsolveAddress {
34
34
  }
35
35
  }
36
36
  }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWFkZHJlc3MubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvYWNjb3VudC9hZGRyZXNzL2NsYXNzZXMvZXNvbHZlLWFkZHJlc3MubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLGFBQWE7SUFpQnRCLFlBQVksTUFBcUM7UUFoQjFDLE9BQUUsR0FBRyxDQUFDLENBQUM7UUFDUCxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsaUJBQVksR0FBc0IsVUFBVSxDQUFDO1FBQzdDLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUNuQixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ1osV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUNaLFNBQUksR0FBRyxFQUFFLENBQUM7UUFDVixhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2QsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFDYixjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBR2pCLElBQUksTUFBTSxFQUFFO1lBQ1IsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksSUFBSSxVQUFVLENBQUM7WUFDdEQsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQztZQUNoRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztZQUM1QyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDN0M7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFc29sdmVBZGRyZXNzUmVjb3JkIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9lc29sdmUtYWRkcmVzcy1yZWNvcmQuaW50ZXJmYWNlJztcbmltcG9ydCB7IEVzb2x2ZUFkZHJlc3NUeXBlIH0gZnJvbSAnLi4vdHlwZXMvZXNvbHZlLWFkZHJlc3MtdHlwZS50eXBlJztcblxuZXhwb3J0IGNsYXNzIEVzb2x2ZUFkZHJlc3Mge1xuICAgIHB1YmxpYyBpZCA9IDA7XG4gICAgcHVibGljIHJlY2lwaWVudCA9ICcnO1xuICAgIHB1YmxpYyBhZGRyZXNzX3R5cGU6IEVzb2x2ZUFkZHJlc3NUeXBlID0gJ3BoeXNpY2FsJztcbiAgICBwdWJsaWMgcG9ib3ggPSAnJztcbiAgICBwdWJsaWMgcGxhY2VfbmFtZSA9ICcnO1xuICAgIHB1YmxpYyBhbGlhcyA9ICcnO1xuICAgIHB1YmxpYyBzdHJlZXRfbnVtYmVyID0gJyc7XG4gICAgcHVibGljIHN0cmVldCA9ICcnO1xuICAgIHB1YmxpYyBzdWJ1cmIgPSAnJztcbiAgICBwdWJsaWMgY2l0eSA9ICcnO1xuICAgIHB1YmxpYyBwcm92aW5jZSA9ICcnO1xuICAgIHB1YmxpYyBjb3VudHJ5ID0gJyc7XG4gICAgcHVibGljIHBvc3RhbF9jb2RlID0gJyc7XG4gICAgcHVibGljIGxhdGl0dWRlID0gMDtcbiAgICBwdWJsaWMgbG9uZ2l0dWRlID0gMDtcblxuICAgIGNvbnN0cnVjdG9yKHJlY29yZD86IFBhcnRpYWw8RXNvbHZlQWRkcmVzc1JlY29yZD4pIHtcbiAgICAgICAgaWYgKHJlY29yZCkge1xuICAgICAgICAgICAgdGhpcy5pZCA9ICsocmVjb3JkLmlkID8/IDApO1xuICAgICAgICAgICAgdGhpcy5yZWNpcGllbnQgPSByZWNvcmQucmVjaXBpZW50ID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5hZGRyZXNzX3R5cGUgPSByZWNvcmQuYWRkcmVzc190eXBlID8/ICdwaHlzaWNhbCc7XG4gICAgICAgICAgICB0aGlzLnBvYm94ID0gcmVjb3JkLnBvYm94ID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5wbGFjZV9uYW1lID0gcmVjb3JkLnBsYWNlX25hbWUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmFsaWFzID0gcmVjb3JkLmFsaWFzID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5zdHJlZXRfbnVtYmVyID0gcmVjb3JkLnN0cmVldF9udW1iZXIgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLnN0cmVldCA9IHJlY29yZC5zdHJlZXQgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLnN1YnVyYiA9IHJlY29yZC5zdWJ1cmIgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmNpdHkgPSByZWNvcmQuY2l0eSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMucHJvdmluY2UgPSByZWNvcmQucHJvdmluY2UgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmNvdW50cnkgPSByZWNvcmQuY291bnRyeSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMucG9zdGFsX2NvZGUgPSByZWNvcmQucG9zdGFsX2NvZGUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmxhdGl0dWRlID0gKyhyZWNvcmQubGF0aXR1ZGUgPz8gMCk7XG4gICAgICAgICAgICB0aGlzLmxvbmdpdHVkZSA9ICsocmVjb3JkLmxvbmdpdHVkZSA/PyAwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWFkZHJlc3MubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvYWNjb3VudC9hZGRyZXNzL2NsYXNzZXMvZXNvbHZlLWFkZHJlc3MubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLGFBQWE7SUFpQnRCLFlBQVksTUFBcUM7UUFoQjFDLE9BQUUsR0FBRyxDQUFDLENBQUM7UUFDUCxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsaUJBQVksR0FBc0IsVUFBVSxDQUFDO1FBQzdDLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUNuQixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ1osV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUNaLFNBQUksR0FBRyxFQUFFLENBQUM7UUFDVixhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2QsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFDYixjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBR2pCLElBQUksTUFBTSxFQUFFLENBQUM7WUFDVCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUM7WUFDeEMsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxJQUFJLFVBQVUsQ0FBQztZQUN0RCxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDO1lBQ2hELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1lBQzVDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDeEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM5QyxDQUFDO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXNvbHZlQWRkcmVzc1JlY29yZCB9IGZyb20gJy4uL2ludGVyZmFjZXMvZXNvbHZlLWFkZHJlc3MtcmVjb3JkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBFc29sdmVBZGRyZXNzVHlwZSB9IGZyb20gJy4uL3R5cGVzL2Vzb2x2ZS1hZGRyZXNzLXR5cGUudHlwZSc7XG5cbmV4cG9ydCBjbGFzcyBFc29sdmVBZGRyZXNzIHtcbiAgICBwdWJsaWMgaWQgPSAwO1xuICAgIHB1YmxpYyByZWNpcGllbnQgPSAnJztcbiAgICBwdWJsaWMgYWRkcmVzc190eXBlOiBFc29sdmVBZGRyZXNzVHlwZSA9ICdwaHlzaWNhbCc7XG4gICAgcHVibGljIHBvYm94ID0gJyc7XG4gICAgcHVibGljIHBsYWNlX25hbWUgPSAnJztcbiAgICBwdWJsaWMgYWxpYXMgPSAnJztcbiAgICBwdWJsaWMgc3RyZWV0X251bWJlciA9ICcnO1xuICAgIHB1YmxpYyBzdHJlZXQgPSAnJztcbiAgICBwdWJsaWMgc3VidXJiID0gJyc7XG4gICAgcHVibGljIGNpdHkgPSAnJztcbiAgICBwdWJsaWMgcHJvdmluY2UgPSAnJztcbiAgICBwdWJsaWMgY291bnRyeSA9ICcnO1xuICAgIHB1YmxpYyBwb3N0YWxfY29kZSA9ICcnO1xuICAgIHB1YmxpYyBsYXRpdHVkZSA9IDA7XG4gICAgcHVibGljIGxvbmdpdHVkZSA9IDA7XG5cbiAgICBjb25zdHJ1Y3RvcihyZWNvcmQ/OiBQYXJ0aWFsPEVzb2x2ZUFkZHJlc3NSZWNvcmQ+KSB7XG4gICAgICAgIGlmIChyZWNvcmQpIHtcbiAgICAgICAgICAgIHRoaXMuaWQgPSArKHJlY29yZC5pZCA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMucmVjaXBpZW50ID0gcmVjb3JkLnJlY2lwaWVudCA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuYWRkcmVzc190eXBlID0gcmVjb3JkLmFkZHJlc3NfdHlwZSA/PyAncGh5c2ljYWwnO1xuICAgICAgICAgICAgdGhpcy5wb2JveCA9IHJlY29yZC5wb2JveCA/PyAnJztcbiAgICAgICAgICAgIHRoaXMucGxhY2VfbmFtZSA9IHJlY29yZC5wbGFjZV9uYW1lID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5hbGlhcyA9IHJlY29yZC5hbGlhcyA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuc3RyZWV0X251bWJlciA9IHJlY29yZC5zdHJlZXRfbnVtYmVyID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5zdHJlZXQgPSByZWNvcmQuc3RyZWV0ID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5zdWJ1cmIgPSByZWNvcmQuc3VidXJiID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5jaXR5ID0gcmVjb3JkLmNpdHkgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLnByb3ZpbmNlID0gcmVjb3JkLnByb3ZpbmNlID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5jb3VudHJ5ID0gcmVjb3JkLmNvdW50cnkgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLnBvc3RhbF9jb2RlID0gcmVjb3JkLnBvc3RhbF9jb2RlID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5sYXRpdHVkZSA9ICsocmVjb3JkLmxhdGl0dWRlID8/IDApO1xuICAgICAgICAgICAgdGhpcy5sb25naXR1ZGUgPSArKHJlY29yZC5sb25naXR1ZGUgPz8gMCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -8,4 +8,4 @@ export class EsolveSessionAddressUpdateResult extends EsolveResponseResult {
8
8
  this.address_updated = response.esolve_id > 0;
9
9
  }
10
10
  }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNlc3Npb24tYWRkcmVzcy1yZXN1bHQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvYWNjb3VudC9hZGRyZXNzL2NsYXNzZXMvZXNvbHZlLXNlc3Npb24tYWRkcmVzcy1yZXN1bHQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUEwQixvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9FLE1BQU0sT0FBTyxnQ0FBaUMsU0FBUSxvQkFBb0I7SUFHdEUsWUFBWSxRQUFnQztRQUN4QyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFaEIsSUFBSSxPQUFPLFFBQVEsQ0FBQyxTQUFTLEtBQUssUUFBUSxFQUFFO1lBQ3hDLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztTQUMzQztRQUVELElBQUksQ0FBQyxlQUFlLEdBQUcsUUFBUSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDbEQsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXNvbHZlUG9zdFJlc3BvbnNlSXRlbSwgRXNvbHZlUmVzcG9uc2VSZXN1bHQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQnO1xuXG5leHBvcnQgY2xhc3MgRXNvbHZlU2Vzc2lvbkFkZHJlc3NVcGRhdGVSZXN1bHQgZXh0ZW5kcyBFc29sdmVSZXNwb25zZVJlc3VsdCB7XG4gICAgcHVibGljIGFkZHJlc3NfdXBkYXRlZDogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKHJlc3BvbnNlOiBFc29sdmVQb3N0UmVzcG9uc2VJdGVtKSB7XG4gICAgICAgIHN1cGVyKHJlc3BvbnNlKTtcblxuICAgICAgICBpZiAodHlwZW9mIHJlc3BvbnNlLmVzb2x2ZV9pZCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCByZXNwb25zZSBpZC4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWRkcmVzc191cGRhdGVkID0gcmVzcG9uc2UuZXNvbHZlX2lkID4gMDtcbiAgICB9XG59XG4iXX0=
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNlc3Npb24tYWRkcmVzcy1yZXN1bHQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvYWNjb3VudC9hZGRyZXNzL2NsYXNzZXMvZXNvbHZlLXNlc3Npb24tYWRkcmVzcy1yZXN1bHQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUEwQixvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9FLE1BQU0sT0FBTyxnQ0FBaUMsU0FBUSxvQkFBb0I7SUFHdEUsWUFBWSxRQUFnQztRQUN4QyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFaEIsSUFBSSxPQUFPLFFBQVEsQ0FBQyxTQUFTLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDekMsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQzVDLENBQUM7UUFFRCxJQUFJLENBQUMsZUFBZSxHQUFHLFFBQVEsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVzb2x2ZVBvc3RSZXNwb25zZUl0ZW0sIEVzb2x2ZVJlc3BvbnNlUmVzdWx0IH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkJztcblxuZXhwb3J0IGNsYXNzIEVzb2x2ZVNlc3Npb25BZGRyZXNzVXBkYXRlUmVzdWx0IGV4dGVuZHMgRXNvbHZlUmVzcG9uc2VSZXN1bHQge1xuICAgIHB1YmxpYyBhZGRyZXNzX3VwZGF0ZWQ6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvcihyZXNwb25zZTogRXNvbHZlUG9zdFJlc3BvbnNlSXRlbSkge1xuICAgICAgICBzdXBlcihyZXNwb25zZSk7XG5cbiAgICAgICAgaWYgKHR5cGVvZiByZXNwb25zZS5lc29sdmVfaWQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgcmVzcG9uc2UgaWQuJyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFkZHJlc3NfdXBkYXRlZCA9IHJlc3BvbnNlLmVzb2x2ZV9pZCA+IDA7XG4gICAgfVxufVxuIl19
@@ -223,7 +223,9 @@ export class EsolveAccountService {
223
223
  }
224
224
  sendForgotPasswordRequest(email) {
225
225
  return this.http
226
- .get(`${this.config.api_url}/get-forgot-password.php`, { params: { email } })
226
+ .get(`${this.config.api_url}/get-forgot-password.php`, {
227
+ params: { email },
228
+ })
227
229
  .pipe(map((response) => {
228
230
  if (response.records === undefined ||
229
231
  !('reset_link_sent' in response.records)) {
@@ -340,13 +342,15 @@ export class EsolveAccountService {
340
342
  params = EsolveFilterFactory.convertToHttpParams(filters, params);
341
343
  }
342
344
  return this.http
343
- .get(`${this.config.api_url}/get-transactions.php`, { params })
345
+ .get(`${this.config.api_url}/get-transactions.php`, {
346
+ params,
347
+ })
344
348
  .pipe(map((response) => {
345
349
  if (response.records === undefined) {
346
350
  throw response;
347
351
  }
348
352
  const items = this.processTransactions(response.records);
349
- const total = +response.additional_data.total_records ?? 0;
353
+ const total = +(response.additional_data.total_records ?? 0);
350
354
  const rows = options.rows ?? total;
351
355
  const page = options.page || 1;
352
356
  return new EsolveTransactionList(items, page, rows, total);
@@ -398,13 +402,13 @@ export class EsolveAccountService {
398
402
  return throwError(() => error);
399
403
  }
400
404
  }
401
- genrateStatementDownloadLink(clients_id) {
405
+ generateStatementDownloadLink(clients_id) {
402
406
  try {
403
407
  this.loginGuard();
404
408
  if (clients_id <= 0) {
405
409
  return '';
406
410
  }
407
- const base_url = `${this.config.api_url}/get-genrated-pdf.php`;
411
+ const base_url = `${this.config.api_url}/get-generated-pdf.php`;
408
412
  const queries = [
409
413
  {
410
414
  key: 'ws_id',
@@ -494,13 +498,13 @@ export class EsolveAccountService {
494
498
  return new EsolveLocationUpdateResult(response);
495
499
  })));
496
500
  }
497
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: EsolveAccountService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
498
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: EsolveAccountService, providedIn: 'root' }); }
501
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: EsolveAccountService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
502
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: EsolveAccountService, providedIn: 'root' }); }
499
503
  }
500
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: EsolveAccountService, decorators: [{
504
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: EsolveAccountService, decorators: [{
501
505
  type: Injectable,
502
506
  args: [{
503
507
  providedIn: 'root',
504
508
  }]
505
509
  }], ctorParameters: () => [] });
506
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWFjY291bnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9hY2NvdW50L2Vzb2x2ZS1hY2NvdW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUNILFVBQVUsRUFFVixVQUFVLEdBQ2IsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzlDLE9BQU8sRUFDSCx5QkFBeUIsRUFDekIsNEJBQTRCLEVBRzVCLFlBQVksRUFFWixtQkFBbUIsR0FDdEIsTUFBTSxXQUFXLENBQUM7QUFFbkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMzQyxPQUFPLEVBRUgsaUJBQWlCLEVBRWpCLHFCQUFxQixHQUN4QixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFHSCx3QkFBd0IsR0FDM0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQ0gsYUFBYSxFQUViLG1CQUFtQixFQUduQixnQ0FBZ0MsR0FDbkMsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUNILDBCQUEwQixFQUMxQix5QkFBeUIsR0FHNUIsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUNILGlCQUFpQixFQUdqQix1QkFBdUIsRUFDdkIsK0JBQStCLEdBRWxDLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FB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QUMzQyxhQUFhLEVBQ2IsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNULElBQUksT0FBTyxRQUFRLENBQUMsU0FBUyxLQUFLLFFBQVEsRUFBRTtnQkFDeEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO2FBQzNDO1lBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQztnQkFDcEMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVM7YUFDbkMsQ0FBQyxDQUFDO1lBRUgsT0FBTyxJQUFJLDBCQUEwQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BELENBQUMsQ0FDSixDQUNKLENBQ0osQ0FBQztJQUNWLENBQUM7OEdBenpCUSxvQkFBb0I7a0hBQXBCLG9CQUFvQixjQUZqQixNQUFNOzsyRkFFVCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEh0dHBDbGllbnQsXG4gICAgSHR0cEVycm9yUmVzcG9uc2UsXG4gICAgSHR0cFBhcmFtcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEVzb2x2ZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9jb3JlJztcbmltcG9ydCB7XG4gICAgRXNvbHZlRXJyb3JIYW5kbGVyU2VydmljZSxcbiAgICBFc29sdmVSZXNwb25zZUhhbmRsZXJTZXJ2aWNlLFxuICAgIEVzb2x2ZVNldFJlc3BvbnNlLFxuICAgIEVzb2x2ZUdldFJlc3BvbnNlLFxuICAgIEVzb2x2ZVJlc3VsdCxcbiAgICBFc29sdmVEZWxldGVSZXNwb25zZSxcbiAgICBFc29sdmVGaWx0ZXJGYWN0b3J5LFxufSBmcm9tICcuLi9zaGFyZWQnO1xuaW1wb3J0IHsgRXNvbHZlQXV0aFJlc3VsdCB9IGZyb20gJy4uL2F1dGgnO1xuaW1wb3J0IHsgRXNvbHZlU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9zZXNzaW9uJztcbmltcG9ydCB7IEVzb2x2ZUNhcnRUb3RhbHMgfSBmcm9tICcuLi9jYXJ0JztcbmltcG9ydCB7XG4gICAgRXNvbHZlVHJhbnNhY3Rpb25SZWNvcmQsXG4gICAgRXNvbHZlVHJhbnNhY3Rpb24sXG4gICAgRXNvbHZlVHJhbnNhY3Rpb25PcHRpb25zLFxuICAgIEVzb2x2ZVRyYW5zYWN0aW9uTGlzdCxcbn0gZnJvbSAnLi4vdHJhbnNhY3Rpb25zJztcbmltcG9ydCB7XG4gICAgRXNvbHZlUmVnaXN0cmF0aW9uUG9zdFJlc3BvbnNlSXRlbSxcbiAgICBFc29sdmVSZWdpc3RyYXRpb25EYXRhLFxuICAgIEVzb2x2ZVJlZ2lzdHJhdGlvblJlc3VsdCxcbn0gZnJvbSAnLi9yZWdpc3RyYXRpb24nO1xuaW1wb3J0IHtcbiAgICBFc29sdmVBZGRyZXNzLFxuICAgIEVzb2x2ZUFkZHJlc3NSZWNvcmQsXG4gICAgRXNvbHZlQWRkcmVzc1Jlc3VsdCxcbiAgICBFc29sdmVBZGRyZXNzUG9zdERhdGEsXG4gICAgRXNvbHZlQWRkcmVzc1Jlc3BvbnNlLFxuICAgIEVzb2x2ZVNlc3Npb25BZGRyZXNzVXBkYXRlUmVzdWx0LFxufSBmcm9tICcuL2FkZHJlc3MnO1xuaW1wb3J0IHtcbiAgICBFc29sdmVDaGFuZ2VQYXNzd29yZFJlc3VsdCxcbiAgICBFc29sdmVSZXNldFBhc3N3b3JkUmVzdWx0LFxuICAgIEVzb2x2ZUZvcmdvdFBhc3N3b3JkUmVzcG9uc2UsXG4gICAgRXNvbHZlRm9yZ290UGFzc3dvcmRHZXRSZXN1bHQsXG59IGZyb20gJy4vcGFzc3dvcmQnO1xuaW1wb3J0IHtcbiAgICBFc29sdmVVc2VyQWNjb3VudCxcbiAgICBFc29sdmVVc2VyQWNjb3VudERhdGEsXG4gICAgRXNvbHZlVXNlckFjY291bnRSZWNvcmQsXG4gICAgRXNvbHZlVXNlckFjY291bnRSZXN1bHQsXG4gICAgRXNvbHZlVXNlckNsaWVudEFjY291bnRCYWxhbmNlcyxcbiAgICBFc29sdmVVc2VyQ2xpZW50QWNjb3VudEJhbGFuY2VzUmVjb3JkLFxufSBmcm9tICcuL3VzZXItYWNjb3VudCc7XG5pbXBvcnQge1xuICAgIEVzb2x2ZUFjY291bnRDb25maXJtYXRpb25Qb3N0UmVzcG9uc2VJdGVtLFxuICAgIEVzb2x2ZUFjY291bnRDb25maXJtYXRpb25SZXN1bHQsXG59IGZyb20gJy4vY29uZmlybWF0aW9uJztcbmltcG9ydCB7IEVzb2x2ZUxvY2F0aW9uT3B0aW9uLCBFc29sdmVMb2NhdGlvblVwZGF0ZVJlc3VsdCB9IGZyb20gJy4vbG9jYXRpb24nO1xuXG5pbXBvcnQgeyBFc29sdmVTZXNzaW9uU2hpcHBpbmdVcGRhdGVSZXN1bHQgfSBmcm9tICcuL2Vzb2x2ZS1zZXNzaW9uLXNoaXBwaW5nLXJlc3VsdC5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEVzb2x2ZUFjY291bnRTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdChFc29sdmVDb25maWdTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXNzaW9uU2VydmljZSA9IGluamVjdChFc29sdmVTZXNzaW9uU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlcnJvckhhbmRsZXIgPSBpbmplY3QoRXNvbHZlRXJyb3JIYW5kbGVyU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNwb25zZUhhbmRsZXIgPSBpbmplY3QoRXNvbHZlUmVzcG9uc2VIYW5kbGVyU2VydmljZSk7XG5cbiAgICBwcml2YXRlIF91c2VyX2lkID0gMDtcblxuICAgIHB1YmxpYyBnZXQgdXNlcl9pZCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fdXNlcl9pZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IHVzZXJfaWQodmFsdWU6IG51bWJlcikge1xuICAgICAgICB2YWx1ZSA9IHZhbHVlID4gMCA/IHZhbHVlIDogMDtcblxuICAgICAgICBpZiAodGhpcy5fdXNlcl9pZCAhPT0gdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX3VzZXJfaWQgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLnNlc3Npb25TZXJ2aWNlLmdldFNlc3Npb24oKS5zdWJzY3JpYmUoKHNlc3Npb24pID0+IHtcbiAgICAgICAgICAgIGlmIChzZXNzaW9uLnRva2VuICE9PSAnJykge1xuICAgICAgICAgICAgICAgIHRoaXMudXNlcl9pZCA9IHNlc3Npb24udXNlcl9pZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZVVzZXJBY2NvdW50KFxuICAgICAgICB1c2VyX2FjY291bnRfZGF0YTogRXNvbHZlVXNlckFjY291bnREYXRhLFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlVXNlckFjY291bnRSZXN1bHQ+IHtcbiAgICAgICAgY29uc3QgYm9keSA9IHtcbiAgICAgICAgICAgIGFjY291bnQ6IHVzZXJfYWNjb3VudF9kYXRhLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5wb3N0PEVzb2x2ZVNldFJlc3BvbnNlPihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXQtdXNlci1hY2NvdW50LnBocGAsXG4gICAgICAgICAgICAgICAgYm9keSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtODsnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGh0dHBfcmVzcG9uc2UpID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzcG9uc2VIYW5kbGVyLnZhbGlkYXRlU2luZ2xlSHR0cFJlc3BvbnNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIChyZXNwb25zZSkgPT4gbmV3IEVzb2x2ZVVzZXJBY2NvdW50UmVzdWx0KHJlc3BvbnNlKSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yUmVzOiBIdHRwRXJyb3JSZXNwb25zZSB8IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lcnJvckhhbmRsZXIuaGFuZGxlSHR0cFBvc3RFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICdzZXQtdXNlci1hY2NvdW50JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yUmVzLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0VXNlckFjY291bnQoKTogT2JzZXJ2YWJsZTxFc29sdmVVc2VyQWNjb3VudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZVVzZXJBY2NvdW50UmVjb3JkW10+PihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtYWNjb3VudC5waHBgLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnJlY29yZHMubGVuZ3RoID09PSAwXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCByZWNvcmQgPSByZXNwb25zZS5yZWNvcmRzWzBdO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NVc2VyQWNjb3VudChyZWNvcmQpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVsZXRlVXNlckFjY291bnQoKTogT2JzZXJ2YWJsZTxFc29sdmVSZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmRlbGV0ZTxFc29sdmVEZWxldGVSZXNwb25zZT4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZGVsZXRlLWFjY291bnQucGhwYCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoaHR0cF9yZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLnJlc3VsdCA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLnJlc3VsdCA9PT0gbnVsbCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZS5yZXN1bHQuc3RhdHVzICE9PSAnc3VjY2VzcydcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBodHRwX3Jlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVSZXN1bHQoXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLnJlc3VsdC5zdGF0dXMsXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLnJlc3VsdC5jb2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZS5yZXN1bHQubWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUh0dHBEZWxldGVFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICdkZWxldGUtYWNjb3VudCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvclJlcyxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEFkZHJlc3MoXG4gICAgICAgIGFkZHJlc3NfcG9zdF9kYXRhOiBFc29sdmVBZGRyZXNzUG9zdERhdGEsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVBZGRyZXNzUmVzdWx0PiB7XG4gICAgICAgIGNvbnN0IGJvZHkgPSB7XG4gICAgICAgICAgICBhZGRyZXNzOiBhZGRyZXNzX3Bvc3RfZGF0YSxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAucG9zdDxFc29sdmVTZXRSZXNwb25zZTxFc29sdmVBZGRyZXNzUmVzcG9uc2U+PihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXQtYWRkcmVzcy5waHBgLFxuICAgICAgICAgICAgICAgIGJvZHksXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTg7JyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChodHRwX3Jlc3BvbnNlKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc3BvbnNlSGFuZGxlci52YWxpZGF0ZVNpbmdsZUh0dHBSZXNwb25zZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UpID0+IG5ldyBFc29sdmVBZGRyZXNzUmVzdWx0KHJlc3BvbnNlKSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yUmVzOiBIdHRwRXJyb3JSZXNwb25zZSB8IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lcnJvckhhbmRsZXIuaGFuZGxlSHR0cFBvc3RFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICdzZXQtYWRkcmVzcycsXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvclJlcyxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEFkZHJlc3NlcygpOiBPYnNlcnZhYmxlPEVzb2x2ZUFkZHJlc3NbXT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5sb2dpbkd1YXJkKCk7XG5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgICAgICAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZUFkZHJlc3NSZWNvcmRbXT4+KFxuICAgICAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtYWRkcmVzc2VzLnBocGAsXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtczogeyB1c2VyX2lkOiB0aGlzLnVzZXJfaWQgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc1VzZXJBZGRyZXNzKHJlc3BvbnNlLnJlY29yZHMpO1xuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGRlbGV0ZUFkZHJlc3MoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8RXNvbHZlUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5kZWxldGU8RXNvbHZlRGVsZXRlUmVzcG9uc2U+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2RlbGV0ZS1hZGRyZXNzLnBocGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHsgaWQgfSxcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChodHRwX3Jlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UucmVzdWx0ID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UucmVzdWx0ID09PSBudWxsIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLnJlc3VsdC5zdGF0dXMgIT09ICdzdWNjZXNzJ1xuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGh0dHBfcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZVJlc3VsdChcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UucmVzdWx0LnN0YXR1cyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UucmVzdWx0LmNvZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLnJlc3VsdC5tZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yUmVzOiBIdHRwRXJyb3JSZXNwb25zZSB8IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lcnJvckhhbmRsZXIuaGFuZGxlSHR0cERlbGV0ZUVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2RlbGV0ZS1hZGRyZXNzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yUmVzLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXIoXG4gICAgICAgIHVzZXJfcmVnaXN0cmF0aW9uOiBFc29sdmVSZWdpc3RyYXRpb25EYXRhLFxuICAgICAgICBndWVzdCA9IGZhbHNlLFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlUmVnaXN0cmF0aW9uUmVzdWx0PiB7XG4gICAgICAgIGNvbnN0IGJvZHkgPSB7XG4gICAgICAgICAgICB1c2VyOiB1c2VyX3JlZ2lzdHJhdGlvbixcbiAgICAgICAgICAgIGd1ZXN0X3JlZ2lzdHJhdGlvbjogZ3Vlc3QsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLnBvc3Q8XG4gICAgICAgICAgICAgICAgRXNvbHZlU2V0UmVzcG9uc2U8XG4gICAgICAgICAgICAgICAgICAgIEVzb2x2ZVJlZ2lzdHJhdGlvblBvc3RSZXNwb25zZUl0ZW0sXG4gICAgICAgICAgICAgICAgICAgIEVzb2x2ZUF1dGhSZXN1bHRcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICA+KGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NldC1yZWdpc3RyYXRpb24ucGhwYCwgYm9keSwge1xuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTg7JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5JyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGh0dHBfcmVzcG9uc2UpID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzcG9uc2VIYW5kbGVyLnZhbGlkYXRlU2luZ2xlSHR0cFJlc3BvbnNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIChyZXNwb25zZSwgYWRkaXRpb25hbF9kYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmF1dG9fbG9naW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2Vzc2lvbl9kYXRhID0gcmVzcG9uc2Uuc2Vzc2lvbl9kYXRhO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgdG9rZW4gPSAnJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoYWRkaXRpb25hbF9kYXRhKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW4gPSBhZGRpdGlvbmFsX2RhdGEua2V5O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXNzaW9uU2VydmljZS5oYW5kbGVVcGRhdGVTZXNzaW9uKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJfaWQ6ICtyZXNwb25zZS5lc29sdmVfaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbl9pZDogK3Nlc3Npb25fZGF0YS5sb2NhdGlvbl9pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3Nlc19pZDogK3Nlc3Npb25fZGF0YS5hZGRyZXNzZXNfaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGlwcGluZ19pZDogK3Nlc3Npb25fZGF0YS5zaGlwcGluZ19pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZVJlZ2lzdHJhdGlvblJlc3VsdChyZXNwb25zZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVIdHRwUG9zdEVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3NldC1yZWdpc3RyYXRpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JSZXMsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBjaGFuZ2VQYXNzd29yZChcbiAgICAgICAgcGFzc3dvcmQ6IHN0cmluZyxcbiAgICAgICAgY29uZmlybV9wYXNzd29yZDogc3RyaW5nLFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlQ2hhbmdlUGFzc3dvcmRSZXN1bHQ+IHtcbiAgICAgICAgY29uc3QgYm9keSA9IHtcbiAgICAgICAgICAgIHBhc3N3b3JkLFxuICAgICAgICAgICAgY29uZmlybV9wYXNzd29yZCxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAucG9zdDxFc29sdmVTZXRSZXNwb25zZT4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2V0LWNoYW5nZS1wYXNzd29yZC5waHBgLFxuICAgICAgICAgICAgICAgIGJvZHksXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTg7JyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChodHRwX3Jlc3BvbnNlKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc3BvbnNlSGFuZGxlci52YWxpZGF0ZVNpbmdsZUh0dHBSZXNwb25zZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZUNoYW5nZVBhc3N3b3JkUmVzdWx0KHJlc3BvbnNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUh0dHBQb3N0RXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2V0LWNoYW5nZS1wYXNzd29yZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvclJlcyxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU3VibWl0cyB0aGUgdXNlcnMgY29uZmlybWF0aW9uIGtleSB0byB0aGUgcmVsZXZhbnQgYmFja2VuZCBzZXJ2ZXIgaW4gb3JkZXIgdG9cbiAgICAgKiBjb25maXJtIHRoZSBhY2NvdW50cyB2YWxpZGl0eS4gVGhlIGtleSB3YXMgZW1haWxlZCB0byB0aGUgdXNlciBoZW5jZSBpZiBoZSByZWNlaXZlZFxuICAgICAqIGl0IGFuZCBlbnRlcnMgdGhlIHZhbHVlLCB0aGUgZW1haWwgYWNjb3VudCBjYW4gYmUgc2VlbiBhcyB2YWxpZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0aGF0IHdhcyBlbWFpbGVkIHRvIHRoZSByZWdpc3RlcmVkIHVzZXIncyBlbWFpbCBhY2NvdW50LlxuICAgICAqIEByZXR1cm5zIEFuIGBPYnNlcnZhYmxlYCB0aGF0IGNvbnRhaW5zIHRoZSByZXN1bHQgb2YgdGhlIGFjY291bnQgY29uZmlybWF0aW9uIHJlcXVlc3QuXG4gICAgICovXG4gICAgcHVibGljIGFjY291bnRDb25maXJtYXRpb25SZXF1ZXN0KFxuICAgICAgICBrZXk6IHN0cmluZyxcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZUFjY291bnRDb25maXJtYXRpb25SZXN1bHQ+IHtcbiAgICAgICAgY29uc3QgYm9keSA9IHtcbiAgICAgICAgICAgIGtleSxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAucG9zdDxFc29sdmVTZXRSZXNwb25zZTxFc29sdmVBY2NvdW50Q29uZmlybWF0aW9uUG9zdFJlc3BvbnNlSXRlbT4+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NldC1hY2NvdW50LWNvbmZpcm1hdGlvbi5waHBgLFxuICAgICAgICAgICAgICAgIGJvZHksXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTg7JyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChodHRwX3Jlc3BvbnNlKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc3BvbnNlSGFuZGxlci52YWxpZGF0ZVNpbmdsZUh0dHBSZXNwb25zZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UuYXV0b19sb2dpbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlc3Npb25TZXJ2aWNlLmhhbmRsZVVwZGF0ZVNlc3Npb24oe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcl9pZDogK3Jlc3BvbnNlLmVzb2x2ZV9pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2F0aW9uX2lkOiArcmVzcG9uc2UubG9jYXRpb25faWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRyZXNzZXNfaWQ6ICtyZXNwb25zZS5hZGRyZXNzZXNfaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGlwcGluZ19pZDogK3Jlc3BvbnNlLnNoaXBwaW5nX2lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZUFjY291bnRDb25maXJtYXRpb25SZXN1bHQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVIdHRwUG9zdEVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3NldC1hY2NvdW50LWNvbmZpcm1hdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvclJlcyxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlbmRGb3Jnb3RQYXNzd29yZFJlcXVlc3QoZW1haWw6IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZUZvcmdvdFBhc3N3b3JkR2V0UmVzdWx0Pj4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LWZvcmdvdC1wYXNzd29yZC5waHBgLFxuICAgICAgICAgICAgICAgIHsgcGFyYW1zOiB7IGVtYWlsIH0gfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAhKCdyZXNldF9saW5rX3NlbnQnIGluIHJlc3BvbnNlLnJlY29yZHMpXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UucmVjb3Jkcy5yZXNldF9saW5rX3NlbnQ7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyByZXNldFBhc3N3b3JkKFxuICAgICAgICByZXNldF9rZXk6IHN0cmluZyxcbiAgICAgICAgcGFzc3dvcmQ6IHN0cmluZyxcbiAgICAgICAgY29uZmlybV9wYXNzd29yZDogc3RyaW5nLFxuICAgICAgICBhdXRvX2xvZ2luID0gdHJ1ZSxcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZVJlc2V0UGFzc3dvcmRSZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLnBvc3Q8RXNvbHZlU2V0UmVzcG9uc2U8RXNvbHZlRm9yZ290UGFzc3dvcmRSZXNwb25zZT4+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NldC1mb3Jnb3QtcGFzc3dvcmQucGhwYCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHJlc2V0X2tleSxcbiAgICAgICAgICAgICAgICAgICAgcGFzc3dvcmQsXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpcm1fcGFzc3dvcmQsXG4gICAgICAgICAgICAgICAgICAgIGF1dG9fbG9naW4sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtODsnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGh0dHBfcmVzcG9uc2UpID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzcG9uc2VIYW5kbGVyLnZhbGlkYXRlU2luZ2xlSHR0cFJlc3BvbnNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcmVzcG9uc2UubG9naW5fcmVxdWlyZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2Vzc2lvbl9kYXRhID0gcmVzcG9uc2Uuc2Vzc2lvbl9kYXRhO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2Vzc2lvblNlcnZpY2UuaGFuZGxlVXBkYXRlU2Vzc2lvbih7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyX2lkOiArcmVzcG9uc2UuZXNvbHZlX2lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb25faWQ6ICtzZXNzaW9uX2RhdGEubG9jYXRpb25faWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRyZXNzZXNfaWQ6ICtzZXNzaW9uX2RhdGEuYWRkcmVzc2VzX2lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hpcHBpbmdfaWQ6ICtzZXNzaW9uX2RhdGEuc2hpcHBpbmdfaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRXNvbHZlUmVzZXRQYXNzd29yZFJlc3VsdChyZXNwb25zZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVIdHRwUG9zdEVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3NldC1mb3Jnb3QtcGFzc3dvcmQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JSZXMsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGVMb2NhdGlvbihcbiAgICAgICAgbG9jYXRpb25faWQ6IG51bWJlcixcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZUxvY2F0aW9uVXBkYXRlUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnVwZGF0ZVVzZXJMb2NhdGlvbih7IGxvY2F0aW9uX2lkIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGVMb2NhdGlvbk9uRXJwKFxuICAgICAgICBlcnA6IHN0cmluZyxcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZUxvY2F0aW9uVXBkYXRlUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnVwZGF0ZVVzZXJMb2NhdGlvbih7IGVycCB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlU2Vzc2lvbkFkZHJlc3MoXG4gICAgICAgIGFkZHJlc3Nlc19pZDogbnVtYmVyLFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlU2Vzc2lvbkFkZHJlc3NVcGRhdGVSZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLnBvc3Q8RXNvbHZlU2V0UmVzcG9uc2U+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NldC1zZXNzaW9uLWFkZHJlc3MucGhwYCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGFkZHJlc3Nlc19pZCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04OycsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoaHR0cF9yZXNwb25zZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNwb25zZUhhbmRsZXIudmFsaWRhdGVTaW5nbGVIdHRwUmVzcG9uc2UoXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiByZXNwb25zZS5lc29sdmVfaWQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCByZXNwb25zZSBpZC4nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlc3Npb25TZXJ2aWNlLmhhbmRsZVVwZGF0ZVNlc3Npb24oe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRyZXNzZXNfaWQ6ICtyZXNwb25zZS5lc29sdmVfaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZVNlc3Npb25BZGRyZXNzVXBkYXRlUmVzdWx0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlU2Vzc2lvblNoaXBwaW5nKFxuICAgICAgICBzaGlwcGluZ19pZDogbnVtYmVyLFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlU2Vzc2lvblNoaXBwaW5nVXBkYXRlUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5wb3N0PEVzb2x2ZVNldFJlc3BvbnNlPihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXQtc2Vzc2lvbi1zaGlwcGluZy5waHBgLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgc2hpcHBpbmdfaWQsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtODsnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGh0dHBfcmVzcG9uc2UpID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzcG9uc2VIYW5kbGVyLnZhbGlkYXRlU2luZ2xlSHR0cFJlc3BvbnNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgcmVzcG9uc2UuZXNvbHZlX2lkID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgcmVzcG9uc2UgaWQuJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXNzaW9uU2VydmljZS5oYW5kbGVVcGRhdGVTZXNzaW9uKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hpcHBpbmdfaWQ6ICtyZXNwb25zZS5lc29sdmVfaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZVNlc3Npb25TaGlwcGluZ1VwZGF0ZVJlc3VsdChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgVXNlIEVzb2x2ZVRyYW5zYWN0aW9uc1NlcnZpY2UgZm9yIGZ1dHVyZSB0cmFuc2FjdGlvbiByZXF1ZXN0c1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRUcmFuc2FjdGlvbnMoXG4gICAgICAgIG9wdGlvbnM6IEVzb2x2ZVRyYW5zYWN0aW9uT3B0aW9ucyA9IHt9LFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlVHJhbnNhY3Rpb25MaXN0PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2luR3VhcmQoKTtcblxuICAgICAgICAgICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG5cbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3VzZXJfaWQnLCB0aGlzLnVzZXJfaWQpO1xuXG4gICAgICAgICAgICBpZiAob3B0aW9ucy50eXBlKSB7XG4gICAgICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgndHlwZScsIG9wdGlvbnMudHlwZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChvcHRpb25zLnBhZ2UpIHtcbiAgICAgICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdwYWdlJywgb3B0aW9ucy5wYWdlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9wdGlvbnMucm93cykge1xuICAgICAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3Jvd3MnLCBvcHRpb25zLnJvd3MpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAob3B0aW9ucy5mcm9tX2RhdGUpIHtcbiAgICAgICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdmcm9tX2RhdGUnLCBvcHRpb25zLmZyb21fZGF0ZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChvcHRpb25zLnRvX2RhdGUpIHtcbiAgICAgICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd0b19kYXRlJywgb3B0aW9ucy50b19kYXRlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9wdGlvbnMuZmlsdGVycykge1xuICAgICAgICAgICAgICAgIGxldCBmaWx0ZXJzID0gb3B0aW9ucy5maWx0ZXJzO1xuXG4gICAgICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGZpbHRlcnMpKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcnMgPSBFc29sdmVGaWx0ZXJGYWN0b3J5LmNvdmVydEZyb21PYmooZmlsdGVycyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcGFyYW1zID0gRXNvbHZlRmlsdGVyRmFjdG9yeS5jb252ZXJ0VG9IdHRwUGFyYW1zKFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJzLFxuICAgICAgICAgICAgICAgICAgICBwYXJhbXMsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgICAgIC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlVHJhbnNhY3Rpb25SZWNvcmRbXT4+KFxuICAgICAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtdHJhbnNhY3Rpb25zLnBocGAsXG4gICAgICAgICAgICAgICAgICAgIHsgcGFyYW1zIH0sXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5wcm9jZXNzVHJhbnNhY3Rpb25zKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnJlY29yZHMsXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdG90YWwgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICtyZXNwb25zZS5hZGRpdGlvbmFsX2RhdGEudG90YWxfcmVjb3JkcyA/PyAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgcm93cyA9IG9wdGlvbnMucm93cyA/PyB0b3RhbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhZ2UgPSBvcHRpb25zLnBhZ2UgfHwgMTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVUcmFuc2FjdGlvbkxpc3QoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3dzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsLFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIFVzZSBFc29sdmVUcmFuc2FjdGlvbnNTZXJ2aWNlIGZvciBmdXR1cmUgdHJhbnNhY3Rpb24gcmVxdWVzdHNcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VHJhbnNhY3Rpb24oaWQ6IG51bWJlcik6IE9ic2VydmFibGU8RXNvbHZlVHJhbnNhY3Rpb24+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMubG9naW5HdWFyZCgpO1xuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAgICAgLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVUcmFuc2FjdGlvblJlY29yZFtdPj4oXG4gICAgICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC10cmFuc2FjdGlvbnMucGhwYCxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcl9pZDogdGhpcy51c2VyX2lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uX2lkOiBpZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UucmVjb3Jkcy5sZW5ndGggPD0gMFxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5wcm9jZXNzVHJhbnNhY3Rpb25zKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnJlY29yZHMsXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbXNbMF07XG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q2xpZW50QWNjb3VudEJhbGFuY2VzKCk6IE9ic2VydmFibGU8XG4gICAgICAgIEVzb2x2ZVVzZXJDbGllbnRBY2NvdW50QmFsYW5jZXMgfCB1bmRlZmluZWRcbiAgICA+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMubG9naW5HdWFyZCgpO1xuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAgICAgLmdldDxcbiAgICAgICAgICAgICAgICAgICAgRXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlVXNlckNsaWVudEFjY291bnRCYWxhbmNlc1JlY29yZFtdPlxuICAgICAgICAgICAgICAgID4oYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LWNsaWVudC1hY2NvdW50LWJhbGFuY2VzLnBocGApXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0NsaWVudEJhbGFuY2VzKHJlc3BvbnNlLnJlY29yZHMpO1xuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdlbnJhdGVTdGF0ZW1lbnREb3dubG9hZExpbmsoY2xpZW50c19pZDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMubG9naW5HdWFyZCgpO1xuXG4gICAgICAgICAgICBpZiAoY2xpZW50c19pZCA8PSAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBiYXNlX3VybCA9IGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC1nZW5yYXRlZC1wZGYucGhwYDtcbiAgICAgICAgICAgIGNvbnN0IHF1ZXJpZXMgPSBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBrZXk6ICd3c19pZCcsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLmNvbmZpZy53c2lkLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBrZXk6ICdjbGllbnRzX2lkJyxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGNsaWVudHNfaWQsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGtleTogJ2tleScsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnNlc3Npb25TZXJ2aWNlLmdldFRva2VuKCksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF07XG5cbiAgICAgICAgICAgIGNvbnN0IHF1ZXJ5X3N0cmluZyA9IHF1ZXJpZXNcbiAgICAgICAgICAgICAgICAubWFwKChxdWVyeSkgPT4gYCR7cXVlcnkua2V5fT0ke3F1ZXJ5LnZhbHVlfWApXG4gICAgICAgICAgICAgICAgLmpvaW4oJyYnKTtcblxuICAgICAgICAgICAgcmV0dXJuIGAke2Jhc2VfdXJsfT8ke3F1ZXJ5X3N0cmluZ31gO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzVXNlckFjY291bnQoXG4gICAgICAgIHJlY29yZDogRXNvbHZlVXNlckFjY291bnRSZWNvcmQsXG4gICAgKTogRXNvbHZlVXNlckFjY291bnQge1xuICAgICAgICBpZiAoIXJlY29yZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHJlY29yZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCtyZWNvcmQudXNlcmlkICE9PSB0aGlzLl91c2VyX2lkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdXNlciBhY2NvdW50IHJldHJpZXZlZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVVc2VyQWNjb3VudChyZWNvcmQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc1VzZXJBZGRyZXNzKFxuICAgICAgICByZWNvcmRzOiBFc29sdmVBZGRyZXNzUmVjb3JkW10sXG4gICAgKTogRXNvbHZlQWRkcmVzc1tdIHtcbiAgICAgICAgY29uc3QgdXNlcl9hZGRyZXNzZXM6IEVzb2x2ZUFkZHJlc3NbXSA9IFtdO1xuXG4gICAgICAgIGlmICghcmVjb3JkcyB8fCB0aGlzLl91c2VyX2lkID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gdXNlcl9hZGRyZXNzZXM7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IHJlY29yZCBvZiByZWNvcmRzKSB7XG4gICAgICAgICAgICBpZiAoK3JlY29yZC51c2VyaWQgIT09IHRoaXMuX3VzZXJfaWQpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdXNlcl9hZGRyZXNzZXMucHVzaChuZXcgRXNvbHZlQWRkcmVzcyhyZWNvcmQpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB1c2VyX2FkZHJlc3NlcztcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NUcmFuc2FjdGlvbnMoXG4gICAgICAgIHJlY29yZHM6IEVzb2x2ZVRyYW5zYWN0aW9uUmVjb3JkW10sXG4gICAgKTogRXNvbHZlVHJhbnNhY3Rpb25bXSB7XG4gICAgICAgIGNvbnN0IHRyYW5zYWN0aW9uczogRXNvbHZlVHJhbnNhY3Rpb25bXSA9IFtdO1xuXG4gICAgICAgIGlmIChyZWNvcmRzKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHJlY29yZCBvZiByZWNvcmRzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdHJhbnNhY3Rpb24gPSBuZXcgRXNvbHZlVHJhbnNhY3Rpb24ocmVjb3JkKTtcblxuICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9ucy5wdXNoKHRyYW5zYWN0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cmFuc2FjdGlvbnM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzQ2xpZW50QmFsYW5jZXMoXG4gICAgICAgIHJlY29yZHM6IEVzb2x2ZVVzZXJDbGllbnRBY2NvdW50QmFsYW5jZXNSZWNvcmRbXSxcbiAgICApOiBFc29sdmVVc2VyQ2xpZW50QWNjb3VudEJhbGFuY2VzIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgZm9yIChjb25zdCByZWNvcmQgb2YgcmVjb3Jkcykge1xuICAgICAgICAgICAgaWYgKCtyZWNvcmQuY2xpZW50c19pZCA8PSAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgY2FydF90b3RhbHMgPSBuZXcgRXNvbHZlQ2FydFRvdGFscyhyZWNvcmQuY2FydF90b3RhbHMpO1xuXG4gICAgICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZVVzZXJDbGllbnRBY2NvdW50QmFsYW5jZXMoXG4gICAgICAgICAgICAgICAgK3JlY29yZC5jbGllbnRzX2lkLFxuICAgICAgICAgICAgICAgIHJlY29yZC5hY2NvdW50LFxuICAgICAgICAgICAgICAgIGNhcnRfdG90YWxzLFxuICAgICAgICAgICAgICAgICtyZWNvcmQuY3JlZGl0X2xpbWl0LFxuICAgICAgICAgICAgICAgICtyZWNvcmQuZXh0ZXJuYWxfYWNjb3VudF9iYWxhbmNlLFxuICAgICAgICAgICAgICAgICtyZWNvcmQuZXh0ZXJuYWxfYXZhaWxhYmxlX2JhbGFuY2UsXG4gICAgICAgICAgICAgICAgK3JlY29yZC5uZXdfZXh0ZXJuYWxfYXZhaWxhYmxlX2JhbGFuY2UsXG4gICAgICAgICAgICAgICAgISErcmVjb3JkLmNyZWRpdF9saW1pdF9va2F5LFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsb2dpbkd1YXJkKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy51c2VyX2lkIDw9IDApIHtcbiAgICAgICAgICAgIHRoaXMuZXJyb3JIYW5kbGVyLnRocm93RXJyb3IoJ2xvZ2luX3JlcXVpcmVkJywgJ0xvZ2luIGlzIHJlcXVpcmVkJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVVzZXJMb2NhdGlvbihcbiAgICAgICAgYm9keTogRXNvbHZlTG9jYXRpb25PcHRpb24sXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVMb2NhdGlvblVwZGF0ZVJlc3VsdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAucG9zdDxFc29sdmVTZXRSZXNwb25zZT4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2V0LXNlc3Npb24tbG9jYXRpb24ucGhwYCxcbiAgICAgICAgICAgICAgICBib2R5LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04OycsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoaHR0cF9yZXNwb25zZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNwb25zZUhhbmRsZXIudmFsaWRhdGVTaW5nbGVIdHRwUmVzcG9uc2UoXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiByZXNwb25zZS5lc29sdmVfaWQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCByZXNwb25zZSBpZC4nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlc3Npb25TZXJ2aWNlLmhhbmRsZVVwZGF0ZVNlc3Npb24oe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbl9pZDogK3Jlc3BvbnNlLmVzb2x2ZV9pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRXNvbHZlTG9jYXRpb25VcGRhdGVSZXN1bHQocmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
510
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWFjY291bnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9hY2NvdW50L2Vzb2x2ZS1hY2NvdW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUNILFVBQVUsRUFFVixVQUFVLEdBQ2IsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzlDLE9BQU8sRUFDSCx5QkFBeUIsRUFDekIsNEJBQTRCLEVBRzVCLFlBQVksRUFFWixtQkFBbUIsR0FDdEIsTUFBTSxXQUFXLENBQUM7QUFFbkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMzQyxPQUFPLEVBRUgsaUJBQWlCLEVBRWpCLHFCQUFxQixHQUN4QixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFHSCx3QkFBd0IsR0FDM0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQ0gsYUFBYSxFQUViLG1CQUFtQixFQUduQixnQ0FBZ0MsR0FDbkMsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUNILDBCQUEwQixFQUMxQix5QkFBeUIsR0FHNUIsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUNILGlCQUFpQixFQUdqQix1QkFBdUIsRUFDdkIsK0JBQStCLEdBRWxDLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FB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YmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgSHR0cENsaWVudCxcbiAgICBIdHRwRXJyb3JSZXNwb25zZSxcbiAgICBIdHRwUGFyYW1zLFxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRXNvbHZlQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBFc29sdmVFcnJvckhhbmRsZXJTZXJ2aWNlLFxuICAgIEVzb2x2ZVJlc3BvbnNlSGFuZGxlclNlcnZpY2UsXG4gICAgRXNvbHZlU2V0UmVzcG9uc2UsXG4gICAgRXNvbHZlR2V0UmVzcG9uc2UsXG4gICAgRXNvbHZlUmVzdWx0LFxuICAgIEVzb2x2ZURlbGV0ZVJlc3BvbnNlLFxuICAgIEVzb2x2ZUZpbHRlckZhY3RvcnksXG59IGZyb20gJy4uL3NoYXJlZCc7XG5pbXBvcnQgeyBFc29sdmVBdXRoUmVzdWx0IH0gZnJvbSAnLi4vYXV0aCc7XG5pbXBvcnQgeyBFc29sdmVTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uL3Nlc3Npb24nO1xuaW1wb3J0IHsgRXNvbHZlQ2FydFRvdGFscyB9IGZyb20gJy4uL2NhcnQnO1xuaW1wb3J0IHtcbiAgICBFc29sdmVUcmFuc2FjdGlvblJlY29yZCxcbiAgICBFc29sdmVUcmFuc2FjdGlvbixcbiAgICBFc29sdmVUcmFuc2FjdGlvbk9wdGlvbnMsXG4gICAgRXNvbHZlVHJhbnNhY3Rpb25MaXN0LFxufSBmcm9tICcuLi90cmFuc2FjdGlvbnMnO1xuaW1wb3J0IHtcbiAgICBFc29sdmVSZWdpc3RyYXRpb25Qb3N0UmVzcG9uc2VJdGVtLFxuICAgIEVzb2x2ZVJlZ2lzdHJhdGlvbkRhdGEsXG4gICAgRXNvbHZlUmVnaXN0cmF0aW9uUmVzdWx0LFxufSBmcm9tICcuL3JlZ2lzdHJhdGlvbic7XG5pbXBvcnQge1xuICAgIEVzb2x2ZUFkZHJlc3MsXG4gICAgRXNvbHZlQWRkcmVzc1JlY29yZCxcbiAgICBFc29sdmVBZGRyZXNzUmVzdWx0LFxuICAgIEVzb2x2ZUFkZHJlc3NQb3N0RGF0YSxcbiAgICBFc29sdmVBZGRyZXNzUmVzcG9uc2UsXG4gICAgRXNvbHZlU2Vzc2lvbkFkZHJlc3NVcGRhdGVSZXN1bHQsXG59IGZyb20gJy4vYWRkcmVzcyc7XG5pbXBvcnQge1xuICAgIEVzb2x2ZUNoYW5nZVBhc3N3b3JkUmVzdWx0LFxuICAgIEVzb2x2ZVJlc2V0UGFzc3dvcmRSZXN1bHQsXG4gICAgRXNvbHZlRm9yZ290UGFzc3dvcmRSZXNwb25zZSxcbiAgICBFc29sdmVGb3Jnb3RQYXNzd29yZEdldFJlc3VsdCxcbn0gZnJvbSAnLi9wYXNzd29yZCc7XG5pbXBvcnQge1xuICAgIEVzb2x2ZVVzZXJBY2NvdW50LFxuICAgIEVzb2x2ZVVzZXJBY2NvdW50RGF0YSxcbiAgICBFc29sdmVVc2VyQWNjb3VudFJlY29yZCxcbiAgICBFc29sdmVVc2VyQWNjb3VudFJlc3VsdCxcbiAgICBFc29sdmVVc2VyQ2xpZW50QWNjb3VudEJhbGFuY2VzLFxuICAgIEVzb2x2ZVVzZXJDbGllbnRBY2NvdW50QmFsYW5jZXNSZWNvcmQsXG59IGZyb20gJy4vdXNlci1hY2NvdW50JztcbmltcG9ydCB7XG4gICAgRXNvbHZlQWNjb3VudENvbmZpcm1hdGlvblBvc3RSZXNwb25zZUl0ZW0sXG4gICAgRXNvbHZlQWNjb3VudENvbmZpcm1hdGlvblJlc3VsdCxcbn0gZnJvbSAnLi9jb25maXJtYXRpb24nO1xuaW1wb3J0IHsgRXNvbHZlTG9jYXRpb25PcHRpb24sIEVzb2x2ZUxvY2F0aW9uVXBkYXRlUmVzdWx0IH0gZnJvbSAnLi9sb2NhdGlvbic7XG5cbmltcG9ydCB7IEVzb2x2ZVNlc3Npb25TaGlwcGluZ1VwZGF0ZVJlc3VsdCB9IGZyb20gJy4vZXNvbHZlLXNlc3Npb24tc2hpcHBpbmctcmVzdWx0Lm1vZGVsJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRXNvbHZlQWNjb3VudFNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KEVzb2x2ZUNvbmZpZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlc3Npb25TZXJ2aWNlID0gaW5qZWN0KEVzb2x2ZVNlc3Npb25TZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVycm9ySGFuZGxlciA9IGluamVjdChFc29sdmVFcnJvckhhbmRsZXJTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc3BvbnNlSGFuZGxlciA9IGluamVjdChFc29sdmVSZXNwb25zZUhhbmRsZXJTZXJ2aWNlKTtcblxuICAgIHByaXZhdGUgX3VzZXJfaWQgPSAwO1xuXG4gICAgcHVibGljIGdldCB1c2VyX2lkKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl91c2VyX2lkO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgdXNlcl9pZCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHZhbHVlID0gdmFsdWUgPiAwID8gdmFsdWUgOiAwO1xuXG4gICAgICAgIGlmICh0aGlzLl91c2VyX2lkICE9PSB2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fdXNlcl9pZCA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuc2Vzc2lvblNlcnZpY2UuZ2V0U2Vzc2lvbigpLnN1YnNjcmliZSgoc2Vzc2lvbikgPT4ge1xuICAgICAgICAgICAgaWYgKHNlc3Npb24udG9rZW4gIT09ICcnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51c2VyX2lkID0gc2Vzc2lvbi51c2VyX2lkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlVXNlckFjY291bnQoXG4gICAgICAgIHVzZXJfYWNjb3VudF9kYXRhOiBFc29sdmVVc2VyQWNjb3VudERhdGEsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVVc2VyQWNjb3VudFJlc3VsdD4ge1xuICAgICAgICBjb25zdCBib2R5ID0ge1xuICAgICAgICAgICAgYWNjb3VudDogdXNlcl9hY2NvdW50X2RhdGEsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLnBvc3Q8RXNvbHZlU2V0UmVzcG9uc2U+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NldC11c2VyLWFjY291bnQucGhwYCxcbiAgICAgICAgICAgICAgICBib2R5LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04OycsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoaHR0cF9yZXNwb25zZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNwb25zZUhhbmRsZXIudmFsaWRhdGVTaW5nbGVIdHRwUmVzcG9uc2UoXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlKSA9PiBuZXcgRXNvbHZlVXNlckFjY291bnRSZXN1bHQocmVzcG9uc2UpLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVIdHRwUG9zdEVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3NldC11c2VyLWFjY291bnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JSZXMsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRVc2VyQWNjb3VudCgpOiBPYnNlcnZhYmxlPEVzb2x2ZVVzZXJBY2NvdW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlVXNlckFjY291bnRSZWNvcmRbXT4+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC1hY2NvdW50LnBocGAsXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UucmVjb3Jkcy5sZW5ndGggPT09IDBcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlY29yZCA9IHJlc3BvbnNlLnJlY29yZHNbMF07XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc1VzZXJBY2NvdW50KHJlY29yZCk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZWxldGVVc2VyQWNjb3VudCgpOiBPYnNlcnZhYmxlPEVzb2x2ZVJlc3VsdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZGVsZXRlPEVzb2x2ZURlbGV0ZVJlc3BvbnNlPihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9kZWxldGUtYWNjb3VudC5waHBgLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChodHRwX3Jlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UucmVzdWx0ID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UucmVzdWx0ID09PSBudWxsIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLnJlc3VsdC5zdGF0dXMgIT09ICdzdWNjZXNzJ1xuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGh0dHBfcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZVJlc3VsdChcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UucmVzdWx0LnN0YXR1cyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UucmVzdWx0LmNvZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLnJlc3VsdC5tZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yUmVzOiBIdHRwRXJyb3JSZXNwb25zZSB8IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lcnJvckhhbmRsZXIuaGFuZGxlSHR0cERlbGV0ZUVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2RlbGV0ZS1hY2NvdW50JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yUmVzLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0QWRkcmVzcyhcbiAgICAgICAgYWRkcmVzc19wb3N0X2RhdGE6IEVzb2x2ZUFkZHJlc3NQb3N0RGF0YSxcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZUFkZHJlc3NSZXN1bHQ+IHtcbiAgICAgICAgY29uc3QgYm9keSA9IHtcbiAgICAgICAgICAgIGFkZHJlc3M6IGFkZHJlc3NfcG9zdF9kYXRhLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5wb3N0PEVzb2x2ZVNldFJlc3BvbnNlPEVzb2x2ZUFkZHJlc3NSZXNwb25zZT4+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NldC1hZGRyZXNzLnBocGAsXG4gICAgICAgICAgICAgICAgYm9keSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtODsnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGh0dHBfcmVzcG9uc2UpID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzcG9uc2VIYW5kbGVyLnZhbGlkYXRlU2luZ2xlSHR0cFJlc3BvbnNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIChyZXNwb25zZSkgPT4gbmV3IEVzb2x2ZUFkZHJlc3NSZXN1bHQocmVzcG9uc2UpLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVIdHRwUG9zdEVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3NldC1hZGRyZXNzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yUmVzLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QWRkcmVzc2VzKCk6IE9ic2VydmFibGU8RXNvbHZlQWRkcmVzc1tdPiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2luR3VhcmQoKTtcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgICAgIC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlQWRkcmVzc1JlY29yZFtdPj4oXG4gICAgICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC1hZGRyZXNzZXMucGhwYCxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7IHVzZXJfaWQ6IHRoaXMudXNlcl9pZCB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzVXNlckFkZHJlc3MocmVzcG9uc2UucmVjb3Jkcyk7XG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZGVsZXRlQWRkcmVzcyhpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxFc29sdmVSZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmRlbGV0ZTxFc29sdmVEZWxldGVSZXNwb25zZT4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZGVsZXRlLWFkZHJlc3MucGhwYCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczogeyBpZCB9LFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGh0dHBfcmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZS5yZXN1bHQgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZS5yZXN1bHQgPT09IG51bGwgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UucmVzdWx0LnN0YXR1cyAhPT0gJ3N1Y2Nlc3MnXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgaHR0cF9yZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRXNvbHZlUmVzdWx0KFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZS5yZXN1bHQuc3RhdHVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZS5yZXN1bHQuY29kZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UucmVzdWx0Lm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVIdHRwRGVsZXRlRXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGVsZXRlLWFkZHJlc3MnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JSZXMsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3RlcihcbiAgICAgICAgdXNlcl9yZWdpc3RyYXRpb246IEVzb2x2ZVJlZ2lzdHJhdGlvbkRhdGEsXG4gICAgICAgIGd1ZXN0ID0gZmFsc2UsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVSZWdpc3RyYXRpb25SZXN1bHQ+IHtcbiAgICAgICAgY29uc3QgYm9keSA9IHtcbiAgICAgICAgICAgIHVzZXI6IHVzZXJfcmVnaXN0cmF0aW9uLFxuICAgICAgICAgICAgZ3Vlc3RfcmVnaXN0cmF0aW9uOiBndWVzdCxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAucG9zdDxcbiAgICAgICAgICAgICAgICBFc29sdmVTZXRSZXNwb25zZTxcbiAgICAgICAgICAgICAgICAgICAgRXNvbHZlUmVnaXN0cmF0aW9uUG9zdFJlc3BvbnNlSXRlbSxcbiAgICAgICAgICAgICAgICAgICAgRXNvbHZlQXV0aFJlc3VsdFxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgID4oYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2V0LXJlZ2lzdHJhdGlvbi5waHBgLCBib2R5LCB7XG4gICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtODsnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoaHR0cF9yZXNwb25zZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNwb25zZUhhbmRsZXIudmFsaWRhdGVTaW5nbGVIdHRwUmVzcG9uc2UoXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlLCBhZGRpdGlvbmFsX2RhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UuYXV0b19sb2dpbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzZXNzaW9uX2RhdGEgPSByZXNwb25zZS5zZXNzaW9uX2RhdGE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB0b2tlbiA9ICcnO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheShhZGRpdGlvbmFsX2RhdGEpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2tlbiA9IGFkZGl0aW9uYWxfZGF0YS5rZXk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlc3Npb25TZXJ2aWNlLmhhbmRsZVVwZGF0ZVNlc3Npb24oe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcl9pZDogK3Jlc3BvbnNlLmVzb2x2ZV9pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2F0aW9uX2lkOiArc2Vzc2lvbl9kYXRhLmxvY2F0aW9uX2lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkcmVzc2VzX2lkOiArc2Vzc2lvbl9kYXRhLmFkZHJlc3Nlc19pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoaXBwaW5nX2lkOiArc2Vzc2lvbl9kYXRhLnNoaXBwaW5nX2lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRXNvbHZlUmVnaXN0cmF0aW9uUmVzdWx0KHJlc3BvbnNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUh0dHBQb3N0RXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2V0LXJlZ2lzdHJhdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvclJlcyxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGNoYW5nZVBhc3N3b3JkKFxuICAgICAgICBwYXNzd29yZDogc3RyaW5nLFxuICAgICAgICBjb25maXJtX3Bhc3N3b3JkOiBzdHJpbmcsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVDaGFuZ2VQYXNzd29yZFJlc3VsdD4ge1xuICAgICAgICBjb25zdCBib2R5ID0ge1xuICAgICAgICAgICAgcGFzc3dvcmQsXG4gICAgICAgICAgICBjb25maXJtX3Bhc3N3b3JkLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5wb3N0PEVzb2x2ZVNldFJlc3BvbnNlPihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXQtY2hhbmdlLXBhc3N3b3JkLnBocGAsXG4gICAgICAgICAgICAgICAgYm9keSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtODsnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGh0dHBfcmVzcG9uc2UpID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzcG9uc2VIYW5kbGVyLnZhbGlkYXRlU2luZ2xlSHR0cFJlc3BvbnNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRXNvbHZlQ2hhbmdlUGFzc3dvcmRSZXN1bHQocmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yUmVzOiBIdHRwRXJyb3JSZXNwb25zZSB8IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lcnJvckhhbmRsZXIuaGFuZGxlSHR0cFBvc3RFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICdzZXQtY2hhbmdlLXBhc3N3b3JkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yUmVzLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTdWJtaXRzIHRoZSB1c2VycyBjb25maXJtYXRpb24ga2V5IHRvIHRoZSByZWxldmFudCBiYWNrZW5kIHNlcnZlciBpbiBvcmRlciB0b1xuICAgICAqIGNvbmZpcm0gdGhlIGFjY291bnRzIHZhbGlkaXR5LiBUaGUga2V5IHdhcyBlbWFpbGVkIHRvIHRoZSB1c2VyIGhlbmNlIGlmIGhlIHJlY2VpdmVkXG4gICAgICogaXQgYW5kIGVudGVycyB0aGUgdmFsdWUsIHRoZSBlbWFpbCBhY2NvdW50IGNhbiBiZSBzZWVuIGFzIHZhbGlkLlxuICAgICAqXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IHRoYXQgd2FzIGVtYWlsZWQgdG8gdGhlIHJlZ2lzdGVyZWQgdXNlcidzIGVtYWlsIGFjY291bnQuXG4gICAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHRoYXQgY29udGFpbnMgdGhlIHJlc3VsdCBvZiB0aGUgYWNjb3VudCBjb25maXJtYXRpb24gcmVxdWVzdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgYWNjb3VudENvbmZpcm1hdGlvblJlcXVlc3QoXG4gICAgICAgIGtleTogc3RyaW5nLFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlQWNjb3VudENvbmZpcm1hdGlvblJlc3VsdD4ge1xuICAgICAgICBjb25zdCBib2R5ID0ge1xuICAgICAgICAgICAga2V5LFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5wb3N0PEVzb2x2ZVNldFJlc3BvbnNlPEVzb2x2ZUFjY291bnRDb25maXJtYXRpb25Qb3N0UmVzcG9uc2VJdGVtPj4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2V0LWFjY291bnQtY29uZmlybWF0aW9uLnBocGAsXG4gICAgICAgICAgICAgICAgYm9keSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtODsnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGh0dHBfcmVzcG9uc2UpID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzcG9uc2VIYW5kbGVyLnZhbGlkYXRlU2luZ2xlSHR0cFJlc3BvbnNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5hdXRvX2xvZ2luKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2Vzc2lvblNlcnZpY2UuaGFuZGxlVXBkYXRlU2Vzc2lvbih7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyX2lkOiArcmVzcG9uc2UuZXNvbHZlX2lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb25faWQ6ICtyZXNwb25zZS5sb2NhdGlvbl9pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3Nlc19pZDogK3Jlc3BvbnNlLmFkZHJlc3Nlc19pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoaXBwaW5nX2lkOiArcmVzcG9uc2Uuc2hpcHBpbmdfaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRXNvbHZlQWNjb3VudENvbmZpcm1hdGlvblJlc3VsdChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUh0dHBQb3N0RXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2V0LWFjY291bnQtY29uZmlybWF0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yUmVzLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VuZEZvcmdvdFBhc3N3b3JkUmVxdWVzdChlbWFpbDogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlRm9yZ290UGFzc3dvcmRHZXRSZXN1bHQ+PihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtZm9yZ290LXBhc3N3b3JkLnBocGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHsgZW1haWwgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICEoJ3Jlc2V0X2xpbmtfc2VudCcgaW4gcmVzcG9uc2UucmVjb3JkcylcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5yZWNvcmRzLnJlc2V0X2xpbmtfc2VudDtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlc2V0UGFzc3dvcmQoXG4gICAgICAgIHJlc2V0X2tleTogc3RyaW5nLFxuICAgICAgICBwYXNzd29yZDogc3RyaW5nLFxuICAgICAgICBjb25maXJtX3Bhc3N3b3JkOiBzdHJpbmcsXG4gICAgICAgIGF1dG9fbG9naW4gPSB0cnVlLFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlUmVzZXRQYXNzd29yZFJlc3VsdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAucG9zdDxFc29sdmVTZXRSZXNwb25zZTxFc29sdmVGb3Jnb3RQYXNzd29yZFJlc3BvbnNlPj4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2V0LWZvcmdvdC1wYXNzd29yZC5waHBgLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzZXRfa2V5LFxuICAgICAgICAgICAgICAgICAgICBwYXNzd29yZCxcbiAgICAgICAgICAgICAgICAgICAgY29uZmlybV9wYXNzd29yZCxcbiAgICAgICAgICAgICAgICAgICAgYXV0b19sb2dpbixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04OycsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoaHR0cF9yZXNwb25zZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNwb25zZUhhbmRsZXIudmFsaWRhdGVTaW5nbGVIdHRwUmVzcG9uc2UoXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFyZXNwb25zZS5sb2dpbl9yZXF1aXJlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzZXNzaW9uX2RhdGEgPSByZXNwb25zZS5zZXNzaW9uX2RhdGE7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXNzaW9uU2VydmljZS5oYW5kbGVVcGRhdGVTZXNzaW9uKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJfaWQ6ICtyZXNwb25zZS5lc29sdmVfaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbl9pZDogK3Nlc3Npb25fZGF0YS5sb2NhdGlvbl9pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3Nlc19pZDogK3Nlc3Npb25fZGF0YS5hZGRyZXNzZXNfaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGlwcGluZ19pZDogK3Nlc3Npb25fZGF0YS5zaGlwcGluZ19pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVSZXNldFBhc3N3b3JkUmVzdWx0KHJlc3BvbnNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUh0dHBQb3N0RXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2V0LWZvcmdvdC1wYXNzd29yZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvclJlcyxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZUxvY2F0aW9uKFxuICAgICAgICBsb2NhdGlvbl9pZDogbnVtYmVyLFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlTG9jYXRpb25VcGRhdGVSZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXBkYXRlVXNlckxvY2F0aW9uKHsgbG9jYXRpb25faWQgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZUxvY2F0aW9uT25FcnAoXG4gICAgICAgIGVycDogc3RyaW5nLFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlTG9jYXRpb25VcGRhdGVSZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXBkYXRlVXNlckxvY2F0aW9uKHsgZXJwIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGVTZXNzaW9uQWRkcmVzcyhcbiAgICAgICAgYWRkcmVzc2VzX2lkOiBudW1iZXIsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVTZXNzaW9uQWRkcmVzc1VwZGF0ZVJlc3VsdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAucG9zdDxFc29sdmVTZXRSZXNwb25zZT4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2V0LXNlc3Npb24tYWRkcmVzcy5waHBgLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYWRkcmVzc2VzX2lkLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTg7JyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChodHRwX3Jlc3BvbnNlKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc3BvbnNlSGFuZGxlci52YWxpZGF0ZVNpbmdsZUh0dHBSZXNwb25zZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHJlc3BvbnNlLmVzb2x2ZV9pZCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHJlc3BvbnNlIGlkLicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2Vzc2lvblNlcnZpY2UuaGFuZGxlVXBkYXRlU2Vzc2lvbih7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3Nlc19pZDogK3Jlc3BvbnNlLmVzb2x2ZV9pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRXNvbHZlU2Vzc2lvbkFkZHJlc3NVcGRhdGVSZXN1bHQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGVTZXNzaW9uU2hpcHBpbmcoXG4gICAgICAgIHNoaXBwaW5nX2lkOiBudW1iZXIsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVTZXNzaW9uU2hpcHBpbmdVcGRhdGVSZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLnBvc3Q8RXNvbHZlU2V0UmVzcG9uc2U+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NldC1zZXNzaW9uLXNoaXBwaW5nLnBocGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBzaGlwcGluZ19pZCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04OycsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoaHR0cF9yZXNwb25zZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNwb25zZUhhbmRsZXIudmFsaWRhdGVTaW5nbGVIdHRwUmVzcG9uc2UoXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiByZXNwb25zZS5lc29sdmVfaWQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCByZXNwb25zZSBpZC4nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlc3Npb25TZXJ2aWNlLmhhbmRsZVVwZGF0ZVNlc3Npb24oe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGlwcGluZ19pZDogK3Jlc3BvbnNlLmVzb2x2ZV9pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRXNvbHZlU2Vzc2lvblNoaXBwaW5nVXBkYXRlUmVzdWx0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBVc2UgRXNvbHZlVHJhbnNhY3Rpb25zU2VydmljZSBmb3IgZnV0dXJlIHRyYW5zYWN0aW9uIHJlcXVlc3RzXG4gICAgICovXG4gICAgcHVibGljIGdldFRyYW5zYWN0aW9ucyhcbiAgICAgICAgb3B0aW9uczogRXNvbHZlVHJhbnNhY3Rpb25PcHRpb25zID0ge30sXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVUcmFuc2FjdGlvbkxpc3Q+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMubG9naW5HdWFyZCgpO1xuXG4gICAgICAgICAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcblxuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgndXNlcl9pZCcsIHRoaXMudXNlcl9pZCk7XG5cbiAgICAgICAgICAgIGlmIChvcHRpb25zLnR5cGUpIHtcbiAgICAgICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd0eXBlJywgb3B0aW9ucy50eXBlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9wdGlvbnMucGFnZSkge1xuICAgICAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3BhZ2UnLCBvcHRpb25zLnBhZ2UpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAob3B0aW9ucy5yb3dzKSB7XG4gICAgICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgncm93cycsIG9wdGlvbnMucm93cyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChvcHRpb25zLmZyb21fZGF0ZSkge1xuICAgICAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2Zyb21fZGF0ZScsIG9wdGlvbnMuZnJvbV9kYXRlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9wdGlvbnMudG9fZGF0ZSkge1xuICAgICAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3RvX2RhdGUnLCBvcHRpb25zLnRvX2RhdGUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAob3B0aW9ucy5maWx0ZXJzKSB7XG4gICAgICAgICAgICAgICAgbGV0IGZpbHRlcnMgPSBvcHRpb25zLmZpbHRlcnM7XG5cbiAgICAgICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoZmlsdGVycykpIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVycyA9IEVzb2x2ZUZpbHRlckZhY3RvcnkuY292ZXJ0RnJvbU9iaihmaWx0ZXJzKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBwYXJhbXMgPSBFc29sdmVGaWx0ZXJGYWN0b3J5LmNvbnZlcnRUb0h0dHBQYXJhbXMoXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcnMsXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtcyxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAgICAgLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVUcmFuc2FjdGlvblJlY29yZFtdPj4oXG4gICAgICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC10cmFuc2FjdGlvbnMucGhwYCxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtcyA9IHRoaXMucHJvY2Vzc1RyYW5zYWN0aW9ucyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5yZWNvcmRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRvdGFsID0gKyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5hZGRpdGlvbmFsX2RhdGEudG90YWxfcmVjb3JkcyA/PyAwXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgcm93cyA9IG9wdGlvbnMucm93cyA/PyB0b3RhbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhZ2UgPSBvcHRpb25zLnBhZ2UgfHwgMTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVUcmFuc2FjdGlvbkxpc3QoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3dzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsLFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIFVzZSBFc29sdmVUcmFuc2FjdGlvbnNTZXJ2aWNlIGZvciBmdXR1cmUgdHJhbnNhY3Rpb24gcmVxdWVzdHNcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VHJhbnNhY3Rpb24oaWQ6IG51bWJlcik6IE9ic2VydmFibGU8RXNvbHZlVHJhbnNhY3Rpb24+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMubG9naW5HdWFyZCgpO1xuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAgICAgLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVUcmFuc2FjdGlvblJlY29yZFtdPj4oXG4gICAgICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC10cmFuc2FjdGlvbnMucGhwYCxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcl9pZDogdGhpcy51c2VyX2lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uX2lkOiBpZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UucmVjb3Jkcy5sZW5ndGggPD0gMFxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5wcm9jZXNzVHJhbnNhY3Rpb25zKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnJlY29yZHMsXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbXNbMF07XG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q2xpZW50QWNjb3VudEJhbGFuY2VzKCk6IE9ic2VydmFibGU8XG4gICAgICAgIEVzb2x2ZVVzZXJDbGllbnRBY2NvdW50QmFsYW5jZXMgfCB1bmRlZmluZWRcbiAgICA+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMubG9naW5HdWFyZCgpO1xuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAgICAgLmdldDxcbiAgICAgICAgICAgICAgICAgICAgRXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlVXNlckNsaWVudEFjY291bnRCYWxhbmNlc1JlY29yZFtdPlxuICAgICAgICAgICAgICAgID4oYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LWNsaWVudC1hY2NvdW50LWJhbGFuY2VzLnBocGApXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0NsaWVudEJhbGFuY2VzKHJlc3BvbnNlLnJlY29yZHMpO1xuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdlbmVyYXRlU3RhdGVtZW50RG93bmxvYWRMaW5rKGNsaWVudHNfaWQ6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2luR3VhcmQoKTtcblxuICAgICAgICAgICAgaWYgKGNsaWVudHNfaWQgPD0gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgYmFzZV91cmwgPSBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtZ2VuZXJhdGVkLXBkZi5waHBgO1xuICAgICAgICAgICAgY29uc3QgcXVlcmllcyA9IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGtleTogJ3dzX2lkJyxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMuY29uZmlnLndzaWQsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGtleTogJ2NsaWVudHNfaWQnLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogY2xpZW50c19pZCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAga2V5OiAna2V5JyxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMuc2Vzc2lvblNlcnZpY2UuZ2V0VG9rZW4oKSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXTtcblxuICAgICAgICAgICAgY29uc3QgcXVlcnlfc3RyaW5nID0gcXVlcmllc1xuICAgICAgICAgICAgICAgIC5tYXAoKHF1ZXJ5KSA9PiBgJHtxdWVyeS5rZXl9PSR7cXVlcnkudmFsdWV9YClcbiAgICAgICAgICAgICAgICAuam9pbignJicpO1xuXG4gICAgICAgICAgICByZXR1cm4gYCR7YmFzZV91cmx9PyR7cXVlcnlfc3RyaW5nfWA7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NVc2VyQWNjb3VudChcbiAgICAgICAgcmVjb3JkOiBFc29sdmVVc2VyQWNjb3VudFJlY29yZCxcbiAgICApOiBFc29sdmVVc2VyQWNjb3VudCB7XG4gICAgICAgIGlmICghcmVjb3JkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgcmVjb3JkJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoK3JlY29yZC51c2VyaWQgIT09IHRoaXMuX3VzZXJfaWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB1c2VyIGFjY291bnQgcmV0cmlldmVkJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZVVzZXJBY2NvdW50KHJlY29yZCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzVXNlckFkZHJlc3MoXG4gICAgICAgIHJlY29yZHM6IEVzb2x2ZUFkZHJlc3NSZWNvcmRbXSxcbiAgICApOiBFc29sdmVBZGRyZXNzW10ge1xuICAgICAgICBjb25zdCB1c2VyX2FkZHJlc3NlczogRXNvbHZlQWRkcmVzc1tdID0gW107XG5cbiAgICAgICAgaWYgKCFyZWNvcmRzIHx8IHRoaXMuX3VzZXJfaWQgPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiB1c2VyX2FkZHJlc3NlcztcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3QgcmVjb3JkIG9mIHJlY29yZHMpIHtcbiAgICAgICAgICAgIGlmICgrcmVjb3JkLnVzZXJpZCAhPT0gdGhpcy5fdXNlcl9pZCkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1c2VyX2FkZHJlc3Nlcy5wdXNoKG5ldyBFc29sdmVBZGRyZXNzKHJlY29yZCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVzZXJfYWRkcmVzc2VzO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc1RyYW5zYWN0aW9ucyhcbiAgICAgICAgcmVjb3JkczogRXNvbHZlVHJhbnNhY3Rpb25SZWNvcmRbXSxcbiAgICApOiBFc29sdmVUcmFuc2FjdGlvbltdIHtcbiAgICAgICAgY29uc3QgdHJhbnNhY3Rpb25zOiBFc29sdmVUcmFuc2FjdGlvbltdID0gW107XG5cbiAgICAgICAgaWYgKHJlY29yZHMpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgcmVjb3JkIG9mIHJlY29yZHMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0cmFuc2FjdGlvbiA9IG5ldyBFc29sdmVUcmFuc2FjdGlvbihyZWNvcmQpO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNhY3Rpb25zLnB1c2godHJhbnNhY3Rpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRyYW5zYWN0aW9ucztcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NDbGllbnRCYWxhbmNlcyhcbiAgICAgICAgcmVjb3JkczogRXNvbHZlVXNlckNsaWVudEFjY291bnRCYWxhbmNlc1JlY29yZFtdLFxuICAgICk6IEVzb2x2ZVVzZXJDbGllbnRBY2NvdW50QmFsYW5jZXMgfCB1bmRlZmluZWQge1xuICAgICAgICBmb3IgKGNvbnN0IHJlY29yZCBvZiByZWNvcmRzKSB7XG4gICAgICAgICAgICBpZiAoK3JlY29yZC5jbGllbnRzX2lkIDw9IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBjYXJ0X3RvdGFscyA9IG5ldyBFc29sdmVDYXJ0VG90YWxzKHJlY29yZC5jYXJ0X3RvdGFscyk7XG5cbiAgICAgICAgICAgIHJldHVybiBuZXcgRXNvbHZlVXNlckNsaWVudEFjY291bnRCYWxhbmNlcyhcbiAgICAgICAgICAgICAgICArcmVjb3JkLmNsaWVudHNfaWQsXG4gICAgICAgICAgICAgICAgcmVjb3JkLmFjY291bnQsXG4gICAgICAgICAgICAgICAgY2FydF90b3RhbHMsXG4gICAgICAgICAgICAgICAgK3JlY29yZC5jcmVkaXRfbGltaXQsXG4gICAgICAgICAgICAgICAgK3JlY29yZC5leHRlcm5hbF9hY2NvdW50X2JhbGFuY2UsXG4gICAgICAgICAgICAgICAgK3JlY29yZC5leHRlcm5hbF9hdmFpbGFibGVfYmFsYW5jZSxcbiAgICAgICAgICAgICAgICArcmVjb3JkLm5ld19leHRlcm5hbF9hdmFpbGFibGVfYmFsYW5jZSxcbiAgICAgICAgICAgICAgICAhIStyZWNvcmQuY3JlZGl0X2xpbWl0X29rYXksXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGxvZ2luR3VhcmQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnVzZXJfaWQgPD0gMCkge1xuICAgICAgICAgICAgdGhpcy5lcnJvckhhbmRsZXIudGhyb3dFcnJvcignbG9naW5fcmVxdWlyZWQnLCAnTG9naW4gaXMgcmVxdWlyZWQnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlVXNlckxvY2F0aW9uKFxuICAgICAgICBib2R5OiBFc29sdmVMb2NhdGlvbk9wdGlvbixcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZUxvY2F0aW9uVXBkYXRlUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5wb3N0PEVzb2x2ZVNldFJlc3BvbnNlPihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXQtc2Vzc2lvbi1sb2NhdGlvbi5waHBgLFxuICAgICAgICAgICAgICAgIGJvZHksXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTg7JyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChodHRwX3Jlc3BvbnNlKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc3BvbnNlSGFuZGxlci52YWxpZGF0ZVNpbmdsZUh0dHBSZXNwb25zZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHJlc3BvbnNlLmVzb2x2ZV9pZCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHJlc3BvbnNlIGlkLicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2Vzc2lvblNlcnZpY2UuaGFuZGxlVXBkYXRlU2Vzc2lvbih7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2F0aW9uX2lkOiArcmVzcG9uc2UuZXNvbHZlX2lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVMb2NhdGlvblVwZGF0ZVJlc3VsdChyZXNwb25zZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
@@ -8,4 +8,4 @@ export class EsolveSessionShippingUpdateResult extends EsolveResponseResult {
8
8
  this.shipping_updated = response.esolve_id > 0;
9
9
  }
10
10
  }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNlc3Npb24tc2hpcHBpbmctcmVzdWx0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL2FjY291bnQvZXNvbHZlLXNlc3Npb24tc2hpcHBpbmctcmVzdWx0Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBMEIsb0JBQW9CLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFekUsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLG9CQUFvQjtJQUd2RSxZQUFZLFFBQWdDO1FBQ3hDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVoQixJQUFJLE9BQU8sUUFBUSxDQUFDLFNBQVMsS0FBSyxRQUFRLEVBQUU7WUFDeEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1NBQzNDO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ25ELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVzb2x2ZVBvc3RSZXNwb25zZUl0ZW0sIEVzb2x2ZVJlc3BvbnNlUmVzdWx0IH0gZnJvbSAnLi4vc2hhcmVkJztcblxuZXhwb3J0IGNsYXNzIEVzb2x2ZVNlc3Npb25TaGlwcGluZ1VwZGF0ZVJlc3VsdCBleHRlbmRzIEVzb2x2ZVJlc3BvbnNlUmVzdWx0IHtcbiAgICBwdWJsaWMgc2hpcHBpbmdfdXBkYXRlZDogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKHJlc3BvbnNlOiBFc29sdmVQb3N0UmVzcG9uc2VJdGVtKSB7XG4gICAgICAgIHN1cGVyKHJlc3BvbnNlKTtcblxuICAgICAgICBpZiAodHlwZW9mIHJlc3BvbnNlLmVzb2x2ZV9pZCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCByZXNwb25zZSBpZC4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2hpcHBpbmdfdXBkYXRlZCA9IHJlc3BvbnNlLmVzb2x2ZV9pZCA+IDA7XG4gICAgfVxufVxuIl19
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNlc3Npb24tc2hpcHBpbmctcmVzdWx0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL2FjY291bnQvZXNvbHZlLXNlc3Npb24tc2hpcHBpbmctcmVzdWx0Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBMEIsb0JBQW9CLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFekUsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLG9CQUFvQjtJQUd2RSxZQUFZLFFBQWdDO1FBQ3hDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVoQixJQUFJLE9BQU8sUUFBUSxDQUFDLFNBQVMsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN6QyxNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUVELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUNuRCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFc29sdmVQb3N0UmVzcG9uc2VJdGVtLCBFc29sdmVSZXNwb25zZVJlc3VsdCB9IGZyb20gJy4uL3NoYXJlZCc7XG5cbmV4cG9ydCBjbGFzcyBFc29sdmVTZXNzaW9uU2hpcHBpbmdVcGRhdGVSZXN1bHQgZXh0ZW5kcyBFc29sdmVSZXNwb25zZVJlc3VsdCB7XG4gICAgcHVibGljIHNoaXBwaW5nX3VwZGF0ZWQ6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvcihyZXNwb25zZTogRXNvbHZlUG9zdFJlc3BvbnNlSXRlbSkge1xuICAgICAgICBzdXBlcihyZXNwb25zZSk7XG5cbiAgICAgICAgaWYgKHR5cGVvZiByZXNwb25zZS5lc29sdmVfaWQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgcmVzcG9uc2UgaWQuJyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNoaXBwaW5nX3VwZGF0ZWQgPSByZXNwb25zZS5lc29sdmVfaWQgPiAwO1xuICAgIH1cbn1cbiJdfQ==
@@ -8,4 +8,4 @@ export class EsolveLocationUpdateResult extends EsolveResponseResult {
8
8
  this.location_updated = response.esolve_id > 0;
9
9
  }
10
10
  }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWxvY2F0aW9uLXVwZGF0ZS1yZXN1bHQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvYWNjb3VudC9sb2NhdGlvbi9jbGFzc2VzL2Vzb2x2ZS1sb2NhdGlvbi11cGRhdGUtcmVzdWx0Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxvQkFBb0IsR0FDdkIsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsb0JBQW9CO0lBR2hFLFlBQVksUUFBZ0M7UUFDeEMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRWhCLElBQUksT0FBTyxRQUFRLENBQUMsU0FBUyxLQUFLLFFBQVEsRUFBRTtZQUN4QyxNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7U0FDM0M7UUFFRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDbkQsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBFc29sdmVQb3N0UmVzcG9uc2VJdGVtLFxuICAgIEVzb2x2ZVJlc3BvbnNlUmVzdWx0LFxufSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvcmVzcG9uc2UnO1xuXG5leHBvcnQgY2xhc3MgRXNvbHZlTG9jYXRpb25VcGRhdGVSZXN1bHQgZXh0ZW5kcyBFc29sdmVSZXNwb25zZVJlc3VsdCB7XG4gICAgcHVibGljIGxvY2F0aW9uX3VwZGF0ZWQ6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvcihyZXNwb25zZTogRXNvbHZlUG9zdFJlc3BvbnNlSXRlbSkge1xuICAgICAgICBzdXBlcihyZXNwb25zZSk7XG5cbiAgICAgICAgaWYgKHR5cGVvZiByZXNwb25zZS5lc29sdmVfaWQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgcmVzcG9uc2UgaWQuJyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmxvY2F0aW9uX3VwZGF0ZWQgPSByZXNwb25zZS5lc29sdmVfaWQgPiAwO1xuICAgIH1cbn1cbiJdfQ==
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWxvY2F0aW9uLXVwZGF0ZS1yZXN1bHQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvYWNjb3VudC9sb2NhdGlvbi9jbGFzc2VzL2Vzb2x2ZS1sb2NhdGlvbi11cGRhdGUtcmVzdWx0Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxvQkFBb0IsR0FDdkIsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsb0JBQW9CO0lBR2hFLFlBQVksUUFBZ0M7UUFDeEMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRWhCLElBQUksT0FBTyxRQUFRLENBQUMsU0FBUyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3pDLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ25ELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRXNvbHZlUG9zdFJlc3BvbnNlSXRlbSxcbiAgICBFc29sdmVSZXNwb25zZVJlc3VsdCxcbn0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3Jlc3BvbnNlJztcblxuZXhwb3J0IGNsYXNzIEVzb2x2ZUxvY2F0aW9uVXBkYXRlUmVzdWx0IGV4dGVuZHMgRXNvbHZlUmVzcG9uc2VSZXN1bHQge1xuICAgIHB1YmxpYyBsb2NhdGlvbl91cGRhdGVkOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IocmVzcG9uc2U6IEVzb2x2ZVBvc3RSZXNwb25zZUl0ZW0pIHtcbiAgICAgICAgc3VwZXIocmVzcG9uc2UpO1xuXG4gICAgICAgIGlmICh0eXBlb2YgcmVzcG9uc2UuZXNvbHZlX2lkID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHJlc3BvbnNlIGlkLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5sb2NhdGlvbl91cGRhdGVkID0gcmVzcG9uc2UuZXNvbHZlX2lkID4gMDtcbiAgICB9XG59XG4iXX0=
@@ -6,4 +6,4 @@ export class EsolveStatementAgeing {
6
6
  }
7
7
  }
8
8
  }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0YXRlbWVudC1hZ2VpbmcubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvYWNjb3VudC91c2VyLWFjY291bnQvY2xhc3Nlcy9lc29sdmUtc3RhdGVtZW50LWFnZWluZy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8scUJBQXFCO0lBSTlCLFlBQVksTUFBNkM7UUFDckQsSUFBSSxNQUFNLEVBQUU7WUFDUixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDdkM7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFc29sdmVTdGF0ZW1lbnRBZ2VpbmdSZWNvcmQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNsYXNzIEVzb2x2ZVN0YXRlbWVudEFnZWluZyB7XG4gICAgcHVibGljIGRheXM/OiBudW1iZXI7XG4gICAgcHVibGljIGFtb3VudD86IG51bWJlcjtcblxuICAgIGNvbnN0cnVjdG9yKHJlY29yZD86IFBhcnRpYWw8RXNvbHZlU3RhdGVtZW50QWdlaW5nUmVjb3JkPikge1xuICAgICAgICBpZiAocmVjb3JkKSB7XG4gICAgICAgICAgICB0aGlzLmRheXMgPSArKHJlY29yZC5kYXlzID8/IDApO1xuICAgICAgICAgICAgdGhpcy5hbW91bnQgPSArKHJlY29yZC5hbW91bnQgPz8gMCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0YXRlbWVudC1hZ2VpbmcubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvYWNjb3VudC91c2VyLWFjY291bnQvY2xhc3Nlcy9lc29sdmUtc3RhdGVtZW50LWFnZWluZy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8scUJBQXFCO0lBSTlCLFlBQVksTUFBNkM7UUFDckQsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN4QyxDQUFDO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXNvbHZlU3RhdGVtZW50QWdlaW5nUmVjb3JkIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBjbGFzcyBFc29sdmVTdGF0ZW1lbnRBZ2Vpbmcge1xuICAgIHB1YmxpYyBkYXlzPzogbnVtYmVyO1xuICAgIHB1YmxpYyBhbW91bnQ/OiBudW1iZXI7XG5cbiAgICBjb25zdHJ1Y3RvcihyZWNvcmQ/OiBQYXJ0aWFsPEVzb2x2ZVN0YXRlbWVudEFnZWluZ1JlY29yZD4pIHtcbiAgICAgICAgaWYgKHJlY29yZCkge1xuICAgICAgICAgICAgdGhpcy5kYXlzID0gKyhyZWNvcmQuZGF5cyA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMuYW1vdW50ID0gKyhyZWNvcmQuYW1vdW50ID8/IDApO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -12,4 +12,4 @@ export class EsolveStatementBalances {
12
12
  }
13
13
  }
14
14
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0YXRlbWVudC1iYWxhbmNlcy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9hY2NvdW50L3VzZXItYWNjb3VudC9jbGFzc2VzL2Vzb2x2ZS1zdGF0ZW1lbnQtYmFsYW5jZXMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFeEUsTUFBTSxPQUFPLHVCQUF1QjtJQUloQyxZQUFZLE1BQStDO1FBQ3ZELElBQUksTUFBTSxFQUFFO1lBQ1IsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztZQUVsQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7Z0JBRWpCLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRTtvQkFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ1osSUFBSSxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQ2hELENBQUM7aUJBQ0w7YUFDSjtTQUNKO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXNvbHZlU3RhdGVtZW50QmFsYW5jZXNSZWNvcmQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuaW1wb3J0IHsgRXNvbHZlU3RhdGVtZW50QWdlaW5nIH0gZnJvbSAnLi9lc29sdmUtc3RhdGVtZW50LWFnZWluZy5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBFc29sdmVTdGF0ZW1lbnRCYWxhbmNlcyB7XG4gICAgcHVibGljIHRvdGFsPzogbnVtYmVyO1xuICAgIHB1YmxpYyBhZ2Vpbmc/OiBFc29sdmVTdGF0ZW1lbnRBZ2VpbmdbXTtcblxuICAgIGNvbnN0cnVjdG9yKHJlY29yZD86IFBhcnRpYWw8RXNvbHZlU3RhdGVtZW50QmFsYW5jZXNSZWNvcmQ+KSB7XG4gICAgICAgIGlmIChyZWNvcmQpIHtcbiAgICAgICAgICAgIHRoaXMudG90YWwgPSArKHJlY29yZC50b3RhbCA/PyAwKTtcblxuICAgICAgICAgICAgaWYgKHJlY29yZC5hZ2VpbmcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFnZWluZyA9IFtdO1xuXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gcmVjb3JkLmFnZWluZykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFnZWluZy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEVzb2x2ZVN0YXRlbWVudEFnZWluZyhyZWNvcmQuYWdlaW5nW2tleV0pLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0YXRlbWVudC1iYWxhbmNlcy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9hY2NvdW50L3VzZXItYWNjb3VudC9jbGFzc2VzL2Vzb2x2ZS1zdGF0ZW1lbnQtYmFsYW5jZXMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFeEUsTUFBTSxPQUFPLHVCQUF1QjtJQUloQyxZQUFZLE1BQStDO1FBQ3ZELElBQUksTUFBTSxFQUFFLENBQUM7WUFDVCxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBRWxDLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztnQkFFakIsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNaLElBQUkscUJBQXFCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUNoRCxDQUFDO2dCQUNOLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVzb2x2ZVN0YXRlbWVudEJhbGFuY2VzUmVjb3JkIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbmltcG9ydCB7IEVzb2x2ZVN0YXRlbWVudEFnZWluZyB9IGZyb20gJy4vZXNvbHZlLXN0YXRlbWVudC1hZ2VpbmcubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgRXNvbHZlU3RhdGVtZW50QmFsYW5jZXMge1xuICAgIHB1YmxpYyB0b3RhbD86IG51bWJlcjtcbiAgICBwdWJsaWMgYWdlaW5nPzogRXNvbHZlU3RhdGVtZW50QWdlaW5nW107XG5cbiAgICBjb25zdHJ1Y3RvcihyZWNvcmQ/OiBQYXJ0aWFsPEVzb2x2ZVN0YXRlbWVudEJhbGFuY2VzUmVjb3JkPikge1xuICAgICAgICBpZiAocmVjb3JkKSB7XG4gICAgICAgICAgICB0aGlzLnRvdGFsID0gKyhyZWNvcmQudG90YWwgPz8gMCk7XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQuYWdlaW5nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZ2VpbmcgPSBbXTtcblxuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIHJlY29yZC5hZ2VpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hZ2VpbmcucHVzaChcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBFc29sdmVTdGF0ZW1lbnRBZ2VpbmcocmVjb3JkLmFnZWluZ1trZXldKSxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -12,4 +12,4 @@ export class EsolveStatementTransaction {
12
12
  }
13
13
  }
14
14
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0YXRlbWVudC10cmFuc2FjdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9hY2NvdW50L3VzZXItYWNjb3VudC9jbGFzc2VzL2Vzb2x2ZS1zdGF0ZW1lbnQtdHJhbnNhY3Rpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLDBCQUEwQjtJQVVuQyxZQUFZLE1BQWtEO1FBQzFELElBQUksTUFBTSxFQUFFO1lBQ1IsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQztZQUNoRCxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDO1lBQzlDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDO1lBQzlDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUM1QyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsQ0FBQztTQUNoRDtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVzb2x2ZVN0YXRlbWVudFRyYW5zYWN0aW9uUmVjb3JkIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBjbGFzcyBFc29sdmVTdGF0ZW1lbnRUcmFuc2FjdGlvbiB7XG4gICAgcHVibGljIGRvY3VtZW50X2RhdGU/OiBzdHJpbmc7XG4gICAgcHVibGljIG9yZGVyX251bWJlcj86IHN0cmluZztcbiAgICBwdWJsaWMgY29tbWVudD86IHN0cmluZztcbiAgICBwdWJsaWMgYWNjb3VudD86IHN0cmluZztcbiAgICBwdWJsaWMgaXFfcmVmZXJlbmNlPzogc3RyaW5nO1xuICAgIHB1YmxpYyB0b3RhbD86IG51bWJlcjtcbiAgICBwdWJsaWMgYW1vdW50X2R1ZT86IG51bWJlcjtcbiAgICBwdWJsaWMgaXNfZGViaXQ/OiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IocmVjb3JkPzogUGFydGlhbDxFc29sdmVTdGF0ZW1lbnRUcmFuc2FjdGlvblJlY29yZD4pIHtcbiAgICAgICAgaWYgKHJlY29yZCkge1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudF9kYXRlID0gcmVjb3JkLmRvY3VtZW50X2RhdGUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLm9yZGVyX251bWJlciA9IHJlY29yZC5vcmRlcl9udW1iZXIgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmNvbW1lbnQgPSByZWNvcmQuY29tbWVudCA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuYWNjb3VudCA9IHJlY29yZC5hY2NvdW50ID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5pcV9yZWZlcmVuY2UgPSByZWNvcmQuaXFfcmVmZXJlbmNlID8/ICcnO1xuICAgICAgICAgICAgdGhpcy50b3RhbCA9ICsocmVjb3JkLnRvdGFsID8/IDApO1xuICAgICAgICAgICAgdGhpcy5hbW91bnRfZHVlID0gKyhyZWNvcmQuYW1vdW50X2R1ZSA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMuaXNfZGViaXQgPSAhISsocmVjb3JkLmlzX2RlYml0ID8/IHRydWUpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0YXRlbWVudC10cmFuc2FjdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9hY2NvdW50L3VzZXItYWNjb3VudC9jbGFzc2VzL2Vzb2x2ZS1zdGF0ZW1lbnQtdHJhbnNhY3Rpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLDBCQUEwQjtJQVVuQyxZQUFZLE1BQWtEO1FBQzFELElBQUksTUFBTSxFQUFFLENBQUM7WUFDVCxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDO1lBQ2hELElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7WUFDOUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7WUFDOUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQ2pELENBQUM7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFc29sdmVTdGF0ZW1lbnRUcmFuc2FjdGlvblJlY29yZCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5leHBvcnQgY2xhc3MgRXNvbHZlU3RhdGVtZW50VHJhbnNhY3Rpb24ge1xuICAgIHB1YmxpYyBkb2N1bWVudF9kYXRlPzogc3RyaW5nO1xuICAgIHB1YmxpYyBvcmRlcl9udW1iZXI/OiBzdHJpbmc7XG4gICAgcHVibGljIGNvbW1lbnQ/OiBzdHJpbmc7XG4gICAgcHVibGljIGFjY291bnQ/OiBzdHJpbmc7XG4gICAgcHVibGljIGlxX3JlZmVyZW5jZT86IHN0cmluZztcbiAgICBwdWJsaWMgdG90YWw/OiBudW1iZXI7XG4gICAgcHVibGljIGFtb3VudF9kdWU/OiBudW1iZXI7XG4gICAgcHVibGljIGlzX2RlYml0PzogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKHJlY29yZD86IFBhcnRpYWw8RXNvbHZlU3RhdGVtZW50VHJhbnNhY3Rpb25SZWNvcmQ+KSB7XG4gICAgICAgIGlmIChyZWNvcmQpIHtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRfZGF0ZSA9IHJlY29yZC5kb2N1bWVudF9kYXRlID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5vcmRlcl9udW1iZXIgPSByZWNvcmQub3JkZXJfbnVtYmVyID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5jb21tZW50ID0gcmVjb3JkLmNvbW1lbnQgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmFjY291bnQgPSByZWNvcmQuYWNjb3VudCA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuaXFfcmVmZXJlbmNlID0gcmVjb3JkLmlxX3JlZmVyZW5jZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMudG90YWwgPSArKHJlY29yZC50b3RhbCA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMuYW1vdW50X2R1ZSA9ICsocmVjb3JkLmFtb3VudF9kdWUgPz8gMCk7XG4gICAgICAgICAgICB0aGlzLmlzX2RlYml0ID0gISErKHJlY29yZC5pc19kZWJpdCA/PyB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -9,4 +9,4 @@ export class EsolveStatement {
9
9
  }
10
10
  }
11
11
  }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0YXRlbWVudC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9hY2NvdW50L3VzZXItYWNjb3VudC9jbGFzc2VzL2Vzb2x2ZS1zdGF0ZW1lbnQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDNUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFbEYsTUFBTSxPQUFPLGVBQWU7SUFJeEIsWUFBWSxNQUF1QztRQUMvQyxJQUFJLE1BQU0sRUFBRTtZQUNSLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLFlBQVk7Z0JBQ2IsTUFBTSxDQUFDLFlBQVksRUFBRSxHQUFHLENBQ3BCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUMzQyxJQUFJLEVBQUUsQ0FBQztTQUNmO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXNvbHZlU3RhdGVtZW50UmVjb3JkIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbmltcG9ydCB7IEVzb2x2ZVN0YXRlbWVudEJhbGFuY2VzIH0gZnJvbSAnLi9lc29sdmUtc3RhdGVtZW50LWJhbGFuY2VzLm1vZGVsJztcbmltcG9ydCB7IEVzb2x2ZVN0YXRlbWVudFRyYW5zYWN0aW9uIH0gZnJvbSAnLi9lc29sdmUtc3RhdGVtZW50LXRyYW5zYWN0aW9uLm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIEVzb2x2ZVN0YXRlbWVudCB7XG4gICAgcHVibGljIGJhbGFuY2VzPzogRXNvbHZlU3RhdGVtZW50QmFsYW5jZXM7XG4gICAgcHVibGljIHRyYW5zYWN0aW9ucz86IEVzb2x2ZVN0YXRlbWVudFRyYW5zYWN0aW9uW107XG5cbiAgICBjb25zdHJ1Y3RvcihyZWNvcmQ/OiBQYXJ0aWFsPEVzb2x2ZVN0YXRlbWVudFJlY29yZD4pIHtcbiAgICAgICAgaWYgKHJlY29yZCkge1xuICAgICAgICAgICAgdGhpcy5iYWxhbmNlcyA9IG5ldyBFc29sdmVTdGF0ZW1lbnRCYWxhbmNlcyhyZWNvcmQuYmFsYW5jZXMpO1xuICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvbnMgPVxuICAgICAgICAgICAgICAgIHJlY29yZC50cmFuc2FjdGlvbnM/Lm1hcChcbiAgICAgICAgICAgICAgICAgICAgKGUpID0+IG5ldyBFc29sdmVTdGF0ZW1lbnRUcmFuc2FjdGlvbihlKSxcbiAgICAgICAgICAgICAgICApID8/IFtdO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0YXRlbWVudC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9hY2NvdW50L3VzZXItYWNjb3VudC9jbGFzc2VzL2Vzb2x2ZS1zdGF0ZW1lbnQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDNUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFbEYsTUFBTSxPQUFPLGVBQWU7SUFJeEIsWUFBWSxNQUF1QztRQUMvQyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM3RCxJQUFJLENBQUMsWUFBWTtnQkFDYixNQUFNLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FDcEIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksMEJBQTBCLENBQUMsQ0FBQyxDQUFDLENBQzNDLElBQUksRUFBRSxDQUFDO1FBQ2hCLENBQUM7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFc29sdmVTdGF0ZW1lbnRSZWNvcmQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuaW1wb3J0IHsgRXNvbHZlU3RhdGVtZW50QmFsYW5jZXMgfSBmcm9tICcuL2Vzb2x2ZS1zdGF0ZW1lbnQtYmFsYW5jZXMubW9kZWwnO1xuaW1wb3J0IHsgRXNvbHZlU3RhdGVtZW50VHJhbnNhY3Rpb24gfSBmcm9tICcuL2Vzb2x2ZS1zdGF0ZW1lbnQtdHJhbnNhY3Rpb24ubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgRXNvbHZlU3RhdGVtZW50IHtcbiAgICBwdWJsaWMgYmFsYW5jZXM/OiBFc29sdmVTdGF0ZW1lbnRCYWxhbmNlcztcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25zPzogRXNvbHZlU3RhdGVtZW50VHJhbnNhY3Rpb25bXTtcblxuICAgIGNvbnN0cnVjdG9yKHJlY29yZD86IFBhcnRpYWw8RXNvbHZlU3RhdGVtZW50UmVjb3JkPikge1xuICAgICAgICBpZiAocmVjb3JkKSB7XG4gICAgICAgICAgICB0aGlzLmJhbGFuY2VzID0gbmV3IEVzb2x2ZVN0YXRlbWVudEJhbGFuY2VzKHJlY29yZC5iYWxhbmNlcyk7XG4gICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9ucyA9XG4gICAgICAgICAgICAgICAgcmVjb3JkLnRyYW5zYWN0aW9ucz8ubWFwKFxuICAgICAgICAgICAgICAgICAgICAoZSkgPT4gbmV3IEVzb2x2ZVN0YXRlbWVudFRyYW5zYWN0aW9uKGUpLFxuICAgICAgICAgICAgICAgICkgPz8gW107XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -8,4 +8,4 @@ export class EsolveUserAccountBusiness {
8
8
  }
9
9
  }
10
10
  }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXVzZXItYWNjb3VudC1idXNpbmVzcy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9hY2NvdW50L3VzZXItYWNjb3VudC9jbGFzc2VzL2Vzb2x2ZS11c2VyLWFjY291bnQtYnVzaW5lc3MubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLHlCQUF5QjtJQU1sQyxZQUFZLE1BQXlDO1FBQ2pELElBQUksTUFBTSxFQUFFO1lBQ1IsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQztTQUMxQztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVzb2x2ZVVzZXJBY2NvdW50UmVjb3JkIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBjbGFzcyBFc29sdmVVc2VyQWNjb3VudEJ1c2luZXNzIHtcbiAgICBwdWJsaWMgbmFtZT86IHN0cmluZztcbiAgICBwdWJsaWMgdmF0X251bWJlcj86IHN0cmluZztcbiAgICBwdWJsaWMgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgcHVibGljIHR5cGU/OiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3RvcihyZWNvcmQ/OiBQYXJ0aWFsPEVzb2x2ZVVzZXJBY2NvdW50UmVjb3JkPikge1xuICAgICAgICBpZiAocmVjb3JkKSB7XG4gICAgICAgICAgICB0aGlzLm5hbWUgPSByZWNvcmQuYnVzbmFtZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMudmF0X251bWJlciA9IHJlY29yZC52YXRudW0gPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmRlc2NyaXB0aW9uID0gcmVjb3JkLmJ1c2Rlc2NyaXB0ID8/ICcnO1xuICAgICAgICAgICAgdGhpcy50eXBlID0gcmVjb3JkLmJ1c2luZXNzX3R5cGUgPz8gJyc7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXVzZXItYWNjb3VudC1idXNpbmVzcy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9hY2NvdW50L3VzZXItYWNjb3VudC9jbGFzc2VzL2Vzb2x2ZS11c2VyLWFjY291bnQtYnVzaW5lc3MubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLHlCQUF5QjtJQU1sQyxZQUFZLE1BQXlDO1FBQ2pELElBQUksTUFBTSxFQUFFLENBQUM7WUFDVCxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztZQUM1QyxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDO1FBQzNDLENBQUM7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFc29sdmVVc2VyQWNjb3VudFJlY29yZCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5leHBvcnQgY2xhc3MgRXNvbHZlVXNlckFjY291bnRCdXNpbmVzcyB7XG4gICAgcHVibGljIG5hbWU/OiBzdHJpbmc7XG4gICAgcHVibGljIHZhdF9udW1iZXI/OiBzdHJpbmc7XG4gICAgcHVibGljIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIHB1YmxpYyB0eXBlPzogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IocmVjb3JkPzogUGFydGlhbDxFc29sdmVVc2VyQWNjb3VudFJlY29yZD4pIHtcbiAgICAgICAgaWYgKHJlY29yZCkge1xuICAgICAgICAgICAgdGhpcy5uYW1lID0gcmVjb3JkLmJ1c25hbWUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLnZhdF9udW1iZXIgPSByZWNvcmQudmF0bnVtID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5kZXNjcmlwdGlvbiA9IHJlY29yZC5idXNkZXNjcmlwdCA/PyAnJztcbiAgICAgICAgICAgIHRoaXMudHlwZSA9IHJlY29yZC5idXNpbmVzc190eXBlID8/ICcnO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -7,4 +7,4 @@ export class EsolveUserAccountContact {
7
7
  }
8
8
  }
9
9
  }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXVzZXItYWNjb3VudC1jb250YWN0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL2FjY291bnQvdXNlci1hY2NvdW50L2NsYXNzZXMvZXNvbHZlLXVzZXItYWNjb3VudC1jb250YWN0Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyx3QkFBd0I7SUFLakMsWUFBWSxNQUF5QztRQUNqRCxJQUFJLE1BQU0sRUFBRTtZQUNSLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztZQUMzQyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDO1NBQ3RDO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXNvbHZlVXNlckFjY291bnRSZWNvcmQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNsYXNzIEVzb2x2ZVVzZXJBY2NvdW50Q29udGFjdCB7XG4gICAgcHVibGljIHRlbF9udW1iZXI/OiBzdHJpbmc7XG4gICAgcHVibGljIGNlbGxfbnVtYmVyPzogc3RyaW5nO1xuICAgIHB1YmxpYyBmYXhfbnVtYmVyPzogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IocmVjb3JkPzogUGFydGlhbDxFc29sdmVVc2VyQWNjb3VudFJlY29yZD4pIHtcbiAgICAgICAgaWYgKHJlY29yZCkge1xuICAgICAgICAgICAgdGhpcy50ZWxfbnVtYmVyID0gcmVjb3JkLnRlbG51bWJlciA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuY2VsbF9udW1iZXIgPSByZWNvcmQuY2VsbG51bWJlciA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuZmF4X251bWJlciA9IHJlY29yZC5mYXggPz8gJyc7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXVzZXItYWNjb3VudC1jb250YWN0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL2FjY291bnQvdXNlci1hY2NvdW50L2NsYXNzZXMvZXNvbHZlLXVzZXItYWNjb3VudC1jb250YWN0Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyx3QkFBd0I7SUFLakMsWUFBWSxNQUF5QztRQUNqRCxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO1lBQzNDLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUM7UUFDdkMsQ0FBQztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVzb2x2ZVVzZXJBY2NvdW50UmVjb3JkIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBjbGFzcyBFc29sdmVVc2VyQWNjb3VudENvbnRhY3Qge1xuICAgIHB1YmxpYyB0ZWxfbnVtYmVyPzogc3RyaW5nO1xuICAgIHB1YmxpYyBjZWxsX251bWJlcj86IHN0cmluZztcbiAgICBwdWJsaWMgZmF4X251bWJlcj86IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKHJlY29yZD86IFBhcnRpYWw8RXNvbHZlVXNlckFjY291bnRSZWNvcmQ+KSB7XG4gICAgICAgIGlmIChyZWNvcmQpIHtcbiAgICAgICAgICAgIHRoaXMudGVsX251bWJlciA9IHJlY29yZC50ZWxudW1iZXIgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmNlbGxfbnVtYmVyID0gcmVjb3JkLmNlbGxudW1iZXIgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmZheF9udW1iZXIgPSByZWNvcmQuZmF4ID8/ICcnO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -21,4 +21,4 @@ export class EsolveUserAccount {
21
21
  }
22
22
  }
23
23
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXVzZXItYWNjb3VudC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9hY2NvdW50L3VzZXItYWNjb3VudC9jbGFzc2VzL2Vzb2x2ZS11c2VyLWFjY291bnQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDakYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFN0UsTUFBTSxPQUFPLGlCQUFpQjtJQWdCMUIsWUFBWSxNQUF5QztRQUNqRCxJQUFJLE1BQU0sRUFBRTtZQUNSLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQztZQUN4RCxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLE1BQU0sQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO1lBRW5ELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM1RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUU5RCxJQUFJLE1BQU0sQ0FBQyxjQUFjLElBQUksTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEtBQUssRUFBRSxFQUFFO2dCQUMvRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksdUJBQXVCLENBQzdDLE1BQU0sQ0FBQyxjQUFjLENBQ3hCLENBQUM7YUFDTDtTQUNKO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXNvbHZlVXNlckFjY291bnRSZWNvcmQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEVzb2x2ZVVzZXJBY2NvdW50QnVzaW5lc3MgfSBmcm9tICcuL2Vzb2x2ZS11c2VyLWFjY291bnQtYnVzaW5lc3MubW9kZWwnO1xuaW1wb3J0IHsgRXNvbHZlVXNlckFjY291bnRDb250YWN0IH0gZnJvbSAnLi9lc29sdmUtdXNlci1hY2NvdW50LWNvbnRhY3QubW9kZWwnO1xuaW1wb3J0IHsgRXNvbHZlVXNlckNsaWVudEFjY291bnQgfSBmcm9tICcuL2Vzb2x2ZS11c2VyLWNsaWVudC1hY2NvdW50Lm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIEVzb2x2ZVVzZXJBY2NvdW50IHtcbiAgICBwdWJsaWMgZXNvbHZlX2lkPzogbnVtYmVyO1xuICAgIHB1YmxpYyBlbWFpbD86IHN0cmluZztcbiAgICBwdWJsaWMgcmVnaXN0cmF0aW9uX3R5cGU/OiBzdHJpbmc7XG4gICAgcHVibGljIHRpdGxlPzogc3RyaW5nO1xuICAgIHB1YmxpYyBmaXJzdF9uYW1lPzogc3RyaW5nO1xuICAgIHB1YmxpYyBsYXN0X25hbWU/OiBzdHJpbmc7XG4gICAgcHVibGljIGluaXRpYWxzPzogc3RyaW5nO1xuICAgIHB1YmxpYyBnZW5kZXI/OiBzdHJpbmc7XG4gICAgcHVibGljIGlkZW50aWZpY2F0aW9uX251bWJlcj86IHN0cmluZztcbiAgICBwdWJsaWMgYWNjb3VudF9udW1iZXI/OiBzdHJpbmc7XG4gICAgcHVibGljIGxveWFsdHlfbnVtYmVyPzogc3RyaW5nO1xuICAgIHB1YmxpYyBidXNpbmVzc19kZXRhaWxzPzogRXNvbHZlVXNlckFjY291bnRCdXNpbmVzcztcbiAgICBwdWJsaWMgY29udGFjdF9kZXRhaWxzPzogRXNvbHZlVXNlckFjY291bnRDb250YWN0O1xuICAgIHB1YmxpYyBjbGllbnRfZGV0YWlscz86IEVzb2x2ZVVzZXJDbGllbnRBY2NvdW50O1xuXG4gICAgY29uc3RydWN0b3IocmVjb3JkPzogUGFydGlhbDxFc29sdmVVc2VyQWNjb3VudFJlY29yZD4pIHtcbiAgICAgICAgaWYgKHJlY29yZCkge1xuICAgICAgICAgICAgdGhpcy5lc29sdmVfaWQgPSArKHJlY29yZC51c2VyaWQgPz8gMCk7XG4gICAgICAgICAgICB0aGlzLmVtYWlsID0gcmVjb3JkLmVtYWlsID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5yZWdpc3RyYXRpb25fdHlwZSA9IHJlY29yZC5yZWdpc3RyYXRpb25fdHlwZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMudGl0bGUgPSByZWNvcmQudGl0bGUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmZpcnN0X25hbWUgPSByZWNvcmQuZmlyc3RuYW1lID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5sYXN0X25hbWUgPSByZWNvcmQuc3VybmFtZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbHMgPSByZWNvcmQuaW5pdGlhbHMgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmdlbmRlciA9IHJlY29yZC5nZW5kZXIgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmlkZW50aWZpY2F0aW9uX251bWJlciA9IHJlY29yZC5pZG51bWJlciA/PyAnJztcblxuICAgICAgICAgICAgdGhpcy5jb250YWN0X2RldGFpbHMgPSBuZXcgRXNvbHZlVXNlckFjY291bnRDb250YWN0KHJlY29yZCk7XG4gICAgICAgICAgICB0aGlzLmJ1c2luZXNzX2RldGFpbHMgPSBuZXcgRXNvbHZlVXNlckFjY291bnRCdXNpbmVzcyhyZWNvcmQpO1xuXG4gICAgICAgICAgICBpZiAocmVjb3JkLmNsaWVudF9kZXRhaWxzICYmIHJlY29yZC5jbGllbnRfZGV0YWlscy5hY2NvdW50ICE9PSAnJykge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xpZW50X2RldGFpbHMgPSBuZXcgRXNvbHZlVXNlckNsaWVudEFjY291bnQoXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jbGllbnRfZGV0YWlscyxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXVzZXItYWNjb3VudC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9hY2NvdW50L3VzZXItYWNjb3VudC9jbGFzc2VzL2Vzb2x2ZS11c2VyLWFjY291bnQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDakYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFN0UsTUFBTSxPQUFPLGlCQUFpQjtJQWdCMUIsWUFBWSxNQUF5QztRQUNqRCxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsaUJBQWlCLElBQUksRUFBRSxDQUFDO1lBQ3hELElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsTUFBTSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFFbkQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRTlELElBQUksTUFBTSxDQUFDLGNBQWMsSUFBSSxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sS0FBSyxFQUFFLEVBQUUsQ0FBQztnQkFDaEUsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLHVCQUF1QixDQUM3QyxNQUFNLENBQUMsY0FBYyxDQUN4QixDQUFDO1lBQ04sQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFc29sdmVVc2VyQWNjb3VudFJlY29yZCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgRXNvbHZlVXNlckFjY291bnRCdXNpbmVzcyB9IGZyb20gJy4vZXNvbHZlLXVzZXItYWNjb3VudC1idXNpbmVzcy5tb2RlbCc7XG5pbXBvcnQgeyBFc29sdmVVc2VyQWNjb3VudENvbnRhY3QgfSBmcm9tICcuL2Vzb2x2ZS11c2VyLWFjY291bnQtY29udGFjdC5tb2RlbCc7XG5pbXBvcnQgeyBFc29sdmVVc2VyQ2xpZW50QWNjb3VudCB9IGZyb20gJy4vZXNvbHZlLXVzZXItY2xpZW50LWFjY291bnQubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgRXNvbHZlVXNlckFjY291bnQge1xuICAgIHB1YmxpYyBlc29sdmVfaWQ/OiBudW1iZXI7XG4gICAgcHVibGljIGVtYWlsPzogc3RyaW5nO1xuICAgIHB1YmxpYyByZWdpc3RyYXRpb25fdHlwZT86IHN0cmluZztcbiAgICBwdWJsaWMgdGl0bGU/OiBzdHJpbmc7XG4gICAgcHVibGljIGZpcnN0X25hbWU/OiBzdHJpbmc7XG4gICAgcHVibGljIGxhc3RfbmFtZT86IHN0cmluZztcbiAgICBwdWJsaWMgaW5pdGlhbHM/OiBzdHJpbmc7XG4gICAgcHVibGljIGdlbmRlcj86IHN0cmluZztcbiAgICBwdWJsaWMgaWRlbnRpZmljYXRpb25fbnVtYmVyPzogc3RyaW5nO1xuICAgIHB1YmxpYyBhY2NvdW50X251bWJlcj86IHN0cmluZztcbiAgICBwdWJsaWMgbG95YWx0eV9udW1iZXI/OiBzdHJpbmc7XG4gICAgcHVibGljIGJ1c2luZXNzX2RldGFpbHM/OiBFc29sdmVVc2VyQWNjb3VudEJ1c2luZXNzO1xuICAgIHB1YmxpYyBjb250YWN0X2RldGFpbHM/OiBFc29sdmVVc2VyQWNjb3VudENvbnRhY3Q7XG4gICAgcHVibGljIGNsaWVudF9kZXRhaWxzPzogRXNvbHZlVXNlckNsaWVudEFjY291bnQ7XG5cbiAgICBjb25zdHJ1Y3RvcihyZWNvcmQ/OiBQYXJ0aWFsPEVzb2x2ZVVzZXJBY2NvdW50UmVjb3JkPikge1xuICAgICAgICBpZiAocmVjb3JkKSB7XG4gICAgICAgICAgICB0aGlzLmVzb2x2ZV9pZCA9ICsocmVjb3JkLnVzZXJpZCA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMuZW1haWwgPSByZWNvcmQuZW1haWwgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLnJlZ2lzdHJhdGlvbl90eXBlID0gcmVjb3JkLnJlZ2lzdHJhdGlvbl90eXBlID8/ICcnO1xuICAgICAgICAgICAgdGhpcy50aXRsZSA9IHJlY29yZC50aXRsZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuZmlyc3RfbmFtZSA9IHJlY29yZC5maXJzdG5hbWUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmxhc3RfbmFtZSA9IHJlY29yZC5zdXJuYW1lID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5pbml0aWFscyA9IHJlY29yZC5pbml0aWFscyA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuZ2VuZGVyID0gcmVjb3JkLmdlbmRlciA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuaWRlbnRpZmljYXRpb25fbnVtYmVyID0gcmVjb3JkLmlkbnVtYmVyID8/ICcnO1xuXG4gICAgICAgICAgICB0aGlzLmNvbnRhY3RfZGV0YWlscyA9IG5ldyBFc29sdmVVc2VyQWNjb3VudENvbnRhY3QocmVjb3JkKTtcbiAgICAgICAgICAgIHRoaXMuYnVzaW5lc3NfZGV0YWlscyA9IG5ldyBFc29sdmVVc2VyQWNjb3VudEJ1c2luZXNzKHJlY29yZCk7XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQuY2xpZW50X2RldGFpbHMgJiYgcmVjb3JkLmNsaWVudF9kZXRhaWxzLmFjY291bnQgIT09ICcnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbGllbnRfZGV0YWlscyA9IG5ldyBFc29sdmVVc2VyQ2xpZW50QWNjb3VudChcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNsaWVudF9kZXRhaWxzLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -46,4 +46,4 @@ export class EsolveUserClientAccount {
46
46
  }
47
47
  }
48
48
  }
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXVzZXItY2xpZW50LWFjY291bnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvYWNjb3VudC91c2VyLWFjY291bnQvY2xhc3Nlcy9lc29sdmUtdXNlci1jbGllbnQtYWNjb3VudC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsTUFBTSxPQUFPLHVCQUF1QjtJQXlDaEMsWUFBWSxNQUErQztRQUN2RCxJQUFJLE1BQU0sRUFBRTtZQUNSLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1lBQzVDLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUM7WUFDaEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQztZQUNoRCxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDO1lBQzlDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxNQUFNLENBQUMscUJBQXFCLElBQUksRUFBRSxDQUFDO1lBQ2hFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLElBQUksRUFBRSxDQUFDO1lBQ3RELElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsSUFBSSxFQUFFLENBQUM7WUFDbEQsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsWUFB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QkFBa0IsR0FBRyxJQUFJLGVBQWUsQ0FDekMsTUFBTSxDQUFDLGtCQUFrQixDQUM1QixDQUFDO1NBQ0w7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFc29sdmVVc2VyQ2xpZW50QWNjb3VudFJlY29yZCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5pbXBvcnQgeyBFc29sdmVTdGF0ZW1lbnQgfSBmcm9tICcuL2Vzb2x2ZS1zdGF0ZW1lbnQubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgRXNvbHZlVXNlckNsaWVudEFjY291bnQge1xuICAgIHB1YmxpYyBlc29sdmVfaWQ/OiBudW1iZXI7XG4gICAgcHVibGljIGFjY291bnQ/OiBzdHJpbmc7XG4gICAgcHVibGljIGJyYW5jaF9jb2RlPzogc3RyaW5nO1xuICAgIHB1YmxpYyBhY2NvdW50X2dyb3VwPzogc3RyaW5nO1xuICAgIHB1YmxpYyBwcmljaW5nX2dyb3VwPzogc3RyaW5nO1xuICAgIHB1YmxpYyBjb21wYW55X25hbWU/OiBzdHJpbmc7XG4gICAgcHVibGljIGNsaWVudF9jb250YWN0X3BlcnNvbj86IHN0cmluZztcbiAgICBwdWJsaWMgY2xpZW50X2ZpcnN0bmFtZT86IHN0cmluZztcbiAgICBwdWJsaWMgY2xpZW50X3N1cm5hbWU/OiBzdHJpbmc7XG4gICAgcHVibGljIGNsaWVudF9lbWFpbD86IHN0cmluZztcbiAgICBwdWJsaWMgY2xpZW50X2NvbnRhY3RfbnVtYmVyPzogc3RyaW5nO1xuICAgIHB1YmxpYyBjbGllbnRfZmF4X251bWJlcj86IHN0cmluZztcbiAgICBwdWJsaWMgY2xpZW50X2NlbGxwaG9uZV9udW1iZXI/OiBzdHJpbmc7XG4gICAgcHVibGljIGNsaWVudF9pZF9udW1iZXI/OiBzdHJpbmc7XG4gICAgcHVibGljIGFkZHJlc3NfZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgcHVibGljIHN0cmVldD86IHN0cmluZztcbiAgICBwdWJsaWMgc3VidXJiPzogc3RyaW5nO1xuICAgIHB1YmxpYyBjaXR5Pzogc3RyaW5nO1xuICAgIHB1YmxpYyBwcm92aW5jZT86IHN0cmluZztcbiAgICBwdWJsaWMgY291bnRyeT86IHN0cmluZztcbiAgICBwdWJsaWMgcG9zdGFsX2NvZGU/OiBzdHJpbmc7XG4gICAgcHVibGljIHBvc3RhbF9hZGRyZXNzPzogc3RyaW5nO1xuICAgIHB1YmxpYyBkZWxpdmVyeV9hZGRyZXNzPzogc3RyaW5nO1xuICAgIHB1YmxpYyB2YXRfbnVtYmVyPzogc3RyaW5nO1xuICAgIHB1YmxpYyBhZ2Vpbmc/OiBzdHJpbmc7XG4gICAgcHVibGljIGJhbGFuY2VfbGFzdF91cGRhdGVkPzogc3RyaW5nO1xuICAgIHB1YmxpYyBjbGllbnRfY2xhc3NpZmljYXRpb24/OiBzdHJpbmc7XG4gICAgcHVibGljIG92ZXJyaWRlX3N0b2NrX2xpc3RpbmdfaWRlbnRpZmllcnM/OiBzdHJpbmc7XG4gICAgcHVibGljIHJlcXVpcmVzX3RyYW5zYWN0aW9uX2FwcHJvdmFsPzogc3RyaW5nO1xuICAgIHB1YmxpYyBsYXRpdHVkZT86IG51bWJlcjtcbiAgICBwdWJsaWMgbG9uZ2l0dWRlPzogbnVtYmVyO1xuICAgIHB1YmxpYyBwcmljZV9saXN0PzogbnVtYmVyO1xuICAgIHB1YmxpYyBsb3lhbHR5X2NsYXNzaWZpY2F0aW9uX2lkPzogbnVtYmVyO1xuICAgIHB1YmxpYyBjcmVkaXRfbGltaXQ/OiBudW1iZXI7XG4gICAgcHVibGljIHBlbmRpbmdfaW52b2ljZV9iYWxhbmNlPzogbnVtYmVyO1xuICAgIHB1YmxpYyBleHRlcm5hbF9hY2NvdW50X2JhbGFuY2U/OiBudW1iZXI7XG4gICAgcHVibGljIGRlZmF1bHRfc2VsbHByaWNlPzogbnVtYmVyO1xuICAgIHB1YmxpYyBpc19hY3RpdmU/OiBib29sZWFuO1xuICAgIHB1YmxpYyBleHRlcm5hbF9zdGF0ZW1lbnQ/OiBFc29sdmVTdGF0ZW1lbnQ7XG5cbiAgICBjb25zdHJ1Y3RvcihyZWNvcmQ/OiBQYXJ0aWFsPEVzb2x2ZVVzZXJDbGllbnRBY2NvdW50UmVjb3JkPikge1xuICAgICAgICBpZiAocmVjb3JkKSB7XG4gICAgICAgICAgICB0aGlzLmVzb2x2ZV9pZCA9ICsocmVjb3JkLmlkID8/IDApO1xuICAgICAgICAgICAgdGhpcy5hY2NvdW50ID0gcmVjb3JkLmFjY291bnQgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmJyYW5jaF9jb2RlID0gcmVjb3JkLmJyYW5jaF9jb2RlID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5hY2NvdW50X2dyb3VwID0gcmVjb3JkLmFjY291bnRfZ3JvdXAgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLnByaWNpbmdfZ3JvdXAgPSByZWNvcmQucHJpY2luZ19ncm91cCA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuY29tcGFueV9uYW1lID0gcmVjb3JkLmNvbXBhbnlfbmFtZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuY2xpZW50X2NvbnRhY3RfcGVyc29uID0gcmVjb3JkLmNsaWVudF9jb250YWN0X3BlcnNvbiA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuY2xpZW50X2ZpcnN0bmFtZSA9IHJlY29yZC5jbGllbnRfZmlyc3RuYW1lID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5jbGllbnRfc3VybmFtZSA9IHJlY29yZC5jbGllbnRfc3VybmFtZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuY2xpZW50X2VtYWlsID0gcmVjb3JkLmNsaWVudF9lbWFpbCA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuY2xpZW50X2NvbnRhY3RfbnVtYmVyID0gcmVjb3JkLmNsaWVudF9jb250YWN0X251bWJlciA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuY2xpZW50X2ZheF9udW1iZXIgPSByZWNvcmQuY2xpZW50X2ZheF9udW1iZXIgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmNsaWVudF9jZWxscGhvbmVfbnVtYmVyID0gcmVjb3JkLmNsaWVudF9jZWxscGhvbmVfbnVtYmVyID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5jbGllbnRfaWRfbnVtYmVyID0gcmVjb3JkLmNsaWVudF9pZF9udW1iZXIgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmFkZHJlc3NfZGVzY3JpcHRpb24gPSByZWNvcmQuYWRkcmVzc19kZXNjcmlwdGlvbiA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuc3RyZWV0ID0gcmVjb3JkLnN0cmVldCA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuc3VidXJiID0gcmVjb3JkLnN1YnVyYjtcbiAgICAgICAgICAgIHRoaXMuY2l0eSA9IHJlY29yZC5jaXR5ID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5wcm92aW5jZSA9IHJlY29yZC5wcm92aW5jZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuY291bnRyeSA9IHJlY29yZC5jb3VudHJ5ID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5wb3N0YWxfY29kZSA9IHJlY29yZC5wb3N0YWxfY29kZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMucG9zdGFsX2FkZHJlc3MgPSByZWNvcmQucG9zdGFsX2FkZHJlc3MgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmRlbGl2ZXJ5X2FkZHJlc3MgPSByZWNvcmQuZGVsaXZlcnlfYWRkcmVzcyA/PyAnJztcbiAgICAgICAgICAgIHRoaXMudmF0X251bWJlciA9IHJlY29yZC52YXRfbnVtYmVyID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5hZ2VpbmcgPSByZWNvcmQuYWdlaW5nID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5iYWxhbmNlX2xhc3RfdXBkYXRlZCA9IHJlY29yZC5iYWxhbmNlX2xhc3RfdXBkYXRlZCA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuY2xpZW50X2NsYXNzaWZpY2F0aW9uID0gcmVjb3JkLmNsaWVudF9jbGFzc2lmaWNhdGlvbiA/PyAnJztcbiAgICAgICAgICAgIHRoaXMub3ZlcnJpZGVfc3RvY2tfbGlzdGluZ19pZGVudGlmaWVycyA9XG4gICAgICAgICAgICAgICAgcmVjb3JkLm92ZXJyaWRlX3N0b2NrX2xpc3RpbmdfaWRlbnRpZmllcnMgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLnJlcXVpcmVzX3RyYW5zYWN0aW9uX2FwcHJvdmFsID1cbiAgICAgICAgICAgICAgICByZWNvcmQucmVxdWlyZXNfdHJhbnNhY3Rpb25fYXBwcm92YWwgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmxhdGl0dWRlID0gKyhyZWNvcmQubGF0aXR1ZGUgPz8gMCk7XG4gICAgICAgICAgICB0aGlzLmxvbmdpdHVkZSA9ICsocmVjb3JkLmxvbmdpdHVkZSA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMucHJpY2VfbGlzdCA9ICsocmVjb3JkLnByaWNlX2xpc3QgPz8gMCk7XG4gICAgICAgICAgICB0aGlzLmxveWFsdHlfY2xhc3NpZmljYXRpb25faWQgPSArKFxuICAgICAgICAgICAgICAgIHJlY29yZC5sb3lhbHR5X2NsYXNzaWZpY2F0aW9uX2lkID8/IDBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLmNyZWRpdF9saW1pdCA9ICsocmVjb3JkLmNyZWRpdF9saW1pdCA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMucGVuZGluZ19pbnZvaWNlX2JhbGFuY2UgPSArKFxuICAgICAgICAgICAgICAgIHJlY29yZC5wZW5kaW5nX2ludm9pY2VfYmFsYW5jZSA/PyAwXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5leHRlcm5hbF9hY2NvdW50X2JhbGFuY2UgPSArKFxuICAgICAgICAgICAgICAgIHJlY29yZC5leHRlcm5hbF9hY2NvdW50X2JhbGFuY2UgPz8gMFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdF9zZWxscHJpY2UgPSArKHJlY29yZC5kZWZhdWx0X3NlbGxwcmljZSA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMuaXNfYWN0aXZlID0gISErKHJlY29yZC5pc19hY3RpdmUgPz8gZmFsc2UpO1xuXG4gICAgICAgICAgICB0aGlzLmV4dGVybmFsX3N0YXRlbWVudCA9IG5ldyBFc29sdmVTdGF0ZW1lbnQoXG4gICAgICAgICAgICAgICAgcmVjb3JkLmV4dGVybmFsX3N0YXRlbWVudCxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXVzZXItY2xpZW50LWFjY291bnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvYWNjb3VudC91c2VyLWFjY291bnQvY2xhc3Nlcy9lc29sdmUtdXNlci1jbGllbnQtYWNjb3VudC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsTUFBTSxPQUFPLHVCQUF1QjtJQXlDaEMsWUFBWSxNQUErQztRQUN2RCxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQztZQUNoRCxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDO1lBQ2hELElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7WUFDOUMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsSUFBSSxFQUFFLENBQUM7WUFDaEUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFLENBQUM7WUFDdEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQztZQUNsRCxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FB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QUFDLGtCQUFrQixHQUFHLElBQUksZUFBZSxDQUN6QyxNQUFNLENBQUMsa0JBQWtCLENBQzVCLENBQUM7UUFDTixDQUFDO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXNvbHZlVXNlckNsaWVudEFjY291bnRSZWNvcmQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuaW1wb3J0IHsgRXNvbHZlU3RhdGVtZW50IH0gZnJvbSAnLi9lc29sdmUtc3RhdGVtZW50Lm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIEVzb2x2ZVVzZXJDbGllbnRBY2NvdW50IHtcbiAgICBwdWJsaWMgZXNvbHZlX2lkPzogbnVtYmVyO1xuICAgIHB1YmxpYyBhY2NvdW50Pzogc3RyaW5nO1xuICAgIHB1YmxpYyBicmFuY2hfY29kZT86IHN0cmluZztcbiAgICBwdWJsaWMgYWNjb3VudF9ncm91cD86IHN0cmluZztcbiAgICBwdWJsaWMgcHJpY2luZ19ncm91cD86IHN0cmluZztcbiAgICBwdWJsaWMgY29tcGFueV9uYW1lPzogc3RyaW5nO1xuICAgIHB1YmxpYyBjbGllbnRfY29udGFjdF9wZXJzb24/OiBzdHJpbmc7XG4gICAgcHVibGljIGNsaWVudF9maXJzdG5hbWU/OiBzdHJpbmc7XG4gICAgcHVibGljIGNsaWVudF9zdXJuYW1lPzogc3RyaW5nO1xuICAgIHB1YmxpYyBjbGllbnRfZW1haWw/OiBzdHJpbmc7XG4gICAgcHVibGljIGNsaWVudF9jb250YWN0X251bWJlcj86IHN0cmluZztcbiAgICBwdWJsaWMgY2xpZW50X2ZheF9udW1iZXI/OiBzdHJpbmc7XG4gICAgcHVibGljIGNsaWVudF9jZWxscGhvbmVfbnVtYmVyPzogc3RyaW5nO1xuICAgIHB1YmxpYyBjbGllbnRfaWRfbnVtYmVyPzogc3RyaW5nO1xuICAgIHB1YmxpYyBhZGRyZXNzX2Rlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIHB1YmxpYyBzdHJlZXQ/OiBzdHJpbmc7XG4gICAgcHVibGljIHN1YnVyYj86IHN0cmluZztcbiAgICBwdWJsaWMgY2l0eT86IHN0cmluZztcbiAgICBwdWJsaWMgcHJvdmluY2U/OiBzdHJpbmc7XG4gICAgcHVibGljIGNvdW50cnk/OiBzdHJpbmc7XG4gICAgcHVibGljIHBvc3RhbF9jb2RlPzogc3RyaW5nO1xuICAgIHB1YmxpYyBwb3N0YWxfYWRkcmVzcz86IHN0cmluZztcbiAgICBwdWJsaWMgZGVsaXZlcnlfYWRkcmVzcz86IHN0cmluZztcbiAgICBwdWJsaWMgdmF0X251bWJlcj86IHN0cmluZztcbiAgICBwdWJsaWMgYWdlaW5nPzogc3RyaW5nO1xuICAgIHB1YmxpYyBiYWxhbmNlX2xhc3RfdXBkYXRlZD86IHN0cmluZztcbiAgICBwdWJsaWMgY2xpZW50X2NsYXNzaWZpY2F0aW9uPzogc3RyaW5nO1xuICAgIHB1YmxpYyBvdmVycmlkZV9zdG9ja19saXN0aW5nX2lkZW50aWZpZXJzPzogc3RyaW5nO1xuICAgIHB1YmxpYyByZXF1aXJlc190cmFuc2FjdGlvbl9hcHByb3ZhbD86IHN0cmluZztcbiAgICBwdWJsaWMgbGF0aXR1ZGU/OiBudW1iZXI7XG4gICAgcHVibGljIGxvbmdpdHVkZT86IG51bWJlcjtcbiAgICBwdWJsaWMgcHJpY2VfbGlzdD86IG51bWJlcjtcbiAgICBwdWJsaWMgbG95YWx0eV9jbGFzc2lmaWNhdGlvbl9pZD86IG51bWJlcjtcbiAgICBwdWJsaWMgY3JlZGl0X2xpbWl0PzogbnVtYmVyO1xuICAgIHB1YmxpYyBwZW5kaW5nX2ludm9pY2VfYmFsYW5jZT86IG51bWJlcjtcbiAgICBwdWJsaWMgZXh0ZXJuYWxfYWNjb3VudF9iYWxhbmNlPzogbnVtYmVyO1xuICAgIHB1YmxpYyBkZWZhdWx0X3NlbGxwcmljZT86IG51bWJlcjtcbiAgICBwdWJsaWMgaXNfYWN0aXZlPzogYm9vbGVhbjtcbiAgICBwdWJsaWMgZXh0ZXJuYWxfc3RhdGVtZW50PzogRXNvbHZlU3RhdGVtZW50O1xuXG4gICAgY29uc3RydWN0b3IocmVjb3JkPzogUGFydGlhbDxFc29sdmVVc2VyQ2xpZW50QWNjb3VudFJlY29yZD4pIHtcbiAgICAgICAgaWYgKHJlY29yZCkge1xuICAgICAgICAgICAgdGhpcy5lc29sdmVfaWQgPSArKHJlY29yZC5pZCA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMuYWNjb3VudCA9IHJlY29yZC5hY2NvdW50ID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5icmFuY2hfY29kZSA9IHJlY29yZC5icmFuY2hfY29kZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuYWNjb3VudF9ncm91cCA9IHJlY29yZC5hY2NvdW50X2dyb3VwID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5wcmljaW5nX2dyb3VwID0gcmVjb3JkLnByaWNpbmdfZ3JvdXAgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmNvbXBhbnlfbmFtZSA9IHJlY29yZC5jb21wYW55X25hbWUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmNsaWVudF9jb250YWN0X3BlcnNvbiA9IHJlY29yZC5jbGllbnRfY29udGFjdF9wZXJzb24gPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmNsaWVudF9maXJzdG5hbWUgPSByZWNvcmQuY2xpZW50X2ZpcnN0bmFtZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuY2xpZW50X3N1cm5hbWUgPSByZWNvcmQuY2xpZW50X3N1cm5hbWUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmNsaWVudF9lbWFpbCA9IHJlY29yZC5jbGllbnRfZW1haWwgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmNsaWVudF9jb250YWN0X251bWJlciA9IHJlY29yZC5jbGllbnRfY29udGFjdF9udW1iZXIgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmNsaWVudF9mYXhfbnVtYmVyID0gcmVjb3JkLmNsaWVudF9mYXhfbnVtYmVyID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5jbGllbnRfY2VsbHBob25lX251bWJlciA9IHJlY29yZC5jbGllbnRfY2VsbHBob25lX251bWJlciA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuY2xpZW50X2lkX251bWJlciA9IHJlY29yZC5jbGllbnRfaWRfbnVtYmVyID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5hZGRyZXNzX2Rlc2NyaXB0aW9uID0gcmVjb3JkLmFkZHJlc3NfZGVzY3JpcHRpb24gPz8gJyc7XG4gICAgICAgICAgICB0aGlzLnN0cmVldCA9IHJlY29yZC5zdHJlZXQgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLnN1YnVyYiA9IHJlY29yZC5zdWJ1cmI7XG4gICAgICAgICAgICB0aGlzLmNpdHkgPSByZWNvcmQuY2l0eSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMucHJvdmluY2UgPSByZWNvcmQucHJvdmluY2UgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmNvdW50cnkgPSByZWNvcmQuY291bnRyeSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMucG9zdGFsX2NvZGUgPSByZWNvcmQucG9zdGFsX2NvZGUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLnBvc3RhbF9hZGRyZXNzID0gcmVjb3JkLnBvc3RhbF9hZGRyZXNzID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5kZWxpdmVyeV9hZGRyZXNzID0gcmVjb3JkLmRlbGl2ZXJ5X2FkZHJlc3MgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLnZhdF9udW1iZXIgPSByZWNvcmQudmF0X251bWJlciA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuYWdlaW5nID0gcmVjb3JkLmFnZWluZyA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuYmFsYW5jZV9sYXN0X3VwZGF0ZWQgPSByZWNvcmQuYmFsYW5jZV9sYXN0X3VwZGF0ZWQgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmNsaWVudF9jbGFzc2lmaWNhdGlvbiA9IHJlY29yZC5jbGllbnRfY2xhc3NpZmljYXRpb24gPz8gJyc7XG4gICAgICAgICAgICB0aGlzLm92ZXJyaWRlX3N0b2NrX2xpc3RpbmdfaWRlbnRpZmllcnMgPVxuICAgICAgICAgICAgICAgIHJlY29yZC5vdmVycmlkZV9zdG9ja19saXN0aW5nX2lkZW50aWZpZXJzID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5yZXF1aXJlc190cmFuc2FjdGlvbl9hcHByb3ZhbCA9XG4gICAgICAgICAgICAgICAgcmVjb3JkLnJlcXVpcmVzX3RyYW5zYWN0aW9uX2FwcHJvdmFsID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5sYXRpdHVkZSA9ICsocmVjb3JkLmxhdGl0dWRlID8/IDApO1xuICAgICAgICAgICAgdGhpcy5sb25naXR1ZGUgPSArKHJlY29yZC5sb25naXR1ZGUgPz8gMCk7XG4gICAgICAgICAgICB0aGlzLnByaWNlX2xpc3QgPSArKHJlY29yZC5wcmljZV9saXN0ID8/IDApO1xuICAgICAgICAgICAgdGhpcy5sb3lhbHR5X2NsYXNzaWZpY2F0aW9uX2lkID0gKyhcbiAgICAgICAgICAgICAgICByZWNvcmQubG95YWx0eV9jbGFzc2lmaWNhdGlvbl9pZCA/PyAwXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5jcmVkaXRfbGltaXQgPSArKHJlY29yZC5jcmVkaXRfbGltaXQgPz8gMCk7XG4gICAgICAgICAgICB0aGlzLnBlbmRpbmdfaW52b2ljZV9iYWxhbmNlID0gKyhcbiAgICAgICAgICAgICAgICByZWNvcmQucGVuZGluZ19pbnZvaWNlX2JhbGFuY2UgPz8gMFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuZXh0ZXJuYWxfYWNjb3VudF9iYWxhbmNlID0gKyhcbiAgICAgICAgICAgICAgICByZWNvcmQuZXh0ZXJuYWxfYWNjb3VudF9iYWxhbmNlID8/IDBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRfc2VsbHByaWNlID0gKyhyZWNvcmQuZGVmYXVsdF9zZWxscHJpY2UgPz8gMCk7XG4gICAgICAgICAgICB0aGlzLmlzX2FjdGl2ZSA9ICEhKyhyZWNvcmQuaXNfYWN0aXZlID8/IGZhbHNlKTtcblxuICAgICAgICAgICAgdGhpcy5leHRlcm5hbF9zdGF0ZW1lbnQgPSBuZXcgRXNvbHZlU3RhdGVtZW50KFxuICAgICAgICAgICAgICAgIHJlY29yZC5leHRlcm5hbF9zdGF0ZW1lbnQsXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19