monkey-front-core 0.0.95 → 0.0.99

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 (208) hide show
  1. package/README.md +24 -24
  2. package/bundles/monkey-front-core.umd.js +4900 -0
  3. package/bundles/monkey-front-core.umd.js.map +1 -0
  4. package/esm2015/lib/components/closed-to-maintenance/closed-to-maintenance.component.js +35 -0
  5. package/{esm2020/lib/components/closed-to-maintenance/closed-to-maintenance.module.mjs → esm2015/lib/components/closed-to-maintenance/closed-to-maintenance.module.js} +5 -5
  6. package/{esm2020/lib/components/closed-to-maintenance/index.mjs → esm2015/lib/components/closed-to-maintenance/index.js} +1 -1
  7. package/{esm2020/lib/components/index.mjs → esm2015/lib/components/index.js} +0 -0
  8. package/{esm2020/lib/components/progress-bar/index.mjs → esm2015/lib/components/progress-bar/index.js} +1 -1
  9. package/esm2015/lib/components/progress-bar/progress-bar.component.js +29 -0
  10. package/{esm2020/lib/components/progress-bar/progress-bar.module.mjs → esm2015/lib/components/progress-bar/progress-bar.module.js} +5 -5
  11. package/esm2015/lib/components/progress-bar/progress-bar.service.js +53 -0
  12. package/{esm2020/lib/components/version-changed/index.mjs → esm2015/lib/components/version-changed/index.js} +1 -1
  13. package/esm2015/lib/components/version-changed/version-changed.component.js +29 -0
  14. package/{esm2020/lib/components/version-changed/version-changed.module.mjs → esm2015/lib/components/version-changed/version-changed.module.js} +5 -5
  15. package/{esm2020/lib/core/decorators/index.mjs → esm2015/lib/core/decorators/index.js} +1 -1
  16. package/{esm2020/lib/core/decorators/monkeyecx-charts-decorators.mjs → esm2015/lib/core/decorators/monkeyecx-charts-decorators.js} +1 -1
  17. package/esm2015/lib/core/decorators/monkeyecx-decorators.js +112 -0
  18. package/esm2015/lib/core/decorators/monkeyecx-download-decorators.js +25 -0
  19. package/esm2015/lib/core/decorators/monkeyecx-upload-decorators.js +25 -0
  20. package/{esm2020/lib/core/directives/index.mjs → esm2015/lib/core/directives/index.js} +1 -1
  21. package/{esm2020/lib/core/directives/monkeyecx-directives-module.mjs → esm2015/lib/core/directives/monkeyecx-directives-module.js} +5 -5
  22. package/esm2015/lib/core/directives/monkeyecx-drag-drop.js +57 -0
  23. package/esm2015/lib/core/directives/monkeyecx-feature-directive.js +68 -0
  24. package/{esm2020/lib/core/directives/monkeyecx-format-currency.mjs → esm2015/lib/core/directives/monkeyecx-format-currency.js} +4 -4
  25. package/esm2015/lib/core/directives/monkeyecx-format-upper.js +69 -0
  26. package/{esm2020/lib/core/directives/monkeyecx-only-alpha-numeric-directive.mjs → esm2015/lib/core/directives/monkeyecx-only-alpha-numeric-directive.js} +4 -4
  27. package/{esm2020/lib/core/directives/monkeyecx-only-number-directive.mjs → esm2015/lib/core/directives/monkeyecx-only-number-directive.js} +4 -4
  28. package/esm2015/lib/core/directives/monkeyecx-security-directive.js +69 -0
  29. package/esm2015/lib/core/directives/monkeyecx-tooltip-directive.js +124 -0
  30. package/{esm2020/lib/core/index.mjs → esm2015/lib/core/index.js} +1 -1
  31. package/{esm2020/lib/core/interceptors/index.mjs → esm2015/lib/core/interceptors/index.js} +1 -1
  32. package/esm2015/lib/core/interceptors/monkeyecx-http-config-error.interceptor.js +40 -0
  33. package/esm2015/lib/core/interceptors/monkeyecx-http-config-header.interceptor.js +33 -0
  34. package/{esm2020/lib/core/interceptors/monkeyecx-http-config-interceptor.module.mjs → esm2015/lib/core/interceptors/monkeyecx-http-config-interceptor.module.js} +5 -5
  35. package/esm2015/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.js +44 -0
  36. package/esm2015/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.js +38 -0
  37. package/esm2015/lib/core/interfaces/index.js +27 -0
  38. package/esm2015/lib/core/interfaces/monkeyecx-auth-credentials.js +2 -0
  39. package/{esm2020/lib/core/interfaces/monkeyecx-company.mjs → esm2015/lib/core/interfaces/monkeyecx-company.js} +1 -1
  40. package/esm2015/lib/core/interfaces/monkeyecx-config-boostrap.js +2 -0
  41. package/esm2015/lib/core/interfaces/monkeyecx-config.js +2 -0
  42. package/{esm2020/lib/core/interfaces/monkeyecx-error-response.mjs → esm2015/lib/core/interfaces/monkeyecx-error-response.js} +1 -1
  43. package/{esm2020/lib/core/interfaces/monkeyecx-handled-error-response.mjs → esm2015/lib/core/interfaces/monkeyecx-handled-error-response.js} +1 -1
  44. package/{esm2020/lib/core/interfaces/monkeyecx-header-credentials.mjs → esm2015/lib/core/interfaces/monkeyecx-header-credentials.js} +1 -1
  45. package/{esm2020/lib/core/interfaces/monkeyecx-intercom-options.mjs → esm2015/lib/core/interfaces/monkeyecx-intercom-options.js} +1 -1
  46. package/esm2015/lib/core/interfaces/monkeyecx-me-credentials.js +2 -0
  47. package/esm2015/lib/core/interfaces/monkeyecx-navigation.js +2 -0
  48. package/{esm2020/lib/core/interfaces/monkeyecx-program.mjs → esm2015/lib/core/interfaces/monkeyecx-program.js} +1 -1
  49. package/{esm2020/lib/core/interfaces/monkeyecx-releases.mjs → esm2015/lib/core/interfaces/monkeyecx-releases.js} +1 -1
  50. package/{esm2020/lib/core/interfaces/monkeyecx-request-in-progress.mjs → esm2015/lib/core/interfaces/monkeyecx-request-in-progress.js} +1 -1
  51. package/esm2015/lib/core/interfaces/monkeyecx-request-paged.js +2 -0
  52. package/{esm2020/lib/core/interfaces/monkeyecx-response-links.mjs → esm2015/lib/core/interfaces/monkeyecx-response-links.js} +1 -1
  53. package/{esm2020/lib/core/interfaces/monkeyecx-response-paged.mjs → esm2015/lib/core/interfaces/monkeyecx-response-paged.js} +1 -1
  54. package/esm2015/lib/core/interfaces/monkeyecx-saved-state.js +2 -0
  55. package/esm2015/lib/core/interfaces/monkeyecx-scroll-options.js +2 -0
  56. package/esm2015/lib/core/interfaces/monkeyecx-service-credentials.js +2 -0
  57. package/{esm2020/lib/core/interfaces/monkeyecx-support-options.mjs → esm2015/lib/core/interfaces/monkeyecx-support-options.js} +1 -1
  58. package/esm2015/lib/core/interfaces/monkeyecx-token-credentials.js +2 -0
  59. package/{esm2020/lib/core/interfaces/monkeyecx-translate-options.mjs → esm2015/lib/core/interfaces/monkeyecx-translate-options.js} +1 -1
  60. package/{esm2020/lib/core/interfaces/request-download/index.mjs → esm2015/lib/core/interfaces/request-download/index.js} +1 -1
  61. package/{esm2020/lib/core/interfaces/request-download/monkeyecx-request-download.mjs → esm2015/lib/core/interfaces/request-download/monkeyecx-request-download.js} +1 -1
  62. package/{esm2020/lib/core/interfaces/request-download/monkeyecx-request-downloaded.mjs → esm2015/lib/core/interfaces/request-download/monkeyecx-request-downloaded.js} +1 -1
  63. package/{esm2020/lib/core/interfaces/request-download/monkeyecx-request-item-download.mjs → esm2015/lib/core/interfaces/request-download/monkeyecx-request-item-download.js} +1 -1
  64. package/{esm2020/lib/core/interfaces/request-queue/index.mjs → esm2015/lib/core/interfaces/request-queue/index.js} +1 -1
  65. package/{esm2020/lib/core/interfaces/request-queue/monkeyecx-request-item-queue.mjs → esm2015/lib/core/interfaces/request-queue/monkeyecx-request-item-queue.js} +1 -1
  66. package/{esm2020/lib/core/interfaces/request-queue/monkeyecx-request-progress-queue.mjs → esm2015/lib/core/interfaces/request-queue/monkeyecx-request-progress-queue.js} +1 -1
  67. package/{esm2020/lib/core/interfaces/request-queue/monkeyecx-request-queue.mjs → esm2015/lib/core/interfaces/request-queue/monkeyecx-request-queue.js} +1 -1
  68. package/{esm2020/lib/core/interfaces/request-upload/index.mjs → esm2015/lib/core/interfaces/request-upload/index.js} +1 -1
  69. package/{esm2020/lib/core/interfaces/request-upload/monkeyecx-request-item-upload.mjs → esm2015/lib/core/interfaces/request-upload/monkeyecx-request-item-upload.js} +1 -1
  70. package/{esm2020/lib/core/interfaces/request-upload/monkeyecx-request-upload.mjs → esm2015/lib/core/interfaces/request-upload/monkeyecx-request-upload.js} +1 -1
  71. package/{esm2020/lib/core/interfaces/schedules/index.mjs → esm2015/lib/core/interfaces/schedules/index.js} +1 -1
  72. package/esm2015/lib/core/interfaces/schedules/monkeyecx-request-schedule.js +2 -0
  73. package/{esm2020/lib/core/model/index.mjs → esm2015/lib/core/model/index.js} +1 -1
  74. package/{esm2020/lib/core/model/monkeyecx-model.mjs → esm2015/lib/core/model/monkeyecx-model.js} +1 -1
  75. package/{esm2020/lib/core/pipes/index.mjs → esm2015/lib/core/pipes/index.js} +0 -0
  76. package/{esm2020/lib/core/pipes/monkeyecx-display-first-name.mjs → esm2015/lib/core/pipes/monkeyecx-display-first-name.js} +4 -4
  77. package/{esm2020/lib/core/pipes/monkeyecx-format-address.mjs → esm2015/lib/core/pipes/monkeyecx-format-address.js} +4 -4
  78. package/{esm2020/lib/core/pipes/monkeyecx-format-currency.mjs → esm2015/lib/core/pipes/monkeyecx-format-currency.js} +4 -4
  79. package/esm2015/lib/core/pipes/monkeyecx-format-date-group.js +46 -0
  80. package/{esm2020/lib/core/pipes/monkeyecx-format-date-timelapse.mjs → esm2015/lib/core/pipes/monkeyecx-format-date-timelapse.js} +4 -4
  81. package/{esm2020/lib/core/pipes/monkeyecx-format-document.mjs → esm2015/lib/core/pipes/monkeyecx-format-document.js} +4 -4
  82. package/{esm2020/lib/core/pipes/monkeyecx-format-number.mjs → esm2015/lib/core/pipes/monkeyecx-format-number.js} +4 -4
  83. package/{esm2020/lib/core/pipes/monkeyecx-format-phone.mjs → esm2015/lib/core/pipes/monkeyecx-format-phone.js} +4 -4
  84. package/{esm2020/lib/core/pipes/monkeyecx-format-size.mjs → esm2015/lib/core/pipes/monkeyecx-format-size.js} +4 -4
  85. package/{esm2020/lib/core/pipes/monkeyecx-format-type-document.mjs → esm2015/lib/core/pipes/monkeyecx-format-type-document.js} +4 -4
  86. package/{esm2020/lib/core/pipes/monkeyecx-format-value.mjs → esm2015/lib/core/pipes/monkeyecx-format-value.js} +4 -4
  87. package/{esm2020/lib/core/pipes/monkeyecx-format-zipcode.mjs → esm2015/lib/core/pipes/monkeyecx-format-zipcode.js} +4 -4
  88. package/{esm2020/lib/core/pipes/monkeyecx-pipes.module.mjs → esm2015/lib/core/pipes/monkeyecx-pipes.module.js} +5 -5
  89. package/{esm2020/lib/core/pipes/monkeyecx-text-truncate.mjs → esm2015/lib/core/pipes/monkeyecx-text-truncate.js} +4 -4
  90. package/{esm2020/lib/core/pipes/monkeyecx-truncate-qtd.mjs → esm2015/lib/core/pipes/monkeyecx-truncate-qtd.js} +4 -4
  91. package/{esm2020/lib/core/services/auth/index.mjs → esm2015/lib/core/services/auth/index.js} +1 -1
  92. package/{esm2020/lib/core/services/auth/monkeyecx-auth-guard-login.service.mjs → esm2015/lib/core/services/auth/monkeyecx-auth-guard-login.service.js} +4 -4
  93. package/{esm2020/lib/core/services/auth/monkeyecx-auth-guard.service.mjs → esm2015/lib/core/services/auth/monkeyecx-auth-guard.service.js} +4 -4
  94. package/esm2015/lib/core/services/auth/monkeyecx-authentication.service.js +61 -0
  95. package/{esm2020/lib/core/services/commons/index.mjs → esm2015/lib/core/services/commons/index.js} +1 -1
  96. package/esm2015/lib/core/services/commons/monkeyecx-commons.service.js +265 -0
  97. package/{esm2020/lib/core/services/config/monkeyecx-config.module.mjs → esm2015/lib/core/services/config/monkeyecx-config.module.js} +5 -5
  98. package/{esm2020/lib/core/services/config/monkeyecx-config.service.mjs → esm2015/lib/core/services/config/monkeyecx-config.service.js} +9 -11
  99. package/esm2015/lib/core/services/config/monkeyecx-error-config.service.js +85 -0
  100. package/esm2015/lib/core/services/config/monkeyecx-feature-toggle.service.js +70 -0
  101. package/esm2015/lib/core/services/config/monkeyecx-i18n-config.service.js +72 -0
  102. package/esm2015/lib/core/services/config/monkeyecx-logs-config.service.js +34 -0
  103. package/{esm2020/lib/core/services/config/monkeyecx-maintenance-config.service.mjs → esm2015/lib/core/services/config/monkeyecx-maintenance-config.service.js} +4 -4
  104. package/esm2015/lib/core/services/config/monkeyecx-security-console-config.service.js +42 -0
  105. package/esm2015/lib/core/services/config/monkeyecx-service-worker-config.service.js +54 -0
  106. package/{esm2020/lib/core/services/error/index.mjs → esm2015/lib/core/services/error/index.js} +1 -1
  107. package/{esm2020/lib/core/services/error/monkeyecx-error-handling.module.mjs → esm2015/lib/core/services/error/monkeyecx-error-handling.module.js} +5 -5
  108. package/esm2015/lib/core/services/error/monkeyecx-error-handling.service.js +41 -0
  109. package/esm2015/lib/core/services/error/monkeyecx-http-error-handling.service.js +132 -0
  110. package/{esm2020/lib/core/services/error/monkeyecx-others-errors-handling.service.mjs → esm2015/lib/core/services/error/monkeyecx-others-errors-handling.service.js} +4 -4
  111. package/{esm2020/lib/core/services/index.mjs → esm2015/lib/core/services/index.js} +1 -1
  112. package/{esm2020/lib/core/services/logged/index.mjs → esm2015/lib/core/services/logged/index.js} +1 -1
  113. package/{esm2020/lib/core/services/logged/monkeyecx-logged-handling.service.mjs → esm2015/lib/core/services/logged/monkeyecx-logged-handling.service.js} +4 -4
  114. package/esm2015/lib/core/services/monkeyecx-handling.service.js +50 -0
  115. package/esm2015/lib/core/services/monkeyecx-service.service.js +102 -0
  116. package/{esm2020/lib/core/services/request-download/index.mjs → esm2015/lib/core/services/request-download/index.js} +1 -1
  117. package/esm2015/lib/core/services/request-download/monkeyecx-request-download-handling.service.js +81 -0
  118. package/esm2015/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.js +55 -0
  119. package/{esm2020/lib/core/services/request-paged/index.mjs → esm2015/lib/core/services/request-paged/index.js} +1 -1
  120. package/esm2015/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.js +37 -0
  121. package/{esm2020/lib/core/services/request-queue/index.mjs → esm2015/lib/core/services/request-queue/index.js} +1 -1
  122. package/esm2015/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.js +101 -0
  123. package/esm2015/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.js +106 -0
  124. package/{esm2020/lib/core/services/routes/index.mjs → esm2015/lib/core/services/routes/index.js} +1 -1
  125. package/esm2015/lib/core/services/routes/monkeyecx-dicovery-params.service.js +55 -0
  126. package/{esm2020/lib/core/services/schedules/index.mjs → esm2015/lib/core/services/schedules/index.js} +1 -1
  127. package/esm2015/lib/core/services/schedules/monkeyecx-request-schedule.service.js +99 -0
  128. package/{esm2020/lib/core/services/storage/index.mjs → esm2015/lib/core/services/storage/index.js} +1 -1
  129. package/{esm2020/lib/core/services/storage/monkeyecx-cookie-storage.service.mjs → esm2015/lib/core/services/storage/monkeyecx-cookie-storage.service.js} +4 -4
  130. package/esm2015/lib/core/services/storage/monkeyecx-token-storage.service.js +123 -0
  131. package/{esm2020/lib/core/specification-search/index.mjs → esm2015/lib/core/specification-search/index.js} +1 -1
  132. package/{esm2020/lib/core/specification-search/monkeyecx-specification-search.mjs → esm2015/lib/core/specification-search/monkeyecx-specification-search.js} +3 -2
  133. package/esm2015/lib/core/utils/decorators-utils.js +37 -0
  134. package/{esm2020/lib/core/utils/index.mjs → esm2015/lib/core/utils/index.js} +1 -1
  135. package/{esm2020/lib/core/utils/statics.mjs → esm2015/lib/core/utils/statics.js} +1 -1
  136. package/esm2015/lib/core/utils/utils.js +219 -0
  137. package/esm2015/lib/core/utils/validate-utils.js +210 -0
  138. package/esm2015/lib/core/utils/validators.js +211 -0
  139. package/{esm2020/lib/monkey-front-core.module.mjs → esm2015/lib/monkey-front-core.module.js} +5 -5
  140. package/{esm2020/monkey-front-core.mjs → esm2015/monkey-front-core.js} +0 -0
  141. package/{esm2020/public-api.mjs → esm2015/public-api.js} +1 -1
  142. package/fesm2015/{monkey-front-core.mjs → monkey-front-core.js} +233 -218
  143. package/fesm2015/monkey-front-core.js.map +1 -0
  144. package/lib/core/interfaces/index.d.ts +2 -0
  145. package/lib/core/interfaces/monkeyecx-saved-state.d.ts +5 -0
  146. package/lib/core/interfaces/monkeyecx-scroll-options.d.ts +5 -0
  147. package/lib/core/pipes/monkeyecx-format-currency.d.ts +1 -1
  148. package/lib/core/services/auth/monkeyecx-authentication.service.d.ts +3 -3
  149. package/lib/core/services/commons/monkeyecx-commons.service.d.ts +18 -15
  150. package/lib/core/services/schedules/monkeyecx-request-schedule.service.d.ts +1 -1
  151. package/lib/core/utils/validate-utils.d.ts +13 -13
  152. package/monkey-front-core-0.0.99.tgz +0 -0
  153. package/package.json +7 -20
  154. package/esm2020/lib/components/closed-to-maintenance/closed-to-maintenance.component.mjs +0 -29
  155. package/esm2020/lib/components/progress-bar/progress-bar.component.mjs +0 -23
  156. package/esm2020/lib/components/progress-bar/progress-bar.service.mjs +0 -50
  157. package/esm2020/lib/components/version-changed/version-changed.component.mjs +0 -24
  158. package/esm2020/lib/core/decorators/monkeyecx-decorators.mjs +0 -111
  159. package/esm2020/lib/core/decorators/monkeyecx-download-decorators.mjs +0 -26
  160. package/esm2020/lib/core/decorators/monkeyecx-upload-decorators.mjs +0 -26
  161. package/esm2020/lib/core/directives/monkeyecx-drag-drop.mjs +0 -57
  162. package/esm2020/lib/core/directives/monkeyecx-feature-directive.mjs +0 -68
  163. package/esm2020/lib/core/directives/monkeyecx-format-upper.mjs +0 -67
  164. package/esm2020/lib/core/directives/monkeyecx-security-directive.mjs +0 -69
  165. package/esm2020/lib/core/directives/monkeyecx-tooltip-directive.mjs +0 -123
  166. package/esm2020/lib/core/interceptors/monkeyecx-http-config-error.interceptor.mjs +0 -39
  167. package/esm2020/lib/core/interceptors/monkeyecx-http-config-header.interceptor.mjs +0 -32
  168. package/esm2020/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.mjs +0 -43
  169. package/esm2020/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.mjs +0 -37
  170. package/esm2020/lib/core/interfaces/index.mjs +0 -25
  171. package/esm2020/lib/core/interfaces/monkeyecx-auth-credentials.mjs +0 -2
  172. package/esm2020/lib/core/interfaces/monkeyecx-config-boostrap.mjs +0 -2
  173. package/esm2020/lib/core/interfaces/monkeyecx-config.mjs +0 -2
  174. package/esm2020/lib/core/interfaces/monkeyecx-me-credentials.mjs +0 -2
  175. package/esm2020/lib/core/interfaces/monkeyecx-navigation.mjs +0 -2
  176. package/esm2020/lib/core/interfaces/monkeyecx-request-paged.mjs +0 -2
  177. package/esm2020/lib/core/interfaces/monkeyecx-service-credentials.mjs +0 -2
  178. package/esm2020/lib/core/interfaces/monkeyecx-token-credentials.mjs +0 -2
  179. package/esm2020/lib/core/interfaces/schedules/monkeyecx-request-schedule.mjs +0 -2
  180. package/esm2020/lib/core/pipes/monkeyecx-format-date-group.mjs +0 -45
  181. package/esm2020/lib/core/services/auth/monkeyecx-authentication.service.mjs +0 -61
  182. package/esm2020/lib/core/services/commons/monkeyecx-commons.service.mjs +0 -273
  183. package/esm2020/lib/core/services/config/monkeyecx-error-config.service.mjs +0 -85
  184. package/esm2020/lib/core/services/config/monkeyecx-feature-toggle.service.mjs +0 -67
  185. package/esm2020/lib/core/services/config/monkeyecx-i18n-config.service.mjs +0 -74
  186. package/esm2020/lib/core/services/config/monkeyecx-logs-config.service.mjs +0 -34
  187. package/esm2020/lib/core/services/config/monkeyecx-security-console-config.service.mjs +0 -42
  188. package/esm2020/lib/core/services/config/monkeyecx-service-worker-config.service.mjs +0 -53
  189. package/esm2020/lib/core/services/error/monkeyecx-error-handling.service.mjs +0 -41
  190. package/esm2020/lib/core/services/error/monkeyecx-http-error-handling.service.mjs +0 -127
  191. package/esm2020/lib/core/services/monkeyecx-handling.service.mjs +0 -50
  192. package/esm2020/lib/core/services/monkeyecx-service.service.mjs +0 -104
  193. package/esm2020/lib/core/services/request-download/monkeyecx-request-download-handling.service.mjs +0 -93
  194. package/esm2020/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.mjs +0 -61
  195. package/esm2020/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.mjs +0 -37
  196. package/esm2020/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.mjs +0 -114
  197. package/esm2020/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.mjs +0 -119
  198. package/esm2020/lib/core/services/routes/monkeyecx-dicovery-params.service.mjs +0 -54
  199. package/esm2020/lib/core/services/schedules/monkeyecx-request-schedule.service.mjs +0 -113
  200. package/esm2020/lib/core/services/storage/monkeyecx-token-storage.service.mjs +0 -126
  201. package/esm2020/lib/core/utils/decorators-utils.mjs +0 -40
  202. package/esm2020/lib/core/utils/utils.mjs +0 -218
  203. package/esm2020/lib/core/utils/validate-utils.mjs +0 -206
  204. package/esm2020/lib/core/utils/validators.mjs +0 -208
  205. package/fesm2015/monkey-front-core.mjs.map +0 -1
  206. package/fesm2020/monkey-front-core.mjs +0 -4258
  207. package/fesm2020/monkey-front-core.mjs.map +0 -1
  208. package/monkey-front-core-0.0.95.tgz +0 -0
