@eo-sdk/client 10.6.11 → 10.6.12

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 (247) hide show
  1. package/app/eo-client/inbox-state/inbox-state/inbox-state.component.d.ts.map +1 -1
  2. package/app/eo-framework/grid/extensions/filter/custom/custom-filter.component.d.ts.map +1 -1
  3. package/app/eo-framework/inbox-details/inbox-details.component.d.ts.map +1 -1
  4. package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts +2 -0
  5. package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts.map +1 -1
  6. package/esm2020/app/eo-client/about-state/about-state.component.mjs +3 -3
  7. package/esm2020/app/eo-client/inbox-state/inbox-state/inbox-state.component.mjs +18 -1
  8. package/esm2020/app/eo-framework/app-shell/app-bar/context-search/context-search.component.mjs +3 -3
  9. package/esm2020/app/eo-framework/grid/extensions/filter/custom/custom-filter.component.mjs +2 -1
  10. package/esm2020/app/eo-framework/grid/grid.component.mjs +2 -2
  11. package/esm2020/app/eo-framework/inbox-details/inbox-details.component.mjs +3 -1
  12. package/esm2020/app/eo-framework/object-form/object-form/form-element/form-element.component.mjs +3 -3
  13. package/esm2020/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +10 -3
  14. package/esm2020/app/eo-framework/ui/indexdata-summary/indexdata-summary-entry/indexdata-summary-entry.component.mjs +2 -2
  15. package/fesm2015/eo-sdk-client.mjs +37 -11
  16. package/fesm2015/eo-sdk-client.mjs.map +1 -1
  17. package/fesm2020/eo-sdk-client.mjs +37 -11
  18. package/fesm2020/eo-sdk-client.mjs.map +1 -1
  19. package/misc/scripts/exclude-core-ng-package.js +11 -0
  20. package/package.json +2 -10
  21. package/esm2020/projects/eo-sdk/core/eo-sdk-client-projects-eo-sdk-core.mjs +0 -5
  22. package/esm2020/projects/eo-sdk/core/lib/config/core-config.mjs +0 -23
  23. package/esm2020/projects/eo-sdk/core/lib/config/core-init.service.mjs +0 -71
  24. package/esm2020/projects/eo-sdk/core/lib/config/core-init.tokens.mjs +0 -8
  25. package/esm2020/projects/eo-sdk/core/lib/config/initialize-module.mjs +0 -11
  26. package/esm2020/projects/eo-sdk/core/lib/config/missing-translation-handler.mjs +0 -15
  27. package/esm2020/projects/eo-sdk/core/lib/config/translate-json-loader.mjs +0 -130
  28. package/esm2020/projects/eo-sdk/core/lib/environment.enaio.mjs +0 -12
  29. package/esm2020/projects/eo-sdk/core/lib/eo-core-shared.module.mjs +0 -24
  30. package/esm2020/projects/eo-sdk/core/lib/eo-core.module.mjs +0 -117
  31. package/esm2020/projects/eo-sdk/core/lib/interface/change-password.interface.mjs +0 -2
  32. package/esm2020/projects/eo-sdk/core/lib/interface/event.interface.mjs +0 -2
  33. package/esm2020/projects/eo-sdk/core/lib/interface/http-options.interface.mjs +0 -2
  34. package/esm2020/projects/eo-sdk/core/lib/interface/logger.interface.mjs +0 -7
  35. package/esm2020/projects/eo-sdk/core/lib/interface/organization-objects.interface.mjs +0 -2
  36. package/esm2020/projects/eo-sdk/core/lib/interface/tree-node.interface.mjs +0 -2
  37. package/esm2020/projects/eo-sdk/core/lib/model/baseparams.model.mjs +0 -2
  38. package/esm2020/projects/eo-sdk/core/lib/model/bpm.model.mjs +0 -70
  39. package/esm2020/projects/eo-sdk/core/lib/model/custom-action.model.mjs +0 -2
  40. package/esm2020/projects/eo-sdk/core/lib/model/dms-object-history.model.mjs +0 -30
  41. package/esm2020/projects/eo-sdk/core/lib/model/dms-object.model.mjs +0 -138
  42. package/esm2020/projects/eo-sdk/core/lib/model/eo-error.model.mjs +0 -37
  43. package/esm2020/projects/eo-sdk/core/lib/model/eo-user.model.mjs +0 -86
  44. package/esm2020/projects/eo-sdk/core/lib/model/inbox-item.model.mjs +0 -36
  45. package/esm2020/projects/eo-sdk/core/lib/model/object-type.model.mjs +0 -39
  46. package/esm2020/projects/eo-sdk/core/lib/model/org.model.mjs +0 -2
  47. package/esm2020/projects/eo-sdk/core/lib/model/prepared-item.model.mjs +0 -35
  48. package/esm2020/projects/eo-sdk/core/lib/model/range-value.model.mjs +0 -45
  49. package/esm2020/projects/eo-sdk/core/lib/model/upload-file-item.model.mjs +0 -17
  50. package/esm2020/projects/eo-sdk/core/lib/model/upload-target.model.mjs +0 -50
  51. package/esm2020/projects/eo-sdk/core/lib/model/work-item-history.model.mjs +0 -54
  52. package/esm2020/projects/eo-sdk/core/lib/service/auth/auth-interceptor.mjs +0 -29
  53. package/esm2020/projects/eo-sdk/core/lib/service/auth/auth-profile.interface.mjs +0 -2
  54. package/esm2020/projects/eo-sdk/core/lib/service/auth/auth.service.mjs +0 -215
  55. package/esm2020/projects/eo-sdk/core/lib/service/auth/gateway-info.interface.mjs +0 -2
  56. package/esm2020/projects/eo-sdk/core/lib/service/backend/backend.service.mjs +0 -360
  57. package/esm2020/projects/eo-sdk/core/lib/service/bpm/bpm.service.mjs +0 -286
  58. package/esm2020/projects/eo-sdk/core/lib/service/cache/app-cache.service.mjs +0 -117
  59. package/esm2020/projects/eo-sdk/core/lib/service/capabilities/capabilities.model.mjs +0 -2
  60. package/esm2020/projects/eo-sdk/core/lib/service/capabilities/capabilities.service.mjs +0 -60
  61. package/esm2020/projects/eo-sdk/core/lib/service/clipboard/clipboard-action.enum.mjs +0 -6
  62. package/esm2020/projects/eo-sdk/core/lib/service/clipboard/clipboard.interface.mjs +0 -2
  63. package/esm2020/projects/eo-sdk/core/lib/service/clipboard/clipboard.service.mjs +0 -100
  64. package/esm2020/projects/eo-sdk/core/lib/service/config/config.enum.mjs +0 -6
  65. package/esm2020/projects/eo-sdk/core/lib/service/config/config.interface.mjs +0 -2
  66. package/esm2020/projects/eo-sdk/core/lib/service/config/config.service.mjs +0 -135
  67. package/esm2020/projects/eo-sdk/core/lib/service/dms/dms.service.mjs +0 -507
  68. package/esm2020/projects/eo-sdk/core/lib/service/dms/dmsParams.interface.mjs +0 -2
  69. package/esm2020/projects/eo-sdk/core/lib/service/events/event.service.mjs +0 -44
  70. package/esm2020/projects/eo-sdk/core/lib/service/events/events.mjs +0 -27
  71. package/esm2020/projects/eo-sdk/core/lib/service/inbox/inbox.service.mjs +0 -111
  72. package/esm2020/projects/eo-sdk/core/lib/service/logger/console-log.service.mjs +0 -41
  73. package/esm2020/projects/eo-sdk/core/lib/service/logger/logger.mjs +0 -47
  74. package/esm2020/projects/eo-sdk/core/lib/service/notifications/notifications.service.mjs +0 -136
  75. package/esm2020/projects/eo-sdk/core/lib/service/prepare/objectTypes.interface.mjs +0 -2
  76. package/esm2020/projects/eo-sdk/core/lib/service/prepare/prepare.service.mjs +0 -305
  77. package/esm2020/projects/eo-sdk/core/lib/service/search/search-filter-type.interface.mjs +0 -2
  78. package/esm2020/projects/eo-sdk/core/lib/service/search/search-query.model.mjs +0 -510
  79. package/esm2020/projects/eo-sdk/core/lib/service/search/search.service.mjs +0 -484
  80. package/esm2020/projects/eo-sdk/core/lib/service/signing/signing.service.mjs +0 -60
  81. package/esm2020/projects/eo-sdk/core/lib/service/storage/local-storage.service.mjs +0 -111
  82. package/esm2020/projects/eo-sdk/core/lib/service/stored-queries/stored-queries-subscription.interface.mjs +0 -2
  83. package/esm2020/projects/eo-sdk/core/lib/service/stored-queries/stored-queries.service.mjs +0 -216
  84. package/esm2020/projects/eo-sdk/core/lib/service/stored-queries/stored-query.model.mjs +0 -98
  85. package/esm2020/projects/eo-sdk/core/lib/service/system/system.service.mjs +0 -345
  86. package/esm2020/projects/eo-sdk/core/lib/service/system/systemdefinition.interface.mjs +0 -2
  87. package/esm2020/projects/eo-sdk/core/lib/service/system-status/system-status.service.mjs +0 -104
  88. package/esm2020/projects/eo-sdk/core/lib/service/system-status/system.status.enum.mjs +0 -9
  89. package/esm2020/projects/eo-sdk/core/lib/service/system-status/system.status.interface.mjs +0 -2
  90. package/esm2020/projects/eo-sdk/core/lib/service/upload/upload.service.mjs +0 -46
  91. package/esm2020/projects/eo-sdk/core/lib/service/upload-registry/upload-registry.service.mjs +0 -83
  92. package/esm2020/projects/eo-sdk/core/lib/service/user/user.service.mjs +0 -399
  93. package/esm2020/projects/eo-sdk/core/lib/util/utils.mjs +0 -304
  94. package/esm2020/projects/eo-sdk/core/public_api.mjs +0 -85
  95. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs +0 -6124
  96. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs.map +0 -1
  97. package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs +0 -6139
  98. package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs.map +0 -1
  99. package/projects/eo-sdk/core/README.md +0 -113
  100. package/projects/eo-sdk/core/eo-sdk-client-projects-eo-sdk-core.d.ts.map +0 -1
  101. package/projects/eo-sdk/core/index.d.ts +0 -6
  102. package/projects/eo-sdk/core/lib/config/core-config.d.ts +0 -14
  103. package/projects/eo-sdk/core/lib/config/core-config.d.ts.map +0 -1
  104. package/projects/eo-sdk/core/lib/config/core-init.service.d.ts +0 -33
  105. package/projects/eo-sdk/core/lib/config/core-init.service.d.ts.map +0 -1
  106. package/projects/eo-sdk/core/lib/config/core-init.tokens.d.ts +0 -8
  107. package/projects/eo-sdk/core/lib/config/core-init.tokens.d.ts.map +0 -1
  108. package/projects/eo-sdk/core/lib/config/initialize-module.d.ts +0 -7
  109. package/projects/eo-sdk/core/lib/config/initialize-module.d.ts.map +0 -1
  110. package/projects/eo-sdk/core/lib/config/missing-translation-handler.d.ts +0 -14
  111. package/projects/eo-sdk/core/lib/config/missing-translation-handler.d.ts.map +0 -1
  112. package/projects/eo-sdk/core/lib/config/translate-json-loader.d.ts +0 -21
  113. package/projects/eo-sdk/core/lib/config/translate-json-loader.d.ts.map +0 -1
  114. package/projects/eo-sdk/core/lib/environment.enaio.d.ts +0 -6
  115. package/projects/eo-sdk/core/lib/environment.enaio.d.ts.map +0 -1
  116. package/projects/eo-sdk/core/lib/eo-core-shared.module.d.ts +0 -12
  117. package/projects/eo-sdk/core/lib/eo-core-shared.module.d.ts.map +0 -1
  118. package/projects/eo-sdk/core/lib/eo-core.module.d.ts +0 -46
  119. package/projects/eo-sdk/core/lib/eo-core.module.d.ts.map +0 -1
  120. package/projects/eo-sdk/core/lib/interface/change-password.interface.d.ts +0 -8
  121. package/projects/eo-sdk/core/lib/interface/change-password.interface.d.ts.map +0 -1
  122. package/projects/eo-sdk/core/lib/interface/event.interface.d.ts +0 -14
  123. package/projects/eo-sdk/core/lib/interface/event.interface.d.ts.map +0 -1
  124. package/projects/eo-sdk/core/lib/interface/http-options.interface.d.ts +0 -17
  125. package/projects/eo-sdk/core/lib/interface/http-options.interface.d.ts.map +0 -1
  126. package/projects/eo-sdk/core/lib/interface/logger.interface.d.ts +0 -20
  127. package/projects/eo-sdk/core/lib/interface/logger.interface.d.ts.map +0 -1
  128. package/projects/eo-sdk/core/lib/interface/organization-objects.interface.d.ts +0 -20
  129. package/projects/eo-sdk/core/lib/interface/organization-objects.interface.d.ts.map +0 -1
  130. package/projects/eo-sdk/core/lib/interface/tree-node.interface.d.ts +0 -24
  131. package/projects/eo-sdk/core/lib/interface/tree-node.interface.d.ts.map +0 -1
  132. package/projects/eo-sdk/core/lib/model/baseparams.model.d.ts +0 -58
  133. package/projects/eo-sdk/core/lib/model/baseparams.model.d.ts.map +0 -1
  134. package/projects/eo-sdk/core/lib/model/bpm.model.d.ts +0 -253
  135. package/projects/eo-sdk/core/lib/model/bpm.model.d.ts.map +0 -1
  136. package/projects/eo-sdk/core/lib/model/custom-action.model.d.ts +0 -34
  137. package/projects/eo-sdk/core/lib/model/custom-action.model.d.ts.map +0 -1
  138. package/projects/eo-sdk/core/lib/model/dms-object-history.model.d.ts +0 -59
  139. package/projects/eo-sdk/core/lib/model/dms-object-history.model.d.ts.map +0 -1
  140. package/projects/eo-sdk/core/lib/model/dms-object.model.d.ts +0 -137
  141. package/projects/eo-sdk/core/lib/model/dms-object.model.d.ts.map +0 -1
  142. package/projects/eo-sdk/core/lib/model/eo-error.model.d.ts +0 -19
  143. package/projects/eo-sdk/core/lib/model/eo-error.model.d.ts.map +0 -1
  144. package/projects/eo-sdk/core/lib/model/eo-user.model.d.ts +0 -107
  145. package/projects/eo-sdk/core/lib/model/eo-user.model.d.ts.map +0 -1
  146. package/projects/eo-sdk/core/lib/model/inbox-item.model.d.ts +0 -71
  147. package/projects/eo-sdk/core/lib/model/inbox-item.model.d.ts.map +0 -1
  148. package/projects/eo-sdk/core/lib/model/object-type.model.d.ts +0 -125
  149. package/projects/eo-sdk/core/lib/model/object-type.model.d.ts.map +0 -1
  150. package/projects/eo-sdk/core/lib/model/org.model.d.ts +0 -94
  151. package/projects/eo-sdk/core/lib/model/org.model.d.ts.map +0 -1
  152. package/projects/eo-sdk/core/lib/model/prepared-item.model.d.ts +0 -190
  153. package/projects/eo-sdk/core/lib/model/prepared-item.model.d.ts.map +0 -1
  154. package/projects/eo-sdk/core/lib/model/range-value.model.d.ts +0 -22
  155. package/projects/eo-sdk/core/lib/model/range-value.model.d.ts.map +0 -1
  156. package/projects/eo-sdk/core/lib/model/upload-file-item.model.d.ts +0 -30
  157. package/projects/eo-sdk/core/lib/model/upload-file-item.model.d.ts.map +0 -1
  158. package/projects/eo-sdk/core/lib/model/upload-target.model.d.ts +0 -60
  159. package/projects/eo-sdk/core/lib/model/upload-target.model.d.ts.map +0 -1
  160. package/projects/eo-sdk/core/lib/model/work-item-history.model.d.ts +0 -52
  161. package/projects/eo-sdk/core/lib/model/work-item-history.model.d.ts.map +0 -1
  162. package/projects/eo-sdk/core/lib/service/auth/auth-interceptor.d.ts +0 -12
  163. package/projects/eo-sdk/core/lib/service/auth/auth-interceptor.d.ts.map +0 -1
  164. package/projects/eo-sdk/core/lib/service/auth/auth-profile.interface.d.ts +0 -23
  165. package/projects/eo-sdk/core/lib/service/auth/auth-profile.interface.d.ts.map +0 -1
  166. package/projects/eo-sdk/core/lib/service/auth/auth.service.d.ts +0 -104
  167. package/projects/eo-sdk/core/lib/service/auth/auth.service.d.ts.map +0 -1
  168. package/projects/eo-sdk/core/lib/service/auth/gateway-info.interface.d.ts +0 -18
  169. package/projects/eo-sdk/core/lib/service/auth/gateway-info.interface.d.ts.map +0 -1
  170. package/projects/eo-sdk/core/lib/service/backend/backend.service.d.ts +0 -209
  171. package/projects/eo-sdk/core/lib/service/backend/backend.service.d.ts.map +0 -1
  172. package/projects/eo-sdk/core/lib/service/bpm/bpm.service.d.ts +0 -150
  173. package/projects/eo-sdk/core/lib/service/bpm/bpm.service.d.ts.map +0 -1
  174. package/projects/eo-sdk/core/lib/service/cache/app-cache.service.d.ts +0 -59
  175. package/projects/eo-sdk/core/lib/service/cache/app-cache.service.d.ts.map +0 -1
  176. package/projects/eo-sdk/core/lib/service/capabilities/capabilities.model.d.ts +0 -54
  177. package/projects/eo-sdk/core/lib/service/capabilities/capabilities.model.d.ts.map +0 -1
  178. package/projects/eo-sdk/core/lib/service/capabilities/capabilities.service.d.ts +0 -35
  179. package/projects/eo-sdk/core/lib/service/capabilities/capabilities.service.d.ts.map +0 -1
  180. package/projects/eo-sdk/core/lib/service/clipboard/clipboard-action.enum.d.ts +0 -5
  181. package/projects/eo-sdk/core/lib/service/clipboard/clipboard-action.enum.d.ts.map +0 -1
  182. package/projects/eo-sdk/core/lib/service/clipboard/clipboard.interface.d.ts +0 -16
  183. package/projects/eo-sdk/core/lib/service/clipboard/clipboard.interface.d.ts.map +0 -1
  184. package/projects/eo-sdk/core/lib/service/clipboard/clipboard.service.d.ts +0 -49
  185. package/projects/eo-sdk/core/lib/service/clipboard/clipboard.service.d.ts.map +0 -1
  186. package/projects/eo-sdk/core/lib/service/config/config.enum.d.ts +0 -5
  187. package/projects/eo-sdk/core/lib/service/config/config.enum.d.ts.map +0 -1
  188. package/projects/eo-sdk/core/lib/service/config/config.interface.d.ts +0 -55
  189. package/projects/eo-sdk/core/lib/service/config/config.interface.d.ts.map +0 -1
  190. package/projects/eo-sdk/core/lib/service/config/config.service.d.ts +0 -80
  191. package/projects/eo-sdk/core/lib/service/config/config.service.d.ts.map +0 -1
  192. package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts +0 -286
  193. package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts.map +0 -1
  194. package/projects/eo-sdk/core/lib/service/dms/dmsParams.interface.d.ts +0 -13
  195. package/projects/eo-sdk/core/lib/service/dms/dmsParams.interface.d.ts.map +0 -1
  196. package/projects/eo-sdk/core/lib/service/events/event.service.d.ts +0 -31
  197. package/projects/eo-sdk/core/lib/service/events/event.service.d.ts.map +0 -1
  198. package/projects/eo-sdk/core/lib/service/events/events.d.ts +0 -27
  199. package/projects/eo-sdk/core/lib/service/events/events.d.ts.map +0 -1
  200. package/projects/eo-sdk/core/lib/service/inbox/inbox.service.d.ts +0 -66
  201. package/projects/eo-sdk/core/lib/service/inbox/inbox.service.d.ts.map +0 -1
  202. package/projects/eo-sdk/core/lib/service/logger/console-log.service.d.ts +0 -20
  203. package/projects/eo-sdk/core/lib/service/logger/console-log.service.d.ts.map +0 -1
  204. package/projects/eo-sdk/core/lib/service/logger/logger.d.ts +0 -25
  205. package/projects/eo-sdk/core/lib/service/logger/logger.d.ts.map +0 -1
  206. package/projects/eo-sdk/core/lib/service/notifications/notifications.service.d.ts +0 -78
  207. package/projects/eo-sdk/core/lib/service/notifications/notifications.service.d.ts.map +0 -1
  208. package/projects/eo-sdk/core/lib/service/prepare/objectTypes.interface.d.ts +0 -9
  209. package/projects/eo-sdk/core/lib/service/prepare/objectTypes.interface.d.ts.map +0 -1
  210. package/projects/eo-sdk/core/lib/service/prepare/prepare.service.d.ts +0 -189
  211. package/projects/eo-sdk/core/lib/service/prepare/prepare.service.d.ts.map +0 -1
  212. package/projects/eo-sdk/core/lib/service/search/search-filter-type.interface.d.ts +0 -10
  213. package/projects/eo-sdk/core/lib/service/search/search-filter-type.interface.d.ts.map +0 -1
  214. package/projects/eo-sdk/core/lib/service/search/search-query.model.d.ts +0 -327
  215. package/projects/eo-sdk/core/lib/service/search/search-query.model.d.ts.map +0 -1
  216. package/projects/eo-sdk/core/lib/service/search/search.service.d.ts +0 -173
  217. package/projects/eo-sdk/core/lib/service/search/search.service.d.ts.map +0 -1
  218. package/projects/eo-sdk/core/lib/service/signing/signing.service.d.ts +0 -52
  219. package/projects/eo-sdk/core/lib/service/signing/signing.service.d.ts.map +0 -1
  220. package/projects/eo-sdk/core/lib/service/storage/local-storage.service.d.ts +0 -53
  221. package/projects/eo-sdk/core/lib/service/storage/local-storage.service.d.ts.map +0 -1
  222. package/projects/eo-sdk/core/lib/service/stored-queries/stored-queries-subscription.interface.d.ts +0 -15
  223. package/projects/eo-sdk/core/lib/service/stored-queries/stored-queries-subscription.interface.d.ts.map +0 -1
  224. package/projects/eo-sdk/core/lib/service/stored-queries/stored-queries.service.d.ts +0 -108
  225. package/projects/eo-sdk/core/lib/service/stored-queries/stored-queries.service.d.ts.map +0 -1
  226. package/projects/eo-sdk/core/lib/service/stored-queries/stored-query.model.d.ts +0 -74
  227. package/projects/eo-sdk/core/lib/service/stored-queries/stored-query.model.d.ts.map +0 -1
  228. package/projects/eo-sdk/core/lib/service/system/system.service.d.ts +0 -125
  229. package/projects/eo-sdk/core/lib/service/system/system.service.d.ts.map +0 -1
  230. package/projects/eo-sdk/core/lib/service/system/systemdefinition.interface.d.ts +0 -53
  231. package/projects/eo-sdk/core/lib/service/system/systemdefinition.interface.d.ts.map +0 -1
  232. package/projects/eo-sdk/core/lib/service/system-status/system-status.service.d.ts +0 -26
  233. package/projects/eo-sdk/core/lib/service/system-status/system-status.service.d.ts.map +0 -1
  234. package/projects/eo-sdk/core/lib/service/system-status/system.status.enum.d.ts +0 -8
  235. package/projects/eo-sdk/core/lib/service/system-status/system.status.enum.d.ts.map +0 -1
  236. package/projects/eo-sdk/core/lib/service/system-status/system.status.interface.d.ts +0 -8
  237. package/projects/eo-sdk/core/lib/service/system-status/system.status.interface.d.ts.map +0 -1
  238. package/projects/eo-sdk/core/lib/service/upload/upload.service.d.ts +0 -28
  239. package/projects/eo-sdk/core/lib/service/upload/upload.service.d.ts.map +0 -1
  240. package/projects/eo-sdk/core/lib/service/upload-registry/upload-registry.service.d.ts +0 -50
  241. package/projects/eo-sdk/core/lib/service/upload-registry/upload-registry.service.d.ts.map +0 -1
  242. package/projects/eo-sdk/core/lib/service/user/user.service.d.ts +0 -216
  243. package/projects/eo-sdk/core/lib/service/user/user.service.d.ts.map +0 -1
  244. package/projects/eo-sdk/core/lib/util/utils.d.ts +0 -148
  245. package/projects/eo-sdk/core/lib/util/utils.d.ts.map +0 -1
  246. package/projects/eo-sdk/core/public_api.d.ts +0 -82
  247. package/projects/eo-sdk/core/public_api.d.ts.map +0 -1
