@hmcts/rpx-xui-common-lib 1.7.0 → 1.8.0-angular-upgrade-9

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 (271) hide show
  1. package/bundles/hmcts-rpx-xui-common-lib.umd.js +4078 -6583
  2. package/bundles/hmcts-rpx-xui-common-lib.umd.js.map +1 -1
  3. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js +15 -1
  4. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js.map +1 -1
  5. package/esm2015/hmcts-rpx-xui-common-lib.js +2 -7
  6. package/esm2015/lib/components/accessibility/accessibility.component.js +13 -17
  7. package/esm2015/lib/components/checkbox-list/checkbox-list.component.js +45 -127
  8. package/esm2015/lib/components/contact-details/contact-details.component.js +16 -23
  9. package/esm2015/lib/components/cookie-banner/cookie-banner.component.js +31 -78
  10. package/esm2015/lib/components/due-date/due-date.component.js +24 -110
  11. package/esm2015/lib/components/exui-main-wrapper/exui-page-wrapper.component.js +29 -34
  12. package/esm2015/lib/components/find-location/find-location.component.js +61 -131
  13. package/esm2015/lib/components/find-person/find-person.component.js +93 -174
  14. package/esm2015/lib/components/generic-filter/generic-filter-utils.js +11 -55
  15. package/esm2015/lib/components/generic-filter/generic-filter.component.js +54 -289
  16. package/esm2015/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.js +20 -29
  17. package/esm2015/lib/components/index.js +2 -7
  18. package/esm2015/lib/components/invite-user-form/invite-user-form.component.js +23 -33
  19. package/esm2015/lib/components/invite-user-permissions/invite-user-permission.component.js +34 -35
  20. package/esm2015/lib/components/loading-spinner/loading-spinner.component.js +16 -22
  21. package/esm2015/lib/components/pagination/pagination.component.js +28 -38
  22. package/esm2015/lib/components/public_api.js +33 -33
  23. package/esm2015/lib/components/search-judicials/search-judicials.component.js +70 -156
  24. package/esm2015/lib/components/search-location/search-location.component.js +76 -177
  25. package/esm2015/lib/components/search-venue/search-venue.component.js +62 -154
  26. package/esm2015/lib/components/selected-case/selected-case.component.js +54 -191
  27. package/esm2015/lib/components/selected-case-confirm/selected-case-confirm.component.js +22 -53
  28. package/esm2015/lib/components/selected-case-list/selected-case-list.component.js +38 -68
  29. package/esm2015/lib/components/service-message/service-message.component.js +23 -32
  30. package/esm2015/lib/components/service-messages/service-messages.component.js +29 -77
  31. package/esm2015/lib/components/share-case/share-case.component.js +45 -104
  32. package/esm2015/lib/components/share-case-confirm/share-case-confirm.component.js +27 -50
  33. package/esm2015/lib/components/tab/tab.component.js +19 -37
  34. package/esm2015/lib/components/tc-confirm/tc-confirm.component.js +20 -29
  35. package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.js +13 -17
  36. package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.js +13 -17
  37. package/esm2015/lib/components/terms-and-conditions/terms-and-conditions.component.js +16 -23
  38. package/esm2015/lib/components/user-details/user-details.component.js +47 -57
  39. package/esm2015/lib/components/user-list/user-list.component.js +19 -28
  40. package/esm2015/lib/components/user-select/user-select.component.js +23 -64
  41. package/esm2015/lib/directives/feature-toggle/feature-toggle.directive.js +21 -67
  42. package/esm2015/lib/directives/index.js +2 -7
  43. package/esm2015/lib/directives/let/let.directive.js +16 -49
  44. package/esm2015/lib/directives/public-api.js +3 -8
  45. package/esm2015/lib/exui-common-lib.module.js +31 -35
  46. package/esm2015/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.js +23 -34
  47. package/esm2015/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +18 -23
  48. package/esm2015/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +30 -68
  49. package/esm2015/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.js +19 -25
  50. package/esm2015/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.js +19 -28
  51. package/esm2015/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.js +23 -36
  52. package/esm2015/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.js +23 -28
  53. package/esm2015/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +24 -35
  54. package/esm2015/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +15 -22
  55. package/esm2015/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.js +23 -35
  56. package/esm2015/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +18 -23
  57. package/esm2015/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +27 -34
  58. package/esm2015/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.js +32 -47
  59. package/esm2015/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.js +22 -29
  60. package/esm2015/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +20 -26
  61. package/esm2015/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.js +26 -56
  62. package/esm2015/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +17 -27
  63. package/esm2015/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +40 -52
  64. package/esm2015/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.js +29 -36
  65. package/esm2015/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +18 -35
  66. package/esm2015/lib/gov-ui/components/index.js +2 -7
  67. package/esm2015/lib/gov-ui/components/public_api.js +21 -7
  68. package/esm2015/lib/gov-ui/directives/index.js +2 -0
  69. package/esm2015/lib/gov-ui/directives/public_api.js +2 -0
  70. package/esm2015/lib/gov-ui/directives/remove-host.directive.js +12 -30
  71. package/esm2015/lib/gov-ui/gov-ui.service.js +12 -16
  72. package/esm2015/lib/gov-ui/index.js +2 -7
  73. package/esm2015/lib/gov-ui/models/banner-data-model.js +1 -16
  74. package/esm2015/lib/gov-ui/models/checkboxes-model.js +1 -22
  75. package/esm2015/lib/gov-ui/models/error-messages-model.js +1 -16
  76. package/esm2015/lib/gov-ui/models/gov-ui-config-model.js +1 -36
  77. package/esm2015/lib/gov-ui/models/index.js +1 -7
  78. package/esm2015/lib/gov-ui/models/isession-storage.interface.js +1 -24
  79. package/esm2015/lib/gov-ui/models/public_api.js +1 -10
  80. package/esm2015/lib/gov-ui/public_api.js +5 -9
  81. package/esm2015/lib/gov-ui/util/helpers/html-templates.helper.js +4 -14
  82. package/esm2015/lib/gov-ui/util/session-storage/session-storage-utils.js +12 -48
  83. package/esm2015/lib/gov-ui/validators/checkboxes-be-checked.validator.js +5 -24
  84. package/esm2015/lib/gov-ui/validators/date.validator.js +3 -20
  85. package/esm2015/lib/gov-ui/validators/index.js +2 -7
  86. package/esm2015/lib/gov-ui/validators/public_api.js +4 -9
  87. package/esm2015/lib/gov-ui/validators/radio-group.validator.js +3 -15
  88. package/esm2015/lib/models/case-share.model.js +1 -26
  89. package/esm2015/lib/models/contact-details.model.js +7 -31
  90. package/esm2015/lib/models/due-date.model.js +7 -14
  91. package/esm2015/lib/models/feature-user.js +1 -16
  92. package/esm2015/lib/models/filter.model.js +1 -112
  93. package/esm2015/lib/models/idle-config.model.js +1 -20
  94. package/esm2015/lib/models/index.js +6 -18
  95. package/esm2015/lib/models/location.model.js +1 -108
  96. package/esm2015/lib/models/person.model.js +17 -92
  97. package/esm2015/lib/models/public_api.js +4 -11
  98. package/esm2015/lib/models/search-options.model.js +1 -22
  99. package/esm2015/lib/models/tcDocument.model.js +1 -18
  100. package/esm2015/lib/models/timeout-notification.model.js +1 -18
  101. package/esm2015/lib/models/user-details.model.js +1 -22
  102. package/esm2015/lib/models/user.model.js +1 -25
  103. package/esm2015/lib/services/case-sharing-state/case-sharing-state.service.js +19 -92
  104. package/esm2015/lib/services/cookie/cookie.service.js +19 -78
  105. package/esm2015/lib/services/feature-toggle/feature-toggle.guard.js +16 -51
  106. package/esm2015/lib/services/feature-toggle/feature-toggle.service.js +11 -35
  107. package/esm2015/lib/services/feature-toggle/launch-darkly.service.js +21 -101
  108. package/esm2015/lib/services/filter/filter.service.js +11 -63
  109. package/esm2015/lib/services/find-person/find-person.service.js +25 -130
  110. package/esm2015/lib/services/google-analytics/google-analytics.service.js +21 -70
  111. package/esm2015/lib/services/google-tag-manager/google-tag-manager.service.js +23 -71
  112. package/esm2015/lib/services/index.js +2 -7
  113. package/esm2015/lib/services/loading/loading.service.js +11 -48
  114. package/esm2015/lib/services/locations/location.service.js +22 -35
  115. package/esm2015/lib/services/manage-session/manage-session.services.js +21 -70
  116. package/esm2015/lib/services/public-api.js +13 -18
  117. package/esm2015/lib/services/role-guard/role.guard.js +24 -61
  118. package/esm2015/lib/services/role-guard/role.service.js +11 -28
  119. package/esm2015/lib/services/session-storage/session-storage.service.js +12 -24
  120. package/esm2015/lib/services/timeout-notifications/timeout-notifications.service.js +20 -82
  121. package/esm2015/lib/window.js +1 -10
  122. package/esm2015/public-api.js +8 -13
  123. package/esm5/hmcts-rpx-xui-common-lib.js +2 -7
  124. package/esm5/lib/components/accessibility/accessibility.component.js +10 -15
  125. package/esm5/lib/components/checkbox-list/checkbox-list.component.js +57 -232
  126. package/esm5/lib/components/contact-details/contact-details.component.js +14 -22
  127. package/esm5/lib/components/cookie-banner/cookie-banner.component.js +36 -106
  128. package/esm5/lib/components/due-date/due-date.component.js +29 -142
  129. package/esm5/lib/components/exui-main-wrapper/exui-page-wrapper.component.js +27 -33
  130. package/esm5/lib/components/find-location/find-location.component.js +71 -167
  131. package/esm5/lib/components/find-person/find-person.component.js +97 -193
  132. package/esm5/lib/components/generic-filter/generic-filter-utils.js +13 -57
  133. package/esm5/lib/components/generic-filter/generic-filter.component.js +83 -408
  134. package/esm5/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.js +19 -32
  135. package/esm5/lib/components/index.js +2 -7
  136. package/esm5/lib/components/invite-user-form/invite-user-form.component.js +23 -37
  137. package/esm5/lib/components/invite-user-permissions/invite-user-permission.component.js +32 -34
  138. package/esm5/lib/components/loading-spinner/loading-spinner.component.js +14 -21
  139. package/esm5/lib/components/pagination/pagination.component.js +28 -45
  140. package/esm5/lib/components/public_api.js +33 -33
  141. package/esm5/lib/components/search-judicials/search-judicials.component.js +78 -198
  142. package/esm5/lib/components/search-location/search-location.component.js +84 -207
  143. package/esm5/lib/components/search-venue/search-venue.component.js +71 -199
  144. package/esm5/lib/components/selected-case/selected-case.component.js +72 -279
  145. package/esm5/lib/components/selected-case-confirm/selected-case-confirm.component.js +22 -61
  146. package/esm5/lib/components/selected-case-list/selected-case-list.component.js +39 -82
  147. package/esm5/lib/components/service-message/service-message.component.js +22 -36
  148. package/esm5/lib/components/service-messages/service-messages.component.js +30 -91
  149. package/esm5/lib/components/share-case/share-case.component.js +52 -138
  150. package/esm5/lib/components/share-case-confirm/share-case-confirm.component.js +25 -49
  151. package/esm5/lib/components/tab/tab.component.js +18 -41
  152. package/esm5/lib/components/tc-confirm/tc-confirm.component.js +19 -32
  153. package/esm5/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.js +10 -15
  154. package/esm5/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.js +10 -15
  155. package/esm5/lib/components/terms-and-conditions/terms-and-conditions.component.js +14 -22
  156. package/esm5/lib/components/user-details/user-details.component.js +48 -71
  157. package/esm5/lib/components/user-list/user-list.component.js +18 -32
  158. package/esm5/lib/components/user-select/user-select.component.js +27 -92
  159. package/esm5/lib/directives/feature-toggle/feature-toggle.directive.js +21 -70
  160. package/esm5/lib/directives/index.js +2 -7
  161. package/esm5/lib/directives/let/let.directive.js +15 -51
  162. package/esm5/lib/directives/public-api.js +3 -8
  163. package/esm5/lib/exui-common-lib.module.js +22 -28
  164. package/esm5/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.js +22 -37
  165. package/esm5/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +16 -22
  166. package/esm5/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +32 -89
  167. package/esm5/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.js +17 -24
  168. package/esm5/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.js +18 -31
  169. package/esm5/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.js +23 -43
  170. package/esm5/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.js +21 -27
  171. package/esm5/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +24 -45
  172. package/esm5/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +13 -21
  173. package/esm5/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.js +18 -44
  174. package/esm5/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +16 -22
  175. package/esm5/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +26 -37
  176. package/esm5/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.js +31 -51
  177. package/esm5/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.js +21 -32
  178. package/esm5/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +18 -25
  179. package/esm5/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.js +28 -71
  180. package/esm5/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +16 -27
  181. package/esm5/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +41 -60
  182. package/esm5/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.js +28 -36
  183. package/esm5/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +16 -34
  184. package/esm5/lib/gov-ui/components/index.js +2 -7
  185. package/esm5/lib/gov-ui/components/public_api.js +21 -7
  186. package/esm5/lib/gov-ui/directives/index.js +2 -0
  187. package/esm5/lib/gov-ui/directives/public_api.js +2 -0
  188. package/esm5/lib/gov-ui/directives/remove-host.directive.js +10 -29
  189. package/esm5/lib/gov-ui/gov-ui.service.js +9 -14
  190. package/esm5/lib/gov-ui/index.js +2 -7
  191. package/esm5/lib/gov-ui/models/banner-data-model.js +1 -16
  192. package/esm5/lib/gov-ui/models/checkboxes-model.js +1 -22
  193. package/esm5/lib/gov-ui/models/error-messages-model.js +1 -16
  194. package/esm5/lib/gov-ui/models/gov-ui-config-model.js +1 -36
  195. package/esm5/lib/gov-ui/models/index.js +1 -7
  196. package/esm5/lib/gov-ui/models/isession-storage.interface.js +1 -24
  197. package/esm5/lib/gov-ui/models/public_api.js +1 -10
  198. package/esm5/lib/gov-ui/public_api.js +5 -9
  199. package/esm5/lib/gov-ui/util/helpers/html-templates.helper.js +3 -34
  200. package/esm5/lib/gov-ui/util/session-storage/session-storage-utils.js +12 -48
  201. package/esm5/lib/gov-ui/validators/checkboxes-be-checked.validator.js +5 -24
  202. package/esm5/lib/gov-ui/validators/date.validator.js +3 -20
  203. package/esm5/lib/gov-ui/validators/index.js +2 -7
  204. package/esm5/lib/gov-ui/validators/public_api.js +4 -9
  205. package/esm5/lib/gov-ui/validators/radio-group.validator.js +3 -15
  206. package/esm5/lib/models/case-share.model.js +1 -26
  207. package/esm5/lib/models/contact-details.model.js +7 -31
  208. package/esm5/lib/models/due-date.model.js +7 -14
  209. package/esm5/lib/models/feature-user.js +1 -16
  210. package/esm5/lib/models/filter.model.js +1 -112
  211. package/esm5/lib/models/idle-config.model.js +1 -20
  212. package/esm5/lib/models/index.js +6 -18
  213. package/esm5/lib/models/location.model.js +1 -108
  214. package/esm5/lib/models/person.model.js +17 -92
  215. package/esm5/lib/models/public_api.js +4 -11
  216. package/esm5/lib/models/search-options.model.js +1 -22
  217. package/esm5/lib/models/tcDocument.model.js +1 -18
  218. package/esm5/lib/models/timeout-notification.model.js +1 -18
  219. package/esm5/lib/models/user-details.model.js +1 -22
  220. package/esm5/lib/models/user.model.js +1 -25
  221. package/esm5/lib/services/case-sharing-state/case-sharing-state.service.js +27 -132
  222. package/esm5/lib/services/cookie/cookie.service.js +21 -104
  223. package/esm5/lib/services/feature-toggle/feature-toggle.guard.js +13 -61
  224. package/esm5/lib/services/feature-toggle/feature-toggle.service.js +12 -70
  225. package/esm5/lib/services/feature-toggle/launch-darkly.service.js +21 -142
  226. package/esm5/lib/services/filter/filter.service.js +15 -101
  227. package/esm5/lib/services/find-person/find-person.service.js +27 -152
  228. package/esm5/lib/services/google-analytics/google-analytics.service.js +21 -78
  229. package/esm5/lib/services/google-tag-manager/google-tag-manager.service.js +23 -79
  230. package/esm5/lib/services/index.js +2 -7
  231. package/esm5/lib/services/loading/loading.service.js +14 -69
  232. package/esm5/lib/services/locations/location.service.js +11 -50
  233. package/esm5/lib/services/manage-session/manage-session.services.js +20 -73
  234. package/esm5/lib/services/public-api.js +13 -18
  235. package/esm5/lib/services/role-guard/role.guard.js +22 -60
  236. package/esm5/lib/services/role-guard/role.service.js +10 -28
  237. package/esm5/lib/services/session-storage/session-storage.service.js +12 -61
  238. package/esm5/lib/services/timeout-notifications/timeout-notifications.service.js +19 -111
  239. package/esm5/lib/window.js +1 -10
  240. package/esm5/public-api.js +8 -13
  241. package/fesm2015/hmcts-rpx-xui-common-lib.js +3152 -4924
  242. package/fesm2015/hmcts-rpx-xui-common-lib.js.map +1 -1
  243. package/fesm5/hmcts-rpx-xui-common-lib.js +3458 -6178
  244. package/fesm5/hmcts-rpx-xui-common-lib.js.map +1 -1
  245. package/hmcts-rpx-xui-common-lib.metadata.json +1 -1
  246. package/lib/components/checkbox-list/checkbox-list.component.d.ts +6 -5
  247. package/lib/components/due-date/due-date.component.d.ts +4 -4
  248. package/lib/components/find-location/find-location.component.d.ts +4 -2
  249. package/lib/components/generic-filter/generic-filter.component.d.ts +4 -2
  250. package/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.d.ts +1 -1
  251. package/lib/components/invite-user-form/invite-user-form.component.d.ts +2 -2
  252. package/lib/components/public_api.d.ts +9 -4
  253. package/lib/components/search-judicials/search-judicials.component.d.ts +1 -1
  254. package/lib/components/search-location/search-location.component.d.ts +4 -2
  255. package/lib/components/search-venue/search-venue.component.d.ts +1 -1
  256. package/lib/directives/feature-toggle/feature-toggle.directive.d.ts +1 -1
  257. package/lib/directives/let/let.directive.d.ts +1 -1
  258. package/lib/exui-common-lib.module.d.ts +1 -1
  259. package/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.d.ts +1 -1
  260. package/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.d.ts +1 -1
  261. package/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.d.ts +1 -1
  262. package/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.d.ts +1 -1
  263. package/lib/gov-ui/components/public_api.d.ts +19 -0
  264. package/lib/gov-ui/directives/index.d.ts +1 -0
  265. package/lib/gov-ui/directives/public_api.d.ts +1 -0
  266. package/lib/gov-ui/public_api.d.ts +2 -1
  267. package/lib/services/case-sharing-state/case-sharing-state.service.d.ts +1 -1
  268. package/lib/services/loading/loading.service.d.ts +2 -2
  269. package/lib/services/role-guard/role.service.d.ts +2 -1
  270. package/lib/window.d.ts +2 -2
  271. package/package.json +2 -6
