@sunbird-cb/utils 1.0.18-ang-9-12 → 1.0.19-ang-9-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 (288) hide show
  1. package/bundles/sunbird-cb-utils.umd.js +561 -779
  2. package/bundles/sunbird-cb-utils.umd.js.map +1 -1
  3. package/esm2015/lib/components/image-crop/image-crop.component.js +22 -28
  4. package/esm2015/lib/components/image-crop/image-crop.module.js +20 -45
  5. package/esm2015/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.js +14 -24
  6. package/esm2015/lib/directives/class-change-on-scroll/class-change-on-scroll.module.js +10 -17
  7. package/esm2015/lib/directives/default-thumbnail/default-thumbnail.directive.js +12 -20
  8. package/esm2015/lib/directives/default-thumbnail/default-thumbnail.module.js +10 -17
  9. package/esm2015/lib/directives/image-responsive/image-responsive.directive.js +14 -16
  10. package/esm2015/lib/directives/image-responsive/image-responsive.module.js +10 -17
  11. package/esm2015/lib/directives/in-view-port/in-view-port.directive.js +13 -13
  12. package/esm2015/lib/directives/in-view-port/in-view-port.module.js +10 -17
  13. package/esm2015/lib/directives/navigation/navigation.directive.js +13 -22
  14. package/esm2015/lib/directives/navigation/navigation.module.js +10 -17
  15. package/esm2015/lib/directives/permission/permission.directive.js +7 -10
  16. package/esm2015/lib/directives/permission/permission.module.js +10 -17
  17. package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.component.js +15 -25
  18. package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.module.js +13 -26
  19. package/esm2015/lib/helpers/logout/logout.component.js +18 -18
  20. package/esm2015/lib/helpers/logout/logout.module.js +12 -23
  21. package/esm2015/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.js +8 -13
  22. package/esm2015/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.js +6 -10
  23. package/esm2015/lib/pipes/pipe-count-transform/pipe-count-transform.module.js +10 -17
  24. package/esm2015/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.js +6 -10
  25. package/esm2015/lib/pipes/pipe-date-concat/pipe-date-concat.module.js +10 -17
  26. package/esm2015/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.js +7 -10
  27. package/esm2015/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.js +10 -17
  28. package/esm2015/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +6 -10
  29. package/esm2015/lib/pipes/pipe-filter/pipe-filter.module.js +10 -17
  30. package/esm2015/lib/pipes/pipe-filter/pipe-filter.pipe.js +6 -10
  31. package/esm2015/lib/pipes/pipe-filter-search/pipe-filter-search.module.js +10 -17
  32. package/esm2015/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.js +6 -10
  33. package/esm2015/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.js +10 -17
  34. package/esm2015/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.js +6 -10
  35. package/esm2015/lib/pipes/pipe-limit-to/pipe-limit-to.module.js +10 -17
  36. package/esm2015/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.js +6 -10
  37. package/esm2015/lib/pipes/pipe-list-filter/pipe-list-filter.module.js +10 -17
  38. package/esm2015/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.js +6 -10
  39. package/esm2015/lib/pipes/pipe-name-transform/pipe-name-transform.module.js +10 -17
  40. package/esm2015/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.js +6 -10
  41. package/esm2015/lib/pipes/pipe-order-by/pipe-order-by.module.js +10 -17
  42. package/esm2015/lib/pipes/pipe-order-by/pipe-order-by.pipe.js +6 -10
  43. package/esm2015/lib/pipes/pipe-partial-content/pipe-partial-content.module.js +10 -17
  44. package/esm2015/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.js +6 -10
  45. package/esm2015/lib/pipes/pipe-relative-time/pipe-relative-time.module.js +10 -17
  46. package/esm2015/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.js +6 -10
  47. package/esm2015/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.js +10 -17
  48. package/esm2015/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.js +10 -11
  49. package/esm2015/lib/resolvers/explore-detail.resolver.js +15 -9
  50. package/esm2015/lib/resolvers/marketing-offering.resolve.js +11 -9
  51. package/esm2015/lib/resolvers/page.resolver.js +14 -12
  52. package/esm2015/lib/services/auth-keycloak.service.js +15 -10
  53. package/esm2015/lib/services/auth-microsoft.service.js +13 -9
  54. package/esm2015/lib/services/configurations.model.js +1 -1
  55. package/esm2015/lib/services/configurations.service.js +8 -9
  56. package/esm2015/lib/services/event.service.js +12 -12
  57. package/esm2015/lib/services/logger.service.js +11 -9
  58. package/esm2015/lib/services/subapplication-respond.service.js +22 -9
  59. package/esm2015/lib/services/telemetry.service.js +16 -12
  60. package/esm2015/lib/services/user-preference.service.js +13 -9
  61. package/esm2015/lib/services/utility.service.js +16 -10
  62. package/esm2015/lib/services/value.service.js +11 -10
  63. package/esm2015/lib/services/widget-content.service.js +17 -11
  64. package/fesm2015/sunbird-cb-utils.js +568 -776
  65. package/fesm2015/sunbird-cb-utils.js.map +1 -1
  66. package/lib/components/image-crop/image-crop.component.d.ts +1 -3
  67. package/lib/components/image-crop/image-crop.component.d.ts.map +1 -0
  68. package/lib/components/image-crop/image-crop.component.ngfactory.d.ts.map +1 -0
  69. package/lib/components/image-crop/image-crop.component.scss.shim.ngstyle.d.ts.map +1 -0
  70. package/lib/components/image-crop/image-crop.module.d.ts +1 -14
  71. package/lib/components/image-crop/image-crop.module.d.ts.map +1 -0
  72. package/lib/components/image-crop/image-crop.module.ngfactory.d.ts.map +1 -0
  73. package/lib/constants/features.enum.d.ts +1 -0
  74. package/lib/constants/features.enum.d.ts.map +1 -0
  75. package/lib/constants/instances.enum.d.ts +1 -0
  76. package/lib/constants/instances.enum.d.ts.map +1 -0
  77. package/lib/constants/misc.constants.d.ts +1 -0
  78. package/lib/constants/misc.constants.d.ts.map +1 -0
  79. package/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.d.ts +1 -3
  80. package/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.d.ts.map +1 -0
  81. package/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.ngfactory.d.ts.map +1 -0
  82. package/lib/directives/class-change-on-scroll/class-change-on-scroll.module.d.ts +1 -6
  83. package/lib/directives/class-change-on-scroll/class-change-on-scroll.module.d.ts.map +1 -0
  84. package/lib/directives/class-change-on-scroll/class-change-on-scroll.module.ngfactory.d.ts.map +1 -0
  85. package/lib/directives/default-thumbnail/default-thumbnail.directive.d.ts +1 -3
  86. package/lib/directives/default-thumbnail/default-thumbnail.directive.d.ts.map +1 -0
  87. package/lib/directives/default-thumbnail/default-thumbnail.directive.ngfactory.d.ts.map +1 -0
  88. package/lib/directives/default-thumbnail/default-thumbnail.module.d.ts +1 -6
  89. package/lib/directives/default-thumbnail/default-thumbnail.module.d.ts.map +1 -0
  90. package/lib/directives/default-thumbnail/default-thumbnail.module.ngfactory.d.ts.map +1 -0
  91. package/lib/directives/image-responsive/image-responsive.directive.d.ts +1 -3
  92. package/lib/directives/image-responsive/image-responsive.directive.d.ts.map +1 -0
  93. package/lib/directives/image-responsive/image-responsive.directive.ngfactory.d.ts.map +1 -0
  94. package/lib/directives/image-responsive/image-responsive.module.d.ts +1 -6
  95. package/lib/directives/image-responsive/image-responsive.module.d.ts.map +1 -0
  96. package/lib/directives/image-responsive/image-responsive.module.ngfactory.d.ts.map +1 -0
  97. package/lib/directives/in-view-port/in-view-port.directive.d.ts +1 -3
  98. package/lib/directives/in-view-port/in-view-port.directive.d.ts.map +1 -0
  99. package/lib/directives/in-view-port/in-view-port.directive.ngfactory.d.ts.map +1 -0
  100. package/lib/directives/in-view-port/in-view-port.module.d.ts +1 -6
  101. package/lib/directives/in-view-port/in-view-port.module.d.ts.map +1 -0
  102. package/lib/directives/in-view-port/in-view-port.module.ngfactory.d.ts.map +1 -0
  103. package/lib/directives/navigation/navigation.directive.d.ts +1 -3
  104. package/lib/directives/navigation/navigation.directive.d.ts.map +1 -0
  105. package/lib/directives/navigation/navigation.directive.ngfactory.d.ts.map +1 -0
  106. package/lib/directives/navigation/navigation.module.d.ts +1 -6
  107. package/lib/directives/navigation/navigation.module.d.ts.map +1 -0
  108. package/lib/directives/navigation/navigation.module.ngfactory.d.ts.map +1 -0
  109. package/lib/directives/permission/permission.directive.d.ts +1 -3
  110. package/lib/directives/permission/permission.directive.d.ts.map +1 -0
  111. package/lib/directives/permission/permission.directive.ngfactory.d.ts.map +1 -0
  112. package/lib/directives/permission/permission.module.d.ts +1 -6
  113. package/lib/directives/permission/permission.module.d.ts.map +1 -0
  114. package/lib/directives/permission/permission.module.ngfactory.d.ts.map +1 -0
  115. package/lib/helpers/functions/getStringifiedQueryParams.d.ts +1 -0
  116. package/lib/helpers/functions/getStringifiedQueryParams.d.ts.map +1 -0
  117. package/lib/helpers/horizontal-scroller/horizontal-scroller.component.d.ts +1 -3
  118. package/lib/helpers/horizontal-scroller/horizontal-scroller.component.d.ts.map +1 -0
  119. package/lib/helpers/horizontal-scroller/horizontal-scroller.component.ngfactory.d.ts.map +1 -0
  120. package/lib/helpers/horizontal-scroller/horizontal-scroller.component.scss.shim.ngstyle.d.ts.map +1 -0
  121. package/lib/helpers/horizontal-scroller/horizontal-scroller.module.d.ts +1 -9
  122. package/lib/helpers/horizontal-scroller/horizontal-scroller.module.d.ts.map +1 -0
  123. package/lib/helpers/horizontal-scroller/horizontal-scroller.module.ngfactory.d.ts.map +1 -0
  124. package/lib/helpers/logout/logout.component.d.ts +1 -3
  125. package/lib/helpers/logout/logout.component.d.ts.map +1 -0
  126. package/lib/helpers/logout/logout.component.ngfactory.d.ts.map +1 -0
  127. package/lib/helpers/logout/logout.component.scss.shim.ngstyle.d.ts.map +1 -0
  128. package/lib/helpers/logout/logout.module.d.ts +1 -8
  129. package/lib/helpers/logout/logout.module.d.ts.map +1 -0
  130. package/lib/helpers/logout/logout.module.ngfactory.d.ts.map +1 -0
  131. package/lib/models/contentRating.model.d.ts +1 -0
  132. package/lib/models/contentRating.model.d.ts.map +1 -0
  133. package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.d.ts +1 -6
  134. package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.d.ts.map +1 -0
  135. package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.ngfactory.d.ts.map +1 -0
  136. package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.d.ts +1 -3
  137. package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.d.ts.map +1 -0
  138. package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.ngfactory.d.ts.map +1 -0
  139. package/lib/pipes/pipe-count-transform/pipe-count-transform.module.d.ts +1 -6
  140. package/lib/pipes/pipe-count-transform/pipe-count-transform.module.d.ts.map +1 -0
  141. package/lib/pipes/pipe-count-transform/pipe-count-transform.module.ngfactory.d.ts.map +1 -0
  142. package/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.d.ts +1 -3
  143. package/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.d.ts.map +1 -0
  144. package/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.ngfactory.d.ts.map +1 -0
  145. package/lib/pipes/pipe-date-concat/pipe-date-concat.module.d.ts +1 -6
  146. package/lib/pipes/pipe-date-concat/pipe-date-concat.module.d.ts.map +1 -0
  147. package/lib/pipes/pipe-date-concat/pipe-date-concat.module.ngfactory.d.ts.map +1 -0
  148. package/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.d.ts +1 -3
  149. package/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.d.ts.map +1 -0
  150. package/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.ngfactory.d.ts.map +1 -0
  151. package/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.d.ts +1 -6
  152. package/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.d.ts.map +1 -0
  153. package/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.ngfactory.d.ts.map +1 -0
  154. package/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.d.ts +1 -3
  155. package/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.d.ts.map +1 -0
  156. package/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.ngfactory.d.ts.map +1 -0
  157. package/lib/pipes/pipe-filter/pipe-filter.module.d.ts +1 -6
  158. package/lib/pipes/pipe-filter/pipe-filter.module.d.ts.map +1 -0
  159. package/lib/pipes/pipe-filter/pipe-filter.module.ngfactory.d.ts.map +1 -0
  160. package/lib/pipes/pipe-filter/pipe-filter.pipe.d.ts +1 -3
  161. package/lib/pipes/pipe-filter/pipe-filter.pipe.d.ts.map +1 -0
  162. package/lib/pipes/pipe-filter/pipe-filter.pipe.ngfactory.d.ts.map +1 -0
  163. package/lib/pipes/pipe-filter-search/pipe-filter-search.module.d.ts +1 -6
  164. package/lib/pipes/pipe-filter-search/pipe-filter-search.module.d.ts.map +1 -0
  165. package/lib/pipes/pipe-filter-search/pipe-filter-search.module.ngfactory.d.ts.map +1 -0
  166. package/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.d.ts +1 -3
  167. package/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.d.ts.map +1 -0
  168. package/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.ngfactory.d.ts.map +1 -0
  169. package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.d.ts +1 -6
  170. package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.d.ts.map +1 -0
  171. package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.ngfactory.d.ts.map +1 -0
  172. package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.d.ts +1 -3
  173. package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.d.ts.map +1 -0
  174. package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.ngfactory.d.ts.map +1 -0
  175. package/lib/pipes/pipe-limit-to/pipe-limit-to.module.d.ts +1 -6
  176. package/lib/pipes/pipe-limit-to/pipe-limit-to.module.d.ts.map +1 -0
  177. package/lib/pipes/pipe-limit-to/pipe-limit-to.module.ngfactory.d.ts.map +1 -0
  178. package/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.d.ts +1 -3
  179. package/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.d.ts.map +1 -0
  180. package/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.ngfactory.d.ts.map +1 -0
  181. package/lib/pipes/pipe-list-filter/pipe-list-filter.module.d.ts +1 -6
  182. package/lib/pipes/pipe-list-filter/pipe-list-filter.module.d.ts.map +1 -0
  183. package/lib/pipes/pipe-list-filter/pipe-list-filter.module.ngfactory.d.ts.map +1 -0
  184. package/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.d.ts +1 -3
  185. package/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.d.ts.map +1 -0
  186. package/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.ngfactory.d.ts.map +1 -0
  187. package/lib/pipes/pipe-name-transform/pipe-name-transform.module.d.ts +1 -6
  188. package/lib/pipes/pipe-name-transform/pipe-name-transform.module.d.ts.map +1 -0
  189. package/lib/pipes/pipe-name-transform/pipe-name-transform.module.ngfactory.d.ts.map +1 -0
  190. package/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.d.ts +1 -3
  191. package/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.d.ts.map +1 -0
  192. package/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.ngfactory.d.ts.map +1 -0
  193. package/lib/pipes/pipe-order-by/pipe-order-by.module.d.ts +1 -6
  194. package/lib/pipes/pipe-order-by/pipe-order-by.module.d.ts.map +1 -0
  195. package/lib/pipes/pipe-order-by/pipe-order-by.module.ngfactory.d.ts.map +1 -0
  196. package/lib/pipes/pipe-order-by/pipe-order-by.pipe.d.ts +1 -3
  197. package/lib/pipes/pipe-order-by/pipe-order-by.pipe.d.ts.map +1 -0
  198. package/lib/pipes/pipe-order-by/pipe-order-by.pipe.ngfactory.d.ts.map +1 -0
  199. package/lib/pipes/pipe-partial-content/pipe-partial-content.module.d.ts +1 -6
  200. package/lib/pipes/pipe-partial-content/pipe-partial-content.module.d.ts.map +1 -0
  201. package/lib/pipes/pipe-partial-content/pipe-partial-content.module.ngfactory.d.ts.map +1 -0
  202. package/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.d.ts +1 -3
  203. package/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.d.ts.map +1 -0
  204. package/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.ngfactory.d.ts.map +1 -0
  205. package/lib/pipes/pipe-relative-time/pipe-relative-time.module.d.ts +1 -6
  206. package/lib/pipes/pipe-relative-time/pipe-relative-time.module.d.ts.map +1 -0
  207. package/lib/pipes/pipe-relative-time/pipe-relative-time.module.ngfactory.d.ts.map +1 -0
  208. package/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.d.ts +1 -3
  209. package/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.d.ts.map +1 -0
  210. package/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.ngfactory.d.ts.map +1 -0
  211. package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.d.ts +1 -6
  212. package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.d.ts.map +1 -0
  213. package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.ngfactory.d.ts.map +1 -0
  214. package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.d.ts +1 -3
  215. package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.d.ts.map +1 -0
  216. package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.ngfactory.d.ts.map +1 -0
  217. package/lib/resolvers/explore-detail.resolver.d.ts +1 -3
  218. package/lib/resolvers/explore-detail.resolver.d.ts.map +1 -0
  219. package/lib/resolvers/explore-detail.resolver.ngfactory.d.ts.map +1 -0
  220. package/lib/resolvers/marketing-offering.resolve.d.ts +1 -3
  221. package/lib/resolvers/marketing-offering.resolve.d.ts.map +1 -0
  222. package/lib/resolvers/marketing-offering.resolve.ngfactory.d.ts.map +1 -0
  223. package/lib/resolvers/page.constant.d.ts +1 -0
  224. package/lib/resolvers/page.constant.d.ts.map +1 -0
  225. package/lib/resolvers/page.model.d.ts +1 -0
  226. package/lib/resolvers/page.model.d.ts.map +1 -0
  227. package/lib/resolvers/page.resolver.d.ts +1 -3
  228. package/lib/resolvers/page.resolver.d.ts.map +1 -0
  229. package/lib/resolvers/page.resolver.ngfactory.d.ts.map +1 -0
  230. package/lib/resolvers/resolver.model.d.ts +1 -0
  231. package/lib/resolvers/resolver.model.d.ts.map +1 -0
  232. package/lib/services/auth-keycloak.service.d.ts +1 -3
  233. package/lib/services/auth-keycloak.service.d.ts.map +1 -0
  234. package/lib/services/auth-keycloak.service.ngfactory.d.ts.map +1 -0
  235. package/lib/services/auth-microsoft.service.d.ts +1 -3
  236. package/lib/services/auth-microsoft.service.d.ts.map +1 -0
  237. package/lib/services/auth-microsoft.service.ngfactory.d.ts.map +1 -0
  238. package/lib/services/card-content.model.d.ts +1 -0
  239. package/lib/services/card-content.model.d.ts.map +1 -0
  240. package/lib/services/configurations.model.d.ts +9 -0
  241. package/lib/services/configurations.model.d.ts.map +1 -0
  242. package/lib/services/configurations.service.d.ts +2 -3
  243. package/lib/services/configurations.service.d.ts.map +1 -0
  244. package/lib/services/configurations.service.ngfactory.d.ts.map +1 -0
  245. package/lib/services/content-strip-multiple.model.d.ts +1 -0
  246. package/lib/services/content-strip-multiple.model.d.ts.map +1 -0
  247. package/lib/services/event.model.d.ts +1 -0
  248. package/lib/services/event.model.d.ts.map +1 -0
  249. package/lib/services/event.service.d.ts +1 -3
  250. package/lib/services/event.service.d.ts.map +1 -0
  251. package/lib/services/event.service.ngfactory.d.ts.map +1 -0
  252. package/lib/services/logger.service.d.ts +1 -3
  253. package/lib/services/logger.service.d.ts.map +1 -0
  254. package/lib/services/logger.service.ngfactory.d.ts.map +1 -0
  255. package/lib/services/ms-office.model.d.ts +1 -0
  256. package/lib/services/ms-office.model.d.ts.map +1 -0
  257. package/lib/services/subapplication-respond.service.d.ts +1 -3
  258. package/lib/services/subapplication-respond.service.d.ts.map +1 -0
  259. package/lib/services/subapplication-respond.service.ngfactory.d.ts.map +1 -0
  260. package/lib/services/telemetry.service.d.ts +1 -3
  261. package/lib/services/telemetry.service.d.ts.map +1 -0
  262. package/lib/services/telemetry.service.ngfactory.d.ts.map +1 -0
  263. package/lib/services/user-preference.model.d.ts +1 -0
  264. package/lib/services/user-preference.model.d.ts.map +1 -0
  265. package/lib/services/user-preference.service.d.ts +1 -3
  266. package/lib/services/user-preference.service.d.ts.map +1 -0
  267. package/lib/services/user-preference.service.ngfactory.d.ts.map +1 -0
  268. package/lib/services/utility.service.d.ts +1 -3
  269. package/lib/services/utility.service.d.ts.map +1 -0
  270. package/lib/services/utility.service.ngfactory.d.ts.map +1 -0
  271. package/lib/services/value.service.d.ts +1 -3
  272. package/lib/services/value.service.d.ts.map +1 -0
  273. package/lib/services/value.service.ngfactory.d.ts.map +1 -0
  274. package/lib/services/widget-content.model.d.ts +1 -0
  275. package/lib/services/widget-content.model.d.ts.map +1 -0
  276. package/lib/services/widget-content.service.d.ts +1 -3
  277. package/lib/services/widget-content.service.d.ts.map +1 -0
  278. package/lib/services/widget-content.service.ngfactory.d.ts.map +1 -0
  279. package/lib/services/widget-resolver.model.d.ts +1 -0
  280. package/lib/services/widget-resolver.model.d.ts.map +1 -0
  281. package/lib/services/widget-search.model.d.ts +1 -0
  282. package/lib/services/widget-search.model.d.ts.map +1 -0
  283. package/package.json +2 -1
  284. package/public-api.d.ts +1 -0
  285. package/public-api.d.ts.map +1 -0
  286. package/sunbird-cb-utils.d.ts +1 -1
  287. package/sunbird-cb-utils.d.ts.map +1 -0
  288. package/sunbird-cb-utils.metadata.json +1 -0
