@tuki-io/tuki-widgets 0.0.218 → 0.0.219-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/README.md +24 -24
  2. package/esm2020/contact-center/cc-readiness/cc-readiness.module.mjs +1 -1
  3. package/esm2020/contact-center/cc-readiness/cc-readiness.service.mjs +1 -1
  4. package/esm2020/contact-center/cc-readiness/widgets/licences-requirement/licences-requirement.component.mjs +3 -3
  5. package/esm2020/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.mjs +3 -3
  6. package/esm2020/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.mjs +2 -2
  7. package/esm2020/di2mt/widgets/upgrade-overview/cards/pending-activation-users/pending-activation-users.component.mjs +17 -17
  8. package/esm2020/lib/widgets.component.mjs +9 -9
  9. package/esm2020/lib/widgets.module.mjs +1 -1
  10. package/esm2020/lib/widgets.service.mjs +1 -1
  11. package/esm2020/public-api.mjs +1 -1
  12. package/esm2020/user-creation/src/app.constants.mjs +1 -1
  13. package/esm2020/user-creation/src/classes/notification.mjs +1 -1
  14. package/esm2020/user-creation/src/classes/site.mjs +1 -1
  15. package/esm2020/user-creation/src/environments/environment.mjs +1 -1
  16. package/esm2020/user-creation/src/interfaces/user-creation-wizard.interfaces.mjs +1 -1
  17. package/esm2020/user-creation/src/shared/components/notification/notification.component.mjs +3 -3
  18. package/esm2020/user-creation/src/shared/pipes/truncate.pipe.mjs +1 -1
  19. package/esm2020/user-creation/src/shared/services/notification.service.mjs +1 -1
  20. package/esm2020/user-creation/src/shared/services/user-creation-api.service.mjs +1 -1
  21. package/esm2020/user-creation/src/shared/services/utils.mjs +1 -1
  22. package/esm2020/user-creation/src/utils/app-loader/app-loader.mjs +3 -3
  23. package/esm2020/user-creation/src/utils/build-savable-end-user.mjs +1 -1
  24. package/esm2020/user-creation/src/utils/device-default-prefix.mjs +1 -1
  25. package/esm2020/user-creation/src/utils/device-name-validation.mjs +1 -1
  26. package/esm2020/user-creation/src/utils/model.mjs +1 -1
  27. package/esm2020/user-creation/src/utils/parse-device-name-rule.mjs +1 -1
  28. package/esm2020/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.component.mjs +3 -3
  29. package/esm2020/user-device-manage/public-api.mjs +1 -1
  30. package/esm2020/user-device-manage/src/app.constants.mjs +1 -1
  31. package/esm2020/user-device-manage/src/classes/device.mjs +1 -1
  32. package/esm2020/user-device-manage/src/classes/deviceProfile.mjs +1 -1
  33. package/esm2020/user-device-manage/src/classes/line-association-interface.mjs +1 -1
  34. package/esm2020/user-device-manage/src/classes/line-association.mjs +1 -1
  35. package/esm2020/user-device-manage/src/classes/line-call-info-display.mjs +1 -1
  36. package/esm2020/user-device-manage/src/classes/line-directory.mjs +1 -1
  37. package/esm2020/user-device-manage/src/classes/line.mjs +1 -1
  38. package/esm2020/user-device-manage/src/classes/notification.mjs +1 -1
  39. package/esm2020/user-device-manage/src/classes/recording-options.mjs +1 -1
  40. package/esm2020/user-device-manage/src/classes/simplified-user.mjs +1 -1
  41. package/esm2020/user-device-manage/src/classes/site-defaults.mjs +1 -1
  42. package/esm2020/user-device-manage/src/classes/translation-pattern.mjs +1 -1
  43. package/esm2020/user-device-manage/src/classes/types.mjs +1 -1
  44. package/esm2020/user-device-manage/src/common-functions.mjs +1 -1
  45. package/esm2020/user-device-manage/src/confirm-dialog/info-dialog.component.mjs +3 -3
  46. package/esm2020/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.mjs +3 -3
  47. package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.mjs +3 -3
  48. package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.mjs +3 -3
  49. package/esm2020/user-device-manage/src/device-associated-line/device-associated-line.component.mjs +1 -1
  50. package/esm2020/user-device-manage/src/device-info/device-info.component.mjs +3 -3
  51. package/esm2020/user-device-manage/src/device-manage-widget.component.mjs +2 -2
  52. package/esm2020/user-device-manage/src/environments/environment.mjs +1 -1
  53. package/esm2020/user-device-manage/src/interseptors/auth.interceptor.mjs +1 -1
  54. package/esm2020/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +3 -3
  55. package/esm2020/user-device-manage/src/material.module.mjs +1 -1
  56. package/esm2020/user-device-manage/src/notifications/notification.component.mjs +3 -3
  57. package/esm2020/user-device-manage/src/pipes/mac-address.pipe.mjs +1 -1
  58. package/esm2020/user-device-manage/src/services/api.service.mjs +1 -1
  59. package/esm2020/user-device-manage/src/services/device.service.mjs +1 -1
  60. package/esm2020/user-device-manage/src/services/dns.service.mjs +1 -1
  61. package/esm2020/user-device-manage/src/services/line.service.mjs +1 -1
  62. package/esm2020/user-device-manage/src/services/notification.service.mjs +1 -1
  63. package/esm2020/user-device-manage/src/services/removeKynFromIBM.service.mjs +1 -1
  64. package/esm2020/user-device-manage/src/services/site-settings.service.mjs +1 -1
  65. package/esm2020/user-device-manage/src/services/sorting-utils.service.mjs +1 -1
  66. package/esm2020/user-device-manage/src/services/user.service.mjs +1 -1
  67. package/esm2020/user-device-manage/src/services/utils.service.mjs +1 -1
  68. package/esm2020/user-device-manage/src/services/validation.service.mjs +1 -1
  69. package/esm2020/user-device-manage/src/shared/tk-page-section/page-section.component.mjs +1 -1
  70. package/esm2020/user-device-manage/src/utils/app-loader/app-loader.mjs +3 -3
  71. package/esm2020/user-manage/public-api.mjs +1 -1
  72. package/esm2020/user-manage/src/app.constants.mjs +1 -1
  73. package/esm2020/user-manage/src/classes/device.mjs +1 -1
  74. package/esm2020/user-manage/src/classes/line-association-interface.mjs +1 -1
  75. package/esm2020/user-manage/src/classes/line-association.mjs +1 -1
  76. package/esm2020/user-manage/src/classes/line-call-info-display.mjs +1 -1
  77. package/esm2020/user-manage/src/classes/line-directory.mjs +1 -1
  78. package/esm2020/user-manage/src/classes/line.mjs +1 -1
  79. package/esm2020/user-manage/src/classes/notification.mjs +1 -1
  80. package/esm2020/user-manage/src/classes/pagination.mjs +1 -1
  81. package/esm2020/user-manage/src/classes/recording-options.mjs +1 -1
  82. package/esm2020/user-manage/src/classes/simplified-user.mjs +1 -1
  83. package/esm2020/user-manage/src/classes/table-data.mjs +1 -1
  84. package/esm2020/user-manage/src/classes/translation-pattern.mjs +1 -1
  85. package/esm2020/user-manage/src/classes/user-list.mjs +1 -1
  86. package/esm2020/user-manage/src/common-functions.mjs +1 -1
  87. package/esm2020/user-manage/src/device-list/device-list.component.mjs +3 -3
  88. package/esm2020/user-manage/src/device-list/device-row/device-row.component.mjs +3 -3
  89. package/esm2020/user-manage/src/environments/environment.mjs +1 -1
  90. package/esm2020/user-manage/src/interseptors/auth.interceptor.mjs +1 -1
  91. package/esm2020/user-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +3 -3
  92. package/esm2020/user-manage/src/material.module.mjs +1 -1
  93. package/esm2020/user-manage/src/notifications/notification.component.mjs +3 -3
  94. package/esm2020/user-manage/src/removeKynFromIBM.service.mjs +1 -1
  95. package/esm2020/user-manage/src/services/api.service.mjs +1 -1
  96. package/esm2020/user-manage/src/services/dns.service.mjs +1 -1
  97. package/esm2020/user-manage/src/services/line.service.mjs +1 -1
  98. package/esm2020/user-manage/src/services/notification.service.mjs +1 -1
  99. package/esm2020/user-manage/src/services/removeKynFromIBM.service.mjs +1 -1
  100. package/esm2020/user-manage/src/services/site-settings.service.mjs +1 -1
  101. package/esm2020/user-manage/src/services/sorting-utils.service.mjs +1 -1
  102. package/esm2020/user-manage/src/services/user.service.mjs +1 -1
  103. package/esm2020/user-manage/src/services/utils.service.mjs +1 -1
  104. package/esm2020/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.mjs +3 -3
  105. package/esm2020/user-manage/src/user-info/user-info.component.mjs +3 -3
  106. package/esm2020/user-manage/src/user-manage-widget.component.mjs +2 -2
  107. package/esm2020/user-manage/src/user-manage.module.mjs +1 -1
  108. package/esm2020/user-manage/src/utils/app-loader/app-loader.mjs +3 -3
  109. package/esm2020/user-manage/src/utils/pagination/pagination.component.mjs +3 -3
  110. package/esm2020/users-list/public-api.mjs +1 -1
  111. package/esm2020/users-list/src/app.constants.mjs +1 -1
  112. package/esm2020/users-list/src/classes/app-location.mjs +1 -1
  113. package/esm2020/users-list/src/classes/device.mjs +1 -1
  114. package/esm2020/users-list/src/classes/line.mjs +1 -1
  115. package/esm2020/users-list/src/classes/move-user.mjs +1 -1
  116. package/esm2020/users-list/src/classes/notification.mjs +1 -1
  117. package/esm2020/users-list/src/classes/simlified-user.mjs +1 -1
  118. package/esm2020/users-list/src/classes/table-data.mjs +1 -1
  119. package/esm2020/users-list/src/classes/user-list.mjs +1 -1
  120. package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.mjs +3 -3
  121. package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.mjs +3 -3
  122. package/esm2020/users-list/src/move-user-wizard/move-user-wizard.component.mjs +3 -3
  123. package/esm2020/users-list/src/services/api-webex.service.mjs +1 -1
  124. package/esm2020/users-list/src/services/api.service.mjs +1 -1
  125. package/esm2020/users-list/src/services/dns.service.mjs +1 -1
  126. package/esm2020/users-list/src/services/events-communication.service.mjs +1 -1
  127. package/esm2020/users-list/src/services/notification.service.mjs +1 -1
  128. package/esm2020/users-list/src/services/removeKynFromIBM.service.mjs +1 -1
  129. package/esm2020/users-list/src/services/site-settings.service.mjs +1 -1
  130. package/esm2020/users-list/src/services/user.service.mjs +1 -1
  131. package/esm2020/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.mjs +3 -3
  132. package/esm2020/users-list/src/utils/app-loader/app-loader.mjs +3 -3
  133. package/esm2020/users-list/src/utils/common-functions.mjs +1 -1
  134. package/esm2020/users-list/src/utils/notifications/notification.component.mjs +3 -3
  135. package/esm2020/users-list/src/utils/utils.service.mjs +1 -1
  136. package/fesm2015/tuki-io-tuki-widgets-contact-center.mjs +2 -2
  137. package/fesm2015/tuki-io-tuki-widgets-contact-center.mjs.map +1 -1
  138. package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs +20 -20
  139. package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
  140. package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs +6 -6
  141. package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs.map +1 -1
  142. package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs +18 -18
  143. package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
  144. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs +18 -18
  145. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
  146. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +12 -12
  147. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
  148. package/fesm2015/tuki-io-tuki-widgets.mjs +8 -8
  149. package/fesm2015/tuki-io-tuki-widgets.mjs.map +1 -1
  150. package/fesm2020/tuki-io-tuki-widgets-contact-center.mjs +2 -2
  151. package/fesm2020/tuki-io-tuki-widgets-contact-center.mjs.map +1 -1
  152. package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs +20 -20
  153. package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
  154. package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs +6 -6
  155. package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs.map +1 -1
  156. package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs +18 -18
  157. package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
  158. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs +18 -18
  159. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
  160. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +12 -12
  161. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
  162. package/fesm2020/tuki-io-tuki-widgets.mjs +8 -8
  163. package/fesm2020/tuki-io-tuki-widgets.mjs.map +1 -1
  164. package/package.json +1 -1