@@ -1,9 +1,4 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/services/case-sharing-state/case-sharing-state.service.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import * as tslib_1 from "tslib";
1
+ import { __assign, __decorate, __metadata, __values } from "tslib";
7
2
  import { Injectable } from '@angular/core';
8
3
  import { BehaviorSubject } from 'rxjs';
9
4
  import { distinctUntilChanged } from 'rxjs/operators';
@@ -14,78 +9,41 @@ var CaseSharingStateService = /** @class */ (function () {
14
9
  this.subject = new BehaviorSubject(this.caseState);
15
10
  }
16
11
  Object.defineProperty(CaseSharingStateService.prototype, "state", {
17
- get: /**
18
- * @return {?}
19
- */
20
- function () {
12
+ get: function () {
21
13
  return this.subject.asObservable().pipe(distinctUntilChanged());
22
14
  },
23
15
  enumerable: true,
24
16
  configurable: true
25
17
  });
26
- /**
27
- * @param {?} cases
28
- * @return {?}
29
- */
30
- CaseSharingStateService.prototype.setCases = /**
31
- * @param {?} cases
32
- * @return {?}
33
- */
34
- function (cases) {
18
+ CaseSharingStateService.prototype.setCases = function (cases) {
35
19
  var _this = this;
36
20
  this.caseState = [];
37
- cases.forEach((/**
38
- * @param {?} aCase
39
- * @return {?}
40
- */
41
- function (aCase) {
21
+ cases.forEach(function (aCase) {
42
22
  _this.caseState.push({ caseId: aCase.caseId, caseTitle: aCase.caseTitle, caseTypeId: aCase.caseTypeId, roles: aCase.roles,
43
23
  sharedWith: aCase.sharedWith, pendingShares: aCase.pendingShares, pendingUnshares: aCase.pendingUnshares });
44
- }));
24
+ });
45
25
  this.subject.next(this.caseState);
46
26
  };
47
- /**
48
- * @return {?}
49
- */
50
- CaseSharingStateService.prototype.getCases = /**
51
- * @return {?}
52
- */
53
- function () {
27
+ CaseSharingStateService.prototype.getCases = function () {
54
28
  return this.caseState;
55
29
  };
56
- /**
57
- * @param {?} user
58
- * @return {?}
59
- */
60
- CaseSharingStateService.prototype.requestShare = /**
61
- * @param {?} user
62
- * @return {?}
63
- */
64
- function (user) {
30
+ CaseSharingStateService.prototype.requestShare = function (user) {
65
31
  var e_1, _a;
66
- /** @type {?} */
67
32
  var oldSharedCases = this.caseState.slice();
68
- /** @type {?} */
69
33
  var newSharedCases = [];
70
34
  try {
71
- for (var oldSharedCases_1 = tslib_1.__values(oldSharedCases), oldSharedCases_1_1 = oldSharedCases_1.next(); !oldSharedCases_1_1.done; oldSharedCases_1_1 = oldSharedCases_1.next()) {
35
+ for (var oldSharedCases_1 = __values(oldSharedCases), oldSharedCases_1_1 = oldSharedCases_1.next(); !oldSharedCases_1_1.done; oldSharedCases_1_1 = oldSharedCases_1.next()) {
72
36
  var sharedCase = oldSharedCases_1_1.value;
73
37
  if (!sharedCase.pendingShares) {
74
38
  sharedCase.pendingShares = [];
75
39
  }
76
- /** @type {?} */
77
40
  var newPendingShares = sharedCase.pendingShares.slice();
78
41
  if (!sharedCase.pendingUnshares) {
79
42
  sharedCase.pendingUnshares = [];
80
43
  }
81
- /** @type {?} */
82
44
  var newPendingUnshares = sharedCase.pendingUnshares.slice();
83
45
  if (!this.userHasAccess(sharedCase, user)) {
84
- if (!newPendingShares.some((/**
85
- * @param {?} u
86
- * @return {?}
87
- */
88
- function (u) { return u.email === user.email; }))) {
46
+ if (!newPendingShares.some(function (u) { return u.email === user.email; })) {
89
47
  newPendingShares.push(user);
90
48
  }
91
49
  }
@@ -97,8 +55,7 @@ var CaseSharingStateService = /** @class */ (function () {
97
55
  }
98
56
  }
99
57
  }
100
- /** @type {?} */
101
- var newSharedCase = tslib_1.__assign({}, sharedCase, { pendingUnshares: newPendingUnshares, pendingShares: newPendingShares });
58
+ var newSharedCase = __assign(__assign({}, sharedCase), { pendingUnshares: newPendingUnshares, pendingShares: newPendingShares });
102
59
  newSharedCases.push(newSharedCase);
103
60
  }
104
61
  }
@@ -112,43 +69,26 @@ var CaseSharingStateService = /** @class */ (function () {
112
69
  this.subject.next(newSharedCases);
113
70
  return newSharedCases;
114
71
  };
115
- /**
116
- * @param {?} caseId
117
- * @param {?} user
118
- * @return {?}
119
- */
120
- CaseSharingStateService.prototype.requestUnshare = /**
121
- * @param {?} caseId
122
- * @param {?} user
123
- * @return {?}
124
- */
125
- function (caseId, user) {
72
+ CaseSharingStateService.prototype.requestUnshare = function (caseId, user) {
126
73
  var e_2, _a;
127
- /** @type {?} */
128
74
  var newSharedCases = [];
129
75
  try {
130
- for (var _b = tslib_1.__values(this.caseState), _c = _b.next(); !_c.done; _c = _b.next()) {
76
+ for (var _b = __values(this.caseState), _c = _b.next(); !_c.done; _c = _b.next()) {
131
77
  var sharedCase = _c.value;
132
78
  if (sharedCase.caseId === caseId) {
133
79
  if (!sharedCase.pendingUnshares) {
134
80
  sharedCase.pendingUnshares = [];
135
81
  }
136
- /** @type {?} */
137
82
  var newPendingUnshares = sharedCase.pendingUnshares.slice();
138
83
  if (newPendingUnshares) {
139
- if (!newPendingUnshares.some((/**
140
- * @param {?} u
141
- * @return {?}
142
- */
143
- function (u) { return u.email === user.email; }))) {
84
+ if (!newPendingUnshares.some(function (u) { return u.email === user.email; })) {
144
85
  newPendingUnshares.push(user);
145
86
  }
146
87
  }
147
88
  else {
148
89
  newPendingUnshares.push(user);
149
90
  }
150
- /** @type {?} */
151
- var newSharedCase = tslib_1.__assign({}, sharedCase, { pendingUnshares: newPendingUnshares });
91
+ var newSharedCase = __assign(__assign({}, sharedCase), { pendingUnshares: newPendingUnshares });
152
92
  newSharedCases.push(newSharedCase);
153
93
  }
154
94
  else {
@@ -166,28 +106,16 @@ var CaseSharingStateService = /** @class */ (function () {
166
106
  this.subject.next(newSharedCases);
167
107
  return;
168
108
  };
169
- /**
170
- * @param {?} caseId
171
- * @param {?} user
172
- * @return {?}
173
- */
174
- CaseSharingStateService.prototype.requestCancel = /**
175
- * @param {?} caseId
176
- * @param {?} user
177
- * @return {?}
178
- */
179
- function (caseId, user) {
109
+ CaseSharingStateService.prototype.requestCancel = function (caseId, user) {
180
110
  var e_3, _a;
181
- /** @type {?} */
182
111
  var newSharedCases = [];
183
112
  try {
184
- for (var _b = tslib_1.__values(this.caseState), _c = _b.next(); !_c.done; _c = _b.next()) {
113
+ for (var _b = __values(this.caseState), _c = _b.next(); !_c.done; _c = _b.next()) {
185
114
  var sharedCase = _c.value;
186
115
  if (sharedCase.caseId === caseId) {
187
116
  if (!sharedCase.pendingUnshares) {
188
117
  sharedCase.pendingUnshares = [];
189
118
  }
190
- /** @type {?} */
191
119
  var newPendingUnshares = sharedCase.pendingUnshares.slice();
192
120
  for (var iPendingUnshares = 0; iPendingUnshares < newPendingUnshares.length; iPendingUnshares++) {
193
121
  if (newPendingUnshares[iPendingUnshares].email === user.email) {
@@ -198,7 +126,6 @@ var CaseSharingStateService = /** @class */ (function () {
198
126
  if (!sharedCase.pendingShares) {
199
127
  sharedCase.pendingShares = [];
200
128
  }
201
- /** @type {?} */
202
129
  var newPendingShares = sharedCase.pendingShares.slice();
203
130
  for (var iPendingShares = 0; iPendingShares < newPendingShares.length; iPendingShares++) {
204
131
  if (newPendingShares[iPendingShares].email === user.email) {
@@ -206,8 +133,7 @@ var CaseSharingStateService = /** @class */ (function () {
206
133
  break;
207
134
  }
208
135
  }
209
- /** @type {?} */
210
- var newSharedCase = tslib_1.__assign({}, sharedCase, { pendingUnshares: newPendingUnshares, pendingShares: newPendingShares });
136
+ var newSharedCase = __assign(__assign({}, sharedCase), { pendingUnshares: newPendingUnshares, pendingShares: newPendingShares });
211
137
  newSharedCases.push(newSharedCase);
212
138
  }
213
139
  else {
@@ -225,15 +151,7 @@ var CaseSharingStateService = /** @class */ (function () {
225
151
  this.subject.next(newSharedCases);
226
152
  return;
227
153
  };
228
- /**
229
- * @param {?} caseId
230
- * @return {?}
231
- */
232
- CaseSharingStateService.prototype.removeCase = /**
233
- * @param {?} caseId
234
- * @return {?}
235
- */
236
- function (caseId) {
154
+ CaseSharingStateService.prototype.removeCase = function (caseId) {
237
155
  for (var i = 0, l = this.caseState.length; i < l; i++) {
238
156
  if (this.caseState[i].caseId === caseId) {
239
157
  this.caseState.splice(i, 1);
@@ -242,17 +160,7 @@ var CaseSharingStateService = /** @class */ (function () {
242
160
  }
243
161
  }
244
162
  };
245
- /**
246
- * @param {?} c
247
- * @param {?} user
248
- * @return {?}
249
- */
250
- CaseSharingStateService.prototype.userHasAccess = /**
251
- * @param {?} c
252
- * @param {?} user
253
- * @return {?}
254
- */
255
- function (c, user) {
163
+ CaseSharingStateService.prototype.userHasAccess = function (c, user) {
256
164
  if (!c.sharedWith) {
257
165
  return false;
258
166
  }
@@ -263,27 +171,14 @@ var CaseSharingStateService = /** @class */ (function () {
263
171
  }
264
172
  return false;
265
173
  };
266
- CaseSharingStateService.decorators = [
267
- { type: Injectable, args: [{
268
- providedIn: 'root'
269
- },] }
270
- ];
271
- /** @nocollapse */
272
- CaseSharingStateService.ctorParameters = function () { return []; };
273
- /** @nocollapse */ CaseSharingStateService.ngInjectableDef = i0.defineInjectable({ factory: function CaseSharingStateService_Factory() { return new CaseSharingStateService(); }, token: CaseSharingStateService, providedIn: "root" });
174
+ CaseSharingStateService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CaseSharingStateService_Factory() { return new CaseSharingStateService(); }, token: CaseSharingStateService, providedIn: "root" });
175
+ CaseSharingStateService = __decorate([
176
+ Injectable({
177
+ providedIn: 'root'
178
+ }),
179
+ __metadata("design:paramtypes", [])
180
+ ], CaseSharingStateService);
274
181
  return CaseSharingStateService;
275
182
  }());
276
183
  export { CaseSharingStateService };
277
- if (false) {
278
- /**
279
- * @type {?}
280
- * @private
281
- */
282
- CaseSharingStateService.prototype.caseState;
283
- /**
284
- * @type {?}
285
- * @private
286
- */
287
- CaseSharingStateService.prototype.subject;
288
- }
289
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1zaGFyaW5nLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2Nhc2Utc2hhcmluZy1zdGF0ZS9jYXNlLXNoYXJpbmctc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBSXREO0lBY0U7UUFUUSxjQUFTLEdBQWlCLEVBQUUsQ0FBQztRQUNwQixZQUFPLEdBQUcsSUFBSSxlQUFlLENBQWUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBUTdELENBQUM7SUFOakIsc0JBQVcsMENBQUs7Ozs7UUFBaEI7WUFDRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUNyQyxvQkFBb0IsRUFBRSxDQUN2QixDQUFDO1FBQ0osQ0FBQzs7O09BQUE7Ozs7O0lBSU0sMENBQVE7Ozs7SUFBZixVQUFnQixLQUFtQjtRQUFuQyxpQkFPQztRQU5DLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLEtBQUssQ0FBQyxPQUFPOzs7O1FBQUMsVUFBQSxLQUFLO1lBQ2pCLEtBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO2dCQUN0SCxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWEsRUFB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QUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ2xDLE9BQU87YUFDUjtTQUNGO0lBQ0gsQ0FBQzs7Ozs7O0lBRU0sK0NBQWE7Ozs7O0lBQXBCLFVBQXFCLENBQWEsRUFBRSxJQUFpQjtRQUNuRCxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRTtZQUNqQixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDbkQsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUN4QyxPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7O2dCQXRKRixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7OztrQ0FSRDtDQTZKQyxBQXZKRCxJQXVKQztTQXBKWSx1QkFBdUI7Ozs7OztJQUVsQyw0Q0FBcUM7Ozs7O0lBQ3JDLDBDQUE2RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTaGFyZWRDYXNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Nhc2Utc2hhcmUubW9kZWwnO1xuaW1wb3J0IHsgVXNlckRldGFpbHMgfSBmcm9tICcuLi8uLi9tb2RlbHMvdXNlci1kZXRhaWxzLm1vZGVsJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ2FzZVNoYXJpbmdTdGF0ZVNlcnZpY2Uge1xuXG4gIHByaXZhdGUgY2FzZVN0YXRlOiBTaGFyZWRDYXNlW10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBzdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTaGFyZWRDYXNlW10+KHRoaXMuY2FzZVN0YXRlKTtcblxuICBwdWJsaWMgZ2V0IHN0YXRlKCkge1xuICAgIHJldHVybiB0aGlzLnN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICApO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBwdWJsaWMgc2V0Q2FzZXMoY2FzZXM6IFNoYXJlZENhc2VbXSk6IHZvaWQge1xuICAgIHRoaXMuY2FzZVN0YXRlID0gW107XG4gICAgY2FzZXMuZm9yRWFjaChhQ2FzZSA9PiB7XG4gICAgICB0aGlzLmNhc2VTdGF0ZS5wdXNoKHsgY2FzZUlkOiBhQ2FzZS5jYXNlSWQsIGNhc2VUaXRsZTogYUNhc2UuY2FzZVRpdGxlLCBjYXNlVHlwZUlkOiBhQ2FzZS5jYXNlVHlwZUlkLCByb2xlczogYUNhc2Uucm9sZXMsXG4gICAgICAgIHNoYXJlZFdpdGg6IGFDYXNlLnNoYXJlZFdpdGgsIHBlbmRpbmdTaGFyZXM6IGFDYXNlLnBlbmRpbmdTaGFyZXMsIHBlbmRpbmdVbnNoYXJlczogYUNhc2UucGVuZGluZ1Vuc2hhcmVzIH0pO1xuICAgIH0pO1xuICAgIHRoaXMuc3ViamVjdC5uZXh0KHRoaXMuY2FzZVN0YXRlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXNlcygpOiBTaGFyZWRDYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmNhc2VTdGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyByZXF1ZXN0U2hhcmUodXNlcjogVXNlckRldGFpbHMpOiBTaGFyZWRDYXNlW10ge1xuICAgIGNvbnN0IG9sZFNoYXJlZENhc2VzOiBTaGFyZWRDYXNlW10gPSB0aGlzLmNhc2VTdGF0ZS5zbGljZSgpO1xuICAgIGNvbnN0IG5ld1NoYXJlZENhc2VzOiBTaGFyZWRDYXNlW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHNoYXJlZENhc2Ugb2Ygb2xkU2hhcmVkQ2FzZXMpIHtcbiAgICAgIGlmICghc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzKSB7XG4gICAgICAgIHNoYXJlZENhc2UucGVuZGluZ1NoYXJlcyA9IFtdO1xuICAgICAgfVxuICAgICAgY29uc3QgbmV3UGVuZGluZ1NoYXJlcyA9IHNoYXJlZENhc2UucGVuZGluZ1NoYXJlcy5zbGljZSgpO1xuICAgICAgaWYgKCFzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcykge1xuICAgICAgICBzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcyA9IFtdO1xuICAgICAgfVxuICAgICAgY29uc3QgbmV3UGVuZGluZ1Vuc2hhcmVzID0gc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMuc2xpY2UoKTtcbiAgICAgIGlmICghdGhpcy51c2VySGFzQWNjZXNzKHNoYXJlZENhc2UsIHVzZXIpKSB7XG4gICAgICAgIGlmICghbmV3UGVuZGluZ1NoYXJlcy5zb21lKHUgPT4gdS5lbWFpbCA9PT0gdXNlci5lbWFpbCkpIHtcbiAgICAgICAgICBuZXdQZW5kaW5nU2hhcmVzLnB1c2godXNlcik7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZvciAobGV0IHUgPSAwLCB1bCA9IG5ld1BlbmRpbmdVbnNoYXJlcy5sZW5ndGg7IHUgPCB1bDsgdSsrKSB7XG4gICAgICAgICAgaWYgKG5ld1BlbmRpbmdVbnNoYXJlc1t1XS5lbWFpbCA9PT0gdXNlci5lbWFpbCkge1xuICAgICAgICAgICAgbmV3UGVuZGluZ1Vuc2hhcmVzLnNwbGljZSh1LCAxKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3QgbmV3U2hhcmVkQ2FzZSA9IHtcbiAgICAgICAgLi4uc2hhcmVkQ2FzZSxcbiAgICAgICAgcGVuZGluZ1Vuc2hhcmVzOiBuZXdQZW5kaW5nVW5zaGFyZXMsXG4gICAgICAgIHBlbmRpbmdTaGFyZXM6IG5ld1BlbmRpbmdTaGFyZXNcbiAgICAgIH07XG4gICAgICBuZXdTaGFyZWRDYXNlcy5wdXNoKG5ld1NoYXJlZENhc2UpO1xuICAgIH1cbiAgICB0aGlzLnN1YmplY3QubmV4dChuZXdTaGFyZWRDYXNlcyk7XG4gICAgcmV0dXJuIG5ld1NoYXJlZENhc2VzO1xuICB9XG5cbiAgcHVibGljIHJlcXVlc3RVbnNoYXJlKGNhc2VJZDogc3RyaW5nLCB1c2VyOiBVc2VyRGV0YWlscyk6IHZvaWQge1xuICAgIGNvbnN0IG5ld1NoYXJlZENhc2VzOiBTaGFyZWRDYXNlW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHNoYXJlZENhc2Ugb2YgdGhpcy5jYXNlU3RhdGUpIHtcbiAgICAgIGlmIChzaGFyZWRDYXNlLmNhc2VJZCA9PT0gY2FzZUlkKSB7XG4gICAgICAgIGlmICghc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMpIHtcbiAgICAgICAgICBzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcyA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5ld1BlbmRpbmdVbnNoYXJlcyA9IHNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzLnNsaWNlKCk7XG4gICAgICAgIGlmIChuZXdQZW5kaW5nVW5zaGFyZXMpIHtcbiAgICAgICAgICBpZiAoIW5ld1BlbmRpbmdVbnNoYXJlcy5zb21lKHUgPT4gdS5lbWFpbCA9PT0gdXNlci5lbWFpbCkpIHtcbiAgICAgICAgICAgIG5ld1BlbmRpbmdVbnNoYXJlcy5wdXNoKHVzZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBuZXdQZW5kaW5nVW5zaGFyZXMucHVzaCh1c2VyKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdTaGFyZWRDYXNlID0ge1xuICAgICAgICAgIC4uLnNoYXJlZENhc2UsXG4gICAgICAgICAgcGVuZGluZ1Vuc2hhcmVzOiBuZXdQZW5kaW5nVW5zaGFyZXNcbiAgICAgICAgfTtcbiAgICAgICAgbmV3U2hhcmVkQ2FzZXMucHVzaChuZXdTaGFyZWRDYXNlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld1NoYXJlZENhc2VzLnB1c2goc2hhcmVkQ2FzZSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc3ViamVjdC5uZXh0KG5ld1NoYXJlZENhc2VzKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBwdWJsaWMgcmVxdWVzdENhbmNlbChjYXNlSWQ6IHN0cmluZywgdXNlcjogVXNlckRldGFpbHMpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdTaGFyZWRDYXNlczogU2hhcmVkQ2FzZVtdID0gW107XG4gICAgZm9yIChjb25zdCBzaGFyZWRDYXNlIG9mIHRoaXMuY2FzZVN0YXRlKSB7XG4gICAgICBpZiAoc2hhcmVkQ2FzZS5jYXNlSWQgPT09IGNhc2VJZCkge1xuICAgICAgICBpZiAoIXNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzKSB7XG4gICAgICAgICAgc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdQZW5kaW5nVW5zaGFyZXMgPSBzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcy5zbGljZSgpO1xuICAgICAgICBmb3IgKGxldCBpUGVuZGluZ1Vuc2hhcmVzID0gMDsgaVBlbmRpbmdVbnNoYXJlcyA8IG5ld1BlbmRpbmdVbnNoYXJlcy5sZW5ndGg7IGlQZW5kaW5nVW5zaGFyZXMrKykge1xuICAgICAgICAgIGlmIChuZXdQZW5kaW5nVW5zaGFyZXNbaVBlbmRpbmdVbnNoYXJlc10uZW1haWwgPT09IHVzZXIuZW1haWwpIHtcbiAgICAgICAgICAgIG5ld1BlbmRpbmdVbnNoYXJlcy5zcGxpY2UoaVBlbmRpbmdVbnNoYXJlcywgMSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFzaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMpIHtcbiAgICAgICAgICBzaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdQZW5kaW5nU2hhcmVzID0gc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzLnNsaWNlKCk7XG4gICAgICAgIGZvciAobGV0IGlQZW5kaW5nU2hhcmVzID0gMDsgaVBlbmRpbmdTaGFyZXMgPCBuZXdQZW5kaW5nU2hhcmVzLmxlbmd0aDsgaVBlbmRpbmdTaGFyZXMrKykge1xuICAgICAgICAgIGlmIChuZXdQZW5kaW5nU2hhcmVzW2lQZW5kaW5nU2hhcmVzXS5lbWFpbCA9PT0gdXNlci5lbWFpbCkge1xuICAgICAgICAgICAgbmV3UGVuZGluZ1NoYXJlcy5zcGxpY2UoaVBlbmRpbmdTaGFyZXMsIDEpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5ld1NoYXJlZENhc2UgPSB7XG4gICAgICAgICAgLi4uc2hhcmVkQ2FzZSxcbiAgICAgICAgICBwZW5kaW5nVW5zaGFyZXM6IG5ld1BlbmRpbmdVbnNoYXJlcyxcbiAgICAgICAgICBwZW5kaW5nU2hhcmVzOiBuZXdQZW5kaW5nU2hhcmVzXG4gICAgICAgIH07XG4gICAgICAgIG5ld1NoYXJlZENhc2VzLnB1c2gobmV3U2hhcmVkQ2FzZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdTaGFyZWRDYXNlcy5wdXNoKHNoYXJlZENhc2UpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnN1YmplY3QubmV4dChuZXdTaGFyZWRDYXNlcyk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUNhc2UoY2FzZUlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHRoaXMuY2FzZVN0YXRlLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgaWYgKHRoaXMuY2FzZVN0YXRlW2ldLmNhc2VJZCA9PT0gY2FzZUlkKSB7XG4gICAgICAgIHRoaXMuY2FzZVN0YXRlLnNwbGljZShpLCAxKTtcbiAgICAgICAgdGhpcy5zdWJqZWN0Lm5leHQodGhpcy5jYXNlU3RhdGUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHVzZXJIYXNBY2Nlc3MoYzogU2hhcmVkQ2FzZSwgdXNlcjogVXNlckRldGFpbHMpOiBib29sZWFuIHtcbiAgICBpZiAoIWMuc2hhcmVkV2l0aCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IGMuc2hhcmVkV2l0aC5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIGlmIChjLnNoYXJlZFdpdGhbaV0uZW1haWwgPT09IHVzZXIuZW1haWwpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1zaGFyaW5nLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2Nhc2Utc2hhcmluZy1zdGF0ZS9jYXNlLXNoYXJpbmctc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQU90RDtJQVdFO1FBVFEsY0FBUyxHQUFpQixFQUFFLENBQUM7UUFDcEIsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFlLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQVE3RCxDQUFDO0lBTmpCLHNCQUFXLDBDQUFLO2FBQWhCO1lBQ0UsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FDckMsb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQztRQUNKLENBQUM7OztPQUFBO0lBSU0sMENBQVEsR0FBZixVQUFnQixLQUFtQjtRQUFuQyxpQkFPQztRQU5DLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBQSxLQUFLO1lBQ2pCLEtBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO2dCQUN0SCxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWEsRUFBRSxlQUFlLEVBQUUsS0FBSyxD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QUFLLE1BQU0sRUFBRTtnQkFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ2xDLE9BQU87YUFDUjtTQUNGO0lBQ0gsQ0FBQztJQUVNLCtDQUFhLEdBQXBCLFVBQXFCLENBQWEsRUFBRSxJQUFpQjtRQUNuRCxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRTtZQUNqQixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDbkQsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUN4QyxPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7O0lBbkpVLHVCQUF1QjtRQUhuQyxVQUFVLENBQUM7WUFDVixVQUFVLEVBQUUsTUFBTTtTQUNuQixDQUFDOztPQUNXLHVCQUF1QixDQW9KbkM7a0NBN0pEO0NBNkpDLEFBcEpELElBb0pDO1NBcEpZLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTaGFyZWRDYXNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Nhc2Utc2hhcmUubW9kZWwnO1xuaW1wb3J0IHsgVXNlckRldGFpbHMgfSBmcm9tICcuLi8uLi9tb2RlbHMvdXNlci1kZXRhaWxzLm1vZGVsJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ2FzZVNoYXJpbmdTdGF0ZVNlcnZpY2Uge1xuXG4gIHByaXZhdGUgY2FzZVN0YXRlOiBTaGFyZWRDYXNlW10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBzdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTaGFyZWRDYXNlW10+KHRoaXMuY2FzZVN0YXRlKTtcblxuICBwdWJsaWMgZ2V0IHN0YXRlKCkge1xuICAgIHJldHVybiB0aGlzLnN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICApO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBwdWJsaWMgc2V0Q2FzZXMoY2FzZXM6IFNoYXJlZENhc2VbXSk6IHZvaWQge1xuICAgIHRoaXMuY2FzZVN0YXRlID0gW107XG4gICAgY2FzZXMuZm9yRWFjaChhQ2FzZSA9PiB7XG4gICAgICB0aGlzLmNhc2VTdGF0ZS5wdXNoKHsgY2FzZUlkOiBhQ2FzZS5jYXNlSWQsIGNhc2VUaXRsZTogYUNhc2UuY2FzZVRpdGxlLCBjYXNlVHlwZUlkOiBhQ2FzZS5jYXNlVHlwZUlkLCByb2xlczogYUNhc2Uucm9sZXMsXG4gICAgICAgIHNoYXJlZFdpdGg6IGFDYXNlLnNoYXJlZFdpdGgsIHBlbmRpbmdTaGFyZXM6IGFDYXNlLnBlbmRpbmdTaGFyZXMsIHBlbmRpbmdVbnNoYXJlczogYUNhc2UucGVuZGluZ1Vuc2hhcmVzIH0pO1xuICAgIH0pO1xuICAgIHRoaXMuc3ViamVjdC5uZXh0KHRoaXMuY2FzZVN0YXRlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXNlcygpOiBTaGFyZWRDYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmNhc2VTdGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyByZXF1ZXN0U2hhcmUodXNlcjogVXNlckRldGFpbHMpOiBTaGFyZWRDYXNlW10ge1xuICAgIGNvbnN0IG9sZFNoYXJlZENhc2VzOiBTaGFyZWRDYXNlW10gPSB0aGlzLmNhc2VTdGF0ZS5zbGljZSgpO1xuICAgIGNvbnN0IG5ld1NoYXJlZENhc2VzOiBTaGFyZWRDYXNlW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHNoYXJlZENhc2Ugb2Ygb2xkU2hhcmVkQ2FzZXMpIHtcbiAgICAgIGlmICghc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzKSB7XG4gICAgICAgIHNoYXJlZENhc2UucGVuZGluZ1NoYXJlcyA9IFtdO1xuICAgICAgfVxuICAgICAgY29uc3QgbmV3UGVuZGluZ1NoYXJlcyA9IHNoYXJlZENhc2UucGVuZGluZ1NoYXJlcy5zbGljZSgpO1xuICAgICAgaWYgKCFzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcykge1xuICAgICAgICBzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcyA9IFtdO1xuICAgICAgfVxuICAgICAgY29uc3QgbmV3UGVuZGluZ1Vuc2hhcmVzID0gc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMuc2xpY2UoKTtcbiAgICAgIGlmICghdGhpcy51c2VySGFzQWNjZXNzKHNoYXJlZENhc2UsIHVzZXIpKSB7XG4gICAgICAgIGlmICghbmV3UGVuZGluZ1NoYXJlcy5zb21lKHUgPT4gdS5lbWFpbCA9PT0gdXNlci5lbWFpbCkpIHtcbiAgICAgICAgICBuZXdQZW5kaW5nU2hhcmVzLnB1c2godXNlcik7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZvciAobGV0IHUgPSAwLCB1bCA9IG5ld1BlbmRpbmdVbnNoYXJlcy5sZW5ndGg7IHUgPCB1bDsgdSsrKSB7XG4gICAgICAgICAgaWYgKG5ld1BlbmRpbmdVbnNoYXJlc1t1XS5lbWFpbCA9PT0gdXNlci5lbWFpbCkge1xuICAgICAgICAgICAgbmV3UGVuZGluZ1Vuc2hhcmVzLnNwbGljZSh1LCAxKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3QgbmV3U2hhcmVkQ2FzZSA9IHtcbiAgICAgICAgLi4uc2hhcmVkQ2FzZSxcbiAgICAgICAgcGVuZGluZ1Vuc2hhcmVzOiBuZXdQZW5kaW5nVW5zaGFyZXMsXG4gICAgICAgIHBlbmRpbmdTaGFyZXM6IG5ld1BlbmRpbmdTaGFyZXNcbiAgICAgIH07XG4gICAgICBuZXdTaGFyZWRDYXNlcy5wdXNoKG5ld1NoYXJlZENhc2UpO1xuICAgIH1cbiAgICB0aGlzLnN1YmplY3QubmV4dChuZXdTaGFyZWRDYXNlcyk7XG4gICAgcmV0dXJuIG5ld1NoYXJlZENhc2VzO1xuICB9XG5cbiAgcHVibGljIHJlcXVlc3RVbnNoYXJlKGNhc2VJZDogc3RyaW5nLCB1c2VyOiBVc2VyRGV0YWlscyk6IHZvaWQge1xuICAgIGNvbnN0IG5ld1NoYXJlZENhc2VzOiBTaGFyZWRDYXNlW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHNoYXJlZENhc2Ugb2YgdGhpcy5jYXNlU3RhdGUpIHtcbiAgICAgIGlmIChzaGFyZWRDYXNlLmNhc2VJZCA9PT0gY2FzZUlkKSB7XG4gICAgICAgIGlmICghc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMpIHtcbiAgICAgICAgICBzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcyA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5ld1BlbmRpbmdVbnNoYXJlcyA9IHNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzLnNsaWNlKCk7XG4gICAgICAgIGlmIChuZXdQZW5kaW5nVW5zaGFyZXMpIHtcbiAgICAgICAgICBpZiAoIW5ld1BlbmRpbmdVbnNoYXJlcy5zb21lKHUgPT4gdS5lbWFpbCA9PT0gdXNlci5lbWFpbCkpIHtcbiAgICAgICAgICAgIG5ld1BlbmRpbmdVbnNoYXJlcy5wdXNoKHVzZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBuZXdQZW5kaW5nVW5zaGFyZXMucHVzaCh1c2VyKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdTaGFyZWRDYXNlID0ge1xuICAgICAgICAgIC4uLnNoYXJlZENhc2UsXG4gICAgICAgICAgcGVuZGluZ1Vuc2hhcmVzOiBuZXdQZW5kaW5nVW5zaGFyZXNcbiAgICAgICAgfTtcbiAgICAgICAgbmV3U2hhcmVkQ2FzZXMucHVzaChuZXdTaGFyZWRDYXNlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld1NoYXJlZENhc2VzLnB1c2goc2hhcmVkQ2FzZSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc3ViamVjdC5uZXh0KG5ld1NoYXJlZENhc2VzKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBwdWJsaWMgcmVxdWVzdENhbmNlbChjYXNlSWQ6IHN0cmluZywgdXNlcjogVXNlckRldGFpbHMpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdTaGFyZWRDYXNlczogU2hhcmVkQ2FzZVtdID0gW107XG4gICAgZm9yIChjb25zdCBzaGFyZWRDYXNlIG9mIHRoaXMuY2FzZVN0YXRlKSB7XG4gICAgICBpZiAoc2hhcmVkQ2FzZS5jYXNlSWQgPT09IGNhc2VJZCkge1xuICAgICAgICBpZiAoIXNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzKSB7XG4gICAgICAgICAgc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdQZW5kaW5nVW5zaGFyZXMgPSBzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcy5zbGljZSgpO1xuICAgICAgICBmb3IgKGxldCBpUGVuZGluZ1Vuc2hhcmVzID0gMDsgaVBlbmRpbmdVbnNoYXJlcyA8IG5ld1BlbmRpbmdVbnNoYXJlcy5sZW5ndGg7IGlQZW5kaW5nVW5zaGFyZXMrKykge1xuICAgICAgICAgIGlmIChuZXdQZW5kaW5nVW5zaGFyZXNbaVBlbmRpbmdVbnNoYXJlc10uZW1haWwgPT09IHVzZXIuZW1haWwpIHtcbiAgICAgICAgICAgIG5ld1BlbmRpbmdVbnNoYXJlcy5zcGxpY2UoaVBlbmRpbmdVbnNoYXJlcywgMSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFzaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMpIHtcbiAgICAgICAgICBzaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdQZW5kaW5nU2hhcmVzID0gc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzLnNsaWNlKCk7XG4gICAgICAgIGZvciAobGV0IGlQZW5kaW5nU2hhcmVzID0gMDsgaVBlbmRpbmdTaGFyZXMgPCBuZXdQZW5kaW5nU2hhcmVzLmxlbmd0aDsgaVBlbmRpbmdTaGFyZXMrKykge1xuICAgICAgICAgIGlmIChuZXdQZW5kaW5nU2hhcmVzW2lQZW5kaW5nU2hhcmVzXS5lbWFpbCA9PT0gdXNlci5lbWFpbCkge1xuICAgICAgICAgICAgbmV3UGVuZGluZ1NoYXJlcy5zcGxpY2UoaVBlbmRpbmdTaGFyZXMsIDEpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5ld1NoYXJlZENhc2UgPSB7XG4gICAgICAgICAgLi4uc2hhcmVkQ2FzZSxcbiAgICAgICAgICBwZW5kaW5nVW5zaGFyZXM6IG5ld1BlbmRpbmdVbnNoYXJlcyxcbiAgICAgICAgICBwZW5kaW5nU2hhcmVzOiBuZXdQZW5kaW5nU2hhcmVzXG4gICAgICAgIH07XG4gICAgICAgIG5ld1NoYXJlZENhc2VzLnB1c2gobmV3U2hhcmVkQ2FzZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdTaGFyZWRDYXNlcy5wdXNoKHNoYXJlZENhc2UpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnN1YmplY3QubmV4dChuZXdTaGFyZWRDYXNlcyk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUNhc2UoY2FzZUlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHRoaXMuY2FzZVN0YXRlLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgaWYgKHRoaXMuY2FzZVN0YXRlW2ldLmNhc2VJZCA9PT0gY2FzZUlkKSB7XG4gICAgICAgIHRoaXMuY2FzZVN0YXRlLnNwbGljZShpLCAxKTtcbiAgICAgICAgdGhpcy5zdWJqZWN0Lm5leHQodGhpcy5jYXNlU3RhdGUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHVzZXJIYXNBY2Nlc3MoYzogU2hhcmVkQ2FzZSwgdXNlcjogVXNlckRldGFpbHMpOiBib29sZWFuIHtcbiAgICBpZiAoIWMuc2hhcmVkV2l0aCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IGMuc2hhcmVkV2l0aC5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIGlmIChjLnNoYXJlZFdpdGhbaV0uZW1haWwgPT09IHVzZXIuZW1haWwpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
@@ -1,136 +1,53 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/services/cookie/cookie.service.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
1
+ import { __decorate, __metadata, __param } from "tslib";
6
2
  import { DOCUMENT } from '@angular/common';
7
3
  import { Inject, Injectable } from '@angular/core';
8
4
  import * as i0 from "@angular/core";
9
5
  import * as i1 from "@angular/common";
10
6
  var CookieService = /** @class */ (function () {
11
7
  function CookieService(doc) {
12
- this.document = (/** @type {?} */ (doc));
8
+ this.document = doc;
13
9
  }
14
- /**
15
- * @param {?} key
16
- * @param {?} value
17
- * @param {?=} expiryDate
18
- * @return {?}
19
- */
20
- CookieService.prototype.setCookie = /**
21
- * @param {?} key
22
- * @param {?} value
23
- * @param {?=} expiryDate
24
- * @return {?}
25
- */
26
- function (key, value, expiryDate) {
27
- /** @type {?} */
10
+ CookieService.prototype.setCookie = function (key, value, expiryDate) {
28
11
  var expiry = expiryDate ? " expires=" + expiryDate : '';
29
- /** @type {?} */
30
12
  var cookie = key + "=" + value + ";" + expiry;
31
13
  this.document.cookie = cookie;
32
14
  };
33
- /**
34
- * @param {?} key
35
- * @return {?}
36
- */
37
- CookieService.prototype.getCookie = /**
38
- * @param {?} key
39
- * @return {?}
40
- */
41
- function (key) {
42
- /** @type {?} */
15
+ CookieService.prototype.getCookie = function (key) {
43
16
  var cookieValue = this.document.cookie
44
17
  .split('; ')
45
- .find((/**
46
- * @param {?} row
47
- * @return {?}
48
- */
49
- function (row) { return row.startsWith(key + "="); }))
18
+ .find(function (row) { return row.startsWith(key + "="); })
50
19
  .split('=')[1];
51
20
  return cookieValue;
52
21
  };
53
- /**
54
- * @param {?} key
55
- * @param {?=} path
56
- * @param {?=} domain
57
- * @return {?}
58
- */
59
- CookieService.prototype.deleteCookie = /**
60
- * @param {?} key
61
- * @param {?=} path
62
- * @param {?=} domain
63
- * @return {?}
64
- */
65
- function (key, path, domain) {
66
- /** @type {?} */
22
+ CookieService.prototype.deleteCookie = function (key, path, domain) {
67
23
  var pathValue = path ? "; path=" + path : '';
68
- /** @type {?} */
69
24
  var domainValue = domain ? "; domain=" + domain : '';
70
25
  this.document.cookie = key + "=" + pathValue + domainValue + "; expires=Thu, 01 Jan 1970 00:00:01 GMT; max-age=0";
71
26
  };
72
- /**
73
- * @param {?} key
74
- * @param {?=} path
75
- * @param {?=} domain
76
- * @return {?}
77
- */
78
- CookieService.prototype.deleteCookieByPartialMatch = /**
79
- * @param {?} key
80
- * @param {?=} path
81
- * @param {?=} domain
82
- * @return {?}
83
- */
84
- function (key, path, domain) {
27
+ CookieService.prototype.deleteCookieByPartialMatch = function (key, path, domain) {
85
28
  var _this = this;
86
29
  this.document.cookie
87
30
  .split('; ')
88
- .filter((/**
89
- * @param {?} row
90
- * @return {?}
91
- */
92
- function (row) { return row.startsWith("" + key); }))
93
- .forEach((/**
94
- * @param {?} element
95
- * @return {?}
96
- */
97
- function (element) {
31
+ .filter(function (row) { return row.startsWith("" + key); })
32
+ .forEach(function (element) {
98
33
  _this.deleteCookie(element.split('=')[0], path, domain);
99
- }));
34
+ });
100
35
  };
101
- /**
102
- * @param {?} key
103
- * @return {?}
104
- */
105
- CookieService.prototype.checkCookie = /**
106
- * @param {?} key
107
- * @return {?}
108
- */
109
- function (key) {
110
- return this.document.cookie.split('; ').some((/**
111
- * @param {?} item
112
- * @return {?}
113
- */
114
- function (item) { return item.trim().startsWith(key + "="); }));
36
+ CookieService.prototype.checkCookie = function (key) {
37
+ return this.document.cookie.split('; ').some(function (item) { return item.trim().startsWith(key + "="); });
115
38
  };
116
- CookieService.decorators = [
117
- { type: Injectable, args: [{
118
- providedIn: 'root'
119
- },] }
120
- ];
121
- /** @nocollapse */
122
39
  CookieService.ctorParameters = function () { return [
123
40
  { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
124
41
  ]; };
125
- /** @nocollapse */ CookieService.ngInjectableDef = i0.defineInjectable({ factory: function CookieService_Factory() { return new CookieService(i0.inject(i1.DOCUMENT)); }, token: CookieService, providedIn: "root" });
42
+ CookieService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CookieService_Factory() { return new CookieService(i0.ɵɵinject(i1.DOCUMENT)); }, token: CookieService, providedIn: "root" });
43
+ CookieService = __decorate([
44
+ Injectable({
45
+ providedIn: 'root'
46
+ }),
47
+ __param(0, Inject(DOCUMENT)),
48
+ __metadata("design:paramtypes", [Object])
49
+ ], CookieService);
126
50
  return CookieService;
127
51
  }());
128
52
  export { CookieService };
129
- if (false) {
130
- /**
131
- * @type {?}
132
- * @private
133
- */
134
- CookieService.prototype.document;
135
- }
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2Nvb2tpZS9jb29raWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRW5EO0lBTUUsdUJBQThCLEdBQVM7UUFDckMsSUFBSSxDQUFDLFFBQVEsR0FBRyxtQkFBQSxHQUFHLEVBQVksQ0FBQztJQUNsQyxDQUFDOzs7Ozs7O0lBRU0saUNBQVM7Ozs7OztJQUFoQixVQUFpQixHQUFXLEVBQUUsS0FBYSxFQUFFLFVBQW1COztZQUN4RCxNQUFNLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxjQUFZLFVBQVksQ0FBQyxDQUFDLENBQUMsRUFBRTs7WUFDbkQsTUFBTSxHQUFNLEdBQUcsU0FBSSxLQUFLLFNBQUksTUFBUTtRQUMxQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDaEMsQ0FBQzs7Ozs7SUFFTSxpQ0FBUzs7OztJQUFoQixVQUFpQixHQUFXOztZQUNwQixXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNO2FBQ3JDLEtBQUssQ0FBQyxJQUFJLENBQUM7YUFDWCxJQUFJOzs7O1FBQUMsVUFBQSxHQUFHLElBQUksT0FBQSxHQUFHLENBQUMsVUFBVSxDQUFJLEdBQUcsTUFBRyxDQUFDLEVBQXpCLENBQXlCLEVBQUM7YUFDdEMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoQixPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDOzs7Ozs7O0lBRU0sb0NBQVk7Ozs7OztJQUFuQixVQUFvQixHQUFXLEVBQUUsSUFBYSxFQUFFLE1BQWU7O1lBQ3ZELFNBQVMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVUsSUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFOztZQUN4QyxXQUFXLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxjQUFZLE1BQVEsQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUN0RCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBTSxHQUFHLFNBQUksU0FBUyxHQUFHLFdBQVcsdURBQW9ELENBQUM7SUFDL0csQ0FBQzs7Ozs7OztJQUVNLGtEQUEwQjs7Ozs7O0lBQWpDLFVBQWtDLEdBQVcsRUFBRSxJQUFhLEVBQUUsTUFBZTtRQUE3RSxpQkFPQztRQU5DLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTTthQUNqQixLQUFLLENBQUMsSUFBSSxDQUFDO2FBQ1gsTUFBTTs7OztRQUFDLFVBQUEsR0FBRyxJQUFJLE9BQUEsR0FBRyxDQUFDLFVBQVUsQ0FBQyxLQUFHLEdBQUssQ0FBQyxFQUF4QixDQUF3QixFQUFDO2FBQ3ZDLE9BQU87Ozs7UUFBQyxVQUFBLE9BQU87WUFDZCxLQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3pELENBQUMsRUFBQyxDQUFDO0lBQ1AsQ0FBQzs7Ozs7SUFFTSxtQ0FBVzs7OztJQUFsQixVQUFtQixHQUFXO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUk7Ozs7UUFBQyxVQUFBLElBQUksSUFBSSxPQUFBLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUksR0FBRyxNQUFHLENBQUMsRUFBakMsQ0FBaUMsRUFBQyxDQUFDO0lBQzFGLENBQUM7O2dCQXpDRixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7O2dEQUljLE1BQU0sU0FBQyxRQUFROzs7d0JBVDlCO0NBNkNDLEFBMUNELElBMENDO1NBdkNZLGFBQWE7Ozs7OztJQUN4QixpQ0FBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ29va2llU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQ/OiBEb2N1bWVudDtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBkb2M/OiBhbnkpIHtcbiAgICB0aGlzLmRvY3VtZW50ID0gZG9jIGFzIERvY3VtZW50O1xuICB9XG5cbiAgcHVibGljIHNldENvb2tpZShrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZywgZXhwaXJ5RGF0ZT86IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGV4cGlyeSA9IGV4cGlyeURhdGUgPyBgIGV4cGlyZXM9JHtleHBpcnlEYXRlfWAgOiAnJztcbiAgICBjb25zdCBjb29raWUgPSBgJHtrZXl9PSR7dmFsdWV9OyR7ZXhwaXJ5fWA7XG4gICAgdGhpcy5kb2N1bWVudC5jb29raWUgPSBjb29raWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29va2llKGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb29raWVWYWx1ZSA9IHRoaXMuZG9jdW1lbnQuY29va2llXG4gICAgICAuc3BsaXQoJzsgJylcbiAgICAgIC5maW5kKHJvdyA9PiByb3cuc3RhcnRzV2l0aChgJHtrZXl9PWApKVxuICAgICAgLnNwbGl0KCc9JylbMV07XG4gICAgcmV0dXJuIGNvb2tpZVZhbHVlO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZUNvb2tpZShrZXk6IHN0cmluZywgcGF0aD86IHN0cmluZywgZG9tYWluPzogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgcGF0aFZhbHVlID0gcGF0aCA/IGA7IHBhdGg9JHtwYXRofWAgOiAnJztcbiAgICBjb25zdCBkb21haW5WYWx1ZSA9IGRvbWFpbiA/IGA7IGRvbWFpbj0ke2RvbWFpbn1gIDogJyc7XG4gICAgdGhpcy5kb2N1bWVudC5jb29raWUgPSBgJHtrZXl9PSR7cGF0aFZhbHVlfSR7ZG9tYWluVmFsdWV9OyBleHBpcmVzPVRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDEgR01UOyBtYXgtYWdlPTBgO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZUNvb2tpZUJ5UGFydGlhbE1hdGNoKGtleTogc3RyaW5nLCBwYXRoPzogc3RyaW5nLCBkb21haW4/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmRvY3VtZW50LmNvb2tpZVxuICAgICAgLnNwbGl0KCc7ICcpXG4gICAgICAuZmlsdGVyKHJvdyA9PiByb3cuc3RhcnRzV2l0aChgJHtrZXl9YCkpXG4gICAgICAuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgdGhpcy5kZWxldGVDb29raWUoZWxlbWVudC5zcGxpdCgnPScpWzBdLCBwYXRoLCBkb21haW4pO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2hlY2tDb29raWUoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kb2N1bWVudC5jb29raWUuc3BsaXQoJzsgJykuc29tZShpdGVtID0+IGl0ZW0udHJpbSgpLnN0YXJ0c1dpdGgoYCR7a2V5fT1gKSk7XG4gIH1cbn1cbiJdfQ==
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2Nvb2tpZS9jb29raWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFLbkQ7SUFHRSx1QkFBOEIsR0FBUztRQUNyQyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQWUsQ0FBQztJQUNsQyxDQUFDO0lBRU0saUNBQVMsR0FBaEIsVUFBaUIsR0FBVyxFQUFFLEtBQWEsRUFBRSxVQUFtQjtRQUM5RCxJQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLGNBQVksVUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDMUQsSUFBTSxNQUFNLEdBQU0sR0FBRyxTQUFJLEtBQUssU0FBSSxNQUFRLENBQUM7UUFDM0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ2hDLENBQUM7SUFFTSxpQ0FBUyxHQUFoQixVQUFpQixHQUFXO1FBQzFCLElBQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTTthQUNyQyxLQUFLLENBQUMsSUFBSSxDQUFDO2FBQ1gsSUFBSSxDQUFDLFVBQUEsR0FBRyxJQUFJLE9BQUEsR0FBRyxDQUFDLFVBQVUsQ0FBSSxHQUFHLE1BQUcsQ0FBQyxFQUF6QixDQUF5QixDQUFDO2FBQ3RDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqQixPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRU0sb0NBQVksR0FBbkIsVUFBb0IsR0FBVyxFQUFFLElBQWEsRUFBRSxNQUFlO1FBQzdELElBQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBVSxJQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMvQyxJQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLGNBQVksTUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDdkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQU0sR0FBRyxTQUFJLFNBQVMsR0FBRyxXQUFXLHVEQUFvRCxDQUFDO0lBQy9HLENBQUM7SUFFTSxrREFBMEIsR0FBakMsVUFBa0MsR0FBVyxFQUFFLElBQWEsRUFBRSxNQUFlO1FBQTdFLGlCQU9DO1FBTkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNO2FBQ2pCLEtBQUssQ0FBQyxJQUFJLENBQUM7YUFDWCxNQUFNLENBQUMsVUFBQSxHQUFHLElBQUksT0FBQSxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUcsR0FBSyxDQUFDLEVBQXhCLENBQXdCLENBQUM7YUFDdkMsT0FBTyxDQUFDLFVBQUEsT0FBTztZQUNkLEtBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sbUNBQVcsR0FBbEIsVUFBbUIsR0FBVztRQUM1QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBQSxJQUFJLElBQUksT0FBQSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFJLEdBQUcsTUFBRyxDQUFDLEVBQWpDLENBQWlDLENBQUMsQ0FBQztJQUMxRixDQUFDOztnREFuQ1ksTUFBTSxTQUFDLFFBQVE7OztJQUhqQixhQUFhO1FBSHpCLFVBQVUsQ0FBQztZQUNWLFVBQVUsRUFBRSxNQUFNO1NBQ25CLENBQUM7UUFJYSxXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTs7T0FIbEIsYUFBYSxDQXVDekI7d0JBN0NEO0NBNkNDLEFBdkNELElBdUNDO1NBdkNZLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ29va2llU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQ/OiBEb2N1bWVudDtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBkb2M/OiBhbnkpIHtcbiAgICB0aGlzLmRvY3VtZW50ID0gZG9jIGFzIERvY3VtZW50O1xuICB9XG5cbiAgcHVibGljIHNldENvb2tpZShrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZywgZXhwaXJ5RGF0ZT86IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGV4cGlyeSA9IGV4cGlyeURhdGUgPyBgIGV4cGlyZXM9JHtleHBpcnlEYXRlfWAgOiAnJztcbiAgICBjb25zdCBjb29raWUgPSBgJHtrZXl9PSR7dmFsdWV9OyR7ZXhwaXJ5fWA7XG4gICAgdGhpcy5kb2N1bWVudC5jb29raWUgPSBjb29raWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29va2llKGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb29raWVWYWx1ZSA9IHRoaXMuZG9jdW1lbnQuY29va2llXG4gICAgICAuc3BsaXQoJzsgJylcbiAgICAgIC5maW5kKHJvdyA9PiByb3cuc3RhcnRzV2l0aChgJHtrZXl9PWApKVxuICAgICAgLnNwbGl0KCc9JylbMV07XG4gICAgcmV0dXJuIGNvb2tpZVZhbHVlO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZUNvb2tpZShrZXk6IHN0cmluZywgcGF0aD86IHN0cmluZywgZG9tYWluPzogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgcGF0aFZhbHVlID0gcGF0aCA/IGA7IHBhdGg9JHtwYXRofWAgOiAnJztcbiAgICBjb25zdCBkb21haW5WYWx1ZSA9IGRvbWFpbiA/IGA7IGRvbWFpbj0ke2RvbWFpbn1gIDogJyc7XG4gICAgdGhpcy5kb2N1bWVudC5jb29raWUgPSBgJHtrZXl9PSR7cGF0aFZhbHVlfSR7ZG9tYWluVmFsdWV9OyBleHBpcmVzPVRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDEgR01UOyBtYXgtYWdlPTBgO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZUNvb2tpZUJ5UGFydGlhbE1hdGNoKGtleTogc3RyaW5nLCBwYXRoPzogc3RyaW5nLCBkb21haW4/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmRvY3VtZW50LmNvb2tpZVxuICAgICAgLnNwbGl0KCc7ICcpXG4gICAgICAuZmlsdGVyKHJvdyA9PiByb3cuc3RhcnRzV2l0aChgJHtrZXl9YCkpXG4gICAgICAuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgdGhpcy5kZWxldGVDb29raWUoZWxlbWVudC5zcGxpdCgnPScpWzBdLCBwYXRoLCBkb21haW4pO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2hlY2tDb29raWUoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kb2N1bWVudC5jb29raWUuc3BsaXQoJzsgJykuc29tZShpdGVtID0+IGl0ZW0udHJpbSgpLnN0YXJ0c1dpdGgoYCR7a2V5fT1gKSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,11 +1,6 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/services/feature-toggle/feature-toggle.guard.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import * as tslib_1 from "tslib";
1
+ import { __decorate, __metadata, __read, __spread } from "tslib";
7
2
  import { Injectable } from '@angular/core';
8
- import { Router } from '@angular/router';
3
+ import { ActivatedRouteSnapshot, CanActivate, Router, UrlTree } from '@angular/router';
9
4
  import { combineLatest } from 'rxjs';
10
5
  import { map } from 'rxjs/operators';
11
6
  import { FeatureToggleService } from './feature-toggle.service';
@@ -24,66 +19,23 @@ var FeatureToggleGuard = /** @class */ (function () {
24
19
  * - featureDisabledRedirect: the URL to redirect to when the this route is not accessible due to disabled features
25
20
  * @param route Automatically provided by Angular
26
21
  */
27
- /**
28
- * Usage: Add the FeatureToggleGuard as the Guard for a route, and provide the following
29
- * in the data array for the route:
30
- * - needsFeaturesEnabled: An array of feature keys that need to be enabled for this route
31
- * - featureDisabledRedirect: the URL to redirect to when the this route is not accessible due to disabled features
32
- * @param {?} route Automatically provided by Angular
33
- * @return {?}
34
- */
35
- FeatureToggleGuard.prototype.canActivate = /**
36
- * Usage: Add the FeatureToggleGuard as the Guard for a route, and provide the following
37
- * in the data array for the route:
38
- * - needsFeaturesEnabled: An array of feature keys that need to be enabled for this route
39
- * - featureDisabledRedirect: the URL to redirect to when the this route is not accessible due to disabled features
40
- * @param {?} route Automatically provided by Angular
41
- * @return {?}
42
- */
43
- function (route) {
22
+ FeatureToggleGuard.prototype.canActivate = function (route) {
44
23
  var _this = this;
45
- return combineLatest.apply(void 0, tslib_1.__spread(((/** @type {?} */ (route.data.needsFeaturesEnabled))).map((/**
46
- * @param {?} feature
47
- * @return {?}
48
- */
49
- function (feature) { return _this.featureToggleService.getValueOnce(feature, false); })))).pipe(map((/**
50
- * @param {?} featureStatuses
51
- * @return {?}
52
- */
53
- function (featureStatuses) { return featureStatuses.every((/**
54
- * @param {?} status
55
- * @return {?}
56
- */
57
- function (status) { return status; })); })), map((/**
58
- * @param {?} status
59
- * @return {?}
60
- */
61
- function (status) { return status || _this.router.parseUrl((/** @type {?} */ (route.data.featureDisabledRedirect))); })));
24
+ return combineLatest.apply(void 0, __spread(route.data.needsFeaturesEnabled.map(function (feature) { return _this.featureToggleService.getValueOnce(feature, false); }))).pipe(map(function (featureStatuses) { return featureStatuses.every(function (status) { return status; }); }), map(function (status) { return status || _this.router.parseUrl(route.data.featureDisabledRedirect); }));
62
25
  };
63
- FeatureToggleGuard.decorators = [
64
- { type: Injectable, args: [{
65
- providedIn: 'root'
66
- },] }
67
- ];
68
- /** @nocollapse */
69
26
  FeatureToggleGuard.ctorParameters = function () { return [
70
27
  { type: FeatureToggleService },
71
28
  { type: Router }
72
29
  ]; };
73
- /** @nocollapse */ FeatureToggleGuard.ngInjectableDef = i0.defineInjectable({ factory: function FeatureToggleGuard_Factory() { return new FeatureToggleGuard(i0.inject(i1.FeatureToggleService), i0.inject(i2.Router)); }, token: FeatureToggleGuard, providedIn: "root" });
30
+ FeatureToggleGuard.ɵprov = i0.ɵɵdefineInjectable({ factory: function FeatureToggleGuard_Factory() { return new FeatureToggleGuard(i0.ɵɵinject(i1.FeatureToggleService), i0.ɵɵinject(i2.Router)); }, token: FeatureToggleGuard, providedIn: "root" });
31
+ FeatureToggleGuard = __decorate([
32
+ Injectable({
33
+ providedIn: 'root'
34
+ }),
35
+ __metadata("design:paramtypes", [FeatureToggleService,
36
+ Router])
37
+ ], FeatureToggleGuard);
74
38
  return FeatureToggleGuard;
75
39
  }());
76
40
  export { FeatureToggleGuard };
77
- if (false) {
78
- /**
79
- * @type {?}
80
- * @private
81
- */
82
- FeatureToggleGuard.prototype.featureToggleService;
83
- /**
84
- * @type {?}
85
- * @private
86
- */
87
- FeatureToggleGuard.prototype.router;
88
- }
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS10b2dnbGUuZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2ZlYXR1cmUtdG9nZ2xlL2ZlYXR1cmUtdG9nZ2xlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUF1QyxNQUFNLEVBQVcsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RixPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQUVoRTtJQUtJLDRCQUNxQixvQkFBMEMsRUFDMUMsTUFBYztRQURkLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUNoQyxDQUFDO0lBRUo7Ozs7OztPQU1HOzs7Ozs7Ozs7SUFDSSx3Q0FBVzs7Ozs7Ozs7SUFBbEIsVUFBbUIsS0FBNkI7UUFBaEQsaUJBT0M7UUFORyxPQUFPLGFBQWEsZ0NBQUksQ0FBQyxtQkFBQSxLQUFLLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFZLENBQUMsQ0FBQyxHQUFHOzs7O1FBQ2pFLFVBQUEsT0FBTyxJQUFJLE9BQUEsS0FBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBVSxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQS9ELENBQStELEVBQ2pGLEdBQUUsSUFBSSxDQUNILEdBQUc7Ozs7UUFBQyxVQUFBLGVBQWUsSUFBSSxPQUFBLGVBQWUsQ0FBQyxLQUFLOzs7O1FBQUMsVUFBQSxNQUFNLElBQUksT0FBQSxNQUFNLEVBQU4sQ0FBTSxFQUFDLEVBQXZDLENBQXVDLEVBQUMsRUFDL0QsR0FBRzs7OztRQUFDLFVBQUEsTUFBTSxJQUFJLE9BQUEsTUFBTSxJQUFJLEtBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLG1CQUFBLEtBQUssQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQVUsQ0FBQyxFQUE1RSxDQUE0RSxFQUFDLENBQzlGLENBQUM7SUFDTixDQUFDOztnQkF4QkosVUFBVSxTQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7OztnQkFKUSxvQkFBb0I7Z0JBSGlCLE1BQU07Ozs2QkFEcEQ7Q0ErQkMsQUF6QkQsSUF5QkM7U0F0Qlksa0JBQWtCOzs7Ozs7SUFHdkIsa0RBQTJEOzs7OztJQUMzRCxvQ0FBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBDYW5BY3RpdmF0ZSwgUm91dGVyLCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZlYXR1cmVUb2dnbGVTZXJ2aWNlIH0gZnJvbSAnLi9mZWF0dXJlLXRvZ2dsZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlVG9nZ2xlR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZmVhdHVyZVRvZ2dsZVNlcnZpY2U6IEZlYXR1cmVUb2dnbGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyXG4gICAgKSB7fVxuXG4gICAgLyoqXG4gICAgICogVXNhZ2U6IEFkZCB0aGUgRmVhdHVyZVRvZ2dsZUd1YXJkIGFzIHRoZSBHdWFyZCBmb3IgYSByb3V0ZSwgYW5kIHByb3ZpZGUgdGhlIGZvbGxvd2luZ1xuICAgICAqIGluIHRoZSBkYXRhIGFycmF5IGZvciB0aGUgcm91dGU6XG4gICAgICogLSBuZWVkc0ZlYXR1cmVzRW5hYmxlZDogQW4gYXJyYXkgb2YgZmVhdHVyZSBrZXlzIHRoYXQgbmVlZCB0byBiZSBlbmFibGVkIGZvciB0aGlzIHJvdXRlXG4gICAgICogLSBmZWF0dXJlRGlzYWJsZWRSZWRpcmVjdDogdGhlIFVSTCB0byByZWRpcmVjdCB0byB3aGVuIHRoZSB0aGlzIHJvdXRlIGlzIG5vdCBhY2Nlc3NpYmxlIGR1ZSB0byBkaXNhYmxlZCBmZWF0dXJlc1xuICAgICAqIEBwYXJhbSByb3V0ZSBBdXRvbWF0aWNhbGx5IHByb3ZpZGVkIGJ5IEFuZ3VsYXJcbiAgICAgKi9cbiAgICBwdWJsaWMgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBVcmxUcmVlPiB7XG4gICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KC4uLihyb3V0ZS5kYXRhLm5lZWRzRmVhdHVyZXNFbmFibGVkIGFzIHN0cmluZ1tdKS5tYXAoXG4gICAgICAgICAgICAgICAgZmVhdHVyZSA9PiB0aGlzLmZlYXR1cmVUb2dnbGVTZXJ2aWNlLmdldFZhbHVlT25jZTxib29sZWFuPihmZWF0dXJlLCBmYWxzZSlcbiAgICAgICAgKSkucGlwZShcbiAgICAgICAgICAgIG1hcChmZWF0dXJlU3RhdHVzZXMgPT4gZmVhdHVyZVN0YXR1c2VzLmV2ZXJ5KHN0YXR1cyA9PiBzdGF0dXMpKSxcbiAgICAgICAgICAgIG1hcChzdGF0dXMgPT4gc3RhdHVzIHx8IHRoaXMucm91dGVyLnBhcnNlVXJsKHJvdXRlLmRhdGEuZmVhdHVyZURpc2FibGVkUmVkaXJlY3QgYXMgc3RyaW5nKSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS10b2dnbGUuZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2ZlYXR1cmUtdG9nZ2xlL2ZlYXR1cmUtdG9nZ2xlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxhQUFhLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7O0FBS2hFO0lBRUksNEJBQ3FCLG9CQUEwQyxFQUMxQyxNQUFjO1FBRGQseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQ2hDLENBQUM7SUFFSjs7Ozs7O09BTUc7SUFDSSx3Q0FBVyxHQUFsQixVQUFtQixLQUE2QjtRQUFoRCxpQkFPQztRQU5HLE9BQU8sYUFBYSx3QkFBSyxLQUFLLENBQUMsSUFBSSxDQUFDLG9CQUFpQyxDQUFDLEdBQUcsQ0FDakUsVUFBQSxPQUFPLElBQUksT0FBQSxLQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFVLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBL0QsQ0FBK0QsQ0FDakYsR0FBRSxJQUFJLENBQ0gsR0FBRyxDQUFDLFVBQUEsZUFBZSxJQUFJLE9BQUEsZUFBZSxDQUFDLEtBQUssQ0FBQyxVQUFBLE1BQU0sSUFBSSxPQUFBLE1BQU0sRUFBTixDQUFNLENBQUMsRUFBdkMsQ0FBdUMsQ0FBQyxFQUMvRCxHQUFHLENBQUMsVUFBQSxNQUFNLElBQUksT0FBQSxNQUFNLElBQUksS0FBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyx1QkFBaUMsQ0FBQyxFQUE1RSxDQUE0RSxDQUFDLENBQzlGLENBQUM7SUFDTixDQUFDOztnQkFsQjBDLG9CQUFvQjtnQkFDbEMsTUFBTTs7O0lBSjFCLGtCQUFrQjtRQUg5QixVQUFVLENBQUM7WUFDUixVQUFVLEVBQUUsTUFBTTtTQUNyQixDQUFDO3lDQUk2QyxvQkFBb0I7WUFDbEMsTUFBTTtPQUoxQixrQkFBa0IsQ0FzQjlCOzZCQS9CRDtDQStCQyxBQXRCRCxJQXNCQztTQXRCWSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBDYW5BY3RpdmF0ZSwgUm91dGVyLCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZlYXR1cmVUb2dnbGVTZXJ2aWNlIH0gZnJvbSAnLi9mZWF0dXJlLXRvZ2dsZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlVG9nZ2xlR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZmVhdHVyZVRvZ2dsZVNlcnZpY2U6IEZlYXR1cmVUb2dnbGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyXG4gICAgKSB7fVxuXG4gICAgLyoqXG4gICAgICogVXNhZ2U6IEFkZCB0aGUgRmVhdHVyZVRvZ2dsZUd1YXJkIGFzIHRoZSBHdWFyZCBmb3IgYSByb3V0ZSwgYW5kIHByb3ZpZGUgdGhlIGZvbGxvd2luZ1xuICAgICAqIGluIHRoZSBkYXRhIGFycmF5IGZvciB0aGUgcm91dGU6XG4gICAgICogLSBuZWVkc0ZlYXR1cmVzRW5hYmxlZDogQW4gYXJyYXkgb2YgZmVhdHVyZSBrZXlzIHRoYXQgbmVlZCB0byBiZSBlbmFibGVkIGZvciB0aGlzIHJvdXRlXG4gICAgICogLSBmZWF0dXJlRGlzYWJsZWRSZWRpcmVjdDogdGhlIFVSTCB0byByZWRpcmVjdCB0byB3aGVuIHRoZSB0aGlzIHJvdXRlIGlzIG5vdCBhY2Nlc3NpYmxlIGR1ZSB0byBkaXNhYmxlZCBmZWF0dXJlc1xuICAgICAqIEBwYXJhbSByb3V0ZSBBdXRvbWF0aWNhbGx5IHByb3ZpZGVkIGJ5IEFuZ3VsYXJcbiAgICAgKi9cbiAgICBwdWJsaWMgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBVcmxUcmVlPiB7XG4gICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KC4uLihyb3V0ZS5kYXRhLm5lZWRzRmVhdHVyZXNFbmFibGVkIGFzIHN0cmluZ1tdKS5tYXAoXG4gICAgICAgICAgICAgICAgZmVhdHVyZSA9PiB0aGlzLmZlYXR1cmVUb2dnbGVTZXJ2aWNlLmdldFZhbHVlT25jZTxib29sZWFuPihmZWF0dXJlLCBmYWxzZSlcbiAgICAgICAgKSkucGlwZShcbiAgICAgICAgICAgIG1hcChmZWF0dXJlU3RhdHVzZXMgPT4gZmVhdHVyZVN0YXR1c2VzLmV2ZXJ5KHN0YXR1cyA9PiBzdGF0dXMpKSxcbiAgICAgICAgICAgIG1hcChzdGF0dXMgPT4gc3RhdHVzIHx8IHRoaXMucm91dGVyLnBhcnNlVXJsKHJvdXRlLmRhdGEuZmVhdHVyZURpc2FibGVkUmVkaXJlY3QgYXMgc3RyaW5nKSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=