@@ -1,5 +1,7 @@
1
+ import { Platform } from '@angular/cdk/platform';
2
+ import { HttpClient } from '@angular/common/http';
1
3
  import { Injectable } from '@angular/core';
2
- import { NavigationEnd } from '@angular/router';
4
+ import { Router, NavigationEnd, ActivatedRoute } from '@angular/router';
3
5
  import * as i0 from "@angular/core";
4
6
  import * as i1 from "@angular/common/http";
5
7
  import * as i2 from "@angular/cdk/platform";
@@ -111,12 +113,16 @@ export class UtilityService {
111
113
  return data;
112
114
  }
113
115
  }
114
- UtilityService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: UtilityService, deps: [{ token: i1.HttpClient }, { token: i2.Platform }, { token: i3.Router }, { token: i3.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable });
115
- UtilityService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: UtilityService, providedIn: 'root' });
116
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: UtilityService, decorators: [{
117
- type: Injectable,
118
- args: [{
119
- providedIn: 'root',
120
- }]
121
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.Platform }, { type: i3.Router }, { type: i3.ActivatedRoute }]; } });
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0eS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9zdW5iaXJkLWNiL3V0aWxzL3NyYy9saWIvc2VydmljZXMvdXRpbGl0eS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFMUMsT0FBTyxFQUFVLGFBQWEsRUFBMEMsTUFBTSxpQkFBaUIsQ0FBQTs7Ozs7QUFRL0YsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLENBQUE7QUFTNUIsTUFBTSxPQUFPLGNBQWM7SUFFekIsWUFDVSxJQUFnQixFQUNoQixRQUFrQixFQUNsQixNQUFjLEVBQ2QsS0FBcUI7UUFIckIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUwvQixxQkFBZ0IsR0FBVSxFQUFFLENBQUE7UUFRMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDMUMsSUFBSSxLQUFLLFlBQVksYUFBYSxFQUFFO2dCQUdsQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQTtnQkFHcEMsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUE7Z0JBQzNDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUE7YUFDN0M7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxRQUFnQyxFQUFFLFVBQXlDO1FBQ25HLElBQUksVUFBVSxFQUFFO1lBQ2QsSUFBSSxVQUFVLENBQUMsSUFBSSxFQUFFO2dCQUVuQixJQUFJLENBQUMsZ0JBQWdCLENB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QyxJQUFTO1FBQzNCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUE7SUFDOUIsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE1BQU0sSUFBSSxHQUFtQztZQUMzQyxNQUFNLEVBQUUsRUFBRTtZQUNWLE1BQU0sRUFBRSxFQUFFO1NBQ1gsQ0FBQTtRQUdELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFPLEVBQUUsRUFBRTtZQUNwQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFBO2FBQzVDO1lBQ0QsSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFFO2dCQUNiLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQTthQUN4QjtRQUNILENBQUMsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDOzs0R0E3SFUsY0FBYztnSEFBZCxjQUFjLGNBRmIsTUFBTTs0RkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJ1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcclxuaW1wb3J0IHsgUm91dGVyLCBOYXZpZ2F0aW9uRW5kLCBBY3RpdmF0ZWRSb3V0ZSwgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcidcclxuaW1wb3J0IHsgV3NFdmVudHMgfSBmcm9tICcuL2V2ZW50Lm1vZGVsJ1xyXG5pbnRlcmZhY2UgSVdpbmRvd01vYmlsZUFwcE1vZGlmaWVkIGV4dGVuZHMgV2luZG93IHtcclxuICBhcHBSZWY/OiBhbnlcclxuICB3ZWJraXQ/OiBhbnlcclxufVxyXG5kZWNsYXJlIHZhciB3aW5kb3c6IElXaW5kb3dNb2JpbGVBcHBNb2RpZmllZFxyXG5cclxuY29uc3QgUkFORE9NX0lEX1BFUl9VU0VSID0gMFxyXG5pbnRlcmZhY2UgSVJlY3Vyc2l2ZURhdGEge1xyXG4gIGlkZW50aWZpZXI6IHN0cmluZ1xyXG4gIGNoaWxkcmVuOiBudWxsIHwgSVJlY3Vyc2l2ZURhdGFbXVxyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXRpbGl0eVNlcnZpY2Uge1xyXG4gIGN1cnJlbnRSb3V0ZURhdGE6IGFueVtdID0gW11cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgcGxhdGZvcm06IFBsYXRmb3JtLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgLy8gcHJpdmF0ZSBldmVudHM6IEV2ZW50U2VydmljZSxcclxuICApIHtcclxuICAgIHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoKGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xyXG4gICAgICAgIC8vIGxldCBzbmFwc2hvdCA9IHRoaXMucm91dGVyLnJvdXRlclN0YXRlLmZpcnN0Q2hpbGQodGhpcy5hY3RpdmF0ZWRSb3V0ZSkuc25hcHNob3RcclxuICAgICAgICAvLyBjb25zb2xlLmxvZygndGhpcy5yb3V0ZS5zbmFwc2hvdCA6OiAnLCB0aGlzLnJvdXRlLnNuYXBzaG90KVxyXG4gICAgICAgIGNvbnN0IHNuYXBzaG90ID0gdGhpcy5yb3V0ZS5zbmFwc2hvdFxyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdyb290LnNuYXBzaG90LnJvb3QuZmlyc3RDaGlsZCAnLCBzbmFwc2hvdC5yb290LmZpcnN0Q2hpbGQpXHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ2ZpcnN0Q2hpbGQgJywgc25hcHNob3QuZmlyc3RDaGlsZClcclxuICAgICAgICBjb25zdCBmaXJzdENoaWxkID0gc25hcHNob3Qucm9vdC5maXJzdENoaWxkXHJcbiAgICAgICAgdGhpcy5nZXRDaGlsZFJvdXRlRGF0YShzbmFwc2hvdCwgZmlyc3RDaGlsZClcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Q2hpbGRSb3V0ZURhdGEoc25hcHNob3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGZpcnN0Q2hpbGQ6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfCBudWxsKSB7XHJcbiAgICBpZiAoZmlyc3RDaGlsZCkge1xyXG4gICAgICBpZiAoZmlyc3RDaGlsZC5kYXRhKSB7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ2ZpcnN0Q2hpbGQuZGF0YScsIGZpcnN0Q2hpbGQuZGF0YSlcclxuICAgICAgICB0aGlzLmN1cnJlbnRSb3V0ZURhdGEucHVzaChmaXJzdENoaWxkLmRhdGEpXHJcbiAgICAgIH1cclxuICAgICAgaWYgKGZpcnN0Q2hpbGQuZmlyc3RDaGlsZCkge1xyXG4gICAgICAgIHRoaXMuZ2V0Q2hpbGRSb3V0ZURhdGEoc25hcHNob3QsIGZpcnN0Q2hpbGQuZmlyc3RDaGlsZClcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IHJhbmRvbUlkKCkge1xyXG4gICAgcmV0dXJuIFJBTkRPTV9JRF9QRVJfVVNFUiArIDFcclxuICB9XHJcblxyXG4gIGdldEpzb248VD4odXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFQ+KHVybClcclxuICB9XHJcblxyXG4gIGdldExlYWZOb2RlczxUIGV4dGVuZHMgSVJlY3Vyc2l2ZURhdGE+KG5vZGU6IFQsIG5vZGVzOiBUW10pOiBUW10ge1xyXG4gICAgaWYgKChub2RlLmNoaWxkcmVuIHx8IFtdKS5sZW5ndGggPT09IDApIHtcclxuICAgICAgbm9kZXMucHVzaChub2RlKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKG5vZGUuY2hpbGRyZW4pIHtcclxuICAgICAgICBub2RlLmNoaWxkcmVuLmZvckVhY2goY2hpbGQgPT4ge1xyXG4gICAgICAgICAgdGhpcy5nZXRMZWFmTm9kZXMoY2hpbGQsIG5vZGVzKVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBub2Rlc1xyXG4gIH1cclxuICBnZXRQYXRoPFQgZXh0ZW5kcyBJUmVjdXJzaXZlRGF0YT4obm9kZTogVCwgaWQ6IHN0cmluZyk6IFRbXSB7XHJcbiAgICBjb25zdCBwYXRoOiBUW10gPSBbXVxyXG4gICAgdGhpcy5oYXNQYXRoKG5vZGUsIHBhdGgsIGlkKVxyXG4gICAgcmV0dXJuIHBhdGhcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFzUGF0aDxUIGV4dGVuZHMgSVJlY3Vyc2l2ZURhdGE+KG5vZGU6IFQsIHBhdGhBcnI6IFRbXSwgaWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKG5vZGUgPT0gbnVsbCkge1xyXG4gICAgICByZXR1cm4gZmFsc2VcclxuICAgIH1cclxuICAgIHBhdGhBcnIucHVzaChub2RlKVxyXG4gICAgaWYgKG5vZGUuaWRlbnRpZmllciA9PT0gaWQpIHtcclxuICAgICAgcmV0dXJuIHRydWVcclxuICAgIH1cclxuICAgIGNvbnN0IGNoaWxkcmVuID0gbm9kZS5jaGlsZHJlbiB8fCBbXVxyXG4gICAgaWYgKGNoaWxkcmVuLnNvbWUodSA9PiB0aGlzLmhhc1BhdGgodSwgcGF0aEFyciwgaWQpKSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgfVxyXG4gICAgcGF0aEFyci5wb3AoKVxyXG4gICAgcmV0dXJuIGZhbHNlXHJcbiAgfVxyXG5cclxuICBnZXQgaXNNb2JpbGUoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5pc0lvcyB8fCB0aGlzLmlzQW5kcm9pZCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlXHJcbiAgfVxyXG5cclxuICBnZXQgaXNJb3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wbGF0Zm9ybS5JT1NcclxuICB9XHJcblxyXG4gIGdldCBpc0FuZHJvaWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wbGF0Zm9ybS5BTkRST0lEXHJcbiAgfVxyXG4gIGdldCBpc0FuZHJvaWRBcHAoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gQm9vbGVhbih3aW5kb3cuYXBwUmVmKVxyXG4gIH1cclxuXHJcbiAgZ2V0IGlPc0FwcFJlZigpIHtcclxuICAgIGlmIChcclxuICAgICAgd2luZG93LndlYmtpdCAmJlxyXG4gICAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycyAmJlxyXG4gICAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy5hcHBSZWZcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMuYXBwUmVmXHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbFxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFJvdXRlRGF0YShkYXRhOiBhbnkpIHtcclxuICAgIHRoaXMuY3VycmVudFJvdXRlRGF0YSA9IGRhdGFcclxuICB9XHJcblxyXG4gIGdldCByb3V0ZURhdGEoKTogV3NFdmVudHMuSVRlbGVtZXRyeVBhZ2VDb250ZXh0IHtcclxuICAgIGNvbnN0IGRhdGE6IFdzRXZlbnRzLklUZWxlbWV0cnlQYWdlQ29udGV4dCA9IHtcclxuICAgICAgbW9kdWxlOiAnJyxcclxuICAgICAgcGFnZUlkOiAnJyxcclxuICAgIH1cclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tY29uc29sZVxyXG4gICAgLy8gY29uc29sZS5sb2coJ0ZpbmFsIGN1cnJlbnREYXRhUm91dGUgZ2V0IHJvdXRlRGF0YSgpJywgdGhpcy5jdXJyZW50Um91dGVEYXRhKVxyXG4gICAgdGhpcy5jdXJyZW50Um91dGVEYXRhLm1hcCgocmQ6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmQucGFnZUlkKSB7XHJcbiAgICAgICAgZGF0YS5wYWdlSWQgPSBgJHtkYXRhLnBhZ2VJZH0vJHtyZC5wYWdlSWR9YFxyXG4gICAgICB9XHJcbiAgICAgIGlmIChyZC5tb2R1bGUpIHtcclxuICAgICAgICBkYXRhLm1vZHVsZSA9IHJkLm1vZHVsZVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgcmV0dXJuIGRhdGFcclxuICB9XHJcbn1cclxuIl19
116
+ UtilityService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UtilityService_Factory() { return new UtilityService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.Platform), i0.ɵɵinject(i3.Router), i0.ɵɵinject(i3.ActivatedRoute)); }, token: UtilityService, providedIn: "root" });
117
+ UtilityService.decorators = [
118
+ { type: Injectable, args: [{
119
+ providedIn: 'root',
120
+ },] }
121
+ ];
122
+ UtilityService.ctorParameters = () => [
123
+ { type: HttpClient },
124
+ { type: Platform },
125
+ { type: Router },
126
+ { type: ActivatedRoute }
127
+ ];
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0eS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9zdW5iaXJkLWNiL3V0aWxzL3NyYy9saWIvc2VydmljZXMvdXRpbGl0eS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUUxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQTBCLE1BQU0saUJBQWlCLENBQUE7Ozs7O0FBUS9GLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxDQUFBO0FBUzVCLE1BQU0sT0FBTyxjQUFjO0lBRXpCLFlBQ1UsSUFBZ0IsRUFDaEIsUUFBa0IsRUFDbEIsTUFBYyxFQUNkLEtBQXFCO1FBSHJCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFML0IscUJBQWdCLEdBQVUsRUFBRSxDQUFBO1FBUTFCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQzFDLElBQUksS0FBSyxZQUFZLGFBQWEsRUFBRTtnQkFHbEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUE7Z0JBR3BDLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFBO2dCQUMzQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFBO2FBQzdDO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRU8s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LEVBQ3BDO1lBQ0EsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUE7U0FDNUM7UUFDRCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFTSxZQUFZLENBQUMsSUFBUztRQUMzQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFBO0lBQzlCLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxNQUFNLElBQUksR0FBbUM7WUFDM0MsTUFBTSxFQUFFLEVBQUU7WUFDVixNQUFNLEVBQUUsRUFBRTtTQUNYLENBQUE7UUFHRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBTyxFQUFFLEVBQUU7WUFDcEMsSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFFO2dCQUNiLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQTthQUM1QztZQUNELElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRTtnQkFDYixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUE7YUFDeEI7UUFDSCxDQUFDLENBQUMsQ0FBQTtRQUNGLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQzs7OztZQWhJRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQW5CUSxVQUFVO1lBRFYsUUFBUTtZQUlSLE1BQU07WUFBaUIsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJ1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcclxuaW1wb3J0IHsgUm91dGVyLCBOYXZpZ2F0aW9uRW5kLCBBY3RpdmF0ZWRSb3V0ZSwgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcidcclxuaW1wb3J0IHsgV3NFdmVudHMgfSBmcm9tICcuL2V2ZW50Lm1vZGVsJ1xyXG5pbnRlcmZhY2UgSVdpbmRvd01vYmlsZUFwcE1vZGlmaWVkIGV4dGVuZHMgV2luZG93IHtcclxuICBhcHBSZWY/OiBhbnlcclxuICB3ZWJraXQ/OiBhbnlcclxufVxyXG5kZWNsYXJlIHZhciB3aW5kb3c6IElXaW5kb3dNb2JpbGVBcHBNb2RpZmllZFxyXG5cclxuY29uc3QgUkFORE9NX0lEX1BFUl9VU0VSID0gMFxyXG5pbnRlcmZhY2UgSVJlY3Vyc2l2ZURhdGEge1xyXG4gIGlkZW50aWZpZXI6IHN0cmluZ1xyXG4gIGNoaWxkcmVuOiBudWxsIHwgSVJlY3Vyc2l2ZURhdGFbXVxyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXRpbGl0eVNlcnZpY2Uge1xyXG4gIGN1cnJlbnRSb3V0ZURhdGE6IGFueVtdID0gW11cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgcGxhdGZvcm06IFBsYXRmb3JtLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgLy8gcHJpdmF0ZSBldmVudHM6IEV2ZW50U2VydmljZSxcclxuICApIHtcclxuICAgIHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoKGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xyXG4gICAgICAgIC8vIGxldCBzbmFwc2hvdCA9IHRoaXMucm91dGVyLnJvdXRlclN0YXRlLmZpcnN0Q2hpbGQodGhpcy5hY3RpdmF0ZWRSb3V0ZSkuc25hcHNob3RcclxuICAgICAgICAvLyBjb25zb2xlLmxvZygndGhpcy5yb3V0ZS5zbmFwc2hvdCA6OiAnLCB0aGlzLnJvdXRlLnNuYXBzaG90KVxyXG4gICAgICAgIGNvbnN0IHNuYXBzaG90ID0gdGhpcy5yb3V0ZS5zbmFwc2hvdFxyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdyb290LnNuYXBzaG90LnJvb3QuZmlyc3RDaGlsZCAnLCBzbmFwc2hvdC5yb290LmZpcnN0Q2hpbGQpXHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ2ZpcnN0Q2hpbGQgJywgc25hcHNob3QuZmlyc3RDaGlsZClcclxuICAgICAgICBjb25zdCBmaXJzdENoaWxkID0gc25hcHNob3Qucm9vdC5maXJzdENoaWxkXHJcbiAgICAgICAgdGhpcy5nZXRDaGlsZFJvdXRlRGF0YShzbmFwc2hvdCwgZmlyc3RDaGlsZClcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Q2hpbGRSb3V0ZURhdGEoc25hcHNob3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGZpcnN0Q2hpbGQ6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfCBudWxsKSB7XHJcbiAgICBpZiAoZmlyc3RDaGlsZCkge1xyXG4gICAgICBpZiAoZmlyc3RDaGlsZC5kYXRhKSB7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ2ZpcnN0Q2hpbGQuZGF0YScsIGZpcnN0Q2hpbGQuZGF0YSlcclxuICAgICAgICB0aGlzLmN1cnJlbnRSb3V0ZURhdGEucHVzaChmaXJzdENoaWxkLmRhdGEpXHJcbiAgICAgIH1cclxuICAgICAgaWYgKGZpcnN0Q2hpbGQuZmlyc3RDaGlsZCkge1xyXG4gICAgICAgIHRoaXMuZ2V0Q2hpbGRSb3V0ZURhdGEoc25hcHNob3QsIGZpcnN0Q2hpbGQuZmlyc3RDaGlsZClcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IHJhbmRvbUlkKCkge1xyXG4gICAgcmV0dXJuIFJBTkRPTV9JRF9QRVJfVVNFUiArIDFcclxuICB9XHJcblxyXG4gIGdldEpzb248VD4odXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFQ+KHVybClcclxuICB9XHJcblxyXG4gIGdldExlYWZOb2RlczxUIGV4dGVuZHMgSVJlY3Vyc2l2ZURhdGE+KG5vZGU6IFQsIG5vZGVzOiBUW10pOiBUW10ge1xyXG4gICAgaWYgKChub2RlLmNoaWxkcmVuIHx8IFtdKS5sZW5ndGggPT09IDApIHtcclxuICAgICAgbm9kZXMucHVzaChub2RlKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKG5vZGUuY2hpbGRyZW4pIHtcclxuICAgICAgICBub2RlLmNoaWxkcmVuLmZvckVhY2goY2hpbGQgPT4ge1xyXG4gICAgICAgICAgdGhpcy5nZXRMZWFmTm9kZXMoY2hpbGQsIG5vZGVzKVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBub2Rlc1xyXG4gIH1cclxuICBnZXRQYXRoPFQgZXh0ZW5kcyBJUmVjdXJzaXZlRGF0YT4obm9kZTogVCwgaWQ6IHN0cmluZyk6IFRbXSB7XHJcbiAgICBjb25zdCBwYXRoOiBUW10gPSBbXVxyXG4gICAgdGhpcy5oYXNQYXRoKG5vZGUsIHBhdGgsIGlkKVxyXG4gICAgcmV0dXJuIHBhdGhcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFzUGF0aDxUIGV4dGVuZHMgSVJlY3Vyc2l2ZURhdGE+KG5vZGU6IFQsIHBhdGhBcnI6IFRbXSwgaWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKG5vZGUgPT0gbnVsbCkge1xyXG4gICAgICByZXR1cm4gZmFsc2VcclxuICAgIH1cclxuICAgIHBhdGhBcnIucHVzaChub2RlKVxyXG4gICAgaWYgKG5vZGUuaWRlbnRpZmllciA9PT0gaWQpIHtcclxuICAgICAgcmV0dXJuIHRydWVcclxuICAgIH1cclxuICAgIGNvbnN0IGNoaWxkcmVuID0gbm9kZS5jaGlsZHJlbiB8fCBbXVxyXG4gICAgaWYgKGNoaWxkcmVuLnNvbWUodSA9PiB0aGlzLmhhc1BhdGgodSwgcGF0aEFyciwgaWQpKSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgfVxyXG4gICAgcGF0aEFyci5wb3AoKVxyXG4gICAgcmV0dXJuIGZhbHNlXHJcbiAgfVxyXG5cclxuICBnZXQgaXNNb2JpbGUoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5pc0lvcyB8fCB0aGlzLmlzQW5kcm9pZCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlXHJcbiAgfVxyXG5cclxuICBnZXQgaXNJb3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wbGF0Zm9ybS5JT1NcclxuICB9XHJcblxyXG4gIGdldCBpc0FuZHJvaWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wbGF0Zm9ybS5BTkRST0lEXHJcbiAgfVxyXG4gIGdldCBpc0FuZHJvaWRBcHAoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gQm9vbGVhbih3aW5kb3cuYXBwUmVmKVxyXG4gIH1cclxuXHJcbiAgZ2V0IGlPc0FwcFJlZigpIHtcclxuICAgIGlmIChcclxuICAgICAgd2luZG93LndlYmtpdCAmJlxyXG4gICAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycyAmJlxyXG4gICAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy5hcHBSZWZcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMuYXBwUmVmXHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbFxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFJvdXRlRGF0YShkYXRhOiBhbnkpIHtcclxuICAgIHRoaXMuY3VycmVudFJvdXRlRGF0YSA9IGRhdGFcclxuICB9XHJcblxyXG4gIGdldCByb3V0ZURhdGEoKTogV3NFdmVudHMuSVRlbGVtZXRyeVBhZ2VDb250ZXh0IHtcclxuICAgIGNvbnN0IGRhdGE6IFdzRXZlbnRzLklUZWxlbWV0cnlQYWdlQ29udGV4dCA9IHtcclxuICAgICAgbW9kdWxlOiAnJyxcclxuICAgICAgcGFnZUlkOiAnJyxcclxuICAgIH1cclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tY29uc29sZVxyXG4gICAgLy8gY29uc29sZS5sb2coJ0ZpbmFsIGN1cnJlbnREYXRhUm91dGUgZ2V0IHJvdXRlRGF0YSgpJywgdGhpcy5jdXJyZW50Um91dGVEYXRhKVxyXG4gICAgdGhpcy5jdXJyZW50Um91dGVEYXRhLm1hcCgocmQ6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmQucGFnZUlkKSB7XHJcbiAgICAgICAgZGF0YS5wYWdlSWQgPSBgJHtkYXRhLnBhZ2VJZH0vJHtyZC5wYWdlSWR9YFxyXG4gICAgICB9XHJcbiAgICAgIGlmIChyZC5tb2R1bGUpIHtcclxuICAgICAgICBkYXRhLm1vZHVsZSA9IHJkLm1vZHVsZVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgcmV0dXJuIGRhdGFcclxuICB9XHJcbn1cclxuIl19
@@ -1,5 +1,5 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { Breakpoints } from '@angular/cdk/layout';
2
+ import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';
3
3
  import { map } from 'rxjs/operators';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/cdk/layout";