@@ -1,286 +0,0 @@
1
- import { forkJoin as observableForkJoin, of as observableOf, ReplaySubject, throwError as observableThrowError } from 'rxjs';
2
- import { mergeMap, tap, map } from 'rxjs/operators';
3
- import { Injectable } from '@angular/core';
4
- import { Utils } from '../../util/utils';
5
- import { WorkItemHistoryEntry } from '../../model/work-item-history.model';
6
- import { Process, WorkItem } from '../../model/bpm.model';
7
- import { ClipboardAction } from '../clipboard/clipboard-action.enum';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "../capabilities/capabilities.service";
10
- import * as i2 from "../backend/backend.service";
11
- import * as i3 from "../events/event.service";
12
- import * as i4 from "../inbox/inbox.service";
13
- /**
14
- * `BpmService` handles interaction related to BPM tasks.
15
- *
16
- * The main parts provided and used by this service are Processes and WorkItems.
17
- * Processes are defined on the backend side. They describe a set of tasks that will be executed by the process.
18
- * Tasks that require user interaction are referred to as WorkItems.
19
- *
20
- * Processes can be related to a special object type, but they don't have to. In addition to that they can refer
21
- * to dms objects.
22
- */
23
- export class BpmService {
24
- constructor(capabilities, backend, eventService, inboxService) {
25
- this.capabilities = capabilities;
26
- this.backend = backend;
27
- this.eventService = eventService;
28
- this.inboxService = inboxService;
29
- this.processItemsSource = new ReplaySubject(1);
30
- /**
31
- * Long term observable emitting the current processes
32
- */
33
- this.processItems$ = this.processItemsSource.asObservable();
34
- }
35
- /**
36
- * Retrieve all processes of the current user.
37
- *
38
- * @param size Maximum number of processes to be fetched
39
- * @returns List of Processes
40
- */
41
- getProcesses(size = 1000) {
42
- return this.backend
43
- .getJson(`/process/user?size=${size}`, this.backend.getBpmBase())
44
- .pipe(map(response => response.content.map(item => new Process(item))), tap((processes) => {
45
- this.processItems = processes;
46
- this.processItemsSource.next(this.processItems);
47
- }));
48
- }
49
- /**
50
- * Getter for the executable Processes. If types are provided, you'll get
51
- * only the processes that are executable for all of them
52
- * @param types List of dms object types to fetch executable processes for
53
- * @param useCached If the cached data should be returned rather than requesting again
54
- * @param additionalData If the additional form data should be also included
55
- * @param modelid The process model ID to only return the data for one process
56
- * @returns List of executable processes
57
- */
58
- getExecutableProcesses(types, useCached, additionalData, modelid, global) {
59
- if (this.capabilities.hasCapability('bpm')) {
60
- return (!!this.executableProcesses && useCached) ? observableOf(this.executableProcesses) : this.fetchExecutableProcesses(types, additionalData, modelid, global);
61
- }
62
- else {
63
- return observableOf([]);
64
- }
65
- }
66
- initExecutableProcesses() {
67
- let uri = '/bpm/process/executable';
68
- return this.backend.get(uri).pipe(tap(res => this.hasMainExecutableProcesses = res?.length));
69
- }
70
- /**
71
- * Gets executable Processes for a given set of dms object.You'll get
72
- * only the processes that are executable for all of them.
73
- * @param dmsObjects List of dms objects to fetch executable processes for
74
- * @returns List of executable processes
75
- */
76
- getExecutableProcessesForDmsObjects(dmsObjects) {
77
- return this.getExecutableProcesses(dmsObjects.map(o => o.typeName), false, true);
78
- }
79
- /**
80
- * Fetches executable Processes from the backend.
81
- * @param types List of dms object types to fetch executable processes for
82
- * @param additionalData If the additional form data should be also included
83
- * @param modelid The process model ID to only return the data for one process
84
- * @returns List of executable processes
85
- */
86
- fetchExecutableProcesses(types, additionalData, modelid, global) {
87
- let uri = '/bpm/process/executable';
88
- if (additionalData) {
89
- uri += '?form=true&fields=true';
90
- }
91
- if (types) {
92
- uri += (additionalData ? '&' : '?') + `type=${types.join(',')}`;
93
- }
94
- if (modelid) {
95
- uri += (additionalData || types ? '&' : '?') + `modelid=${modelid}`;
96
- }
97
- return this.backend.get(uri).pipe(map(res => res), tap(res => {
98
- // Extend existing processes with additional data, instead of overwriting all processes
99
- if (global) {
100
- if (additionalData) {
101
- if (!this.executableProcesses) {
102
- this.executableProcesses = [];
103
- }
104
- res.forEach(proc => {
105
- const existingProcIndex = this.executableProcesses.findIndex(item => item.id === proc.id);
106
- if (existingProcIndex === -1) {
107
- this.executableProcesses.push(proc);
108
- }
109
- else {
110
- this.executableProcesses[existingProcIndex] = proc;
111
- }
112
- });
113
- }
114
- else {
115
- this.executableProcesses = res;
116
- }
117
- }
118
- }));
119
- }
120
- /**
121
- * Getter for a processes file. The file of a process contains
122
- * dms objects attached to the process.
123
- * @param processId ID of the process to fetch attached objects for
124
- */
125
- getProcessFile(processId) {
126
- return this.backend
127
- .getJson(`/process/${processId}/file`, this.backend.getBpmBase()).pipe(map(res => res.content.map(i => {
128
- return {
129
- id: i.elementid,
130
- title: i.title,
131
- description: i.description ? i.description : '',
132
- iconid: i.iconid,
133
- creator: i.creator,
134
- addtime: i.addtime,
135
- type: i.type
136
- };
137
- })));
138
- }
139
- /**
140
- * Retrieves a work item.
141
- * @param processId ID of the parent process
142
- * @param itemId ID of the work item itself
143
- * @param options Options to be added to the backend call
144
- * @returns a WorkItem
145
- */
146
- getWorkItem(processId, itemId, options) {
147
- const params = options ? options : { form: true, fields: true };
148
- const tasks = [
149
- this.backend.getJson(Utils.buildUri(`/bpm/process/${processId}/${itemId}`, params)),
150
- this.getProcessFile(processId)
151
- ];
152
- return observableForkJoin(tasks).pipe(map(res => {
153
- const wi = new WorkItem(res[0]);
154
- wi.setFile(res[1]);
155
- return wi;
156
- }));
157
- }
158
- /**
159
- * Saves a work item.
160
- * @param item The work item to be saved
161
- * @returns The updated WorkItem
162
- */
163
- saveWorkItem(item) {
164
- const { id, processId, file, data } = item;
165
- const payload = { contents: file, data };
166
- const params = { keeplock: true, isautolock: false };
167
- return this.backend
168
- .post(Utils.buildUri(`/bpm/process/${processId}/${id}/save`, params), payload)
169
- .pipe(mergeMap(() => this.getWorkItem(processId, id)));
170
- }
171
- /**
172
- * Forwards a work item. If a WorkItem provides different actions (@link WorkItemAction)
173
- * you can provide the selected action too.
174
- * @param item The work item to be forwarded
175
- * @param action Action used for forwarding
176
- */
177
- forwardWorkItem(item, action) {
178
- const params = { keeplock: false, isautolock: false };
179
- const payload = {
180
- action: action,
181
- contents: item.file,
182
- data: item.data
183
- };
184
- return this.backend
185
- .post(Utils.buildUri(`/bpm/process/${item.processId}/${item.id}/save`, params), payload)
186
- .pipe(tap(() => this.inboxService.updateInboxItems(item.id)));
187
- }
188
- /**
189
- * Locks a WorkItem for the current user (personalization), meaning that the
190
- * current user is now in charge of fulfilling the WorkItem task.
191
- * @param item The WorkItem to be locked
192
- * @returns The updated WorkItem
193
- */
194
- lockWorkItem(item) {
195
- return this.backend.put(`/bpm/process/${item.processId}/${item.id}/lock`)
196
- .pipe(mergeMap(() => this.getWorkItem(item.processId, item.id)));
197
- }
198
- /**
199
- * Releases the lock for a WorkItem.
200
- * @param item The work item to be unlocked
201
- * @returns The updated WorkItem
202
- */
203
- unlockWorkItem(item) {
204
- return this.backend.del(`/bpm/process/${item.processId}/${item.id}/lock`).pipe(mergeMap(() => this.getWorkItem(item.processId, item.id)));
205
- }
206
- /**
207
- * Starts an executable process.
208
- * @param executableProcessId ID of the executable Process to be started
209
- * @param data Data to be passed to the process (simple object of key/value pairs)
210
- * @param contents Objects to be attached to the process (process.file).
211
- */
212
- startProcess(executableProcessId, data, contents) {
213
- return this.backend.post(`/bpm/process/?modelid=${executableProcessId}`, {
214
- data: data,
215
- contents: contents
216
- });
217
- }
218
- /**
219
- * Returns the history for a process. Which entries are returned depends on the
220
- * permissions of the current user.
221
- * @param processId The ID of the process to fetch history for
222
- * @returns Observable<WorkItemHistoryEntry[]>
223
- */
224
- getProcessHistory(processId) {
225
- return this.backend
226
- .getJson(`/bpm/process/${processId}/history`)
227
- .pipe(map(res => res && res.length ? res.map(item => new WorkItemHistoryEntry(item)) : []));
228
- }
229
- /**
230
- * Removes a content from the work items file.
231
- * @param processId The ID of the process to remove the item from
232
- * @param workItemId The ID of the work item containing the file element to be removed
233
- * @param workItemContentId The the ID of the file element to be removed
234
- */
235
- removeFileElement(processId, workItemId, workItemContentId) {
236
- return this.backend
237
- .del(`/process/${processId}/file/${workItemContentId}?activityid=${workItemId}`, this.backend.getBpmBase());
238
- }
239
- /**
240
- * Add contents to a work items file.
241
- * @param processId The ID of the process
242
- * @param workItemId The ID of the activity
243
- * @param elements The Elements to be added
244
- * @returns The updated WorkItem
245
- */
246
- addFileElements(processId, workItemId, elements) {
247
- const tasks = [];
248
- elements.forEach((e) => {
249
- tasks.push(this.backend.post(`/process/${processId}/file/${e.id}?type=${e.type.name}&activityid=${workItemId}`, {}, this.backend.getBpmBase()));
250
- });
251
- return observableForkJoin(tasks)
252
- .pipe(mergeMap(() => this.getWorkItem(processId, workItemId)));
253
- }
254
- /**
255
- * Add a objects from the clipboard to a WorkItem.
256
- * @param workItem The workItem to add the objects to
257
- * @param clipboard Clipboard object holding user selected objects
258
- * @returns The updated WorkItem
259
- */
260
- addFileElementsFromClipboard(workItem, clipboard) {
261
- if ((workItem && workItem.fileEntryPermissions.add) && clipboard && clipboard.elements.length && clipboard.action === ClipboardAction.COPY) {
262
- let contents;
263
- if (workItem.file.length) {
264
- // only add items that are not already part of the attachments
265
- const attachmentIds = workItem.file.map(e => e.id);
266
- contents = clipboard.elements.filter(e => attachmentIds.indexOf(e.id) === -1);
267
- }
268
- else {
269
- contents = clipboard.elements;
270
- }
271
- return this.addFileElements(workItem.processId, workItem.id, contents);
272
- }
273
- else {
274
- return observableThrowError('error');
275
- }
276
- }
277
- }
278
- BpmService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: BpmService, deps: [{ token: i1.CapabilitiesService }, { token: i2.BackendService }, { token: i3.EventService }, { token: i4.InboxService }], target: i0.ɵɵFactoryTarget.Injectable });
279
- BpmService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: BpmService, providedIn: 'root' });
280
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: BpmService, decorators: [{
281
- type: Injectable,
282
- args: [{
283
- providedIn: 'root'
284
- }]
285
- }], ctorParameters: function () { return [{ type: i1.CapabilitiesService }, { type: i2.BackendService }, { type: i3.EventService }, { type: i4.InboxService }]; } });
286
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnBtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lby1zZGsvY29yZS9zcmMvbGliL3NlcnZpY2UvYnBtL2JwbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLElBQUksa0JBQWtCLEVBQUUsRUFBRSxJQUFJLFlBQVksRUFBYyxhQUFhLEVBQUUsVUFBVSxJQUFJLG9CQUFvQixFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3ZJLE9BQU8sRUFBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBRXZDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBS3pFLE9BQU8sRUFBK0IsT0FBTyxFQUFFLFFBQVEsRUFBaUIsTUFBTSx1QkFBdUIsQ0FBQztBQUV0RyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7Ozs7OztBQUVuRTs7Ozs7Ozs7O0dBU0c7QUFJSCxNQUFNLE9BQU8sVUFBVTtJQVVyQixZQUFvQixZQUFpQyxFQUMzQyxPQUF1QixFQUN2QixZQUEwQixFQUMxQixZQUEwQjtRQUhoQixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDM0MsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFUNUIsdUJBQWtCLEdBQUcsSUFBSSxhQUFhLENBQVksQ0FBQyxDQUFDLENBQUM7UUFDN0Q7O1dBRUc7UUFDSCxrQkFBYSxHQUEwQixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFNOUUsQ0FB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QyxNQUFNLEtBQUssZUFBZSxDQUFDLElBQUksRUFBRTtZQUMxSSxJQUFJLFFBQXFCLENBQUM7WUFDMUIsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDeEIsOERBQThEO2dCQUM5RCxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDbkQsUUFBUSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMvRTtpQkFBTTtnQkFDTCxRQUFRLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQzthQUMvQjtZQUNELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDeEU7YUFBTTtZQUNMLE9BQU8sb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDdEM7SUFDSCxDQUFDOzt1R0FoU1UsVUFBVTsyR0FBVixVQUFVLGNBRlQsTUFBTTsyRkFFUCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Zm9ya0pvaW4gYXMgb2JzZXJ2YWJsZUZvcmtKb2luLCBvZiBhcyBvYnNlcnZhYmxlT2YsIE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIHRocm93RXJyb3IgYXMgb2JzZXJ2YWJsZVRocm93RXJyb3J9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttZXJnZU1hcCwgdGFwLCBtYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1V0aWxzfSBmcm9tICcuLi8uLi91dGlsL3V0aWxzJztcbmltcG9ydCB7QmFja2VuZFNlcnZpY2V9IGZyb20gJy4uL2JhY2tlbmQvYmFja2VuZC5zZXJ2aWNlJztcbmltcG9ydCB7V29ya0l0ZW1IaXN0b3J5RW50cnl9IGZyb20gJy4uLy4uL21vZGVsL3dvcmstaXRlbS1oaXN0b3J5Lm1vZGVsJztcbmltcG9ydCB7RG1zT2JqZWN0fSBmcm9tICcuLi8uLi9tb2RlbC9kbXMtb2JqZWN0Lm1vZGVsJztcbmltcG9ydCB7SW5ib3hTZXJ2aWNlfSBmcm9tICcuLi9pbmJveC9pbmJveC5zZXJ2aWNlJztcbmltcG9ydCB7RXZlbnRTZXJ2aWNlfSBmcm9tICcuLi9ldmVudHMvZXZlbnQuc2VydmljZSc7XG5pbXBvcnQge0NhcGFiaWxpdGllc1NlcnZpY2V9IGZyb20gJy4uL2NhcGFiaWxpdGllcy9jYXBhYmlsaXRpZXMuc2VydmljZSc7XG5pbXBvcnQge0V4ZWN1dGFibGVQcm9jZXNzLCBGaWxlRW50cnksIFByb2Nlc3MsIFdvcmtJdGVtLCBXb3JrSXRlbUFjdGlvbn0gZnJvbSAnLi4vLi4vbW9kZWwvYnBtLm1vZGVsJztcbmltcG9ydCB7Q2xpcGJvYXJkfSBmcm9tICcuLi9jbGlwYm9hcmQvY2xpcGJvYXJkLmludGVyZmFjZSc7XG5pbXBvcnQge0NsaXBib2FyZEFjdGlvbn0gZnJvbSAnLi4vY2xpcGJvYXJkL2NsaXBib2FyZC1hY3Rpb24uZW51bSc7XG5cbi8qKlxuICogYEJwbVNlcnZpY2VgIGhhbmRsZXMgaW50ZXJhY3Rpb24gcmVsYXRlZCB0byBCUE0gdGFza3MuXG4gKlxuICogVGhlIG1haW4gcGFydHMgcHJvdmlkZWQgYW5kIHVzZWQgYnkgdGhpcyBzZXJ2aWNlIGFyZSBQcm9jZXNzZXMgYW5kIFdvcmtJdGVtcy5cbiAqIFByb2Nlc3NlcyBhcmUgZGVmaW5lZCBvbiB0aGUgYmFja2VuZCBzaWRlLiBUaGV5IGRlc2NyaWJlIGEgc2V0IG9mIHRhc2tzIHRoYXQgd2lsbCBiZSBleGVjdXRlZCBieSB0aGUgcHJvY2Vzcy5cbiAqIFRhc2tzIHRoYXQgcmVxdWlyZSB1c2VyIGludGVyYWN0aW9uIGFyZSByZWZlcnJlZCB0byBhcyBXb3JrSXRlbXMuXG4gKlxuICogUHJvY2Vzc2VzIGNhbiBiZSByZWxhdGVkIHRvIGEgc3BlY2lhbCBvYmplY3QgdHlwZSwgYnV0IHRoZXkgZG9uJ3QgaGF2ZSB0by4gSW4gYWRkaXRpb24gdG8gdGhhdCB0aGV5IGNhbiByZWZlclxuICogdG8gZG1zIG9iamVjdHMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEJwbVNlcnZpY2Uge1xuICBoYXNNYWluRXhlY3V0YWJsZVByb2Nlc3NlczogYm9vbGVhbjtcbiAgcHJpdmF0ZSBleGVjdXRhYmxlUHJvY2Vzc2VzOiBFeGVjdXRhYmxlUHJvY2Vzc1tdO1xuICBwcml2YXRlIHByb2Nlc3NJdGVtczogUHJvY2Vzc1tdO1xuICBwcml2YXRlIHByb2Nlc3NJdGVtc1NvdXJjZSA9IG5ldyBSZXBsYXlTdWJqZWN0PFByb2Nlc3NbXT4oMSk7XG4gIC8qKlxuICAgKiBMb25nIHRlcm0gb2JzZXJ2YWJsZSBlbWl0dGluZyB0aGUgY3VycmVudCBwcm9jZXNzZXNcbiAgICovXG4gIHByb2Nlc3NJdGVtcyQ6IE9ic2VydmFibGU8UHJvY2Vzc1tdPiA9IHRoaXMucHJvY2Vzc0l0ZW1zU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2FwYWJpbGl0aWVzOiBDYXBhYmlsaXRpZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFja2VuZDogQmFja2VuZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSxcbiAgICBwcml2YXRlIGluYm94U2VydmljZTogSW5ib3hTZXJ2aWNlKSB7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmUgYWxsIHByb2Nlc3NlcyBvZiB0aGUgY3VycmVudCB1c2VyLlxuICAgKlxuICAgKiBAcGFyYW0gc2l6ZSBNYXhpbXVtIG51bWJlciBvZiBwcm9jZXNzZXMgdG8gYmUgZmV0Y2hlZFxuICAgKiBAcmV0dXJucyBMaXN0IG9mIFByb2Nlc3Nlc1xuICAgKi9cbiAgZ2V0UHJvY2Vzc2VzKHNpemU6IG51bWJlciA9IDEwMDApOiBPYnNlcnZhYmxlPFByb2Nlc3NbXT4ge1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmRcbiAgICAgIC5nZXRKc29uKGAvcHJvY2Vzcy91c2VyP3NpemU9JHtzaXplfWAsIHRoaXMuYmFja2VuZC5nZXRCcG1CYXNlKCkpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmNvbnRlbnQubWFwKGl0ZW0gPT4gbmV3IFByb2Nlc3MoaXRlbSkpKSxcbiAgICAgICAgdGFwKChwcm9jZXNzZXM6IFByb2Nlc3NbXSkgPT4ge1xuICAgICAgICAgIHRoaXMucHJvY2Vzc0l0ZW1zID0gcHJvY2Vzc2VzO1xuICAgICAgICAgIHRoaXMucHJvY2Vzc0l0ZW1zU291cmNlLm5leHQodGhpcy5wcm9jZXNzSXRlbXMpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXR0ZXIgZm9yIHRoZSBleGVjdXRhYmxlIFByb2Nlc3Nlcy4gSWYgdHlwZXMgYXJlIHByb3ZpZGVkLCB5b3UnbGwgZ2V0XG4gICAqIG9ubHkgdGhlIHByb2Nlc3NlcyB0aGF0IGFyZSBleGVjdXRhYmxlIGZvciBhbGwgb2YgdGhlbVxuICAgKiBAcGFyYW0gdHlwZXMgTGlzdCBvZiBkbXMgb2JqZWN0IHR5cGVzIHRvIGZldGNoIGV4ZWN1dGFibGUgcHJvY2Vzc2VzIGZvclxuICAgKiBAcGFyYW0gdXNlQ2FjaGVkIElmIHRoZSBjYWNoZWQgZGF0YSBzaG91bGQgYmUgcmV0dXJuZWQgcmF0aGVyIHRoYW4gcmVxdWVzdGluZyBhZ2FpblxuICAgKiBAcGFyYW0gYWRkaXRpb25hbERhdGEgSWYgdGhlIGFkZGl0aW9uYWwgZm9ybSBkYXRhIHNob3VsZCBiZSBhbHNvIGluY2x1ZGVkXG4gICAqIEBwYXJhbSBtb2RlbGlkIFRoZSBwcm9jZXNzIG1vZGVsIElEIHRvIG9ubHkgcmV0dXJuIHRoZSBkYXRhIGZvciBvbmUgcHJvY2Vzc1xuICAgKiBAcmV0dXJucyBMaXN0IG9mIGV4ZWN1dGFibGUgcHJvY2Vzc2VzXG4gICAqL1xuICBnZXRFeGVjdXRhYmxlUHJvY2Vzc2VzKHR5cGVzPzogc3RyaW5nW10sIHVzZUNhY2hlZD86IGJvb2xlYW4sIGFkZGl0aW9uYWxEYXRhPzogYm9vbGVhbiwgbW9kZWxpZD86IHN0cmluZywgZ2xvYmFsPzogYm9vbGVhbik6IE9ic2VydmFibGU8RXhlY3V0YWJsZVByb2Nlc3NbXT4ge1xuICAgIGlmICh0aGlzLmNhcGFiaWxpdGllcy5oYXNDYXBhYmlsaXR5KCdicG0nKSkge1xuICAgICAgcmV0dXJuICghIXRoaXMuZXhlY3V0YWJsZVByb2Nlc3NlcyAmJiB1c2VDYWNoZWQpID8gb2JzZXJ2YWJsZU9mKHRoaXMuZXhlY3V0YWJsZVByb2Nlc3NlcykgOiB0aGlzLmZldGNoRXhlY3V0YWJsZVByb2Nlc3Nlcyh0eXBlcywgYWRkaXRpb25hbERhdGEsIG1vZGVsaWQsIGdsb2JhbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBvYnNlcnZhYmxlT2YoW10pO1xuICAgIH1cbiAgfVxuXG4gIGluaXRFeGVjdXRhYmxlUHJvY2Vzc2VzKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHVyaSA9ICcvYnBtL3Byb2Nlc3MvZXhlY3V0YWJsZSc7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZC5nZXQodXJpKS5waXBlKHRhcChyZXMgPT4gdGhpcy5oYXNNYWluRXhlY3V0YWJsZVByb2Nlc3NlcyA9IHJlcz8ubGVuZ3RoKSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBleGVjdXRhYmxlIFByb2Nlc3NlcyBmb3IgYSBnaXZlbiBzZXQgb2YgZG1zIG9iamVjdC5Zb3UnbGwgZ2V0XG4gICAqIG9ubHkgdGhlIHByb2Nlc3NlcyB0aGF0IGFyZSBleGVjdXRhYmxlIGZvciBhbGwgb2YgdGhlbS5cbiAgICogQHBhcmFtIGRtc09iamVjdHMgTGlzdCBvZiBkbXMgb2JqZWN0cyB0byBmZXRjaCBleGVjdXRhYmxlIHByb2Nlc3NlcyBmb3JcbiAgICogQHJldHVybnMgTGlzdCBvZiBleGVjdXRhYmxlIHByb2Nlc3Nlc1xuICAgKi9cbiAgZ2V0RXhlY3V0YWJsZVByb2Nlc3Nlc0ZvckRtc09iamVjdHMoZG1zT2JqZWN0czogRG1zT2JqZWN0W10pOiBPYnNlcnZhYmxlPEV4ZWN1dGFibGVQcm9jZXNzW10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRFeGVjdXRhYmxlUHJvY2Vzc2VzKGRtc09iamVjdHMubWFwKG8gPT4gby50eXBlTmFtZSksIGZhbHNlLCB0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaGVzIGV4ZWN1dGFibGUgUHJvY2Vzc2VzIGZyb20gdGhlIGJhY2tlbmQuXG4gICAqIEBwYXJhbSB0eXBlcyBMaXN0IG9mIGRtcyBvYmplY3QgdHlwZXMgdG8gZmV0Y2ggZXhlY3V0YWJsZSBwcm9jZXNzZXMgZm9yXG4gICAqIEBwYXJhbSBhZGRpdGlvbmFsRGF0YSBJZiB0aGUgYWRkaXRpb25hbCBmb3JtIGRhdGEgc2hvdWxkIGJlIGFsc28gaW5jbHVkZWRcbiAgICogQHBhcmFtIG1vZGVsaWQgVGhlIHByb2Nlc3MgbW9kZWwgSUQgdG8gb25seSByZXR1cm4gdGhlIGRhdGEgZm9yIG9uZSBwcm9jZXNzXG4gICAqIEByZXR1cm5zIExpc3Qgb2YgZXhlY3V0YWJsZSBwcm9jZXNzZXNcbiAgICovXG4gIHByaXZhdGUgZmV0Y2hFeGVjdXRhYmxlUHJvY2Vzc2VzKHR5cGVzPzogc3RyaW5nW10sIGFkZGl0aW9uYWxEYXRhPzogYm9vbGVhbiwgbW9kZWxpZD86IHN0cmluZywgZ2xvYmFsPzogYm9vbGVhbik6IE9ic2VydmFibGU8RXhlY3V0YWJsZVByb2Nlc3NbXT4ge1xuICAgIGxldCB1cmkgPSAnL2JwbS9wcm9jZXNzL2V4ZWN1dGFibGUnO1xuICAgIGlmIChhZGRpdGlvbmFsRGF0YSkge1xuICAgICAgdXJpICs9ICc/Zm9ybT10cnVlJmZpZWxkcz10cnVlJztcbiAgICB9XG4gICAgaWYgKHR5cGVzKSB7XG4gICAgICB1cmkgKz0gKGFkZGl0aW9uYWxEYXRhID8gJyYnIDogJz8nKSArIGB0eXBlPSR7dHlwZXMuam9pbignLCcpfWA7XG4gICAgfVxuICAgIGlmIChtb2RlbGlkKSB7XG4gICAgICB1cmkgKz0gKGFkZGl0aW9uYWxEYXRhIHx8IHR5cGVzID8gJyYnIDogJz8nKSArIGBtb2RlbGlkPSR7bW9kZWxpZH1gO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kLmdldCh1cmkpLnBpcGUoXG4gICAgICBtYXAocmVzID0+IHJlcyBhcyBFeGVjdXRhYmxlUHJvY2Vzc1tdKSxcbiAgICAgIHRhcChyZXMgPT4ge1xuICAgICAgICAvLyBFeHRlbmQgZXhpc3RpbmcgcHJvY2Vzc2VzIHdpdGggYWRkaXRpb25hbCBkYXRhLCBpbnN0ZWFkIG9mIG92ZXJ3cml0aW5nIGFsbCBwcm9jZXNzZXNcbiAgICAgICAgaWYgKGdsb2JhbCkge1xuICAgICAgICAgIGlmIChhZGRpdGlvbmFsRGF0YSkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmV4ZWN1dGFibGVQcm9jZXNzZXMpIHtcbiAgICAgICAgICAgICAgdGhpcy5leGVjdXRhYmxlUHJvY2Vzc2VzID0gW107XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXMuZm9yRWFjaChwcm9jID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgZXhpc3RpbmdQcm9jSW5kZXggPSB0aGlzLmV4ZWN1dGFibGVQcm9jZXNzZXMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5pZCA9PT0gcHJvYy5pZCk7XG4gICAgICAgICAgICAgIGlmIChleGlzdGluZ1Byb2NJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmV4ZWN1dGFibGVQcm9jZXNzZXMucHVzaChwcm9jKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmV4ZWN1dGFibGVQcm9jZXNzZXNbZXhpc3RpbmdQcm9jSW5kZXhdID0gcHJvYztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZXhlY3V0YWJsZVByb2Nlc3NlcyA9IHJlcztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXR0ZXIgZm9yIGEgcHJvY2Vzc2VzIGZpbGUuIFRoZSBmaWxlIG9mIGEgcHJvY2VzcyBjb250YWluc1xuICAgKiBkbXMgb2JqZWN0cyBhdHRhY2hlZCB0byB0aGUgcHJvY2Vzcy5cbiAgICogQHBhcmFtIHByb2Nlc3NJZCBJRCBvZiB0aGUgcHJvY2VzcyB0byBmZXRjaCBhdHRhY2hlZCBvYmplY3RzIGZvclxuICAgKi9cbiAgZ2V0UHJvY2Vzc0ZpbGUocHJvY2Vzc0lkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEZpbGVFbnRyeVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZFxuICAgICAgLmdldEpzb24oYC9wcm9jZXNzLyR7cHJvY2Vzc0lkfS9maWxlYCwgdGhpcy5iYWNrZW5kLmdldEJwbUJhc2UoKSkucGlwZShcbiAgICAgICAgbWFwKHJlcyA9PiByZXMuY29udGVudC5tYXAoaSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGlkOiBpLmVsZW1lbnRpZCxcbiAgICAgICAgICAgIHRpdGxlOiBpLnRpdGxlLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IGkuZGVzY3JpcHRpb24gPyBpLmRlc2NyaXB0aW9uIDogJycsXG4gICAgICAgICAgICBpY29uaWQ6IGkuaWNvbmlkLFxuICAgICAgICAgICAgY3JlYXRvcjogaS5jcmVhdG9yLFxuICAgICAgICAgICAgYWRkdGltZTogaS5hZGR0aW1lLFxuICAgICAgICAgICAgdHlwZTogaS50eXBlXG4gICAgICAgICAgfTtcbiAgICAgICAgfSkpXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBhIHdvcmsgaXRlbS5cbiAgICogQHBhcmFtIHByb2Nlc3NJZCBJRCBvZiB0aGUgcGFyZW50IHByb2Nlc3NcbiAgICogQHBhcmFtIGl0ZW1JZCBJRCBvZiB0aGUgd29yayBpdGVtIGl0c2VsZlxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIHRvIGJlIGFkZGVkIHRvIHRoZSBiYWNrZW5kIGNhbGxcbiAgICogQHJldHVybnMgYSBXb3JrSXRlbVxuICAgKi9cbiAgZ2V0V29ya0l0ZW0ocHJvY2Vzc0lkOiBzdHJpbmcsIGl0ZW1JZDogc3RyaW5nLCBvcHRpb25zPzogYW55KTogT2JzZXJ2YWJsZTxXb3JrSXRlbT4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IG9wdGlvbnMgPyBvcHRpb25zIDoge2Zvcm06IHRydWUsIGZpZWxkczogdHJ1ZX07XG4gICAgY29uc3QgdGFza3MgPSBbXG4gICAgICB0aGlzLmJhY2tlbmQuZ2V0SnNvbihVdGlscy5idWlsZFVyaShgL2JwbS9wcm9jZXNzLyR7cHJvY2Vzc0lkfS8ke2l0ZW1JZH1gLCBwYXJhbXMpKSxcbiAgICAgIHRoaXMuZ2V0UHJvY2Vzc0ZpbGUocHJvY2Vzc0lkKVxuICAgIF07XG4gICAgcmV0dXJuIG9ic2VydmFibGVGb3JrSm9pbih0YXNrcykucGlwZShcbiAgICAgIG1hcChyZXMgPT4ge1xuICAgICAgICBjb25zdCB3aSA9IG5ldyBXb3JrSXRlbShyZXNbMF0pO1xuICAgICAgICB3aS5zZXRGaWxlKHJlc1sxXSk7XG4gICAgICAgIHJldHVybiB3aTtcbiAgICAgIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTYXZlcyBhIHdvcmsgaXRlbS5cbiAgICogQHBhcmFtIGl0ZW0gVGhlIHdvcmsgaXRlbSB0byBiZSBzYXZlZFxuICAgKiBAcmV0dXJucyBUaGUgdXBkYXRlZCBXb3JrSXRlbVxuICAgKi9cbiAgc2F2ZVdvcmtJdGVtKGl0ZW06IFdvcmtJdGVtKTogT2JzZXJ2YWJsZTxXb3JrSXRlbT4ge1xuICAgIGNvbnN0IHtpZCwgcHJvY2Vzc0lkLCBmaWxlLCBkYXRhfSA9IGl0ZW07XG4gICAgY29uc3QgcGF5bG9hZCA9IHtjb250ZW50czogZmlsZSwgZGF0YX07XG4gICAgY29uc3QgcGFyYW1zID0ge2tlZXBsb2NrOiB0cnVlLCBpc2F1dG9sb2NrOiBmYWxzZX07XG5cbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kXG4gICAgICAucG9zdChVdGlscy5idWlsZFVyaShgL2JwbS9wcm9jZXNzLyR7cHJvY2Vzc0lkfS8ke2lkfS9zYXZlYCwgcGFyYW1zKSwgcGF5bG9hZClcbiAgICAgIC5waXBlKFxuICAgICAgICBtZXJnZU1hcCgoKSA9PiB0aGlzLmdldFdvcmtJdGVtKHByb2Nlc3NJZCwgaWQpKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGb3J3YXJkcyBhIHdvcmsgaXRlbS4gSWYgYSBXb3JrSXRlbSBwcm92aWRlcyBkaWZmZXJlbnQgYWN0aW9ucyAoQGxpbmsgV29ya0l0ZW1BY3Rpb24pXG4gICAqIHlvdSBjYW4gcHJvdmlkZSB0aGUgc2VsZWN0ZWQgYWN0aW9uIHRvby5cbiAgICogQHBhcmFtIGl0ZW0gVGhlIHdvcmsgaXRlbSB0byBiZSBmb3J3YXJkZWRcbiAgICogQHBhcmFtIGFjdGlvbiBBY3Rpb24gdXNlZCBmb3IgZm9yd2FyZGluZ1xuICAgKi9cbiAgZm9yd2FyZFdvcmtJdGVtKGl0ZW06IFdvcmtJdGVtLCBhY3Rpb24/OiBXb3JrSXRlbUFjdGlvbik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgcGFyYW1zID0ge2tlZXBsb2NrOiBmYWxzZSwgaXNhdXRvbG9jazogZmFsc2V9O1xuICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICBhY3Rpb246IGFjdGlvbixcbiAgICAgIGNvbnRlbnRzOiBpdGVtLmZpbGUsXG4gICAgICBkYXRhOiBpdGVtLmRhdGFcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmRcbiAgICAgIC5wb3N0KFV0aWxzLmJ1aWxkVXJpKGAvYnBtL3Byb2Nlc3MvJHtpdGVtLnByb2Nlc3NJZH0vJHtpdGVtLmlkfS9zYXZlYCwgcGFyYW1zKSwgcGF5bG9hZClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5pbmJveFNlcnZpY2UudXBkYXRlSW5ib3hJdGVtcyhpdGVtLmlkKSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogTG9ja3MgYSBXb3JrSXRlbSBmb3IgdGhlIGN1cnJlbnQgdXNlciAocGVyc29uYWxpemF0aW9uKSwgbWVhbmluZyB0aGF0IHRoZVxuICAgKiBjdXJyZW50IHVzZXIgaXMgbm93IGluIGNoYXJnZSBvZiBmdWxmaWxsaW5nIHRoZSBXb3JrSXRlbSB0YXNrLlxuICAgKiBAcGFyYW0gaXRlbSBUaGUgV29ya0l0ZW0gdG8gYmUgbG9ja2VkXG4gICAqIEByZXR1cm5zIFRoZSB1cGRhdGVkIFdvcmtJdGVtXG4gICAqL1xuICBsb2NrV29ya0l0ZW0oaXRlbTogV29ya0l0ZW0pOiBPYnNlcnZhYmxlPFdvcmtJdGVtPiB7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZC5wdXQoYC9icG0vcHJvY2Vzcy8ke2l0ZW0ucHJvY2Vzc0lkfS8ke2l0ZW0uaWR9L2xvY2tgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1lcmdlTWFwKCgpID0+IHRoaXMuZ2V0V29ya0l0ZW0oaXRlbS5wcm9jZXNzSWQsIGl0ZW0uaWQpKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWxlYXNlcyB0aGUgbG9jayBmb3IgYSBXb3JrSXRlbS5cbiAgICogQHBhcmFtIGl0ZW0gVGhlIHdvcmsgaXRlbSB0byBiZSB1bmxvY2tlZFxuICAgKiBAcmV0dXJucyBUaGUgdXBkYXRlZCBXb3JrSXRlbVxuICAgKi9cbiAgdW5sb2NrV29ya0l0ZW0oaXRlbTogV29ya0l0ZW0pOiBPYnNlcnZhYmxlPFdvcmtJdGVtPiB7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZC5kZWwoYC9icG0vcHJvY2Vzcy8ke2l0ZW0ucHJvY2Vzc0lkfS8ke2l0ZW0uaWR9L2xvY2tgKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKCkgPT4gdGhpcy5nZXRXb3JrSXRlbShpdGVtLnByb2Nlc3NJZCwgaXRlbS5pZCkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydHMgYW4gZXhlY3V0YWJsZSBwcm9jZXNzLlxuICAgKiBAcGFyYW0gZXhlY3V0YWJsZVByb2Nlc3NJZCBJRCBvZiB0aGUgZXhlY3V0YWJsZSBQcm9jZXNzIHRvIGJlIHN0YXJ0ZWRcbiAgICogQHBhcmFtIGRhdGEgRGF0YSB0byBiZSBwYXNzZWQgdG8gdGhlIHByb2Nlc3MgKHNpbXBsZSBvYmplY3Qgb2Yga2V5L3ZhbHVlIHBhaXJzKVxuICAgKiBAcGFyYW0gY29udGVudHMgT2JqZWN0cyB0byBiZSBhdHRhY2hlZCB0byB0aGUgcHJvY2VzcyAocHJvY2Vzcy5maWxlKS5cbiAgICovXG4gIHN0YXJ0UHJvY2VzcyhleGVjdXRhYmxlUHJvY2Vzc0lkOiBzdHJpbmcsIGRhdGE6IGFueSwgY29udGVudHM6IHtpZDogc3RyaW5nLCB0eXBlOiBzdHJpbmd9W10pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmQucG9zdChgL2JwbS9wcm9jZXNzLz9tb2RlbGlkPSR7ZXhlY3V0YWJsZVByb2Nlc3NJZH1gLCB7XG4gICAgICBkYXRhOiBkYXRhLFxuICAgICAgY29udGVudHM6IGNvbnRlbnRzXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgaGlzdG9yeSBmb3IgYSBwcm9jZXNzLiBXaGljaCBlbnRyaWVzIGFyZSByZXR1cm5lZCBkZXBlbmRzIG9uIHRoZVxuICAgKiBwZXJtaXNzaW9ucyBvZiB0aGUgY3VycmVudCB1c2VyLlxuICAgKiBAcGFyYW0gcHJvY2Vzc0lkIFRoZSBJRCBvZiB0aGUgcHJvY2VzcyB0byBmZXRjaCBoaXN0b3J5IGZvclxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPFdvcmtJdGVtSGlzdG9yeUVudHJ5W10+XG4gICAqL1xuICBnZXRQcm9jZXNzSGlzdG9yeShwcm9jZXNzSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8V29ya0l0ZW1IaXN0b3J5RW50cnlbXT4ge1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmRcbiAgICAgIC5nZXRKc29uKGAvYnBtL3Byb2Nlc3MvJHtwcm9jZXNzSWR9L2hpc3RvcnlgKVxuICAgICAgLnBpcGUobWFwKHJlcyA9PiByZXMgJiYgcmVzLmxlbmd0aCA/IHJlcy5tYXAoaXRlbSA9PiBuZXcgV29ya0l0ZW1IaXN0b3J5RW50cnkoaXRlbSkpIDogW10pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIGEgY29udGVudCBmcm9tIHRoZSB3b3JrIGl0ZW1zIGZpbGUuXG4gICAqIEBwYXJhbSBwcm9jZXNzSWQgVGhlIElEIG9mIHRoZSBwcm9jZXNzIHRvIHJlbW92ZSB0aGUgaXRlbSBmcm9tXG4gICAqIEBwYXJhbSB3b3JrSXRlbUlkIFRoZSBJRCBvZiB0aGUgd29yayBpdGVtIGNvbnRhaW5pbmcgdGhlIGZpbGUgZWxlbWVudCB0byBiZSByZW1vdmVkXG4gICAqIEBwYXJhbSB3b3JrSXRlbUNvbnRlbnRJZCBUaGUgdGhlIElEIG9mIHRoZSBmaWxlIGVsZW1lbnQgdG8gYmUgcmVtb3ZlZFxuICAgKi9cbiAgcmVtb3ZlRmlsZUVsZW1lbnQocHJvY2Vzc0lkOiBzdHJpbmcsIHdvcmtJdGVtSWQ6IHN0cmluZywgd29ya0l0ZW1Db250ZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZFxuICAgICAgLmRlbChgL3Byb2Nlc3MvJHtwcm9jZXNzSWR9L2ZpbGUvJHt3b3JrSXRlbUNvbnRlbnRJZH0/YWN0aXZpdHlpZD0ke3dvcmtJdGVtSWR9YCwgdGhpcy5iYWNrZW5kLmdldEJwbUJhc2UoKSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGNvbnRlbnRzIHRvIGEgd29yayBpdGVtcyBmaWxlLlxuICAgKiBAcGFyYW0gcHJvY2Vzc0lkIFRoZSBJRCBvZiB0aGUgcHJvY2Vzc1xuICAgKiBAcGFyYW0gd29ya0l0ZW1JZCBUaGUgSUQgb2YgdGhlIGFjdGl2aXR5XG4gICAqIEBwYXJhbSBlbGVtZW50cyBUaGUgRWxlbWVudHMgdG8gYmUgYWRkZWRcbiAgICogQHJldHVybnMgVGhlIHVwZGF0ZWQgV29ya0l0ZW1cbiAgICovXG4gIGFkZEZpbGVFbGVtZW50cyhwcm9jZXNzSWQ6IHN0cmluZywgd29ya0l0ZW1JZDogc3RyaW5nLCBlbGVtZW50czogRG1zT2JqZWN0W10pOiBPYnNlcnZhYmxlPFdvcmtJdGVtPiB7XG4gICAgY29uc3QgdGFza3MgPSBbXTtcbiAgICBlbGVtZW50cy5mb3JFYWNoKChlKSA9PiB7XG4gICAgICB0YXNrcy5wdXNoKHRoaXMuYmFja2VuZC5wb3N0KFxuICAgICAgICBgL3Byb2Nlc3MvJHtwcm9jZXNzSWR9L2ZpbGUvJHtlLmlkfT90eXBlPSR7ZS50eXBlLm5hbWV9JmFjdGl2aXR5aWQ9JHt3b3JrSXRlbUlkfWAsXG4gICAgICAgIHt9LCB0aGlzLmJhY2tlbmQuZ2V0QnBtQmFzZSgpKSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIG9ic2VydmFibGVGb3JrSm9pbih0YXNrcylcbiAgICAgIC5waXBlKFxuICAgICAgICBtZXJnZU1hcCgoKSA9PiB0aGlzLmdldFdvcmtJdGVtKHByb2Nlc3NJZCwgd29ya0l0ZW1JZCkpXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIG9iamVjdHMgZnJvbSB0aGUgY2xpcGJvYXJkIHRvIGEgV29ya0l0ZW0uXG4gICAqIEBwYXJhbSB3b3JrSXRlbSBUaGUgd29ya0l0ZW0gdG8gYWRkIHRoZSBvYmplY3RzIHRvXG4gICAqIEBwYXJhbSBjbGlwYm9hcmQgQ2xpcGJvYXJkIG9iamVjdCBob2xkaW5nIHVzZXIgc2VsZWN0ZWQgb2JqZWN0c1xuICAgKiBAcmV0dXJucyBUaGUgdXBkYXRlZCBXb3JrSXRlbVxuICAgKi9cbiAgYWRkRmlsZUVsZW1lbnRzRnJvbUNsaXBib2FyZCh3b3JrSXRlbTogV29ya0l0ZW0sIGNsaXBib2FyZDogQ2xpcGJvYXJkKTogT2JzZXJ2YWJsZTxXb3JrSXRlbT4ge1xuICAgIGlmICgod29ya0l0ZW0gJiYgd29ya0l0ZW0uZmlsZUVudHJ5UGVybWlzc2lvbnMuYWRkKSAmJiBjbGlwYm9hcmQgJiYgY2xpcGJvYXJkLmVsZW1lbnRzLmxlbmd0aCAmJiBjbGlwYm9hcmQuYWN0aW9uID09PSBDbGlwYm9hcmRBY3Rpb24uQ09QWSkge1xuICAgICAgbGV0IGNvbnRlbnRzOiBEbXNPYmplY3RbXTtcbiAgICAgIGlmICh3b3JrSXRlbS5maWxlLmxlbmd0aCkge1xuICAgICAgICAvLyBvbmx5IGFkZCBpdGVtcyB0aGF0IGFyZSBub3QgYWxyZWFkeSBwYXJ0IG9mIHRoZSBhdHRhY2htZW50c1xuICAgICAgICBjb25zdCBhdHRhY2htZW50SWRzID0gd29ya0l0ZW0uZmlsZS5tYXAoZSA9PiBlLmlkKTtcbiAgICAgICAgY29udGVudHMgPSBjbGlwYm9hcmQuZWxlbWVudHMuZmlsdGVyKGUgPT4gYXR0YWNobWVudElkcy5pbmRleE9mKGUuaWQpID09PSAtMSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb250ZW50cyA9IGNsaXBib2FyZC5lbGVtZW50cztcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmFkZEZpbGVFbGVtZW50cyh3b3JrSXRlbS5wcm9jZXNzSWQsIHdvcmtJdGVtLmlkLCBjb250ZW50cyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBvYnNlcnZhYmxlVGhyb3dFcnJvcignZXJyb3InKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,117 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Observable, Subject, of as observableOf, of, forkJoin } from 'rxjs';
3
- import { debounceTime, switchMap, map, first } from 'rxjs/operators';
4
- import { Utils } from '../../util/utils';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@ngx-pwa/local-storage";
7
- /**
8
- * The apps central caching service. It will provide the app with an easy to use cache that
9
- * is aware of the platform it is running on. So it abstracts the platform-specific implementations
10
- * of a cache from the application.
11
- */
12
- export class AppCacheService {
13
- constructor(storage, storageMap) {
14
- this.storage = storage;
15
- this.storageMap = storageMap;
16
- /**
17
- * Key for storing system definition
18
- */
19
- this.SYSTEM_DEFINITION = 'eo.framework.cache.systemdefinition';
20
- /**
21
- * Key for storing system definition
22
- */
23
- this.HOSTS = 'eo.framework.cache.hosts';
24
- /**
25
- * Key for storing location history
26
- */
27
- this.LOCATION_HISTORY = 'eo.framework.cache.locations.history';
28
- this.itemsMap = new Map();
29
- // IndexedDB issue after update - refresh function (transform all wrapped items)
30
- window['_ngStorageRefresh'] = () => this.getStorage().subscribe(storage => this.setStorage(storage).subscribe() && console.log(storage));
31
- }
32
- /**
33
- * Writes an item to the storage.
34
- * @param key The item's key
35
- * @param value The value to be stored
36
- * @param debounce The debounce time (default: 500) to reduce identical storage calls
37
- * @returns Resolves true if setting the item succeeded, false otherwise
38
- */
39
- setItem(key, value, debounce = 500) {
40
- if (!debounce) {
41
- return this.storage.setItem(key, value);
42
- }
43
- else {
44
- if (!this.itemsMap.has(key)) {
45
- const subject = new Subject();
46
- subject.pipe(debounceTime(debounce), switchMap(val => this.storage.setItem(key, val))).subscribe();
47
- this.itemsMap.set(key, subject);
48
- }
49
- this.itemsMap.get(key).next(value);
50
- return observableOf(true);
51
- }
52
- }
53
- /**
54
- * Get a stored item by its key.
55
- * @param key The item's key
56
- * @returns The item's value if the key exists, null otherwise
57
- */
58
- getItem(key) {
59
- return this.storage.getItem(key)
60
- .pipe(map((item) => {
61
- // IndexedDB issue after update (transform wrapped items)
62
- return Object.keys(item || {}).join() === 'value' ? item.value : item;
63
- }));
64
- }
65
- /**
66
- * Removes an item from the storage.
67
- * @param key The item's key
68
- * @returns Resolves true if removing the item succeeded, false otherwise
69
- */
70
- removeItem(key) {
71
- return this.storage.removeItem(key);
72
- }
73
- /**
74
- * Deletes all items from local storage
75
- * @param filter optional - Delete all keys that pass through filter
76
- * @returns Resolves true if clearing all items succeeded, false otherwise
77
- */
78
- clear(filter) {
79
- return filter
80
- ? this.getStorageKeys().pipe(switchMap((keys) => {
81
- const list = keys.filter((k) => filter(k)).map((k) => this.removeItem(k));
82
- return list.length ? forkJoin(list).pipe(map(() => true)) : of(true);
83
- }))
84
- : this.storage.clear();
85
- }
86
- getStorageKeys() {
87
- return new Observable((observer) => {
88
- const keys = [];
89
- this.storageMap.keys().subscribe({
90
- next: (key) => keys.push(key),
91
- complete: () => observer.next(keys)
92
- });
93
- }).pipe(first());
94
- }
95
- getStorage() {
96
- return this.getStorageKeys().pipe(switchMap((keys) => keys.length
97
- ? forkJoin(Utils.arrayToObject(keys, (o) => o, (k) => this.getItem(k)))
98
- : of({})));
99
- }
100
- setStorage(options) {
101
- return forkJoin(Object.keys(options || {}).map((k) => this.setItem(k, options[k])));
102
- }
103
- replaceStorage(settings) {
104
- for (const [key, value] of Object.entries(settings)) {
105
- this.setItem(key, value);
106
- }
107
- }
108
- }
109
- AppCacheService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: AppCacheService, deps: [{ token: i1.LocalStorage }, { token: i1.StorageMap }], target: i0.ɵɵFactoryTarget.Injectable });
110
- AppCacheService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: AppCacheService, providedIn: 'root' });
111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: AppCacheService, decorators: [{
112
- type: Injectable,
113
- args: [{
114
- providedIn: 'root'
115
- }]
116
- }], ctorParameters: function () { return [{ type: i1.LocalStorage }, { type: i1.StorageMap }]; } });
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNhY2hlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lby1zZGsvY29yZS9zcmMvbGliL3NlcnZpY2UvY2FjaGUvYXBwLWNhY2hlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxFQUFFLElBQUksWUFBWSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQVksTUFBTSxNQUFNLENBQUM7QUFFdEYsT0FBTyxFQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25FLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBRXZDOzs7O0dBSUc7QUFJSCxNQUFNLE9BQU8sZUFBZTtJQWlCMUIsWUFBc0IsT0FBcUIsRUFBVSxVQUFzQjtRQUFyRCxZQUFPLEdBQVAsT0FBTyxDQUFjO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQWYzRTs7V0FFRztRQUNJLHNCQUFpQixHQUFHLHFDQUFxQyxDQUFDO1FBQ2pFOztXQUVHO1FBQ0ksVUFBSyxHQUFHLDBCQUEwQixDQUFDO1FBQzFDOztXQUVHO1FBQ0kscUJBQWdCLEdBQUcsc0NBQXNDLENBQUM7UUFFekQsYUFBUSxHQUFHLElBQUksR0FBRyxFQUF3QixDQUFDO1FBR2pELGdGQUFnRjtRQUNoRixNQUFNLENBQUMsbUJBQW1CLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLE9B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VTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJqZWN0LCBvZiBhcyBvYnNlcnZhYmxlT2YsIG9mLCBmb3JrSm9pbiwgZnJvbUV2ZW50fSBmcm9tICdyeGpzJztcbmltcG9ydCB7TG9jYWxTdG9yYWdlLCBTdG9yYWdlTWFwfSBmcm9tICdAbmd4LXB3YS9sb2NhbC1zdG9yYWdlJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBzd2l0Y2hNYXAsIG1hcCwgZmlyc3R9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7VXRpbHN9IGZyb20gJy4uLy4uL3V0aWwvdXRpbHMnO1xuXG4vKipcbiAqIFRoZSBhcHBzIGNlbnRyYWwgY2FjaGluZyBzZXJ2aWNlLiBJdCB3aWxsIHByb3ZpZGUgdGhlIGFwcCB3aXRoIGFuIGVhc3kgdG8gdXNlIGNhY2hlIHRoYXRcbiAqIGlzIGF3YXJlIG9mIHRoZSBwbGF0Zm9ybSBpdCBpcyBydW5uaW5nIG9uLiBTbyBpdCBhYnN0cmFjdHMgdGhlIHBsYXRmb3JtLXNwZWNpZmljIGltcGxlbWVudGF0aW9uc1xuICogb2YgYSBjYWNoZSBmcm9tIHRoZSBhcHBsaWNhdGlvbi5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQXBwQ2FjaGVTZXJ2aWNlIHtcblxuICAvKipcbiAgICogS2V5IGZvciBzdG9yaW5nIHN5c3RlbSBkZWZpbml0aW9uXG4gICAqL1xuICBwdWJsaWMgU1lTVEVNX0RFRklOSVRJT04gPSAnZW8uZnJhbWV3b3JrLmNhY2hlLnN5c3RlbWRlZmluaXRpb24nO1xuICAvKipcbiAgICogS2V5IGZvciBzdG9yaW5nIHN5c3RlbSBkZWZpbml0aW9uXG4gICAqL1xuICBwdWJsaWMgSE9TVFMgPSAnZW8uZnJhbWV3b3JrLmNhY2hlLmhvc3RzJztcbiAgLyoqXG4gICAqIEtleSBmb3Igc3RvcmluZyBsb2NhdGlvbiBoaXN0b3J5XG4gICAqL1xuICBwdWJsaWMgTE9DQVRJT05fSElTVE9SWSA9ICdlby5mcmFtZXdvcmsuY2FjaGUubG9jYXRpb25zLmhpc3RvcnknO1xuXG4gIHByaXZhdGUgaXRlbXNNYXAgPSBuZXcgTWFwPHN0cmluZywgU3ViamVjdDxhbnk+PigpO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBzdG9yYWdlOiBMb2NhbFN0b3JhZ2UsIHByaXZhdGUgc3RvcmFnZU1hcDogU3RvcmFnZU1hcCkge1xuICAgIC8vIEluZGV4ZWREQiBpc3N1ZSBhZnRlciB1cGRhdGUgLSByZWZyZXNoIGZ1bmN0aW9uICh0cmFuc2Zvcm0gYWxsIHdyYXBwZWQgaXRlbXMpXG4gICAgd2luZG93WydfbmdTdG9yYWdlUmVmcmVzaCddID0gKCkgPT4gdGhpcy5nZXRTdG9yYWdlKCkuc3Vic2NyaWJlKHN0b3JhZ2UgPT4gdGhpcy5zZXRTdG9yYWdlKHN0b3JhZ2UpLnN1YnNjcmliZSgpICYmIGNvbnNvbGUubG9nKHN0b3JhZ2UpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXcml0ZXMgYW4gaXRlbSB0byB0aGUgc3RvcmFnZS5cbiAgICogQHBhcmFtIGtleSBUaGUgaXRlbSdzIGtleVxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIGJlIHN0b3JlZFxuICAgKiBAcGFyYW0gZGVib3VuY2UgVGhlIGRlYm91bmNlIHRpbWUgKGRlZmF1bHQ6IDUwMCkgdG8gcmVkdWNlIGlkZW50aWNhbCBzdG9yYWdlIGNhbGxzXG4gICAqIEByZXR1cm5zIFJlc29sdmVzIHRydWUgaWYgc2V0dGluZyB0aGUgaXRlbSBzdWNjZWVkZWQsIGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgcHVibGljIHNldEl0ZW0oa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnksIGRlYm91bmNlOiBudW1iZXIgPSA1MDApOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBpZiAoIWRlYm91bmNlKSB7XG4gICAgICByZXR1cm4gdGhpcy5zdG9yYWdlLnNldEl0ZW0oa2V5LCB2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghdGhpcy5pdGVtc01hcC5oYXMoa2V5KSkge1xuICAgICAgICBjb25zdCBzdWJqZWN0ID0gbmV3IFN1YmplY3QoKTtcbiAgICAgICAgc3ViamVjdC5waXBlKGRlYm91bmNlVGltZShkZWJvdW5jZSksIHN3aXRjaE1hcCh2YWwgPT4gdGhpcy5zdG9yYWdlLnNldEl0ZW0oa2V5LCB2YWwpKSkuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuaXRlbXNNYXAuc2V0KGtleSwgc3ViamVjdCk7XG4gICAgICB9XG4gICAgICB0aGlzLml0ZW1zTWFwLmdldChrZXkpLm5leHQodmFsdWUpO1xuICAgICAgcmV0dXJuIG9ic2VydmFibGVPZih0cnVlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgc3RvcmVkIGl0ZW0gYnkgaXRzIGtleS5cbiAgICogQHBhcmFtIGtleSBUaGUgaXRlbSdzIGtleVxuICAgKiBAcmV0dXJucyBUaGUgaXRlbSdzIHZhbHVlIGlmIHRoZSBrZXkgZXhpc3RzLCBudWxsIG90aGVyd2lzZVxuICAgKi9cbiAgcHVibGljIGdldEl0ZW0oa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JhZ2UuZ2V0SXRlbShrZXkpXG4gICAgICAucGlwZShtYXAoKGl0ZW06IGFueSkgPT4ge1xuICAgICAgICAvLyBJbmRleGVkREIgaXNzdWUgYWZ0ZXIgdXBkYXRlICh0cmFuc2Zvcm0gd3JhcHBlZCBpdGVtcylcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGl0ZW0gfHwge30pLmpvaW4oKSA9PT0gJ3ZhbHVlJyA/IGl0ZW0udmFsdWUgOiBpdGVtO1xuICAgICAgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgYW4gaXRlbSBmcm9tIHRoZSBzdG9yYWdlLlxuICAgKiBAcGFyYW0ga2V5IFRoZSBpdGVtJ3Mga2V5XG4gICAqIEByZXR1cm5zIFJlc29sdmVzIHRydWUgaWYgcmVtb3ZpbmcgdGhlIGl0ZW0gc3VjY2VlZGVkLCBmYWxzZSBvdGhlcndpc2VcbiAgICovXG4gIHB1YmxpYyByZW1vdmVJdGVtKGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlcyBhbGwgaXRlbXMgZnJvbSBsb2NhbCBzdG9yYWdlXG4gICAqIEBwYXJhbSBmaWx0ZXIgb3B0aW9uYWwgLSBEZWxldGUgYWxsIGtleXMgdGhhdCBwYXNzIHRocm91Z2ggZmlsdGVyXG4gICAqIEByZXR1cm5zIFJlc29sdmVzIHRydWUgaWYgY2xlYXJpbmcgYWxsIGl0ZW1zIHN1Y2NlZWRlZCwgZmFsc2Ugb3RoZXJ3aXNlXG4gICAqL1xuICBwdWJsaWMgY2xlYXIoZmlsdGVyPzogKGtleSkgPT4gYm9vbGVhbik6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBmaWx0ZXJcbiAgICAgID8gdGhpcy5nZXRTdG9yYWdlS2V5cygpLnBpcGUoXG4gICAgICAgICAgc3dpdGNoTWFwKChrZXlzKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsaXN0ID0ga2V5cy5maWx0ZXIoKGspID0+IGZpbHRlcihrKSkubWFwKChrKSA9PiB0aGlzLnJlbW92ZUl0ZW0oaykpO1xuICAgICAgICAgICAgcmV0dXJuIGxpc3QubGVuZ3RoID8gZm9ya0pvaW4obGlzdCkucGlwZShtYXAoKCkgPT4gdHJ1ZSkpIDogb2YodHJ1ZSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgOiB0aGlzLnN0b3JhZ2UuY2xlYXIoKTtcbiAgfVxuXG4gIGdldFN0b3JhZ2VLZXlzKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPHN0cmluZ1tdPigob2JzZXJ2ZXIpID0+IHtcbiAgICAgIGNvbnN0IGtleXMgPSBbXTtcbiAgICAgIHRoaXMuc3RvcmFnZU1hcC5rZXlzKCkuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKGtleSkgPT4ga2V5cy5wdXNoKGtleSksXG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiBvYnNlcnZlci5uZXh0KGtleXMpXG4gICAgICB9KTtcbiAgICB9KS5waXBlKGZpcnN0KCkpO1xuICB9XG5cbiAgZ2V0U3RvcmFnZSgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmdldFN0b3JhZ2VLZXlzKCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoa2V5cykgPT5cbiAgICAgICAga2V5cy5sZW5ndGhcbiAgICAgICAgICA/IGZvcmtKb2luKFxuICAgICAgICAgICAgICBVdGlscy5hcnJheVRvT2JqZWN0KFxuICAgICAgICAgICAgICAgIGtleXMsXG4gICAgICAgICAgICAgICAgKG8pID0+IG8sXG4gICAgICAgICAgICAgICAgKGspID0+IHRoaXMuZ2V0SXRlbShrKVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApXG4gICAgICAgICAgOiBvZih7fSlcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgc2V0U3RvcmFnZShvcHRpb25zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiBmb3JrSm9pbihPYmplY3Qua2V5cyhvcHRpb25zIHx8IHt9KS5tYXAoKGspID0+IHRoaXMuc2V0SXRlbShrLCBvcHRpb25zW2tdKSkpO1xuICB9XG5cbiAgcmVwbGFjZVN0b3JhZ2Uoc2V0dGluZ3M6IGFueSkge1xuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHNldHRpbmdzKSkge1xuICAgICAgdGhpcy5zZXRJdGVtKGtleSwgdmFsdWUpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwYWJpbGl0aWVzLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW8tc2RrL2NvcmUvc3JjL2xpYi9zZXJ2aWNlL2NhcGFiaWxpdGllcy9jYXBhYmlsaXRpZXMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ2FwYWJpbGl0aWVzIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoZSBiYWNrZW5kIHN1cHBvcnRzIHRoZSBpbmJveCBjYXBhYmlsaXR5LlxuICAgKiAodmlydHVhbDogdHJ1ZSBpZiBlaXRoZXIgYnBtLCBmb2xsb3d1cCBvciBzdWJzY3JpcHRpb24gaXMgc2V0KVxuICAgKi9cbiAgaW5ib3g6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgYmFja2VuZCBzdXBwb3J0cyB0aGUgbm90aWZpY2F0aW9ucyBjYXBhYmlsaXR5LlxuICAgKiAodmlydHVhbDogdHJ1ZSBpZiBlaXRoZXIgZm9sbG93dXAgb3Igc3Vic2NyaXB0aW9uIGlzIHNldClcbiAgICovXG4gIG5vdGlmaWNhdGlvbnM6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgYmFja2VuZCBzdXBwb3J0cyB0aGUgQlBNIGNhcGFiaWxpdHkuXG4gICAqIChldmVyeXRoaW5nIHJlbGF0ZWQgdG8gd29ya2Zsb3dzKVxuICAgKi9cbiAgYnBtOiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhlIGJhY2tlbmQgc3VwcG9ydHMgdGhlIGZhdm9yaXRlIGNhcGFiaWxpdHkuXG4gICAqL1xuICBmYXZvcml0ZXM6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgYmFja2VuZCBzdXBwb3J0cyB0aGUgIGhhbmRsaW5nIG9mIGZvbGxvdyB1cHMuXG4gICAqL1xuICBmb2xsb3d1cDogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoZSBiYWNrZW5kIHN1cHBvcnRzIHRoZSBoYW5kbGluZyBvZiBzdWJzY3JpcHRpb25zLlxuICAgKi9cbiAgc3Vic2NyaXB0aW9uOiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhlIGJhY2tlbmQgc3VwcG9ydHMgdGhlIGludHJheSBjYXBhYmlsaXR5LlxuICAgKi9cbiAgaW50cmF5OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhlIGJhY2tlbmQgc3VwcG9ydHMgU3RvcmVkIFF1ZXJpZXMuXG4gICAqL1xuICBzdG9yZWRxdWVyaWVzOiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhlIHJlY3ljbGViaW4gd2lsbCBrZWVwIGRlbGV0ZWQgb2JqZWN0cy5cbiAgICovXG4gIHJlY3ljbGViaW46IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgdGVtcGxhdGUgb3B0aW9uIHdpbGwgYmUgc2hvd24gaW4gdGhlIGludHJheS5cbiAgICovXG4gIHRlbXBsYXRlOiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3Qgc2lnbmluZyBkb2N1bWVudHMgaXMgc3VwcG9ydGVkXG4gICAqL1xuICBzaWduaW5nPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHNzbzogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -1,60 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../system/system.service";
4
- /**
5
- * Handles the systems capabilities. Capabilities are settings that enable/disable certain client features.
6
- */
7
- export class CapabilitiesService {
8
- /**
9
- * @ignore
10
- */
11
- constructor(system) {
12
- this.system = system;
13
- }
14
- /**
15
- * Sets the capabilities based on a given object set by auth.service
16
- *
17
- * @param userCapabilities Object containing capabilities properties
18
- * @param useSingleSingOn Whether or not to set up single signon on capability
19
- * @returns The newly created capabilities object
20
- */
21
- setCapabilities(userCapabilities, useSingleSingOn) {
22
- this.capabilities = {
23
- bpm: userCapabilities.bpm,
24
- favorites: userCapabilities.favorites,
25
- followup: userCapabilities.followup,
26
- subscription: userCapabilities.subscription,
27
- intray: userCapabilities.intray,
28
- storedqueries: userCapabilities.storedqueries,
29
- recyclebin: userCapabilities.recyclebin,
30
- inbox: userCapabilities.bpm || userCapabilities.followup || userCapabilities.subscription,
31
- notifications: userCapabilities.followup || userCapabilities.subscription,
32
- template: userCapabilities.template,
33
- sso: useSingleSingOn || false,
34
- };
35
- return this.capabilities;
36
- }
37
- /**
38
- * Getter for the Capabilities
39
- */
40
- getCapabilities() {
41
- return { ...this.capabilities, signing: !!this.system.getObjectType('yuvsigning') };
42
- }
43
- /**
44
- * Check if Capability is present
45
- * @param capability Capability to check for
46
- * @returns True if the capability is set, false otherwise
47
- */
48
- hasCapability(capability) {
49
- return this.capabilities[capability];
50
- }
51
- }
52
- CapabilitiesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: CapabilitiesService, deps: [{ token: i1.SystemService }], target: i0.ɵɵFactoryTarget.Injectable });
53
- CapabilitiesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: CapabilitiesService, providedIn: 'root' });
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: CapabilitiesService, decorators: [{
55
- type: Injectable,
56
- args: [{
57
- providedIn: 'root'
58
- }]
59
- }], ctorParameters: function () { return [{ type: i1.SystemService }]; } });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwYWJpbGl0aWVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lby1zZGsvY29yZS9zcmMvbGliL3NlcnZpY2UvY2FwYWJpbGl0aWVzL2NhcGFiaWxpdGllcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7OztBQUl6Qzs7R0FFRztBQUlILE1BQU0sT0FBTyxtQkFBbUI7SUFJOUI7O09BRUc7SUFDSCxZQUFvQixNQUFxQjtRQUFyQixXQUFNLEdBQU4sTUFBTSxDQUFlO0lBQ3pDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxlQUFlLENBQUMsZ0JBQXFCLEVBQUUsZUFBeUI7UUFFOUQsSUFBSSxDQUFDLFlBQVksR0FBRztZQUNsQixHQUFHLEVBQUUsZ0JBQWdCLENBQUMsR0FBRztZQUN6QixTQUFTLEVBQUUsZ0JBQWdCLENBQUMsU0FBUztZQUNyQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsUUFBUTtZQUNuQyxZQUFZLEVBQUUsZ0JBQWdCLENBQUMsWUFBWTtZQUMzQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsTUFBTTtZQUMvQixhQUFhLEVBQUUsZ0JBQWdCLENBQUMsYUFBYTtZQUM3QyxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsVUFBVTtZQUN2QyxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxJQUFJLGdCQUFnQixDQUFDLFFBQVEsSUFBSSxnQkFBZ0IsQ0FBQyxZQUFZO1lBQ3pGLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxRQUFRLElBQUksZ0JBQWdCLENBQUMsWUFBWTtZQUN6RSxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsUUFBUTtZQUNuQyxHQUFHLEVBQUUsZUFBZSxJQUFJLEtBQUs7U0FDOUIsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxlQUFlO1FBQ2IsT0FBTyxFQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxFQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxhQUFhLENBQUMsVUFBa0I7UUFDOUIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7O2dIQWpEVSxtQkFBbUI7b0hBQW5CLG1CQUFtQixjQUZsQixNQUFNOzJGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDYXBhYmlsaXRpZXN9IGZyb20gJy4vY2FwYWJpbGl0aWVzLm1vZGVsJztcbmltcG9ydCB7U3lzdGVtU2VydmljZX0gZnJvbSAnLi4vc3lzdGVtL3N5c3RlbS5zZXJ2aWNlJztcblxuLyoqXG4gKiBIYW5kbGVzIHRoZSBzeXN0ZW1zIGNhcGFiaWxpdGllcy4gQ2FwYWJpbGl0aWVzIGFyZSBzZXR0aW5ncyB0aGF0IGVuYWJsZS9kaXNhYmxlIGNlcnRhaW4gY2xpZW50IGZlYXR1cmVzLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDYXBhYmlsaXRpZXNTZXJ2aWNlIHtcblxuICBwcml2YXRlIGNhcGFiaWxpdGllczogQ2FwYWJpbGl0aWVzO1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN5c3RlbTogU3lzdGVtU2VydmljZSkge1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGNhcGFiaWxpdGllcyBiYXNlZCBvbiBhIGdpdmVuIG9iamVjdCBzZXQgYnkgYXV0aC5zZXJ2aWNlXG4gICAqXG4gICAqIEBwYXJhbSB1c2VyQ2FwYWJpbGl0aWVzIE9iamVjdCBjb250YWluaW5nIGNhcGFiaWxpdGllcyBwcm9wZXJ0aWVzXG4gICAqIEBwYXJhbSB1c2VTaW5nbGVTaW5nT24gV2hldGhlciBvciBub3QgdG8gc2V0IHVwIHNpbmdsZSBzaWdub24gb24gY2FwYWJpbGl0eVxuICAgKiBAcmV0dXJucyBUaGUgbmV3bHkgY3JlYXRlZCBjYXBhYmlsaXRpZXMgb2JqZWN0XG4gICAqL1xuICBzZXRDYXBhYmlsaXRpZXModXNlckNhcGFiaWxpdGllczogYW55LCB1c2VTaW5nbGVTaW5nT24/OiBib29sZWFuKTogQ2FwYWJpbGl0aWVzIHtcblxuICAgIHRoaXMuY2FwYWJpbGl0aWVzID0ge1xuICAgICAgYnBtOiB1c2VyQ2FwYWJpbGl0aWVzLmJwbSxcbiAgICAgIGZhdm9yaXRlczogdXNlckNhcGFiaWxpdGllcy5mYXZvcml0ZXMsXG4gICAgICBmb2xsb3d1cDogdXNlckNhcGFiaWxpdGllcy5mb2xsb3d1cCxcbiAgICAgIHN1YnNjcmlwdGlvbjogdXNlckNhcGFiaWxpdGllcy5zdWJzY3JpcHRpb24sXG4gICAgICBpbnRyYXk6IHVzZXJDYXBhYmlsaXRpZXMuaW50cmF5LFxuICAgICAgc3RvcmVkcXVlcmllczogdXNlckNhcGFiaWxpdGllcy5zdG9yZWRxdWVyaWVzLFxuICAgICAgcmVjeWNsZWJpbjogdXNlckNhcGFiaWxpdGllcy5yZWN5Y2xlYmluLFxuICAgICAgaW5ib3g6IHVzZXJDYXBhYmlsaXRpZXMuYnBtIHx8IHVzZXJDYXBhYmlsaXRpZXMuZm9sbG93dXAgfHwgdXNlckNhcGFiaWxpdGllcy5zdWJzY3JpcHRpb24sXG4gICAgICBub3RpZmljYXRpb25zOiB1c2VyQ2FwYWJpbGl0aWVzLmZvbGxvd3VwIHx8IHVzZXJDYXBhYmlsaXRpZXMuc3Vic2NyaXB0aW9uLFxuICAgICAgdGVtcGxhdGU6IHVzZXJDYXBhYmlsaXRpZXMudGVtcGxhdGUsXG4gICAgICBzc286IHVzZVNpbmdsZVNpbmdPbiB8fCBmYWxzZSxcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmNhcGFiaWxpdGllcztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXR0ZXIgZm9yIHRoZSBDYXBhYmlsaXRpZXNcbiAgICovXG4gIGdldENhcGFiaWxpdGllcygpOiBDYXBhYmlsaXRpZXMge1xuICAgIHJldHVybiB7Li4udGhpcy5jYXBhYmlsaXRpZXMsIHNpZ25pbmc6ICEhdGhpcy5zeXN0ZW0uZ2V0T2JqZWN0VHlwZSgneXV2c2lnbmluZycpfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBDYXBhYmlsaXR5IGlzIHByZXNlbnRcbiAgICogQHBhcmFtIGNhcGFiaWxpdHkgQ2FwYWJpbGl0eSB0byBjaGVjayBmb3JcbiAgICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgY2FwYWJpbGl0eSBpcyBzZXQsIGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgaGFzQ2FwYWJpbGl0eShjYXBhYmlsaXR5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jYXBhYmlsaXRpZXNbY2FwYWJpbGl0eV07XG4gIH1cbn1cbiJdfQ==
@@ -1,6 +0,0 @@
1
- export var ClipboardAction;
2
- (function (ClipboardAction) {
3
- ClipboardAction[ClipboardAction["COPY"] = 0] = "COPY";
4
- ClipboardAction[ClipboardAction["CUT"] = 1] = "CUT";
5
- })(ClipboardAction || (ClipboardAction = {}));
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcGJvYXJkLWFjdGlvbi5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW8tc2RrL2NvcmUvc3JjL2xpYi9zZXJ2aWNlL2NsaXBib2FyZC9jbGlwYm9hcmQtYWN0aW9uLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksZUFHWDtBQUhELFdBQVksZUFBZTtJQUN6QixxREFBSSxDQUFBO0lBQ0osbURBQUcsQ0FBQTtBQUNMLENBQUMsRUFIVyxlQUFlLEtBQWYsZUFBZSxRQUcxQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIENsaXBib2FyZEFjdGlvbiB7XG4gIENPUFksXG4gIENVVFxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcGJvYXJkLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VvLXNkay9jb3JlL3NyYy9saWIvc2VydmljZS9jbGlwYm9hcmQvY2xpcGJvYXJkLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDbGlwYm9hcmRBY3Rpb259IGZyb20gJy4vY2xpcGJvYXJkLWFjdGlvbi5lbnVtJztcbmltcG9ydCB7RG1zT2JqZWN0fSBmcm9tICcuLi8uLi9tb2RlbC9kbXMtb2JqZWN0Lm1vZGVsJztcblxuLyoqXG4gKiBDbGlwYm9hcmQgSW50ZXJmYWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2xpcGJvYXJkIHtcbiAgLyoqXG4gICAqIHRoZSBjbGlwYm9hcmRzIGFjdGlvbiAoJ0NPUFknLCAnQ1VUJylcbiAgICovXG4gIGFjdGlvbjogQ2xpcGJvYXJkQWN0aW9uO1xuICAvKipcbiAgICogVGhlIGNsaXBib2FyZHMgZWxlbWVudHNcbiAgICovXG4gIGVsZW1lbnRzOiBEbXNPYmplY3RbXTtcbn1cbiJdfQ==