monkey-front-core 0.0.94 → 0.0.98

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 -225
  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.98.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 -280
  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 -4265
  207. package/fesm2020/monkey-front-core.mjs.map +0 -1
  208. package/monkey-front-core-0.0.94.tgz +0 -0
@@ -1,25 +0,0 @@
1
- export * from './request-download';
2
- export * from './request-queue';
3
- export * from './request-upload';
4
- export * from './schedules';
5
- export * from './monkeyecx-auth-credentials';
6
- export * from './monkeyecx-company';
7
- export * from './monkeyecx-config-boostrap';
8
- export * from './monkeyecx-config';
9
- export * from './monkeyecx-error-response';
10
- export * from './monkeyecx-handled-error-response';
11
- export * from './monkeyecx-header-credentials';
12
- export * from './monkeyecx-intercom-options';
13
- export * from './monkeyecx-me-credentials';
14
- export * from './monkeyecx-navigation';
15
- export * from './monkeyecx-program';
16
- export * from './monkeyecx-releases';
17
- export * from './monkeyecx-request-in-progress';
18
- export * from './monkeyecx-request-paged';
19
- export * from './monkeyecx-response-links';
20
- export * from './monkeyecx-response-paged';
21
- export * from './monkeyecx-service-credentials';
22
- export * from './monkeyecx-support-options';
23
- export * from './monkeyecx-token-credentials';
24
- export * from './monkeyecx-translate-options';
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvaW50ZXJmYWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3JlcXVlc3QtZG93bmxvYWQnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXF1ZXN0LXF1ZXVlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVxdWVzdC11cGxvYWQnO1xuZXhwb3J0ICogZnJvbSAnLi9zY2hlZHVsZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9tb25rZXllY3gtYXV0aC1jcmVkZW50aWFscyc7XG5leHBvcnQgKiBmcm9tICcuL21vbmtleWVjeC1jb21wYW55JztcbmV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LWNvbmZpZy1ib29zdHJhcCc7XG5leHBvcnQgKiBmcm9tICcuL21vbmtleWVjeC1jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9tb25rZXllY3gtZXJyb3ItcmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tb25rZXllY3gtaGFuZGxlZC1lcnJvci1yZXNwb25zZSc7XG5leHBvcnQgKiBmcm9tICcuL21vbmtleWVjeC1oZWFkZXItY3JlZGVudGlhbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9tb25rZXllY3gtaW50ZXJjb20tb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL21vbmtleWVjeC1tZS1jcmVkZW50aWFscyc7XG5leHBvcnQgKiBmcm9tICcuL21vbmtleWVjeC1uYXZpZ2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LXByb2dyYW0nO1xuZXhwb3J0ICogZnJvbSAnLi9tb25rZXllY3gtcmVsZWFzZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9tb25rZXllY3gtcmVxdWVzdC1pbi1wcm9ncmVzcyc7XG5leHBvcnQgKiBmcm9tICcuL21vbmtleWVjeC1yZXF1ZXN0LXBhZ2VkJztcbmV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LXJlc3BvbnNlLWxpbmtzJztcbmV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LXJlc3BvbnNlLXBhZ2VkJztcbmV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LXNlcnZpY2UtY3JlZGVudGlhbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9tb25rZXllY3gtc3VwcG9ydC1vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LXRva2VuLWNyZWRlbnRpYWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LXRyYW5zbGF0ZS1vcHRpb25zJztcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWF1dGgtY3JlZGVudGlhbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvaW50ZXJmYWNlcy9tb25rZXllY3gtYXV0aC1jcmVkZW50aWFscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgY2FtZWxjYXNlICovXG5leHBvcnQgaW50ZXJmYWNlIE1vbmtleUVjeEF1dGhDcmVkZW50aWFscyB7XG4gIGNsaWVudF9pZD86IHN0cmluZztcbiAgY2xpZW50X3NlY3JldD86IHN0cmluZztcbiAgZ3JhbnRfdHlwZT86IHN0cmluZztcbiAgc2NvcGU/OiBzdHJpbmc7XG4gIHVzZXJuYW1lPzogc3RyaW5nO1xuICBwYXNzd29yZD86IHN0cmluZztcbiAgYWNjZXNzX3Rva2VuPzogc3RyaW5nO1xuICB0b2tlbl90eXBlPzogc3RyaW5nO1xuICByZWZyZXNoX3Rva2VuPzogc3RyaW5nO1xuICBleHBpcmVzX2luPzogbnVtYmVyO1xuICBwcm9ncmFtPzogc3RyaW5nO1xuICB1c2VyVHlwZT86IHN0cmluZztcbiAgdG90cF9jb2RlPzogc3RyaW5nO1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWNvbmZpZy1ib29zdHJhcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9pbnRlcmZhY2VzL21vbmtleWVjeC1jb25maWctYm9vc3RyYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTW9ua2V5RWN4Q29uZmlnQm9vc3RyYXAge1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIHNob3dOZXdWZXJzaW9uOiBib29sZWFuO1xuICBtYWludGVuYW5jZToge1xuICAgIGNsb3NlZDogYm9vbGVhbjtcbiAgICBzdGFydERhdGU6IHN0cmluZztcbiAgICBlbmREYXRlOiBzdHJpbmc7XG4gIH07XG4gIGxhbmd1YWdlc0F2YWlsYWJsZToge1xuICAgIGxhbmc/OiBzdHJpbmc7XG4gICAgY3VycmVuY3k/OiBzdHJpbmc7XG4gICAgJ2dvb2dsZS1jaGFydC1sYW5ndWFnZSc/OiBzdHJpbmc7XG4gIH07XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9pbnRlcmZhY2VzL21vbmtleWVjeC1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTW9ua2V5RWN4Q29uZmlnUHJvZ3JhbSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICByZWdpc3Rlcjoge1xuICAgIHNlbGxlcjoge1xuICAgICAgdHlwZXM6IHN0cmluZ1tdO1xuICAgICAgZG9jdW1lbnRUeXBlczogc3RyaW5nW107XG4gICAgICBsZWdhbE5hdHVyZXM6IHN0cmluZ1tdO1xuICAgIH07XG4gICAgc3BvbnNvcjoge1xuICAgICAgdHlwZXM6IHN0cmluZ1tdO1xuICAgIH07XG4gICAgYnV5ZXI6IHtcbiAgICAgIGNhbGN1bGF0aW9uVHlwZXM6IHN0cmluZ1tdO1xuICAgICAgbGVnYWxOYXR1cmVzOiBzdHJpbmdbXTtcbiAgICAgIHR5cGVzOiBzdHJpbmdbXTtcbiAgICB9O1xuICB9O1xuICBzZXR0aW5nczoge1xuICAgIGVkaXRTcG9uc29yVGF4OiBib29sZWFuO1xuICB9O1xuICBzY3JlZW5zOiB7XG4gICAgbG9naW46IHtcbiAgICAgIHBhc3N3b3JkU3RyZW5ndGg6IHtcbiAgICAgICAgV0hJVEVfU1BBQ0U/OiBzdHJpbmc7XG4gICAgICAgIERJR0lUX0NIQVJBQ1RFUj86IHN0cmluZztcbiAgICAgICAgVVBQRVJDQVNFX0NIQVJBQ1RFUj86IHN0cmluZztcbiAgICAgICAgTE9XRVJDQVNFX0NIQVJBQ1RFUj86IHN0cmluZztcbiAgICAgICAgQUxQSEFfU0VRVUVOQ0U/OiBzdHJpbmc7XG4gICAgICAgIE5VTUJFUl9TRVFVRU5DRT86IHN0cmluZztcbiAgICAgICAgUVdFUlRZX1NFUVVFTkNFPzogc3RyaW5nO1xuICAgICAgICBSRVBFQVRfQ0hBUlM/OiBzdHJpbmc7XG4gICAgICB9O1xuICAgIH07XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9ua2V5RWN4Q29uZmlnTWFya2V0IHtcbiAgZGF5c1RvU2VhcmNoOiBudW1iZXI7XG4gIG9wZXJhdGlvbjoge1xuICAgIGN1cnJlbnREYXlzVG9TZWFyY2g6IG51bWJlcjtcbiAgICBtYXhpbXVtRGF5c1RvU2VhcmNoOiBudW1iZXI7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9ua2V5RWN4Q29uZmlnVGhlbWUge1xuICBsb2dvczoge1xuICAgIGZhdmljb246IHN0cmluZztcbiAgICB0b29sYmFyOiBzdHJpbmc7XG4gICAgbG9naW46IHN0cmluZztcbiAgICBmb290ZXI6IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb25rZXlFY3hDb25maWdTdXBwb3J0IHtcbiAgcGhvbmVzPzoge1xuICAgIGF0dGVuZGFudD86IHN0cmluZztcbiAgICBudW1iZXJzPzogc3RyaW5nW107XG4gIH1bXTtcbiAgZW1haWxzPzoge1xuICAgIGF0dGVuZGFudD86IHN0cmluZztcbiAgICByZWNpcGllbnRzPzogc3RyaW5nW107XG4gIH1bXTtcbiAgaW5mb3JtYXRpb24/OiB7XG4gICAgbWVzc2FnZT86IHN0cmluZztcbiAgICBhY3Rpb24/OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9ua2V5RWN4Q29uZmlnaTE4biB7XG4gIGxhbmc/OiBzdHJpbmc7XG4gIGN1cnJlbmN5Pzogc3RyaW5nO1xuICAnZ29vZ2xlLWNoYXJ0LWxhbmd1YWdlJz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb25rZXlFY3hDb25maWdMb2dzIHtcbiAgZW5hYmxlZDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb25rZXlFY3hDb25maWdNZXNzYWdlcyB7XG4gIGNoZWNrb3V0U3VjY2Vzczogc3RyaW5nW107XG59XG5cbmludGVyZmFjZSBNb25rZXlFY3hDb25maWdFeHRlcm5hbFNldHRpbmdzRW52IHtcbiAgdXJsOiBzdHJpbmc7XG4gIHVybE5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb25rZXlFY3hDb25maWdFeHRlcm5hbFNldHRpbmdzIHtcbiAgZGV2OiBNb25rZXlFY3hDb25maWdFeHRlcm5hbFNldHRpbmdzRW52O1xuICBobWc6IE1vbmtleUVjeENvbmZpZ0V4dGVybmFsU2V0dGluZ3NFbnY7XG4gIHByb2Q6IE1vbmtleUVjeENvbmZpZ0V4dGVybmFsU2V0dGluZ3NFbnY7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9ua2V5RWN4Q29uZmlnRXh0ZXJuYWxpMThuIHtcbiAgW3M6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb25rZXlFY3hDb25maWcge1xuICBwcm9ncmFtPzogTW9ua2V5RWN4Q29uZmlnUHJvZ3JhbTtcbiAgbWFya2V0PzogTW9ua2V5RWN4Q29uZmlnTWFya2V0O1xuICB0aGVtZT86IE1vbmtleUVjeENvbmZpZ1RoZW1lO1xuICBzdXBwb3J0PzogTW9ua2V5RWN4Q29uZmlnU3VwcG9ydDtcbiAgaTE4bj86IE1vbmtleUVjeENvbmZpZ2kxOG47XG4gIGxvZ3M/OiBNb25rZXlFY3hDb25maWdMb2dzO1xuICBleHRlcm5hbGkxOG4/OiBNb25rZXlFY3hDb25maWdFeHRlcm5hbGkxOG47XG4gIG1lc3NhZ2VzPzogTW9ua2V5RWN4Q29uZmlnTWVzc2FnZXM7XG4gIGV4dGVybmFsU2V0dGluZ3M/OiBNb25rZXlFY3hDb25maWdFeHRlcm5hbFNldHRpbmdzO1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LW1lLWNyZWRlbnRpYWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9jb3JlL2ludGVyZmFjZXMvbW9ua2V5ZWN4LW1lLWNyZWRlbnRpYWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb25rZXlFY3hDb21wYW55LCBNb25rZXlFY3hQcm9ncmFtIH0gZnJvbSAnLic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9ua2V5RWN4TWVDcmVkZW50aWFscyB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGVtYWlsPzogc3RyaW5nO1xuICB1c2VybmFtZT86IHN0cmluZztcbiAgc3RhdHVzPzogc3RyaW5nO1xuICBwaWN0dXJlVVJMPzogc3RyaW5nO1xuICBzZWxlY3RlZExhbmd1YWdlPzogc3RyaW5nO1xuICBjb21wYW5pZXM/OiBNb25rZXlFY3hDb21wYW55W107XG4gIHByb2dyYW1zPzogTW9ua2V5RWN4UHJvZ3JhbVtdO1xuICBuaWNrbmFtZT86IHN0cmluZztcbiAgY2VsbFBob25lPzogc3RyaW5nO1xuICBzbXNOb3RpZmljYXRpb24/OiBib29sZWFuO1xuICBwcml2YWN5UG9saWN5PzogYm9vbGVhbjtcbiAgdXNlVGVybXM/OiBib29sZWFuO1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LW5hdmlnYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvaW50ZXJmYWNlcy9tb25rZXllY3gtbmF2aWdhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBNb25rZXlFY3hOYXZpZ2F0aW9uSXRlbSB7XG4gIGJhZGdlPzogbnVtYmVyO1xuICBjaGlsZHJlbj86IE1vbmtleUVjeE5hdmlnYXRpb25JdGVtW107XG4gIGNsYXNzZXM/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBleGFjdE1hdGNoPzogYm9vbGVhbjtcbiAgZXh0ZXJuYWxVcmw/OiBib29sZWFuO1xuICBmdW5jdGlvbj86IGFueTtcbiAgaGlkZGVuPzogYm9vbGVhbjtcbiAgaWNvbj86IHN0cmluZztcbiAgaWQ6IHN0cmluZztcbiAgbWFpbj86IGJvb2xlYW47XG4gIG9wZW5Jbk5ld1RhYj86IGJvb2xlYW47XG4gIHJvbGU/OiBzdHJpbmdbXTtcbiAgdGl0bGU6IHN0cmluZztcbiAgdHJhbnNsYXRlPzogc3RyaW5nO1xuICB0cmFuc2xhdGVEZXNjcmlwdGlvbj86IHN0cmluZztcbiAgdHJhbnNsYXRlT2JqZWN0TmFtZT86IHN0cmluZztcbiAgdHlwZTogJ2l0ZW0nIHwgJ2dyb3VwJyB8ICdjb2xsYXBzYWJsZSc7XG4gIHVybD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb25rZXlFY3hOYXZpZ2F0aW9uIGV4dGVuZHMgTW9ua2V5RWN4TmF2aWdhdGlvbkl0ZW0ge1xuICBjaGlsZHJlbj86IE1vbmtleUVjeE5hdmlnYXRpb25JdGVtW107XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXJlcXVlc3QtcGFnZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvaW50ZXJmYWNlcy9tb25rZXllY3gtcmVxdWVzdC1wYWdlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9ua2V5RWN4Q29tbW9uc1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XG5cbmludGVyZmFjZSBTb3J0IHtcbiAgZmllbGQ/OiBzdHJpbmc7XG4gIGRpcmVjdGlvbj86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFBhZ2Uge1xuICBudW1iZXI/OiBudW1iZXI7XG4gIHNpemU/OiBudW1iZXI7XG4gIHRvdGFsRWxlbWVudHM/OiBudW1iZXI7XG4gIHRvdGFsUGFnZXM/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9ua2V5RWN4UmVxdWVzdFBhZ2VkIHtcbiAgc29ydD86IFNvcnQ7XG4gIHBhZ2U/OiBQYWdlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1vbmtleUVjeFBhZ2luYXRpb25PcHRpb25zIHtcbiAgbWFpbkVsZW1lbnQ/OiBzdHJpbmc7XG4gIHNlcnZpY2U6IE1vbmtleUVjeENvbW1vbnNTZXJ2aWNlO1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXNlcnZpY2UtY3JlZGVudGlhbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvaW50ZXJmYWNlcy9tb25rZXllY3gtc2VydmljZS1jcmVkZW50aWFscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9ua2V5RWN4UmVxdWVzdExvYWRpbmdJblByb2dyZXNzIH0gZnJvbSAnLi9tb25rZXllY3gtcmVxdWVzdC1pbi1wcm9ncmVzcyc7XG5pbXBvcnQgeyBNb25rZXlFY3hSZXF1ZXN0UGFnZWQgfSBmcm9tICcuL21vbmtleWVjeC1yZXF1ZXN0LXBhZ2VkJztcblxuaW50ZXJmYWNlIE1vbmtleUVjeFNlcnZpY2VIdHRwUmVzcG9uc2VDcmVkZW50aWFscyB7XG4gIGh0dHBDb2RlSWdub3JlPzogbnVtYmVyW107XG4gIGh0dHBDb2RlSWdub3JlUmVkaXJlY3Q/OiBudW1iZXJbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb25rZXlFY3hTZXJ2aWNlQ3JlZGVudGlhbHMge1xuICBodHRwUmVzcG9uc2U/OiBNb25rZXlFY3hTZXJ2aWNlSHR0cFJlc3BvbnNlQ3JlZGVudGlhbHM7XG4gIHJlcXVlc3RJblByb2dyZXNzPzogTW9ua2V5RWN4UmVxdWVzdExvYWRpbmdJblByb2dyZXNzO1xuICByZXF1ZXN0UGFnZWQ/OiBNb25rZXlFY3hSZXF1ZXN0UGFnZWQ7XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXRva2VuLWNyZWRlbnRpYWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9jb3JlL2ludGVyZmFjZXMvbW9ua2V5ZWN4LXRva2VuLWNyZWRlbnRpYWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbnRlcmZhY2UgTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFsc0NsZWFySWdub3JlIHtcbiAgaWdub3JlOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb25rZXlFY3hUb2tlbkNyZWRlbnRpYWxzIHtcbiAgdXNlcm5hbWU/OiBzdHJpbmc7XG4gIHByb2dyYW0/OiBzdHJpbmc7XG4gIGFjY2Vzc1Rva2VuPzogc3RyaW5nO1xuICByZWZyZXNoVG9rZW4/OiBzdHJpbmc7XG4gIGNvbXBhbnlJZD86IHN0cmluZztcbiAgZ292ZXJubWVudElkPzogc3RyaW5nO1xuICBjb21wYW55VHlwZVVybD86IHN0cmluZztcbiAgY29tcGFueVR5cGU/OiBzdHJpbmc7XG4gIHJvbGU/OiBzdHJpbmc7XG4gIHByb2dyYW1BZG1pbj86IGJvb2xlYW4gfCBzdHJpbmc7XG4gIHByb2dyYW1UeXBlPzogc3RyaW5nO1xuICBhY2Nlc3NUeXBlPzogc3RyaW5nO1xuICBfY2xlYXJJZ25vcmU/OiBNb25rZXlFY3hUb2tlbkNyZWRlbnRpYWxzQ2xlYXJJZ25vcmU7XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXJlcXVlc3Qtc2NoZWR1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvaW50ZXJmYWNlcy9zY2hlZHVsZXMvbW9ua2V5ZWN4LXJlcXVlc3Qtc2NoZWR1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vbmtleUVjeFJlcXVlc3RRdWV1ZSB9IGZyb20gJy4uL3JlcXVlc3QtcXVldWUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1vbmtleUVjeFJlcXVlc3RTY2hlZHVsZSB7XG4gIGlkPzogc3RyaW5nO1xuICB1cmw6IHN0cmluZztcbiAgbWV0aG9kOiBzdHJpbmc7XG4gIHBhcmFtcz86IGFueTtcbiAgZGF0YT86IGFueTtcbiAgYWN0aW9uKGRhdGE6IGFueSwgc2NoOiBNb25rZXlFY3hSZXF1ZXN0U2NoZWR1bGUpOiB2b2lkO1xuICBxdWV1ZT86IE1vbmtleUVjeFJlcXVlc3RRdWV1ZTtcbiAgaW50ZXJ2YWw/OiBhbnk7XG59XG4iXX0=
@@ -1,45 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import { TranslateService } from '@ngx-translate/core';
3
- import * as moment_ from 'moment';
4
- import { MonkeyEcxUtils } from '../utils/utils';
5
- import * as i0 from "@angular/core";
6
- const moment = moment_;
7
- export class MonkeyEcxFormatDateGroupPipe {
8
- constructor(injector) {
9
- this.injector = injector;
10
- this.lang = 'pt-BR';
11
- const translateService = this.injector.get(TranslateService);
12
- this.lang = translateService.getDefaultLang();
13
- }
14
- format(date) {
15
- if (!MonkeyEcxUtils.persistNullEmptyUndefined(date))
16
- return '';
17
- let stillUtc = moment.default.utc(date).toDate();
18
- if (date.toString()?.indexOf(':') <= -1) {
19
- stillUtc = date;
20
- }
21
- const formatFrom = 'YYYY/MM/DD';
22
- const fmt = moment.default(stillUtc, formatFrom).locale(this.lang);
23
- const dayFormated = fmt.format('DD/');
24
- const monthFormated = MonkeyEcxUtils.capitalize(fmt.format('MMMM'));
25
- const yearFormated = fmt.format('YYYY');
26
- return `${`${dayFormated}${monthFormated}`.substring(0, 6)}, ${yearFormated}`;
27
- }
28
- transform(obj) {
29
- if (!obj || !obj?.start || !obj?.end)
30
- return '';
31
- const { start, end } = obj;
32
- const formatedStart = this.format(start);
33
- const formatedEnd = this.format(end);
34
- return `${formatedStart} - ${formatedEnd}`;
35
- }
36
- }
37
- MonkeyEcxFormatDateGroupPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyEcxFormatDateGroupPipe, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Pipe });
38
- MonkeyEcxFormatDateGroupPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyEcxFormatDateGroupPipe, name: "monkeyecxFormatDateGroup" });
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyEcxFormatDateGroupPipe, decorators: [{
40
- type: Pipe,
41
- args: [{
42
- name: 'monkeyecxFormatDateGroup',
43
- }]
44
- }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWZvcm1hdC1kYXRlLWdyb3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9jb3JlL3BpcGVzL21vbmtleWVjeC1mb3JtYXQtZGF0ZS1ncm91cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVksSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQztBQUNsQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRWhELE1BQU0sTUFBTSxHQUFRLE9BQU8sQ0FBQztBQUs1QixNQUFNLE9BQU8sNEJBQTRCO0lBR3ZDLFlBQW9CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFGOUIsU0FBSSxHQUFHLE9BQU8sQ0FBQztRQUdyQixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRU8sTUFBTSxDQUFDLElBQW1CO1FBQ2hDLElBQUksQ0FBQyxjQUFjLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDL0QsSUFBSSxRQUFRLEdBQVEsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdEQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFO1lBQ3ZDLFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDakI7UUFDRCxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUM7UUFDaEMsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuRSxNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sYUFBYSxHQUFHLGNBQWMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEMsT0FBTyxHQUFHLEdBQUcsV0FBVyxHQUFHLGFBQWEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssWUFBWSxFQUFFLENBQUM7SUFDaEYsQ0FBQztJQUVELFNBQVMsQ0FBQyxHQUFRO1FBQ2hCLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUc7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNoRCxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQztRQUMzQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckMsT0FBTyxHQUFHLGFBQWEsTUFBTSxXQUFXLEVBQUUsQ0FBQztJQUM3QyxDQUFDOzt5SEE1QlUsNEJBQTRCO3VIQUE1Qiw0QkFBNEI7MkZBQTVCLDRCQUE0QjtrQkFIeEMsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsMEJBQTBCO2lCQUNqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yLCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0ICogYXMgbW9tZW50XyBmcm9tICdtb21lbnQnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hVdGlscyB9IGZyb20gJy4uL3V0aWxzL3V0aWxzJztcclxuXHJcbmNvbnN0IG1vbWVudDogYW55ID0gbW9tZW50XztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnbW9ua2V5ZWN4Rm9ybWF0RGF0ZUdyb3VwJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1vbmtleUVjeEZvcm1hdERhdGVHcm91cFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICBwcml2YXRlIGxhbmcgPSAncHQtQlInO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgY29uc3QgdHJhbnNsYXRlU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KFRyYW5zbGF0ZVNlcnZpY2UpO1xyXG4gICAgdGhpcy5sYW5nID0gdHJhbnNsYXRlU2VydmljZS5nZXREZWZhdWx0TGFuZygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmb3JtYXQoZGF0ZTogc3RyaW5nIHwgRGF0ZSkge1xyXG4gICAgaWYgKCFNb25rZXlFY3hVdGlscy5wZXJzaXN0TnVsbEVtcHR5VW5kZWZpbmVkKGRhdGUpKSByZXR1cm4gJyc7XHJcbiAgICBsZXQgc3RpbGxVdGM6IGFueSA9IG1vbWVudC5kZWZhdWx0LnV0YyhkYXRlKS50b0RhdGUoKTtcclxuICAgIGlmIChkYXRlLnRvU3RyaW5nKCk/LmluZGV4T2YoJzonKSA8PSAtMSkge1xyXG4gICAgICBzdGlsbFV0YyA9IGRhdGU7XHJcbiAgICB9XHJcbiAgICBjb25zdCBmb3JtYXRGcm9tID0gJ1lZWVkvTU0vREQnO1xyXG4gICAgY29uc3QgZm10ID0gbW9tZW50LmRlZmF1bHQoc3RpbGxVdGMsIGZvcm1hdEZyb20pLmxvY2FsZSh0aGlzLmxhbmcpO1xyXG4gICAgY29uc3QgZGF5Rm9ybWF0ZWQgPSBmbXQuZm9ybWF0KCdERC8nKTtcclxuICAgIGNvbnN0IG1vbnRoRm9ybWF0ZWQgPSBNb25rZXlFY3hVdGlscy5jYXBpdGFsaXplKGZtdC5mb3JtYXQoJ01NTU0nKSk7XHJcbiAgICBjb25zdCB5ZWFyRm9ybWF0ZWQgPSBmbXQuZm9ybWF0KCdZWVlZJyk7XHJcbiAgICByZXR1cm4gYCR7YCR7ZGF5Rm9ybWF0ZWR9JHttb250aEZvcm1hdGVkfWAuc3Vic3RyaW5nKDAsIDYpfSwgJHt5ZWFyRm9ybWF0ZWR9YDtcclxuICB9XHJcblxyXG4gIHRyYW5zZm9ybShvYmo6IGFueSk6IHN0cmluZyB7XHJcbiAgICBpZiAoIW9iaiB8fCAhb2JqPy5zdGFydCB8fCAhb2JqPy5lbmQpIHJldHVybiAnJztcclxuICAgIGNvbnN0IHsgc3RhcnQsIGVuZCB9ID0gb2JqO1xyXG4gICAgY29uc3QgZm9ybWF0ZWRTdGFydCA9IHRoaXMuZm9ybWF0KHN0YXJ0KTtcclxuICAgIGNvbnN0IGZvcm1hdGVkRW5kID0gdGhpcy5mb3JtYXQoZW5kKTtcclxuICAgIHJldHVybiBgJHtmb3JtYXRlZFN0YXJ0fSAtICR7Zm9ybWF0ZWRFbmR9YDtcclxuICB9XHJcbn1cclxuIl19
@@ -1,61 +0,0 @@
1
- /* eslint-disable no-console */
2
- import { Injectable } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- export class MonkeyEcxAuthenticationService {
5
- constructor() {
6
- this.hadAtLeastOneLogin = () => {
7
- console.error('hadAtLeastOneLogin needs to be declared!');
8
- return null;
9
- };
10
- this.redirectApp = () => {
11
- console.error('redirectApp needs to be declared!');
12
- return null;
13
- };
14
- this.redirectLoginWelcomeBack = () => {
15
- console.error('redirectLoginWelcomeBack needs to be declared!');
16
- return null;
17
- };
18
- this.isAuthorized = () => {
19
- console.error('isAuthorized needs to be declared!');
20
- return false;
21
- };
22
- this.getRequestWithHeaders = (request) => {
23
- console.error('getRequestWithHeaders needs to be declared!');
24
- return null;
25
- };
26
- this.getRequestWithHeadersOb = (request) => {
27
- console.error('getRequestWithHeadersOb needs to be declared!');
28
- return null;
29
- };
30
- this.refreshShouldHappen = (response) => {
31
- console.error('refreshShouldHappen needs to be declared!');
32
- return false;
33
- };
34
- this.refreshToken = () => {
35
- console.error('refreshToken needs to be declared!');
36
- return null;
37
- };
38
- // not to do
39
- }
40
- init(args) {
41
- this.hadAtLeastOneLogin = args?.hadAtLeastOneLogin || this.hadAtLeastOneLogin.bind(this);
42
- this.redirectApp = args?.redirectApp || this.redirectApp.bind(this);
43
- this.redirectLoginWelcomeBack = args?.redirectLoginWelcomeBack ||
44
- this.redirectLoginWelcomeBack.bind(this);
45
- this.isAuthorized = args?.isAuthorized || this.isAuthorized.bind(this);
46
- this.getRequestWithHeaders = args?.getRequestWithHeaders ||
47
- this.getRequestWithHeaders.bind(this);
48
- this.getRequestWithHeadersOb = args?.getRequestWithHeadersOb.bind(this);
49
- this.refreshShouldHappen = args?.refreshShouldHappen || this.refreshShouldHappen.bind(this);
50
- this.refreshToken = args?.refreshToken || this.refreshToken.bind(this);
51
- }
52
- }
53
- MonkeyEcxAuthenticationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyEcxAuthenticationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
54
- MonkeyEcxAuthenticationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyEcxAuthenticationService, providedIn: 'root' });
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyEcxAuthenticationService, decorators: [{
56
- type: Injectable,
57
- args: [{
58
- providedIn: 'root'
59
- }]
60
- }], ctorParameters: function () { return []; } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWF1dGhlbnRpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvYXV0aC9tb25rZXllY3gtYXV0aGVudGljYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPM0MsTUFBTSxPQUFPLDhCQUE4QjtJQUN6QztRQUlBLHVCQUFrQixHQUFHLEdBQUcsRUFBRTtZQUN4QixPQUFPLENBQUMsS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7WUFDMUQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7UUFFRixnQkFBVyxHQUFHLEdBQUcsRUFBRTtZQUNqQixPQUFPLENBQUMsS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7WUFDbkQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7UUFFRiw2QkFBd0IsR0FBRyxHQUFHLEVBQUU7WUFDOUIsT0FBTyxDQUFDLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO1lBQ2hFLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDO1FBRUYsaUJBQVksR0FBRyxHQUFZLEVBQUU7WUFDM0IsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1lBQ3BELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDO1FBRUYsMEJBQXFCLEdBQUcsQ0FBQyxPQUF5QixFQUEyQixFQUFFO1lBQzdFLE9BQU8sQ0FBQyxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQztZQUM3RCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQztRQUVGLDRCQUF1QixHQUFHLENBQUMsT0FBeUIsRUFBMEIsRUFBRTtZQUM5RSxPQUFPLENBQUMsS0FBSyxDQUFDLCtDQUErQyxDQUFDLENBQUM7WUFDL0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7UUFFRix3QkFBbUIsR0FBRyxDQUFDLFFBQTJCLEVBQVcsRUFBRTtZQUM3RCxPQUFPLENBQUMsS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUM7WUFDM0QsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUM7UUFFRixpQkFBWSxHQUFHLEdBQTJCLEVBQUU7WUFDMUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1lBQ3BELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDO1FBekNBLFlBQVk7SUFDZCxDQUFDO0lBMENELElBQUksQ0FDRixJQVNDO1FBRUQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksRUFBRSxrQkFBa0IsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pGLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxFQUFFLFdBQVcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxFQUFFLHdCQUF3QjtZQUM1RCxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxFQUFFLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxFQUFFLHFCQUFxQjtZQUN0RCxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLEVBQUUsdUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLEVBQUUsbUJBQW1CLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1RixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksRUFBRSxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekUsQ0FBQzs7MkhBbkVVLDhCQUE4QjsrSEFBOUIsOEJBQThCLGNBRjdCLE1BQU07MkZBRVAsOEJBQThCO2tCQUgxQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4QXV0aGVudGljYXRpb25TZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gbm90IHRvIGRvXG4gIH1cblxuICBoYWRBdExlYXN0T25lTG9naW4gPSAoKSA9PiB7XG4gICAgY29uc29sZS5lcnJvcignaGFkQXRMZWFzdE9uZUxvZ2luIG5lZWRzIHRvIGJlIGRlY2xhcmVkIScpO1xuICAgIHJldHVybiBudWxsO1xuICB9O1xuXG4gIHJlZGlyZWN0QXBwID0gKCkgPT4ge1xuICAgIGNvbnNvbGUuZXJyb3IoJ3JlZGlyZWN0QXBwIG5lZWRzIHRvIGJlIGRlY2xhcmVkIScpO1xuICAgIHJldHVybiBudWxsO1xuICB9O1xuXG4gIHJlZGlyZWN0TG9naW5XZWxjb21lQmFjayA9ICgpID0+IHtcbiAgICBjb25zb2xlLmVycm9yKCdyZWRpcmVjdExvZ2luV2VsY29tZUJhY2sgbmVlZHMgdG8gYmUgZGVjbGFyZWQhJyk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH07XG5cbiAgaXNBdXRob3JpemVkID0gKCk6IGJvb2xlYW4gPT4ge1xuICAgIGNvbnNvbGUuZXJyb3IoJ2lzQXV0aG9yaXplZCBuZWVkcyB0byBiZSBkZWNsYXJlZCEnKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH07XG5cbiAgZ2V0UmVxdWVzdFdpdGhIZWFkZXJzID0gKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pOiBIdHRwUmVxdWVzdDxhbnk+IHwgbnVsbCA9PiB7XG4gICAgY29uc29sZS5lcnJvcignZ2V0UmVxdWVzdFdpdGhIZWFkZXJzIG5lZWRzIHRvIGJlIGRlY2xhcmVkIScpO1xuICAgIHJldHVybiBudWxsO1xuICB9O1xuXG4gIGdldFJlcXVlc3RXaXRoSGVhZGVyc09iID0gKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pOiBPYnNlcnZhYmxlPGFueT4gfCBudWxsID0+IHtcbiAgICBjb25zb2xlLmVycm9yKCdnZXRSZXF1ZXN0V2l0aEhlYWRlcnNPYiBuZWVkcyB0byBiZSBkZWNsYXJlZCEnKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfTtcblxuICByZWZyZXNoU2hvdWxkSGFwcGVuID0gKHJlc3BvbnNlOiBIdHRwRXJyb3JSZXNwb25zZSk6IGJvb2xlYW4gPT4ge1xuICAgIGNvbnNvbGUuZXJyb3IoJ3JlZnJlc2hTaG91bGRIYXBwZW4gbmVlZHMgdG8gYmUgZGVjbGFyZWQhJyk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9O1xuXG4gIHJlZnJlc2hUb2tlbiA9ICgpOiBPYnNlcnZhYmxlPGFueT4gfCBudWxsID0+IHtcbiAgICBjb25zb2xlLmVycm9yKCdyZWZyZXNoVG9rZW4gbmVlZHMgdG8gYmUgZGVjbGFyZWQhJyk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH07XG5cbiAgaW5pdChcbiAgICBhcmdzOiB7XG4gICAgICBoYWRBdExlYXN0T25lTG9naW4/OiBhbnksXG4gICAgICByZWRpcmVjdEFwcD86IGFueSxcbiAgICAgIHJlZGlyZWN0TG9naW5XZWxjb21lQmFjaz86IGFueSxcbiAgICAgIGlzQXV0aG9yaXplZD86IGFueSxcbiAgICAgIGdldFJlcXVlc3RXaXRoSGVhZGVycz86IGFueSxcbiAgICAgIGdldFJlcXVlc3RXaXRoSGVhZGVyc09iPzogYW55LFxuICAgICAgcmVmcmVzaFNob3VsZEhhcHBlbj86IGFueSxcbiAgICAgIHJlZnJlc2hUb2tlbj86IGFueVxuICAgIH1cbiAgKSB7XG4gICAgdGhpcy5oYWRBdExlYXN0T25lTG9naW4gPSBhcmdzPy5oYWRBdExlYXN0T25lTG9naW4gfHwgdGhpcy5oYWRBdExlYXN0T25lTG9naW4uYmluZCh0aGlzKTtcbiAgICB0aGlzLnJlZGlyZWN0QXBwID0gYXJncz8ucmVkaXJlY3RBcHAgfHwgdGhpcy5yZWRpcmVjdEFwcC5iaW5kKHRoaXMpO1xuICAgIHRoaXMucmVkaXJlY3RMb2dpbldlbGNvbWVCYWNrID0gYXJncz8ucmVkaXJlY3RMb2dpbldlbGNvbWVCYWNrIHx8XG4gICAgICB0aGlzLnJlZGlyZWN0TG9naW5XZWxjb21lQmFjay5iaW5kKHRoaXMpO1xuICAgIHRoaXMuaXNBdXRob3JpemVkID0gYXJncz8uaXNBdXRob3JpemVkIHx8IHRoaXMuaXNBdXRob3JpemVkLmJpbmQodGhpcyk7XG4gICAgdGhpcy5nZXRSZXF1ZXN0V2l0aEhlYWRlcnMgPSBhcmdzPy5nZXRSZXF1ZXN0V2l0aEhlYWRlcnMgfHxcbiAgICAgIHRoaXMuZ2V0UmVxdWVzdFdpdGhIZWFkZXJzLmJpbmQodGhpcyk7XG4gICAgdGhpcy5nZXRSZXF1ZXN0V2l0aEhlYWRlcnNPYiA9IGFyZ3M/LmdldFJlcXVlc3RXaXRoSGVhZGVyc09iLmJpbmQodGhpcyk7XG4gICAgdGhpcy5yZWZyZXNoU2hvdWxkSGFwcGVuID0gYXJncz8ucmVmcmVzaFNob3VsZEhhcHBlbiB8fCB0aGlzLnJlZnJlc2hTaG91bGRIYXBwZW4uYmluZCh0aGlzKTtcbiAgICB0aGlzLnJlZnJlc2hUb2tlbiA9IGFyZ3M/LnJlZnJlc2hUb2tlbiB8fCB0aGlzLnJlZnJlc2hUb2tlbi5iaW5kKHRoaXMpO1xuICB9XG59XG4iXX0=
@@ -1,280 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { NavigationStart, } from '@angular/router';
3
- import { BehaviorSubject, throwError } from 'rxjs';
4
- import { filter, take, takeWhile } from 'rxjs/operators';
5
- import { MonkeyEcxRequestPagedHandling } from '../request-paged/monkeyecx-request-request-paged-handling';
6
- import { MonkeyEcxUtils } from '../../utils/utils';
7
- import { MonkeyEcxCoreService } from '../../decorators/monkeyecx-decorators';
8
- export class MonkeyEcxCommonsService {
9
- constructor(monkeyecxService, tokenStorage, otherArgs) {
10
- this.monkeyecxService = monkeyecxService;
11
- this.tokenStorage = tokenStorage;
12
- this.otherArgs = otherArgs;
13
- this.flagValidator = true;
14
- this.__error = null;
15
- this.__handledError = null;
16
- this.__page = null;
17
- this.__links = null;
18
- this.__requestPaged = null;
19
- this.__onSearchChanged$ = new BehaviorSubject(null);
20
- this.__onDataChanged$ = new BehaviorSubject(null);
21
- this.__onLoadingInProgress$ = new BehaviorSubject(false);
22
- this.__onDataDeleted$ = new BehaviorSubject(null);
23
- this.__onErrorChanged$ = new BehaviorSubject(null);
24
- this.__onGovernmentIdDataChanged$ = new BehaviorSubject(null);
25
- this.__onZipCodeDataChanged$ = new BehaviorSubject(null);
26
- this.__oni18nDataChanged$ = new BehaviorSubject(null);
27
- this.__onDoSearch$ = new BehaviorSubject({});
28
- this.__tokenCredentials = null;
29
- this.__schedule = null;
30
- this.__callbackPagination = () => {
31
- // eslint-disable-next-line no-console
32
- return console.error('Method callbackPagination needs to be declared');
33
- };
34
- this.handleInit();
35
- }
36
- handleInit() {
37
- if (this.tokenStorage) {
38
- this.__tokenCredentials = this.tokenStorage.getToken();
39
- }
40
- if (this.otherArgs?.router) {
41
- const { clearOnChangeRoute } = this.otherArgs?.schedule?.options || {
42
- clearOnChangeRoute: false,
43
- };
44
- this.otherArgs.router.events
45
- .pipe(filter((event) => {
46
- return event instanceof NavigationStart;
47
- }), take(1))
48
- .subscribe(() => {
49
- if (this.__schedule && clearOnChangeRoute) {
50
- this.otherArgs?.schedule?.service?.removeSchedule(this.__schedule);
51
- this.__schedule = null;
52
- }
53
- });
54
- }
55
- }
56
- getRole() {
57
- const { __tokenCredentials } = this;
58
- if (!__tokenCredentials)
59
- return '';
60
- if (__tokenCredentials?.programAdmin === 'true') {
61
- return 'PROGRAM_ADMIN';
62
- }
63
- return __tokenCredentials?.role || '';
64
- }
65
- allowedSecurityAccess(args) {
66
- if (!args)
67
- return true;
68
- const roles = args?.roles;
69
- const byExclusion = args?.byExclusion;
70
- const found = roles?.indexOf(this.getRole());
71
- let ret = false;
72
- if (byExclusion) {
73
- ret = true;
74
- if (found > -1) {
75
- ret = false;
76
- }
77
- }
78
- else {
79
- ret = false;
80
- if (found > -1) {
81
- ret = true;
82
- }
83
- }
84
- if (!roles || roles.length === 0 || this.getRole() === 'PROGRAM_ADMIN') {
85
- ret = true;
86
- }
87
- return ret;
88
- }
89
- navigateToErrorPage(statusCode, router) {
90
- const routes = {
91
- 403: 'forbidden',
92
- 404: 'not-found',
93
- 500: 'service-problems',
94
- 503: 'service-problems',
95
- };
96
- if (!router) {
97
- console.error('Router must be declared');
98
- }
99
- else {
100
- router?.navigate([`/app/pages/${routes[statusCode]}`.toLowerCase()], {
101
- skipLocationChange: true,
102
- });
103
- }
104
- }
105
- setPage(requestPaged) {
106
- this.__requestPaged = {
107
- ...this.__requestPaged,
108
- ...requestPaged,
109
- };
110
- return this;
111
- }
112
- nextPage() {
113
- if (this.__links) {
114
- return !!this.__links?.next;
115
- }
116
- if (!this.__requestPaged)
117
- return false;
118
- const { page } = this.__requestPaged;
119
- const { number, totalPages } = page;
120
- if (number < totalPages) {
121
- this.__requestPaged = {
122
- ...this.__requestPaged,
123
- page: {
124
- ...page,
125
- number: number + 1,
126
- },
127
- };
128
- return true;
129
- }
130
- return false;
131
- }
132
- getEmbeddedData(data, field) {
133
- const { _embedded } = data;
134
- return _embedded ? _embedded[field] : null;
135
- }
136
- getNormalizedUrl(url) {
137
- const { __requestPaged, __links } = this;
138
- return new MonkeyEcxRequestPagedHandling(url, __requestPaged || {}, __links).getRequestWithPagedParams();
139
- }
140
- clear(clearData) {
141
- if (clearData) {
142
- this.__data = null;
143
- this.__requestPaged = null;
144
- this.__params = null;
145
- this.__page = null;
146
- this.__links = null;
147
- if (this.__schedule) {
148
- const { queue } = this.__schedule;
149
- if (queue) {
150
- this.otherArgs?.queue?.service?.removeQueueItem(queue);
151
- }
152
- this.otherArgs?.schedule?.service?.removeSchedule(this.__schedule);
153
- this.__schedule = null;
154
- }
155
- }
156
- this.__error = null;
157
- this.__handledError = null;
158
- this.flagValidator = false;
159
- }
160
- resolve(route, state, otherArgs) {
161
- if (JSON.stringify(route?.queryParams) === '{}') {
162
- this.__data = null;
163
- this.__page = null;
164
- }
165
- this.__requestPaged = null;
166
- this.flagValidator = true;
167
- if (this.tokenStorage) {
168
- this.__tokenCredentials = this.tokenStorage.getToken();
169
- }
170
- if (this.allowedSecurityAccess(otherArgs?.security)) {
171
- if (this.__schedule) {
172
- this.otherArgs?.schedule?.service?.removeSchedule(this.__schedule);
173
- this.__schedule = null;
174
- }
175
- const { __requestPaged } = this;
176
- if (!__requestPaged) {
177
- this.setPage({
178
- page: {
179
- number: 0,
180
- size: 10,
181
- },
182
- });
183
- }
184
- if (otherArgs?.translateOptions) {
185
- const { service, keys } = otherArgs?.translateOptions;
186
- this.geti18n(service, keys || '');
187
- }
188
- if (otherArgs?.callbackPagination) {
189
- this.__callbackPagination = otherArgs.callbackPagination;
190
- }
191
- if (otherArgs?.feature) {
192
- const { flag, service } = otherArgs.feature;
193
- service.onFlags
194
- .pipe(takeWhile(() => {
195
- return this.flagValidator;
196
- }))
197
- .subscribe((val) => {
198
- if (val) {
199
- const hasFlag = service.getFlag(flag);
200
- if (MonkeyEcxUtils.persistNullEmptyUndefined(hasFlag)) {
201
- if (!hasFlag) {
202
- this.navigateToErrorPage(404, otherArgs?.router);
203
- return;
204
- }
205
- }
206
- otherArgs?.callbackMain();
207
- }
208
- });
209
- }
210
- else {
211
- otherArgs?.callbackMain();
212
- }
213
- }
214
- else {
215
- this.navigateToErrorPage(403, otherArgs?.router);
216
- }
217
- }
218
- getHTTPHeaderApplicationPDF() {
219
- return {
220
- observe: 'response',
221
- responseType: 'blob',
222
- };
223
- }
224
- genericMethod(link, data, callback) {
225
- const { href, type = 'get' } = link;
226
- this.monkeyecxService?.[type.toLowerCase()](`${href}`, data)?.subscribe(() => {
227
- if (callback)
228
- callback();
229
- }, (err) => {
230
- throwError(err);
231
- });
232
- }
233
- geti18n(translateService, keys) {
234
- translateService.getStreamOnTranslationChange(keys).subscribe((translations) => {
235
- this.__i18n = translations;
236
- this.__oni18nDataChanged$.next(null);
237
- });
238
- }
239
- doPagination() {
240
- console.log('do pagination');
241
- if (!this.__onLoadingInProgress$.value) {
242
- console.log('1');
243
- const hasMorePages = this.setPage({
244
- page: {
245
- ...this.__page,
246
- },
247
- }).nextPage();
248
- console.log('2');
249
- console.log('hasMorePages');
250
- console.log(hasMorePages);
251
- console.log('__callbackPagination');
252
- console.log(this.__callbackPagination);
253
- if (hasMorePages && this.__callbackPagination) {
254
- this.__callbackPagination();
255
- }
256
- }
257
- }
258
- setSearchByUrl(router, url, search, extras) {
259
- this.__data = null;
260
- this.__page = null;
261
- this.__onDataChanged$.next(null);
262
- this.__onLoadingInProgress$.next(false);
263
- router.navigate([url], {
264
- queryParams: {
265
- ...search,
266
- r: MonkeyEcxUtils.getRandomString(30),
267
- },
268
- queryParamsHandling: 'merge',
269
- ...extras,
270
- });
271
- }
272
- }
273
- __decorate([
274
- MonkeyEcxCoreService({
275
- requestInProgress: {
276
- showProgress: true,
277
- },
278
- })
279
- ], MonkeyEcxCommonsService.prototype, "genericMethod", null);
280
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWNvbW1vbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9jb21tb25zL21vbmtleWVjeC1jb21tb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxlQUFlLEdBR2hCLE1BQU0saUJBQWlCLENBQUM7QUFHekIsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFjekQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFFMUcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRzdFLE1BQU0sT0FBTyx1QkFBdUI7SUFnRGxDLFlBQ1MsZ0JBQW1DLEVBQ25DLFlBQTJDLEVBQzNDLFNBV047UUFiTSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO1FBQ25DLGlCQUFZLEdBQVosWUFBWSxDQUErQjtRQUMzQyxjQUFTLEdBQVQsU0FBUyxDQVdmO1FBN0RLLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBTTdCLFlBQU8sR0FBa0MsSUFBSSxDQUFDO1FBRTlDLG1CQUFjLEdBQXlDLElBQUksQ0FBQztRQUU1RCxXQUFNLEdBQWtDLElBQUksQ0FBQztRQUU3QyxZQUFPLEdBQWtDLElBQUksQ0FBQztRQUk5QyxtQkFBYyxHQUFpQyxJQUFJLENBQUM7UUFFcEQsdUJBQWtCLEdBQXlCLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXJFLHFCQUFnQixHQUF5QixJQUFJLGVBQWUsQ0FBQyxJ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Q3JCLFdBQVcsRUFBRTtnQkFDWCxHQUFHLE1BQU07Z0JBQ1QsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO2FBQ3RDO1lBQ0QsbUJBQW1CLEVBQUUsT0FBTztZQUM1QixHQUFHLE1BQU07U0FDVixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUExREM7SUFMQyxvQkFBb0IsQ0FBQztRQUNwQixpQkFBaUIsRUFBRTtZQUNqQixZQUFZLEVBQUUsSUFBSTtTQUNuQjtLQUNGLENBQUM7NERBWUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICBOYXZpZ2F0aW9uU3RhcnQsXG4gIFJvdXRlcixcbiAgUm91dGVyU3RhdGVTbmFwc2hvdCxcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2UsIHRha2VXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIE1vbmtleUVjeEVycm9yUmVzcG9uc2UsXG4gIE1vbmtleUVjeEhhbmRsZWRFcnJvclJlc3BvbnNlLFxuICBNb25rZXlFY3hSZXF1ZXN0UGFnZWQsXG4gIE1vbmtleUVjeFJlcXVlc3RTY2hlZHVsZSxcbiAgTW9ua2V5RWN4UmVzcG9uc2VQYWdlZCxcbiAgTW9ua2V5RWN4UmVzcG9uc2VMaW5rcyxcbiAgTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscyxcbiAgTW9ua2V5RWN4VHJhbnNsYXRlT3B0aW9ucyxcbn0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBNb25rZXlFY3hUb2tlblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vc3RvcmFnZS9tb25rZXllY3gtdG9rZW4tc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IE1vbmtleUVjeFJlcXVlc3RTY2hlZHVsZVNlcnZpY2UgfSBmcm9tICcuLi9zY2hlZHVsZXMvbW9ua2V5ZWN4LXJlcXVlc3Qtc2NoZWR1bGUuc2VydmljZSc7XG5pbXBvcnQgeyBNb25rZXlFY3hSZXF1ZXN0UXVldWVIYW5kbGluZ1NlcnZpY2UgfSBmcm9tICcuLi9yZXF1ZXN0LXF1ZXVlL21vbmtleWVjeC1yZXF1ZXN0LXF1ZXVlLWhhbmRsaW5nLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9ua2V5RWN4UmVxdWVzdFBhZ2VkSGFuZGxpbmcgfSBmcm9tICcuLi9yZXF1ZXN0LXBhZ2VkL21vbmtleWVjeC1yZXF1ZXN0LXJlcXVlc3QtcGFnZWQtaGFuZGxpbmcnO1xuaW1wb3J0IHsgTW9ua2V5RWN4RmVhdHVyZVRvZ2dsZVNlcnZpY2UgfSBmcm9tICcuLi9jb25maWcvbW9ua2V5ZWN4LWZlYXR1cmUtdG9nZ2xlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9ua2V5RWN4VXRpbHMgfSBmcm9tICcuLi8uLi91dGlscy91dGlscyc7XG5pbXBvcnQgeyBNb25rZXlFY3hDb3JlU2VydmljZSB9IGZyb20gJy4uLy4uL2RlY29yYXRvcnMvbW9ua2V5ZWN4LWRlY29yYXRvcnMnO1xuaW1wb3J0IHsgTW9ua2V5RWN4U2VydmljZSB9IGZyb20gJy4uL21vbmtleWVjeC1zZXJ2aWNlLnNlcnZpY2UnO1xuXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4Q29tbW9uc1NlcnZpY2Uge1xuICBwcml2YXRlIGZsYWdWYWxpZGF0b3IgPSB0cnVlO1xuXG4gIF9fZGF0YTogYW55IHwgYW55W107XG5cbiAgX19wYXJhbXM6IGFueSB8IGFueVtdO1xuXG4gIF9fZXJyb3I6IE1vbmtleUVjeEVycm9yUmVzcG9uc2UgfCBudWxsID0gbnVsbDtcblxuICBfX2hhbmRsZWRFcnJvcjogTW9ua2V5RWN4SGFuZGxlZEVycm9yUmVzcG9uc2UgfCBudWxsID0gbnVsbDtcblxuICBfX3BhZ2U6IE1vbmtleUVjeFJlc3BvbnNlUGFnZWQgfCBudWxsID0gbnVsbDtcblxuICBfX2xpbmtzOiBNb25rZXlFY3hSZXNwb25zZUxpbmtzIHwgbnVsbCA9IG51bGw7XG5cbiAgX19zZWFyY2g6IGFueTtcblxuICBfX3JlcXVlc3RQYWdlZDogTW9ua2V5RWN4UmVxdWVzdFBhZ2VkIHwgbnVsbCA9IG51bGw7XG5cbiAgX19vblNlYXJjaENoYW5nZWQkOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG5cbiAgX19vbkRhdGFDaGFuZ2VkJDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuXG4gIF9fb25Mb2FkaW5nSW5Qcm9ncmVzcyQ6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgX19vbkRhdGFEZWxldGVkJDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuXG4gIF9fb25FcnJvckNoYW5nZWQkOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG5cbiAgX19vbkdvdmVybm1lbnRJZERhdGFDaGFuZ2VkJDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuXG4gIF9fb25aaXBDb2RlRGF0YUNoYW5nZWQkOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG5cbiAgX19vbmkxOG5EYXRhQ2hhbmdlZCQ6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcblxuICBfX29uRG9TZWFyY2gkOiBCZWhhdmlvclN1YmplY3Q8TW9ua2V5RWN4UmVxdWVzdFBhZ2VkPiA9IG5ldyBCZWhhdmlvclN1YmplY3Qoe30pO1xuXG4gIF9fdG9rZW5DcmVkZW50aWFsczogTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscyB8IG51bGwgPSBudWxsO1xuXG4gIF9fc2NoZWR1bGU6IE1vbmtleUVjeFJlcXVlc3RTY2hlZHVsZSB8IG51bGwgPSBudWxsO1xuXG4gIF9faTE4bjogYW55O1xuXG4gIF9fY2FsbGJhY2tQYWdpbmF0aW9uOiBGdW5jdGlvbiA9ICgpID0+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgIHJldHVybiBjb25zb2xlLmVycm9yKCdNZXRob2QgY2FsbGJhY2tQYWdpbmF0aW9uIG5lZWRzIHRvIGJlIGRlY2xhcmVkJyk7XG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIG1vbmtleWVjeFNlcnZpY2U/OiBNb25rZXlFY3hTZXJ2aWNlLFxuICAgIHB1YmxpYyB0b2tlblN0b3JhZ2U/OiBNb25rZXlFY3hUb2tlblN0b3JhZ2VTZXJ2aWNlLFxuICAgIHB1YmxpYyBvdGhlckFyZ3M/OiB7XG4gICAgICByb3V0ZXI/OiBSb3V0ZXI7XG4gICAgICBzY2hlZHVsZT86IHtcbiAgICAgICAgc2VydmljZTogTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlU2VydmljZTtcbiAgICAgICAgb3B0aW9ucz86IHtcbiAgICAgICAgICBjbGVhck9uQ2hhbmdlUm91dGU/OiBib29sZWFuO1xuICAgICAgICB9O1xuICAgICAgfTtcbiAgICAgIHF1ZXVlPzoge1xuICAgICAgICBzZXJ2aWNlOiBNb25rZXlFY3hSZXF1ZXN0UXVldWVIYW5kbGluZ1NlcnZpY2U7XG4gICAgICB9O1xuICAgIH1cbiAgKSB7XG4gICAgdGhpcy5oYW5kbGVJbml0KCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUluaXQoKSB7XG4gICAgaWYgKHRoaXMudG9rZW5TdG9yYWdlKSB7XG4gICAgICB0aGlzLl9fdG9rZW5DcmVkZW50aWFscyA9IHRoaXMudG9rZW5TdG9yYWdlLmdldFRva2VuKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMub3RoZXJBcmdzPy5yb3V0ZXIpIHtcbiAgICAgIGNvbnN0IHsgY2xlYXJPbkNoYW5nZVJvdXRlIH0gPSB0aGlzLm90aGVyQXJncz8uc2NoZWR1bGU/Lm9wdGlvbnMgfHwge1xuICAgICAgICBjbGVhck9uQ2hhbmdlUm91dGU6IGZhbHNlLFxuICAgICAgfTtcbiAgICAgIHRoaXMub3RoZXJBcmdzLnJvdXRlci5ldmVudHNcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgZmlsdGVyKChldmVudDogYW55KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQ7XG4gICAgICAgICAgfSksXG4gICAgICAgICAgdGFrZSgxKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLl9fc2NoZWR1bGUgJiYgY2xlYXJPbkNoYW5nZVJvdXRlKSB7XG4gICAgICAgICAgICB0aGlzLm90aGVyQXJncz8uc2NoZWR1bGU/LnNlcnZpY2U/LnJlbW92ZVNjaGVkdWxlKHRoaXMuX19zY2hlZHVsZSk7XG4gICAgICAgICAgICB0aGlzLl9fc2NoZWR1bGUgPSBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRSb2xlKCk6IHN0cmluZyB7XG4gICAgY29uc3QgeyBfX3Rva2VuQ3JlZGVudGlhbHMgfSA9IHRoaXM7XG5cbiAgICBpZiAoIV9fdG9rZW5DcmVkZW50aWFscykgcmV0dXJuICcnO1xuXG4gICAgaWYgKF9fdG9rZW5DcmVkZW50aWFscz8ucHJvZ3JhbUFkbWluID09PSAndHJ1ZScpIHtcbiAgICAgIHJldHVybiAnUFJPR1JBTV9BRE1JTic7XG4gICAgfVxuXG4gICAgcmV0dXJuIF9fdG9rZW5DcmVkZW50aWFscz8ucm9sZSB8fCAnJztcbiAgfVxuXG4gIHByaXZhdGUgYWxsb3dlZFNlY3VyaXR5QWNjZXNzKGFyZ3M6IGFueSk6IGJvb2xlYW4ge1xuICAgIGlmICghYXJncykgcmV0dXJuIHRydWU7XG4gICAgY29uc3Qgcm9sZXMgPSBhcmdzPy5yb2xlcztcbiAgICBjb25zdCBieUV4Y2x1c2lvbiA9IGFyZ3M/LmJ5RXhjbHVzaW9uO1xuICAgIGNvbnN0IGZvdW5kID0gcm9sZXM/LmluZGV4T2YodGhpcy5nZXRSb2xlKCkpO1xuICAgIGxldCByZXQgPSBmYWxzZTtcbiAgICBpZiAoYnlFeGNsdXNpb24pIHtcbiAgICAgIHJldCA9IHRydWU7XG4gICAgICBpZiAoZm91bmQgPiAtMSkge1xuICAgICAgICByZXQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0ID0gZmFsc2U7XG4gICAgICBpZiAoZm91bmQgPiAtMSkge1xuICAgICAgICByZXQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoIXJvbGVzIHx8IHJvbGVzLmxlbmd0aCA9PT0gMCB8fCB0aGlzLmdldFJvbGUoKSA9PT0gJ1BST0dSQU1fQURNSU4nKSB7XG4gICAgICByZXQgPSB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gcmV0O1xuICB9XG5cbiAgcHJpdmF0ZSBuYXZpZ2F0ZVRvRXJyb3JQYWdlKHN0YXR1c0NvZGU6IG51bWJlciwgcm91dGVyPzogUm91dGVyKSB7XG4gICAgY29uc3Qgcm91dGVzOiBhbnkgPSB7XG4gICAgICA0MDM6ICdmb3JiaWRkZW4nLFxuICAgICAgNDA0OiAnbm90LWZvdW5kJyxcbiAgICAgIDUwMDogJ3NlcnZpY2UtcHJvYmxlbXMnLFxuICAgICAgNTAzOiAnc2VydmljZS1wcm9ibGVtcycsXG4gICAgfTtcblxuICAgIGlmICghcm91dGVyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdSb3V0ZXIgbXVzdCBiZSBkZWNsYXJlZCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICByb3V0ZXI/Lm5hdmlnYXRlKFtgL2FwcC9wYWdlcy8ke3JvdXRlc1tzdGF0dXNDb2RlXX1gLnRvTG93ZXJDYXNlKCldLCB7XG4gICAgICAgIHNraXBMb2NhdGlvbkNoYW5nZTogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHNldFBhZ2UocmVxdWVzdFBhZ2VkOiBNb25rZXlFY3hSZXF1ZXN0UGFnZWQpIHtcbiAgICB0aGlzLl9fcmVxdWVzdFBhZ2VkID0ge1xuICAgICAgLi4udGhpcy5fX3JlcXVlc3RQYWdlZCxcbiAgICAgIC4uLnJlcXVlc3RQYWdlZCxcbiAgICB9O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgbmV4dFBhZ2UoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuX19saW5rcykge1xuICAgICAgcmV0dXJuICEhdGhpcy5fX2xpbmtzPy5uZXh0O1xuICAgIH1cbiAgICBpZiAoIXRoaXMuX19yZXF1ZXN0UGFnZWQpIHJldHVybiBmYWxzZTtcbiAgICBjb25zdCB7IHBhZ2UgfSA9IHRoaXMuX19yZXF1ZXN0UGFnZWQgYXMgYW55O1xuICAgIGNvbnN0IHsgbnVtYmVyLCB0b3RhbFBhZ2VzIH0gPSBwYWdlO1xuICAgIGlmIChudW1iZXIgPCB0b3RhbFBhZ2VzKSB7XG4gICAgICB0aGlzLl9fcmVxdWVzdFBhZ2VkID0ge1xuICAgICAgICAuLi50aGlzLl9fcmVxdWVzdFBhZ2VkLFxuICAgICAgICBwYWdlOiB7XG4gICAgICAgICAgLi4ucGFnZSxcbiAgICAgICAgICBudW1iZXI6IG51bWJlciArIDEsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGdldEVtYmVkZGVkRGF0YShkYXRhOiBhbnksIGZpZWxkOiBzdHJpbmcpOiBhbnlbXSB8IGFueSB7XG4gICAgY29uc3QgeyBfZW1iZWRkZWQgfSA9IGRhdGE7XG4gICAgcmV0dXJuIF9lbWJlZGRlZCA/IF9lbWJlZGRlZFtmaWVsZF0gOiBudWxsO1xuICB9XG5cbiAgZ2V0Tm9ybWFsaXplZFVybCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgeyBfX3JlcXVlc3RQYWdlZCwgX19saW5rcyB9ID0gdGhpcztcbiAgICByZXR1cm4gbmV3IE1vbmtleUVjeFJlcXVlc3RQYWdlZEhhbmRsaW5nKFxuICAgICAgdXJsLFxuICAgICAgX19yZXF1ZXN0UGFnZWQgfHwge30sXG4gICAgICBfX2xpbmtzXG4gICAgKS5nZXRSZXF1ZXN0V2l0aFBhZ2VkUGFyYW1zKCk7XG4gIH1cblxuICBjbGVhcihjbGVhckRhdGE6IGJvb2xlYW4pIHtcbiAgICBpZiAoY2xlYXJEYXRhKSB7XG4gICAgICB0aGlzLl9fZGF0YSA9IG51bGw7XG4gICAgICB0aGlzLl9fcmVxdWVzdFBhZ2VkID0gbnVsbDtcbiAgICAgIHRoaXMuX19wYXJhbXMgPSBudWxsO1xuICAgICAgdGhpcy5fX3BhZ2UgPSBudWxsO1xuICAgICAgdGhpcy5fX2xpbmtzID0gbnVsbDtcblxuICAgICAgaWYgKHRoaXMuX19zY2hlZHVsZSkge1xuICAgICAgICBjb25zdCB7IHF1ZXVlIH0gPSB0aGlzLl9fc2NoZWR1bGU7XG4gICAgICAgIGlmIChxdWV1ZSkge1xuICAgICAgICAgIHRoaXMub3RoZXJBcmdzPy5xdWV1ZT8uc2VydmljZT8ucmVtb3ZlUXVldWVJdGVtKHF1ZXVlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm90aGVyQXJncz8uc2NoZWR1bGU/LnNlcnZpY2U/LnJlbW92ZVNjaGVkdWxlKHRoaXMuX19zY2hlZHVsZSk7XG4gICAgICAgIHRoaXMuX19zY2hlZHVsZSA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuX19lcnJvciA9IG51bGw7XG4gICAgdGhpcy5fX2hhbmRsZWRFcnJvciA9IG51bGw7XG4gICAgdGhpcy5mbGFnVmFsaWRhdG9yID0gZmFsc2U7XG4gIH1cblxuICByZXNvbHZlKFxuICAgIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IHwgbnVsbCxcbiAgICBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCB8IG51bGwsXG4gICAgb3RoZXJBcmdzPzoge1xuICAgICAgY2FsbGJhY2tNYWluOiBGdW5jdGlvbjtcbiAgICAgIHJvdXRlcj86IFJvdXRlcjtcbiAgICAgIHNlY3VyaXR5Pzoge1xuICAgICAgICByb2xlczogc3RyaW5nW107XG4gICAgICAgIGJ5RXhjbHVzaW9uPzogYm9vbGVhbjtcbiAgICAgIH07XG4gICAgICBjYWxsYmFja1BhZ2luYXRpb24/OiBGdW5jdGlvbjtcbiAgICAgIHRyYW5zbGF0ZU9wdGlvbnM/OiBNb25rZXlFY3hUcmFuc2xhdGVPcHRpb25zO1xuICAgICAgZmVhdHVyZT86IHtcbiAgICAgICAgc2VydmljZTogTW9ua2V5RWN4RmVhdHVyZVRvZ2dsZVNlcnZpY2U7XG4gICAgICAgIGZsYWc6IHN0cmluZztcbiAgICAgIH07XG4gICAgfVxuICApIHtcbiAgICBpZiAoSlNPTi5zdHJpbmdpZnkocm91dGU/LnF1ZXJ5UGFyYW1zKSA9PT0gJ3t9Jykge1xuICAgICAgdGhpcy5fX2RhdGEgPSBudWxsO1xuICAgICAgdGhpcy5fX3BhZ2UgPSBudWxsO1xuICAgIH1cblxuICAgIHRoaXMuX19yZXF1ZXN0UGFnZWQgPSBudWxsO1xuICAgIHRoaXMuZmxhZ1ZhbGlkYXRvciA9IHRydWU7XG5cbiAgICBpZiAodGhpcy50b2tlblN0b3JhZ2UpIHtcbiAgICAgIHRoaXMuX190b2tlbkNyZWRlbnRpYWxzID0gdGhpcy50b2tlblN0b3JhZ2UuZ2V0VG9rZW4oKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5hbGxvd2VkU2VjdXJpdHlBY2Nlc3Mob3RoZXJBcmdzPy5zZWN1cml0eSkpIHtcbiAgICAgIGlmICh0aGlzLl9fc2NoZWR1bGUpIHtcbiAgICAgICAgdGhpcy5vdGhlckFyZ3M/LnNjaGVkdWxlPy5zZXJ2aWNlPy5yZW1vdmVTY2hlZHVsZSh0aGlzLl9fc2NoZWR1bGUpO1xuICAgICAgICB0aGlzLl9fc2NoZWR1bGUgPSBudWxsO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB7IF9fcmVxdWVzdFBhZ2VkIH0gPSB0aGlzO1xuICAgICAgaWYgKCFfX3JlcXVlc3RQYWdlZCkge1xuICAgICAgICB0aGlzLnNldFBhZ2Uoe1xuICAgICAgICAgIHBhZ2U6IHtcbiAgICAgICAgICAgIG51bWJlcjogMCxcbiAgICAgICAgICAgIHNpemU6IDEwLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAob3RoZXJBcmdzPy50cmFuc2xhdGVPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHsgc2VydmljZSwga2V5cyB9ID0gb3RoZXJBcmdzPy50cmFuc2xhdGVPcHRpb25zO1xuICAgICAgICB0aGlzLmdldGkxOG4oc2VydmljZSwga2V5cyB8fCAnJyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChvdGhlckFyZ3M/LmNhbGxiYWNrUGFnaW5hdGlvbikge1xuICAgICAgICB0aGlzLl9fY2FsbGJhY2tQYWdpbmF0aW9uID0gb3RoZXJBcmdzLmNhbGxiYWNrUGFnaW5hdGlvbjtcbiAgICAgIH1cblxuICAgICAgaWYgKG90aGVyQXJncz8uZmVhdHVyZSkge1xuICAgICAgICBjb25zdCB7IGZsYWcsIHNlcnZpY2UgfSA9IG90aGVyQXJncy5mZWF0dXJlO1xuXG4gICAgICAgIHNlcnZpY2Uub25GbGFnc1xuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgdGFrZVdoaWxlKCgpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmxhZ1ZhbGlkYXRvcjtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKHZhbDogYm9vbGVhbikgPT4ge1xuICAgICAgICAgICAgaWYgKHZhbCkge1xuICAgICAgICAgICAgICBjb25zdCBoYXNGbGFnID0gc2VydmljZS5nZXRGbGFnKGZsYWcpO1xuXG4gICAgICAgICAgICAgIGlmIChNb25rZXlFY3hVdGlscy5wZXJzaXN0TnVsbEVtcHR5VW5kZWZpbmVkKGhhc0ZsYWcpKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFoYXNGbGFnKSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLm5hdmlnYXRlVG9FcnJvclBhZ2UoNDA0LCBvdGhlckFyZ3M/LnJvdXRlcik7XG4gICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG90aGVyQXJncz8uY2FsbGJhY2tNYWluKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvdGhlckFyZ3M/LmNhbGxiYWNrTWFpbigpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm5hdmlnYXRlVG9FcnJvclBhZ2UoNDAzLCBvdGhlckFyZ3M/LnJvdXRlcik7XG4gICAgfVxuICB9XG5cbiAgZ2V0SFRUUEhlYWRlckFwcGxpY2F0aW9uUERGKCk6IE9iamVjdCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG9ic2VydmU6ICdyZXNwb25zZScsXG4gICAgICByZXNwb25zZVR5cGU6ICdibG9iJyxcbiAgICB9O1xuICB9XG5cbiAgQE1vbmtleUVjeENvcmVTZXJ2aWNlKHtcbiAgICByZXF1ZXN0SW5Qcm9ncmVzczoge1xuICAgICAgc2hvd1Byb2dyZXNzOiB0cnVlLFxuICAgIH0sXG4gIH0pXG4gIGdlbmVyaWNNZXRob2QobGluazogYW55LCBkYXRhPzogYW55LCBjYWxsYmFjaz86IEZ1bmN0aW9uKSB7XG4gICAgY29uc3QgeyBocmVmLCB0eXBlID0gJ2dldCcgfSA9IGxpbms7XG5cbiAgICB0aGlzLm1vbmtleWVjeFNlcnZpY2U/Llt0eXBlLnRvTG93ZXJDYXNlKCldKGAke2hyZWZ9YCwgZGF0YSk/LnN1YnNjcmliZShcbiAgICAgICgpID0+IHtcbiAgICAgICAgaWYgKGNhbGxiYWNrKSBjYWxsYmFjaygpO1xuICAgICAgfSxcbiAgICAgIChlcnI6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHRocm93RXJyb3IoZXJyKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgZ2V0aTE4bih0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLCBrZXlzOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuICAgIHRyYW5zbGF0ZVNlcnZpY2UuZ2V0U3RyZWFtT25UcmFuc2xhdGlvbkNoYW5nZShrZXlzKS5zdWJzY3JpYmUoKHRyYW5zbGF0aW9uczogYW55KSA9PiB7XG4gICAgICB0aGlzLl9faTE4biA9IHRyYW5zbGF0aW9ucztcbiAgICAgIHRoaXMuX19vbmkxOG5EYXRhQ2hhbmdlZCQubmV4dChudWxsKTtcbiAgICB9KTtcbiAgfVxuXG4gIGRvUGFnaW5hdGlvbigpIHtcbiAgICBjb25zb2xlLmxvZygnZG8gcGFnaW5hdGlvbicpO1xuICAgIGlmICghdGhpcy5fX29uTG9hZGluZ0luUHJvZ3Jlc3MkLnZhbHVlKSB7XG4gICAgICBjb25zb2xlLmxvZygnMScpO1xuICAgICAgY29uc3QgaGFzTW9yZVBhZ2VzID0gdGhpcy5zZXRQYWdlKHtcbiAgICAgICAgcGFnZToge1xuICAgICAgICAgIC4uLnRoaXMuX19wYWdlLFxuICAgICAgICB9LFxuICAgICAgfSkubmV4dFBhZ2UoKTtcbiAgICAgIGNvbnNvbGUubG9nKCcyJyk7XG5cbiAgICAgIGNvbnNvbGUubG9nKCdoYXNNb3JlUGFnZXMnKTtcbiAgICAgIGNvbnNvbGUubG9nKGhhc01vcmVQYWdlcyk7XG5cbiAgICAgIGNvbnNvbGUubG9nKCdfX2NhbGxiYWNrUGFnaW5hdGlvbicpO1xuICAgICAgY29uc29sZS5sb2codGhpcy5fX2NhbGxiYWNrUGFnaW5hdGlvbik7XG5cbiAgICAgIGlmIChoYXNNb3JlUGFnZXMgJiYgdGhpcy5fX2NhbGxiYWNrUGFnaW5hdGlvbikge1xuICAgICAgICB0aGlzLl9fY2FsbGJhY2tQYWdpbmF0aW9uKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2V0U2VhcmNoQnlVcmwocm91dGVyOiBSb3V0ZXIsIHVybDogc3RyaW5nLCBzZWFyY2g6IGFueSwgZXh0cmFzPzogYW55KSB7XG4gICAgdGhpcy5fX2RhdGEgPSBudWxsO1xuICAgIHRoaXMuX19wYWdlID0gbnVsbDtcbiAgICB0aGlzLl9fb25EYXRhQ2hhbmdlZCQubmV4dChudWxsKTtcbiAgICB0aGlzLl9fb25Mb2FkaW5nSW5Qcm9ncmVzcyQubmV4dChmYWxzZSk7XG5cbiAgICByb3V0ZXIubmF2aWdhdGUoW3VybF0sIHtcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgIC4uLnNlYXJjaCxcbiAgICAgICAgcjogTW9ua2V5RWN4VXRpbHMuZ2V0UmFuZG9tU3RyaW5nKDMwKSxcbiAgICAgIH0sXG4gICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnLFxuICAgICAgLi4uZXh0cmFzLFxuICAgIH0pO1xuICB9XG59XG4iXX0=