@@ -14,12 +14,13 @@ export class ValueService {
14
14
  .pipe(map((res) => res.matches));
15
15
  }
16
16
  }
17
- ValueService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ValueService, deps: [{ token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Injectable });
18
- ValueService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ValueService, providedIn: 'root' });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ValueService, decorators: [{
20
- type: Injectable,
21
- args: [{
22
- providedIn: 'root',
23
- }]
24
- }], ctorParameters: function () { return [{ type: i1.BreakpointObserver }]; } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi91dGlscy9zcmMvbGliL3NlcnZpY2VzL3ZhbHVlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUUxQyxPQUFPLEVBQXNCLFdBQVcsRUFBbUIsTUFBTSxxQkFBcUIsQ0FBQTtBQUN0RixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7OztBQUtwQyxNQUFNLE9BQU8sWUFBWTtJQUV2QixZQUNVLGtCQUFzQztRQUF0Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBR3pDLGNBQVMsR0FBd0IsSUFBSSxDQUFDLGtCQUFrQjthQUM1RCxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQW9CLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO1FBQzVDLGdCQUFXLEdBQXdCLElBQUksQ0FBQyxrQkFBa0I7YUFDOUQsT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDaEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQW9CLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO0lBUC9DLENBQUM7OzBHQUpNLFlBQVk7OEdBQVosWUFBWSxjQUZYLE1BQU07NEZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXHJcbmltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludHMsIEJyZWFrcG9pbnRTdGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnXHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFZhbHVlU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBicmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlcixcclxuICApIHsgfVxyXG5cclxuICBwdWJsaWMgaXNYU21hbGwkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5icmVha3BvaW50T2JzZXJ2ZXJcclxuICAgIC5vYnNlcnZlKFtCcmVha3BvaW50cy5YU21hbGxdKVxyXG4gICAgLnBpcGUobWFwKChyZXM6IEJyZWFrcG9pbnRTdGF0ZSkgPT4gcmVzLm1hdGNoZXMpKVxyXG4gIHB1YmxpYyBpc0x0TWVkaXVtJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuYnJlYWtwb2ludE9ic2VydmVyXHJcbiAgICAub2JzZXJ2ZShbQnJlYWtwb2ludHMuWFNtYWxsLCBCcmVha3BvaW50cy5TbWFsbF0pXHJcbiAgICAucGlwZShtYXAoKHJlczogQnJlYWtwb2ludFN0YXRlKSA9PiByZXMubWF0Y2hlcykpXHJcblxyXG59XHJcbiJdfQ==
17
+ ValueService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ValueService_Factory() { return new ValueService(i0.ɵɵinject(i1.BreakpointObserver)); }, token: ValueService, providedIn: "root" });
18
+ ValueService.decorators = [
19
+ { type: Injectable, args: [{
20
+ providedIn: 'root',
21
+ },] }
22
+ ];
23
+ ValueService.ctorParameters = () => [
24
+ { type: BreakpointObserver }
25
+ ];
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi91dGlscy9zcmMvbGliL3NlcnZpY2VzL3ZhbHVlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUUxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFtQixNQUFNLHFCQUFxQixDQUFBO0FBQ3RGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTs7O0FBS3BDLE1BQU0sT0FBTyxZQUFZO0lBRXZCLFlBQ1Usa0JBQXNDO1FBQXRDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFHekMsY0FBUyxHQUF3QixJQUFJLENBQUMsa0JBQWtCO2FBQzVELE9BQU8sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUM3QixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBb0IsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7UUFDNUMsZ0JBQVcsR0FBd0IsSUFBSSxDQUFDLGtCQUFrQjthQUM5RCxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNoRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBb0IsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFQL0MsQ0FBQzs7OztZQVBOLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBTFEsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXIsIEJyZWFrcG9pbnRzLCBCcmVha3BvaW50U3RhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0J1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWYWx1ZVNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXIsXHJcbiAgKSB7IH1cclxuXHJcbiAgcHVibGljIGlzWFNtYWxsJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuYnJlYWtwb2ludE9ic2VydmVyXHJcbiAgICAub2JzZXJ2ZShbQnJlYWtwb2ludHMuWFNtYWxsXSlcclxuICAgIC5waXBlKG1hcCgocmVzOiBCcmVha3BvaW50U3RhdGUpID0+IHJlcy5tYXRjaGVzKSlcclxuICBwdWJsaWMgaXNMdE1lZGl1bSQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlclxyXG4gICAgLm9ic2VydmUoW0JyZWFrcG9pbnRzLlhTbWFsbCwgQnJlYWtwb2ludHMuU21hbGxdKVxyXG4gICAgLnBpcGUobWFwKChyZXM6IEJyZWFrcG9pbnRTdGF0ZSkgPT4gcmVzLm1hdGNoZXMpKVxyXG5cclxufVxyXG4iXX0=
@@ -1,11 +1,14 @@
1
1
  import { __awaiter } from "tslib";