@@ -0,0 +1,70 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import { initialize } from 'launchdarkly-js-client-sdk';
4
+ import { MonkeyUtils } from 'monkey-style-guide';
5
+ import * as i0 from "@angular/core";
6
+ export class MonkeyEcxFeatureToggleService {
7
+ constructor() {
8
+ this.flagSubject$ = new BehaviorSubject(null);
9
+ this.flags = undefined;
10
+ this.ldClient = undefined;
11
+ // not to do
12
+ }
13
+ getAllFlags() {
14
+ var _a;
15
+ if (!this)
16
+ return;
17
+ this.flags = (_a = this.ldClient) === null || _a === void 0 ? void 0 : _a.allFlags();
18
+ this.flagSubject$.next(true);
19
+ }
20
+ identify(config, environment) {
21
+ var _a;
22
+ if (config) {
23
+ const email = 'monkey@monkey.exchange';
24
+ const user = {
25
+ email,
26
+ key: `${(_a = config.program) === null || _a === void 0 ? void 0 : _a.token}#${email}`,
27
+ };
28
+ if (!this.ldClient) {
29
+ this.ldClient = initialize(environment.launchDarklyClientSideID, user, {
30
+ streaming: true,
31
+ disableSyncEventPost: true,
32
+ sendEvents: false,
33
+ diagnosticOptOut: true,
34
+ });
35
+ this.ldClient.on('change', this.getAllFlags.bind(this));
36
+ this.ldClient.on('ready', this.getAllFlags.bind(this));
37
+ }
38
+ else {
39
+ this.ldClient.identify(user, undefined, this.getAllFlags);
40
+ }
41
+ }
42
+ }
43
+ apply(configSubject$, environment) {
44
+ if (environment.launchDarklyClientSideID) {
45
+ configSubject$.subscribe((config) => {
46
+ this.identify(config, environment);
47
+ });
48
+ }
49
+ else {
50
+ this.flagSubject$.next(true);
51
+ }
52
+ }
53
+ get onFlags() {
54
+ return this.flagSubject$.asObservable();
55
+ }
56
+ getFlag(flag) {
57
+ var _a;
58
+ const flagValue = (_a = this.flags) === null || _a === void 0 ? void 0 : _a[flag];
59
+ return MonkeyUtils.persistNullEmptyUndefined(flagValue) ? flagValue : null;
60
+ }
61
+ }
62
+ MonkeyEcxFeatureToggleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxFeatureToggleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
63
+ MonkeyEcxFeatureToggleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxFeatureToggleService, providedIn: 'root' });
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxFeatureToggleService, decorators: [{
65
+ type: Injectable,
66
+ args: [{
67
+ providedIn: 'root',
68
+ }]
69
+ }], ctorParameters: function () { return []; } });
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWZlYXR1cmUtdG9nZ2xlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvY29uZmlnL21vbmtleWVjeC1mZWF0dXJlLXRvZ2dsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUF1QixNQUFNLDRCQUE0QixDQUFDO0FBQzdFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFNakQsTUFBTSxPQUFPLDZCQUE2QjtJQU94QztRQU5pQixpQkFBWSxHQUF5QixJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV4RSxVQUFLLEdBQTBCLFNBQVMsQ0FBQztRQUV6QyxhQUFRLEdBQXlCLFNBQVMsQ0FBQztRQUdqRCxZQUFZO0lBQ2QsQ0FBQztJQUVPLFdBQVc7O1FBQ2pCLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQUEsSUFBSSxDQUFDLFFBQVEsMENBQUUsUUFBUSxFQUFFLENBQUM7UUFFdkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVPLFFBQVEsQ0FBQyxNQUF1QixFQUFFLFdBQWdCOztRQUN4RCxJQUFJLE1BQU0sRUFBRTtZQUNWLE1BQU0sS0FBSyxHQUFHLHdCQUF3QixDQUFDO1lBQ3ZDLE1BQU0sSUFBSSxHQUFHO2dCQUNYLEtBQUs7Z0JBQ0wsR0FBRyxFQUFFLEdBQUcsTUFBQSxNQUFNLENBQUMsT0FBTywwQ0FBRSxLQUFLLElBQUksS0FBSyxFQUFFO2FBQ3pDLENBQUM7WUFFRixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDLHdCQUF3QixFQUFFLElBQUksRUFBRTtvQkFDckUsU0FBUyxFQUFFLElBQUk7b0JBQ2Ysb0JBQW9CLEVBQUUsSUFBSTtvQkFDMUIsVUFBVSxFQUFFLEtBQUs7b0JBQ2pCLGdCQUFnQixFQUFFLElBQUk7aUJBQ3ZCLENBQUMsQ0FBQztnQkFFSCxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDeEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7YUFDeEQ7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDM0Q7U0FDRjtJQUNILENBQUM7SUFFTSxLQUFLLENBQUMsY0FBZ0QsRUFBRSxXQUFnQjtRQUM3RSxJQUFJLFdBQVcsQ0FBQyx3QkFBd0IsRUFBRTtZQUN4QyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlCO0lBQ0gsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVNLE9BQU8sQ0FBQyxJQUFZOztRQUN6QixNQUFNLFNBQVMsR0FBRyxNQUFBLElBQUksQ0FBQyxLQUFLLDBDQUFHLElBQUksQ0FBQyxDQUFDO1FBRXJDLE9BQU8sV0FBVyxDQUFDLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUM3RSxDQUFDOzsySEE1RFUsNkJBQTZCOytIQUE3Qiw2QkFBNkIsY0FGNUIsTUFBTTs0RkFFUCw2QkFBNkI7a0JBSHpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgaW5pdGlhbGl6ZSwgTERDbGllbnQsIExERmxhZ1NldCB9IGZyb20gJ2xhdW5jaGRhcmtseS1qcy1jbGllbnQtc2RrJztcclxuaW1wb3J0IHsgTW9ua2V5VXRpbHMgfSBmcm9tICdtb25rZXktc3R5bGUtZ3VpZGUnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hDb25maWcgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hGZWF0dXJlVG9nZ2xlU2VydmljZSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBmbGFnU3ViamVjdCQ6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcclxuXHJcbiAgcHJpdmF0ZSBmbGFnczogTERGbGFnU2V0IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xyXG5cclxuICBwcml2YXRlIGxkQ2xpZW50OiBMRENsaWVudCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAvLyBub3QgdG8gZG9cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0QWxsRmxhZ3MoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMpIHJldHVybjtcclxuICAgIHRoaXMuZmxhZ3MgPSB0aGlzLmxkQ2xpZW50Py5hbGxGbGFncygpO1xyXG5cclxuICAgIHRoaXMuZmxhZ1N1YmplY3QkLm5leHQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlkZW50aWZ5KGNvbmZpZzogTW9ua2V5RWN4Q29uZmlnLCBlbnZpcm9ubWVudDogYW55KTogdm9pZCB7XHJcbiAgICBpZiAoY29uZmlnKSB7XHJcbiAgICAgIGNvbnN0IGVtYWlsID0gJ21vbmtleUBtb25rZXkuZXhjaGFuZ2UnO1xyXG4gICAgICBjb25zdCB1c2VyID0ge1xyXG4gICAgICAgIGVtYWlsLFxyXG4gICAgICAgIGtleTogYCR7Y29uZmlnLnByb2dyYW0/LnRva2VufSMke2VtYWlsfWAsXHJcbiAgICAgIH07XHJcblxyXG4gICAgICBpZiAoIXRoaXMubGRDbGllbnQpIHtcclxuICAgICAgICB0aGlzLmxkQ2xpZW50ID0gaW5pdGlhbGl6ZShlbnZpcm9ubWVudC5sYXVuY2hEYXJrbHlDbGllbnRTaWRlSUQsIHVzZXIsIHtcclxuICAgICAgICAgIHN0cmVhbWluZzogdHJ1ZSxcclxuICAgICAgICAgIGRpc2FibGVTeW5jRXZlbnRQb3N0OiB0cnVlLFxyXG4gICAgICAgICAgc2VuZEV2ZW50czogZmFsc2UsXHJcbiAgICAgICAgICBkaWFnbm9zdGljT3B0T3V0OiB0cnVlLFxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLmxkQ2xpZW50Lm9uKCdjaGFuZ2UnLCB0aGlzLmdldEFsbEZsYWdzLmJpbmQodGhpcykpO1xyXG4gICAgICAgIHRoaXMubGRDbGllbnQub24oJ3JlYWR5JywgdGhpcy5nZXRBbGxGbGFncy5iaW5kKHRoaXMpKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmxkQ2xpZW50LmlkZW50aWZ5KHVzZXIsIHVuZGVmaW5lZCwgdGhpcy5nZXRBbGxGbGFncyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhcHBseShjb25maWdTdWJqZWN0JDogQmVoYXZpb3JTdWJqZWN0PE1vbmtleUVjeENvbmZpZz4sIGVudmlyb25tZW50OiBhbnkpIHtcclxuICAgIGlmIChlbnZpcm9ubWVudC5sYXVuY2hEYXJrbHlDbGllbnRTaWRlSUQpIHtcclxuICAgICAgY29uZmlnU3ViamVjdCQuc3Vic2NyaWJlKChjb25maWcpID0+IHtcclxuICAgICAgICB0aGlzLmlkZW50aWZ5KGNvbmZpZywgZW52aXJvbm1lbnQpO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZmxhZ1N1YmplY3QkLm5leHQodHJ1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IG9uRmxhZ3MoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmZsYWdTdWJqZWN0JC5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRGbGFnKGZsYWc6IHN0cmluZyk6IGJvb2xlYW4gfCBudWxsIHtcclxuICAgIGNvbnN0IGZsYWdWYWx1ZSA9IHRoaXMuZmxhZ3M/LltmbGFnXTtcclxuXHJcbiAgICByZXR1cm4gTW9ua2V5VXRpbHMucGVyc2lzdE51bGxFbXB0eVVuZGVmaW5lZChmbGFnVmFsdWUpID8gZmxhZ1ZhbHVlIDogbnVsbDtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,72 @@
1
+ import { __decorate } from "tslib";
2
+ /* eslint-disable no-console */
3
+ /* eslint-disable import/no-named-default */
4
+ import { Injectable } from '@angular/core';
5
+ import { throwError } from 'rxjs';
6
+ import { MonkeyEcxCoreService } from '../../decorators/monkeyecx-decorators';
7
+ import { MonkeyEcxCommonsService } from '../commons';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../monkeyecx-service.service";
10
+ import * as i2 from "@ngx-translate/core";
11
+ import * as i3 from "../storage/monkeyecx-cookie-storage.service";
12
+ import * as i4 from "../config/monkeyecx-error-config.service";
13
+ export class MonkeyEcxi18nConfigService extends MonkeyEcxCommonsService {
14
+ constructor(monkeyecxService, translateService, monkeyecxCookieStorageService, monkeyecxErrorConfigService) {
15
+ super(monkeyecxService);
16
+ this.translateService = translateService;
17
+ this.monkeyecxCookieStorageService = monkeyecxCookieStorageService;
18
+ this.monkeyecxErrorConfigService = monkeyecxErrorConfigService;
19
+ this.translateService.addLangs(['pt-BR', 'en-US']);
20
+ this.translateService.setDefaultLang('pt-BR');
21
+ this.translateService.use('pt-BR');
22
+ }
23
+ apply(params, environment, change = false) {
24
+ var _a, _b;
25
+ const { monkeyecxService, monkeyecxCookieStorageService, monkeyecxErrorConfigService } = this;
26
+ let { i18n } = params;
27
+ const externali18n = (_a = params === null || params === void 0 ? void 0 : params.externali18n) === null || _a === void 0 ? void 0 : _a[`${(i18n === null || i18n === void 0 ? void 0 : i18n.lang) || 'pt-BR'}`];
28
+ const cookie = monkeyecxCookieStorageService.getCookie('monkey-app-locale');
29
+ if (cookie && !change) {
30
+ i18n = JSON.parse(atob(cookie));
31
+ }
32
+ else {
33
+ monkeyecxCookieStorageService.setCookie('monkey-app-locale', btoa(JSON.stringify(i18n)));
34
+ if (!cookie)
35
+ change = true;
36
+ }
37
+ (_b = monkeyecxService === null || monkeyecxService === void 0 ? void 0 : monkeyecxService.get(`${environment.localAssets}/i18n/${i18n === null || i18n === void 0 ? void 0 : i18n.lang}.json`)) === null || _b === void 0 ? void 0 : _b.subscribe((config) => {
38
+ const { lang } = config;
39
+ let { data } = config;
40
+ if (externali18n) {
41
+ data = Object.assign(Object.assign({}, data), { EXTERNAL: externali18n });
42
+ }
43
+ this.translateService.setTranslation(lang, data, true);
44
+ this.translateService.use(lang);
45
+ if (change)
46
+ document.location.reload();
47
+ }, (err) => {
48
+ console.error(`i18n ${i18n === null || i18n === void 0 ? void 0 : i18n.lang} not found!`);
49
+ monkeyecxErrorConfigService.apply('i18n');
50
+ throwError(err);
51
+ });
52
+ }
53
+ }
54
+ MonkeyEcxi18nConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxi18nConfigService, deps: [{ token: i1.MonkeyEcxService }, { token: i2.TranslateService }, { token: i3.MonkeyEcxCookieStorageService }, { token: i4.MonkeyEcxErrorConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
55
+ MonkeyEcxi18nConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxi18nConfigService, providedIn: 'root' });
56
+ __decorate([
57
+ MonkeyEcxCoreService({
58
+ httpResponse: {
59
+ httpCodeIgnore: [404],
60
+ },
61
+ requestInProgress: {
62
+ showProgress: false,
63
+ },
64
+ })
65
+ ], MonkeyEcxi18nConfigService.prototype, "apply", null);
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxi18nConfigService, decorators: [{
67
+ type: Injectable,
68
+ args: [{
69
+ providedIn: 'root',
70
+ }]
71
+ }], ctorParameters: function () { return [{ type: i1.MonkeyEcxService }, { type: i2.TranslateService }, { type: i3.MonkeyEcxCookieStorageService }, { type: i4.MonkeyEcxErrorConfigService }]; }, propDecorators: { apply: [] } });
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWkxOG4tY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvY29uZmlnL21vbmtleWVjeC1pMThuLWNvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwrQkFBK0I7QUFDL0IsNENBQTRDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUdsQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxZQUFZLENBQUM7Ozs7OztBQU9yRCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsdUJBQXVCO0lBQ3JFLFlBQ0UsZ0JBQWtDLEVBQzFCLGdCQUFrQyxFQUNsQyw2QkFBNEQsRUFDNUQsMkJBQXdEO1FBRWhFLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBSmhCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsa0NBQTZCLEdBQTdCLDZCQUE2QixDQUErQjtRQUM1RCxnQ0FBMkIsR0FBM0IsMkJBQTJCLENBQTZCO1FBSWhFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQVVNLEtBQUssQ0FBQyxNQUF1QixFQUFFLFdBQWdCLEVBQUUsTUFBTSxHQUFHLEtBQUs7O1FBQ3BFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSw2QkFBNkIsRUFBRSwyQkFBMkIsRUFBRSxHQUFHLElBQUksQ0FBQztRQUM5RixJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBQ3RCLE1BQU0sWUFBWSxHQUFHLE1BQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLFlBQVksMENBQUcsR0FBRyxDQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxJQUFJLEtBQUksT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN4RSxNQUFNLE1BQU0sR0FBRyw2QkFBNkIsQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUM1RSxJQUFJLE1BQU0sSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNyQixJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztTQUNqQzthQUFNO1lBQ0wsNkJBQTZCLENBQUMsU0FBUyxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6RixJQUFJLENBQUMsTUFBTTtnQkFBRSxNQUFNLEdBQUcsSUFBSSxDQUFDO1NBQzVCO1FBRUQsTUFBQSxnQkFBZ0IsYUFBaEIsZ0JBQWdCLHVCQUFoQixnQkFBZ0IsQ0FBRSxHQUFHLENBQU0sR0FBRyxXQUFXLENBQUMsV0FBVyxTQUFTLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxJQUFJLE9BQU8sQ0FBQywwQ0FBRSxTQUFTLENBQ3pGLENBQUMsTUFBVyxFQUFFLEVBQUU7WUFDZCxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDO1lBQ3hCLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLENBQUM7WUFDdEIsSUFBSSxZQUFZLEVBQUU7Z0JBQ2hCLElBQUksbUNBQ0MsSUFBSSxLQUNQLFFBQVEsRUFBRSxZQUFZLEdBQ3ZCLENBQUM7YUFDSDtZQUNELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hDLElBQUksTUFBTTtnQkFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3pDLENBQUMsRUFDRCxDQUFDLEdBQXNCLEVBQUUsRUFBRTtZQUN6QixPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLElBQUksYUFBYSxDQUFDLENBQUM7WUFDL0MsMkJBQTJCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsQixDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7O3dIQXREVSwwQkFBMEI7NEhBQTFCLDBCQUEwQixjQUZ6QixNQUFNO0FBd0JsQjtJQVJDLG9CQUFvQixDQUFDO1FBQ3BCLFlBQVksRUFBRTtZQUNaLGNBQWMsRUFBRSxDQUFDLEdBQUcsQ0FBQztTQUN0QjtRQUNELGlCQUFpQixFQUFFO1lBQ2pCLFlBQVksRUFBRSxLQUFLO1NBQ3BCO0tBQ0YsQ0FBQzt1REFpQ0Q7NEZBdERVLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7NE5BdUJRLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXHJcbi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9uby1uYW1lZC1kZWZhdWx0ICovXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hTZXJ2aWNlIH0gZnJvbSAnLi4vbW9ua2V5ZWN4LXNlcnZpY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IE1vbmtleUVjeENvb2tpZVN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vc3RvcmFnZS9tb25rZXllY3gtY29va2llLXN0b3JhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IE1vbmtleUVjeENvcmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZGVjb3JhdG9ycy9tb25rZXllY3gtZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IE1vbmtleUVjeENvbW1vbnNTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9ucyc7XHJcbmltcG9ydCB7IE1vbmtleUVjeENvbmZpZyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hFcnJvckNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9jb25maWcvbW9ua2V5ZWN4LWVycm9yLWNvbmZpZy5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hpMThuQ29uZmlnU2VydmljZSBleHRlbmRzIE1vbmtleUVjeENvbW1vbnNTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIG1vbmtleWVjeFNlcnZpY2U6IE1vbmtleUVjeFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1vbmtleWVjeENvb2tpZVN0b3JhZ2VTZXJ2aWNlOiBNb25rZXlFY3hDb29raWVTdG9yYWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgbW9ua2V5ZWN4RXJyb3JDb25maWdTZXJ2aWNlOiBNb25rZXlFY3hFcnJvckNvbmZpZ1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKG1vbmtleWVjeFNlcnZpY2UpO1xyXG5cclxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5hZGRMYW5ncyhbJ3B0LUJSJywgJ2VuLVVTJ10pO1xyXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnNldERlZmF1bHRMYW5nKCdwdC1CUicpO1xyXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnVzZSgncHQtQlInKTtcclxuICB9XHJcblxyXG4gIEBNb25rZXlFY3hDb3JlU2VydmljZSh7XHJcbiAgICBodHRwUmVzcG9uc2U6IHtcclxuICAgICAgaHR0cENvZGVJZ25vcmU6IFs0MDRdLFxyXG4gICAgfSxcclxuICAgIHJlcXVlc3RJblByb2dyZXNzOiB7XHJcbiAgICAgIHNob3dQcm9ncmVzczogZmFsc2UsXHJcbiAgICB9LFxyXG4gIH0pXHJcbiAgcHVibGljIGFwcGx5KHBhcmFtczogTW9ua2V5RWN4Q29uZmlnLCBlbnZpcm9ubWVudDogYW55LCBjaGFuZ2UgPSBmYWxzZSkge1xyXG4gICAgY29uc3QgeyBtb25rZXllY3hTZXJ2aWNlLCBtb25rZXllY3hDb29raWVTdG9yYWdlU2VydmljZSwgbW9ua2V5ZWN4RXJyb3JDb25maWdTZXJ2aWNlIH0gPSB0aGlzO1xyXG4gICAgbGV0IHsgaTE4biB9ID0gcGFyYW1zO1xyXG4gICAgY29uc3QgZXh0ZXJuYWxpMThuID0gcGFyYW1zPy5leHRlcm5hbGkxOG4/LltgJHtpMThuPy5sYW5nIHx8ICdwdC1CUid9YF07XHJcbiAgICBjb25zdCBjb29raWUgPSBtb25rZXllY3hDb29raWVTdG9yYWdlU2VydmljZS5nZXRDb29raWUoJ21vbmtleS1hcHAtbG9jYWxlJyk7XHJcbiAgICBpZiAoY29va2llICYmICFjaGFuZ2UpIHtcclxuICAgICAgaTE4biA9IEpTT04ucGFyc2UoYXRvYihjb29raWUpKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG1vbmtleWVjeENvb2tpZVN0b3JhZ2VTZXJ2aWNlLnNldENvb2tpZSgnbW9ua2V5LWFwcC1sb2NhbGUnLCBidG9hKEpTT04uc3RyaW5naWZ5KGkxOG4pKSk7XHJcbiAgICAgIGlmICghY29va2llKSBjaGFuZ2UgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIG1vbmtleWVjeFNlcnZpY2U/LmdldDxhbnk+KGAke2Vudmlyb25tZW50LmxvY2FsQXNzZXRzfS9pMThuLyR7aTE4bj8ubGFuZ30uanNvbmApPy5zdWJzY3JpYmUoXHJcbiAgICAgIChjb25maWc6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHsgbGFuZyB9ID0gY29uZmlnO1xyXG4gICAgICAgIGxldCB7IGRhdGEgfSA9IGNvbmZpZztcclxuICAgICAgICBpZiAoZXh0ZXJuYWxpMThuKSB7XHJcbiAgICAgICAgICBkYXRhID0ge1xyXG4gICAgICAgICAgICAuLi5kYXRhLFxyXG4gICAgICAgICAgICBFWFRFUk5BTDogZXh0ZXJuYWxpMThuLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnNldFRyYW5zbGF0aW9uKGxhbmcsIGRhdGEsIHRydWUpO1xyXG4gICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS51c2UobGFuZyk7XHJcbiAgICAgICAgaWYgKGNoYW5nZSkgZG9jdW1lbnQubG9jYXRpb24ucmVsb2FkKCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIChlcnI6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihgaTE4biAke2kxOG4/Lmxhbmd9IG5vdCBmb3VuZCFgKTtcclxuICAgICAgICBtb25rZXllY3hFcnJvckNvbmZpZ1NlcnZpY2UuYXBwbHkoJ2kxOG4nKTtcclxuICAgICAgICB0aHJvd0Vycm9yKGVycik7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,34 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { datadogRum } from '@datadog/browser-rum';
3
+ import * as i0 from "@angular/core";
4
+ export class MonkeyEcxLogsConfigService {
5
+ apply(params, configBoostrap, environment, identifyCode) {
6
+ const { program, logs } = params;
7
+ if ((logs === null || logs === void 0 ? void 0 : logs.enabled) && environment.environment !== 'dev') {
8
+ datadogRum.init({
9
+ applicationId: environment === null || environment === void 0 ? void 0 : environment.dataDogApplicationId,
10
+ clientToken: environment === null || environment === void 0 ? void 0 : environment.dataDogClientToken,
11
+ service: program === null || program === void 0 ? void 0 : program.token,
12
+ site: 'datadoghq.com',
13
+ sampleRate: 100,
14
+ replaySampleRate: 100,
15
+ env: `monkey-front-${identifyCode}-${environment.environment}`,
16
+ version: configBoostrap === null || configBoostrap === void 0 ? void 0 : configBoostrap.version,
17
+ trackInteractions: true,
18
+ trackSessionAcrossSubdomains: true,
19
+ useSecureSessionCookie: true,
20
+ useCrossSiteSessionCookie: true
21
+ });
22
+ datadogRum.startSessionReplayRecording();
23
+ }
24
+ }
25
+ }
26
+ MonkeyEcxLogsConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxLogsConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
27
+ MonkeyEcxLogsConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxLogsConfigService, providedIn: 'root' });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxLogsConfigService, decorators: [{
29
+ type: Injectable,
30
+ args: [{
31
+ providedIn: 'root'
32
+ }]
33
+ }] });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWxvZ3MtY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvY29uZmlnL21vbmtleWVjeC1sb2dzLWNvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQU1sRCxNQUFNLE9BQU8sMEJBQTBCO0lBQzlCLEtBQUssQ0FDVixNQUF1QixFQUN2QixjQUF1QyxFQUN2QyxXQUFnQixFQUNoQixZQUFvQjtRQUVwQixNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUNqQyxJQUFJLENBQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLE9BQU8sS0FBSSxXQUFXLENBQUMsV0FBVyxLQUFLLEtBQUssRUFBRTtZQUN0RCxVQUFVLENBQUMsSUFBSSxDQUFDO2dCQUNkLGFBQWEsRUFBRSxXQUFXLGFBQVgsV0FBVyx1QkFBWCxXQUFXLENBQUUsb0JBQW9CO2dCQUNoRCxXQUFXLEVBQUUsV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFFLGtCQUFrQjtnQkFDNUMsT0FBTyxFQUFFLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxLQUFLO2dCQUN2QixJQUFJLEVBQUUsZUFBZTtnQkFDckIsVUFBVSxFQUFFLEdBQUc7Z0JBQ2YsZ0JBQWdCLEVBQUUsR0FBRztnQkFDckIsR0FBRyxFQUFFLGdCQUFnQixZQUFZLElBQUksV0FBVyxDQUFDLFdBQVcsRUFBRTtnQkFDOUQsT0FBTyxFQUFFLGNBQWMsYUFBZCxjQUFjLHVCQUFkLGNBQWMsQ0FBRSxPQUFPO2dCQUNoQyxpQkFBaUIsRUFBRSxJQUFJO2dCQUN2Qiw0QkFBNEIsRUFBRSxJQUFJO2dCQUNsQyxzQkFBc0IsRUFBRSxJQUFJO2dCQUM1Qix5QkFBeUIsRUFBRSxJQUFJO2FBQ2hDLENBQUMsQ0FBQztZQUNILFVBQVUsQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1NBQzFDO0lBQ0gsQ0FBQzs7d0hBekJVLDBCQUEwQjs0SEFBMUIsMEJBQTBCLGNBRnpCLE1BQU07NEZBRVAsMEJBQTBCO2tCQUh0QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZGF0YWRvZ1J1bSB9IGZyb20gJ0BkYXRhZG9nL2Jyb3dzZXItcnVtJztcclxuaW1wb3J0IHsgTW9ua2V5RWN4Q29uZmlnLCBNb25rZXlFY3hDb25maWdCb29zdHJhcCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4TG9nc0NvbmZpZ1NlcnZpY2Uge1xyXG4gIHB1YmxpYyBhcHBseShcclxuICAgIHBhcmFtczogTW9ua2V5RWN4Q29uZmlnLFxyXG4gICAgY29uZmlnQm9vc3RyYXA6IE1vbmtleUVjeENvbmZpZ0Jvb3N0cmFwLFxyXG4gICAgZW52aXJvbm1lbnQ6IGFueSxcclxuICAgIGlkZW50aWZ5Q29kZTogc3RyaW5nXHJcbiAgKSB7XHJcbiAgICBjb25zdCB7IHByb2dyYW0sIGxvZ3MgfSA9IHBhcmFtcztcclxuICAgIGlmIChsb2dzPy5lbmFibGVkICYmIGVudmlyb25tZW50LmVudmlyb25tZW50ICE9PSAnZGV2Jykge1xyXG4gICAgICBkYXRhZG9nUnVtLmluaXQoe1xyXG4gICAgICAgIGFwcGxpY2F0aW9uSWQ6IGVudmlyb25tZW50Py5kYXRhRG9nQXBwbGljYXRpb25JZCxcclxuICAgICAgICBjbGllbnRUb2tlbjogZW52aXJvbm1lbnQ/LmRhdGFEb2dDbGllbnRUb2tlbixcclxuICAgICAgICBzZXJ2aWNlOiBwcm9ncmFtPy50b2tlbixcclxuICAgICAgICBzaXRlOiAnZGF0YWRvZ2hxLmNvbScsXHJcbiAgICAgICAgc2FtcGxlUmF0ZTogMTAwLFxyXG4gICAgICAgIHJlcGxheVNhbXBsZVJhdGU6IDEwMCxcclxuICAgICAgICBlbnY6IGBtb25rZXktZnJvbnQtJHtpZGVudGlmeUNvZGV9LSR7ZW52aXJvbm1lbnQuZW52aXJvbm1lbnR9YCxcclxuICAgICAgICB2ZXJzaW9uOiBjb25maWdCb29zdHJhcD8udmVyc2lvbixcclxuICAgICAgICB0cmFja0ludGVyYWN0aW9uczogdHJ1ZSxcclxuICAgICAgICB0cmFja1Nlc3Npb25BY3Jvc3NTdWJkb21haW5zOiB0cnVlLFxyXG4gICAgICAgIHVzZVNlY3VyZVNlc3Npb25Db29raWU6IHRydWUsXHJcbiAgICAgICAgdXNlQ3Jvc3NTaXRlU2Vzc2lvbkNvb2tpZTogdHJ1ZVxyXG4gICAgICB9KTtcclxuICAgICAgZGF0YWRvZ1J1bS5zdGFydFNlc3Npb25SZXBsYXlSZWNvcmRpbmcoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -26,12 +26,12 @@ export class MonkeyEcxMaintenanceConfigService {
26
26
  this.handleValidation(config);
27
27
  }