@@ -194,4 +194,4 @@ SortingUtilsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0",
194
194
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SortingUtilsService, decorators: [{
195
195
  type: Injectable
196
196
  }] });
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydGluZy11dGlscy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXItbWFuYWdlL3NyYy9zZXJ2aWNlcy9zb3J0aW5nLXV0aWxzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0MsTUFBTSxZQUFZLEdBQUcsVUFBVSxRQUFrQixFQUFFLE9BQWlCLEVBQUUsT0FBZTtJQUNuRixJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsRUFBRTtRQUMvRCxPQUFPLElBQUksQ0FBQztLQUNiO0lBQ0QsT0FBTyxHQUFHLE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7QUFDM0MsQ0FBQyxDQUFDO0FBRUYsTUFBTSxjQUFjLEdBQUcsVUFBVSxRQUFrQixFQUFFLE9BQWlCLEVBQUUsT0FBZTtJQUNyRixJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsRUFBRTtRQUMvRCxPQUFPLElBQUksQ0FBQztLQUNiO0lBQ0QsYUFBYTtJQUNiLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sSUFBSSxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUM5RSxDQUFDLENBQUM7QUFFRixNQUFNLFFBQVEsR0FBRyxVQUFVLFFBQWtCLEVBQUUsT0FBaUIsRUFBRSxPQUFlO0lBQy9FLElBQUksQ0FBQyxRQUFRLElBQUksT0FBTyxFQUFFO1FBQ3hCLGFBQWE7UUFDYixPQUFPLE1B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LHVCQUF1QixHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1RixJQUFJLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxlQUFlLENBQUMsRUFBRTtnQkFDekUsTUFBTSxJQUFJLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ3BHLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7YUFDekI7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUNELGdCQUFnQixFQUFFLFFBQVE7SUFDMUIsVUFBVSxFQUFFLFFBQVE7Q0FDckIsQ0FBQztpSEFwQ1MsbUJBQW1CO3FIQUFuQixtQkFBbUI7NEZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTGluZUFzc29jaWF0aW9uSW50ZXJmYWNlIH0gZnJvbSAnLi4vY2xhc3Nlcy9saW5lLWFzc29jaWF0aW9uLWludGVyZmFjZSc7XHJcbmltcG9ydCB7IERldmljZUludGVyZmFjZSB9IGZyb20gJy4uL2NsYXNzZXMvZGV2aWNlJztcclxuaW1wb3J0IHsgTGluZUludGVyZmFjZSB9IGZyb20gJy4uL2NsYXNzZXMvbGluZSc7XHJcbmltcG9ydCB7IExpbmVBc3NvY2lhdGlvbiB9IGZyb20gJy4uL2NsYXNzZXMvbGluZS1hc3NvY2lhdGlvbic7XHJcblxyXG5jb25zdCBzdHJpbmdfYXJyYXkgPSBmdW5jdGlvbiAob3JpZ2luYWw6IHN0cmluZ1tdLCB1cGRhdGVkOiBzdHJpbmdbXSwgZnVsbEtleTogc3RyaW5nKSB7XHJcbiAgaWYgKCF1cGRhdGVkIHx8ICFTb3J0aW5nVXRpbHNTZXJ2aWNlLmRpZmZlcnMob3JpZ2luYWwsIHVwZGF0ZWQpKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgcmV0dXJuIGAke2Z1bGxLZXl9PSR7dXBkYXRlZC5qb2luKCcsJyl9YDtcclxufTtcclxuXHJcbmNvbnN0IGxpbmVfcmVmZXJlbmNlID0gZnVuY3Rpb24gKG9yaWdpbmFsOiBzdHJpbmdbXSwgdXBkYXRlZDogc3RyaW5nW10sIGZ1bGxLZXk6IHN0cmluZykge1xyXG4gIGlmICghdXBkYXRlZCB8fCAhU29ydGluZ1V0aWxzU2VydmljZS5kaWZmZXJzKG9yaWdpbmFsLCB1cGRhdGVkKSkge1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG4gIC8vIEB0cy1pZ25vcmVcclxuICByZXR1cm4gT2JqZWN0LmtleXModXBkYXRlZCkubWFwKGtleSA9PiBgJHtmdWxsS2V5fS4ke2tleX09JHt1cGRhdGVkW2tleV19YCk7XHJcbn07XHJcblxyXG5jb25zdCBudWxsYWJsZSA9IGZ1bmN0aW9uIChvcmlnaW5hbDogc3RyaW5nW10sIHVwZGF0ZWQ6IHN0cmluZ1tdLCBmdWxsS2V5OiBzdHJpbmcpIHtcclxuICBpZiAoIW9yaWdpbmFsICYmIHVwZGF0ZWQpIHtcclxuICAgIC8vIEB0cy1pZ25vcmVcclxuICAgIHJldHVybiBPYmplY3Qua2V5cyh1cGRhdGVkKS5tYXAoa2V5ID0+IGAke2Z1bGxLZXl9LiR7a2V5fT0ke3VwZGF0ZWRba2V5XX1gKTtcclxuICB9IGVsc2UgaWYgKG9yaWdpbmFsICYmICF1cGRhdGVkKSB7XHJcbiAgICByZXR1cm4gYCR7ZnVsbEtleX09bnVsbGA7XHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiBTb3J0aW5nVXRpbHNTZXJ2aWNlLmRpZmYob3JpZ2luYWwsIHVwZGF0ZWQsIGZ1bGxLZXksIFtdKTtcclxuICB9XHJcbn07XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTb3J0aW5nVXRpbHNTZXJ2aWNlIHtcclxuXHJcbiAgc3RhdGljIGRpY3Rpb25hcnkgPSB7XHJcbiAgICBmZWF0dXJlczogc3RyaW5nX2FycmF5LFxyXG4gICAgc2VydmljZXM6IHN0cmluZ19hcnJheSxcclxuICAgIGRpcmVjdG9yeU51bWJlcjogbGluZV9yZWZlcmVuY2UsXHJcbiAgICBwcmltYXJ5TGluZVJlZmVyZW5jZTogbGluZV9yZWZlcmVuY2UsXHJcbiAgICBzcGVlZERpYWxzOiBmdW5jdGlvbiAob3JpZ2luYWw6IGFueSwgdXBkYXRlZDogYW55LCBmdWxsS2V5OiBzdHJpbmcpIHtcclxuICAgICAgaWYgKCF1cGRhdGVkIHx8ICFTb3J0aW5nVXRpbHNTZXJ2aWNlLmRpZmZlcnMob3JpZ2luYWwsIHVwZGF0ZWQpKSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICAgICAgLy8gdG9kbyBvbmx5IGNoYW5nZXMsIGlkZW50aWZpY2F0aW9uXHJcbiAgICAgIGxldCBtYXA6IGFueSA9IFtdO1xyXG4gICAgICB1cGRhdGVkLm1hcCgoc3BlZWREaWFsOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCBjdXJyZW50RnVsbEtleSA9IGAke2Z1bGxLZXl9LiR7c3BlZWREaWFsLmluZGV4fWA7IC8vICR7c3BlZWREaWFsLnR5cGV9IENIRUNrID9cclxuICAgICAgICBtYXAgPSBbLi4ubWFwLCBPYmplY3Qua2V5cyhzcGVlZERpYWwpLm1hcChrZXkgPT4gYCR7Y3VycmVudEZ1bGxLZXl9LiR7a2V5fT0ke3NwZWVkRGlhbFtrZXldfWApXTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBtYXA7XHJcbiAgICB9LFxyXG4gICAgbGluZUFzc29jaWF0aW9uczogZnVuY3Rpb24gKG9yaWdpbmFsOiBMaW5lQXNzb2NpYXRpb25JbnRlcmZhY2VbXSwgdXBkYXRlZDogTGluZUFzc29jaWF0aW9uSW50ZXJmYWNlW10sIGZ1bGxLZXk6IHN0cmluZykge1xyXG4gICAgICBpZiAoIXVwZGF0ZWQgfHwgIVNvcnRpbmdVdGlsc1NlcnZpY2UuZGlmZmVycyhvcmlnaW5hbCwgdXBkYXRlZCkpIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgICBsZXQgbWFwOiBhbnkgPSBbXTtcclxuICAgICAgdXBkYXRlZC5tYXAoKGxpbmVBc3NvY2lhdGlvbjogTGluZUFzc29jaWF0aW9uSW50ZXJmYWNlKSA9PiB7XHJcbiAgICAgICAgY29uc3QgY3VycmVudEZ1bGxLZXkgPSBgJHtmdWxsS2V5fS4ke2xpbmVBc3NvY2lhdGlvbi5saW5lUGtpZCA/IGxpbmVBc3NvY2lhdGlvbi5saW5lUGtpZCA6IGxpbmVBc3NvY2lhdGlvbi5saW5lTG9jYWxJZH1gO1xyXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsTGluZUFzc29jaWF0aW9uID0gb3JpZ2luYWwuZmluZChsaW5lID0+IGxpbmUuaW5kZXggPT09IGxpbmVBc3NvY2lhdGlvbi5pbmRleCk7XHJcbiAgICAgICAgaWYgKFNvcnRpbmdVdGlsc1NlcnZpY2UuZGlmZmVycyhvcmlnaW5hbExpbmVBc3NvY2lhdGlvbiwgbGluZUFzc29jaWF0aW9uKSkge1xyXG4gICAgICAgICAgY29uc3QgZGlmZiA9IFNvcnRpbmdVdGlsc1NlcnZpY2UuZGlmZihvcmlnaW5hbExpbmVBc3NvY2lhdGlvbiwgbGluZUFzc29jaWF0aW9uLCBjdXJyZW50RnVsbEtleSwgW10pO1xyXG4gICAgICAgICAgbWFwID0gWy4uLm1hcCwgLi4uZGlmZl07XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIG1hcDtcclxuICAgIH0sXHJcbiAgICBlbnRlcnByaXNlQWx0TnVtOiBudWxsYWJsZSxcclxuICAgIGUxNjRBbHROdW06IG51bGxhYmxlXHJcbiAgfTtcclxuXHJcbiAgcHVibGljIHN0YXRpYyBzb3J0RGV2aWNlc0J5VHlwZUFuZE5hbWUoYXJyYXk6IEFycmF5PERldmljZUludGVyZmFjZT4pOiBhbnkge1xyXG4gICAgaWYgKCFhcnJheSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIHJldHVybiBhcnJheS5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgIGlmIChhLmRldmljZVR5cGUgPT09IGIuZGV2aWNlVHlwZSkge1xyXG4gICAgICAgIHJldHVybiAoYS5uYW1lIDwgYi5uYW1lKSA/IC0xIDogKGEubmFtZSA+IGIubmFtZSkgPyAxIDogMDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gKGEuZGV2aWNlVHlwZSA8IGIuZGV2aWNlVHlwZSkgPyAtMSA6IDE7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHNvcnRMaW5lc0J5RGlyZWN0b3J5TmFtZShhcnJheTogTGluZUludGVyZmFjZVtdKTogYW55IHtcclxuICAgIGlmICghYXJyYXkpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYXJyYXkuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICBpZiAoIWEuZGlyZWN0b3J5TnVtYmVyICYmICFiLmRpcmVjdG9yeU51bWJlcikge1xyXG4gICAgICAgIHJldHVybiAwO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChhLmRpcmVjdG9yeU51bWJlciAmJiAhYi5kaXJlY3RvcnlOdW1iZXIpIHtcclxuICAgICAgICByZXR1cm4gMTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIWEuZGlyZWN0b3J5TnVtYmVyICYmIGIuZGlyZWN0b3J5TnVtYmVyKSB7XHJcbiAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IGRpcmVjdG9yeU51bWJlckEgPSBhLmRpcmVjdG9yeU51bWJlci5kaXJlY3RvcnlOdW1iZXI7XHJcbiAgICAgIGNvbnN0IGRpcmVjdG9yeU51bWJlckIgPSBiLmRpcmVjdG9yeU51bWJlci5kaXJlY3RvcnlOdW1iZXI7XHJcbiAgICAgIHJldHVybiAoZGlyZWN0b3J5TnVtYmVyQSA8IGRpcmVjdG9yeU51bWJlckIpID8gLTEgOiAoZGlyZWN0b3J5TnVtYmVyQSA+IGRpcmVjdG9yeU51bWJlckIpID8gMSA6IDA7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBzb3J0TGluZUFzc29jaWF0aW9uc0J5UG9zaXRpb24oYXJyYXk6IExpbmVBc3NvY2lhdGlvbltdKTogYW55IHtcclxuICAgIGlmICghYXJyYXkpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYXJyYXkuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICBpZiAoIWEucG9zaXRpb24gJiYgIWIucG9zaXRpb24pIHtcclxuICAgICAgICByZXR1cm4gMDtcclxuICAgICAgfVxyXG4gICAgICBpZiAoYS5wb3NpdGlvbiAmJiAhYi5wb3NpdGlvbikge1xyXG4gICAgICAgIHJldHVybiAxO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghYS5wb3NpdGlvbiAmJiBiLnBvc2l0aW9uKSB7XHJcbiAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IHBvc2l0aW9uQSA9IGEucG9zaXRpb247XHJcbiAgICAgIGNvbnN0IHBvc2l0aW9uQiA9IGIucG9zaXRpb247XHJcbiAgICAgIHJldHVybiAocG9zaXRpb25BIDwgcG9zaXRpb25CKSA/IC0xIDogKHBvc2l0aW9uQSA+IHBvc2l0aW9uQikgPyAxIDogMDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHNvcnRTb3J0QXJyYXlCeVByb3BlcnR5KGFycmF5OiBhbnksIHNvcnRCeTogc3RyaW5nKTogYW55IHtcclxuICAgIGlmICghYXJyYXkpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYXJyYXkuc29ydCgoYTogYW55LCBiOiBhbnkpID0+IHtcclxuICAgICAgaWYgKCFhW3NvcnRCeV0gJiYgIWJbc29ydEJ5XSkge1xyXG4gICAgICAgIHJldHVybiAwO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChhW3NvcnRCeV0gJiYgIWJbc29ydEJ5XSkge1xyXG4gICAgICAgIHJldHVybiAxO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghYVtzb3J0QnldICYmIGJbc29ydEJ5XSkge1xyXG4gICAgICAgIHJldHVybiAtMTtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBwb3NpdGlvbkEgPSBhW3NvcnRCeV07XHJcbiAgICAgIGNvbnN0IHBvc2l0aW9uQiA9IGJbc29ydEJ5XTtcclxuICAgICAgcmV0dXJuIChwb3NpdGlvbkEgPCBwb3NpdGlvbkIpID8gLTEgOiAocG9zaXRpb25BID4gcG9zaXRpb25CKSA/IDEgOiAwO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgc3RhdGljIGRpZmYob3JpZ09iamVjdDogYW55LCB1cGRhdGVkT2JqOiBhbnksIHBhdGg6IHN0cmluZywga2V5c1RvSWdub3JlOiBhbnkpIHtcclxuICAgIGxldCByZXN1bHQ6IGFueSA9IFtdO1xyXG4gICAgaWYgKE9iamVjdC5pcyhvcmlnT2JqZWN0LCB1cGRhdGVkT2JqKSkge1xyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgaWYgKCF1cGRhdGVkT2JqIHx8IHR5cGVvZiB1cGRhdGVkT2JqICE9PSAnb2JqZWN0Jykge1xyXG4gICAgICByZXR1cm4gdXBkYXRlZE9iajtcclxuICAgIH1cclxuICAgIGNvbnN0IGNvbmNhdCA9IEFycmF5LmZyb20obmV3IFNldChbLi4uT2JqZWN0LmtleXMob3JpZ09iamVjdCB8fCB7fSksIC4uLk9iamVjdC5rZXlzKHVwZGF0ZWRPYmogfHwge30pXSkpO1xyXG4gICAgY29uc3QgZmlsdGVyID0ga2V5c1RvSWdub3JlID8gY29uY2F0LmZpbHRlcihrZXkgPT4gIWtleXNUb0lnbm9yZS5pbmNsdWRlcyhrZXkpKSA6IGNvbmNhdDtcclxuICAgIGZpbHRlclxyXG4gICAgICAuZm9yRWFjaChrZXkgPT4ge1xyXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICBpZiAodGhpcy5kaWN0aW9uYXJ5W2tleV0pIHtcclxuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgIGNvbnN0IGNvbXBsZXhSZXN1bHQgPSB0aGlzLmRpY3Rpb25hcnlba2V5XShvcmlnT2JqZWN0W2tleV0sIHVwZGF0ZWRPYmpba2V5XSwgYCR7cGF0aH0ke3BhdGggPyAnLicgOiAnJ30ke2tleX1gKTtcclxuICAgICAgICAgIGlmIChjb21wbGV4UmVzdWx0KSB7XHJcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGNvbXBsZXhSZXN1bHQpKSB7XHJcbiAgICAgICAgICAgICAgcmVzdWx0ID0gWy4uLnJlc3VsdCwgLi4uY29tcGxleFJlc3VsdF07XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgcmVzdWx0LnB1c2goY29tcGxleFJlc3VsdCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB1cGRhdGVkT2JqW2tleV0gPT09ICdvYmplY3QnICYmIHR5cGVvZiBvcmlnT2JqZWN0W2tleV0gPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICBpZiAoU29ydGluZ1V0aWxzU2VydmljZS5kaWZmZXJzKHVwZGF0ZWRPYmpba2V5XSwgb3JpZ09iamVjdFtrZXldKSkge1xyXG4gICAgICAgICAgICBjb25zdCBuZXdQYXRoID0gYCR7cGF0aH0ke3BhdGggPyAnLicgOiAnJ30ke2tleX1gO1xyXG4gICAgICAgICAgICBjb25zdCB2YWx1ZXMgPSBTb3J0aW5nVXRpbHNTZXJ2aWNlLmRpZmYob3JpZ09iamVjdFtrZXldLCB1cGRhdGVkT2JqW2tleV0sIG5ld1BhdGgsIGtleXNUb0lnbm9yZSk7XHJcbiAgICAgICAgICAgIGlmICh2YWx1ZXMgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgIHJlc3VsdCA9IFsuLi5yZXN1bHQsIC4uLnZhbHVlc107XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2UgaWYgKHVwZGF0ZWRPYmogJiYgIW9yaWdPYmplY3QgfHwgdXBkYXRlZE9ialtrZXldICE9PSBvcmlnT2JqZWN0W2tleV0gJiYgIU9iamVjdC5pcyhvcmlnT2JqZWN0W2tleV0sIHVwZGF0ZWRPYmpba2V5XSkpIHtcclxuICAgICAgICAgIGNvbnN0IHZhbHVlID0gdXBkYXRlZE9iaiA/IFNvcnRpbmdVdGlsc1NlcnZpY2UuZm9ybWF0SWZFbXB0eSh1cGRhdGVkT2JqW2tleV0pIDogbnVsbDtcclxuICAgICAgICAgIHJlc3VsdC5wdXNoKGAke3BhdGh9JHtwYXRoID8gJy4nIDogJyd9JHtrZXl9PSR7dmFsdWV9YCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZm9ybWF0SWZFbXB0eSh2YWx1ZTogYW55KTogYW55IHtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICB9XHJcbiAgICBzd2l0Y2ggKHR5cGVvZiB2YWx1ZSkge1xyXG4gICAgICBjYXNlICdib29sZWFuJzpcclxuICAgICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICAgIGNhc2UgJ3N0cmluZyc6XHJcbiAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGRpZmZlcnMob2JqMTogYW55LCBvYmoyOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShvYmoxKSAhPT0gSlNPTi5zdHJpbmdpZnkob2JqMik7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
197
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydGluZy11dGlscy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXItbWFuYWdlL3NyYy9zZXJ2aWNlcy9zb3J0aW5nLXV0aWxzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0MsTUFBTSxZQUFZLEdBQUcsVUFBVSxRQUFrQixFQUFFLE9BQWlCLEVBQUUsT0FBZTtJQUNuRixJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsRUFBRTtRQUMvRCxPQUFPLElBQUksQ0FBQztLQUNiO0lBQ0QsT0FBTyxHQUFHLE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7QUFDM0MsQ0FBQyxDQUFDO0FBRUYsTUFBTSxjQUFjLEdBQUcsVUFBVSxRQUFrQixFQUFFLE9BQWlCLEVBQUUsT0FBZTtJQUNyRixJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsRUFBRTtRQUMvRCxPQUFPLElBQUksQ0FBQztLQUNiO0lBQ0QsYUFBYTtJQUNiLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sSUFBSSxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUM5RSxDQUFDLENBQUM7QUFFRixNQUFNLFFBQVEsR0FBRyxVQUFVLFFBQWtCLEVBQUUsT0FBaUIsRUFBRSxPQUFlO0lBQy9FLElBQUksQ0FBQyxRQUFRLElBQUksT0FBTyxFQUFFO1FBQ3hCLGFBQWE7UUFDYixPQUFPLE1B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LHVCQUF1QixHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1RixJQUFJLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxlQUFlLENBQUMsRUFBRTtnQkFDekUsTUFBTSxJQUFJLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ3BHLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7YUFDekI7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUNELGdCQUFnQixFQUFFLFFBQVE7SUFDMUIsVUFBVSxFQUFFLFFBQVE7Q0FDckIsQ0FBQztpSEFwQ1MsbUJBQW1CO3FIQUFuQixtQkFBbUI7NEZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExpbmVBc3NvY2lhdGlvbkludGVyZmFjZSB9IGZyb20gJy4uL2NsYXNzZXMvbGluZS1hc3NvY2lhdGlvbi1pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRGV2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi4vY2xhc3Nlcy9kZXZpY2UnO1xuaW1wb3J0IHsgTGluZUludGVyZmFjZSB9IGZyb20gJy4uL2NsYXNzZXMvbGluZSc7XG5pbXBvcnQgeyBMaW5lQXNzb2NpYXRpb24gfSBmcm9tICcuLi9jbGFzc2VzL2xpbmUtYXNzb2NpYXRpb24nO1xuXG5jb25zdCBzdHJpbmdfYXJyYXkgPSBmdW5jdGlvbiAob3JpZ2luYWw6IHN0cmluZ1tdLCB1cGRhdGVkOiBzdHJpbmdbXSwgZnVsbEtleTogc3RyaW5nKSB7XG4gIGlmICghdXBkYXRlZCB8fCAhU29ydGluZ1V0aWxzU2VydmljZS5kaWZmZXJzKG9yaWdpbmFsLCB1cGRhdGVkKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHJldHVybiBgJHtmdWxsS2V5fT0ke3VwZGF0ZWQuam9pbignLCcpfWA7XG59O1xuXG5jb25zdCBsaW5lX3JlZmVyZW5jZSA9IGZ1bmN0aW9uIChvcmlnaW5hbDogc3RyaW5nW10sIHVwZGF0ZWQ6IHN0cmluZ1tdLCBmdWxsS2V5OiBzdHJpbmcpIHtcbiAgaWYgKCF1cGRhdGVkIHx8ICFTb3J0aW5nVXRpbHNTZXJ2aWNlLmRpZmZlcnMob3JpZ2luYWwsIHVwZGF0ZWQpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gQHRzLWlnbm9yZVxuICByZXR1cm4gT2JqZWN0LmtleXModXBkYXRlZCkubWFwKGtleSA9PiBgJHtmdWxsS2V5fS4ke2tleX09JHt1cGRhdGVkW2tleV19YCk7XG59O1xuXG5jb25zdCBudWxsYWJsZSA9IGZ1bmN0aW9uIChvcmlnaW5hbDogc3RyaW5nW10sIHVwZGF0ZWQ6IHN0cmluZ1tdLCBmdWxsS2V5OiBzdHJpbmcpIHtcbiAgaWYgKCFvcmlnaW5hbCAmJiB1cGRhdGVkKSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHJldHVybiBPYmplY3Qua2V5cyh1cGRhdGVkKS5tYXAoa2V5ID0+IGAke2Z1bGxLZXl9LiR7a2V5fT0ke3VwZGF0ZWRba2V5XX1gKTtcbiAgfSBlbHNlIGlmIChvcmlnaW5hbCAmJiAhdXBkYXRlZCkge1xuICAgIHJldHVybiBgJHtmdWxsS2V5fT1udWxsYDtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gU29ydGluZ1V0aWxzU2VydmljZS5kaWZmKG9yaWdpbmFsLCB1cGRhdGVkLCBmdWxsS2V5LCBbXSk7XG4gIH1cbn07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTb3J0aW5nVXRpbHNTZXJ2aWNlIHtcblxuICBzdGF0aWMgZGljdGlvbmFyeSA9IHtcbiAgICBmZWF0dXJlczogc3RyaW5nX2FycmF5LFxuICAgIHNlcnZpY2VzOiBzdHJpbmdfYXJyYXksXG4gICAgZGlyZWN0b3J5TnVtYmVyOiBsaW5lX3JlZmVyZW5jZSxcbiAgICBwcmltYXJ5TGluZVJlZmVyZW5jZTogbGluZV9yZWZlcmVuY2UsXG4gICAgc3BlZWREaWFsczogZnVuY3Rpb24gKG9yaWdpbmFsOiBhbnksIHVwZGF0ZWQ6IGFueSwgZnVsbEtleTogc3RyaW5nKSB7XG4gICAgICBpZiAoIXVwZGF0ZWQgfHwgIVNvcnRpbmdVdGlsc1NlcnZpY2UuZGlmZmVycyhvcmlnaW5hbCwgdXBkYXRlZCkpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICAvLyB0b2RvIG9ubHkgY2hhbmdlcywgaWRlbnRpZmljYXRpb25cbiAgICAgIGxldCBtYXA6IGFueSA9IFtdO1xuICAgICAgdXBkYXRlZC5tYXAoKHNwZWVkRGlhbDogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRGdWxsS2V5ID0gYCR7ZnVsbEtleX0uJHtzcGVlZERpYWwuaW5kZXh9YDsgLy8gJHtzcGVlZERpYWwudHlwZX0gQ0hFQ2sgP1xuICAgICAgICBtYXAgPSBbLi4ubWFwLCBPYmplY3Qua2V5cyhzcGVlZERpYWwpLm1hcChrZXkgPT4gYCR7Y3VycmVudEZ1bGxLZXl9LiR7a2V5fT0ke3NwZWVkRGlhbFtrZXldfWApXTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIG1hcDtcbiAgICB9LFxuICAgIGxpbmVBc3NvY2lhdGlvbnM6IGZ1bmN0aW9uIChvcmlnaW5hbDogTGluZUFzc29jaWF0aW9uSW50ZXJmYWNlW10sIHVwZGF0ZWQ6IExpbmVBc3NvY2lhdGlvbkludGVyZmFjZVtdLCBmdWxsS2V5OiBzdHJpbmcpIHtcbiAgICAgIGlmICghdXBkYXRlZCB8fCAhU29ydGluZ1V0aWxzU2VydmljZS5kaWZmZXJzKG9yaWdpbmFsLCB1cGRhdGVkKSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGxldCBtYXA6IGFueSA9IFtdO1xuICAgICAgdXBkYXRlZC5tYXAoKGxpbmVBc3NvY2lhdGlvbjogTGluZUFzc29jaWF0aW9uSW50ZXJmYWNlKSA9PiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRGdWxsS2V5ID0gYCR7ZnVsbEtleX0uJHtsaW5lQXNzb2NpYXRpb24ubGluZVBraWQgPyBsaW5lQXNzb2NpYXRpb24ubGluZVBraWQgOiBsaW5lQXNzb2NpYXRpb24ubGluZUxvY2FsSWR9YDtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxMaW5lQXNzb2NpYXRpb24gPSBvcmlnaW5hbC5maW5kKGxpbmUgPT4gbGluZS5pbmRleCA9PT0gbGluZUFzc29jaWF0aW9uLmluZGV4KTtcbiAgICAgICAgaWYgKFNvcnRpbmdVdGlsc1NlcnZpY2UuZGlmZmVycyhvcmlnaW5hbExpbmVBc3NvY2lhdGlvbiwgbGluZUFzc29jaWF0aW9uKSkge1xuICAgICAgICAgIGNvbnN0IGRpZmYgPSBTb3J0aW5nVXRpbHNTZXJ2aWNlLmRpZmYob3JpZ2luYWxMaW5lQXNzb2NpYXRpb24sIGxpbmVBc3NvY2lhdGlvbiwgY3VycmVudEZ1bGxLZXksIFtdKTtcbiAgICAgICAgICBtYXAgPSBbLi4ubWFwLCAuLi5kaWZmXTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gbWFwO1xuICAgIH0sXG4gICAgZW50ZXJwcmlzZUFsdE51bTogbnVsbGFibGUsXG4gICAgZTE2NEFsdE51bTogbnVsbGFibGVcbiAgfTtcblxuICBwdWJsaWMgc3RhdGljIHNvcnREZXZpY2VzQnlUeXBlQW5kTmFtZShhcnJheTogQXJyYXk8RGV2aWNlSW50ZXJmYWNlPik6IGFueSB7XG4gICAgaWYgKCFhcnJheSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBhcnJheS5zb3J0KChhLCBiKSA9PiB7XG4gICAgICBpZiAoYS5kZXZpY2VUeXBlID09PSBiLmRldmljZVR5cGUpIHtcbiAgICAgICAgcmV0dXJuIChhLm5hbWUgPCBiLm5hbWUpID8gLTEgOiAoYS5uYW1lID4gYi5uYW1lKSA/IDEgOiAwO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIChhLmRldmljZVR5cGUgPCBiLmRldmljZVR5cGUpID8gLTEgOiAxO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIHNvcnRMaW5lc0J5RGlyZWN0b3J5TmFtZShhcnJheTogTGluZUludGVyZmFjZVtdKTogYW55IHtcbiAgICBpZiAoIWFycmF5KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIGFycmF5LnNvcnQoKGEsIGIpID0+IHtcbiAgICAgIGlmICghYS5kaXJlY3RvcnlOdW1iZXIgJiYgIWIuZGlyZWN0b3J5TnVtYmVyKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuICAgICAgaWYgKGEuZGlyZWN0b3J5TnVtYmVyICYmICFiLmRpcmVjdG9yeU51bWJlcikge1xuICAgICAgICByZXR1cm4gMTtcbiAgICAgIH1cbiAgICAgIGlmICghYS5kaXJlY3RvcnlOdW1iZXIgJiYgYi5kaXJlY3RvcnlOdW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgfVxuICAgICAgY29uc3QgZGlyZWN0b3J5TnVtYmVyQSA9IGEuZGlyZWN0b3J5TnVtYmVyLmRpcmVjdG9yeU51bWJlcjtcbiAgICAgIGNvbnN0IGRpcmVjdG9yeU51bWJlckIgPSBiLmRpcmVjdG9yeU51bWJlci5kaXJlY3RvcnlOdW1iZXI7XG4gICAgICByZXR1cm4gKGRpcmVjdG9yeU51bWJlckEgPCBkaXJlY3RvcnlOdW1iZXJCKSA/IC0xIDogKGRpcmVjdG9yeU51bWJlckEgPiBkaXJlY3RvcnlOdW1iZXJCKSA/IDEgOiAwO1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIHNvcnRMaW5lQXNzb2NpYXRpb25zQnlQb3NpdGlvbihhcnJheTogTGluZUFzc29jaWF0aW9uW10pOiBhbnkge1xuICAgIGlmICghYXJyYXkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gYXJyYXkuc29ydCgoYSwgYikgPT4ge1xuICAgICAgaWYgKCFhLnBvc2l0aW9uICYmICFiLnBvc2l0aW9uKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuICAgICAgaWYgKGEucG9zaXRpb24gJiYgIWIucG9zaXRpb24pIHtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgICB9XG4gICAgICBpZiAoIWEucG9zaXRpb24gJiYgYi5wb3NpdGlvbikge1xuICAgICAgICByZXR1cm4gLTE7XG4gICAgICB9XG4gICAgICBjb25zdCBwb3NpdGlvbkEgPSBhLnBvc2l0aW9uO1xuICAgICAgY29uc3QgcG9zaXRpb25CID0gYi5wb3NpdGlvbjtcbiAgICAgIHJldHVybiAocG9zaXRpb25BIDwgcG9zaXRpb25CKSA/IC0xIDogKHBvc2l0aW9uQSA+IHBvc2l0aW9uQikgPyAxIDogMDtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBzb3J0U29ydEFycmF5QnlQcm9wZXJ0eShhcnJheTogYW55LCBzb3J0Qnk6IHN0cmluZyk6IGFueSB7XG4gICAgaWYgKCFhcnJheSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBhcnJheS5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xuICAgICAgaWYgKCFhW3NvcnRCeV0gJiYgIWJbc29ydEJ5XSkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICAgIH1cbiAgICAgIGlmIChhW3NvcnRCeV0gJiYgIWJbc29ydEJ5XSkge1xuICAgICAgICByZXR1cm4gMTtcbiAgICAgIH1cbiAgICAgIGlmICghYVtzb3J0QnldICYmIGJbc29ydEJ5XSkge1xuICAgICAgICByZXR1cm4gLTE7XG4gICAgICB9XG4gICAgICBjb25zdCBwb3NpdGlvbkEgPSBhW3NvcnRCeV07XG4gICAgICBjb25zdCBwb3NpdGlvbkIgPSBiW3NvcnRCeV07XG4gICAgICByZXR1cm4gKHBvc2l0aW9uQSA8IHBvc2l0aW9uQikgPyAtMSA6IChwb3NpdGlvbkEgPiBwb3NpdGlvbkIpID8gMSA6IDA7XG4gICAgfSk7XG4gIH1cblxuXG4gIHN0YXRpYyBkaWZmKG9yaWdPYmplY3Q6IGFueSwgdXBkYXRlZE9iajogYW55LCBwYXRoOiBzdHJpbmcsIGtleXNUb0lnbm9yZTogYW55KSB7XG4gICAgbGV0IHJlc3VsdDogYW55ID0gW107XG4gICAgaWYgKE9iamVjdC5pcyhvcmlnT2JqZWN0LCB1cGRhdGVkT2JqKSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgaWYgKCF1cGRhdGVkT2JqIHx8IHR5cGVvZiB1cGRhdGVkT2JqICE9PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuIHVwZGF0ZWRPYmo7XG4gICAgfVxuICAgIGNvbnN0IGNvbmNhdCA9IEFycmF5LmZyb20obmV3IFNldChbLi4uT2JqZWN0LmtleXMob3JpZ09iamVjdCB8fCB7fSksIC4uLk9iamVjdC5rZXlzKHVwZGF0ZWRPYmogfHwge30pXSkpO1xuICAgIGNvbnN0IGZpbHRlciA9IGtleXNUb0lnbm9yZSA/IGNvbmNhdC5maWx0ZXIoa2V5ID0+ICFrZXlzVG9JZ25vcmUuaW5jbHVkZXMoa2V5KSkgOiBjb25jYXQ7XG4gICAgZmlsdGVyXG4gICAgICAuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGlmICh0aGlzLmRpY3Rpb25hcnlba2V5XSkge1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICBjb25zdCBjb21wbGV4UmVzdWx0ID0gdGhpcy5kaWN0aW9uYXJ5W2tleV0ob3JpZ09iamVjdFtrZXldLCB1cGRhdGVkT2JqW2tleV0sIGAke3BhdGh9JHtwYXRoID8gJy4nIDogJyd9JHtrZXl9YCk7XG4gICAgICAgICAgaWYgKGNvbXBsZXhSZXN1bHQpIHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGNvbXBsZXhSZXN1bHQpKSB7XG4gICAgICAgICAgICAgIHJlc3VsdCA9IFsuLi5yZXN1bHQsIC4uLmNvbXBsZXhSZXN1bHRdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmVzdWx0LnB1c2goY29tcGxleFJlc3VsdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB1cGRhdGVkT2JqW2tleV0gPT09ICdvYmplY3QnICYmIHR5cGVvZiBvcmlnT2JqZWN0W2tleV0gPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgaWYgKFNvcnRpbmdVdGlsc1NlcnZpY2UuZGlmZmVycyh1cGRhdGVkT2JqW2tleV0sIG9yaWdPYmplY3Rba2V5XSkpIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld1BhdGggPSBgJHtwYXRofSR7cGF0aCA/ICcuJyA6ICcnfSR7a2V5fWA7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZXMgPSBTb3J0aW5nVXRpbHNTZXJ2aWNlLmRpZmYob3JpZ09iamVjdFtrZXldLCB1cGRhdGVkT2JqW2tleV0sIG5ld1BhdGgsIGtleXNUb0lnbm9yZSk7XG4gICAgICAgICAgICBpZiAodmFsdWVzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgcmVzdWx0ID0gWy4uLnJlc3VsdCwgLi4udmFsdWVzXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodXBkYXRlZE9iaiAmJiAhb3JpZ09iamVjdCB8fCB1cGRhdGVkT2JqW2tleV0gIT09IG9yaWdPYmplY3Rba2V5XSAmJiAhT2JqZWN0LmlzKG9yaWdPYmplY3Rba2V5XSwgdXBkYXRlZE9ialtrZXldKSkge1xuICAgICAgICAgIGNvbnN0IHZhbHVlID0gdXBkYXRlZE9iaiA/IFNvcnRpbmdVdGlsc1NlcnZpY2UuZm9ybWF0SWZFbXB0eSh1cGRhdGVkT2JqW2tleV0pIDogbnVsbDtcbiAgICAgICAgICByZXN1bHQucHVzaChgJHtwYXRofSR7cGF0aCA/ICcuJyA6ICcnfSR7a2V5fT0ke3ZhbHVlfWApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgc3RhdGljIGZvcm1hdElmRW1wdHkodmFsdWU6IGFueSk6IGFueSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICAgIHN3aXRjaCAodHlwZW9mIHZhbHVlKSB7XG4gICAgICBjYXNlICdib29sZWFuJzpcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgcmV0dXJuICcnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGRpZmZlcnMob2JqMTogYW55LCBvYmoyOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqMSkgIT09IEpTT04uc3RyaW5naWZ5KG9iajIpO1xuICB9XG5cbn1cbiJdfQ==
@@ -254,4 +254,4 @@ UserService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version:
254
254
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserService, decorators: [{
255
255
  type: Injectable
256
256
  }], ctorParameters: function () { return [{ type: i1.APIService }, { type: i2.LineService }]; } });