2
+ import { HttpClient } from '@angular/common/http';
2
3
  import { Injectable } from '@angular/core';
3
4
  import { of } from 'rxjs';
4
5
  import { catchError, retry } from 'rxjs/operators';
6
+ import { ConfigurationsService } from './configurations.service';
5
7
  import * as i0 from "@angular/core";
6
8
  import * as i1 from "@angular/common/http";
7
9
  import * as i2 from "./configurations.service";
8
10
  const PROTECTED_SLAG_V8 = '/apis/protected/v8';
11
+ const ɵ0 = (type, id) => `${PROTECTED_SLAG_V8}/content/collection/${type}/${id}`, ɵ1 = (contentId) => `${PROTECTED_SLAG_V8}/user/progress/${contentId}`;
9
12
  const API_END_POINTS = {
10
13
  CONTENT: `${PROTECTED_SLAG_V8}/content`,
11
14
  AUTHORING_CONTENT: `/apis/authApi/hierarchy`,
@@ -22,9 +25,9 @@ const API_END_POINTS = {
22
25
  USER_CONTINUE_LEARNING: `${PROTECTED_SLAG_V8}/user/history/continue`,
23
26
  CONTENT_RATING: `${PROTECTED_SLAG_V8}/user/rating`,
24
27
  CONTENT_RATING_V2: `${PROTECTED_SLAG_V8}/user/rating/content/average-ratingInfo`,
25
- COLLECTION_HIERARCHY: (type, id) => `${PROTECTED_SLAG_V8}/content/collection/${type}/${id}`,
28
+ COLLECTION_HIERARCHY: ɵ0,
26
29
  REGISTRATION_STATUS: `${PROTECTED_SLAG_V8}/admin/userRegistration/checkUserRegistrationContent`,
27
- MARK_AS_COMPLETE_META: (contentId) => `${PROTECTED_SLAG_V8}/user/progress/${contentId}`,
30
+ MARK_AS_COMPLETE_META: ɵ1,
28
31
  };
29
32
  export class WidgetContentService {
30
33
  constructor(http, configSvc) {
@@ -171,12 +174,15 @@ export class WidgetContentService {
171
174
  return this.http.get(url);
172
175
  }
173
176
  }
174
- WidgetContentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: WidgetContentService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigurationsService }], target: i0.ɵɵFactoryTarget.Injectable });
175
- WidgetContentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: WidgetContentService, providedIn: 'root' });
176
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: WidgetContentService, decorators: [{
177
- type: Injectable,
178
- args: [{
179
- providedIn: 'root',
180
- }]
181
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ConfigurationsService }]; } });
182
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWNvbnRlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi91dGlscy9zcmMvbGliL3NlcnZpY2VzL3dpZGdldC1jb250ZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNyQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFBOzs7O0FBUWxELE1BQU0saUJBQWlCLEdBQUcsb0JBQW9CLENBQUE7QUFFOUMsTUFBTSxjQUFjLEdBQUc7SUFDckIsT0FBTyxFQUFFLEdBQUcsaUJBQWlCLFVBQVU7SUFDdkMsaUJBQWlCLEVBQUUseUJBQXlCO0lBQzVDLGFBQWEsRUFBRSxHQUFHLGlCQUFpQixvQkFBb0I7SUFDdkQsYUFBYSxFQUFFLEdBQUcsaUJBQWlCLG9CQUFvQjtJQUN2RCxtQkFBbUIsRUFBRSxHQUFHLGlCQUFpQix5QkFBeUI7SUFDbEUsY0FBYyxFQUFFLEdBQUcsaUJBQWlCLCtCQUErQjtJQUNuRSxzQkFBc0IsRUFBRSxHQUFHLGlCQUFpQiw0QkFBNEI7SUFDeEUsZ0JBQWdCLEVBQUUsR0FBRyxpQkFBaUIsbUJBQW1CO0lBQ3pELGlCQUFpQixFQUFFLEdBQUcsaUJBQWlCLG1CQUFtQjtJQUMxRCxpQkFBaUIsRUFBRSxHQUFHLGlCQUFpQixtQkFBbUI7SUFDMUQsb0NBQW9DLEVBQUUsR0FBRyxpQkFBaUIscUNBQXFDO0lBQy9GLGVBQWUsRUFBRSxHQUFHLGlCQUFpQixlQUFlO0lBQ3BELHNCQUFzQixFQUFFLEdBQUcsaUJBQWlCLHdCQUF3QjtJQUNwRSxjQUFjLEVBQUUsR0FBRyxpQkFBaUIsY0FBYztJQUNsRCxpQkFBaUIsRUFBRSxHQUFHLGlCQUFpQix5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TyxhQUFhLENBQUE7SUFDdEIsQ0FBQztJQUVELHFCQUFxQixDQUFDLE1BQWM7UUFDbEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBTSxHQUFHLGNBQWMsQ0FBQyxtQkFBbUIsSUFBSSxNQUFNLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFBO0lBQzFGLENBQUM7SUFFRCxXQUFXLENBQUMsR0FBVztRQUNyQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFNLEdBQUcsQ0FBQyxDQUFBO0lBQ2hDLENBQUM7O2tIQXRMVSxvQkFBb0I7c0hBQXBCLG9CQUFvQixjQUZuQixNQUFNOzRGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnXHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHJldHJ5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXHJcbmltcG9ydCB7IElDb250ZW50UmF0aW5nIH0gZnJvbSAnLi4vbW9kZWxzL2NvbnRlbnRSYXRpbmcubW9kZWwnXHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zU2VydmljZSB9IGZyb20gJy4vY29uZmlndXJhdGlvbnMuc2VydmljZSdcclxuaW1wb3J0IHsgTnNDb250ZW50U3RyaXBNdWx0aXBsZSB9IGZyb20gJy4vY29udGVudC1zdHJpcC1tdWx0aXBsZS5tb2RlbCdcclxuaW1wb3J0IHsgTnNDb250ZW50IH0gZnJvbSAnLi93aWRnZXQtY29udGVudC5tb2RlbCdcclxuaW1wb3J0IHsgTlNTZWFyY2ggfSBmcm9tICcuL3dpZGdldC1zZWFyY2gubW9kZWwnXHJcblxyXG4vLyBUT0RPOiBtb3ZlIHRoaXMgaW4gc29tZSBjb21tb24gcGxhY2VcclxuY29uc3QgUFJPVEVDVEVEX1NMQUdfVjggPSAnL2FwaXMvcHJvdGVjdGVkL3Y4J1xyXG5cclxuY29uc3QgQVBJX0VORF9QT0lOVFMgPSB7XHJcbiAgQ09OVEVOVDogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnRgLFxyXG4gIEFVVEhPUklOR19DT05URU5UOiBgL2FwaXMvYXV0aEFwaS9oaWVyYXJjaHlgLFxyXG4gIENPTlRFTlRfTElLRVM6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L2xpa2VDb3VudGAsXHJcbiAgU0VUX1MzX0NPT0tJRTogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvc2V0Q29va2llYCxcclxuICBTRVRfUzNfSU1BR0VfQ09PS0lFOiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9zZXRJbWFnZUNvb2tpZWAsXHJcbiAgRkVUQ0hfTUFOSUZFU1Q6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L2dldFdlYk1vZHVsZU1hbmlmZXN0YCxcclxuICBGRVRDSF9XRUJfTU9EVUxFX0ZJTEVTOiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9nZXRXZWJNb2R1bGVGaWxlc2AsXHJcbiAgTVVMVElQTEVfQ09OVEVOVDogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvbXVsdGlwbGVgLFxyXG4gIENPTlRFTlRfU0VBUkNIX1Y1OiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9zZWFyY2hWNWAsXHJcbiAgQ09OVEVOVF9TRUFSQ0hfVjY6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L3NlYXJjaFY2YCxcclxuICBDT05URU5UX1NFQVJDSF9SRUdJT05fUkVDT01NRU5EQVRJT046IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L3NlYXJjaFJlZ2lvblJlY29tbWVuZGF0aW9uYCxcclxuICBDT05URU5UX0hJU1RPUlk6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS91c2VyL2hpc3RvcnlgLFxyXG4gIFVTRVJfQ09OVElOVUVfTEVBUk5JTkc6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS91c2VyL2hpc3RvcnkvY29udGludWVgLFxyXG4gIENPTlRFTlRfUkFUSU5HOiBgJHtQUk9URUNURURfU0xBR19WOH0vdXNlci9yYXRpbmdgLFxyXG4gIENPTlRFTlRfUkFUSU5HX1YyOiBgJHtQUk9URUNURURfU0xBR19WOH0vdXNlci9yYXRpbmcvY29udGVudC9hdmVyYWdlLXJhdGluZ0luZm9gLFxyXG4gIENPTExFQ1RJT05fSElFUkFSQ0hZOiAodHlwZTogc3RyaW5nLCBpZDogc3RyaW5nKSA9PlxyXG4gICAgYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvY29sbGVjdGlvbi8ke3R5cGV9LyR7aWR9YCxcclxuICBSRUdJU1RSQVRJT05fU1RBVFVTOiBgJHtQUk9URUNURURfU0xBR19WOH0vYWRtaW4vdXNlclJlZ2lzdHJhdGlvbi9jaGVja1VzZXJSZWdpc3RyYXRpb25Db250ZW50YCxcclxuICBNQVJLX0FTX0NPTVBMRVRFX01FVEE6IChjb250ZW50SWQ6IHN0cmluZykgPT4gYCR7UFJPVEVDVEVEX1NMQUdfVjh9L3VzZXIvcHJvZ3Jlc3MvJHtjb250ZW50SWR9YCxcclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFdpZGdldENvbnRlbnRTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgY29uZmlnU3ZjOiBDb25maWd1cmF0aW9uc1NlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBmZXRjaE1hcmtBc0NvbXBsZXRlTWV0YShpZGVudGlmaWVyOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gQVBJX0VORF9QT0lOVFMuTUFSS19BU19DT01QTEVURV9NRVRBKGlkZW50aWZpZXIpXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpLnRvUHJvbWlzZSgpXHJcbiAgfVxyXG5cclxuICBmZXRjaENvbnRlbnQoXHJcbiAgICBjb250ZW50SWQ6IHN0cmluZyxcclxuICAgIGhpZXJhcmNoeVR5cGU6ICdhbGwnIHwgJ21pbmltYWwnIHwgJ2RldGFpbCcgPSAnZGV0YWlsJyxcclxuICAgIGFkZGl0aW9uYWxGaWVsZHM6IHN0cmluZ1tdID0gW10sXHJcbiAgKTogT2JzZXJ2YWJsZTxOc0NvbnRlbnQuSUNvbnRlbnQ+IHtcclxuICAgIGNvbnN0IHVybCA9IGAke0FQSV9FTkRfUE9JTlRTLkNPTlRFTlR9LyR7Y29udGVudElkfT9oaWVyYXJjaHlUeXBlPSR7aGllcmFyY2h5VHlwZX1gXHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PE5zQ29udGVudC5JQ29udGVudD4odXJsLCB7IGFkZGl0aW9uYWxGaWVsZHMgfSlcclxuICAgICAgLnBpcGUocmV0cnkoMSkpXHJcbiAgfVxyXG4gIGZldGNoQXV0aG9yaW5nQ29udGVudChjb250ZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8TnNDb250ZW50LklDb250ZW50PiB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHtBUElfRU5EX1BPSU5UUy5BVVRIT1JJTkdfQ09OVEVOVH0vJHtjb250ZW50SWR9YFxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TnNDb250ZW50LklDb250ZW50Pih1cmwpLnBpcGUocmV0cnkoMSkpXHJcbiAgfVxyXG4gIGZldGNoTXVsdGlwbGVDb250ZW50KGlkczogc3RyaW5nW10pOiBPYnNlcnZhYmxlPE5zQ29udGVudC5JQ29udGVudFtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxOc0NvbnRlbnQuSUNvbnRlbnRbXT4oXHJcbiAgICAgIGAke0FQSV9FTkRfUE9JTlRTLk1VTFRJUExFX0NPTlRFTlR9LyR7aWRzLmpvaW4oJywnKX1gLFxyXG4gICAgKVxyXG4gIH1cclxuICBmZXRjaENvbGxlY3Rpb25IaWVyYXJjaHkodHlwZTogc3RyaW5nLCBpZDogc3RyaW5nLCBwYWdlTnVtYmVyOiBudW1iZXIgPSAwLCBwYWdlU2l6ZTogbnVtYmVyID0gMSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TnNDb250ZW50LklDb2xsZWN0aW9uSGllcmFyY2h5UmVzcG9uc2U+KFxyXG4gICAgICBgJHtBUElfRU5EX1BPSU5UUy5DT0xMRUNUSU9OX0hJRVJBUkNIWShcclxuICAgICAgICB0eXBlLFxyXG4gICAgICAgIGlkLFxyXG4gICAgICApfT9wYWdlTnVtYmVyPSR7cGFnZU51bWJlcn0mcGFnZVNpemU9JHtwYWdlU2l6ZX1gLFxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgZmV0Y2hDb250ZW50TGlrZXMoY29udGVudElkczogeyBjb250ZW50X2lkOiBzdHJpbmdbXSB9KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PHsgW2lkZW50aWZpZXI6IHN0cmluZ106IG51bWJlciB9PihBUElfRU5EX1BPSU5UUy5DT05URU5UX0xJS0VTLCBjb250ZW50SWRzKVxyXG4gICAgICAudG9Qcm9taXNlKClcclxuICB9XHJcbiAgZmV0Y2hDb250ZW50UmF0aW5ncyhjb250ZW50SWRzOiB7IGNvbnRlbnRJZHM6IHN0cmluZ1tdIH0pIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3QoYCR7QVBJX0VORF9QT0lOVFMuQ09OVEVOVF9SQVRJTkd9L3JhdGluZ2AsIGNvbnRlbnRJZHMpXHJcbiAgICAgIC50b1Byb21pc2UoKVxyXG4gIH1cclxuXHJcbiAgZmV0Y2hDb250ZW50UmF0aW5nc1YyKGNvbnRlbnRJZDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5nZXQ8SUNvbnRlbnRSYXRpbmc+KGAke0FQSV9FTkRfUE9JTlRTLkNPTlRFTlRfUkFUSU5HX1YyfS8ke2NvbnRlbnRJZH1gKVxyXG4gIH1cclxuXHJcbiAgZmV0Y2hDb250ZW50SGlzdG9yeShjb250ZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8TnNDb250ZW50LklDb250aW51ZUxlYXJuaW5nRGF0YT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TnNDb250ZW50LklDb250aW51ZUxlYXJuaW5nRGF0YT4oXHJcbiAgICAgIGAke0FQSV9FTkRfUE9JTlRTLkNPTlRFTlRfSElTVE9SWX0vJHtjb250ZW50SWR9YCxcclxuICAgIClcclxuICB9XHJcblxyXG4gIGFzeW5jIGNvbnRpbnVlTGVhcm5pbmcoaWQ6IHN0cmluZywgY29sbGVjdGlvbklkPzogc3RyaW5nLCBjb2xsZWN0aW9uVHlwZT86IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgcmVzb2x2ZSA9PiB7XHJcbiAgICAgIGlmIChjb2xsZWN0aW9uVHlwZSAmJlxyXG4gICAgICAgIGNvbGxlY3Rpb25UeXBlLnRvTG93ZXJDYXNlKCkgPT09ICdwbGF5bGlzdCcpIHtcclxuICAgICAgICBjb25zdCByZXFCb2R5ID0ge1xyXG4gICAgICAgICAgY29udGV4dFBhdGhJZDogY29sbGVjdGlvbklkID8gY29sbGVjdGlvbklkIDogaWQsXHJcbiAgICAgICAgICByZXNvdXJjZUlkOiBpZCxcclxuICAgICAgICAgIGRhdGE6IEpTT04uc3RyaW5naWZ5KHtcclxuICAgICAgICAgICAgdGltZXN0YW1wOiBEYXRlLm5vdygpLFxyXG4gICAgICAgICAgICBjb250ZXh0RnVsbFBhdGg6IFtjb2xsZWN0aW9uSWQsIGlkXSxcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgZGF0ZUFjY2Vzc2VkOiBEYXRlLm5vdygpLFxyXG4gICAgICAgICAgY29udGV4dFR5cGU6ICdwbGF5bGlzdCcsXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGF3YWl0IHRoaXMuc2F2ZUNvbnRpbnVlTGVhcm5pbmcocmVxQm9keSkudG9Qcm9taXNlKCkuY2F0Y2goKS5maW5hbGx5KCgpID0+IHtcclxuICAgICAgICAgIHJlc29sdmUodHJ1ZSlcclxuICAgICAgICB9XHJcbiAgICAgICAgKVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IHJlcUJvZHkgPSB7XHJcbiAgICAgICAgICBjb250ZXh0UGF0aElkOiBjb2xsZWN0aW9uSWQgPyBjb2xsZWN0aW9uSWQgOiBpZCxcclxuICAgICAgICAgIHJlc291cmNlSWQ6IGlkLFxyXG4gICAgICAgICAgZGF0YTogSlNPTi5zdHJpbmdpZnkoeyB0aW1lc3RhbXA6IERhdGUubm93KCkgfSksXHJcbiAgICAgICAgICBkYXRlQWNjZXNzZWQ6IERhdGUubm93KCksXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGF3YWl0IHRoaXMuc2F2ZUNvbnRpbnVlTGVhcm5pbmcocmVxQm9keSkudG9Qcm9taXNlKCkuY2F0Y2goKS5maW5hbGx5KCgpID0+IHtcclxuICAgICAgICAgIHJlc29sdmUodHJ1ZSlcclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuICBzYXZlQ29udGludWVMZWFybmluZyhjb250ZW50OiBOc0NvbnRlbnQuSVZpZXdlckNvbnRpbnVlTGVhcm5pbmdSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IEFQSV9FTkRfUE9JTlRTLlVTRVJfQ09OVElOVUVfTEVBUk5JTkdcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KHVybCwgY29udGVudClcclxuICB9XHJcblxyXG4gIHNldFMzQ29va2llKFxyXG4gICAgY29udGVudElkOiBzdHJpbmcsXHJcbiAgICAvLyBfcGF0aDogc3RyaW5nLFxyXG4gICk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0KEFQSV9FTkRfUE9JTlRTLlNFVF9TM19DT09LSUUsIHsgY29udGVudElkIH0pXHJcbiAgICAgIC5waXBlKGNhdGNoRXJyb3IoX2VyciA9PiBvZih0cnVlKSkpXHJcbiAgfVxyXG5cclxuICBzZXRTM0ltYWdlQ29va2llKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoQVBJX0VORF9QT0lOVFMuU0VUX1MzX0lNQUdFX0NPT0tJRSwge30pLnBpcGUoY2F0Y2hFcnJvcihfZXJyID0+IG9mKHRydWUpKSlcclxuICB9XHJcblxyXG4gIGZldGNoTWFuaWZlc3QodXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KEFQSV9FTkRfUE9JTlRTLkZFVENIX01BTklGRVNULCB7IHVybCB9KVxyXG4gIH1cclxuICBmZXRjaFdlYk1vZHVsZUNvbnRlbnQodXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7QVBJX0VORF9QT0lOVFMuRkVUQ0hfV0VCX01PRFVMRV9GSUxFU30/dXJsPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHVybCl9YClcclxuICB9XHJcbiAgc2VhcmNoKHJlcTogTlNTZWFyY2guSVNlYXJjaFJlcXVlc3QpOiBPYnNlcnZhYmxlPE5TU2VhcmNoLklTZWFyY2hBcGlSZXN1bHQ+IHtcclxuICAgIHJlcS5xdWVyeSA9IHJlcS5xdWVyeSB8fCAnJ1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PE5TU2VhcmNoLklTZWFyY2hBcGlSZXN1bHQ+KEFQSV9FTkRfUE9JTlRTLkNPTlRFTlRfU0VBUkNIX1Y1LCB7XHJcbiAgICAgIHJlcXVlc3Q6IHJlcSxcclxuICAgIH0pXHJcbiAgfVxyXG4gIHNlYXJjaFJlZ2lvblJlY29tbWVuZGF0aW9uKFxyXG4gICAgcmVxOiBOU1NlYXJjaC5JU2VhcmNoT3JnUmVnaW9uUmVjb21tZW5kYXRpb25SZXF1ZXN0LFxyXG4gICk6IE9ic2VydmFibGU8TnNDb250ZW50U3RyaXBNdWx0aXBsZS5JQ29udGVudFN0cmlwUmVzcG9uc2VBcGk+IHtcclxuICAgIHJlcS5xdWVyeSA9IHJlcS5xdWVyeSB8fCAnJ1xyXG4gICAgcmVxLnByZUxhYmVsVmFsdWUgPVxyXG4gICAgICAocmVxLnByZUxhYmVsVmFsdWUgfHwgJycpICtcclxuICAgICAgKCh0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZSAmJiB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZS5jb3VudHJ5KSB8fCAnJylcclxuICAgIHJlcS5maWx0ZXJzID0ge1xyXG4gICAgICAuLi5yZXEuZmlsdGVycyxcclxuICAgICAgbGFiZWxzOiBbcmVxLnByZUxhYmVsVmFsdWUgfHwgJyddLFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PE5zQ29udGVudFN0cmlwTXVsdGlwbGUuSUNvbnRlbnRTdHJpcFJlc3BvbnNlQXBpPihcclxuICAgICAgQVBJX0VORF9QT0lOVFMuQ09OVEVOVF9TRUFSQ0hfUkVHSU9OX1JFQ09NTUVOREFUSU9OLFxyXG4gICAgICB7IHJlcXVlc3Q6IHJlcSB9LFxyXG4gICAgKVxyXG4gIH1cclxuICBzZWFyY2hWNihyZXE6IE5TU2VhcmNoLklTZWFyY2hWNlJlcXVlc3QpOiBPYnNlcnZhYmxlPE5TU2VhcmNoLklTZWFyY2hWNkFwaVJlc3VsdD4ge1xyXG4gICAgcmVxLnF1ZXJ5ID0gcmVxLnF1ZXJ5IHx8ICcnXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TlNTZWFyY2guSVNlYXJjaFY2QXBpUmVzdWx0PihBUElfRU5EX1BPSU5UUy5DT05URU5UX1NFQVJDSF9WNiwgcmVxKVxyXG4gIH1cclxuXHJcbiAgZmV0Y2hDb250ZW50UmF0aW5nKGNvbnRlbnRJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx7IHJhdGluZzogbnVtYmVyIH0+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PHsgcmF0aW5nOiBudW1iZXIgfT4oYCR7QVBJX0VORF9QT0lOVFMuQ09OVEVOVF9SQVRJTkd9LyR7Y29udGVudElkfWApXHJcbiAgfVxyXG4gIGRlbGV0ZUNvbnRlbnRSYXRpbmcoY29udGVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYCR7QVBJX0VORF9QT0lOVFMuQ09OVEVOVF9SQVRJTkd9LyR7Y29udGVudElkfWApXHJcbiAgfVxyXG4gIGFkZENvbnRlbnRSYXRpbmcoY29udGVudElkOiBzdHJpbmcsIGRhdGE6IHsgcmF0aW5nOiBudW1iZXIgfSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHtBUElfRU5EX1BPSU5UUy5DT05URU5UX1JBVElOR30vJHtjb250ZW50SWR9YCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGdldEZpcnN0Q2hpbGRJbkhpZXJhcmNoeShjb250ZW50OiBOc0NvbnRlbnQuSUNvbnRlbnQpOiBOc0NvbnRlbnQuSUNvbnRlbnQge1xyXG4gICAgaWYgKCEoY29udGVudC5jaGlsZHJlbiB8fCBbXSkubGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybiBjb250ZW50XHJcbiAgICB9XHJcbiAgICBpZiAoXHJcbiAgICAgIGNvbnRlbnQuY29udGVudFR5cGUgPT09ICdMZWFybmluZyBQYXRoJyAmJlxyXG4gICAgICAhKGNvbnRlbnQuYXJ0aWZhY3RVcmwgJiYgY29udGVudC5hcnRpZmFjdFVybC5sZW5ndGgpXHJcbiAgICApIHtcclxuICAgICAgY29uc3QgY2hpbGQgPSBjb250ZW50LmNoaWxkcmVuWzBdXHJcbiAgICAgIHJldHVybiB0aGlzLmdldEZpcnN0Q2hpbGRJbkhpZXJhcmNoeShjaGlsZClcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgY29udGVudC5jb250ZW50VHlwZSA9PT0gJ1Jlc291cmNlJyB8fFxyXG4gICAgICBjb250ZW50LmNvbnRlbnRUeXBlID09PSAnS25vd2xlZGdlIEFydGlmYWN0JyB8fFxyXG4gICAgICBjb250ZW50LmNvbnRlbnRUeXBlID09PSAnTGVhcm5pbmcgUGF0aCdcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gY29udGVudFxyXG4gICAgfVxyXG4gICAgY29uc3QgZmlyc3RDaGlsZCA9IGNvbnRlbnQuY2hpbGRyZW5bMF1cclxuICAgIGNvbnN0IHJlc3VsdENvbnRlbnQgPSB0aGlzLmdldEZpcnN0Q2hpbGRJbkhpZXJhcmNoeShmaXJzdENoaWxkKVxyXG4gICAgcmV0dXJuIHJlc3VsdENvbnRlbnRcclxuICB9XHJcblxyXG4gIGdldFJlZ2lzdHJhdGlvblN0YXR1cyhzb3VyY2U6IHN0cmluZyk6IFByb21pc2U8eyBoYXNBY2Nlc3M6IGJvb2xlYW47IHJlZ2lzdHJhdGlvblVybD86IHN0cmluZyB9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KGAke0FQSV9FTkRfUE9JTlRTLlJFR0lTVFJBVElPTl9TVEFUVVN9LyR7c291cmNlfWApLnRvUHJvbWlzZSgpXHJcbiAgfVxyXG5cclxuICBmZXRjaENvbmZpZyh1cmw6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55Pih1cmwpXHJcbiAgfVxyXG59XHJcbiJdfQ==
177
+ WidgetContentService.ɵprov = i0.ɵɵdefineInjectable({ factory: function WidgetContentService_Factory() { return new WidgetContentService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.ConfigurationsService)); }, token: WidgetContentService, providedIn: "root" });
178
+ WidgetContentService.decorators = [
179
+ { type: Injectable, args: [{
180
+ providedIn: 'root',
181
+ },] }
182
+ ];
183
+ WidgetContentService.ctorParameters = () => [
184
+ { type: HttpClient },
185
+ { type: ConfigurationsService }
186
+ ];
187
+ export { ɵ0, ɵ1 };
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWNvbnRlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi91dGlscy9zcmMvbGliL3NlcnZpY2VzL3dpZGdldC1jb250ZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUVsRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTs7OztBQU1oRSxNQUFNLGlCQUFpQixHQUFHLG9CQUFvQixDQUFBO1dBa0J0QixDQUFDLElBQVksRUFBRSxFQUFVLEVBQUUsRUFBRSxDQUNqRCxHQUFHLGlCQUFpQix1QkFBdUIsSUFBSSxJQUFJLEVBQUUsRUFBRSxPQUVsQyxDQUFDLFNBQWlCLEVBQUUsRUFBRSxDQUFDLEdBQUcsaUJBQWlCLGtCQUFrQixTQUFTLEVBQUU7QUFuQmpHLE1BQU0sY0FBYyxHQUFHO0lBQ3JCLE9BQU8sRUFBRSxHQUFHLGlCQUFpQixVQUFVO0lBQ3ZDLGlCQUFpQixFQUFFLHlCQUF5QjtJQUM1QyxhQUFhLEVBQUUsR0FBRyxpQkFBaUIsb0JBQW9CO0lBQ3ZELGFBQWEsRUFBRSxHQUFHLGlCQUFpQixvQkFBb0I7SUFDdkQsbUJBQW1CLEVBQUUsR0FBRyxpQkFBaUIseUJBQXlCO0lBQ2xFLGNBQWMsRUFBRSxHQUFHLGlCQUFpQiwrQkFBK0I7SUFDbkUsc0JBQXNCLEVBQUUsR0FBRyxpQkFBaUIsNEJBQTRCO0lBQ3hFLGdCQUFnQixFQUFFLEdBQUcsaUJBQWlCLG1CQUFtQjtJQUN6RCxpQkFBaUIs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RyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3RDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUMvRCxPQUFPLGFBQWEsQ0FBQTtJQUN0QixDQUFDO0lBRUQscUJBQXFCLENBQUMsTUFBYztRQUNsQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFNLEdBQUcsY0FBYyxDQUFDLG1CQUFtQixJQUFJLE1BQU0sRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUE7SUFDMUYsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFXO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQU0sR0FBRyxDQUFDLENBQUE7SUFDaEMsQ0FBQzs7OztZQXpMRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQXJDUSxVQUFVO1lBS1YscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCByZXRyeSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xyXG5pbXBvcnQgeyBJQ29udGVudFJhdGluZyB9IGZyb20gJy4uL21vZGVscy9jb250ZW50UmF0aW5nLm1vZGVsJ1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uc1NlcnZpY2UgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb25zLnNlcnZpY2UnXHJcbmltcG9ydCB7IE5zQ29udGVudFN0cmlwTXVsdGlwbGUgfSBmcm9tICcuL2NvbnRlbnQtc3RyaXAtbXVsdGlwbGUubW9kZWwnXHJcbmltcG9ydCB7IE5zQ29udGVudCB9IGZyb20gJy4vd2lkZ2V0LWNvbnRlbnQubW9kZWwnXHJcbmltcG9ydCB7IE5TU2VhcmNoIH0gZnJvbSAnLi93aWRnZXQtc2VhcmNoLm1vZGVsJ1xyXG5cclxuLy8gVE9ETzogbW92ZSB0aGlzIGluIHNvbWUgY29tbW9uIHBsYWNlXHJcbmNvbnN0IFBST1RFQ1RFRF9TTEFHX1Y4ID0gJy9hcGlzL3Byb3RlY3RlZC92OCdcclxuXHJcbmNvbnN0IEFQSV9FTkRfUE9JTlRTID0ge1xyXG4gIENPTlRFTlQ6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50YCxcclxuICBBVVRIT1JJTkdfQ09OVEVOVDogYC9hcGlzL2F1dGhBcGkvaGllcmFyY2h5YCxcclxuICBDT05URU5UX0xJS0VTOiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9saWtlQ291bnRgLFxyXG4gIFNFVF9TM19DT09LSUU6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L3NldENvb2tpZWAsXHJcbiAgU0VUX1MzX0lNQUdFX0NPT0tJRTogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvc2V0SW1hZ2VDb29raWVgLFxyXG4gIEZFVENIX01BTklGRVNUOiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9nZXRXZWJNb2R1bGVNYW5pZmVzdGAsXHJcbiAgRkVUQ0hfV0VCX01PRFVMRV9GSUxFUzogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvZ2V0V2ViTW9kdWxlRmlsZXNgLFxyXG4gIE1VTFRJUExFX0NPTlRFTlQ6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L211bHRpcGxlYCxcclxuICBDT05URU5UX1NFQVJDSF9WNTogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvc2VhcmNoVjVgLFxyXG4gIENPTlRFTlRfU0VBUkNIX1Y2OiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9zZWFyY2hWNmAsXHJcbiAgQ09OVEVOVF9TRUFSQ0hfUkVHSU9OX1JFQ09NTUVOREFUSU9OOiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9zZWFyY2hSZWdpb25SZWNvbW1lbmRhdGlvbmAsXHJcbiAgQ09OVEVOVF9ISVNUT1JZOiBgJHtQUk9URUNURURfU0xBR19WOH0vdXNlci9oaXN0b3J5YCxcclxuICBVU0VSX0NPTlRJTlVFX0xFQVJOSU5HOiBgJHtQUk9URUNURURfU0xBR19WOH0vdXNlci9oaXN0b3J5L2NvbnRpbnVlYCxcclxuICBDT05URU5UX1JBVElORzogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L3VzZXIvcmF0aW5nYCxcclxuICBDT05URU5UX1JBVElOR19WMjogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L3VzZXIvcmF0aW5nL2NvbnRlbnQvYXZlcmFnZS1yYXRpbmdJbmZvYCxcclxuICBDT0xMRUNUSU9OX0hJRVJBUkNIWTogKHR5cGU6IHN0cmluZywgaWQ6IHN0cmluZykgPT5cclxuICAgIGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L2NvbGxlY3Rpb24vJHt0eXBlfS8ke2lkfWAsXHJcbiAgUkVHSVNUUkFUSU9OX1NUQVRVUzogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2FkbWluL3VzZXJSZWdpc3RyYXRpb24vY2hlY2tVc2VyUmVnaXN0cmF0aW9uQ29udGVudGAsXHJcbiAgTUFSS19BU19DT01QTEVURV9NRVRBOiAoY29udGVudElkOiBzdHJpbmcpID0+IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS91c2VyL3Byb2dyZXNzLyR7Y29udGVudElkfWAsXHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXaWRnZXRDb250ZW50U2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIGNvbmZpZ1N2YzogQ29uZmlndXJhdGlvbnNTZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgZmV0Y2hNYXJrQXNDb21wbGV0ZU1ldGEoaWRlbnRpZmllcjogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IEFQSV9FTkRfUE9JTlRTLk1BUktfQVNfQ09NUExFVEVfTUVUQShpZGVudGlmaWVyKVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsKS50b1Byb21pc2UoKVxyXG4gIH1cclxuXHJcbiAgZmV0Y2hDb250ZW50KFxyXG4gICAgY29udGVudElkOiBzdHJpbmcsXHJcbiAgICBoaWVyYXJjaHlUeXBlOiAnYWxsJyB8ICdtaW5pbWFsJyB8ICdkZXRhaWwnID0gJ2RldGFpbCcsXHJcbiAgICBhZGRpdGlvbmFsRmllbGRzOiBzdHJpbmdbXSA9IFtdLFxyXG4gICk6IE9ic2VydmFibGU8TnNDb250ZW50LklDb250ZW50PiB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHtBUElfRU5EX1BPSU5UUy5DT05URU5UfS8ke2NvbnRlbnRJZH0/aGllcmFyY2h5VHlwZT0ke2hpZXJhcmNoeVR5cGV9YFxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucG9zdDxOc0NvbnRlbnQuSUNvbnRlbnQ+KHVybCwgeyBhZGRpdGlvbmFsRmllbGRzIH0pXHJcbiAgICAgIC5waXBlKHJldHJ5KDEpKVxyXG4gIH1cclxuICBmZXRjaEF1dGhvcmluZ0NvbnRlbnQoY29udGVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPE5zQ29udGVudC5JQ29udGVudD4ge1xyXG4gICAgY29uc3QgdXJsID0gYCR7QVBJX0VORF9QT0lOVFMuQVVUSE9SSU5HX0NPTlRFTlR9LyR7Y29udGVudElkfWBcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PE5zQ29udGVudC5JQ29udGVudD4odXJsKS5waXBlKHJldHJ5KDEpKVxyXG4gIH1cclxuICBmZXRjaE11bHRpcGxlQ29udGVudChpZHM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxOc0NvbnRlbnQuSUNvbnRlbnRbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TnNDb250ZW50LklDb250ZW50W10+KFxyXG4gICAgICBgJHtBUElfRU5EX1BPSU5UUy5NVUxUSVBMRV9DT05URU5UfS8ke2lkcy5qb2luKCcsJyl9YCxcclxuICAgIClcclxuICB9XHJcbiAgZmV0Y2hDb2xsZWN0aW9uSGllcmFyY2h5KHR5cGU6IHN0cmluZywgaWQ6IHN0cmluZywgcGFnZU51bWJlcjogbnVtYmVyID0gMCwgcGFnZVNpemU6IG51bWJlciA9IDEpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PE5zQ29udGVudC5JQ29sbGVjdGlvbkhpZXJhcmNoeVJlc3BvbnNlPihcclxuICAgICAgYCR7QVBJX0VORF9QT0lOVFMuQ09MTEVDVElPTl9ISUVSQVJDSFkoXHJcbiAgICAgICAgdHlwZSxcclxuICAgICAgICBpZCxcclxuICAgICAgKX0/cGFnZU51bWJlcj0ke3BhZ2VOdW1iZXJ9JnBhZ2VTaXplPSR7cGFnZVNpemV9YCxcclxuICAgIClcclxuICB9XHJcblxyXG4gIGZldGNoQ29udGVudExpa2VzKGNvbnRlbnRJZHM6IHsgY29udGVudF9pZDogc3RyaW5nW10gfSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucG9zdDx7IFtpZGVudGlmaWVyOiBzdHJpbmddOiBudW1iZXIgfT4oQVBJX0VORF9QT0lOVFMuQ09OVEVOVF9MSUtFUywgY29udGVudElkcylcclxuICAgICAgLnRvUHJvbWlzZSgpXHJcbiAgfVxyXG4gIGZldGNoQ29udGVudFJhdGluZ3MoY29udGVudElkczogeyBjb250ZW50SWRzOiBzdHJpbmdbXSB9KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0KGAke0FQSV9FTkRfUE9JTlRTLkNPTlRFTlRfUkFUSU5HfS9yYXRpbmdgLCBjb250ZW50SWRzKVxyXG4gICAgICAudG9Qcm9taXNlKClcclxuICB9XHJcblxyXG4gIGZldGNoQ29udGVudFJhdGluZ3NWMihjb250ZW50SWQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAuZ2V0PElDb250ZW50UmF0aW5nPihgJHtBUElfRU5EX1BPSU5UUy5DT05URU5UX1JBVElOR19WMn0vJHtjb250ZW50SWR9YClcclxuICB9XHJcblxyXG4gIGZldGNoQ29udGVudEhpc3RvcnkoY29udGVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPE5zQ29udGVudC5JQ29udGludWVMZWFybmluZ0RhdGE+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PE5zQ29udGVudC5JQ29udGludWVMZWFybmluZ0RhdGE+KFxyXG4gICAgICBgJHtBUElfRU5EX1BPSU5UUy5DT05URU5UX0hJU1RPUll9LyR7Y29udGVudElkfWAsXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBhc3luYyBjb250aW51ZUxlYXJuaW5nKGlkOiBzdHJpbmcsIGNvbGxlY3Rpb25JZD86IHN0cmluZywgY29sbGVjdGlvblR5cGU/OiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIHJlc29sdmUgPT4ge1xyXG4gICAgICBpZiAoY29sbGVjdGlvblR5cGUgJiZcclxuICAgICAgICBjb2xsZWN0aW9uVHlwZS50b0xvd2VyQ2FzZSgpID09PSAncGxheWxpc3QnKSB7XHJcbiAgICAgICAgY29uc3QgcmVxQm9keSA9IHtcclxuICAgICAgICAgIGNvbnRleHRQYXRoSWQ6IGNvbGxlY3Rpb25JZCA/IGNvbGxlY3Rpb25JZCA6IGlkLFxyXG4gICAgICAgICAgcmVzb3VyY2VJZDogaWQsXHJcbiAgICAgICAgICBkYXRhOiBKU09OLnN0cmluZ2lmeSh7XHJcbiAgICAgICAgICAgIHRpbWVzdGFtcDogRGF0ZS5ub3coKSxcclxuICAgICAgICAgICAgY29udGV4dEZ1bGxQYXRoOiBbY29sbGVjdGlvbklkLCBpZF0sXHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICAgIGRhdGVBY2Nlc3NlZDogRGF0ZS5ub3coKSxcclxuICAgICAgICAgIGNvbnRleHRUeXBlOiAncGxheWxpc3QnLFxyXG4gICAgICAgIH1cclxuICAgICAgICBhd2FpdCB0aGlzLnNhdmVDb250aW51ZUxlYXJuaW5nKHJlcUJvZHkpLnRvUHJvbWlzZSgpLmNhdGNoKCkuZmluYWxseSgoKSA9PiB7XHJcbiAgICAgICAgICByZXNvbHZlKHRydWUpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIClcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCByZXFCb2R5ID0ge1xyXG4gICAgICAgICAgY29udGV4dFBhdGhJZDogY29sbGVjdGlvbklkID8gY29sbGVjdGlvbklkIDogaWQsXHJcbiAgICAgICAgICByZXNvdXJjZUlkOiBpZCxcclxuICAgICAgICAgIGRhdGE6IEpTT04uc3RyaW5naWZ5KHsgdGltZXN0YW1wOiBEYXRlLm5vdygpIH0pLFxyXG4gICAgICAgICAgZGF0ZUFjY2Vzc2VkOiBEYXRlLm5vdygpLFxyXG4gICAgICAgIH1cclxuICAgICAgICBhd2FpdCB0aGlzLnNhdmVDb250aW51ZUxlYXJuaW5nKHJlcUJvZHkpLnRvUHJvbWlzZSgpLmNhdGNoKCkuZmluYWxseSgoKSA9PiB7XHJcbiAgICAgICAgICByZXNvbHZlKHRydWUpXHJcbiAgICAgICAgfSlcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcbiAgc2F2ZUNvbnRpbnVlTGVhcm5pbmcoY29udGVudDogTnNDb250ZW50LklWaWV3ZXJDb250aW51ZUxlYXJuaW5nUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCB1cmwgPSBBUElfRU5EX1BPSU5UUy5VU0VSX0NPTlRJTlVFX0xFQVJOSU5HXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55Pih1cmwsIGNvbnRlbnQpXHJcbiAgfVxyXG5cclxuICBzZXRTM0Nvb2tpZShcclxuICAgIGNvbnRlbnRJZDogc3RyaW5nLFxyXG4gICAgLy8gX3BhdGg6IHN0cmluZyxcclxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucG9zdChBUElfRU5EX1BPSU5UUy5TRVRfUzNfQ09PS0lFLCB7IGNvbnRlbnRJZCB9KVxyXG4gICAgICAucGlwZShjYXRjaEVycm9yKF9lcnIgPT4gb2YodHJ1ZSkpKVxyXG4gIH1cclxuXHJcbiAgc2V0UzNJbWFnZUNvb2tpZSgpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KEFQSV9FTkRfUE9JTlRTLlNFVF9TM19JTUFHRV9DT09LSUUsIHt9KS5waXBlKGNhdGNoRXJyb3IoX2VyciA9PiBvZih0cnVlKSkpXHJcbiAgfVxyXG5cclxuICBmZXRjaE1hbmlmZXN0KHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChBUElfRU5EX1BPSU5UUy5GRVRDSF9NQU5JRkVTVCwgeyB1cmwgfSlcclxuICB9XHJcbiAgZmV0Y2hXZWJNb2R1bGVDb250ZW50KHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke0FQSV9FTkRfUE9JTlRTLkZFVENIX1dFQl9NT0RVTEVfRklMRVN9P3VybD0ke2VuY29kZVVSSUNvbXBvbmVudCh1cmwpfWApXHJcbiAgfVxyXG4gIHNlYXJjaChyZXE6IE5TU2VhcmNoLklTZWFyY2hSZXF1ZXN0KTogT2JzZXJ2YWJsZTxOU1NlYXJjaC5JU2VhcmNoQXBpUmVzdWx0PiB7XHJcbiAgICByZXEucXVlcnkgPSByZXEucXVlcnkgfHwgJydcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxOU1NlYXJjaC5JU2VhcmNoQXBpUmVzdWx0PihBUElfRU5EX1BPSU5UUy5DT05URU5UX1NFQVJDSF9WNSwge1xyXG4gICAgICByZXF1ZXN0OiByZXEsXHJcbiAgICB9KVxyXG4gIH1cclxuICBzZWFyY2hSZWdpb25SZWNvbW1lbmRhdGlvbihcclxuICAgIHJlcTogTlNTZWFyY2guSVNlYXJjaE9yZ1JlZ2lvblJlY29tbWVuZGF0aW9uUmVxdWVzdCxcclxuICApOiBPYnNlcnZhYmxlPE5zQ29udGVudFN0cmlwTXVsdGlwbGUuSUNvbnRlbnRTdHJpcFJlc3BvbnNlQXBpPiB7XHJcbiAgICByZXEucXVlcnkgPSByZXEucXVlcnkgfHwgJydcclxuICAgIHJlcS5wcmVMYWJlbFZhbHVlID1cclxuICAgICAgKHJlcS5wcmVMYWJlbFZhbHVlIHx8ICcnKSArXHJcbiAgICAgICgodGhpcy5jb25maWdTdmMudXNlclByb2ZpbGUgJiYgdGhpcy5jb25maWdTdmMudXNlclByb2ZpbGUuY291bnRyeSkgfHwgJycpXHJcbiAgICByZXEuZmlsdGVycyA9IHtcclxuICAgICAgLi4ucmVxLmZpbHRlcnMsXHJcbiAgICAgIGxhYmVsczogW3JlcS5wcmVMYWJlbFZhbHVlIHx8ICcnXSxcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxOc0NvbnRlbnRTdHJpcE11bHRpcGxlLklDb250ZW50U3RyaXBSZXNwb25zZUFwaT4oXHJcbiAgICAgIEFQSV9FTkRfUE9JTlRTLkNPTlRFTlRfU0VBUkNIX1JFR0lPTl9SRUNPTU1FTkRBVElPTixcclxuICAgICAgeyByZXF1ZXN0OiByZXEgfSxcclxuICAgIClcclxuICB9XHJcbiAgc2VhcmNoVjYocmVxOiBOU1NlYXJjaC5JU2VhcmNoVjZSZXF1ZXN0KTogT2JzZXJ2YWJsZTxOU1NlYXJjaC5JU2VhcmNoVjZBcGlSZXN1bHQ+IHtcclxuICAgIHJlcS5xdWVyeSA9IHJlcS5xdWVyeSB8fCAnJ1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PE5TU2VhcmNoLklTZWFyY2hWNkFwaVJlc3VsdD4oQVBJX0VORF9QT0lOVFMuQ09OVEVOVF9TRUFSQ0hfVjYsIHJlcSlcclxuICB9XHJcblxyXG4gIGZldGNoQ29udGVudFJhdGluZyhjb250ZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8eyByYXRpbmc6IG51bWJlciB9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDx7IHJhdGluZzogbnVtYmVyIH0+KGAke0FQSV9FTkRfUE9JTlRTLkNPTlRFTlRfUkFUSU5HfS8ke2NvbnRlbnRJZH1gKVxyXG4gIH1cclxuICBkZWxldGVDb250ZW50UmF0aW5nKGNvbnRlbnRJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke0FQSV9FTkRfUE9JTlRTLkNPTlRFTlRfUkFUSU5HfS8ke2NvbnRlbnRJZH1gKVxyXG4gIH1cclxuICBhZGRDb250ZW50UmF0aW5nKGNvbnRlbnRJZDogc3RyaW5nLCBkYXRhOiB7IHJhdGluZzogbnVtYmVyIH0pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7QVBJX0VORF9QT0lOVFMuQ09OVEVOVF9SQVRJTkd9LyR7Y29udGVudElkfWAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBnZXRGaXJzdENoaWxkSW5IaWVyYXJjaHkoY29udGVudDogTnNDb250ZW50LklDb250ZW50KTogTnNDb250ZW50LklDb250ZW50IHtcclxuICAgIGlmICghKGNvbnRlbnQuY2hpbGRyZW4gfHwgW10pLmxlbmd0aCkge1xyXG4gICAgICByZXR1cm4gY29udGVudFxyXG4gICAgfVxyXG4gICAgaWYgKFxyXG4gICAgICBjb250ZW50LmNvbnRlbnRUeXBlID09PSAnTGVhcm5pbmcgUGF0aCcgJiZcclxuICAgICAgIShjb250ZW50LmFydGlmYWN0VXJsICYmIGNvbnRlbnQuYXJ0aWZhY3RVcmwubGVuZ3RoKVxyXG4gICAgKSB7XHJcbiAgICAgIGNvbnN0IGNoaWxkID0gY29udGVudC5jaGlsZHJlblswXVxyXG4gICAgICByZXR1cm4gdGhpcy5nZXRGaXJzdENoaWxkSW5IaWVyYXJjaHkoY2hpbGQpXHJcbiAgICB9XHJcbiAgICBpZiAoXHJcbiAgICAgIGNvbnRlbnQuY29udGVudFR5cGUgPT09ICdSZXNvdXJjZScgfHxcclxuICAgICAgY29udGVudC5jb250ZW50VHlwZSA9PT0gJ0tub3dsZWRnZSBBcnRpZmFjdCcgfHxcclxuICAgICAgY29udGVudC5jb250ZW50VHlwZSA9PT0gJ0xlYXJuaW5nIFBhdGgnXHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuIGNvbnRlbnRcclxuICAgIH1cclxuICAgIGNvbnN0IGZpcnN0Q2hpbGQgPSBjb250ZW50LmNoaWxkcmVuWzBdXHJcbiAgICBjb25zdCByZXN1bHRDb250ZW50ID0gdGhpcy5nZXRGaXJzdENoaWxkSW5IaWVyYXJjaHkoZmlyc3RDaGlsZClcclxuICAgIHJldHVybiByZXN1bHRDb250ZW50XHJcbiAgfVxyXG5cclxuICBnZXRSZWdpc3RyYXRpb25TdGF0dXMoc291cmNlOiBzdHJpbmcpOiBQcm9taXNlPHsgaGFzQWNjZXNzOiBib29sZWFuOyByZWdpc3RyYXRpb25Vcmw/OiBzdHJpbmcgfT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55PihgJHtBUElfRU5EX1BPSU5UUy5SRUdJU1RSQVRJT05fU1RBVFVTfS8ke3NvdXJjZX1gKS50b1Byb21pc2UoKVxyXG4gIH1cclxuXHJcbiAgZmV0Y2hDb25maWcodXJsOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4odXJsKVxyXG4gIH1cclxufVxyXG4iXX0=