28
28
  }
29
- MonkeyEcxMaintenanceConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyEcxMaintenanceConfigService, deps: [{ token: i1.MonkeyStyleGuideModalService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
30
- MonkeyEcxMaintenanceConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyEcxMaintenanceConfigService, providedIn: 'root' });
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyEcxMaintenanceConfigService, decorators: [{
29
+ MonkeyEcxMaintenanceConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxMaintenanceConfigService, deps: [{ token: i1.MonkeyStyleGuideModalService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
30
+ MonkeyEcxMaintenanceConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxMaintenanceConfigService, providedIn: 'root' });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxMaintenanceConfigService, decorators: [{
32
32
  type: Injectable,
33
33
  args: [{
34
34
  providedIn: 'root'
35
35
  }]
36
36
  }], ctorParameters: function () { return [{ type: i1.MonkeyStyleGuideModalService }, { type: i2.Router }]; } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LW1haW50ZW5hbmNlLWNvbmZpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2NvbmZpZy9tb25rZXllY3gtbWFpbnRlbmFuY2UtY29uZmlnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyRUFBMkUsQ0FBQzs7OztBQU16SCxNQUFNLE9BQU8saUNBQWlDO0lBQzVDLFlBQW9CLFlBQTBDLEVBQVUsTUFBYztRQUFsRSxpQkFBWSxHQUFaLFlBQVksQ0FBOEI7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ3BGLFlBQVk7SUFDZCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsTUFBK0I7UUFDdEQsSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRTtZQUM3QixZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBRTNCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsNEJBQTRCLEVBQUU7b0JBQ25ELEtBQUssRUFBRSxPQUFPO29CQUNkLElBQUksRUFBRSxJQUFJO29CQUNWLElBQUksRUFBRSxNQUFNO2lCQUNiLENBQUMsQ0FBQztZQUNMLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNUO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxNQUErQjtRQUMxQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQzs7OEhBdEJVLGlDQUFpQztrSUFBakMsaUNBQWlDLGNBRmhDLE1BQU07MkZBRVAsaUNBQWlDO2tCQUg3QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBNb25rZXlTdHlsZUd1aWRlTW9kYWxTZXJ2aWNlIH0gZnJvbSAnbW9ua2V5LXN0eWxlLWd1aWRlJztcbmltcG9ydCB7IENsb3NlZFRvTWFpbnRlbmFuY2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2Nsb3NlZC10by1tYWludGVuYW5jZS9jbG9zZWQtdG8tbWFpbnRlbmFuY2UuY29tcG9uZW50JztcbmltcG9ydCB7IE1vbmtleUVjeENvbmZpZ0Jvb3N0cmFwIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9tb25rZXllY3gtY29uZmlnLWJvb3N0cmFwJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4TWFpbnRlbmFuY2VDb25maWdTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtb2RhbFNlcnZpY2U6IE1vbmtleVN0eWxlR3VpZGVNb2RhbFNlcnZpY2UsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHtcbiAgICAvLyBub3QgdG8gZG9cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlVmFsaWRhdGlvbihjb25maWc6IE1vbmtleUVjeENvbmZpZ0Jvb3N0cmFwKSB7XG4gICAgaWYgKGNvbmZpZy5tYWludGVuYW5jZS5jbG9zZWQpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5jbGVhcigpO1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycnXSk7XG5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLm1vZGFsU2VydmljZS5vcGVuKENsb3NlZFRvTWFpbnRlbmFuY2VDb21wb25lbnQsIHtcbiAgICAgICAgICBjb2xvcjogJ3RoZW1lJyxcbiAgICAgICAgICBzaXplOiAnbWQnLFxuICAgICAgICAgIGRhdGE6IGNvbmZpZ1xuICAgICAgICB9KTtcbiAgICAgIH0sIDIwMCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFwcGx5KGNvbmZpZzogTW9ua2V5RWN4Q29uZmlnQm9vc3RyYXApIHtcbiAgICB0aGlzLmhhbmRsZVZhbGlkYXRpb24oY29uZmlnKTtcbiAgfVxufVxuIl19
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LW1haW50ZW5hbmNlLWNvbmZpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2NvbmZpZy9tb25rZXllY3gtbWFpbnRlbmFuY2UtY29uZmlnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyRUFBMkUsQ0FBQzs7OztBQU16SCxNQUFNLE9BQU8saUNBQWlDO0lBQzVDLFlBQW9CLFlBQTBDLEVBQVUsTUFBYztRQUFsRSxpQkFBWSxHQUFaLFlBQVksQ0FBOEI7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ3BGLFlBQVk7SUFDZCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsTUFBK0I7UUFDdEQsSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRTtZQUM3QixZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBRTNCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsNEJBQTRCLEVBQUU7b0JBQ25ELEtBQUssRUFBRSxPQUFPO29CQUNkLElBQUksRUFBRSxJQUFJO29CQUNWLElBQUksRUFBRSxNQUFNO2lCQUNiLENBQUMsQ0FBQztZQUNMLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNUO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxNQUErQjtRQUMxQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQzs7K0hBdEJVLGlDQUFpQzttSUFBakMsaUNBQWlDLGNBRmhDLE1BQU07NEZBRVAsaUNBQWlDO2tCQUg3QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTW9ua2V5U3R5bGVHdWlkZU1vZGFsU2VydmljZSB9IGZyb20gJ21vbmtleS1zdHlsZS1ndWlkZSc7XHJcbmltcG9ydCB7IENsb3NlZFRvTWFpbnRlbmFuY2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2Nsb3NlZC10by1tYWludGVuYW5jZS9jbG9zZWQtdG8tbWFpbnRlbmFuY2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTW9ua2V5RWN4Q29uZmlnQm9vc3RyYXAgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL21vbmtleWVjeC1jb25maWctYm9vc3RyYXAnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4TWFpbnRlbmFuY2VDb25maWdTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1vZGFsU2VydmljZTogTW9ua2V5U3R5bGVHdWlkZU1vZGFsU2VydmljZSwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge1xyXG4gICAgLy8gbm90IHRvIGRvXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZVZhbGlkYXRpb24oY29uZmlnOiBNb25rZXlFY3hDb25maWdCb29zdHJhcCkge1xyXG4gICAgaWYgKGNvbmZpZy5tYWludGVuYW5jZS5jbG9zZWQpIHtcclxuICAgICAgbG9jYWxTdG9yYWdlLmNsZWFyKCk7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnJ10pO1xyXG5cclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihDbG9zZWRUb01haW50ZW5hbmNlQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICBjb2xvcjogJ3RoZW1lJyxcclxuICAgICAgICAgIHNpemU6ICdtZCcsXHJcbiAgICAgICAgICBkYXRhOiBjb25maWdcclxuICAgICAgICB9KTtcclxuICAgICAgfSwgMjAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhcHBseShjb25maWc6IE1vbmtleUVjeENvbmZpZ0Jvb3N0cmFwKSB7XHJcbiAgICB0aGlzLmhhbmRsZVZhbGlkYXRpb24oY29uZmlnKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,42 @@
1
+ /* eslint-disable no-console */
2
+ import { Injectable } from '@angular/core';
3
+ import { MonkeyEcxCommonsService } from '../commons';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@ngx-translate/core";
6
+ export class MonkeyEcxSecurityConsoleConfigService extends MonkeyEcxCommonsService {
7
+ constructor(translateService) {
8
+ super();
9
+ this.translateService = translateService;
10
+ this.geti18n(this.translateService, 'SERVICES.WARNING.CONSOLE');
11
+ }
12
+ handleValidation() {
13
+ this.__oni18nDataChanged$.subscribe(() => {
14
+ const { __i18n } = this;
15
+ const title = __i18n === null || __i18n === void 0 ? void 0 : __i18n.TITLE;
16
+ const message = __i18n === null || __i18n === void 0 ? void 0 : __i18n.MESSAGE;
17
+ if (title) {
18
+ console.log(`%c${title}`, 'background: #f2f061; color: #ff0000; font-size: x-large');
19
+ console.log(`%c${message}`, 'font-size: x-large');
20
+ console.log('%c __ __ _ ______ \n ' +
21
+ '| \\/ | ___ _ __ | | _____ _ _\\ \\ \\ \\ \n ' +
22
+ "| |\\/| |/ _ \\| '_ \\| |/ / _ \\ | | |\\ \\ \\ \\ \n " +
23
+ '| | | | (_) | | | | < __/ |_| |/ / / / \n ' +
24
+ '|_| |_|\\___/|_| |_|_|\\_\\___|\\__, /_/_/_/ \n ' +
25
+ ' |___/ \n ' +
26
+ 'Join us: https://monkeyecx.gupy.io', 'background: #1976d2; color: #fff');
27
+ }
28
+ });
29
+ }
30
+ apply() {
31
+ this.handleValidation();
32
+ }
33
+ }
34
+ MonkeyEcxSecurityConsoleConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxSecurityConsoleConfigService, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
35
+ MonkeyEcxSecurityConsoleConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxSecurityConsoleConfigService, providedIn: 'root' });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxSecurityConsoleConfigService, decorators: [{
37
+ type: Injectable,
38
+ args: [{
39
+ providedIn: 'root'
40
+ }]
41
+ }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXNlY3VyaXR5LWNvbnNvbGUtY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvY29uZmlnL21vbmtleWVjeC1zZWN1cml0eS1jb25zb2xlLWNvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFlBQVksQ0FBQzs7O0FBS3JELE1BQU0sT0FBTyxxQ0FBc0MsU0FBUSx1QkFBdUI7SUFDaEYsWUFBb0IsZ0JBQWtDO1FBQ3BELEtBQUssRUFBRSxDQUFDO1FBRFUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUdwRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSwwQkFBMEIsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdkMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQztZQUN4QixNQUFNLEtBQUssR0FBRyxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsS0FBSyxDQUFDO1lBQzVCLE1BQU0sT0FBTyxHQUFHLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxPQUFPLENBQUM7WUFDaEMsSUFBSSxLQUFLLEVBQUU7Z0JBQ1QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEtBQUssRUFBRSxFQUFFLHlEQUF5RCxDQUFDLENBQUM7Z0JBQ3JGLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxPQUFPLEVBQUUsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO2dCQUNsRCxPQUFPLENBQUMsR0FBRyxDQUNULG1EQUFtRDtvQkFDbkQscURBQXFEO29CQUNyRCx3REFBd0Q7b0JBQ3hELGdEQUFnRDtvQkFDaEQsb0RBQW9EO29CQUNwRCxnREFBZ0Q7b0JBQ2hELG9DQUFvQyxFQUFFLGtDQUFrQyxDQUN6RSxDQUFDO2FBQ0g7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQzs7bUlBOUJVLHFDQUFxQzt1SUFBckMscUNBQXFDLGNBRnBDLE1BQU07NEZBRVAscUNBQXFDO2tCQUhqRCxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IE1vbmtleUVjeENvbW1vbnNTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9ucyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hTZWN1cml0eUNvbnNvbGVDb25maWdTZXJ2aWNlIGV4dGVuZHMgTW9ua2V5RWN4Q29tbW9uc1NlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkge1xyXG4gICAgc3VwZXIoKTtcclxuXHJcbiAgICB0aGlzLmdldGkxOG4odGhpcy50cmFuc2xhdGVTZXJ2aWNlLCAnU0VSVklDRVMuV0FSTklORy5DT05TT0xFJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZVZhbGlkYXRpb24oKSB7XHJcbiAgICB0aGlzLl9fb25pMThuRGF0YUNoYW5nZWQkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHsgX19pMThuIH0gPSB0aGlzO1xyXG4gICAgICBjb25zdCB0aXRsZSA9IF9faTE4bj8uVElUTEU7XHJcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBfX2kxOG4/Lk1FU1NBR0U7XHJcbiAgICAgIGlmICh0aXRsZSkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGAlYyR7dGl0bGV9YCwgJ2JhY2tncm91bmQ6ICNmMmYwNjE7IGNvbG9yOiAjZmYwMDAwOyBmb250LXNpemU6IHgtbGFyZ2UnKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhgJWMke21lc3NhZ2V9YCwgJ2ZvbnQtc2l6ZTogeC1sYXJnZScpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFxyXG4gICAgICAgICAgJyVjICBfXyAgX18gICAgICAgICAgICAgXyAgICAgICAgICAgICBfX19fX18gICBcXG4gJyArXHJcbiAgICAgICAgICAnfCAgXFxcXC8gIHwgX19fICBfIF9fIHwgfCBfX19fXyBfICAgX1xcXFwgXFxcXCBcXFxcIFxcXFwgIFxcbiAnICtcclxuICAgICAgICAgIFwifCB8XFxcXC98IHwvIF8gXFxcXHwgJ18gXFxcXHwgfC8gLyBfIFxcXFwgfCB8IHxcXFxcIFxcXFwgXFxcXCBcXFxcIFxcbiBcIiArXHJcbiAgICAgICAgICAnfCB8ICB8IHwgKF8pIHwgfCB8IHwgICA8ICBfXy8gfF98IHwvIC8gLyAvIFxcbiAnICtcclxuICAgICAgICAgICd8X3wgIHxffFxcXFxfX18vfF98IHxffF98XFxcXF9cXFxcX19ffFxcXFxfXywgL18vXy9fLyAgXFxuICcgK1xyXG4gICAgICAgICAgJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfF9fXy8gICAgICAgICBcXG4gJyArXHJcbiAgICAgICAgICAnSm9pbiB1czogaHR0cHM6Ly9tb25rZXllY3guZ3VweS5pbycsICdiYWNrZ3JvdW5kOiAjMTk3NmQyOyBjb2xvcjogI2ZmZidcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhcHBseSgpIHtcclxuICAgIHRoaXMuaGFuZGxlVmFsaWRhdGlvbigpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,54 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { concat, interval } from 'rxjs';
3
+ import { first } from 'rxjs/operators';
4
+ import { VersionChangedComponent } from '../../../components/version-changed';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/service-worker";
7
+ import * as i2 from "monkey-style-guide";
8
+ export class MonkeyEcxServiceWorkerConfigService {
9
+ constructor(appRef, updates, modalService) {
10
+ this.appRef = appRef;
11
+ this.updates = updates;
12
+ this.modalService = modalService;
13
+ // not to do
14
+ }
15
+ handleValidation(config) {
16
+ var _a;
17
+ const { updates, modalService } = this;
18
+ (_a = updates === null || updates === void 0 ? void 0 : updates.available) === null || _a === void 0 ? void 0 : _a.subscribe(() => {
19
+ if (!config.showNewVersion || config.maintenance.closed) {
20
+ document.location.reload();
21
+ }
22
+ else {
23
+ modalService.open(VersionChangedComponent, {
24
+ color: 'theme',
25
+ size: 'md'
26
+ });
27
+ }
28
+ });
29
+ }
30
+ verify() {
31
+ const { appRef, updates } = this;
32
+ const appIsStable$ = appRef.isStable
33
+ .pipe(first((isStable) => { return isStable === true; }));
34
+ const everyHour$ = interval(1 * 60 * 60 * 1000);
35
+ const everyHourOnceAppIsStable$ = concat(appIsStable$, everyHour$);
36
+ everyHourOnceAppIsStable$.subscribe(() => {
37
+ updates.checkForUpdate();
38
+ });
39
+ updates.checkForUpdate();
40
+ }
41
+ apply(config) {
42
+ this.handleValidation(config);
43
+ this.verify();
44
+ }
45
+ }
46
+ MonkeyEcxServiceWorkerConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxServiceWorkerConfigService, deps: [{ token: i0.ApplicationRef }, { token: i1.SwUpdate }, { token: i2.MonkeyStyleGuideModalService }], target: i0.ɵɵFactoryTarget.Injectable });
47
+ MonkeyEcxServiceWorkerConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxServiceWorkerConfigService, providedIn: 'root' });
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxServiceWorkerConfigService, decorators: [{
49
+ type: Injectable,
50
+ args: [{
51
+ providedIn: 'root'
52
+ }]
53
+ }], ctorParameters: function () { return [{ type: i0.ApplicationRef }, { type: i1.SwUpdate }, { type: i2.MonkeyStyleGuideModalService }]; } });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXNlcnZpY2Utd29ya2VyLWNvbmZpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2NvbmZpZy9tb25rZXllY3gtc2VydmljZS13b3JrZXItY29uZmlnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQixVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7O0FBTTlFLE1BQU0sT0FBTyxtQ0FBbUM7SUFDOUMsWUFDVSxNQUFzQixFQUN0QixPQUFpQixFQUNqQixZQUEwQztRQUYxQyxXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0QixZQUFPLEdBQVAsT0FBTyxDQUFVO1FBQ2pCLGlCQUFZLEdBQVosWUFBWSxDQUE4QjtRQUNsRCxZQUFZO0lBQ2QsQ0FBQztJQUVPLGdCQUFnQixDQUFDLE1BQStCOztRQUN0RCxNQUFNLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQztRQUN2QyxNQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxTQUFTLDBDQUFFLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3ZELFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDNUI7aUJBQU07Z0JBQ0wsWUFBWSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRTtvQkFDekMsS0FBSyxFQUFFLE9BQU87b0JBQ2QsSUFBSSxFQUFFLElBQUk7aUJBQ1gsQ0FBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxNQUFNO1FBQ1osTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDakMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLFFBQVE7YUFDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQWlCLEVBQUUsRUFBRSxHQUFHLE9BQU8sUUFBUSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckUsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ2hELE1BQU0seUJBQXlCLEdBQUcsTUFBTSxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNuRSx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3ZDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU0sS0FBSyxDQUFDLE1BQStCO1FBQzFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQzs7aUlBckNVLG1DQUFtQztxSUFBbkMsbUNBQW1DLGNBRmxDLE1BQU07NEZBRVAsbUNBQW1DO2tCQUgvQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcGxpY2F0aW9uUmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTd1VwZGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL3NlcnZpY2Utd29ya2VyJztcbmltcG9ydCB7IE1vbmtleVN0eWxlR3VpZGVNb2RhbFNlcnZpY2UgfSBmcm9tICdtb25rZXktc3R5bGUtZ3VpZGUnO1xuaW1wb3J0IHsgY29uY2F0LCBpbnRlcnZhbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBWZXJzaW9uQ2hhbmdlZENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvdmVyc2lvbi1jaGFuZ2VkJztcbmltcG9ydCB7IE1vbmtleUVjeENvbmZpZ0Jvb3N0cmFwIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1vbmtleUVjeFNlcnZpY2VXb3JrZXJDb25maWdTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgIHByaXZhdGUgdXBkYXRlczogU3dVcGRhdGUsXG4gICAgcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IE1vbmtleVN0eWxlR3VpZGVNb2RhbFNlcnZpY2UpIHtcbiAgICAvLyBub3QgdG8gZG9cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlVmFsaWRhdGlvbihjb25maWc6IE1vbmtleUVjeENvbmZpZ0Jvb3N0cmFwKSB7XG4gICAgY29uc3QgeyB1cGRhdGVzLCBtb2RhbFNlcnZpY2UgfSA9IHRoaXM7XG4gICAgdXBkYXRlcz8uYXZhaWxhYmxlPy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgaWYgKCFjb25maWcuc2hvd05ld1ZlcnNpb24gfHwgY29uZmlnLm1haW50ZW5hbmNlLmNsb3NlZCkge1xuICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5yZWxvYWQoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG1vZGFsU2VydmljZS5vcGVuKFZlcnNpb25DaGFuZ2VkQ29tcG9uZW50LCB7XG4gICAgICAgICAgY29sb3I6ICd0aGVtZScsXG4gICAgICAgICAgc2l6ZTogJ21kJ1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdmVyaWZ5KCkge1xuICAgIGNvbnN0IHsgYXBwUmVmLCB1cGRhdGVzIH0gPSB0aGlzO1xuICAgIGNvbnN0IGFwcElzU3RhYmxlJCA9IGFwcFJlZi5pc1N0YWJsZVxuICAgICAgLnBpcGUoZmlyc3QoKGlzU3RhYmxlOiBib29sZWFuKSA9PiB7IHJldHVybiBpc1N0YWJsZSA9PT0gdHJ1ZTsgfSkpO1xuICAgIGNvbnN0IGV2ZXJ5SG91ciQgPSBpbnRlcnZhbCgxICogNjAgKiA2MCAqIDEwMDApO1xuICAgIGNvbnN0IGV2ZXJ5SG91ck9uY2VBcHBJc1N0YWJsZSQgPSBjb25jYXQoYXBwSXNTdGFibGUkLCBldmVyeUhvdXIkKTtcbiAgICBldmVyeUhvdXJPbmNlQXBwSXNTdGFibGUkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB1cGRhdGVzLmNoZWNrRm9yVXBkYXRlKCk7XG4gICAgfSk7XG4gICAgdXBkYXRlcy5jaGVja0ZvclVwZGF0ZSgpO1xuICB9XG5cbiAgcHVibGljIGFwcGx5KGNvbmZpZzogTW9ua2V5RWN4Q29uZmlnQm9vc3RyYXApIHtcbiAgICB0aGlzLmhhbmRsZVZhbGlkYXRpb24oY29uZmlnKTtcbiAgICB0aGlzLnZlcmlmeSgpO1xuICB9XG59XG4iXX0=
@@ -2,4 +2,4 @@ export * from './monkeyecx-error-handling.module';
2
2
  export * from './monkeyecx-error-handling.service';