257
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXItbWFuYWdlL3NyYy9zZXJ2aWNlcy91c2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV2QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSS9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7O0FBRzlELE1BQU0sT0FBTyxXQUFXO0lBUXRCLElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBS0QsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzSixDQUFDO0lBRUQsSUFBSSxxQkFBcUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENB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VSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxjQUFjLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxTQUFjO1FBQzNDLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFO1lBQ3RCLE9BQU87U0FDUjtRQUNELEtBQUssSUFBSSxHQUFHLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3pELElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsRUFBRTtnQkFDbkQseUVBQXlFO2dCQUN6RSxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztnQkFDbEMsT0FBTzthQUNSO1NBQ0Y7SUFDSCxDQUFDOzt5R0FqU1UsV0FBVzs2R0FBWCxXQUFXOzRGQUFYLFdBQVc7a0JBRHZCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IG9mLCBmb3JrSm9pbiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTaW1wbGlmaWVkVXNlciB9IGZyb20gJy4uL2NsYXNzZXMvc2ltcGxpZmllZC11c2VyJztcclxuaW1wb3J0IHsgQVBJIH0gZnJvbSAnLi4vYXBwLmNvbnN0YW50cyc7XHJcbmltcG9ydCB7IEFQSVNlcnZpY2UgfSBmcm9tICcuL2FwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBVdGlsc1NlcnZpY2UgfSBmcm9tICcuL3V0aWxzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMaW5lQXNzb2NpYXRpb24gfSBmcm9tICcuLi9jbGFzc2VzL2xpbmUtYXNzb2NpYXRpb24nO1xyXG5pbXBvcnQgeyBMaW5lQXNzb2NpYXRpb25JbnRlcmZhY2UgfSBmcm9tICcuLi9jbGFzc2VzL2xpbmUtYXNzb2NpYXRpb24taW50ZXJmYWNlJztcclxuaW1wb3J0IHsgTGluZVNlcnZpY2UgfSBmcm9tICcuL2xpbmUuc2VydmljZSc7XHJcbmltcG9ydCB7IFNvcnRpbmdVdGlsc1NlcnZpY2UgfSBmcm9tICcuL3NvcnRpbmctdXRpbHMuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBVc2VyU2VydmljZSBpbXBsZW1lbnRzIE9uSW5pdHtcclxuICBzaXRlSWQ6IG51bWJlciA9IC0xO1xyXG4gIHVzZXJJZDogc3RyaW5nID0gJyc7XHJcbiAgZGF0YVBlbmRpbmcgPSBmYWxzZTtcclxuICB1c2VySWRFeGlzdFBlbmRpbmcgPSBmYWxzZTtcclxuICBoYXNFeGlzdGVkVXNlcklkID0gZmFsc2U7XHJcbiAgX3VzZXIhOiBTaW1wbGlmaWVkVXNlcjtcclxuXHJcbiAgZ2V0IHVzZXIoKTogU2ltcGxpZmllZFVzZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX3VzZXI7XHJcbiAgfVxyXG4gIC8vIHVzZXIhOiBTaW1wbGlmaWVkVXNlcjtcclxuICBvcmlnaW5Vc2VyITogU2ltcGxpZmllZFVzZXI7XHJcbiAgb25Vc2VyTGluZVNhdmVkJCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuXHJcbiAgZ2V0IGxpbmVBc3NvY2lhdGlvbigpOiBMaW5lQXNzb2NpYXRpb24gfCBMaW5lQXNzb2NpYXRpb25JbnRlcmZhY2Uge1xyXG4gICAgcmV0dXJuIHRoaXMudXNlciAmJiB0aGlzLm9yaWdpblVzZXIuZGV2aWNlcyAmJiB0aGlzLnVzZXIuZGV2aWNlc1swXSAmJiB0aGlzLnVzZXIuZGV2aWNlc1swXS5saW5lQXNzb2NpYXRpb25zICYmIHRoaXMudXNlci5kZXZpY2VzWzBdLmxpbmVBc3NvY2lhdGlvbnNbMF07XHJcbiAgfVxyXG5cclxuICBnZXQgb3JpZ2luTGluZUFzc29jaWF0aW9uKCk6IExpbmVBc3NvY2lhdGlvbiB8IExpbmVBc3NvY2lhdGlvbkludGVyZmFjZSB7XHJcbiAgICByZXR1cm4gdGhpcy5vcmlnaW5Vc2VyICYmIHRoaXMub3JpZ2luVXNlci5kZXZpY2VzICYmIHRoaXMub3JpZ2luVXNlci5kZXZpY2VzWzBdICYmIHRoaXMub3JpZ2luVXNlci5kZXZpY2VzWzBdLmxpbmVBc3NvY2lhdGlvbnMgJiYgdGhpcy5vcmlnaW5Vc2VyLmRldmljZXNbMF0ubGluZUFzc29jaWF0aW9uc1swXTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBBUElTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsaW5lU2VydmljZTogTGluZVNlcnZpY2VcclxuICApIHtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMuc2l0ZUlkKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGZldGNoVXNlclRva2VuKHNpdGVJZDogbnVtYmVyLCB1c2VySWQ6IHN0cmluZywgaXNMZGFwPzogYm9vbGVhbiwgaXNTZXROZXdUb2tlbk9ubHk/OiBib29sZWFuKTogYW55IHtcclxuICAgIC8vIGlzTGRhcCBURU1QIGJlY2F1c2Ugb2YgdG9rZW4gcmVzcG9uc2UgaXNzdWVcclxuICAgIHRoaXMuc2l0ZUlkID0gc2l0ZUlkO1xyXG4gICAgdGhpcy51c2VySWQgPSB1c2VySWQ7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5VU0VSX1RPS0VOLnJlcGxhY2UoJzpzaXRlSWQnLCBTdHJpbmcodGhpcy5zaXRlSWQpKS5yZXBsYWNlKCc6dXNlcklkJywgZW5jb2RlVVJJQ29tcG9uZW50KGVuY29kZVVSSUNvbXBvbmVudCh1c2VySWQpKSkpXHJcbiAgICAgIC5waXBlKG1hcCgocmVzdWx0OiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCB1c2VyID0gcmVzdWx0ICYmIE9iamVjdC52YWx1ZXMocmVzdWx0KVswXTtcclxuICAgICAgICBjb25zdCB0b2tlbiA9IE9iamVjdC5rZXlzKHJlc3VsdClbMF07XHJcbiAgICAgICAgaWYgKHVzZXIpIHtcclxuICAgICAgICAgIGlmICghaXNTZXROZXdUb2tlbk9ubHkpIHtcclxuICAgICAgICAgICAgdGhpcy5zZXRTaW1wbGlmaWVkVXNlcih1c2VyKTtcclxuICAgICAgICAgICAgdGhpcy5fdXNlci50b2tlbiA9IHVzZXIudG9rZW4gO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5fdXNlci50b2tlbiA9IHVzZXIudG9rZW4gfHwgdG9rZW47XHJcbiAgICAgICAgICB0aGlzLm9yaWdpblVzZXIudG9rZW4gPSB1c2VyLnRva2VuIHx8IHRva2VuO1xyXG4gICAgICAgIH1cclxuICAgICAgfSkpXHJcbiAgICAvLyAucGlwZSh0aGlzLmhhbmRsZUVycm9yKGZhbHNlLCB0cnVlKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZmV0Y2hXZWJleFVzZXJUb2tlbihjdXN0b21lcklkOiBzdHJpbmcsIHVzZXJJZDogc3RyaW5nKTogYW55IHtcclxuICAgIGxldCBVUkwgPSBBUEkuV0VCRVhfVVNFUl9UT0tFTjtcclxuICAgIFVSTCA9IFVSTC5yZXBsYWNlKCc6Y3VzdG9tZXJJZCcsIGN1c3RvbWVySWQpO1xyXG4gICAgVVJMID0gVVJMLnJlcGxhY2UoJzp1c2VySWQnLCBlbmNvZGVVUklDb21wb25lbnQoZW5jb2RlVVJJQ29tcG9uZW50KHVzZXJJZCkpKTtcclxuICAgIHJldHVybiBmb3JrSm9pbihbXHJcbiAgICAgIHRoaXMuYXBpU2VydmljZS5mZXRjaChBUEkuV0VCRVhfVVNFUl9UT0tFTi5yZXBsYWNlKCc6Y3VzdG9tZXJJZCcsIGN1c3RvbWVySWQpLnJlcGxhY2UoJzp1c2VySWQnLCBlbmNvZGVVUklDb21wb25lbnQoZW5jb2RlVVJJQ29tcG9uZW50KHVzZXJJZCkpKSksXHJcbiAgICAgIHRoaXMuYXBpU2VydmljZS5mZXRjaChBUEkuV0VCRVhfVVNFUl9ERVZJQ0VTLnJlcGxhY2UoJzpjdXN0b21lcklkJywgY3VzdG9tZXJJZCkucmVwbGFjZSgnOnVzZXJJZCcsIGVuY29kZVVSSUNvbXBvbmVudChlbmNvZGVVUklDb21wb25lbnQodXNlcklkKSkpKSxcclxuICAgICAgdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5XRUJFWF9VU0VSX0RJUkVDVE9SWV9OVU1CRVJTLnJlcGxhY2UoJzpjdXN0b21lcklkJywgY3VzdG9tZXJJZCkucmVwbGFjZSgnOnVzZXJJZCcsIGVuY29kZVVSSUNvbXBvbmVudChlbmNvZGVVUklDb21wb25lbnQodXNlcklkKSkpKSxcclxuICAgICAgdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5XRUJFWF9VU0VSX0RJUkVDVE9SWV9DQUxMRVJfSUQucmVwbGFjZSgnOmN1c3RvbWVySWQnLCBjdXN0b21lcklkKS5yZXBsYWNlKCc6dXNlcklkJywgZW5jb2RlVVJJQ29tcG9uZW50KGVuY29kZVVSSUNvbXBvbmVudCh1c2VySWQpKSkpLFxyXG4gICAgXSlcclxuICAgIC5waXBlKG1hcCgoW3Rva2VuLCBkZXZpY2VzLCBudW1iZXJzLCBjYWxsZXJpZF0pID0+IHtcclxuICAgICAgaWYgKHRva2VuKSB7XHJcbiAgICAgICAgY29uc3QgdXNlciA9IHRva2VuIGFzIGFueTtcclxuICAgICAgICB1c2VyLmVtYWlsID0gdXNlci5lbWFpbHM/LlswXTtcclxuICAgICAgICB1c2VyLnVzZXJpZCA9IHVzZXIuaWQ7XHJcbiAgICAgICAgdXNlci5kZXZpY2VzID0gKGRldmljZXMgYXMgYW55KS5kZXZpY2VzLm1hcCgoZGV2aWNlOiBhbnkpID0+IHtcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLmRldmljZSxcclxuICAgICAgICAgICAgZGV2aWNlVHlwZTogZGV2aWNlLm1vZGVsLFxyXG4gICAgICAgICAgICBsaW5lQXNzb2NpYXRpb25zOiAobnVtYmVycyBhcyBhbnkpLnBob25lTnVtYmVycy5tYXAoKG51bWJlcjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIGRpcmVjdG9yeU51bWJlcjoge1xyXG4gICAgICAgICAgICAgICAgICBkaXJlY3RvcnlOdW1iZXI6IG51bWJlci5leHRlbnNpb24sXHJcbiAgICAgICAgICAgICAgICAgIHByaW1hcnk6IG51bWJlci5wcmltYXJ5LFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB1c2VyLm1pZGRsZU5hbWUgPSB1c2VyLmRpc3BsYXlOYW1lO1xyXG4gICAgICAgIHVzZXIubW9iaWxlTnVtYmVyID0gdXNlci5tb2JpbGVQaG9uZTtcclxuICAgICAgICB1c2VyLnRlbGVwaG9uZU51bWJlciA9IHVzZXIud29ya1Bob25lO1xyXG5cclxuICAgICAgICB0aGlzLnNldFNpbXBsaWZpZWRVc2VyKHVzZXIpO1xyXG4gICAgICAgIHRoaXMuX3VzZXIudG9rZW4gPSB1c2VyLnRva2VuO1xyXG4gICAgICAgIHRoaXMub3JpZ2luVXNlci50b2tlbiA9IHVzZXIudG9rZW47XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRva2VuO1xyXG4gICAgfSkpXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdXBkYXRlVXNlckZpZWxkcyhib2R5OiBhbnkpOiBhbnkge1xyXG4gICAgaWYgKCF0aGlzLnNpdGVJZCApIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KEFQSS5VUERBVEVfVVNFUl9GSUVMRFMucmVwbGFjZSgnOnNpdGVJZCcsIFN0cmluZyh0aGlzLnNpdGVJZCkpLnJlcGxhY2UoJzp0b2tlbicsIHRoaXMudXNlci50b2tlbiksIGJvZHkpXHJcbiAgICAgIC8vIC5waXBlKHRoaXMuaGFuZGxlRXJyb3IoZmFsc2UsIHRydWUpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBmZXRjaFVzZXJCeUlkKGlkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMudXNlcklkRXhpc3RQZW5kaW5nID0gdHJ1ZTtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZmV0Y2goQVBJLlVTRVJfQllfSUQucmVwbGFjZSgnOnNpdGVJZCcsIFN0cmluZyh0aGlzLnNpdGVJZCkpLnJlcGxhY2UoJzp1c2VySWQnLCBlbmNvZGVVUklDb21wb25lbnQoZW5jb2RlVVJJQ29tcG9uZW50KGlkKSkpKVxyXG4gICAgICAucGlwZShtYXAocmVzdWx0ID0+IHtcclxuICAgICAgICB0aGlzLnVzZXJJZEV4aXN0UGVuZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgIH0pKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwZXJzaXN0Q2FjaGVDaGFuZ2VzKCkge1xyXG4gICAgLypjb25zdCBwYXJhbXMgPSB7XHJcbiAgICAgIGV4Y2x1ZGVEZXZpY2VFeHRyYU9wdGlvbnM6IHRydWVcclxuICAgIH07Ki9cclxuICAgIHJldHVybiB0aGlzLnByb2Nlc3NVc2VyQ2hhbmdlc1RvQ2FjaGUoKVxyXG4gICAgICAucGlwZShtYXAoKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KEFQSS5QRVJTSVNUX1VTRVJfQ0FDSEUucmVwbGFjZSgnOnNpdGVJZCcsIFN0cmluZyh0aGlzLnNpdGVJZCkpLnJlcGxhY2UoJzp0b2tlbicsIHRoaXMudXNlci50b2tlbiksIHt9KVxyXG4gICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcblxyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIC8vIC5waXBlKG1hcCgodXNlcikgPT4ge1xyXG4gICAgICAgICAgLy8gICAvLyB0aGlzLnNldFVzZXIodXNlciwgZmFsc2UsIHRoaXMudXNlci50b2tlbik7XHJcbiAgICAgICAgICAvLyAgIHRoaXMudXNlci5oYXNNb2RpZmllZENhY2hlID0gZmFsc2U7XHJcbiAgICAgICAgICAvLyB9KSlcclxuICAgICAgICAgIC8vIC5waXBlKHRoaXMuaGFuZGxlRXJyb3IodHJ1ZSwgdHJ1ZSkpO1xyXG4gICAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZWRpdFRyYW5zbGF0aW9uUGF0dGVybihcclxuICAgIGN1Y21JZDogc3RyaW5nLFxyXG4gICAgb2xkcGF0dGVybjogc3RyaW5nLFxyXG4gICAgbmV3UGF0dGVybjogc3RyaW5nLFxyXG4gICAgZXh0ZW5zaW9uOiBzdHJpbmcsXHJcbiAgICByb3V0ZVBhcnRpdGlvbk5hbWU6IHN0cmluZyxcclxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmcsXHJcbiAgKSB7XHJcbiAgICBjb25zdCBwYXJhbXMgPSB7XHJcbiAgICAgIG9yaWdpbmFscGF0dGVybjogb2xkcGF0dGVybixcclxuICAgIH07XHJcbiAgICBjb25zdCBVUkwgPSBBUEkuVFJBTlNMQVRJT05fUEFUVEVSTl9DVUNNLnJlcGxhY2UoJzpjdWNtSWQnLCBjdWNtSWQpO1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxyXG4gICAgICAucHV0KFVSTCwgeyBjYWxsZWRQYXJ0eVRyYW5zZm9ybWF0aW9uTWFzazogZXh0ZW5zaW9uLCBwYXR0ZXJuOiBuZXdQYXR0ZXJuLCByb3V0ZVBhcnRpdGlvbk5hbWU6IHJvdXRlUGFydGl0aW9uTmFtZSwgZGVzY3JpcHRpb24gfSwgcGFyYW1zKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwcm9jZXNzVXNlckNoYW5nZXNUb0NhY2hlKCk6IGFueSB7XHJcbiAgICBjb25zdCBjYWxscyA9IFtdO1xyXG4gICAgY29uc3QgYm9keSA9IFV0aWxzU2VydmljZS5kaWZmKHRoaXMub3JpZ2luVXNlci5nZXRVc2VyRGV0YWlsc1NhdmFibGVEYXRhKCksIHRoaXMudXNlci5nZXRVc2VyRGV0YWlsc1NhdmFibGVEYXRhKCksICd1c2VyJyk7XHJcbiAgICBpZiAoYm9keT8ubGVuZ3RoKSB7XHJcbiAgICAgIGNhbGxzLnB1c2godGhpcy51cGRhdGVVc2VyRmllbGRzKGJvZHkpKTtcclxuICAgIH1cclxuICAgIGlmICghY2FsbHM/Lmxlbmd0aCkge1xyXG4gICAgICByZXR1cm4gb2YodGhpcy51c2VyKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZm9ya0pvaW4oY2FsbHMpXHJcbiAgICAgIC5waXBlKG1hcCgocmVzcG9uc2VzOiBhbnkpID0+IHtcclxuICAgICAgICAvLyBBcGlVc2VyUmVzcG9uc2VcclxuICAgICAgICB0aGlzLmhhbmRsZVNhdmVVc2VyUmVzcG9uc2UocmVzcG9uc2VzKTtcclxuICAgICAgfSkpXHJcbiAgICAgIC8vIC5waXBlKHRoaXMuaGFuZGxlRXJyb3IoZmFsc2UsIHRydWUpKTtcclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2F2ZU5ld0xpbmUoKTogYW55IHtcclxuICAgIHRoaXMuZGF0YVBlbmRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5kZWxldGVMaW5lKHRoaXMudXNlci5zaXRlSWQsIHRoaXMubGluZUFzc29jaWF0aW9uLmxpbmVQa2lkLCBlbmNvZGVVUklDb21wb25lbnQodGhpcy51c2VyLnRva2VuKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgVVJMID0gQVBJLlBFUlNJU1RfVVNFUl9DQUNIRS5yZXBsYWNlKCc6c2l0ZUlkJywgU3RyaW5nKHRoaXMuc2l0ZUlkKSkucmVwbGFjZSgnOnRva2VuJywgdGhpcy51c2VyLnRva2VuKTtcclxuICAgICAgICB0aGlzLmFwaVNlcnZpY2UucG9zdChVUkwsIHt9LCApXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mZXRjaFVzZXJUb2tlbih0aGlzLnNpdGVJZCwgdGhpcy51c2VyLnVzZXJpZCwgZmFsc2UsIHRydWUpXHJcbiAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJ1bk5ld0xpbmVDcmVhdGlvbigpO1xyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJ1bk5ld0xpbmVDcmVhdGlvbigpOiB2b2lkIHtcclxuICAgIC8vIENSRUFURSBORVcgTElORVxyXG4gICAgY29uc3QgbmV3TGluZUJvZHkgPSBTb3J0aW5nVXRpbHNTZXJ2aWNlLmRpZmYoXHJcbiAgICAgIHRoaXMubGluZVNlcnZpY2UuZ2VuZXJhdGVMaW5lQXNzb2NpYXRpb25Gcm9tTGluZShudWxsKSxcclxuICAgICAgdGhpcy5saW5lU2VydmljZS5nZW5lcmF0ZUxpbmVBc3NvY2lhdGlvbkZyb21MaW5lKHRoaXMubGluZUFzc29jaWF0aW9uKSxcclxuICAgICAgJ2RldmljZS5saW5lQXNzb2NpYXRpb25zJywgbnVsbFxyXG4gICAgKTtcclxuICAgIHRoaXMuYXNzb2NpYXRlTGluZVRvVXNlckRldmljZShcclxuICAgICAgdGhpcy51c2VyLnNpdGVJZCxcclxuICAgICAgdGhpcy51c2VyLmRldmljZXNbMF0ubmFtZSxcclxuICAgICAgbmV3TGluZUJvZHksXHJcbiAgICAgIG51bGwsXHJcbiAgICAgIHRoaXMubGluZUFzc29jaWF0aW9uLmNhbGxpbmdTZWFyY2hTcGFjZVxyXG4gICAgKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLmN1cnJlbnRVcGRhdGVkVXNlcikge1xyXG4gICAgICAgIGNvbnN0IGxpbmVQa0lkID0gdGhpcy5nZXRMaW5lUGtJZEZyb21Vc2VyKHJlc3BvbnNlPy5jdXJyZW50VXBkYXRlZFVzZXIsIDApO1xyXG4gICAgICAgIGZvcmtKb2luKFtcclxuICAgICAgICAgIHRoaXMudXBkYXRlTGluZUZpZWxkcyh0aGlzLnNpdGVJZCwgbGluZVBrSWQsIHRoaXMudXNlci50b2tlbiwgdGhpcy5saW5lQXNzb2NpYXRpb24uYWxlcnRpbmdOYW1lKSxcclxuICAgICAgICAgIHRoaXMudXBkYXRlRGV2aWNlRmllbGRzKHRoaXMuc2l0ZUlkLCB0aGlzLnVzZXIuZGV2aWNlc1swXT8ubmFtZSwgdGhpcy51c2VyLnRva2VuKVxyXG4gICAgICAgIF0pLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5vcmlnaW5Vc2VyLmRldmljZXNbMF0ubGluZUFzc29jaWF0aW9uc1swXS5kaXJlY3RvcnlOdW1iZXIuZGlyZWN0b3J5TnVtYmVyID0gdGhpcy5saW5lQXNzb2NpYXRpb24uZGlyZWN0b3J5TnVtYmVyLmRpcmVjdG9yeU51bWJlcjtcclxuICAgICAgICAgIHRoaXMub25Vc2VyTGluZVNhdmVkJC5uZXh0KHRydWUpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgLy8gLS0tLS1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRMaW5lUGtJZEZyb21Vc2VyKHVzZXI6IGFueSwgaW5kZXg6IG51bWJlcik6IGFueSB7XHJcbiAgICBpZiAodXNlci5kZXZpY2VzICYmIHVzZXIuZGV2aWNlc1tpbmRleF0gJiYgdXNlci5kZXZpY2VzW2luZGV4XS5saW5lQXNzb2NpYXRpb25zICYmIHVzZXIuZGV2aWNlc1tpbmRleF0ubGluZUFzc29jaWF0aW9uc1tpbmRleF0pIHtcclxuICAgICAgcmV0dXJuIHVzZXIuZGV2aWNlc1tpbmRleF0ubGluZUFzc29jaWF0aW9uc1tpbmRleF0ubGluZVBraWQgfHwgdXNlci5kZXZpY2VzW2luZGV4XS5saW5lQXNzb2NpYXRpb25zW2luZGV4XS5saW5lTG9jYWxJZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBkZWxldGVMaW5lKHNpdGVJZDogbnVtYmVyLCBwa2lkOiBzdHJpbmcsIHRva2VuOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZGVsZXRlKEFQSS5ERUxFVEVfTElORS5yZXBsYWNlKCc6c2l0ZUlkJywgU3RyaW5nKHNpdGVJZCkpLnJlcGxhY2UoJzpwa2lkJywgcGtpZCkucmVwbGFjZSgnOnRva2VuJywgZW5jb2RlVVJJQ29tcG9uZW50KHRva2VuKSksIHt9KVxyXG4gICAgLy8gLnBpcGUodGhpcy5oYW5kbGVFcnJvcih0cnVlLCBmYWxzZSkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRpc2Fzc29jaWF0ZUxpbmUoc2l0ZUlkOiBudW1iZXIsIGxpbmVQa2lkOiBzdHJpbmcsIHRva2VuOiBzdHJpbmcsIGRldmljZU5hbWU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5kZWxldGUoXHJcbiAgICAgIEFQSS5ESVNBU1NPQ0lBVEVfTElORS5yZXBsYWNlKCc6c2l0ZUlkJywgU3RyaW5nKHNpdGVJZCkpXHJcbiAgICAgICAgLnJlcGxhY2UoJzpsaW5lUGtpZCcsIGxpbmVQa2lkKVxyXG4gICAgICAgIC5yZXBsYWNlKCc6ZGV2aWNlTmFtZScsIGRldmljZU5hbWUpXHJcbiAgICAgICAgLnJlcGxhY2UoJzp0b2tlbicsIGVuY29kZVVSSUNvbXBvbmVudCh0b2tlbikpLCB7fSlcclxuICAgIC8vIC5waXBlKHRoaXMuaGFuZGxlRXJyb3IodHJ1ZSwgZmFsc2UpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVMaW5lRmllbGRzKHNpdGVJZDogbnVtYmVyLCBwa2lkOiBzdHJpbmcsIHRva2VuOiBzdHJpbmcsIGFsZXJ0aW5nTmFtZTogYW55KSB7XHJcbiAgICBjb25zdCBib2R5ID0gWydsaW5lLmRlc2NyaXB0aW9uPScsIGBsaW5lLmFsZXJ0aW5nTmFtZT0ke2FsZXJ0aW5nTmFtZX1gXTtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChBUEkuVVBEQVRFX0xJTkVfRklFTERTLnJlcGxhY2UoJzpzaXRlSWQnLCBTdHJpbmcoc2l0ZUlkKSkucmVwbGFjZSgnOnBraWQnLCBlbmNvZGVVUklDb21wb25lbnQocGtpZCkpLnJlcGxhY2UoJzp0b2tlbicsIGVuY29kZVVSSUNvbXBvbmVudCh0b2tlbikpLCBib2R5KVxyXG4gICAgLy8gLnBpcGUodGhpcy5oYW5kbGVFcnJvcih0cnVlLCBmYWxzZSkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZURldmljZUZpZWxkcyhzaXRlSWQ6IG51bWJlciwgZGV2aWNlTmFtZTogc3RyaW5nLCB0b2tlbjogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBib2R5ID0gWydkZXZpY2UuYXNzb2NpYXRlZEROcy4wPW51bGwnXTtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChBUEkuVVBEQVRFX0RFVklDRV9GSUVMRFMucmVwbGFjZSgnOnNpdGVJZCcsIFN0cmluZyhzaXRlSWQpKS5yZXBsYWNlKCc6ZGV2aWNlTmFtZScsIGRldmljZU5hbWUpLnJlcGxhY2UoJzp0b2tlbicsIGVuY29kZVVSSUNvbXBvbmVudCh0b2tlbikpLCBib2R5KVxyXG4gICAgLy8gLnBpcGUodGhpcy5oYW5kbGVFcnJvcih0cnVlLCBmYWxzZSkpO1xyXG4gIH1cclxuICBwdWJsaWMgY2hlY2tEZXN0aW5hdGlvbk51bWJlcihzaXRlSWQ6IHN0cmluZywgZGlyZWN0b3J5TnVtYmVyOiBzdHJpbmcsIHJvdXRlUGFydGl0aW9uTmFtZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBwYXJhbXMgPSB7XHJcbiAgICAgIGRudHlwZTogJ0VYVEVOU0lPTidcclxuICAgIH07XHJcbiAgICBjb25zdCBib2R5ID0ge1xyXG4gICAgICBkaXJlY3RvcnlOdW1iZXI6IGRpcmVjdG9yeU51bWJlcixcclxuICAgICAgcm91dGVQYXJ0aXRpb25OYW1lOiByb3V0ZVBhcnRpdGlvbk5hbWVcclxuICAgIH07XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoQVBJLkNIRUNLX0RFU1RJTkFUSU9OX05VTUJFUi5yZXBsYWNlKCc6c2l0ZUlkJywgc2l0ZUlkKSwgYm9keSwgcGFyYW1zKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3NvY2lhdGVMaW5lVG9Vc2VyRGV2aWNlKHNpdGVJZDogbnVtYmVyLCBkZXZpY2VOYW1lOiBzdHJpbmcsIGJvZHk6IGFueSwgcGtpZDogYW55LCBjc3M6IGFueSkge1xyXG4gICAgbGV0IHBhcmFtcyA9IHt9O1xyXG4gICAgaWYgKHBraWQpIHtcclxuICAgICAgcGFyYW1zID0ge2xpbmVQa2lkOiBwa2lkfTtcclxuICAgIH1cclxuICAgIGlmIChjc3MpIHtcclxuICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICBwYXJhbXNbJ2NzcyddID0gY3NzO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KEFQSS5BU1NPQ0lBVEVfTElORS5yZXBsYWNlKCc6c2l0ZUlkJywgU3RyaW5nKHNpdGVJZCkpLnJlcGxhY2UoJzpkZXZpY2VOYW1lJywgZGV2aWNlTmFtZSlcclxuICAgICAgLnJlcGxhY2UoJzp0b2tlbicsIGVuY29kZVVSSUNvbXBvbmVudCh0aGlzLnVzZXIudG9rZW4pKSwgYm9keSwgcGFyYW1zKVxyXG4gICAgLy8gLnBpcGUodGhpcy5oYW5kbGVFcnJvcih0cnVlLCB0cnVlKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFzVW5zYXZlZENoYW5nZXMoKSB7XHJcbiAgICBpZiAodGhpcy51c2VyICYmIHRoaXMub3JpZ2luVXNlcikge1xyXG4gICAgICByZXR1cm4gIXRoaXMudXNlci5lcXVhbCh0aGlzLm9yaWdpblVzZXIpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFNpbXBsaWZpZWRVc2VyKHVzZXI6IGFueSwgaXNMZGFwPzogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgLy8gaXNMZGFwIFRFTVAgYmVjYXVzZSBvZiB0b2tlbiByZXNwb25zZSBpc3N1ZVxyXG4gICAgdGhpcy5fdXNlciA9IG5ldyBTaW1wbGlmaWVkVXNlcih1c2VyLCBpc0xkYXApO1xyXG4gICAgY29uc3QgY29waWVkVXNlciA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodXNlcikpO1xyXG4gICAgdGhpcy5vcmlnaW5Vc2VyID0gbmV3IFNpbXBsaWZpZWRVc2VyKGNvcGllZFVzZXIsIGlzTGRhcCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZVNhdmVVc2VyUmVzcG9uc2UocmVzcG9uc2VzOiBhbnkpIHtcclxuICAgIGlmICghcmVzcG9uc2VzPy5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgZm9yIChsZXQgbGVuID0gcmVzcG9uc2VzLmxlbmd0aCwgaSA9IGxlbiAtIDE7IGkgPj0gMDsgaS0tKSB7XHJcbiAgICAgIGlmIChyZXNwb25zZXNbaV0gJiYgcmVzcG9uc2VzW2ldLmN1cnJlbnRVcGRhdGVkVXNlcikge1xyXG4gICAgICAgIC8vIHRoaXMuc2V0VXNlcihyZXNwb25zZXNbaV0uY3VycmVudFVwZGF0ZWRVc2VyLCBmYWxzZSwgdGhpcy51c2VyLnRva2VuKTtcclxuICAgICAgICB0aGlzLnVzZXIuaGFzTW9kaWZpZWRDYWNoZSA9IHRydWU7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
257
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXItbWFuYWdlL3NyYy9zZXJ2aWNlcy91c2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV2QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSS9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7O0FBRzlELE1BQU0sT0FBTyxXQUFXO0lBUXRCLElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBS0QsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzSixDQUFDO0lBRUQsSUFBSSxxQkFBcUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENB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VSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxjQUFjLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxTQUFjO1FBQzNDLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFO1lBQ3RCLE9BQU87U0FDUjtRQUNELEtBQUssSUFBSSxHQUFHLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3pELElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsRUFBRTtnQkFDbkQseUVBQXlFO2dCQUN6RSxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztnQkFDbEMsT0FBTzthQUNSO1NBQ0Y7SUFDSCxDQUFDOzt5R0FqU1UsV0FBVzs2R0FBWCxXQUFXOzRGQUFYLFdBQVc7a0JBRHZCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBvZiwgZm9ya0pvaW4sIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNpbXBsaWZpZWRVc2VyIH0gZnJvbSAnLi4vY2xhc3Nlcy9zaW1wbGlmaWVkLXVzZXInO1xuaW1wb3J0IHsgQVBJIH0gZnJvbSAnLi4vYXBwLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBBUElTZXJ2aWNlIH0gZnJvbSAnLi9hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBVdGlsc1NlcnZpY2UgfSBmcm9tICcuL3V0aWxzLnNlcnZpY2UnO1xuaW1wb3J0IHsgTGluZUFzc29jaWF0aW9uIH0gZnJvbSAnLi4vY2xhc3Nlcy9saW5lLWFzc29jaWF0aW9uJztcbmltcG9ydCB7IExpbmVBc3NvY2lhdGlvbkludGVyZmFjZSB9IGZyb20gJy4uL2NsYXNzZXMvbGluZS1hc3NvY2lhdGlvbi1pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTGluZVNlcnZpY2UgfSBmcm9tICcuL2xpbmUuc2VydmljZSc7XG5pbXBvcnQgeyBTb3J0aW5nVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi9zb3J0aW5nLXV0aWxzLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVXNlclNlcnZpY2UgaW1wbGVtZW50cyBPbkluaXR7XG4gIHNpdGVJZDogbnVtYmVyID0gLTE7XG4gIHVzZXJJZDogc3RyaW5nID0gJyc7XG4gIGRhdGFQZW5kaW5nID0gZmFsc2U7XG4gIHVzZXJJZEV4aXN0UGVuZGluZyA9IGZhbHNlO1xuICBoYXNFeGlzdGVkVXNlcklkID0gZmFsc2U7XG4gIF91c2VyITogU2ltcGxpZmllZFVzZXI7XG5cbiAgZ2V0IHVzZXIoKTogU2ltcGxpZmllZFVzZXIge1xuICAgIHJldHVybiB0aGlzLl91c2VyO1xuICB9XG4gIC8vIHVzZXIhOiBTaW1wbGlmaWVkVXNlcjtcbiAgb3JpZ2luVXNlciE6IFNpbXBsaWZpZWRVc2VyO1xuICBvblVzZXJMaW5lU2F2ZWQkID0gbmV3IFN1YmplY3Q8YW55PigpO1xuXG4gIGdldCBsaW5lQXNzb2NpYXRpb24oKTogTGluZUFzc29jaWF0aW9uIHwgTGluZUFzc29jaWF0aW9uSW50ZXJmYWNlIHtcbiAgICByZXR1cm4gdGhpcy51c2VyICYmIHRoaXMub3JpZ2luVXNlci5kZXZpY2VzICYmIHRoaXMudXNlci5kZXZpY2VzWzBdICYmIHRoaXMudXNlci5kZXZpY2VzWzBdLmxpbmVBc3NvY2lhdGlvbnMgJiYgdGhpcy51c2VyLmRldmljZXNbMF0ubGluZUFzc29jaWF0aW9uc1swXTtcbiAgfVxuXG4gIGdldCBvcmlnaW5MaW5lQXNzb2NpYXRpb24oKTogTGluZUFzc29jaWF0aW9uIHwgTGluZUFzc29jaWF0aW9uSW50ZXJmYWNlIHtcbiAgICByZXR1cm4gdGhpcy5vcmlnaW5Vc2VyICYmIHRoaXMub3JpZ2luVXNlci5kZXZpY2VzICYmIHRoaXMub3JpZ2luVXNlci5kZXZpY2VzWzBdICYmIHRoaXMub3JpZ2luVXNlci5kZXZpY2VzWzBdLmxpbmVBc3NvY2lhdGlvbnMgJiYgdGhpcy5vcmlnaW5Vc2VyLmRldmljZXNbMF0ubGluZUFzc29jaWF0aW9uc1swXTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYXBpU2VydmljZTogQVBJU2VydmljZSxcbiAgICBwcml2YXRlIGxpbmVTZXJ2aWNlOiBMaW5lU2VydmljZVxuICApIHtcblxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc29sZS5sb2codGhpcy5zaXRlSWQpXG4gIH1cblxuICBwdWJsaWMgZmV0Y2hVc2VyVG9rZW4oc2l0ZUlkOiBudW1iZXIsIHVzZXJJZDogc3RyaW5nLCBpc0xkYXA/OiBib29sZWFuLCBpc1NldE5ld1Rva2VuT25seT86IGJvb2xlYW4pOiBhbnkge1xuICAgIC8vIGlzTGRhcCBURU1QIGJlY2F1c2Ugb2YgdG9rZW4gcmVzcG9uc2UgaXNzdWVcbiAgICB0aGlzLnNpdGVJZCA9IHNpdGVJZDtcbiAgICB0aGlzLnVzZXJJZCA9IHVzZXJJZDtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5VU0VSX1RPS0VOLnJlcGxhY2UoJzpzaXRlSWQnLCBTdHJpbmcodGhpcy5zaXRlSWQpKS5yZXBsYWNlKCc6dXNlcklkJywgZW5jb2RlVVJJQ29tcG9uZW50KGVuY29kZVVSSUNvbXBvbmVudCh1c2VySWQpKSkpXG4gICAgICAucGlwZShtYXAoKHJlc3VsdDogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IHVzZXIgPSByZXN1bHQgJiYgT2JqZWN0LnZhbHVlcyhyZXN1bHQpWzBdO1xuICAgICAgICBjb25zdCB0b2tlbiA9IE9iamVjdC5rZXlzKHJlc3VsdClbMF07XG4gICAgICAgIGlmICh1c2VyKSB7XG4gICAgICAgICAgaWYgKCFpc1NldE5ld1Rva2VuT25seSkge1xuICAgICAgICAgICAgdGhpcy5zZXRTaW1wbGlmaWVkVXNlcih1c2VyKTtcbiAgICAgICAgICAgIHRoaXMuX3VzZXIudG9rZW4gPSB1c2VyLnRva2VuIDtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5fdXNlci50b2tlbiA9IHVzZXIudG9rZW4gfHwgdG9rZW47XG4gICAgICAgICAgdGhpcy5vcmlnaW5Vc2VyLnRva2VuID0gdXNlci50b2tlbiB8fCB0b2tlbjtcbiAgICAgICAgfVxuICAgICAgfSkpXG4gICAgLy8gLnBpcGUodGhpcy5oYW5kbGVFcnJvcihmYWxzZSwgdHJ1ZSkpO1xuICB9XG5cbiAgcHVibGljIGZldGNoV2ViZXhVc2VyVG9rZW4oY3VzdG9tZXJJZDogc3RyaW5nLCB1c2VySWQ6IHN0cmluZyk6IGFueSB7XG4gICAgbGV0IFVSTCA9IEFQSS5XRUJFWF9VU0VSX1RPS0VOO1xuICAgIFVSTCA9IFVSTC5yZXBsYWNlKCc6Y3VzdG9tZXJJZCcsIGN1c3RvbWVySWQpO1xuICAgIFVSTCA9IFVSTC5yZXBsYWNlKCc6dXNlcklkJywgZW5jb2RlVVJJQ29tcG9uZW50KGVuY29kZVVSSUNvbXBvbmVudCh1c2VySWQpKSk7XG4gICAgcmV0dXJuIGZvcmtKb2luKFtcbiAgICAgIHRoaXMuYXBpU2VydmljZS5mZXRjaChBUEkuV0VCRVhfVVNFUl9UT0tFTi5yZXBsYWNlKCc6Y3VzdG9tZXJJZCcsIGN1c3RvbWVySWQpLnJlcGxhY2UoJzp1c2VySWQnLCBlbmNvZGVVUklDb21wb25lbnQoZW5jb2RlVVJJQ29tcG9uZW50KHVzZXJJZCkpKSksXG4gICAgICB0aGlzLmFwaVNlcnZpY2UuZmV0Y2goQVBJLldFQkVYX1VTRVJfREVWSUNFUy5yZXBsYWNlKCc6Y3VzdG9tZXJJZCcsIGN1c3RvbWVySWQpLnJlcGxhY2UoJzp1c2VySWQnLCBlbmNvZGVVUklDb21wb25lbnQoZW5jb2RlVVJJQ29tcG9uZW50KHVzZXJJZCkpKSksXG4gICAgICB0aGlzLmFwaVNlcnZpY2UuZmV0Y2goQVBJLldFQkVYX1VTRVJfRElSRUNUT1JZX05VTUJFUlMucmVwbGFjZSgnOmN1c3RvbWVySWQnLCBjdXN0b21lcklkKS5yZXBsYWNlKCc6dXNlcklkJywgZW5jb2RlVVJJQ29tcG9uZW50KGVuY29kZVVSSUNvbXBvbmVudCh1c2VySWQpKSkpLFxuICAgICAgdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5XRUJFWF9VU0VSX0RJUkVDVE9SWV9DQUxMRVJfSUQucmVwbGFjZSgnOmN1c3RvbWVySWQnLCBjdXN0b21lcklkKS5yZXBsYWNlKCc6dXNlcklkJywgZW5jb2RlVVJJQ29tcG9uZW50KGVuY29kZVVSSUNvbXBvbmVudCh1c2VySWQpKSkpLFxuICAgIF0pXG4gICAgLnBpcGUobWFwKChbdG9rZW4sIGRldmljZXMsIG51bWJlcnMsIGNhbGxlcmlkXSkgPT4ge1xuICAgICAgaWYgKHRva2VuKSB7XG4gICAgICAgIGNvbnN0IHVzZXIgPSB0b2tlbiBhcyBhbnk7XG4gICAgICAgIHVzZXIuZW1haWwgPSB1c2VyLmVtYWlscz8uWzBdO1xuICAgICAgICB1c2VyLnVzZXJpZCA9IHVzZXIuaWQ7XG4gICAgICAgIHVzZXIuZGV2aWNlcyA9IChkZXZpY2VzIGFzIGFueSkuZGV2aWNlcy5tYXAoKGRldmljZTogYW55KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmRldmljZSxcbiAgICAgICAgICAgIGRldmljZVR5cGU6IGRldmljZS5tb2RlbCxcbiAgICAgICAgICAgIGxpbmVBc3NvY2lhdGlvbnM6IChudW1iZXJzIGFzIGFueSkucGhvbmVOdW1iZXJzLm1hcCgobnVtYmVyOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBkaXJlY3RvcnlOdW1iZXI6IHtcbiAgICAgICAgICAgICAgICAgIGRpcmVjdG9yeU51bWJlcjogbnVtYmVyLmV4dGVuc2lvbixcbiAgICAgICAgICAgICAgICAgIHByaW1hcnk6IG51bWJlci5wcmltYXJ5LFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB1c2VyLm1pZGRsZU5hbWUgPSB1c2VyLmRpc3BsYXlOYW1lO1xuICAgICAgICB1c2VyLm1vYmlsZU51bWJlciA9IHVzZXIubW9iaWxlUGhvbmU7XG4gICAgICAgIHVzZXIudGVsZXBob25lTnVtYmVyID0gdXNlci53b3JrUGhvbmU7XG5cbiAgICAgICAgdGhpcy5zZXRTaW1wbGlmaWVkVXNlcih1c2VyKTtcbiAgICAgICAgdGhpcy5fdXNlci50b2tlbiA9IHVzZXIudG9rZW47XG4gICAgICAgIHRoaXMub3JpZ2luVXNlci50b2tlbiA9IHVzZXIudG9rZW47XG4gICAgICB9XG4gICAgICByZXR1cm4gdG9rZW47XG4gICAgfSkpXG4gIH1cblxuICBwdWJsaWMgdXBkYXRlVXNlckZpZWxkcyhib2R5OiBhbnkpOiBhbnkge1xuICAgIGlmICghdGhpcy5zaXRlSWQgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChBUEkuVVBEQVRFX1VTRVJfRklFTERTLnJlcGxhY2UoJzpzaXRlSWQnLCBTdHJpbmcodGhpcy5zaXRlSWQpKS5yZXBsYWNlKCc6dG9rZW4nLCB0aGlzLnVzZXIudG9rZW4pLCBib2R5KVxuICAgICAgLy8gLnBpcGUodGhpcy5oYW5kbGVFcnJvcihmYWxzZSwgdHJ1ZSkpO1xuICB9XG5cbiAgcHVibGljIGZldGNoVXNlckJ5SWQoaWQ6IHN0cmluZykge1xuICAgIHRoaXMudXNlcklkRXhpc3RQZW5kaW5nID0gdHJ1ZTtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5VU0VSX0JZX0lELnJlcGxhY2UoJzpzaXRlSWQnLCBTdHJpbmcodGhpcy5zaXRlSWQpKS5yZXBsYWNlKCc6dXNlcklkJywgZW5jb2RlVVJJQ29tcG9uZW50KGVuY29kZVVSSUNvbXBvbmVudChpZCkpKSlcbiAgICAgIC5waXBlKG1hcChyZXN1bHQgPT4ge1xuICAgICAgICB0aGlzLnVzZXJJZEV4aXN0UGVuZGluZyA9IGZhbHNlO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfSkpO1xuICB9XG5cbiAgcHVibGljIHBlcnNpc3RDYWNoZUNoYW5nZXMoKSB7XG4gICAgLypjb25zdCBwYXJhbXMgPSB7XG4gICAgICBleGNsdWRlRGV2aWNlRXh0cmFPcHRpb25zOiB0cnVlXG4gICAgfTsqL1xuICAgIHJldHVybiB0aGlzLnByb2Nlc3NVc2VyQ2hhbmdlc1RvQ2FjaGUoKVxuICAgICAgLnBpcGUobWFwKChyZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoQVBJLlBFUlNJU1RfVVNFUl9DQUNIRS5yZXBsYWNlKCc6c2l0ZUlkJywgU3RyaW5nKHRoaXMuc2l0ZUlkKSkucmVwbGFjZSgnOnRva2VuJywgdGhpcy51c2VyLnRva2VuKSwge30pXG4gICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG5cbiAgICAgICAgICB9KVxuICAgICAgICAgIC8vIC5waXBlKG1hcCgodXNlcikgPT4ge1xuICAgICAgICAgIC8vICAgLy8gdGhpcy5zZXRVc2VyKHVzZXIsIGZhbHNlLCB0aGlzLnVzZXIudG9rZW4pO1xuICAgICAgICAgIC8vICAgdGhpcy51c2VyLmhhc01vZGlmaWVkQ2FjaGUgPSBmYWxzZTtcbiAgICAgICAgICAvLyB9KSlcbiAgICAgICAgICAvLyAucGlwZSh0aGlzLmhhbmRsZUVycm9yKHRydWUsIHRydWUpKTtcbiAgICAgIH0pKTtcbiAgfVxuXG4gIHB1YmxpYyBlZGl0VHJhbnNsYXRpb25QYXR0ZXJuKFxuICAgIGN1Y21JZDogc3RyaW5nLFxuICAgIG9sZHBhdHRlcm46IHN0cmluZyxcbiAgICBuZXdQYXR0ZXJuOiBzdHJpbmcsXG4gICAgZXh0ZW5zaW9uOiBzdHJpbmcsXG4gICAgcm91dGVQYXJ0aXRpb25OYW1lOiBzdHJpbmcsXG4gICAgZGVzY3JpcHRpb246IHN0cmluZyxcbiAgKSB7XG4gICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgb3JpZ2luYWxwYXR0ZXJuOiBvbGRwYXR0ZXJuLFxuICAgIH07XG4gICAgY29uc3QgVVJMID0gQVBJLlRSQU5TTEFUSU9OX1BBVFRFUk5fQ1VDTS5yZXBsYWNlKCc6Y3VjbUlkJywgY3VjbUlkKTtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAucHV0KFVSTCwgeyBjYWxsZWRQYXJ0eVRyYW5zZm9ybWF0aW9uTWFzazogZXh0ZW5zaW9uLCBwYXR0ZXJuOiBuZXdQYXR0ZXJuLCByb3V0ZVBhcnRpdGlvbk5hbWU6IHJvdXRlUGFydGl0aW9uTmFtZSwgZGVzY3JpcHRpb24gfSwgcGFyYW1zKTtcbiAgfVxuXG4gIHB1YmxpYyBwcm9jZXNzVXNlckNoYW5nZXNUb0NhY2hlKCk6IGFueSB7XG4gICAgY29uc3QgY2FsbHMgPSBbXTtcbiAgICBjb25zdCBib2R5ID0gVXRpbHNTZXJ2aWNlLmRpZmYodGhpcy5vcmlnaW5Vc2VyLmdldFVzZXJEZXRhaWxzU2F2YWJsZURhdGEoKSwgdGhpcy51c2VyLmdldFVzZXJEZXRhaWxzU2F2YWJsZURhdGEoKSwgJ3VzZXInKTtcbiAgICBpZiAoYm9keT8ubGVuZ3RoKSB7XG4gICAgICBjYWxscy5wdXNoKHRoaXMudXBkYXRlVXNlckZpZWxkcyhib2R5KSk7XG4gICAgfVxuICAgIGlmICghY2FsbHM/Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuIG9mKHRoaXMudXNlcik7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZvcmtKb2luKGNhbGxzKVxuICAgICAgLnBpcGUobWFwKChyZXNwb25zZXM6IGFueSkgPT4ge1xuICAgICAgICAvLyBBcGlVc2VyUmVzcG9uc2VcbiAgICAgICAgdGhpcy5oYW5kbGVTYXZlVXNlclJlc3BvbnNlKHJlc3BvbnNlcyk7XG4gICAgICB9KSlcbiAgICAgIC8vIC5waXBlKHRoaXMuaGFuZGxlRXJyb3IoZmFsc2UsIHRydWUpKTtcblxuICB9XG5cbiAgcHVibGljIHNhdmVOZXdMaW5lKCk6IGFueSB7XG4gICAgdGhpcy5kYXRhUGVuZGluZyA9IHRydWU7XG4gICAgdGhpcy5kZWxldGVMaW5lKHRoaXMudXNlci5zaXRlSWQsIHRoaXMubGluZUFzc29jaWF0aW9uLmxpbmVQa2lkLCBlbmNvZGVVUklDb21wb25lbnQodGhpcy51c2VyLnRva2VuKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBjb25zdCBVUkwgPSBBUEkuUEVSU0lTVF9VU0VSX0NBQ0hFLnJlcGxhY2UoJzpzaXRlSWQnLCBTdHJpbmcodGhpcy5zaXRlSWQpKS5yZXBsYWNlKCc6dG9rZW4nLCB0aGlzLnVzZXIudG9rZW4pO1xuICAgICAgICB0aGlzLmFwaVNlcnZpY2UucG9zdChVUkwsIHt9LCApXG4gICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZldGNoVXNlclRva2VuKHRoaXMuc2l0ZUlkLCB0aGlzLnVzZXIudXNlcmlkLCBmYWxzZSwgdHJ1ZSlcbiAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5ydW5OZXdMaW5lQ3JlYXRpb24oKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBydW5OZXdMaW5lQ3JlYXRpb24oKTogdm9pZCB7XG4gICAgLy8gQ1JFQVRFIE5FVyBMSU5FXG4gICAgY29uc3QgbmV3TGluZUJvZHkgPSBTb3J0aW5nVXRpbHNTZXJ2aWNlLmRpZmYoXG4gICAgICB0aGlzLmxpbmVTZXJ2aWNlLmdlbmVyYXRlTGluZUFzc29jaWF0aW9uRnJvbUxpbmUobnVsbCksXG4gICAgICB0aGlzLmxpbmVTZXJ2aWNlLmdlbmVyYXRlTGluZUFzc29jaWF0aW9uRnJvbUxpbmUodGhpcy5saW5lQXNzb2NpYXRpb24pLFxuICAgICAgJ2RldmljZS5saW5lQXNzb2NpYXRpb25zJywgbnVsbFxuICAgICk7XG4gICAgdGhpcy5hc3NvY2lhdGVMaW5lVG9Vc2VyRGV2aWNlKFxuICAgICAgdGhpcy51c2VyLnNpdGVJZCxcbiAgICAgIHRoaXMudXNlci5kZXZpY2VzWzBdLm5hbWUsXG4gICAgICBuZXdMaW5lQm9keSxcbiAgICAgIG51bGwsXG4gICAgICB0aGlzLmxpbmVBc3NvY2lhdGlvbi5jYWxsaW5nU2VhcmNoU3BhY2VcbiAgICApLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLmN1cnJlbnRVcGRhdGVkVXNlcikge1xuICAgICAgICBjb25zdCBsaW5lUGtJZCA9IHRoaXMuZ2V0TGluZVBrSWRGcm9tVXNlcihyZXNwb25zZT8uY3VycmVudFVwZGF0ZWRVc2VyLCAwKTtcbiAgICAgICAgZm9ya0pvaW4oW1xuICAgICAgICAgIHRoaXMudXBkYXRlTGluZUZpZWxkcyh0aGlzLnNpdGVJZCwgbGluZVBrSWQsIHRoaXMudXNlci50b2tlbiwgdGhpcy5saW5lQXNzb2NpYXRpb24uYWxlcnRpbmdOYW1lKSxcbiAgICAgICAgICB0aGlzLnVwZGF0ZURldmljZUZpZWxkcyh0aGlzLnNpdGVJZCwgdGhpcy51c2VyLmRldmljZXNbMF0/Lm5hbWUsIHRoaXMudXNlci50b2tlbilcbiAgICAgICAgXSkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5vcmlnaW5Vc2VyLmRldmljZXNbMF0ubGluZUFzc29jaWF0aW9uc1swXS5kaXJlY3RvcnlOdW1iZXIuZGlyZWN0b3J5TnVtYmVyID0gdGhpcy5saW5lQXNzb2NpYXRpb24uZGlyZWN0b3J5TnVtYmVyLmRpcmVjdG9yeU51bWJlcjtcbiAgICAgICAgICB0aGlzLm9uVXNlckxpbmVTYXZlZCQubmV4dCh0cnVlKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSlcbiAgICAvLyAtLS0tLVxuICB9XG5cbiAgcHVibGljIGdldExpbmVQa0lkRnJvbVVzZXIodXNlcjogYW55LCBpbmRleDogbnVtYmVyKTogYW55IHtcbiAgICBpZiAodXNlci5kZXZpY2VzICYmIHVzZXIuZGV2aWNlc1tpbmRleF0gJiYgdXNlci5kZXZpY2VzW2luZGV4XS5saW5lQXNzb2NpYXRpb25zICYmIHVzZXIuZGV2aWNlc1tpbmRleF0ubGluZUFzc29jaWF0aW9uc1tpbmRleF0pIHtcbiAgICAgIHJldHVybiB1c2VyLmRldmljZXNbaW5kZXhdLmxpbmVBc3NvY2lhdGlvbnNbaW5kZXhdLmxpbmVQa2lkIHx8IHVzZXIuZGV2aWNlc1tpbmRleF0ubGluZUFzc29jaWF0aW9uc1tpbmRleF0ubGluZUxvY2FsSWQ7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGRlbGV0ZUxpbmUoc2l0ZUlkOiBudW1iZXIsIHBraWQ6IHN0cmluZywgdG9rZW46IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZGVsZXRlKEFQSS5ERUxFVEVfTElORS5yZXBsYWNlKCc6c2l0ZUlkJywgU3RyaW5nKHNpdGVJZCkpLnJlcGxhY2UoJzpwa2lkJywgcGtpZCkucmVwbGFjZSgnOnRva2VuJywgZW5jb2RlVVJJQ29tcG9uZW50KHRva2VuKSksIHt9KVxuICAgIC8vIC5waXBlKHRoaXMuaGFuZGxlRXJyb3IodHJ1ZSwgZmFsc2UpKTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNhc3NvY2lhdGVMaW5lKHNpdGVJZDogbnVtYmVyLCBsaW5lUGtpZDogc3RyaW5nLCB0b2tlbjogc3RyaW5nLCBkZXZpY2VOYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmRlbGV0ZShcbiAgICAgIEFQSS5ESVNBU1NPQ0lBVEVfTElORS5yZXBsYWNlKCc6c2l0ZUlkJywgU3RyaW5nKHNpdGVJZCkpXG4gICAgICAgIC5yZXBsYWNlKCc6bGluZVBraWQnLCBsaW5lUGtpZClcbiAgICAgICAgLnJlcGxhY2UoJzpkZXZpY2VOYW1lJywgZGV2aWNlTmFtZSlcbiAgICAgICAgLnJlcGxhY2UoJzp0b2tlbicsIGVuY29kZVVSSUNvbXBvbmVudCh0b2tlbikpLCB7fSlcbiAgICAvLyAucGlwZSh0aGlzLmhhbmRsZUVycm9yKHRydWUsIGZhbHNlKSk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlTGluZUZpZWxkcyhzaXRlSWQ6IG51bWJlciwgcGtpZDogc3RyaW5nLCB0b2tlbjogc3RyaW5nLCBhbGVydGluZ05hbWU6IGFueSkge1xuICAgIGNvbnN0IGJvZHkgPSBbJ2xpbmUuZGVzY3JpcHRpb249JywgYGxpbmUuYWxlcnRpbmdOYW1lPSR7YWxlcnRpbmdOYW1lfWBdO1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChBUEkuVVBEQVRFX0xJTkVfRklFTERTLnJlcGxhY2UoJzpzaXRlSWQnLCBTdHJpbmcoc2l0ZUlkKSkucmVwbGFjZSgnOnBraWQnLCBlbmNvZGVVUklDb21wb25lbnQocGtpZCkpLnJlcGxhY2UoJzp0b2tlbicsIGVuY29kZVVSSUNvbXBvbmVudCh0b2tlbikpLCBib2R5KVxuICAgIC8vIC5waXBlKHRoaXMuaGFuZGxlRXJyb3IodHJ1ZSwgZmFsc2UpKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVEZXZpY2VGaWVsZHMoc2l0ZUlkOiBudW1iZXIsIGRldmljZU5hbWU6IHN0cmluZywgdG9rZW46IHN0cmluZykge1xuICAgIGNvbnN0IGJvZHkgPSBbJ2RldmljZS5hc3NvY2lhdGVkRE5zLjA9bnVsbCddO1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChBUEkuVVBEQVRFX0RFVklDRV9GSUVMRFMucmVwbGFjZSgnOnNpdGVJZCcsIFN0cmluZyhzaXRlSWQpKS5yZXBsYWNlKCc6ZGV2aWNlTmFtZScsIGRldmljZU5hbWUpLnJlcGxhY2UoJzp0b2tlbicsIGVuY29kZVVSSUNvbXBvbmVudCh0b2tlbikpLCBib2R5KVxuICAgIC8vIC5waXBlKHRoaXMuaGFuZGxlRXJyb3IodHJ1ZSwgZmFsc2UpKTtcbiAgfVxuICBwdWJsaWMgY2hlY2tEZXN0aW5hdGlvbk51bWJlcihzaXRlSWQ6IHN0cmluZywgZGlyZWN0b3J5TnVtYmVyOiBzdHJpbmcsIHJvdXRlUGFydGl0aW9uTmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgZG50eXBlOiAnRVhURU5TSU9OJ1xuICAgIH07XG4gICAgY29uc3QgYm9keSA9IHtcbiAgICAgIGRpcmVjdG9yeU51bWJlcjogZGlyZWN0b3J5TnVtYmVyLFxuICAgICAgcm91dGVQYXJ0aXRpb25OYW1lOiByb3V0ZVBhcnRpdGlvbk5hbWVcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChBUEkuQ0hFQ0tfREVTVElOQVRJT05fTlVNQkVSLnJlcGxhY2UoJzpzaXRlSWQnLCBzaXRlSWQpLCBib2R5LCBwYXJhbXMpO1xuICB9XG5cbiAgcHVibGljIGFzc29jaWF0ZUxpbmVUb1VzZXJEZXZpY2Uoc2l0ZUlkOiBudW1iZXIsIGRldmljZU5hbWU6IHN0cmluZywgYm9keTogYW55LCBwa2lkOiBhbnksIGNzczogYW55KSB7XG4gICAgbGV0IHBhcmFtcyA9IHt9O1xuICAgIGlmIChwa2lkKSB7XG4gICAgICBwYXJhbXMgPSB7bGluZVBraWQ6IHBraWR9O1xuICAgIH1cbiAgICBpZiAoY3NzKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBwYXJhbXNbJ2NzcyddID0gY3NzO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoQVBJLkFTU09DSUFURV9MSU5FLnJlcGxhY2UoJzpzaXRlSWQnLCBTdHJpbmcoc2l0ZUlkKSkucmVwbGFjZSgnOmRldmljZU5hbWUnLCBkZXZpY2VOYW1lKVxuICAgICAgLnJlcGxhY2UoJzp0b2tlbicsIGVuY29kZVVSSUNvbXBvbmVudCh0aGlzLnVzZXIudG9rZW4pKSwgYm9keSwgcGFyYW1zKVxuICAgIC8vIC5waXBlKHRoaXMuaGFuZGxlRXJyb3IodHJ1ZSwgdHJ1ZSkpO1xuICB9XG5cbiAgcHVibGljIGhhc1Vuc2F2ZWRDaGFuZ2VzKCkge1xuICAgIGlmICh0aGlzLnVzZXIgJiYgdGhpcy5vcmlnaW5Vc2VyKSB7XG4gICAgICByZXR1cm4gIXRoaXMudXNlci5lcXVhbCh0aGlzLm9yaWdpblVzZXIpO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgc2V0U2ltcGxpZmllZFVzZXIodXNlcjogYW55LCBpc0xkYXA/OiBib29sZWFuKTogdm9pZCB7XG4gICAgLy8gaXNMZGFwIFRFTVAgYmVjYXVzZSBvZiB0b2tlbiByZXNwb25zZSBpc3N1ZVxuICAgIHRoaXMuX3VzZXIgPSBuZXcgU2ltcGxpZmllZFVzZXIodXNlciwgaXNMZGFwKTtcbiAgICBjb25zdCBjb3BpZWRVc2VyID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh1c2VyKSk7XG4gICAgdGhpcy5vcmlnaW5Vc2VyID0gbmV3IFNpbXBsaWZpZWRVc2VyKGNvcGllZFVzZXIsIGlzTGRhcCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVNhdmVVc2VyUmVzcG9uc2UocmVzcG9uc2VzOiBhbnkpIHtcbiAgICBpZiAoIXJlc3BvbnNlcz8ubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGZvciAobGV0IGxlbiA9IHJlc3BvbnNlcy5sZW5ndGgsIGkgPSBsZW4gLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgaWYgKHJlc3BvbnNlc1tpXSAmJiByZXNwb25zZXNbaV0uY3VycmVudFVwZGF0ZWRVc2VyKSB7XG4gICAgICAgIC8vIHRoaXMuc2V0VXNlcihyZXNwb25zZXNbaV0uY3VycmVudFVwZGF0ZWRVc2VyLCBmYWxzZSwgdGhpcy51c2VyLnRva2VuKTtcbiAgICAgICAgdGhpcy51c2VyLmhhc01vZGlmaWVkQ2FjaGUgPSB0cnVlO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -70,4 +70,4 @@ UtilsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version
70
70
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UtilsService, decorators: [{
71
71
  type: Injectable
72
72
  }] });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLW1hbmFnZS9zcmMvc2VydmljZXMvdXRpbHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQyxNQUFNLE9BQU8sWUFBWTtJQUV2QixNQUFNLENBQUMsdUJBQXVCLENBQUMsS0FBUyxFQUFFLE1BQWM7UUFDdEQsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDekIsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDNUIsT0FBTyxDQUFDLENBQUM7YUFDVjtZQUNELElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUMzQixPQUFPLENBQUMsQ0FBQzthQUNWO1lBQ0QsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQzNCLE9BQU8sQ0FBQyxDQUFDLENBQUM7YUFDWDtZQUNELE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM1QixNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUIsT0FBTyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FB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O2dCQUNFLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFTLEVBQUUsSUFBUztRQUNqQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDOzswR0FsRVUsWUFBWTs4R0FBWixZQUFZOzRGQUFaLFlBQVk7a0JBRHhCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBVdGlsc1NlcnZpY2Uge1xyXG5cclxuICBzdGF0aWMgc29ydFNvcnRBcnJheUJ5UHJvcGVydHkoYXJyYXk6IFtdLCBzb3J0Qnk6IHN0cmluZykge1xyXG4gICAgaWYgKCFhcnJheSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIHJldHVybiBhcnJheS5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgIGlmICghYVtzb3J0QnldICYmICFiW3NvcnRCeV0pIHtcclxuICAgICAgICByZXR1cm4gMDtcclxuICAgICAgfVxyXG4gICAgICBpZiAoYVtzb3J0QnldICYmICFiW3NvcnRCeV0pIHtcclxuICAgICAgICByZXR1cm4gMTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIWFbc29ydEJ5XSAmJiBiW3NvcnRCeV0pIHtcclxuICAgICAgICByZXR1cm4gLTE7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgcG9zaXRpb25BID0gYVtzb3J0QnldO1xyXG4gICAgICBjb25zdCBwb3NpdGlvbkIgPSBiW3NvcnRCeV07XHJcbiAgICAgIHJldHVybiAocG9zaXRpb25BIDwgcG9zaXRpb25CKSA/IC0xIDogKHBvc2l0aW9uQSA+IHBvc2l0aW9uQikgPyAxIDogMDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGRpZmYob3JpZ09iamVjdDogYW55LCB1cGRhdGVkT2JqOiBhbnksIHBhdGg6IHN0cmluZywga2V5c1RvSWdub3JlPzogc3RyaW5nW10pIHtcclxuICAgIGxldCByZXN1bHQ6IGFueSA9IFtdO1xyXG4gICAgaWYgKE9iamVjdC5pcyhvcmlnT2JqZWN0LCB1cGRhdGVkT2JqKSkge1xyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgaWYgKCF1cGRhdGVkT2JqIHx8IHR5cGVvZiB1cGRhdGVkT2JqICE9PSAnb2JqZWN0Jykge1xyXG4gICAgICByZXR1cm4gdXBkYXRlZE9iajtcclxuICAgIH1cclxuICAgIGNvbnN0IGNvbmNhdCA9IEFycmF5LmZyb20obmV3IFNldChbLi4uT2JqZWN0LmtleXMob3JpZ09iamVjdCB8fCB7fSksIC4uLk9iamVjdC5rZXlzKHVwZGF0ZWRPYmogfHwge30pXSkpO1xyXG4gICAgY29uc3QgZmlsdGVyID0ga2V5c1RvSWdub3JlID8gY29uY2F0LmZpbHRlcihrZXkgPT4gIWtleXNUb0lnbm9yZS5pbmNsdWRlcyhrZXkpKSA6IGNvbmNhdDtcclxuICAgIGZpbHRlclxyXG4gICAgICAuZm9yRWFjaChrZXkgPT4ge1xyXG4gICAgICAgIGlmICh0eXBlb2YgdXBkYXRlZE9ialtrZXldID09PSAnb2JqZWN0JyAmJiB0eXBlb2Ygb3JpZ09iamVjdFtrZXldID09PSAnb2JqZWN0Jykge1xyXG4gICAgICAgICAgaWYgKFV0aWxzU2VydmljZS5kaWZmZXJzKHVwZGF0ZWRPYmpba2V5XSwgb3JpZ09iamVjdFtrZXldKSkge1xyXG4gICAgICAgICAgICBjb25zdCBuZXdQYXRoID0gYCR7cGF0aH0ke3BhdGggPyAnLicgOiAnJ30ke2tleX1gO1xyXG4gICAgICAgICAgICBjb25zdCB2YWx1ZXMgPSBVdGlsc1NlcnZpY2UuZGlmZihvcmlnT2JqZWN0W2tleV0sIHVwZGF0ZWRPYmpba2V5XSwgbmV3UGF0aCwga2V5c1RvSWdub3JlKTtcclxuICAgICAgICAgICAgaWYgKHZhbHVlcyAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgcmVzdWx0ID0gWy4uLnJlc3VsdCwgLi4udmFsdWVzXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSBpZiAodXBkYXRlZE9iaiAmJiAhb3JpZ09iamVjdCB8fCB1cGRhdGVkT2JqW2tleV0gIT09IG9yaWdPYmplY3Rba2V5XSAmJiAhT2JqZWN0LmlzKG9yaWdPYmplY3Rba2V5XSwgdXBkYXRlZE9ialtrZXldKSkge1xyXG4gICAgICAgICAgY29uc3QgdmFsdWUgPSB1cGRhdGVkT2JqID8gVXRpbHNTZXJ2aWNlLmZvcm1hdElmRW1wdHkodXBkYXRlZE9ialtrZXldKSA6IG51bGw7XHJcbiAgICAgICAgICByZXN1bHQucHVzaChgJHtwYXRofSR7cGF0aCA/ICcuJyA6ICcnfSR7a2V5fT0ke3ZhbHVlfWApO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGZvcm1hdElmRW1wdHkodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgIH1cclxuICAgIHN3aXRjaCAodHlwZW9mIHZhbHVlKSB7XHJcbiAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxyXG4gICAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgICAgY2FzZSAnc3RyaW5nJzpcclxuICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZGlmZmVycyhvYmoxOiBhbnksIG9iajI6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iajEpICE9PSBKU09OLnN0cmluZ2lmeShvYmoyKTtcclxuICB9XHJcbn1cclxuIl19
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLW1hbmFnZS9zcmMvc2VydmljZXMvdXRpbHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQyxNQUFNLE9BQU8sWUFBWTtJQUV2QixNQUFNLENBQUMsdUJBQXVCLENBQUMsS0FBUyxFQUFFLE1BQWM7UUFDdEQsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDekIsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDNUIsT0FBTyxDQUFDLENBQUM7YUFDVjtZQUNELElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUMzQixPQUFPLENBQUMsQ0FBQzthQUNWO1lBQ0QsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQzNCLE9BQU8sQ0FBQyxDQUFDLENBQUM7YUFDWDtZQUNELE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM1QixNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUIsT0FBTyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FB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O2dCQUNFLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFTLEVBQUUsSUFBUztRQUNqQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDOzswR0FsRVUsWUFBWTs4R0FBWixZQUFZOzRGQUFaLFlBQVk7a0JBRHhCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBVdGlsc1NlcnZpY2Uge1xuXG4gIHN0YXRpYyBzb3J0U29ydEFycmF5QnlQcm9wZXJ0eShhcnJheTogW10sIHNvcnRCeTogc3RyaW5nKSB7XG4gICAgaWYgKCFhcnJheSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBhcnJheS5zb3J0KChhLCBiKSA9PiB7XG4gICAgICBpZiAoIWFbc29ydEJ5XSAmJiAhYltzb3J0QnldKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuICAgICAgaWYgKGFbc29ydEJ5XSAmJiAhYltzb3J0QnldKSB7XG4gICAgICAgIHJldHVybiAxO1xuICAgICAgfVxuICAgICAgaWYgKCFhW3NvcnRCeV0gJiYgYltzb3J0QnldKSB7XG4gICAgICAgIHJldHVybiAtMTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHBvc2l0aW9uQSA9IGFbc29ydEJ5XTtcbiAgICAgIGNvbnN0IHBvc2l0aW9uQiA9IGJbc29ydEJ5XTtcbiAgICAgIHJldHVybiAocG9zaXRpb25BIDwgcG9zaXRpb25CKSA/IC0xIDogKHBvc2l0aW9uQSA+IHBvc2l0aW9uQikgPyAxIDogMDtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBkaWZmKG9yaWdPYmplY3Q6IGFueSwgdXBkYXRlZE9iajogYW55LCBwYXRoOiBzdHJpbmcsIGtleXNUb0lnbm9yZT86IHN0cmluZ1tdKSB7XG4gICAgbGV0IHJlc3VsdDogYW55ID0gW107XG4gICAgaWYgKE9iamVjdC5pcyhvcmlnT2JqZWN0LCB1cGRhdGVkT2JqKSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgaWYgKCF1cGRhdGVkT2JqIHx8IHR5cGVvZiB1cGRhdGVkT2JqICE9PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuIHVwZGF0ZWRPYmo7XG4gICAgfVxuICAgIGNvbnN0IGNvbmNhdCA9IEFycmF5LmZyb20obmV3IFNldChbLi4uT2JqZWN0LmtleXMob3JpZ09iamVjdCB8fCB7fSksIC4uLk9iamVjdC5rZXlzKHVwZGF0ZWRPYmogfHwge30pXSkpO1xuICAgIGNvbnN0IGZpbHRlciA9IGtleXNUb0lnbm9yZSA/IGNvbmNhdC5maWx0ZXIoa2V5ID0+ICFrZXlzVG9JZ25vcmUuaW5jbHVkZXMoa2V5KSkgOiBjb25jYXQ7XG4gICAgZmlsdGVyXG4gICAgICAuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIHVwZGF0ZWRPYmpba2V5XSA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG9yaWdPYmplY3Rba2V5XSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBpZiAoVXRpbHNTZXJ2aWNlLmRpZmZlcnModXBkYXRlZE9ialtrZXldLCBvcmlnT2JqZWN0W2tleV0pKSB7XG4gICAgICAgICAgICBjb25zdCBuZXdQYXRoID0gYCR7cGF0aH0ke3BhdGggPyAnLicgOiAnJ30ke2tleX1gO1xuICAgICAgICAgICAgY29uc3QgdmFsdWVzID0gVXRpbHNTZXJ2aWNlLmRpZmYob3JpZ09iamVjdFtrZXldLCB1cGRhdGVkT2JqW2tleV0sIG5ld1BhdGgsIGtleXNUb0lnbm9yZSk7XG4gICAgICAgICAgICBpZiAodmFsdWVzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgcmVzdWx0ID0gWy4uLnJlc3VsdCwgLi4udmFsdWVzXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodXBkYXRlZE9iaiAmJiAhb3JpZ09iamVjdCB8fCB1cGRhdGVkT2JqW2tleV0gIT09IG9yaWdPYmplY3Rba2V5XSAmJiAhT2JqZWN0LmlzKG9yaWdPYmplY3Rba2V5XSwgdXBkYXRlZE9ialtrZXldKSkge1xuICAgICAgICAgIGNvbnN0IHZhbHVlID0gdXBkYXRlZE9iaiA/IFV0aWxzU2VydmljZS5mb3JtYXRJZkVtcHR5KHVwZGF0ZWRPYmpba2V5XSkgOiBudWxsO1xuICAgICAgICAgIHJlc3VsdC5wdXNoKGAke3BhdGh9JHtwYXRoID8gJy4nIDogJyd9JHtrZXl9PSR7dmFsdWV9YCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBzdGF0aWMgZm9ybWF0SWZFbXB0eSh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICAgIHN3aXRjaCAodHlwZW9mIHZhbHVlKSB7XG4gICAgICBjYXNlICdib29sZWFuJzpcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgcmV0dXJuICcnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGRpZmZlcnMob2JqMTogYW55LCBvYmoyOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqMSkgIT09IEpTT04uc3RyaW5naWZ5KG9iajIpO1xuICB9XG59XG4iXX0=
@@ -47,10 +47,10 @@ export class UserCallingExtensionComponent {
47
47
  }