3
3
  export * from './monkeyecx-http-error-handling.service';
4
4
  export * from './monkeyecx-others-errors-handling.service';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvZXJyb3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyw0Q0FBNEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LWVycm9yLWhhbmRsaW5nLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL21vbmtleWVjeC1lcnJvci1oYW5kbGluZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LWh0dHAtZXJyb3ItaGFuZGxpbmcuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL21vbmtleWVjeC1vdGhlcnMtZXJyb3JzLWhhbmRsaW5nLnNlcnZpY2UnO1xuIl19
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvZXJyb3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyw0Q0FBNEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LWVycm9yLWhhbmRsaW5nLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LWVycm9yLWhhbmRsaW5nLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL21vbmtleWVjeC1odHRwLWVycm9yLWhhbmRsaW5nLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL21vbmtleWVjeC1vdGhlcnMtZXJyb3JzLWhhbmRsaW5nLnNlcnZpY2UnO1xyXG4iXX0=
@@ -15,13 +15,13 @@ export class MonkeyEcxErrorHandlingModule {
15
15
  };
16
16
  }
17
17
  }
18
- MonkeyEcxErrorHandlingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyEcxErrorHandlingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
- MonkeyEcxErrorHandlingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyEcxErrorHandlingModule, imports: [CommonModule] });
20
- MonkeyEcxErrorHandlingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyEcxErrorHandlingModule, imports: [[CommonModule]] });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyEcxErrorHandlingModule, decorators: [{
18
+ MonkeyEcxErrorHandlingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxErrorHandlingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
+ MonkeyEcxErrorHandlingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxErrorHandlingModule, imports: [CommonModule] });
20
+ MonkeyEcxErrorHandlingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxErrorHandlingModule, imports: [[CommonModule]] });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxErrorHandlingModule, decorators: [{
22
22
  type: NgModule,
23
23
  args: [{
24
24
  imports: [CommonModule],
25
25
  }]
26
26
  }] });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWVycm9yLWhhbmRsaW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9lcnJvci9tb25rZXllY3gtZXJyb3ItaGFuZGxpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBS25GLE1BQU0sT0FBTyw0QkFBNEI7SUFDaEMsTUFBTSxDQUFDLE9BQU87UUFDbkIsT0FBTztZQUNMLFFBQVEsRUFBRSw0QkFBNEI7WUFDdEMsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxZQUFZO29CQUNyQixRQUFRLEVBQUUsNkJBQTZCO2lCQUN4QzthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7O3lIQVhVLDRCQUE0QjswSEFBNUIsNEJBQTRCLFlBRjdCLFlBQVk7MEhBRVgsNEJBQTRCLFlBRjlCLENBQUMsWUFBWSxDQUFDOzJGQUVaLDRCQUE0QjtrQkFIeEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXJyb3JIYW5kbGVyLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1vbmtleUVjeEVycm9ySGFuZGxpbmdTZXJ2aWNlIH0gZnJvbSAnLi9tb25rZXllY3gtZXJyb3ItaGFuZGxpbmcuc2VydmljZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hFcnJvckhhbmRsaW5nTW9kdWxlIHtcbiAgcHVibGljIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8TW9ua2V5RWN4RXJyb3JIYW5kbGluZ01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogTW9ua2V5RWN4RXJyb3JIYW5kbGluZ01vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogRXJyb3JIYW5kbGVyLFxuICAgICAgICAgIHVzZUNsYXNzOiBNb25rZXlFY3hFcnJvckhhbmRsaW5nU2VydmljZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufVxuIl19
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWVycm9yLWhhbmRsaW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9lcnJvci9tb25rZXllY3gtZXJyb3ItaGFuZGxpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBS25GLE1BQU0sT0FBTyw0QkFBNEI7SUFDaEMsTUFBTSxDQUFDLE9BQU87UUFDbkIsT0FBTztZQUNMLFFBQVEsRUFBRSw0QkFBNEI7WUFDdEMsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxZQUFZO29CQUNyQixRQUFRLEVBQUUsNkJBQTZCO2lCQUN4QzthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7OzBIQVhVLDRCQUE0QjsySEFBNUIsNEJBQTRCLFlBRjdCLFlBQVk7MkhBRVgsNEJBQTRCLFlBRjlCLENBQUMsWUFBWSxDQUFDOzRGQUVaLDRCQUE0QjtrQkFIeEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXJyb3JIYW5kbGVyLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hFcnJvckhhbmRsaW5nU2VydmljZSB9IGZyb20gJy4vbW9ua2V5ZWN4LWVycm9yLWhhbmRsaW5nLnNlcnZpY2UnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1vbmtleUVjeEVycm9ySGFuZGxpbmdNb2R1bGUge1xyXG4gIHB1YmxpYyBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE1vbmtleUVjeEVycm9ySGFuZGxpbmdNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBNb25rZXlFY3hFcnJvckhhbmRsaW5nTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBFcnJvckhhbmRsZXIsXHJcbiAgICAgICAgICB1c2VDbGFzczogTW9ua2V5RWN4RXJyb3JIYW5kbGluZ1NlcnZpY2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,41 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { HttpErrorResponse } from '@angular/common/http';
3
+ import { MonkeyEcxHttpErrorHandlingService } from './monkeyecx-http-error-handling.service';
4
+ import { MonkeyEcxHandlingService } from '../monkeyecx-handling.service';
5
+ import { MonkeyEcxOthersErrorsHandlingService } from './monkeyecx-others-errors-handling.service';
6
+ import { MonkeyEcxUtils } from '../../utils/utils';
7
+ import * as i0 from "@angular/core";
8
+ export class MonkeyEcxErrorHandlingService {
9
+ constructor(injector) {
10
+ this.injector = injector;
11
+ // not to do
12
+ }
13
+ handleError(error, type) {
14
+ const { injector } = this;
15
+ const handlingService = injector.get(MonkeyEcxHandlingService);
16
+ const httpErrorHandlingService = injector.get(MonkeyEcxHttpErrorHandlingService);
17
+ const othersErrorsHandlingService = injector.get(MonkeyEcxOthersErrorsHandlingService);
18
+ console.log('======error');
19
+ console.log(error);
20
+ if (error instanceof HttpErrorResponse) {
21
+ const sCredentials = (handlingService === null || handlingService === void 0 ? void 0 : handlingService.getMonkeyEcxServiceCredentials()) || {};
22
+ if (MonkeyEcxUtils.persistNullEmptyUndefined(type) && type === 'refresh_token') {
23
+ httpErrorHandlingService.handleErrorRefreshToken(error, sCredentials);
24
+ }
25
+ else
26
+ httpErrorHandlingService.handleError(error, sCredentials);
27
+ }
28
+ else {
29
+ othersErrorsHandlingService.handleError(error);
30
+ }
31
+ }
32
+ }
33
+ MonkeyEcxErrorHandlingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxErrorHandlingService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
34
+ MonkeyEcxErrorHandlingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxErrorHandlingService, providedIn: 'root' });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxErrorHandlingService, decorators: [{
36
+ type: Injectable,
37
+ args: [{
38
+ providedIn: 'root',
39
+ }]
40
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWVycm9yLWhhbmRsaW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvZXJyb3IvbW9ua2V5ZWN4LWVycm9yLWhhbmRsaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBMEIsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDNUYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQU1uRCxNQUFNLE9BQU8sNkJBQTZCO0lBQ3hDLFlBQW9CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDcEMsWUFBWTtJQUNkLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBVSxFQUFFLElBQWE7UUFDbkMsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQztRQUMxQixNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDL0QsTUFBTSx3QkFBd0IsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7UUFDakYsTUFBTSwyQkFBMkIsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7UUFFdkYsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMzQixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRW5CLElBQUksS0FBSyxZQUFZLGlCQUFpQixFQUFFO1lBQ3RDLE1BQU0sWUFBWSxHQUNoQixDQUFBLGVBQWUsYUFBZixlQUFlLHVCQUFmLGVBQWUsQ0FBRSw4QkFBOEIsRUFBRSxLQUFJLEVBQUUsQ0FBQztZQUMxRCxJQUFJLGNBQWMsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEtBQUssZUFBZSxFQUFFO2dCQUM5RSx3QkFBd0IsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7YUFDdkU7O2dCQUFNLHdCQUF3QixDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7U0FDbEU7YUFBTTtZQUNMLDJCQUEyQixDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNoRDtJQUNILENBQUM7OzJIQXZCVSw2QkFBNkI7K0hBQTdCLDZCQUE2QixjQUY1QixNQUFNOzRGQUVQLDZCQUE2QjtrQkFIekMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciwgRXJyb3JIYW5kbGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hIdHRwRXJyb3JIYW5kbGluZ1NlcnZpY2UgfSBmcm9tICcuL21vbmtleWVjeC1odHRwLWVycm9yLWhhbmRsaW5nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hIYW5kbGluZ1NlcnZpY2UgfSBmcm9tICcuLi9tb25rZXllY3gtaGFuZGxpbmcuc2VydmljZSc7XHJcbmltcG9ydCB7IE1vbmtleUVjeE90aGVyc0Vycm9yc0hhbmRsaW5nU2VydmljZSB9IGZyb20gJy4vbW9ua2V5ZWN4LW90aGVycy1lcnJvcnMtaGFuZGxpbmcuc2VydmljZSc7XHJcbmltcG9ydCB7IE1vbmtleUVjeFV0aWxzIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbHMnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hTZXJ2aWNlQ3JlZGVudGlhbHMgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hFcnJvckhhbmRsaW5nU2VydmljZSBpbXBsZW1lbnRzIEVycm9ySGFuZGxlciB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgIC8vIG5vdCB0byBkb1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlRXJyb3IoZXJyb3I6IGFueSwgdHlwZT86IHN0cmluZykge1xyXG4gICAgY29uc3QgeyBpbmplY3RvciB9ID0gdGhpcztcclxuICAgIGNvbnN0IGhhbmRsaW5nU2VydmljZSA9IGluamVjdG9yLmdldChNb25rZXlFY3hIYW5kbGluZ1NlcnZpY2UpO1xyXG4gICAgY29uc3QgaHR0cEVycm9ySGFuZGxpbmdTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KE1vbmtleUVjeEh0dHBFcnJvckhhbmRsaW5nU2VydmljZSk7XHJcbiAgICBjb25zdCBvdGhlcnNFcnJvcnNIYW5kbGluZ1NlcnZpY2UgPSBpbmplY3Rvci5nZXQoTW9ua2V5RWN4T3RoZXJzRXJyb3JzSGFuZGxpbmdTZXJ2aWNlKTtcclxuXHJcbiAgICBjb25zb2xlLmxvZygnPT09PT09ZXJyb3InKTtcclxuICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuXHJcbiAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xyXG4gICAgICBjb25zdCBzQ3JlZGVudGlhbHM6IE1vbmtleUVjeFNlcnZpY2VDcmVkZW50aWFscyA9XHJcbiAgICAgICAgaGFuZGxpbmdTZXJ2aWNlPy5nZXRNb25rZXlFY3hTZXJ2aWNlQ3JlZGVudGlhbHMoKSB8fCB7fTtcclxuICAgICAgaWYgKE1vbmtleUVjeFV0aWxzLnBlcnNpc3ROdWxsRW1wdHlVbmRlZmluZWQodHlwZSkgJiYgdHlwZSA9PT0gJ3JlZnJlc2hfdG9rZW4nKSB7XHJcbiAgICAgICAgaHR0cEVycm9ySGFuZGxpbmdTZXJ2aWNlLmhhbmRsZUVycm9yUmVmcmVzaFRva2VuKGVycm9yLCBzQ3JlZGVudGlhbHMpO1xyXG4gICAgICB9IGVsc2UgaHR0cEVycm9ySGFuZGxpbmdTZXJ2aWNlLmhhbmRsZUVycm9yKGVycm9yLCBzQ3JlZGVudGlhbHMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgb3RoZXJzRXJyb3JzSGFuZGxpbmdTZXJ2aWNlLmhhbmRsZUVycm9yKGVycm9yKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,132 @@
1
+ import { Injectable, NgZone } from '@angular/core';
2
+ import { MonkeyEcxCommonsService } from '../commons';
3
+ import { MonkeyEcxUtils } from '../../utils/utils';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../monkeyecx-service.service";
6
+ import * as i2 from "../storage";
7
+ import * as i3 from "../auth";
8
+ import * as i4 from "@angular/router";
9
+ import * as i5 from "monkey-style-guide";
10
+ import * as i6 from "@ngx-translate/core";
11
+ export class MonkeyEcxHttpErrorHandlingService extends MonkeyEcxCommonsService {
12
+ constructor(monkeyecxService, tokenStorage, monkeyecxAuthenticationService, router, snackbarService, translateService) {
13
+ super(monkeyecxService, tokenStorage);
14
+ this.monkeyecxAuthenticationService = monkeyecxAuthenticationService;
15
+ this.router = router;
16
+ this.snackbarService = snackbarService;
17
+ this.translateService = translateService;
18
+ super.resolve(null, null);
19
+ this.geti18n(this.translateService, 'SERVICES.WARNING');
20
+ }
21
+ isHttpCodeIgnoreMessage(tp, httpCode) {
22
+ var _a, _b;
23
+ if (!MonkeyEcxUtils.persistNullEmptyUndefined(tp) && !(tp === null || tp === void 0 ? void 0 : tp.httpResponse)) {
24
+ return false;
25
+ }
26
+ const found = ((_b = (((_a = tp === null || tp === void 0 ? void 0 : tp.httpResponse) === null || _a === void 0 ? void 0 : _a.httpCodeIgnore) || [])) === null || _b === void 0 ? void 0 : _b.indexOf(httpCode)) > -1;
27
+ return found;
28
+ }
29
+ isHttpCodeIgnoreRedirect(tp, httpCode) {
30
+ var _a, _b;
31
+ if (!MonkeyEcxUtils.persistNullEmptyUndefined(tp) && !(tp === null || tp === void 0 ? void 0 : tp.httpResponse)) {
32
+ return false;
33
+ }
34
+ const found = ((_b = (((_a = tp === null || tp === void 0 ? void 0 : tp.httpResponse) === null || _a === void 0 ? void 0 : _a.httpCodeIgnoreRedirect) || [])) === null || _b === void 0 ? void 0 : _b.indexOf(httpCode)) > -1;
35
+ return found;
36
+ }
37
+ getMessageType(status) {
38
+ if (status === 409 || status === 400) {
39
+ return 'warning';
40
+ }
41
+ return 'error';
42
+ }
43
+ showMessage(message, error, mkc) {
44
+ var _a;
45
+ const { snackbarService } = this;
46
+ if (!this.isHttpCodeIgnoreMessage(mkc, error.status)) {
47
+ snackbarService.show({
48
+ title: (_a = this.__i18n) === null || _a === void 0 ? void 0 : _a.TITLE,
49
+ message,
50
+ type: this.getMessageType(error.status),
51
+ duration: 4000,
52
+ horizontalPosition: 'center',
53
+ verticalPosition: 'top'
54
+ });
55
+ }
56
+ }
57
+ handleMessage(error, mkc) {
58
+ var _a;
59
+ // eslint-disable-next-line camelcase
60
+ const { notifications, error_description, message } = error.error;
61
+ let customMessage = '';
62
+ if (message) {
63
+ customMessage = message;
64
+ }
65
+ // eslint-disable-next-line camelcase
66
+ if (error_description) {
67
+ // eslint-disable-next-line camelcase
68
+ customMessage = error_description;
69
+ }
70
+ if (notifications) {
71
+ customMessage = notifications;
72
+ }
73
+ if (!customMessage) {
74
+ if (error.error instanceof Blob) {
75
+ const blob = new Blob([error.error], {
76
+ type: 'application/json'
77
+ });
78
+ const reader = new FileReader();
79
+ reader.addEventListener('loadend', (e) => {
80
+ var _a;
81
+ const text = (_a = e === null || e === void 0 ? void 0 : e.target) === null || _a === void 0 ? void 0 : _a.result;
82
+ const jsonResp = JSON.parse(text);
83
+ customMessage = jsonResp.notifications;
84
+ this.showMessage(customMessage, error, mkc);
85
+ });
86
+ reader.readAsText(blob);
87
+ }
88
+ else {
89
+ this.showMessage((_a = this.__i18n['ERROR-HANDLING']) === null || _a === void 0 ? void 0 : _a.ERROR, error, mkc);
90
+ }
91
+ }
92
+ else {
93
+ this.showMessage(customMessage, error, mkc);
94
+ }
95
+ }
96
+ handleError(error, mkc) {
97
+ const { router } = this;
98
+ const { status } = error;
99
+ const routes = {
100
+ 403: 'forbidden',
101
+ 500: 'service-problems',
102
+ 503: 'service-problems'
103
+ };
104
+ const found = routes[status];
105
+ let timeout = 0;
106
+ if (found && !this.isHttpCodeIgnoreRedirect(mkc, error === null || error === void 0 ? void 0 : error.status)) {
107
+ const route = `/app/pages/${found}`.toLowerCase();
108
+ timeout = 800;
109
+ router.navigate([route]);
110
+ }
111
+ setTimeout(() => {
112
+ this.handleMessage(error, mkc);
113
+ }, timeout);
114
+ }
115
+ handleErrorRefreshToken(error, mkc) {
116
+ if (error.status === 401 || error.status === 400) {
117
+ NgZone.call(this.monkeyecxAuthenticationService.redirectLoginWelcomeBack(), {});
118
+ }
119
+ else if (!this.isHttpCodeIgnoreMessage(mkc, error.status)) {
120
+ this.handleMessage(error, mkc);
121
+ }
122
+ }
123
+ }
124
+ MonkeyEcxHttpErrorHandlingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxHttpErrorHandlingService, deps: [{ token: i1.MonkeyEcxService }, { token: i2.MonkeyEcxTokenStorageService }, { token: i3.MonkeyEcxAuthenticationService }, { token: i4.Router }, { token: i5.MonkeyStyleGuideSnackbarService }, { token: i6.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
125
+ MonkeyEcxHttpErrorHandlingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxHttpErrorHandlingService, providedIn: 'root' });
126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxHttpErrorHandlingService, decorators: [{
127
+ type: Injectable,
128
+ args: [{
129
+ providedIn: 'root'
130
+ }]
131
+ }], ctorParameters: function () { return [{ type: i1.MonkeyEcxService }, { type: i2.MonkeyEcxTokenStorageService }, { type: i3.MonkeyEcxAuthenticationService }, { type: i4.Router }, { type: i5.MonkeyStyleGuideSnackbarService }, { type: i6.TranslateService }]; } });
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWh0dHAtZXJyb3ItaGFuZGxpbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9lcnJvci9tb25rZXllY3gtaHR0cC1lcnJvci1oYW5kbGluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUW5ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7O0FBS25ELE1BQU0sT0FBTyxpQ0FBa0MsU0FBUSx1QkFBdUI7SUFDNUUsWUFDRSxnQkFBa0MsRUFDbEMsWUFBMEMsRUFDbEMsOEJBQThELEVBQzlELE1BQWMsRUFDZCxlQUFnRCxFQUNoRCxnQkFBa0M7UUFFMUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLFlBQVksQ0FBQyxDQUFDO1FBTDlCLG1DQUE4QixHQUE5Qiw4QkFBOEIsQ0FBZ0M7UUFDOUQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG9CQUFlLEdBQWYsZUFBZSxDQUFpQztRQUNoRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBSTFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTFCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVPLHVCQUF1QixDQUFDLEVBQStCLEVBQUUsUUFBZ0I7O1FBQy9FLElBQUksQ0FBQyxjQUFjLENBQUMseUJBQXlCLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFBLEVBQUUsYUFBRixFQUFFLHVCQUFGLEVBQUUsQ0FBRSxZQUFZLENBQUEsRUFBRTtZQUN0RSxPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsTUFBTSxLQUFLLEdBQUcsQ0FBQSxNQUFBLENBQUMsQ0FBQSxNQUFBLEVBQUUsYUFBRixFQUFFLHVCQUFGLEVBQUUsQ0FBRSxZQUFZLDBDQUFFLGNBQWMsS0FBSSxFQUFFLENBQUMsMENBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFHLENBQUMsQ0FBQyxDQUFDO1FBRS9FLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLHdCQUF3QixDQUM5QixFQUErQixFQUMvQixRQUFnQjs7UUFFaEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUEsRUFBRSxhQUFGLEVBQUUsdUJBQUYsRUFBRSxDQUFFLFlBQVksQ0FBQSxFQUFFO1lBQ3RFLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxNQUFNLEtBQUssR0FBRyxDQUFBLE1BQUEsQ0FBQyxDQUFBLE1BQUEsRUFBRSxhQUFGLEVBQUUsdUJBQUYsRUFBRSxDQUFFLFlBQVksMENBQUUsc0JBQXNCLEtBQUksRUFBRSxDQUFDLDBDQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBRyxDQUFDLENBQUMsQ0FBQztRQUV2RixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTyxjQUFjLENBQUMsTUFBYztRQUNuQyxJQUFJLE1BQU0sS0FBSyxHQUFHLElBQUksTUFBTSxLQUFLLEdBQUcsRUFBRTtZQUNwQyxPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFTyxXQUFXLENBQ2pCLE9BQWUsRUFDZixLQUF3QixFQUN4QixHQUFnQzs7UUFFaEMsTUFBTSxFQUFFLGVBQWUsRUFBRSxHQUFHLElBQUksQ0FBQztRQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDcEQsZUFBZSxDQUFDLElBQUksQ0FBQztnQkFDbkIsS0FBSyxFQUFFLE1BQUEsSUFBSSxDQUFDLE1BQU0sMENBQUUsS0FBSztnQkFDekIsT0FBTztnQkFDUCxJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO2dCQUN2QyxRQUFRLEVBQUUsSUFBSTtnQkFDZCxrQkFBa0IsRUFBRSxRQUFRO2dCQUM1QixnQkFBZ0IsRUFBRSxLQUFLO2FBQ3hCLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVPLGFBQWEsQ0FBQyxLQUF3QixFQUFFLEdBQWdDOztRQUM5RSxxQ0FBcUM7UUFDckMsTUFBTSxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ2xFLElBQUksYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUV2QixJQUFJLE9BQU8sRUFBRTtZQUNYLGFBQWEsR0FBRyxPQUFPLENBQUM7U0FDekI7UUFFRCxxQ0FBcUM7UUFDckMsSUFBSSxpQkFBaUIsRUFBRTtZQUNyQixxQ0FBcUM7WUFDckMsYUFBYSxHQUFHLGlCQUFpQixDQUFDO1NBQ25DO1FBRUQsSUFBSSxhQUFhLEVBQUU7WUFDakIsYUFBYSxHQUFHLGFBQWEsQ0FBQztTQUMvQjtRQUVELElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDbEIsSUFBSSxLQUFLLENBQUMsS0FBSyxZQUFZLElBQUksRUFBRTtnQkFDL0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ25DLElBQUksRUFBRSxrQkFBa0I7aUJBQ3pCLENBQUMsQ0FBQztnQkFDSCxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUNoQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7O29CQUN2QyxNQUFNLElBQUksR0FBRyxNQUFBLENBQUMsYUFBRCxDQUFDLHVCQUFELENBQUMsQ0FBRSxNQUFNLDBDQUFFLE1BQU0sQ0FBQztvQkFDL0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFjLENBQUMsQ0FBQztvQkFDNUMsYUFBYSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUM7b0JBQ3ZDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDOUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN6QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQUEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQywwQ0FBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2FBQ3BFO1NBQ0Y7YUFBTTtZQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztTQUM3QztJQUNILENBQUM7SUFFTSxXQUFXLENBQUMsS0FBd0IsRUFBRSxHQUFnQztRQUMzRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFFekIsTUFBTSxNQUFNLEdBQVE7WUFDbEIsR0FBRyxFQUFFLFdBQVc7WUFDaEIsR0FBRyxFQUFFLGtCQUFrQjtZQUN2QixHQUFHLEVBQUUsa0JBQWtCO1NBQ3hCLENBQUM7UUFFRixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0IsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO1FBRWhCLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLEdBQUcsRUFBRSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsTUFBTSxDQUFDLEVBQUU7WUFDL0QsTUFBTSxLQUFLLEdBQUcsY0FBYyxLQUFLLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNsRCxPQUFPLEdBQUcsR0FBRyxDQUFDO1lBQ2QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDMUI7UUFFRCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDakMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2QsQ0FBQztJQUVNLHVCQUF1QixDQUFDLEtBQXdCLEVBQUUsR0FBZ0M7UUFDdkYsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtZQUNoRCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyx3QkFBd0IsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ2pGO2FBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzNELElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ2hDO0lBQ0gsQ0FBQzs7K0hBdklVLGlDQUFpQzttSUFBakMsaUNBQWlDLGNBRmhDLE1BQU07NEZBRVAsaUNBQWlDO2tCQUg3QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBNb25rZXlTdHlsZUd1aWRlU25hY2tiYXJTZXJ2aWNlIH0gZnJvbSAnbW9ua2V5LXN0eWxlLWd1aWRlJztcclxuaW1wb3J0IHsgTW9ua2V5RWN4QXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vYXV0aCc7XHJcbmltcG9ydCB7IE1vbmtleUVjeFNlcnZpY2UgfSBmcm9tICcuLi9tb25rZXllY3gtc2VydmljZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTW9ua2V5RWN4VG9rZW5TdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL3N0b3JhZ2UnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hDb21tb25zU2VydmljZSB9IGZyb20gJy4uL2NvbW1vbnMnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hTZXJ2aWNlQ3JlZGVudGlhbHMgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgTW9ua2V5RWN4VXRpbHMgfSBmcm9tICcuLi8uLi91dGlscy91dGlscyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hIdHRwRXJyb3JIYW5kbGluZ1NlcnZpY2UgZXh0ZW5kcyBNb25rZXlFY3hDb21tb25zU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBtb25rZXllY3hTZXJ2aWNlOiBNb25rZXlFY3hTZXJ2aWNlLFxyXG4gICAgdG9rZW5TdG9yYWdlOiBNb25rZXlFY3hUb2tlblN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtb25rZXllY3hBdXRoZW50aWNhdGlvblNlcnZpY2U6IE1vbmtleUVjeEF1dGhlbnRpY2F0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIHNuYWNrYmFyU2VydmljZTogTW9ua2V5U3R5bGVHdWlkZVNuYWNrYmFyU2VydmljZSxcclxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIobW9ua2V5ZWN4U2VydmljZSwgdG9rZW5TdG9yYWdlKTtcclxuXHJcbiAgICBzdXBlci5yZXNvbHZlKG51bGwsIG51bGwpO1xyXG5cclxuICAgIHRoaXMuZ2V0aTE4bih0aGlzLnRyYW5zbGF0ZVNlcnZpY2UsICdTRVJWSUNFUy5XQVJOSU5HJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzSHR0cENvZGVJZ25vcmVNZXNzYWdlKHRwOiBNb25rZXlFY3hTZXJ2aWNlQ3JlZGVudGlhbHMsIGh0dHBDb2RlOiBudW1iZXIpOiBib29sZWFuIHtcclxuICAgIGlmICghTW9ua2V5RWN4VXRpbHMucGVyc2lzdE51bGxFbXB0eVVuZGVmaW5lZCh0cCkgJiYgIXRwPy5odHRwUmVzcG9uc2UpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGZvdW5kID0gKHRwPy5odHRwUmVzcG9uc2U/Lmh0dHBDb2RlSWdub3JlIHx8IFtdKT8uaW5kZXhPZihodHRwQ29kZSkgPiAtMTtcclxuXHJcbiAgICByZXR1cm4gZm91bmQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzSHR0cENvZGVJZ25vcmVSZWRpcmVjdChcclxuICAgIHRwOiBNb25rZXlFY3hTZXJ2aWNlQ3JlZGVudGlhbHMsXHJcbiAgICBodHRwQ29kZTogbnVtYmVyXHJcbiAgKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIU1vbmtleUVjeFV0aWxzLnBlcnNpc3ROdWxsRW1wdHlVbmRlZmluZWQodHApICYmICF0cD8uaHR0cFJlc3BvbnNlKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBmb3VuZCA9ICh0cD8uaHR0cFJlc3BvbnNlPy5odHRwQ29kZUlnbm9yZVJlZGlyZWN0IHx8IFtdKT8uaW5kZXhPZihodHRwQ29kZSkgPiAtMTtcclxuXHJcbiAgICByZXR1cm4gZm91bmQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldE1lc3NhZ2VUeXBlKHN0YXR1czogbnVtYmVyKTogJ3RoZW1lJyB8ICd3YXJuaW5nJyB8ICdzdWNjZXNzJyB8ICdlcnJvcicgfCAncXVlc3Rpb24nIHtcclxuICAgIGlmIChzdGF0dXMgPT09IDQwOSB8fCBzdGF0dXMgPT09IDQwMCkge1xyXG4gICAgICByZXR1cm4gJ3dhcm5pbmcnO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAnZXJyb3InO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzaG93TWVzc2FnZShcclxuICAgIG1lc3NhZ2U6IHN0cmluZyxcclxuICAgIGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSxcclxuICAgIG1rYzogTW9ua2V5RWN4U2VydmljZUNyZWRlbnRpYWxzXHJcbiAgKSB7XHJcbiAgICBjb25zdCB7IHNuYWNrYmFyU2VydmljZSB9ID0gdGhpcztcclxuICAgIGlmICghdGhpcy5pc0h0dHBDb2RlSWdub3JlTWVzc2FnZShta2MsIGVycm9yLnN0YXR1cykpIHtcclxuICAgICAgc25hY2tiYXJTZXJ2aWNlLnNob3coe1xyXG4gICAgICAgIHRpdGxlOiB0aGlzLl9faTE4bj8uVElUTEUsXHJcbiAgICAgICAgbWVzc2FnZSxcclxuICAgICAgICB0eXBlOiB0aGlzLmdldE1lc3NhZ2VUeXBlKGVycm9yLnN0YXR1cyksXHJcbiAgICAgICAgZHVyYXRpb246IDQwMDAsXHJcbiAgICAgICAgaG9yaXpvbnRhbFBvc2l0aW9uOiAnY2VudGVyJyxcclxuICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uOiAndG9wJ1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlTWVzc2FnZShlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UsIG1rYzogTW9ua2V5RWN4U2VydmljZUNyZWRlbnRpYWxzKSB7XHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY2FtZWxjYXNlXHJcbiAgICBjb25zdCB7IG5vdGlmaWNhdGlvbnMsIGVycm9yX2Rlc2NyaXB0aW9uLCBtZXNzYWdlIH0gPSBlcnJvci5lcnJvcjtcclxuICAgIGxldCBjdXN0b21NZXNzYWdlID0gJyc7XHJcblxyXG4gICAgaWYgKG1lc3NhZ2UpIHtcclxuICAgICAgY3VzdG9tTWVzc2FnZSA9IG1lc3NhZ2U7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNhbWVsY2FzZVxyXG4gICAgaWYgKGVycm9yX2Rlc2NyaXB0aW9uKSB7XHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjYW1lbGNhc2VcclxuICAgICAgY3VzdG9tTWVzc2FnZSA9IGVycm9yX2Rlc2NyaXB0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChub3RpZmljYXRpb25zKSB7XHJcbiAgICAgIGN1c3RvbU1lc3NhZ2UgPSBub3RpZmljYXRpb25zO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghY3VzdG9tTWVzc2FnZSkge1xyXG4gICAgICBpZiAoZXJyb3IuZXJyb3IgaW5zdGFuY2VvZiBCbG9iKSB7XHJcbiAgICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtlcnJvci5lcnJvcl0sIHtcclxuICAgICAgICAgIHR5cGU6ICdhcHBsaWNhdGlvbi9qc29uJ1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcbiAgICAgICAgcmVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWRlbmQnLCAoZSkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdGV4dCA9IGU/LnRhcmdldD8ucmVzdWx0O1xyXG4gICAgICAgICAgY29uc3QganNvblJlc3AgPSBKU09OLnBhcnNlKHRleHQgYXMgc3RyaW5nKTtcclxuICAgICAgICAgIGN1c3RvbU1lc3NhZ2UgPSBqc29uUmVzcC5ub3RpZmljYXRpb25zO1xyXG4gICAgICAgICAgdGhpcy5zaG93TWVzc2FnZShjdXN0b21NZXNzYWdlLCBlcnJvciwgbWtjKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZWFkZXIucmVhZEFzVGV4dChibG9iKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNob3dNZXNzYWdlKHRoaXMuX19pMThuWydFUlJPUi1IQU5ETElORyddPy5FUlJPUiwgZXJyb3IsIG1rYyk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2hvd01lc3NhZ2UoY3VzdG9tTWVzc2FnZSwgZXJyb3IsIG1rYyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRXJyb3IoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlLCBta2M6IE1vbmtleUVjeFNlcnZpY2VDcmVkZW50aWFscykge1xyXG4gICAgY29uc3QgeyByb3V0ZXIgfSA9IHRoaXM7XHJcbiAgICBjb25zdCB7IHN0YXR1cyB9ID0gZXJyb3I7XHJcblxyXG4gICAgY29uc3Qgcm91dGVzOiBhbnkgPSB7XHJcbiAgICAgIDQwMzogJ2ZvcmJpZGRlbicsXHJcbiAgICAgIDUwMDogJ3NlcnZpY2UtcHJvYmxlbXMnLFxyXG4gICAgICA1MDM6ICdzZXJ2aWNlLXByb2JsZW1zJ1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBmb3VuZCA9IHJvdXRlc1tzdGF0dXNdO1xyXG4gICAgbGV0IHRpbWVvdXQgPSAwO1xyXG5cclxuICAgIGlmIChmb3VuZCAmJiAhdGhpcy5pc0h0dHBDb2RlSWdub3JlUmVkaXJlY3QobWtjLCBlcnJvcj8uc3RhdHVzKSkge1xyXG4gICAgICBjb25zdCByb3V0ZSA9IGAvYXBwL3BhZ2VzLyR7Zm91bmR9YC50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICB0aW1lb3V0ID0gODAwO1xyXG4gICAgICByb3V0ZXIubmF2aWdhdGUoW3JvdXRlXSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuaGFuZGxlTWVzc2FnZShlcnJvciwgbWtjKTtcclxuICAgIH0sIHRpbWVvdXQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUVycm9yUmVmcmVzaFRva2VuKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSwgbWtjOiBNb25rZXlFY3hTZXJ2aWNlQ3JlZGVudGlhbHMpIHtcclxuICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDQwMSB8fCBlcnJvci5zdGF0dXMgPT09IDQwMCkge1xyXG4gICAgICBOZ1pvbmUuY2FsbCh0aGlzLm1vbmtleWVjeEF1dGhlbnRpY2F0aW9uU2VydmljZS5yZWRpcmVjdExvZ2luV2VsY29tZUJhY2soKSwge30pO1xyXG4gICAgfSBlbHNlIGlmICghdGhpcy5pc0h0dHBDb2RlSWdub3JlTWVzc2FnZShta2MsIGVycm9yLnN0YXR1cykpIHtcclxuICAgICAgdGhpcy5oYW5kbGVNZXNzYWdlKGVycm9yLCBta2MpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=