48
48
  }
49
49
  UserCallingExtensionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserCallingExtensionComponent, deps: [{ token: i1.UserService }, { token: i2.DnsService }], target: i0.ɵɵFactoryTarget.Component });
50
- UserCallingExtensionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UserCallingExtensionComponent, selector: "app-user-calling-extension", inputs: { control: "control", routePartition: "routePartition", directoryNumber: "directoryNumber", siteId: "siteId" }, outputs: { onChange: "onChange" }, ngImport: i0, template: "<div *ngIf=\"this.availableNumbers?.length\" class=\"user-calling-extension\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-select [formControl]=\"control\" name=\"extension\"\r\n (selectionChange)=\"this.onChangeField($event)\">\r\n <mat-option *ngFor=\"let option of this.availableNumbers; let i = index;\"[value]=\"option\">{{option}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-spinner *ngIf=\"this.dataPending\" [diameter]=\"50\"></mat-spinner>\r\n</div>\r\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";.user-calling-extension{max-width:200px;margin:0 0 0 6px}.fa:hover{color:#0d56aa!important}.mat-icon-button{background:transparent}.icon-webex-box{width:2rem;height:2rem;font-size:.7rem;line-height:1rem;display:inline-block;background:#d0d0d0;border-radius:2rem;line-height:40px;text-align:center}.icon-webex{filter:invert(12%) sepia(14%) saturate(4%) hue-rotate(354deg) brightness(103%) contrast(90%);background-repeat:no-repeat;background-position:center;display:inline-block;height:1rem;width:1rem}.icon-webex-user{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22%3F%3E%3Csvg id%3D%22a%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 16.67 15.56%22%3E%3Cdefs%3E%3Cstyle%3E.b%7Bfill%3Anone%3Bstroke%3A%232c355d%3Bstroke-width%3A1.4px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath class%3D%22b%22 d%3D%22M4.87%2C3.89c0-1.72%2C1.51-3.19%2C3.47-3.19s3.47%2C1.47%2C3.47%2C3.19-1.51%2C3.19-3.47%2C3.19-3.47-1.47-3.47-3.19ZM.7%2C12.64c0-.37%2C.19-.76%2C.67-1.17%2C.48-.41%2C1.17-.78%2C2-1.09%2C1.66-.62%2C3.66-.93%2C4.97-.93s3.31%2C.31%2C4.97%2C.93c.83%2C.31%2C1.52%2C.68%2C2%2C1.09%2C.47%2C.41%2C.67%2C.8%2C.67%2C1.17v2.22H.7v-2.22Z%22%2F%3E%3C%2Fsvg%3E\")}.icon-user-status{display:inline-block}*{margin:0}body{background:#f7f7f7}body,th,td{font-family:Poppins,Poppins,sans-serif;font-size:14px}th{color:#0000008a;text-align:left}td{box-sizing:border-box;padding:10px 5px 10px 0}.content-box{margin:auto;position:relative;width:95%}.content-box table{width:100%}.edit-icon-td{width:50px;position:relative}.edit-icon-td button{position:absolute;top:4px}.mat-progress-spinner circle,.mat-spinner circle{stroke:gray!important}.data-loader{position:absolute;top:calc(50% - 25px);left:calc(50% - 25px)}.flex-box{display:flex;justify-content:flex-start}.spinner-container{width:100%;display:flex;justify-content:center;align-items:center}.spinner-container ::ng-deep .mat-progress-spinner circle,.mat-spinner circle{stroke:#000}.user-info-box{background:white;display:grid;grid-template-columns:30% 70%;border-radius:8px;border:rgba(0,0,0,.2) 1px solid;padding:24px;font-weight:400;font-size:14px}.user-info-box h3{display:block;font-weight:500;font-size:16px}.mat-divider{margin:5px 0!important}.info-boxes-container{padding:24px 0;display:flex;flex-direction:column;gap:24px}.header-box{height:60px;width:100%;line-height:60px;background:white;border-bottom:1px solid #dedddd}.header-box .header-back-block{float:left}.header-box .header-button-block{float:right}.webex-table{width:100%;margin:auto}.webex-table tr{border-bottom:1px solid #dedede}.webex-table th{background:#f7f7f7;color:#636363;font-size:12px}.webex-table td{background:#fff;color:#636363;font-size:14px}.webex-table tr:hover td{background:#ededed;cursor:pointer}.webex-table th.mat-header-cell,.webex-table td.mat-cell,.webex-table td.mat-footer-cell{border-bottom:1px solid #dedede}.webex-table tr.mat-header-row{height:37px}.mat-form-field{padding:0 0 5px;width:93%}.mat-form-field.mat-form-field-disabled{border-bottom:none}.mat-error{color:#c73636;margin:13px 0 0}.select-box{border-radius:30px;background:#F3F6F6;border:1px solid #E2E9EF;height:35px;position:relative}.select-box select{border:none!important;background:transparent;height:100%;width:92%;margin:auto;display:block}option:focus,option:focus-visible{border:none!important;outline:none!important}option{height:30px;cursor:pointer;color:#636363}option:hover{background:#ededed!important}.mat-select{height:100%!important}.info-holder,.input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__name,.input-holder__name{font-weight:500!important;font-size:14px!important}.info-holder__inputs .input-holder,.input-holder__inputs .input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__inputs .input-holder__name,.input-holder__inputs .input-holder__name{font-weight:400!important;font-size:14px!important}table{border-collapse:collapse;border-spacing:0}.mat-form-field-appearance-outline .mat-form-field-infix{padding:0!important}.mat-divider{margin:12px 0}::ng-deep .mat-form-field-wrapper{height:30px}::ng-deep .mat-form-field-flex{height:30px}::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline{height:35px}:ng-deep .mat-form-field-outline .mat-form-field-outline-thick{height:35px}::ng-deep .mat-select{line-height:20px}::ng-deep .mat-form-field-infix{border-top:0px!important}::ng-deep .mat-tab-group{font-family:Inter,sans-serif}::ng-deep .mat-tab-label{font-weight:500!important;font-size:16px!important;height:auto!important;min-width:auto!important;padding:0!important;opacity:1!important;color:#000!important}::ng-deep .mat-ink-bar{background-color:#000!important;height:3px!important}::ng-deep .mat-tab-labels{gap:30px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i8.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }] });
50
+ UserCallingExtensionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UserCallingExtensionComponent, selector: "app-user-calling-extension", inputs: { control: "control", routePartition: "routePartition", directoryNumber: "directoryNumber", siteId: "siteId" }, outputs: { onChange: "onChange" }, ngImport: i0, template: "<div *ngIf=\"this.availableNumbers?.length\" class=\"user-calling-extension\">\n <mat-form-field appearance=\"outline\">\n <mat-select [formControl]=\"control\" name=\"extension\"\n (selectionChange)=\"this.onChangeField($event)\">\n <mat-option *ngFor=\"let option of this.availableNumbers; let i = index;\"[value]=\"option\">{{option}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-spinner *ngIf=\"this.dataPending\" [diameter]=\"50\"></mat-spinner>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";.user-calling-extension{max-width:200px;margin:0 0 0 6px}.fa:hover{color:#0d56aa!important}.mat-icon-button{background:transparent}.icon-webex-box{width:2rem;height:2rem;font-size:.7rem;line-height:1rem;display:inline-block;background:#d0d0d0;border-radius:2rem;line-height:40px;text-align:center}.icon-webex{filter:invert(12%) sepia(14%) saturate(4%) hue-rotate(354deg) brightness(103%) contrast(90%);background-repeat:no-repeat;background-position:center;display:inline-block;height:1rem;width:1rem}.icon-webex-user{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22%3F%3E%3Csvg id%3D%22a%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 16.67 15.56%22%3E%3Cdefs%3E%3Cstyle%3E.b%7Bfill%3Anone%3Bstroke%3A%232c355d%3Bstroke-width%3A1.4px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath class%3D%22b%22 d%3D%22M4.87%2C3.89c0-1.72%2C1.51-3.19%2C3.47-3.19s3.47%2C1.47%2C3.47%2C3.19-1.51%2C3.19-3.47%2C3.19-3.47-1.47-3.47-3.19ZM.7%2C12.64c0-.37%2C.19-.76%2C.67-1.17%2C.48-.41%2C1.17-.78%2C2-1.09%2C1.66-.62%2C3.66-.93%2C4.97-.93s3.31%2C.31%2C4.97%2C.93c.83%2C.31%2C1.52%2C.68%2C2%2C1.09%2C.47%2C.41%2C.67%2C.8%2C.67%2C1.17v2.22H.7v-2.22Z%22%2F%3E%3C%2Fsvg%3E\")}.icon-user-status{display:inline-block}*{margin:0}body{background:#f7f7f7}body,th,td{font-family:Poppins,Poppins,sans-serif;font-size:14px}th{color:#0000008a;text-align:left}td{box-sizing:border-box;padding:10px 5px 10px 0}.content-box{margin:auto;position:relative;width:95%}.content-box table{width:100%}.edit-icon-td{width:50px;position:relative}.edit-icon-td button{position:absolute;top:4px}.mat-progress-spinner circle,.mat-spinner circle{stroke:gray!important}.data-loader{position:absolute;top:calc(50% - 25px);left:calc(50% - 25px)}.flex-box{display:flex;justify-content:flex-start}.spinner-container{width:100%;display:flex;justify-content:center;align-items:center}.spinner-container ::ng-deep .mat-progress-spinner circle,.mat-spinner circle{stroke:#000}.user-info-box{background:white;display:grid;grid-template-columns:30% 70%;border-radius:8px;border:rgba(0,0,0,.2) 1px solid;padding:24px;font-weight:400;font-size:14px}.user-info-box h3{display:block;font-weight:500;font-size:16px}.mat-divider{margin:5px 0!important}.info-boxes-container{padding:24px 0;display:flex;flex-direction:column;gap:24px}.header-box{height:60px;width:100%;line-height:60px;background:white;border-bottom:1px solid #dedddd}.header-box .header-back-block{float:left}.header-box .header-button-block{float:right}.webex-table{width:100%;margin:auto}.webex-table tr{border-bottom:1px solid #dedede}.webex-table th{background:#f7f7f7;color:#636363;font-size:12px}.webex-table td{background:#fff;color:#636363;font-size:14px}.webex-table tr:hover td{background:#ededed;cursor:pointer}.webex-table th.mat-header-cell,.webex-table td.mat-cell,.webex-table td.mat-footer-cell{border-bottom:1px solid #dedede}.webex-table tr.mat-header-row{height:37px}.mat-form-field{padding:0 0 5px;width:93%}.mat-form-field.mat-form-field-disabled{border-bottom:none}.mat-error{color:#c73636;margin:13px 0 0}.select-box{border-radius:30px;background:#F3F6F6;border:1px solid #E2E9EF;height:35px;position:relative}.select-box select{border:none!important;background:transparent;height:100%;width:92%;margin:auto;display:block}option:focus,option:focus-visible{border:none!important;outline:none!important}option{height:30px;cursor:pointer;color:#636363}option:hover{background:#ededed!important}.mat-select{height:100%!important}.info-holder,.input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__name,.input-holder__name{font-weight:500!important;font-size:14px!important}.info-holder__inputs .input-holder,.input-holder__inputs .input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__inputs .input-holder__name,.input-holder__inputs .input-holder__name{font-weight:400!important;font-size:14px!important}table{border-collapse:collapse;border-spacing:0}.mat-form-field-appearance-outline .mat-form-field-infix{padding:0!important}.mat-divider{margin:12px 0}::ng-deep .mat-form-field-wrapper{height:30px}::ng-deep .mat-form-field-flex{height:30px}::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline{height:35px}:ng-deep .mat-form-field-outline .mat-form-field-outline-thick{height:35px}::ng-deep .mat-select{line-height:20px}::ng-deep .mat-form-field-infix{border-top:0px!important}::ng-deep .mat-tab-group{font-family:Inter,sans-serif}::ng-deep .mat-tab-label{font-weight:500!important;font-size:16px!important;height:auto!important;min-width:auto!important;padding:0!important;opacity:1!important;color:#000!important}::ng-deep .mat-ink-bar{background-color:#000!important;height:3px!important}::ng-deep .mat-tab-labels{gap:30px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i8.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }] });
51
51
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserCallingExtensionComponent, decorators: [{
52
52
  type: Component,
53
- args: [{ selector: 'app-user-calling-extension', template: "<div *ngIf=\"this.availableNumbers?.length\" class=\"user-calling-extension\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-select [formControl]=\"control\" name=\"extension\"\r\n (selectionChange)=\"this.onChangeField($event)\">\r\n <mat-option *ngFor=\"let option of this.availableNumbers; let i = index;\"[value]=\"option\">{{option}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-spinner *ngIf=\"this.dataPending\" [diameter]=\"50\"></mat-spinner>\r\n</div>\r\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";.user-calling-extension{max-width:200px;margin:0 0 0 6px}.fa:hover{color:#0d56aa!important}.mat-icon-button{background:transparent}.icon-webex-box{width:2rem;height:2rem;font-size:.7rem;line-height:1rem;display:inline-block;background:#d0d0d0;border-radius:2rem;line-height:40px;text-align:center}.icon-webex{filter:invert(12%) sepia(14%) saturate(4%) hue-rotate(354deg) brightness(103%) contrast(90%);background-repeat:no-repeat;background-position:center;display:inline-block;height:1rem;width:1rem}.icon-webex-user{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22%3F%3E%3Csvg id%3D%22a%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 16.67 15.56%22%3E%3Cdefs%3E%3Cstyle%3E.b%7Bfill%3Anone%3Bstroke%3A%232c355d%3Bstroke-width%3A1.4px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath class%3D%22b%22 d%3D%22M4.87%2C3.89c0-1.72%2C1.51-3.19%2C3.47-3.19s3.47%2C1.47%2C3.47%2C3.19-1.51%2C3.19-3.47%2C3.19-3.47-1.47-3.47-3.19ZM.7%2C12.64c0-.37%2C.19-.76%2C.67-1.17%2C.48-.41%2C1.17-.78%2C2-1.09%2C1.66-.62%2C3.66-.93%2C4.97-.93s3.31%2C.31%2C4.97%2C.93c.83%2C.31%2C1.52%2C.68%2C2%2C1.09%2C.47%2C.41%2C.67%2C.8%2C.67%2C1.17v2.22H.7v-2.22Z%22%2F%3E%3C%2Fsvg%3E\")}.icon-user-status{display:inline-block}*{margin:0}body{background:#f7f7f7}body,th,td{font-family:Poppins,Poppins,sans-serif;font-size:14px}th{color:#0000008a;text-align:left}td{box-sizing:border-box;padding:10px 5px 10px 0}.content-box{margin:auto;position:relative;width:95%}.content-box table{width:100%}.edit-icon-td{width:50px;position:relative}.edit-icon-td button{position:absolute;top:4px}.mat-progress-spinner circle,.mat-spinner circle{stroke:gray!important}.data-loader{position:absolute;top:calc(50% - 25px);left:calc(50% - 25px)}.flex-box{display:flex;justify-content:flex-start}.spinner-container{width:100%;display:flex;justify-content:center;align-items:center}.spinner-container ::ng-deep .mat-progress-spinner circle,.mat-spinner circle{stroke:#000}.user-info-box{background:white;display:grid;grid-template-columns:30% 70%;border-radius:8px;border:rgba(0,0,0,.2) 1px solid;padding:24px;font-weight:400;font-size:14px}.user-info-box h3{display:block;font-weight:500;font-size:16px}.mat-divider{margin:5px 0!important}.info-boxes-container{padding:24px 0;display:flex;flex-direction:column;gap:24px}.header-box{height:60px;width:100%;line-height:60px;background:white;border-bottom:1px solid #dedddd}.header-box .header-back-block{float:left}.header-box .header-button-block{float:right}.webex-table{width:100%;margin:auto}.webex-table tr{border-bottom:1px solid #dedede}.webex-table th{background:#f7f7f7;color:#636363;font-size:12px}.webex-table td{background:#fff;color:#636363;font-size:14px}.webex-table tr:hover td{background:#ededed;cursor:pointer}.webex-table th.mat-header-cell,.webex-table td.mat-cell,.webex-table td.mat-footer-cell{border-bottom:1px solid #dedede}.webex-table tr.mat-header-row{height:37px}.mat-form-field{padding:0 0 5px;width:93%}.mat-form-field.mat-form-field-disabled{border-bottom:none}.mat-error{color:#c73636;margin:13px 0 0}.select-box{border-radius:30px;background:#F3F6F6;border:1px solid #E2E9EF;height:35px;position:relative}.select-box select{border:none!important;background:transparent;height:100%;width:92%;margin:auto;display:block}option:focus,option:focus-visible{border:none!important;outline:none!important}option{height:30px;cursor:pointer;color:#636363}option:hover{background:#ededed!important}.mat-select{height:100%!important}.info-holder,.input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__name,.input-holder__name{font-weight:500!important;font-size:14px!important}.info-holder__inputs .input-holder,.input-holder__inputs .input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__inputs .input-holder__name,.input-holder__inputs .input-holder__name{font-weight:400!important;font-size:14px!important}table{border-collapse:collapse;border-spacing:0}.mat-form-field-appearance-outline .mat-form-field-infix{padding:0!important}.mat-divider{margin:12px 0}::ng-deep .mat-form-field-wrapper{height:30px}::ng-deep .mat-form-field-flex{height:30px}::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline{height:35px}:ng-deep .mat-form-field-outline .mat-form-field-outline-thick{height:35px}::ng-deep .mat-select{line-height:20px}::ng-deep .mat-form-field-infix{border-top:0px!important}::ng-deep .mat-tab-group{font-family:Inter,sans-serif}::ng-deep .mat-tab-label{font-weight:500!important;font-size:16px!important;height:auto!important;min-width:auto!important;padding:0!important;opacity:1!important;color:#000!important}::ng-deep .mat-ink-bar{background-color:#000!important;height:3px!important}::ng-deep .mat-tab-labels{gap:30px}\n"] }]
53
+ args: [{ selector: 'app-user-calling-extension', template: "<div *ngIf=\"this.availableNumbers?.length\" class=\"user-calling-extension\">\n <mat-form-field appearance=\"outline\">\n <mat-select [formControl]=\"control\" name=\"extension\"\n (selectionChange)=\"this.onChangeField($event)\">\n <mat-option *ngFor=\"let option of this.availableNumbers; let i = index;\"[value]=\"option\">{{option}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-spinner *ngIf=\"this.dataPending\" [diameter]=\"50\"></mat-spinner>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";.user-calling-extension{max-width:200px;margin:0 0 0 6px}.fa:hover{color:#0d56aa!important}.mat-icon-button{background:transparent}.icon-webex-box{width:2rem;height:2rem;font-size:.7rem;line-height:1rem;display:inline-block;background:#d0d0d0;border-radius:2rem;line-height:40px;text-align:center}.icon-webex{filter:invert(12%) sepia(14%) saturate(4%) hue-rotate(354deg) brightness(103%) contrast(90%);background-repeat:no-repeat;background-position:center;display:inline-block;height:1rem;width:1rem}.icon-webex-user{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22%3F%3E%3Csvg id%3D%22a%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 16.67 15.56%22%3E%3Cdefs%3E%3Cstyle%3E.b%7Bfill%3Anone%3Bstroke%3A%232c355d%3Bstroke-width%3A1.4px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath class%3D%22b%22 d%3D%22M4.87%2C3.89c0-1.72%2C1.51-3.19%2C3.47-3.19s3.47%2C1.47%2C3.47%2C3.19-1.51%2C3.19-3.47%2C3.19-3.47-1.47-3.47-3.19ZM.7%2C12.64c0-.37%2C.19-.76%2C.67-1.17%2C.48-.41%2C1.17-.78%2C2-1.09%2C1.66-.62%2C3.66-.93%2C4.97-.93s3.31%2C.31%2C4.97%2C.93c.83%2C.31%2C1.52%2C.68%2C2%2C1.09%2C.47%2C.41%2C.67%2C.8%2C.67%2C1.17v2.22H.7v-2.22Z%22%2F%3E%3C%2Fsvg%3E\")}.icon-user-status{display:inline-block}*{margin:0}body{background:#f7f7f7}body,th,td{font-family:Poppins,Poppins,sans-serif;font-size:14px}th{color:#0000008a;text-align:left}td{box-sizing:border-box;padding:10px 5px 10px 0}.content-box{margin:auto;position:relative;width:95%}.content-box table{width:100%}.edit-icon-td{width:50px;position:relative}.edit-icon-td button{position:absolute;top:4px}.mat-progress-spinner circle,.mat-spinner circle{stroke:gray!important}.data-loader{position:absolute;top:calc(50% - 25px);left:calc(50% - 25px)}.flex-box{display:flex;justify-content:flex-start}.spinner-container{width:100%;display:flex;justify-content:center;align-items:center}.spinner-container ::ng-deep .mat-progress-spinner circle,.mat-spinner circle{stroke:#000}.user-info-box{background:white;display:grid;grid-template-columns:30% 70%;border-radius:8px;border:rgba(0,0,0,.2) 1px solid;padding:24px;font-weight:400;font-size:14px}.user-info-box h3{display:block;font-weight:500;font-size:16px}.mat-divider{margin:5px 0!important}.info-boxes-container{padding:24px 0;display:flex;flex-direction:column;gap:24px}.header-box{height:60px;width:100%;line-height:60px;background:white;border-bottom:1px solid #dedddd}.header-box .header-back-block{float:left}.header-box .header-button-block{float:right}.webex-table{width:100%;margin:auto}.webex-table tr{border-bottom:1px solid #dedede}.webex-table th{background:#f7f7f7;color:#636363;font-size:12px}.webex-table td{background:#fff;color:#636363;font-size:14px}.webex-table tr:hover td{background:#ededed;cursor:pointer}.webex-table th.mat-header-cell,.webex-table td.mat-cell,.webex-table td.mat-footer-cell{border-bottom:1px solid #dedede}.webex-table tr.mat-header-row{height:37px}.mat-form-field{padding:0 0 5px;width:93%}.mat-form-field.mat-form-field-disabled{border-bottom:none}.mat-error{color:#c73636;margin:13px 0 0}.select-box{border-radius:30px;background:#F3F6F6;border:1px solid #E2E9EF;height:35px;position:relative}.select-box select{border:none!important;background:transparent;height:100%;width:92%;margin:auto;display:block}option:focus,option:focus-visible{border:none!important;outline:none!important}option{height:30px;cursor:pointer;color:#636363}option:hover{background:#ededed!important}.mat-select{height:100%!important}.info-holder,.input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__name,.input-holder__name{font-weight:500!important;font-size:14px!important}.info-holder__inputs .input-holder,.input-holder__inputs .input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__inputs .input-holder__name,.input-holder__inputs .input-holder__name{font-weight:400!important;font-size:14px!important}table{border-collapse:collapse;border-spacing:0}.mat-form-field-appearance-outline .mat-form-field-infix{padding:0!important}.mat-divider{margin:12px 0}::ng-deep .mat-form-field-wrapper{height:30px}::ng-deep .mat-form-field-flex{height:30px}::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline{height:35px}:ng-deep .mat-form-field-outline .mat-form-field-outline-thick{height:35px}::ng-deep .mat-select{line-height:20px}::ng-deep .mat-form-field-infix{border-top:0px!important}::ng-deep .mat-tab-group{font-family:Inter,sans-serif}::ng-deep .mat-tab-label{font-weight:500!important;font-size:16px!important;height:auto!important;min-width:auto!important;padding:0!important;opacity:1!important;color:#000!important}::ng-deep .mat-ink-bar{background-color:#000!important;height:3px!important}::ng-deep .mat-tab-labels{gap:30px}\n"] }]
54
54
  }], ctorParameters: function () { return [{ type: i1.UserService }, { type: i2.DnsService }]; }, propDecorators: { control: [{
55
55
  type: Input
56
56
  }], routePartition: [{
@@ -62,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
62
62
  }], onChange: [{
63
63
  type: Output
64
64
  }] } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1jYWxsaW5nLWV4dGVuc2lvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1tYW5hZ2Uvc3JjL3VzZXItY2FsbGluZy91c2VyLWNhbGxpbmctZXh0ZW5zaW9uL3VzZXItY2FsbGluZy1leHRlbnNpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXItbWFuYWdlL3NyYy91c2VyLWNhbGxpbmcvdXNlci1jYWxsaW5nLWV4dGVuc2lvbi91c2VyLWNhbGxpbmctZXh0ZW5zaW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7QUFXL0UsTUFBTSxPQUFPLDZCQUE2QjtJQVF4QyxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixhQUFhO1FBQ2IsT0FBTyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDaEksQ0FBQztJQUdELFlBQ1MsV0FBd0IsRUFDdkIsVUFBc0I7UUFEdkIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDdkIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQWZ0QixhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQWlCaEQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUFVO1FBQzdCLGdCQUFnQjtRQUNoQixZQUFZO1FBQ1osSUFBSTtRQUNKLHdFQUF3RTtRQUN4RSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFbkMsQ0FBQztJQUVPLE9BQU87UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDeEMsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDO2FBQ3JFLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDekIsYUFBYTtnQkFDYixJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2FBQ2xGO1lBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzsySEFsRFUsNkJBQTZCOytHQUE3Qiw2QkFBNkIsNk5DWDFDLDRnQkFVQTs0RkRDYSw2QkFBNkI7a0JBTHpDLFNBQVM7K0JBQ0UsNEJBQTRCOzJIQUs3QixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDSSxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2ltcGxpZmllZFVzZXIgfSBmcm9tICcuLi8uLi9jbGFzc2VzL3NpbXBsaWZpZWQtdXNlcic7XHJcbmltcG9ydCB7IFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXNlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRG5zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Rucy5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXVzZXItY2FsbGluZy1leHRlbnNpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91c2VyLWNhbGxpbmctZXh0ZW5zaW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi91c2VyLWNhbGxpbmctZXh0ZW5zaW9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVc2VyQ2FsbGluZ0V4dGVuc2lvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgY29udHJvbCE6IEZvcm1Db250cm9sO1xyXG4gIEBJbnB1dCgpIHJvdXRlUGFydGl0aW9uITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGRpcmVjdG9yeU51bWJlciE6IHN0cmluZztcclxuICBASW5wdXQoKSBzaXRlSWQhOiBudW1iZXI7XHJcbiAgQE91dHB1dCgpIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgcHVibGljIGRhdGFQZW5kaW5nITogYm9vbGVhbjtcclxuXHJcbiAgZ2V0IHVzZXIoKTogU2ltcGxpZmllZFVzZXIge1xyXG4gICAgcmV0dXJuIHRoaXMudXNlclNlcnZpY2UudXNlcjtcclxuICB9XHJcblxyXG4gIGdldCBhdmFpbGFibGVOdW1iZXJzKCk6IGFueSB7XHJcbiAgICAvLyBAdHMtaWdub3JlXHJcbiAgICByZXR1cm4gdGhpcy5yb3V0ZVBhcnRpdGlvbiAmJiB0aGlzLmRuc1NlcnZpY2UuYXZhaWxhYmxlTnVtYmVycyA/IHRoaXMuZG5zU2VydmljZS5hdmFpbGFibGVOdW1iZXJzW3RoaXMucm91dGVQYXJ0aXRpb25dIDogbnVsbDtcclxuICB9XHJcblxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRuc1NlcnZpY2U6IERuc1NlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5nZXREYXRhKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DaGFuZ2VGaWVsZChldmVudDogYW55KTogdm9pZCB7XHJcbiAgICAvLyBpZiAoIXRva2VuKSB7XHJcbiAgICAvLyAgIHJldHVybjtcclxuICAgIC8vIH1cclxuICAgIC8vICh0aGlzLnVzZXJTZXJ2aWNlLnVzZXIgYXMgYW55KVt0b2tlbl0gPSB0aGlzLmZvcm0/LmdldCh0b2tlbik/LnZhbHVlO1xyXG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KGV2ZW50Py52YWx1ZSk7XHJcblxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXREYXRhKCkge1xyXG4gICAgaWYgKCF0aGlzLnNpdGVJZCB8fCAhdGhpcy5yb3V0ZVBhcnRpdGlvbikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmRhdGFQZW5kaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuZG5zU2VydmljZS5nZXROdW1iZXJSYW5nZShTdHJpbmcodGhpcy5zaXRlSWQpLCB0aGlzLnJvdXRlUGFydGl0aW9uKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5hdmFpbGFibGVOdW1iZXJzKSB7XHJcbiAgICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgICB0aGlzLmRuc1NlcnZpY2UuYXZhaWxhYmxlTnVtYmVyc1t0aGlzLnJvdXRlUGFydGl0aW9uXS5wdXNoKHRoaXMuZGlyZWN0b3J5TnVtYmVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5kYXRhUGVuZGluZyA9IGZhbHNlO1xyXG4gICAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cInRoaXMuYXZhaWxhYmxlTnVtYmVycz8ubGVuZ3RoXCIgY2xhc3M9XCJ1c2VyLWNhbGxpbmctZXh0ZW5zaW9uXCI+XHJcbiAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XHJcbiAgICA8bWF0LXNlbGVjdCBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiIG5hbWU9XCJleHRlbnNpb25cIlxyXG4gICAgICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJ0aGlzLm9uQ2hhbmdlRmllbGQoJGV2ZW50KVwiPlxyXG4gICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHRoaXMuYXZhaWxhYmxlTnVtYmVyczsgbGV0IGkgPSBpbmRleDtcIlt2YWx1ZV09XCJvcHRpb25cIj57e29wdGlvbn19PC9tYXQtb3B0aW9uPlxyXG4gICAgPC9tYXQtc2VsZWN0PlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4gIDxtYXQtc3Bpbm5lciAqbmdJZj1cInRoaXMuZGF0YVBlbmRpbmdcIiBbZGlhbWV0ZXJdPVwiNTBcIj48L21hdC1zcGlubmVyPlxyXG48L2Rpdj5cclxuIl19
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1jYWxsaW5nLWV4dGVuc2lvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1tYW5hZ2Uvc3JjL3VzZXItY2FsbGluZy91c2VyLWNhbGxpbmctZXh0ZW5zaW9uL3VzZXItY2FsbGluZy1leHRlbnNpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXItbWFuYWdlL3NyYy91c2VyLWNhbGxpbmcvdXNlci1jYWxsaW5nLWV4dGVuc2lvbi91c2VyLWNhbGxpbmctZXh0ZW5zaW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7QUFXL0UsTUFBTSxPQUFPLDZCQUE2QjtJQVF4QyxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixhQUFhO1FBQ2IsT0FBTyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDaEksQ0FBQztJQUdELFlBQ1MsV0FBd0IsRUFDdkIsVUFBc0I7UUFEdkIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDdkIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQWZ0QixhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQWlCaEQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUFVO1FBQzdCLGdCQUFnQjtRQUNoQixZQUFZO1FBQ1osSUFBSTtRQUNKLHdFQUF3RTtRQUN4RSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFbkMsQ0FBQztJQUVPLE9BQU87UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDeEMsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDO2FBQ3JFLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDekIsYUFBYTtnQkFDYixJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2FBQ2xGO1lBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzsySEFsRFUsNkJBQTZCOytHQUE3Qiw2QkFBNkIsNk5DWDFDLHdmQVVBOzRGRENhLDZCQUE2QjtrQkFMekMsU0FBUzsrQkFDRSw0QkFBNEI7MkhBSzdCLE9BQU87c0JBQWYsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNJLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNpbXBsaWZpZWRVc2VyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9zaW1wbGlmaWVkLXVzZXInO1xuaW1wb3J0IHsgVXNlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91c2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRG5zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Rucy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXVzZXItY2FsbGluZy1leHRlbnNpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vdXNlci1jYWxsaW5nLWV4dGVuc2lvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3VzZXItY2FsbGluZy1leHRlbnNpb24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVXNlckNhbGxpbmdFeHRlbnNpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBjb250cm9sITogRm9ybUNvbnRyb2w7XG4gIEBJbnB1dCgpIHJvdXRlUGFydGl0aW9uITogc3RyaW5nO1xuICBASW5wdXQoKSBkaXJlY3RvcnlOdW1iZXIhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNpdGVJZCE6IG51bWJlcjtcbiAgQE91dHB1dCgpIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIHB1YmxpYyBkYXRhUGVuZGluZyE6IGJvb2xlYW47XG5cbiAgZ2V0IHVzZXIoKTogU2ltcGxpZmllZFVzZXIge1xuICAgIHJldHVybiB0aGlzLnVzZXJTZXJ2aWNlLnVzZXI7XG4gIH1cblxuICBnZXQgYXZhaWxhYmxlTnVtYmVycygpOiBhbnkge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICByZXR1cm4gdGhpcy5yb3V0ZVBhcnRpdGlvbiAmJiB0aGlzLmRuc1NlcnZpY2UuYXZhaWxhYmxlTnVtYmVycyA/IHRoaXMuZG5zU2VydmljZS5hdmFpbGFibGVOdW1iZXJzW3RoaXMucm91dGVQYXJ0aXRpb25dIDogbnVsbDtcbiAgfVxuXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICBwcml2YXRlIGRuc1NlcnZpY2U6IERuc1NlcnZpY2VcbiAgKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmdldERhdGEoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNoYW5nZUZpZWxkKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAvLyBpZiAoIXRva2VuKSB7XG4gICAgLy8gICByZXR1cm47XG4gICAgLy8gfVxuICAgIC8vICh0aGlzLnVzZXJTZXJ2aWNlLnVzZXIgYXMgYW55KVt0b2tlbl0gPSB0aGlzLmZvcm0/LmdldCh0b2tlbik/LnZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UuZW1pdChldmVudD8udmFsdWUpO1xuXG4gIH1cblxuICBwcml2YXRlIGdldERhdGEoKSB7XG4gICAgaWYgKCF0aGlzLnNpdGVJZCB8fCAhdGhpcy5yb3V0ZVBhcnRpdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmRhdGFQZW5kaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmRuc1NlcnZpY2UuZ2V0TnVtYmVyUmFuZ2UoU3RyaW5nKHRoaXMuc2l0ZUlkKSwgdGhpcy5yb3V0ZVBhcnRpdGlvbilcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5hdmFpbGFibGVOdW1iZXJzKSB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIHRoaXMuZG5zU2VydmljZS5hdmFpbGFibGVOdW1iZXJzW3RoaXMucm91dGVQYXJ0aXRpb25dLnB1c2godGhpcy5kaXJlY3RvcnlOdW1iZXIpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGF0YVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwidGhpcy5hdmFpbGFibGVOdW1iZXJzPy5sZW5ndGhcIiBjbGFzcz1cInVzZXItY2FsbGluZy1leHRlbnNpb25cIj5cbiAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgPG1hdC1zZWxlY3QgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIiBuYW1lPVwiZXh0ZW5zaW9uXCJcbiAgICAgICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cInRoaXMub25DaGFuZ2VGaWVsZCgkZXZlbnQpXCI+XG4gICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHRoaXMuYXZhaWxhYmxlTnVtYmVyczsgbGV0IGkgPSBpbmRleDtcIlt2YWx1ZV09XCJvcHRpb25cIj57e29wdGlvbn19PC9tYXQtb3B0aW9uPlxuICAgIDwvbWF0LXNlbGVjdD5cbiAgPC9tYXQtZm9ybS1maWVsZD5cblxuICA8bWF0LXNwaW5uZXIgKm5nSWY9XCJ0aGlzLmRhdGFQZW5kaW5nXCIgW2RpYW1ldGVyXT1cIjUwXCI+PC9tYXQtc3Bpbm5lcj5cbjwvZGl2PlxuIl19
@@ -14,10 +14,10 @@ export class UserInfoComponent {
14
14
  }
15
15
  }
16
16
  UserInfoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
- UserInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UserInfoComponent, selector: "app-user-info", inputs: { name: "name", active: "active", email: "email", position: "position", cucmid: "cucmid" }, ngImport: i0, template: "<div\r\n style=\"\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n background-color: white;\r\n \"\r\n>\r\n <!-- <div class=\"content-box\"> -->\r\n <div class=\"info-holder\">\r\n <div class=\"info-holder__user-image\">\r\n <i class=\"icon-people-regular\"></i>\r\n </div>\r\n <div class=\"info-holder__user-information\">\r\n <div class=\"info-holder__user-name\">\r\n {{ name }}\r\n <ng-container *ngIf=\"webexUUID\">\r\n <span\r\n [matTooltip]=\"'Webex Calling'\"\r\n matTooltipPosition=\"right\"\r\n style=\"\r\n display: inline-flex;\r\n margin-left: 8px;\r\n vertical-align: middle;\r\n \"\r\n >\r\n <img src=\"assets/icons/webex.svg\" width=\"20\" alt=\"\" />\r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"!webexUUID\">\r\n <span\r\n *ngIf=\"cucmid == ON_PREM_ID\"\r\n [matTooltip]=\"'UCM'\"\r\n matTooltipPosition=\"right\"\r\n style=\"\r\n display: inline-flex;\r\n margin-left: 8px;\r\n vertical-align: middle;\r\n \"\r\n >\r\n <img src=\"assets/icons/local_24.svg\" width=\"20\" alt=\"\" />\r\n </span>\r\n <span\r\n *ngIf=\"cucmid != ON_PREM_ID\"\r\n [matTooltip]=\"'Webex Calling DI'\"\r\n matTooltipPosition=\"right\"\r\n style=\"\r\n display: inline-flex;\r\n margin-left: 8px;\r\n vertical-align: middle;\r\n \"\r\n >\r\n <img src=\"assets/icons/di_cloud_24.svg\" width=\"20\" alt=\"\" />\r\n </span>\r\n </ng-container>\r\n </div>\r\n <div class=\"info-holder__user-breadcrumbs\">\r\n <div class=\"is-active\" *ngIf=\"active; else notActive\">\r\n <span class=\"icon-user-status icon-user-status-active\"></span>Active\r\n </div>\r\n <div class=\"icon-text-wrapper\">\r\n <div class=\"icon-separator\"></div>\r\n <div class=\"email\">{{ email }}</div>\r\n </div>\r\n <div class=\"icon-text-wrapper\">\r\n <div class=\"icon-separator\"></div>\r\n <div class=\"position\">{{ position }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"action-btn-wrapper\">\r\n <button disabled style=\"opacity: 0.5; cursor: not-allowed\">\r\n <span>Actions</span>\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"12\"\r\n height=\"14\"\r\n viewBox=\"0 0 32 32\"\r\n style=\"vertical-align: middle\"\r\n >\r\n <path\r\n d=\"M28.708 9.293a1 1 0 0 0-1.415 0L16 20.586 4.707 9.293a1 1 0 0 0-1.414 1.414l12 12a1 1 0 0 0 1.414 0l12-12a1 1 0 0 0 0-1.414\"\r\n fill=\"currentColor\"\r\n />\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n <!-- </div> -->\r\n</div>\r\n\r\n<ng-template #notActive>\r\n <div class=\"is-active\">\r\n <svg\r\n width=\"8\"\r\n height=\"9\"\r\n viewBox=\"0 0 8 9\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M4 8.5C6.20914 8.5 8 6.70914 8 4.5C8 2.29086 6.20914 0.5 4 0.5C1.79086 0.5 0 2.29086 0 4.5C0 6.70914 1.79086 8.5 4 8.5Z\"\r\n fill=\"grey\"\r\n />\r\n </svg>\r\n <div>Not active</div>\r\n </div>\r\n</ng-template>\r\n", styles: [".info-holder{display:flex;gap:.75rem;align-items:center;font-family:Inter,sans-serif;height:102px;width:100%;background:white;padding:0 4.375rem;font-family:poppins,sans-serif}.info-holder__user-image img{width:40px;border-radius:120px;margin:20px 0 0}.info-holder__user-information{gap:10px;display:flex;flex-direction:column}.info-holder__user-name{font-size:20px;font-weight:600}.info-holder__user-breadcrumbs{display:flex;gap:8px;font-weight:400;font-size:14px;color:#000000b3;align-items:center}.info-holder .is-active,.info-holder .icon-text-wrapper{display:flex;gap:.5rem;align-items:center}.info-holder .icon-text-wrapper .icon-separator{flex-shrink:0;border-radius:50%;background-color:#000000bf;inline-size:.25rem;block-size:.25rem;margin-inline-end:.25rem}.info-holder .info-holder__user-image{width:40px;height:40px}.info-holder .info-holder__user-image .icon-people-regular{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2232%22 height%3D%2232%22 viewBox%3D%220 0 32 32%22%3E%3Cpath d%3D%22M23.23 16.757a5.746 5.746 0 1 0-7.041-9.048 5 5 0 0 0 .071-.705 4.75 4.75 0 1 0-7.705 3.689 8.43 8.43 0 0 0-6.305 7.84c0 1.052.543 2.521 3.13 3.55 1.643.595 3.371.92 5.118.965a7.8 7.8 0 0 0-.248 1.926c0 1.1.57 2.636 3.285 3.716a18.1 18.1 0 0 0 6.463 1.06c4.853 0 9.75-1.476 9.75-4.776a8.86 8.86 0 0 0-6.517-8.217M20 7.755a4.25 4.25 0 0 1 .006 8.499h-.013a4.25 4.25 0 0 1 .007-8.5M8.26 7.004a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0m2.76 14.574c-4.177-.093-7.27-1.368-7.27-3.045 0-3.737 3.478-6.778 7.752-6.778a8.7 8.7 0 0 1 2.757.45 5.75 5.75 0 0 0 2.508 4.552 9.43 9.43 0 0 0-5.747 4.82m8.978 6.672c-4.703 0-8.249-1.408-8.249-3.276 0-3.982 3.7-7.22 8.25-7.22s8.248 3.238 8.248 7.22c0 1.868-3.546 3.276-8.25 3.276%22%2F%3E%3C%2Fsvg%3E\");background-repeat:no-repeat;background-position:center;height:40px;width:40px;display:block;background-size:contain}.icon-user-status{width:.5rem;height:.5rem;border-radius:50%;background-color:#707070}.icon-user-status.icon-user-status-active{background-color:#1d805f;display:inline-block}.action-btn-wrapper{flex:1;display:flex;align-items:center;justify-content:flex-end}.action-btn-wrapper button{background-color:#000000f2;color:#fffffff2;position:relative;display:inline-flex;gap:6px;align-items:center;justify-content:center;overflow:hidden!important;padding:8px .75rem;border:1px solid transparent;border-radius:6.25rem;font-weight:500;font-size:14px;text-overflow:ellipsis;white-space:nowrap;transition:all .1s cubic-bezier(.25,.1,.25,1);inline-size:min-content;max-inline-size:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
17
+ UserInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UserInfoComponent, selector: "app-user-info", inputs: { name: "name", active: "active", email: "email", position: "position", cucmid: "cucmid" }, ngImport: i0, template: "<div\n style=\"\n display: flex;\n align-items: center;\n justify-content: space-between;\n background-color: white;\n \"\n>\n <!-- <div class=\"content-box\"> -->\n <div class=\"info-holder\">\n <div class=\"info-holder__user-image\">\n <i class=\"icon-people-regular\"></i>\n </div>\n <div class=\"info-holder__user-information\">\n <div class=\"info-holder__user-name\">\n {{ name }}\n <ng-container *ngIf=\"webexUUID\">\n <span\n [matTooltip]=\"'Webex Calling'\"\n matTooltipPosition=\"right\"\n style=\"\n display: inline-flex;\n margin-left: 8px;\n vertical-align: middle;\n \"\n >\n <img src=\"assets/icons/webex.svg\" width=\"20\" alt=\"\" />\n </span>\n </ng-container>\n <ng-container *ngIf=\"!webexUUID\">\n <span\n *ngIf=\"cucmid == ON_PREM_ID\"\n [matTooltip]=\"'UCM'\"\n matTooltipPosition=\"right\"\n style=\"\n display: inline-flex;\n margin-left: 8px;\n vertical-align: middle;\n \"\n >\n <img src=\"assets/icons/local_24.svg\" width=\"20\" alt=\"\" />\n </span>\n <span\n *ngIf=\"cucmid != ON_PREM_ID\"\n [matTooltip]=\"'Webex Calling DI'\"\n matTooltipPosition=\"right\"\n style=\"\n display: inline-flex;\n margin-left: 8px;\n vertical-align: middle;\n \"\n >\n <img src=\"assets/icons/di_cloud_24.svg\" width=\"20\" alt=\"\" />\n </span>\n </ng-container>\n </div>\n <div class=\"info-holder__user-breadcrumbs\">\n <div class=\"is-active\" *ngIf=\"active; else notActive\">\n <span class=\"icon-user-status icon-user-status-active\"></span>Active\n </div>\n <div class=\"icon-text-wrapper\">\n <div class=\"icon-separator\"></div>\n <div class=\"email\">{{ email }}</div>\n </div>\n <div class=\"icon-text-wrapper\">\n <div class=\"icon-separator\"></div>\n <div class=\"position\">{{ position }}</div>\n </div>\n </div>\n </div>\n <div class=\"action-btn-wrapper\">\n <button disabled style=\"opacity: 0.5; cursor: not-allowed\">\n <span>Actions</span>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"14\"\n viewBox=\"0 0 32 32\"\n style=\"vertical-align: middle\"\n >\n <path\n d=\"M28.708 9.293a1 1 0 0 0-1.415 0L16 20.586 4.707 9.293a1 1 0 0 0-1.414 1.414l12 12a1 1 0 0 0 1.414 0l12-12a1 1 0 0 0 0-1.414\"\n fill=\"currentColor\"\n />\n </svg>\n </button>\n </div>\n </div>\n <!-- </div> -->\n</div>\n\n<ng-template #notActive>\n <div class=\"is-active\">\n <svg\n width=\"8\"\n height=\"9\"\n viewBox=\"0 0 8 9\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4 8.5C6.20914 8.5 8 6.70914 8 4.5C8 2.29086 6.20914 0.5 4 0.5C1.79086 0.5 0 2.29086 0 4.5C0 6.70914 1.79086 8.5 4 8.5Z\"\n fill=\"grey\"\n />\n </svg>\n <div>Not active</div>\n </div>\n</ng-template>\n", styles: [".info-holder{display:flex;gap:.75rem;align-items:center;font-family:Inter,sans-serif;height:102px;width:100%;background:white;padding:0 4.375rem;font-family:poppins,sans-serif}.info-holder__user-image img{width:40px;border-radius:120px;margin:20px 0 0}.info-holder__user-information{gap:10px;display:flex;flex-direction:column}.info-holder__user-name{font-size:20px;font-weight:600}.info-holder__user-breadcrumbs{display:flex;gap:8px;font-weight:400;font-size:14px;color:#000000b3;align-items:center}.info-holder .is-active,.info-holder .icon-text-wrapper{display:flex;gap:.5rem;align-items:center}.info-holder .icon-text-wrapper .icon-separator{flex-shrink:0;border-radius:50%;background-color:#000000bf;inline-size:.25rem;block-size:.25rem;margin-inline-end:.25rem}.info-holder .info-holder__user-image{width:40px;height:40px}.info-holder .info-holder__user-image .icon-people-regular{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2232%22 height%3D%2232%22 viewBox%3D%220 0 32 32%22%3E%3Cpath d%3D%22M23.23 16.757a5.746 5.746 0 1 0-7.041-9.048 5 5 0 0 0 .071-.705 4.75 4.75 0 1 0-7.705 3.689 8.43 8.43 0 0 0-6.305 7.84c0 1.052.543 2.521 3.13 3.55 1.643.595 3.371.92 5.118.965a7.8 7.8 0 0 0-.248 1.926c0 1.1.57 2.636 3.285 3.716a18.1 18.1 0 0 0 6.463 1.06c4.853 0 9.75-1.476 9.75-4.776a8.86 8.86 0 0 0-6.517-8.217M20 7.755a4.25 4.25 0 0 1 .006 8.499h-.013a4.25 4.25 0 0 1 .007-8.5M8.26 7.004a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0m2.76 14.574c-4.177-.093-7.27-1.368-7.27-3.045 0-3.737 3.478-6.778 7.752-6.778a8.7 8.7 0 0 1 2.757.45 5.75 5.75 0 0 0 2.508 4.552 9.43 9.43 0 0 0-5.747 4.82m8.978 6.672c-4.703 0-8.249-1.408-8.249-3.276 0-3.982 3.7-7.22 8.25-7.22s8.248 3.238 8.248 7.22c0 1.868-3.546 3.276-8.25 3.276%22%2F%3E%3C%2Fsvg%3E\");background-repeat:no-repeat;background-position:center;height:40px;width:40px;display:block;background-size:contain}.icon-user-status{width:.5rem;height:.5rem;border-radius:50%;background-color:#707070}.icon-user-status.icon-user-status-active{background-color:#1d805f;display:inline-block}.action-btn-wrapper{flex:1;display:flex;align-items:center;justify-content:flex-end}.action-btn-wrapper button{background-color:#000000f2;color:#fffffff2;position:relative;display:inline-flex;gap:6px;align-items:center;justify-content:center;overflow:hidden!important;padding:8px .75rem;border:1px solid transparent;border-radius:6.25rem;font-weight:500;font-size:14px;text-overflow:ellipsis;white-space:nowrap;transition:all .1s cubic-bezier(.25,.1,.25,1);inline-size:min-content;max-inline-size:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
18
18
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserInfoComponent, decorators: [{
19
19
  type: Component,
20
- args: [{ selector: 'app-user-info', template: "<div\r\n style=\"\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n background-color: white;\r\n \"\r\n>\r\n <!-- <div class=\"content-box\"> -->\r\n <div class=\"info-holder\">\r\n <div class=\"info-holder__user-image\">\r\n <i class=\"icon-people-regular\"></i>\r\n </div>\r\n <div class=\"info-holder__user-information\">\r\n <div class=\"info-holder__user-name\">\r\n {{ name }}\r\n <ng-container *ngIf=\"webexUUID\">\r\n <span\r\n [matTooltip]=\"'Webex Calling'\"\r\n matTooltipPosition=\"right\"\r\n style=\"\r\n display: inline-flex;\r\n margin-left: 8px;\r\n vertical-align: middle;\r\n \"\r\n >\r\n <img src=\"assets/icons/webex.svg\" width=\"20\" alt=\"\" />\r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"!webexUUID\">\r\n <span\r\n *ngIf=\"cucmid == ON_PREM_ID\"\r\n [matTooltip]=\"'UCM'\"\r\n matTooltipPosition=\"right\"\r\n style=\"\r\n display: inline-flex;\r\n margin-left: 8px;\r\n vertical-align: middle;\r\n \"\r\n >\r\n <img src=\"assets/icons/local_24.svg\" width=\"20\" alt=\"\" />\r\n </span>\r\n <span\r\n *ngIf=\"cucmid != ON_PREM_ID\"\r\n [matTooltip]=\"'Webex Calling DI'\"\r\n matTooltipPosition=\"right\"\r\n style=\"\r\n display: inline-flex;\r\n margin-left: 8px;\r\n vertical-align: middle;\r\n \"\r\n >\r\n <img src=\"assets/icons/di_cloud_24.svg\" width=\"20\" alt=\"\" />\r\n </span>\r\n </ng-container>\r\n </div>\r\n <div class=\"info-holder__user-breadcrumbs\">\r\n <div class=\"is-active\" *ngIf=\"active; else notActive\">\r\n <span class=\"icon-user-status icon-user-status-active\"></span>Active\r\n </div>\r\n <div class=\"icon-text-wrapper\">\r\n <div class=\"icon-separator\"></div>\r\n <div class=\"email\">{{ email }}</div>\r\n </div>\r\n <div class=\"icon-text-wrapper\">\r\n <div class=\"icon-separator\"></div>\r\n <div class=\"position\">{{ position }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"action-btn-wrapper\">\r\n <button disabled style=\"opacity: 0.5; cursor: not-allowed\">\r\n <span>Actions</span>\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"12\"\r\n height=\"14\"\r\n viewBox=\"0 0 32 32\"\r\n style=\"vertical-align: middle\"\r\n >\r\n <path\r\n d=\"M28.708 9.293a1 1 0 0 0-1.415 0L16 20.586 4.707 9.293a1 1 0 0 0-1.414 1.414l12 12a1 1 0 0 0 1.414 0l12-12a1 1 0 0 0 0-1.414\"\r\n fill=\"currentColor\"\r\n />\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n <!-- </div> -->\r\n</div>\r\n\r\n<ng-template #notActive>\r\n <div class=\"is-active\">\r\n <svg\r\n width=\"8\"\r\n height=\"9\"\r\n viewBox=\"0 0 8 9\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M4 8.5C6.20914 8.5 8 6.70914 8 4.5C8 2.29086 6.20914 0.5 4 0.5C1.79086 0.5 0 2.29086 0 4.5C0 6.70914 1.79086 8.5 4 8.5Z\"\r\n fill=\"grey\"\r\n />\r\n </svg>\r\n <div>Not active</div>\r\n </div>\r\n</ng-template>\r\n", styles: [".info-holder{display:flex;gap:.75rem;align-items:center;font-family:Inter,sans-serif;height:102px;width:100%;background:white;padding:0 4.375rem;font-family:poppins,sans-serif}.info-holder__user-image img{width:40px;border-radius:120px;margin:20px 0 0}.info-holder__user-information{gap:10px;display:flex;flex-direction:column}.info-holder__user-name{font-size:20px;font-weight:600}.info-holder__user-breadcrumbs{display:flex;gap:8px;font-weight:400;font-size:14px;color:#000000b3;align-items:center}.info-holder .is-active,.info-holder .icon-text-wrapper{display:flex;gap:.5rem;align-items:center}.info-holder .icon-text-wrapper .icon-separator{flex-shrink:0;border-radius:50%;background-color:#000000bf;inline-size:.25rem;block-size:.25rem;margin-inline-end:.25rem}.info-holder .info-holder__user-image{width:40px;height:40px}.info-holder .info-holder__user-image .icon-people-regular{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2232%22 height%3D%2232%22 viewBox%3D%220 0 32 32%22%3E%3Cpath d%3D%22M23.23 16.757a5.746 5.746 0 1 0-7.041-9.048 5 5 0 0 0 .071-.705 4.75 4.75 0 1 0-7.705 3.689 8.43 8.43 0 0 0-6.305 7.84c0 1.052.543 2.521 3.13 3.55 1.643.595 3.371.92 5.118.965a7.8 7.8 0 0 0-.248 1.926c0 1.1.57 2.636 3.285 3.716a18.1 18.1 0 0 0 6.463 1.06c4.853 0 9.75-1.476 9.75-4.776a8.86 8.86 0 0 0-6.517-8.217M20 7.755a4.25 4.25 0 0 1 .006 8.499h-.013a4.25 4.25 0 0 1 .007-8.5M8.26 7.004a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0m2.76 14.574c-4.177-.093-7.27-1.368-7.27-3.045 0-3.737 3.478-6.778 7.752-6.778a8.7 8.7 0 0 1 2.757.45 5.75 5.75 0 0 0 2.508 4.552 9.43 9.43 0 0 0-5.747 4.82m8.978 6.672c-4.703 0-8.249-1.408-8.249-3.276 0-3.982 3.7-7.22 8.25-7.22s8.248 3.238 8.248 7.22c0 1.868-3.546 3.276-8.25 3.276%22%2F%3E%3C%2Fsvg%3E\");background-repeat:no-repeat;background-position:center;height:40px;width:40px;display:block;background-size:contain}.icon-user-status{width:.5rem;height:.5rem;border-radius:50%;background-color:#707070}.icon-user-status.icon-user-status-active{background-color:#1d805f;display:inline-block}.action-btn-wrapper{flex:1;display:flex;align-items:center;justify-content:flex-end}.action-btn-wrapper button{background-color:#000000f2;color:#fffffff2;position:relative;display:inline-flex;gap:6px;align-items:center;justify-content:center;overflow:hidden!important;padding:8px .75rem;border:1px solid transparent;border-radius:6.25rem;font-weight:500;font-size:14px;text-overflow:ellipsis;white-space:nowrap;transition:all .1s cubic-bezier(.25,.1,.25,1);inline-size:min-content;max-inline-size:100%}\n"] }]
20
+ args: [{ selector: 'app-user-info', template: "<div\n style=\"\n display: flex;\n align-items: center;\n justify-content: space-between;\n background-color: white;\n \"\n>\n <!-- <div class=\"content-box\"> -->\n <div class=\"info-holder\">\n <div class=\"info-holder__user-image\">\n <i class=\"icon-people-regular\"></i>\n </div>\n <div class=\"info-holder__user-information\">\n <div class=\"info-holder__user-name\">\n {{ name }}\n <ng-container *ngIf=\"webexUUID\">\n <span\n [matTooltip]=\"'Webex Calling'\"\n matTooltipPosition=\"right\"\n style=\"\n display: inline-flex;\n margin-left: 8px;\n vertical-align: middle;\n \"\n >\n <img src=\"assets/icons/webex.svg\" width=\"20\" alt=\"\" />\n </span>\n </ng-container>\n <ng-container *ngIf=\"!webexUUID\">\n <span\n *ngIf=\"cucmid == ON_PREM_ID\"\n [matTooltip]=\"'UCM'\"\n matTooltipPosition=\"right\"\n style=\"\n display: inline-flex;\n margin-left: 8px;\n vertical-align: middle;\n \"\n >\n <img src=\"assets/icons/local_24.svg\" width=\"20\" alt=\"\" />\n </span>\n <span\n *ngIf=\"cucmid != ON_PREM_ID\"\n [matTooltip]=\"'Webex Calling DI'\"\n matTooltipPosition=\"right\"\n style=\"\n display: inline-flex;\n margin-left: 8px;\n vertical-align: middle;\n \"\n >\n <img src=\"assets/icons/di_cloud_24.svg\" width=\"20\" alt=\"\" />\n </span>\n </ng-container>\n </div>\n <div class=\"info-holder__user-breadcrumbs\">\n <div class=\"is-active\" *ngIf=\"active; else notActive\">\n <span class=\"icon-user-status icon-user-status-active\"></span>Active\n </div>\n <div class=\"icon-text-wrapper\">\n <div class=\"icon-separator\"></div>\n <div class=\"email\">{{ email }}</div>\n </div>\n <div class=\"icon-text-wrapper\">\n <div class=\"icon-separator\"></div>\n <div class=\"position\">{{ position }}</div>\n </div>\n </div>\n </div>\n <div class=\"action-btn-wrapper\">\n <button disabled style=\"opacity: 0.5; cursor: not-allowed\">\n <span>Actions</span>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"14\"\n viewBox=\"0 0 32 32\"\n style=\"vertical-align: middle\"\n >\n <path\n d=\"M28.708 9.293a1 1 0 0 0-1.415 0L16 20.586 4.707 9.293a1 1 0 0 0-1.414 1.414l12 12a1 1 0 0 0 1.414 0l12-12a1 1 0 0 0 0-1.414\"\n fill=\"currentColor\"\n />\n </svg>\n </button>\n </div>\n </div>\n <!-- </div> -->\n</div>\n\n<ng-template #notActive>\n <div class=\"is-active\">\n <svg\n width=\"8\"\n height=\"9\"\n viewBox=\"0 0 8 9\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4 8.5C6.20914 8.5 8 6.70914 8 4.5C8 2.29086 6.20914 0.5 4 0.5C1.79086 0.5 0 2.29086 0 4.5C0 6.70914 1.79086 8.5 4 8.5Z\"\n fill=\"grey\"\n />\n </svg>\n <div>Not active</div>\n </div>\n</ng-template>\n", styles: [".info-holder{display:flex;gap:.75rem;align-items:center;font-family:Inter,sans-serif;height:102px;width:100%;background:white;padding:0 4.375rem;font-family:poppins,sans-serif}.info-holder__user-image img{width:40px;border-radius:120px;margin:20px 0 0}.info-holder__user-information{gap:10px;display:flex;flex-direction:column}.info-holder__user-name{font-size:20px;font-weight:600}.info-holder__user-breadcrumbs{display:flex;gap:8px;font-weight:400;font-size:14px;color:#000000b3;align-items:center}.info-holder .is-active,.info-holder .icon-text-wrapper{display:flex;gap:.5rem;align-items:center}.info-holder .icon-text-wrapper .icon-separator{flex-shrink:0;border-radius:50%;background-color:#000000bf;inline-size:.25rem;block-size:.25rem;margin-inline-end:.25rem}.info-holder .info-holder__user-image{width:40px;height:40px}.info-holder .info-holder__user-image .icon-people-regular{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2232%22 height%3D%2232%22 viewBox%3D%220 0 32 32%22%3E%3Cpath d%3D%22M23.23 16.757a5.746 5.746 0 1 0-7.041-9.048 5 5 0 0 0 .071-.705 4.75 4.75 0 1 0-7.705 3.689 8.43 8.43 0 0 0-6.305 7.84c0 1.052.543 2.521 3.13 3.55 1.643.595 3.371.92 5.118.965a7.8 7.8 0 0 0-.248 1.926c0 1.1.57 2.636 3.285 3.716a18.1 18.1 0 0 0 6.463 1.06c4.853 0 9.75-1.476 9.75-4.776a8.86 8.86 0 0 0-6.517-8.217M20 7.755a4.25 4.25 0 0 1 .006 8.499h-.013a4.25 4.25 0 0 1 .007-8.5M8.26 7.004a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0m2.76 14.574c-4.177-.093-7.27-1.368-7.27-3.045 0-3.737 3.478-6.778 7.752-6.778a8.7 8.7 0 0 1 2.757.45 5.75 5.75 0 0 0 2.508 4.552 9.43 9.43 0 0 0-5.747 4.82m8.978 6.672c-4.703 0-8.249-1.408-8.249-3.276 0-3.982 3.7-7.22 8.25-7.22s8.248 3.238 8.248 7.22c0 1.868-3.546 3.276-8.25 3.276%22%2F%3E%3C%2Fsvg%3E\");background-repeat:no-repeat;background-position:center;height:40px;width:40px;display:block;background-size:contain}.icon-user-status{width:.5rem;height:.5rem;border-radius:50%;background-color:#707070}.icon-user-status.icon-user-status-active{background-color:#1d805f;display:inline-block}.action-btn-wrapper{flex:1;display:flex;align-items:center;justify-content:flex-end}.action-btn-wrapper button{background-color:#000000f2;color:#fffffff2;position:relative;display:inline-flex;gap:6px;align-items:center;justify-content:center;overflow:hidden!important;padding:8px .75rem;border:1px solid transparent;border-radius:6.25rem;font-weight:500;font-size:14px;text-overflow:ellipsis;white-space:nowrap;transition:all .1s cubic-bezier(.25,.1,.25,1);inline-size:min-content;max-inline-size:100%}\n"] }]
21
21
  }], propDecorators: { name: [{
22
22
  type: Input
23
23
  }], active: [{
@@ -29,4 +29,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
29
29
  }], cucmid: [{
30
30
  type: Input
31
31
  }] } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1pbmZvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLW1hbmFnZS9zcmMvdXNlci1pbmZvL3VzZXItaW5mby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1tYW5hZ2Uvc3JjL3VzZXItaW5mby91c2VyLWluZm8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFPakQsTUFBTSxPQUFPLGlCQUFpQjtJQUw5QjtRQWdCRSxXQUFXO1FBQ1gsc0JBQXNCO1FBRU4sZUFBVSxHQUFHLElBQUksQ0FBQztLQU1uQztJQUpDLElBQUksU0FBUztRQUNYLE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDL0MsT0FBTyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN2QyxDQUFDOzsrR0FuQlUsaUJBQWlCO21HQUFqQixpQkFBaUIseUpDUDlCLDRsSEE4R0E7NEZEdkdhLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxlQUFlOzhCQU16QixJQUFJO3NCQURILEtBQUs7Z0JBR04sTUFBTTtzQkFETCxLQUFLO2dCQUdOLEtBQUs7c0JBREosS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBR04sTUFBTTtzQkFETCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtdXNlci1pbmZvJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdXNlci1pbmZvLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi91c2VyLWluZm8uY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXNlckluZm9Db21wb25lbnQge1xyXG4gIEBJbnB1dCgpXHJcbiAgbmFtZSE6IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIGFjdGl2ZSE6IGJvb2xlYW47XHJcbiAgQElucHV0KClcclxuICBlbWFpbCE6IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIHBvc2l0aW9uITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgY3VjbWlkITogbnVtYmVyO1xyXG4gIC8vIEBJbnB1dCgpXHJcbiAgLy8gd2ViZXhVVUlEITogc3RyaW5nO1xyXG5cclxuICBwdWJsaWMgcmVhZG9ubHkgT05fUFJFTV9JRCA9IDI1NDI7XHJcblxyXG4gIGdldCB3ZWJleFVVSUQoKSB7XHJcbiAgICBjb25zdCB1dWlkID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3dlYmV4VVVJRCcpO1xyXG4gICAgcmV0dXJuIHV1aWQgPT09ICdudWxsJyA/IG51bGwgOiB1dWlkO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgc3R5bGU9XCJcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgXCJcclxuPlxyXG4gIDwhLS0gPGRpdiBjbGFzcz1cImNvbnRlbnQtYm94XCI+IC0tPlxyXG4gIDxkaXYgY2xhc3M9XCJpbmZvLWhvbGRlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImluZm8taG9sZGVyX191c2VyLWltYWdlXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwiaWNvbi1wZW9wbGUtcmVndWxhclwiPjwvaT5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImluZm8taG9sZGVyX191c2VyLWluZm9ybWF0aW9uXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWhvbGRlcl9fdXNlci1uYW1lXCI+XHJcbiAgICAgICAge3sgbmFtZSB9fVxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ3ZWJleFVVSURcIj5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIidXZWJleCBDYWxsaW5nJ1wiXHJcbiAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCJcclxuICAgICAgICAgICAgc3R5bGU9XCJcclxuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xyXG4gICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxpbWcgc3JjPVwiYXNzZXRzL2ljb25zL3dlYmV4LnN2Z1wiIHdpZHRoPVwiMjBcIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhd2ViZXhVVUlEXCI+XHJcbiAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAqbmdJZj1cImN1Y21pZCA9PSBPTl9QUkVNX0lEXCJcclxuICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiJ1VDTSdcIlxyXG4gICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJyaWdodFwiXHJcbiAgICAgICAgICAgIHN0eWxlPVwiXHJcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcclxuICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8aW1nIHNyYz1cImFzc2V0cy9pY29ucy9sb2NhbF8yNC5zdmdcIiB3aWR0aD1cIjIwXCIgYWx0PVwiXCIgLz5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICpuZ0lmPVwiY3VjbWlkICE9IE9OX1BSRU1fSURcIlxyXG4gICAgICAgICAgICBbbWF0VG9vbHRpcF09XCInV2ViZXggQ2FsbGluZyBESSdcIlxyXG4gICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJyaWdodFwiXHJcbiAgICAgICAgICAgIHN0eWxlPVwiXHJcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcclxuICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8aW1nIHNyYz1cImFzc2V0cy9pY29ucy9kaV9jbG91ZF8yNC5zdmdcIiB3aWR0aD1cIjIwXCIgYWx0PVwiXCIgLz5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWhvbGRlcl9fdXNlci1icmVhZGNydW1ic1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpcy1hY3RpdmVcIiAqbmdJZj1cImFjdGl2ZTsgZWxzZSBub3RBY3RpdmVcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvbi11c2VyLXN0YXR1cyBpY29uLXVzZXItc3RhdHVzLWFjdGl2ZVwiPjwvc3Bhbj5BY3RpdmVcclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi10ZXh0LXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLXNlcGFyYXRvclwiPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVtYWlsXCI+e3sgZW1haWwgfX08L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi10ZXh0LXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLXNlcGFyYXRvclwiPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBvc2l0aW9uXCI+e3sgcG9zaXRpb24gfX08L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJhY3Rpb24tYnRuLXdyYXBwZXJcIj5cclxuICAgICAgPGJ1dHRvbiBkaXNhYmxlZCBzdHlsZT1cIm9wYWNpdHk6IDAuNTsgY3Vyc29yOiBub3QtYWxsb3dlZFwiPlxyXG4gICAgICAgIDxzcGFuPkFjdGlvbnM8L3NwYW4+XHJcbiAgICAgICAgPHN2Z1xyXG4gICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICB3aWR0aD1cIjEyXCJcclxuICAgICAgICAgIGhlaWdodD1cIjE0XCJcclxuICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMzIgMzJcIlxyXG4gICAgICAgICAgc3R5bGU9XCJ2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICBkPVwiTTI4LjcwOCA5LjI5M2ExIDEgMCAwIDAtMS40MTUgMEwxNiAyMC41ODYgNC43MDcgOS4yOTNhMSAxIDAgMCAwLTEuNDE0IDEuNDE0bDEyIDEyYTEgMSAwIDAgMCAxLjQxNCAwbDEyLTEyYTEgMSAwIDAgMCAwLTEuNDE0XCJcclxuICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvc3ZnPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDwhLS0gPC9kaXY+IC0tPlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjbm90QWN0aXZlPlxyXG4gIDxkaXYgY2xhc3M9XCJpcy1hY3RpdmVcIj5cclxuICAgIDxzdmdcclxuICAgICAgd2lkdGg9XCI4XCJcclxuICAgICAgaGVpZ2h0PVwiOVwiXHJcbiAgICAgIHZpZXdCb3g9XCIwIDAgOCA5XCJcclxuICAgICAgZmlsbD1cIm5vbmVcIlxyXG4gICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgID5cclxuICAgICAgPHBhdGhcclxuICAgICAgICBmaWxsLXJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICBjbGlwLXJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICBkPVwiTTQgOC41QzYuMjA5MTQgOC41IDggNi43MDkxNCA4IDQuNUM4IDIuMjkwODYgNi4yMDkxNCAwLjUgNCAwLjVDMS43OTA4NiAwLjUgMCAyLjI5MDg2IDAgNC41QzAgNi43MDkxNCAxLjc5MDg2IDguNSA0IDguNVpcIlxyXG4gICAgICAgIGZpbGw9XCJncmV5XCJcclxuICAgICAgLz5cclxuICAgIDwvc3ZnPlxyXG4gICAgPGRpdj5Ob3QgYWN0aXZlPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1pbmZvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLW1hbmFnZS9zcmMvdXNlci1pbmZvL3VzZXItaW5mby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1tYW5hZ2Uvc3JjL3VzZXItaW5mby91c2VyLWluZm8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFPakQsTUFBTSxPQUFPLGlCQUFpQjtJQUw5QjtRQWdCRSxXQUFXO1FBQ1gsc0JBQXNCO1FBRU4sZUFBVSxHQUFHLElBQUksQ0FBQztLQU1uQztJQUpDLElBQUksU0FBUztRQUNYLE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDL0MsT0FBTyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN2QyxDQUFDOzsrR0FuQlUsaUJBQWlCO21HQUFqQixpQkFBaUIseUpDUDlCLGc0R0E4R0E7NEZEdkdhLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxlQUFlOzhCQU16QixJQUFJO3NCQURILEtBQUs7Z0JBR04sTUFBTTtzQkFETCxLQUFLO2dCQUdOLEtBQUs7c0JBREosS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBR04sTUFBTTtzQkFETCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtdXNlci1pbmZvJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdXNlci1pbmZvLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi91c2VyLWluZm8uY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXNlckluZm9Db21wb25lbnQge1xyXG4gIEBJbnB1dCgpXHJcbiAgbmFtZSE6IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIGFjdGl2ZSE6IGJvb2xlYW47XHJcbiAgQElucHV0KClcclxuICBlbWFpbCE6IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIHBvc2l0aW9uITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgY3VjbWlkITogbnVtYmVyO1xyXG4gIC8vIEBJbnB1dCgpXHJcbiAgLy8gd2ViZXhVVUlEITogc3RyaW5nO1xyXG5cclxuICBwdWJsaWMgcmVhZG9ubHkgT05fUFJFTV9JRCA9IDI1NDI7XHJcblxyXG4gIGdldCB3ZWJleFVVSUQoKSB7XHJcbiAgICBjb25zdCB1dWlkID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3dlYmV4VVVJRCcpO1xyXG4gICAgcmV0dXJuIHV1aWQgPT09ICdudWxsJyA/IG51bGwgOiB1dWlkO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XG4gIHN0eWxlPVwiXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgXCJcbj5cbiAgPCEtLSA8ZGl2IGNsYXNzPVwiY29udGVudC1ib3hcIj4gLS0+XG4gIDxkaXYgY2xhc3M9XCJpbmZvLWhvbGRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJpbmZvLWhvbGRlcl9fdXNlci1pbWFnZVwiPlxuICAgICAgPGkgY2xhc3M9XCJpY29uLXBlb3BsZS1yZWd1bGFyXCI+PC9pPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJpbmZvLWhvbGRlcl9fdXNlci1pbmZvcm1hdGlvblwiPlxuICAgICAgPGRpdiBjbGFzcz1cImluZm8taG9sZGVyX191c2VyLW5hbWVcIj5cbiAgICAgICAge3sgbmFtZSB9fVxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwid2ViZXhVVUlEXCI+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIidXZWJleCBDYWxsaW5nJ1wiXG4gICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJyaWdodFwiXG4gICAgICAgICAgICBzdHlsZT1cIlxuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvaWNvbnMvd2ViZXguc3ZnXCIgd2lkdGg9XCIyMFwiIGFsdD1cIlwiIC8+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF3ZWJleFVVSURcIj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgKm5nSWY9XCJjdWNtaWQgPT0gT05fUFJFTV9JRFwiXG4gICAgICAgICAgICBbbWF0VG9vbHRpcF09XCInVUNNJ1wiXG4gICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJyaWdodFwiXG4gICAgICAgICAgICBzdHlsZT1cIlxuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvaWNvbnMvbG9jYWxfMjQuc3ZnXCIgd2lkdGg9XCIyMFwiIGFsdD1cIlwiIC8+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAqbmdJZj1cImN1Y21pZCAhPSBPTl9QUkVNX0lEXCJcbiAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIidXZWJleCBDYWxsaW5nIERJJ1wiXG4gICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJyaWdodFwiXG4gICAgICAgICAgICBzdHlsZT1cIlxuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvaWNvbnMvZGlfY2xvdWRfMjQuc3ZnXCIgd2lkdGg9XCIyMFwiIGFsdD1cIlwiIC8+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImluZm8taG9sZGVyX191c2VyLWJyZWFkY3J1bWJzXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpcy1hY3RpdmVcIiAqbmdJZj1cImFjdGl2ZTsgZWxzZSBub3RBY3RpdmVcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImljb24tdXNlci1zdGF0dXMgaWNvbi11c2VyLXN0YXR1cy1hY3RpdmVcIj48L3NwYW4+QWN0aXZlXG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi10ZXh0LXdyYXBwZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1zZXBhcmF0b3JcIj48L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1haWxcIj57eyBlbWFpbCB9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImljb24tdGV4dC13cmFwcGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImljb24tc2VwYXJhdG9yXCI+PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBvc2l0aW9uXCI+e3sgcG9zaXRpb24gfX08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uLWJ0bi13cmFwcGVyXCI+XG4gICAgICA8YnV0dG9uIGRpc2FibGVkIHN0eWxlPVwib3BhY2l0eTogMC41OyBjdXJzb3I6IG5vdC1hbGxvd2VkXCI+XG4gICAgICAgIDxzcGFuPkFjdGlvbnM8L3NwYW4+XG4gICAgICAgIDxzdmdcbiAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICB3aWR0aD1cIjEyXCJcbiAgICAgICAgICBoZWlnaHQ9XCIxNFwiXG4gICAgICAgICAgdmlld0JveD1cIjAgMCAzMiAzMlwiXG4gICAgICAgICAgc3R5bGU9XCJ2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBkPVwiTTI4LjcwOCA5LjI5M2ExIDEgMCAwIDAtMS40MTUgMEwxNiAyMC41ODYgNC43MDcgOS4yOTNhMSAxIDAgMCAwLTEuNDE0IDEuNDE0bDEyIDEyYTEgMSAwIDAgMCAxLjQxNCAwbDEyLTEyYTEgMSAwIDAgMCAwLTEuNDE0XCJcbiAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8IS0tIDwvZGl2PiAtLT5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI25vdEFjdGl2ZT5cbiAgPGRpdiBjbGFzcz1cImlzLWFjdGl2ZVwiPlxuICAgIDxzdmdcbiAgICAgIHdpZHRoPVwiOFwiXG4gICAgICBoZWlnaHQ9XCI5XCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgOCA5XCJcbiAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgID5cbiAgICAgIDxwYXRoXG4gICAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICBjbGlwLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgZD1cIk00IDguNUM2LjIwOTE0IDguNSA4IDYuNzA5MTQgOCA0LjVDOCAyLjI5MDg2IDYuMjA5MTQgMC41IDQgMC41QzEuNzkwODYgMC41IDAgMi4yOTA4NiAwIDQuNUMwIDYuNzA5MTQgMS43OTA4NiA4LjUgNCA4LjVaXCJcbiAgICAgICAgZmlsbD1cImdyZXlcIlxuICAgICAgLz5cbiAgICA8L3N2Zz5cbiAgICA8ZGl2Pk5vdCBhY3RpdmU8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19