@sunbird-cb/utils 1.0.19-ang-9-12 → 1.0.19

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 (389) hide show
  1. package/bundles/sunbird-cb-utils.umd.js +2971 -2006
  2. package/bundles/sunbird-cb-utils.umd.js.map +1 -1
  3. package/bundles/sunbird-cb-utils.umd.min.js +16 -0
  4. package/bundles/sunbird-cb-utils.umd.min.js.map +1 -0
  5. package/esm2015/lib/components/image-crop/image-crop.component.js +48 -13
  6. package/esm2015/lib/components/image-crop/image-crop.module.js +2 -8
  7. package/esm2015/lib/constants/features.enum.js +555 -555
  8. package/esm2015/lib/constants/instances.enum.js +5 -5
  9. package/esm2015/lib/constants/misc.constants.js +1 -2
  10. package/esm2015/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.js +21 -11
  11. package/esm2015/lib/directives/class-change-on-scroll/class-change-on-scroll.module.js +1 -1
  12. package/esm2015/lib/directives/default-thumbnail/default-thumbnail.directive.js +7 -1
  13. package/esm2015/lib/directives/default-thumbnail/default-thumbnail.module.js +1 -1
  14. package/esm2015/lib/directives/image-responsive/image-responsive.directive.js +11 -3
  15. package/esm2015/lib/directives/image-responsive/image-responsive.module.js +1 -1
  16. package/esm2015/lib/directives/in-view-port/in-view-port.directive.js +11 -5
  17. package/esm2015/lib/directives/in-view-port/in-view-port.module.js +1 -1
  18. package/esm2015/lib/directives/navigation/navigation.directive.js +6 -1
  19. package/esm2015/lib/directives/navigation/navigation.module.js +1 -1
  20. package/esm2015/lib/directives/permission/permission.directive.js +1 -1
  21. package/esm2015/lib/directives/permission/permission.module.js +1 -1
  22. package/esm2015/lib/helpers/functions/getStringifiedQueryParams.js +4 -4
  23. package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.component.js +20 -11
  24. package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.module.js +2 -4
  25. package/esm2015/lib/helpers/logout/logout.component.js +13 -4
  26. package/esm2015/lib/helpers/logout/logout.module.js +2 -3
  27. package/esm2015/lib/models/contentRating.model.js +12 -2
  28. package/esm2015/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.js +1 -1
  29. package/esm2015/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.js +7 -1
  30. package/esm2015/lib/pipes/pipe-count-transform/pipe-count-transform.module.js +1 -1
  31. package/esm2015/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.js +1 -1
  32. package/esm2015/lib/pipes/pipe-date-concat/pipe-date-concat.module.js +1 -1
  33. package/esm2015/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.js +11 -1
  34. package/esm2015/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.js +1 -1
  35. package/esm2015/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +1 -1
  36. package/esm2015/lib/pipes/pipe-filter/pipe-filter.module.js +1 -1
  37. package/esm2015/lib/pipes/pipe-filter/pipe-filter.pipe.js +3 -3
  38. package/esm2015/lib/pipes/pipe-filter-search/pipe-filter-search.module.js +1 -1
  39. package/esm2015/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.js +5 -5
  40. package/esm2015/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.js +1 -1
  41. package/esm2015/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.js +1 -1
  42. package/esm2015/lib/pipes/pipe-limit-to/pipe-limit-to.module.js +1 -1
  43. package/esm2015/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.js +1 -1
  44. package/esm2015/lib/pipes/pipe-list-filter/pipe-list-filter.module.js +1 -1
  45. package/esm2015/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.js +4 -4
  46. package/esm2015/lib/pipes/pipe-name-transform/pipe-name-transform.module.js +1 -1
  47. package/esm2015/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.js +7 -1
  48. package/esm2015/lib/pipes/pipe-order-by/pipe-order-by.module.js +1 -1
  49. package/esm2015/lib/pipes/pipe-order-by/pipe-order-by.pipe.js +4 -1
  50. package/esm2015/lib/pipes/pipe-partial-content/pipe-partial-content.module.js +1 -1
  51. package/esm2015/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.js +1 -1
  52. package/esm2015/lib/pipes/pipe-relative-time/pipe-relative-time.module.js +1 -1
  53. package/esm2015/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.js +1 -1
  54. package/esm2015/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.js +1 -1
  55. package/esm2015/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.js +4 -1
  56. package/esm2015/lib/resolvers/explore-detail.resolver.js +19 -12
  57. package/esm2015/lib/resolvers/marketing-offering.resolve.js +10 -7
  58. package/esm2015/lib/resolvers/page.constant.js +1 -1
  59. package/esm2015/lib/resolvers/page.model.js +47 -2
  60. package/esm2015/lib/resolvers/page.resolver.js +18 -12
  61. package/esm2015/lib/resolvers/resolver.model.js +6 -2
  62. package/esm2015/lib/services/auth-keycloak.service.js +33 -20
  63. package/esm2015/lib/services/auth-microsoft.service.js +17 -9
  64. package/esm2015/lib/services/card-content.model.js +22 -1
  65. package/esm2015/lib/services/configurations.model.js +508 -2
  66. package/esm2015/lib/services/configurations.service.js +50 -2
  67. package/esm2015/lib/services/content-strip-multiple.model.js +75 -2
  68. package/esm2015/lib/services/event.model.js +109 -1
  69. package/esm2015/lib/services/event.service.js +17 -4
  70. package/esm2015/lib/services/logger.service.js +13 -5
  71. package/esm2015/lib/services/ms-office.model.js +8 -2
  72. package/esm2015/lib/services/subapplication-respond.service.js +21 -8
  73. package/esm2015/lib/services/telemetry.service.js +59 -48
  74. package/esm2015/lib/services/user-preference.model.js +38 -2
  75. package/esm2015/lib/services/user-preference.service.js +15 -11
  76. package/esm2015/lib/services/utility.service.js +26 -9
  77. package/esm2015/lib/services/value.service.js +9 -4
  78. package/esm2015/lib/services/widget-content.model.js +236 -1
  79. package/esm2015/lib/services/widget-content.service.js +19 -15
  80. package/esm2015/lib/services/widget-resolver.model.js +57 -2
  81. package/esm2015/lib/services/widget-search.model.js +126 -2
  82. package/esm2015/public-api.js +68 -74
  83. package/esm2015/sunbird-cb-utils.js +8 -2
  84. package/esm5/lib/components/image-crop/image-crop.component.js +200 -0
  85. package/esm5/lib/components/image-crop/image-crop.module.js +31 -0
  86. package/esm5/lib/constants/features.enum.js +555 -0
  87. package/esm5/lib/constants/instances.enum.js +5 -0
  88. package/esm5/lib/constants/misc.constants.js +1 -0
  89. package/esm5/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.js +105 -0
  90. package/esm5/lib/directives/class-change-on-scroll/class-change-on-scroll.module.js +19 -0
  91. package/esm5/lib/directives/default-thumbnail/default-thumbnail.directive.js +40 -0
  92. package/esm5/lib/directives/default-thumbnail/default-thumbnail.module.js +19 -0
  93. package/esm5/lib/directives/image-responsive/image-responsive.directive.js +95 -0
  94. package/esm5/lib/directives/image-responsive/image-responsive.module.js +19 -0
  95. package/esm5/lib/directives/in-view-port/in-view-port.directive.js +73 -0
  96. package/esm5/lib/directives/in-view-port/in-view-port.module.js +19 -0
  97. package/esm5/lib/directives/navigation/navigation.directive.js +41 -0
  98. package/esm5/lib/directives/navigation/navigation.module.js +19 -0
  99. package/esm5/lib/directives/permission/permission.directive.js +14 -0
  100. package/esm5/lib/directives/permission/permission.module.js +19 -0
  101. package/esm5/lib/helpers/functions/getStringifiedQueryParams.js +9 -0
  102. package/esm5/lib/helpers/horizontal-scroller/horizontal-scroller.component.js +103 -0
  103. package/esm5/lib/helpers/horizontal-scroller/horizontal-scroller.module.js +23 -0
  104. package/esm5/lib/helpers/logout/logout.component.js +63 -0
  105. package/esm5/lib/helpers/logout/logout.module.js +22 -0
  106. package/esm5/lib/models/contentRating.model.js +12 -0
  107. package/esm5/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.js +17 -0
  108. package/esm5/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.js +63 -0
  109. package/esm5/lib/pipes/pipe-count-transform/pipe-count-transform.module.js +19 -0
  110. package/esm5/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.js +37 -0
  111. package/esm5/lib/pipes/pipe-date-concat/pipe-date-concat.module.js +19 -0
  112. package/esm5/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.js +45 -0
  113. package/esm5/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.js +19 -0
  114. package/esm5/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +64 -0
  115. package/esm5/lib/pipes/pipe-filter/pipe-filter.module.js +19 -0
  116. package/esm5/lib/pipes/pipe-filter/pipe-filter.pipe.js +20 -0
  117. package/esm5/lib/pipes/pipe-filter-search/pipe-filter-search.module.js +19 -0
  118. package/esm5/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.js +38 -0
  119. package/esm5/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.js +19 -0
  120. package/esm5/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.js +16 -0
  121. package/esm5/lib/pipes/pipe-limit-to/pipe-limit-to.module.js +19 -0
  122. package/esm5/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.js +30 -0
  123. package/esm5/lib/pipes/pipe-list-filter/pipe-list-filter.module.js +19 -0
  124. package/esm5/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.js +21 -0
  125. package/esm5/lib/pipes/pipe-name-transform/pipe-name-transform.module.js +19 -0
  126. package/esm5/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.js +35 -0
  127. package/esm5/lib/pipes/pipe-order-by/pipe-order-by.module.js +19 -0
  128. package/esm5/lib/pipes/pipe-order-by/pipe-order-by.pipe.js +18 -0
  129. package/esm5/lib/pipes/pipe-partial-content/pipe-partial-content.module.js +19 -0
  130. package/esm5/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.js +34 -0
  131. package/esm5/lib/pipes/pipe-relative-time/pipe-relative-time.module.js +19 -0
  132. package/esm5/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.js +21 -0
  133. package/esm5/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.js +19 -0
  134. package/esm5/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.js +38 -0
  135. package/esm5/lib/resolvers/explore-detail.resolver.js +93 -0
  136. package/esm5/lib/resolvers/marketing-offering.resolve.js +43 -0
  137. package/esm5/lib/resolvers/page.constant.js +4 -0
  138. package/esm5/lib/resolvers/page.model.js +47 -0
  139. package/esm5/lib/resolvers/page.resolver.js +98 -0
  140. package/esm5/lib/resolvers/resolver.model.js +6 -0
  141. package/esm5/lib/services/auth-keycloak.service.js +316 -0
  142. package/esm5/lib/services/auth-microsoft.service.js +251 -0
  143. package/esm5/lib/services/card-content.model.js +32 -0
  144. package/esm5/lib/services/configurations.model.js +508 -0
  145. package/esm5/lib/services/configurations.service.js +114 -0
  146. package/esm5/lib/services/content-strip-multiple.model.js +75 -0
  147. package/esm5/lib/services/event.model.js +229 -0
  148. package/esm5/lib/services/event.service.js +216 -0
  149. package/esm5/lib/services/logger.service.js +73 -0
  150. package/esm5/lib/services/ms-office.model.js +8 -0
  151. package/esm5/lib/services/subapplication-respond.service.js +230 -0
  152. package/esm5/lib/services/telemetry.service.js +484 -0
  153. package/esm5/lib/services/user-preference.model.js +38 -0
  154. package/esm5/lib/services/user-preference.service.js +109 -0
  155. package/esm5/lib/services/utility.service.js +178 -0
  156. package/esm5/lib/services/value.service.js +33 -0
  157. package/esm5/lib/services/widget-content.model.js +342 -0
  158. package/esm5/lib/services/widget-content.service.js +214 -0
  159. package/esm5/lib/services/widget-resolver.model.js +57 -0
  160. package/esm5/lib/services/widget-search.model.js +126 -0
  161. package/esm5/public-api.js +68 -0
  162. package/esm5/sunbird-cb-utils.js +8 -0
  163. package/fesm2015/sunbird-cb-utils.js +2011 -788
  164. package/fesm2015/sunbird-cb-utils.js.map +1 -1
  165. package/fesm5/sunbird-cb-utils.js +5605 -0
  166. package/fesm5/sunbird-cb-utils.js.map +1 -0
  167. package/lib/components/image-crop/image-crop.component.d.ts +0 -1
  168. package/lib/components/image-crop/image-crop.module.d.ts +0 -1
  169. package/lib/constants/features.enum.d.ts +0 -1
  170. package/lib/constants/instances.enum.d.ts +0 -1
  171. package/lib/constants/misc.constants.d.ts +0 -1
  172. package/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.d.ts +3 -4
  173. package/lib/directives/class-change-on-scroll/class-change-on-scroll.module.d.ts +0 -1
  174. package/lib/directives/default-thumbnail/default-thumbnail.directive.d.ts +0 -1
  175. package/lib/directives/default-thumbnail/default-thumbnail.module.d.ts +0 -1
  176. package/lib/directives/image-responsive/image-responsive.directive.d.ts +0 -1
  177. package/lib/directives/image-responsive/image-responsive.module.d.ts +0 -1
  178. package/lib/directives/in-view-port/in-view-port.directive.d.ts +0 -1
  179. package/lib/directives/in-view-port/in-view-port.module.d.ts +0 -1
  180. package/lib/directives/navigation/navigation.directive.d.ts +0 -1
  181. package/lib/directives/navigation/navigation.module.d.ts +0 -1
  182. package/lib/directives/permission/permission.directive.d.ts +0 -1
  183. package/lib/directives/permission/permission.module.d.ts +0 -1
  184. package/lib/helpers/functions/getStringifiedQueryParams.d.ts +0 -1
  185. package/lib/helpers/horizontal-scroller/horizontal-scroller.component.d.ts +0 -1
  186. package/lib/helpers/horizontal-scroller/horizontal-scroller.module.d.ts +0 -1
  187. package/lib/helpers/logout/logout.component.d.ts +2 -3
  188. package/lib/helpers/logout/logout.module.d.ts +0 -1
  189. package/lib/models/contentRating.model.d.ts +0 -1
  190. package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.d.ts +0 -1
  191. package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.d.ts +0 -1
  192. package/lib/pipes/pipe-count-transform/pipe-count-transform.module.d.ts +0 -1
  193. package/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.d.ts +0 -1
  194. package/lib/pipes/pipe-date-concat/pipe-date-concat.module.d.ts +0 -1
  195. package/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.d.ts +0 -1
  196. package/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.d.ts +0 -1
  197. package/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.d.ts +0 -1
  198. package/lib/pipes/pipe-filter/pipe-filter.module.d.ts +0 -1
  199. package/lib/pipes/pipe-filter/pipe-filter.pipe.d.ts +0 -1
  200. package/lib/pipes/pipe-filter-search/pipe-filter-search.module.d.ts +0 -1
  201. package/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.d.ts +0 -1
  202. package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.d.ts +0 -1
  203. package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.d.ts +0 -1
  204. package/lib/pipes/pipe-limit-to/pipe-limit-to.module.d.ts +0 -1
  205. package/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.d.ts +0 -1
  206. package/lib/pipes/pipe-list-filter/pipe-list-filter.module.d.ts +0 -1
  207. package/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.d.ts +0 -1
  208. package/lib/pipes/pipe-name-transform/pipe-name-transform.module.d.ts +0 -1
  209. package/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.d.ts +0 -1
  210. package/lib/pipes/pipe-order-by/pipe-order-by.module.d.ts +0 -1
  211. package/lib/pipes/pipe-order-by/pipe-order-by.pipe.d.ts +4 -5
  212. package/lib/pipes/pipe-partial-content/pipe-partial-content.module.d.ts +0 -1
  213. package/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.d.ts +0 -1
  214. package/lib/pipes/pipe-relative-time/pipe-relative-time.module.d.ts +0 -1
  215. package/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.d.ts +0 -1
  216. package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.d.ts +0 -1
  217. package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.d.ts +0 -1
  218. package/lib/resolvers/explore-detail.resolver.d.ts +0 -1
  219. package/lib/resolvers/marketing-offering.resolve.d.ts +0 -1
  220. package/lib/resolvers/page.constant.d.ts +0 -1
  221. package/lib/resolvers/page.model.d.ts +1 -2
  222. package/lib/resolvers/page.resolver.d.ts +0 -1
  223. package/lib/resolvers/resolver.model.d.ts +0 -1
  224. package/lib/services/auth-keycloak.service.d.ts +9 -10
  225. package/lib/services/auth-microsoft.service.d.ts +2 -3
  226. package/lib/services/card-content.model.d.ts +0 -1
  227. package/lib/services/configurations.model.d.ts +24 -27
  228. package/lib/services/configurations.service.d.ts +0 -1
  229. package/lib/services/content-strip-multiple.model.d.ts +6 -8
  230. package/lib/services/event.model.d.ts +1 -2
  231. package/lib/services/event.service.d.ts +0 -1
  232. package/lib/services/logger.service.d.ts +4 -5
  233. package/lib/services/ms-office.model.d.ts +0 -1
  234. package/lib/services/subapplication-respond.service.d.ts +0 -1
  235. package/lib/services/telemetry.service.d.ts +2 -3
  236. package/lib/services/user-preference.model.d.ts +0 -1
  237. package/lib/services/user-preference.service.d.ts +0 -1
  238. package/lib/services/utility.service.d.ts +7 -8
  239. package/lib/services/value.service.d.ts +0 -1
  240. package/lib/services/widget-content.model.d.ts +19 -21
  241. package/lib/services/widget-content.service.d.ts +0 -1
  242. package/lib/services/widget-resolver.model.d.ts +0 -1
  243. package/lib/services/widget-search.model.d.ts +0 -1
  244. package/package.json +17 -14
  245. package/public-api.d.ts +0 -7
  246. package/sunbird-cb-utils.d.ts +6 -1
  247. package/sunbird-cb-utils.metadata.json +1 -1
  248. package/lib/components/image-crop/image-crop.component.d.ts.map +0 -1
  249. package/lib/components/image-crop/image-crop.component.ngfactory.d.ts.map +0 -1
  250. package/lib/components/image-crop/image-crop.component.scss.shim.ngstyle.d.ts.map +0 -1
  251. package/lib/components/image-crop/image-crop.module.d.ts.map +0 -1
  252. package/lib/components/image-crop/image-crop.module.ngfactory.d.ts.map +0 -1
  253. package/lib/constants/features.enum.d.ts.map +0 -1
  254. package/lib/constants/instances.enum.d.ts.map +0 -1
  255. package/lib/constants/misc.constants.d.ts.map +0 -1
  256. package/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.d.ts.map +0 -1
  257. package/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.ngfactory.d.ts.map +0 -1
  258. package/lib/directives/class-change-on-scroll/class-change-on-scroll.module.d.ts.map +0 -1
  259. package/lib/directives/class-change-on-scroll/class-change-on-scroll.module.ngfactory.d.ts.map +0 -1
  260. package/lib/directives/default-thumbnail/default-thumbnail.directive.d.ts.map +0 -1
  261. package/lib/directives/default-thumbnail/default-thumbnail.directive.ngfactory.d.ts.map +0 -1
  262. package/lib/directives/default-thumbnail/default-thumbnail.module.d.ts.map +0 -1
  263. package/lib/directives/default-thumbnail/default-thumbnail.module.ngfactory.d.ts.map +0 -1
  264. package/lib/directives/image-responsive/image-responsive.directive.d.ts.map +0 -1
  265. package/lib/directives/image-responsive/image-responsive.directive.ngfactory.d.ts.map +0 -1
  266. package/lib/directives/image-responsive/image-responsive.module.d.ts.map +0 -1
  267. package/lib/directives/image-responsive/image-responsive.module.ngfactory.d.ts.map +0 -1
  268. package/lib/directives/in-view-port/in-view-port.directive.d.ts.map +0 -1
  269. package/lib/directives/in-view-port/in-view-port.directive.ngfactory.d.ts.map +0 -1
  270. package/lib/directives/in-view-port/in-view-port.module.d.ts.map +0 -1
  271. package/lib/directives/in-view-port/in-view-port.module.ngfactory.d.ts.map +0 -1
  272. package/lib/directives/navigation/navigation.directive.d.ts.map +0 -1
  273. package/lib/directives/navigation/navigation.directive.ngfactory.d.ts.map +0 -1
  274. package/lib/directives/navigation/navigation.module.d.ts.map +0 -1
  275. package/lib/directives/navigation/navigation.module.ngfactory.d.ts.map +0 -1
  276. package/lib/directives/permission/permission.directive.d.ts.map +0 -1
  277. package/lib/directives/permission/permission.directive.ngfactory.d.ts.map +0 -1
  278. package/lib/directives/permission/permission.module.d.ts.map +0 -1
  279. package/lib/directives/permission/permission.module.ngfactory.d.ts.map +0 -1
  280. package/lib/helpers/functions/getStringifiedQueryParams.d.ts.map +0 -1
  281. package/lib/helpers/horizontal-scroller/horizontal-scroller.component.d.ts.map +0 -1
  282. package/lib/helpers/horizontal-scroller/horizontal-scroller.component.ngfactory.d.ts.map +0 -1
  283. package/lib/helpers/horizontal-scroller/horizontal-scroller.component.scss.shim.ngstyle.d.ts.map +0 -1
  284. package/lib/helpers/horizontal-scroller/horizontal-scroller.module.d.ts.map +0 -1
  285. package/lib/helpers/horizontal-scroller/horizontal-scroller.module.ngfactory.d.ts.map +0 -1
  286. package/lib/helpers/logout/logout.component.d.ts.map +0 -1
  287. package/lib/helpers/logout/logout.component.ngfactory.d.ts.map +0 -1
  288. package/lib/helpers/logout/logout.component.scss.shim.ngstyle.d.ts.map +0 -1
  289. package/lib/helpers/logout/logout.module.d.ts.map +0 -1
  290. package/lib/helpers/logout/logout.module.ngfactory.d.ts.map +0 -1
  291. package/lib/models/contentRating.model.d.ts.map +0 -1
  292. package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.d.ts.map +0 -1
  293. package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.ngfactory.d.ts.map +0 -1
  294. package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.d.ts.map +0 -1
  295. package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.ngfactory.d.ts.map +0 -1
  296. package/lib/pipes/pipe-count-transform/pipe-count-transform.module.d.ts.map +0 -1
  297. package/lib/pipes/pipe-count-transform/pipe-count-transform.module.ngfactory.d.ts.map +0 -1
  298. package/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.d.ts.map +0 -1
  299. package/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.ngfactory.d.ts.map +0 -1
  300. package/lib/pipes/pipe-date-concat/pipe-date-concat.module.d.ts.map +0 -1
  301. package/lib/pipes/pipe-date-concat/pipe-date-concat.module.ngfactory.d.ts.map +0 -1
  302. package/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.d.ts.map +0 -1
  303. package/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.ngfactory.d.ts.map +0 -1
  304. package/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.d.ts.map +0 -1
  305. package/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.ngfactory.d.ts.map +0 -1
  306. package/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.d.ts.map +0 -1
  307. package/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.ngfactory.d.ts.map +0 -1
  308. package/lib/pipes/pipe-filter/pipe-filter.module.d.ts.map +0 -1
  309. package/lib/pipes/pipe-filter/pipe-filter.module.ngfactory.d.ts.map +0 -1
  310. package/lib/pipes/pipe-filter/pipe-filter.pipe.d.ts.map +0 -1
  311. package/lib/pipes/pipe-filter/pipe-filter.pipe.ngfactory.d.ts.map +0 -1
  312. package/lib/pipes/pipe-filter-search/pipe-filter-search.module.d.ts.map +0 -1
  313. package/lib/pipes/pipe-filter-search/pipe-filter-search.module.ngfactory.d.ts.map +0 -1
  314. package/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.d.ts.map +0 -1
  315. package/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.ngfactory.d.ts.map +0 -1
  316. package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.d.ts.map +0 -1
  317. package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.ngfactory.d.ts.map +0 -1
  318. package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.d.ts.map +0 -1
  319. package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.ngfactory.d.ts.map +0 -1
  320. package/lib/pipes/pipe-limit-to/pipe-limit-to.module.d.ts.map +0 -1
  321. package/lib/pipes/pipe-limit-to/pipe-limit-to.module.ngfactory.d.ts.map +0 -1
  322. package/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.d.ts.map +0 -1
  323. package/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.ngfactory.d.ts.map +0 -1
  324. package/lib/pipes/pipe-list-filter/pipe-list-filter.module.d.ts.map +0 -1
  325. package/lib/pipes/pipe-list-filter/pipe-list-filter.module.ngfactory.d.ts.map +0 -1
  326. package/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.d.ts.map +0 -1
  327. package/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.ngfactory.d.ts.map +0 -1
  328. package/lib/pipes/pipe-name-transform/pipe-name-transform.module.d.ts.map +0 -1
  329. package/lib/pipes/pipe-name-transform/pipe-name-transform.module.ngfactory.d.ts.map +0 -1
  330. package/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.d.ts.map +0 -1
  331. package/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.ngfactory.d.ts.map +0 -1
  332. package/lib/pipes/pipe-order-by/pipe-order-by.module.d.ts.map +0 -1
  333. package/lib/pipes/pipe-order-by/pipe-order-by.module.ngfactory.d.ts.map +0 -1
  334. package/lib/pipes/pipe-order-by/pipe-order-by.pipe.d.ts.map +0 -1
  335. package/lib/pipes/pipe-order-by/pipe-order-by.pipe.ngfactory.d.ts.map +0 -1
  336. package/lib/pipes/pipe-partial-content/pipe-partial-content.module.d.ts.map +0 -1
  337. package/lib/pipes/pipe-partial-content/pipe-partial-content.module.ngfactory.d.ts.map +0 -1
  338. package/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.d.ts.map +0 -1
  339. package/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.ngfactory.d.ts.map +0 -1
  340. package/lib/pipes/pipe-relative-time/pipe-relative-time.module.d.ts.map +0 -1
  341. package/lib/pipes/pipe-relative-time/pipe-relative-time.module.ngfactory.d.ts.map +0 -1
  342. package/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.d.ts.map +0 -1
  343. package/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.ngfactory.d.ts.map +0 -1
  344. package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.d.ts.map +0 -1
  345. package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.ngfactory.d.ts.map +0 -1
  346. package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.d.ts.map +0 -1
  347. package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.ngfactory.d.ts.map +0 -1
  348. package/lib/resolvers/explore-detail.resolver.d.ts.map +0 -1
  349. package/lib/resolvers/explore-detail.resolver.ngfactory.d.ts.map +0 -1
  350. package/lib/resolvers/marketing-offering.resolve.d.ts.map +0 -1
  351. package/lib/resolvers/marketing-offering.resolve.ngfactory.d.ts.map +0 -1
  352. package/lib/resolvers/page.constant.d.ts.map +0 -1
  353. package/lib/resolvers/page.model.d.ts.map +0 -1
  354. package/lib/resolvers/page.resolver.d.ts.map +0 -1
  355. package/lib/resolvers/page.resolver.ngfactory.d.ts.map +0 -1
  356. package/lib/resolvers/resolver.model.d.ts.map +0 -1
  357. package/lib/services/auth-keycloak.service.d.ts.map +0 -1
  358. package/lib/services/auth-keycloak.service.ngfactory.d.ts.map +0 -1
  359. package/lib/services/auth-microsoft.service.d.ts.map +0 -1
  360. package/lib/services/auth-microsoft.service.ngfactory.d.ts.map +0 -1
  361. package/lib/services/card-content.model.d.ts.map +0 -1
  362. package/lib/services/configurations.model.d.ts.map +0 -1
  363. package/lib/services/configurations.service.d.ts.map +0 -1
  364. package/lib/services/configurations.service.ngfactory.d.ts.map +0 -1
  365. package/lib/services/content-strip-multiple.model.d.ts.map +0 -1
  366. package/lib/services/event.model.d.ts.map +0 -1
  367. package/lib/services/event.service.d.ts.map +0 -1
  368. package/lib/services/event.service.ngfactory.d.ts.map +0 -1
  369. package/lib/services/logger.service.d.ts.map +0 -1
  370. package/lib/services/logger.service.ngfactory.d.ts.map +0 -1
  371. package/lib/services/ms-office.model.d.ts.map +0 -1
  372. package/lib/services/subapplication-respond.service.d.ts.map +0 -1
  373. package/lib/services/subapplication-respond.service.ngfactory.d.ts.map +0 -1
  374. package/lib/services/telemetry.service.d.ts.map +0 -1
  375. package/lib/services/telemetry.service.ngfactory.d.ts.map +0 -1
  376. package/lib/services/user-preference.model.d.ts.map +0 -1
  377. package/lib/services/user-preference.service.d.ts.map +0 -1
  378. package/lib/services/user-preference.service.ngfactory.d.ts.map +0 -1
  379. package/lib/services/utility.service.d.ts.map +0 -1
  380. package/lib/services/utility.service.ngfactory.d.ts.map +0 -1
  381. package/lib/services/value.service.d.ts.map +0 -1
  382. package/lib/services/value.service.ngfactory.d.ts.map +0 -1
  383. package/lib/services/widget-content.model.d.ts.map +0 -1
  384. package/lib/services/widget-content.service.d.ts.map +0 -1
  385. package/lib/services/widget-content.service.ngfactory.d.ts.map +0 -1
  386. package/lib/services/widget-resolver.model.d.ts.map +0 -1
  387. package/lib/services/widget-search.model.d.ts.map +0 -1
  388. package/public-api.d.ts.map +0 -1
  389. package/sunbird-cb-utils.d.ts.map +0 -1
@@ -0,0 +1,251 @@
1
+ import * as tslib_1 from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { LoggerService } from './logger.service';
4
+ import { HttpClient } from '@angular/common/http';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "./logger.service";
7
+ import * as i2 from "@angular/common/http";
8
+ var msTokenExpiryDuration = 600;
9
+ var storageKey = 'msLoginRequested';
10
+ var storage = localStorage;
11
+ var API_ENDPOINTS = {
12
+ sharePointToken: '/apis/protected/v8/user/token',
13
+ };
14
+ var AuthMicrosoftService = (function () {
15
+ function AuthMicrosoftService(loggerSvc, http) {
16
+ this.loggerSvc = loggerSvc;
17
+ this.http = http;
18
+ this.msConfig = {
19
+ clientId: '',
20
+ tenant: '',
21
+ defaultEmailId: '',
22
+ validEmailExtensions: [],
23
+ isConfigured: false,
24
+ };
25
+ this.emailUsed = null;
26
+ this.code = null;
27
+ this.msToken = {
28
+ accessToken: '',
29
+ expiresOn: '',
30
+ resource: '',
31
+ tokenType: '',
32
+ };
33
+ }
34
+ Object.defineProperty(AuthMicrosoftService.prototype, "isLogoutRequired", {
35
+ get: function () {
36
+ return Boolean(this.msConfig.isConfigured && this.msConfig.clientId && this.emailUsed);
37
+ },
38
+ enumerable: true,
39
+ configurable: true
40
+ });
41
+ Object.defineProperty(AuthMicrosoftService.prototype, "loginUrl", {
42
+ get: function () {
43
+ if (this.msConfig.isConfigured && this.msConfig.clientId) {
44
+ var base = 'https://login.windows.net/common/oauth2/authorize';
45
+ var searchParam = new URLSearchParams({
46
+ response_type: 'code',
47
+ client_id: this.msConfig.clientId,
48
+ redirect_uri: window.location.href,
49
+ });
50
+ var fragment = location.search.substring(1);
51
+ if (fragment) {
52
+ return base + "?" + searchParam.toString() + "#" + fragment;
53
+ }
54
+ return base + "?" + searchParam.toString();
55
+ }
56
+ return null;
57
+ },
58
+ enumerable: true,
59
+ configurable: true
60
+ });
61
+ AuthMicrosoftService.prototype.logoutUrl = function (redirectUrl) {
62
+ if (this.isValidEmail(this.emailUsed || '')) {
63
+ return "https://login.microsoftonline.com/common/oauth2/logout?post_logout_redirect_uri=" + redirectUrl;
64
+ }
65
+ return redirectUrl;
66
+ };
67
+ AuthMicrosoftService.prototype.init = function (config) {
68
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
69
+ var queryParams, url;
70
+ return tslib_1.__generator(this, function (_a) {
71
+ switch (_a.label) {
72
+ case 0:
73
+ if (!config || !config.microsoft || !config.microsoft.isConfigured) {
74
+ this.loggerSvc.warn('Empty/No Configuration passed, ignoring Microsoft Authentication');
75
+ }
76
+ this.msConfig = config.microsoft;
77
+ queryParams = new URLSearchParams(location.search);
78
+ if (!(queryParams.has('code') && queryParams.has('session_state'))) return [3, 2];
79
+ this.code = queryParams.get('code');
80
+ if (!this.code) {
81
+ return [2];
82
+ }
83
+ url = location.origin + location.pathname;
84
+ return [4, this.exchangeTokenForCode(this.code, url)];
85
+ case 1:
86
+ _a.sent();
87
+ if (location.hash) {
88
+ url += location.hash.substring(1);
89
+ }
90
+ history.replaceState(null, '', url);
91
+ _a.label = 2;
92
+ case 2: return [2];
93
+ }
94
+ });
95
+ });
96
+ };
97
+ AuthMicrosoftService.prototype.login = function (email) {
98
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
99
+ var loginUrl;
100
+ return tslib_1.__generator(this, function (_a) {
101
+ if (!this.isValidEmail(email)) {
102
+ this.loggerSvc.warn("Microsoft Login is not allowed for your emailId (" + email + ")");
103
+ return [2];
104
+ }
105
+ loginUrl = this.loginUrl;
106
+ if (loginUrl) {
107
+ location.assign(loginUrl);
108
+ }
109
+ else {
110
+ this.loggerSvc.warn('Unable to identify Office Login URL, Ignoring login request');
111
+ }
112
+ return [2];
113
+ });
114
+ });
115
+ };
116
+ AuthMicrosoftService.prototype.getToken = function (email) {
117
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
118
+ var _a, error_1, _b, error_2;
119
+ return tslib_1.__generator(this, function (_c) {
120
+ switch (_c.label) {
121
+ case 0:
122
+ if (this.msToken &&
123
+ this.isValid(this.msToken.accessToken, this.msToken.expiresOn) &&
124
+ this.msToken.accessToken) {
125
+ return [2, this.msToken.accessToken];
126
+ }
127
+ if (!this.isValidEmail(email)) return [3, 4];
128
+ _c.label = 1;
129
+ case 1:
130
+ _c.trys.push([1, 3, , 4]);
131
+ _a = this;
132
+ return [4, this.getTokenForEmail(email)];
133
+ case 2:
134
+ _a.msToken = _c.sent();
135
+ if (this.msToken.accessToken) {
136
+ this.emailUsed = email;
137
+ return [2, this.msToken.accessToken];
138
+ }
139
+ return [3, 4];
140
+ case 3:
141
+ error_1 = _c.sent();
142
+ if (!this.code) {
143
+ this.login(email);
144
+ }
145
+ return [3, 4];
146
+ case 4:
147
+ if (!(this.msConfig.defaultEmailId && this.isValidEmail(this.msConfig.defaultEmailId))) return [3, 8];
148
+ _c.label = 5;
149
+ case 5:
150
+ _c.trys.push([5, 7, , 8]);
151
+ _b = this;
152
+ return [4, this.getTokenForEmail(this.msConfig.defaultEmailId)];
153
+ case 6:
154
+ _b.msToken = _c.sent();
155
+ if (this.msToken.accessToken) {
156
+ this.emailUsed = this.msConfig.defaultEmailId;
157
+ return [2, this.msToken.accessToken];
158
+ }
159
+ return [3, 8];
160
+ case 7:
161
+ error_2 = _c.sent();
162
+ return [3, 8];
163
+ case 8: throw new Error('UNABLE TO FETCH MS AUTH TOKEN');
164
+ }
165
+ });
166
+ });
167
+ };
168
+ AuthMicrosoftService.prototype.loginForSSOEnabledEmbed = function (email) {
169
+ if (!this.isValidEmail(email)) {
170
+ this.loggerSvc.warn('SSO Login request Ignored. Invalid Email Id for SSO Enabled Content');
171
+ }
172
+ var msPrevTS = 0;
173
+ try {
174
+ msPrevTS = parseInt(storage.getItem(storageKey) || '0', 10);
175
+ }
176
+ catch (error) { }
177
+ if (!msPrevTS || (msPrevTS && (Date.now() - msPrevTS) / 1000 > msTokenExpiryDuration)) {
178
+ this.loggerSvc.info("last login exceeded " + msTokenExpiryDuration + " duration. Redirecting to O365 login");
179
+ storage.setItem(storageKey, Date.now().toString());
180
+ this.login(email);
181
+ }
182
+ };
183
+ AuthMicrosoftService.prototype.isValidEmail = function (email) {
184
+ return this.msConfig.validEmailExtensions.some((function (ext) { return email.endsWith(ext); }));
185
+ };
186
+ AuthMicrosoftService.prototype.isValid = function (accessToken, expiresOn) {
187
+ if (accessToken && expiresOn) {
188
+ return true;
189
+ }
190
+ return false;
191
+ };
192
+ AuthMicrosoftService.prototype.exchangeTokenForCode = function (code, redirectUrl) {
193
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
194
+ var response;
195
+ return tslib_1.__generator(this, function (_a) {
196
+ switch (_a.label) {
197
+ case 0: return [4, this.http
198
+ .get(API_ENDPOINTS + "?code=" + code + "&redirectUrl=" + redirectUrl)
199
+ .toPromise()];
200
+ case 1:
201
+ response = _a.sent();
202
+ return [2, this.getInstanceFromResponse(response)];
203
+ }
204
+ });
205
+ });
206
+ };
207
+ AuthMicrosoftService.prototype.getTokenForEmail = function (email) {
208
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
209
+ var response;
210
+ return tslib_1.__generator(this, function (_a) {
211
+ switch (_a.label) {
212
+ case 0: return [4, this.http
213
+ .get(API_ENDPOINTS.sharePointToken + "?email=" + email)
214
+ .toPromise()];
215
+ case 1:
216
+ response = _a.sent();
217
+ return [2, this.getInstanceFromResponse(response)];
218
+ }
219
+ });
220
+ });
221
+ };
222
+ AuthMicrosoftService.prototype.getInstanceFromResponse = function (token) {
223
+ return {
224
+ accessToken: token.accessToken,
225
+ expiresOn: token.expiresOn,
226
+ resource: token.resource,
227
+ tokenType: token.tokenType,
228
+ };
229
+ };
230
+ AuthMicrosoftService.decorators = [
231
+ { type: Injectable, args: [{
232
+ providedIn: 'root',
233
+ },] }
234
+ ];
235
+ AuthMicrosoftService.ctorParameters = function () { return [
236
+ { type: LoggerService },
237
+ { type: HttpClient }
238
+ ]; };
239
+ /** @nocollapse */ AuthMicrosoftService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function AuthMicrosoftService_Factory() { return new AuthMicrosoftService(i0.ɵɵinject(i1.LoggerService), i0.ɵɵinject(i2.HttpClient)); }, token: AuthMicrosoftService, providedIn: "root" });
240
+ return AuthMicrosoftService;
241
+ }());
242
+ export { AuthMicrosoftService };
243
+ if (false) {
244
+ AuthMicrosoftService.prototype.msConfig;
245
+ AuthMicrosoftService.prototype.emailUsed;
246
+ AuthMicrosoftService.prototype.code;
247
+ AuthMicrosoftService.prototype.msToken;
248
+ AuthMicrosoftService.prototype.loggerSvc;
249
+ AuthMicrosoftService.prototype.http;
250
+ }
251
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1taWNyb3NvZnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdW5iaXJkLWNiL3V0aWxzLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2F1dGgtbWljcm9zb2Z0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRWhELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTs7OztJQUkzQyxxQkFBcUIsR0FBRyxHQUFHO0lBQzNCLFVBQVUsR0FBRyxrQkFBa0I7SUFDL0IsT0FBTyxHQUFHLFlBQVk7SUFFdEIsYUFBYSxHQUFHO0lBQ3BCLGVBQWUsRUFBRSwrQkFBK0I7Q0FDakQ7QUFDRDtJQW9CRSw4QkFBb0IsU0FBd0IsRUFBVSxJQUFnQjtRQUFsRCxjQUFTLEdBQVQsU0FBUyxDQUFlO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBWTtRQWhCOUQsYUFBUSxHQUFnQztZQUM5QyxRQUFRLEVBQUUsRUFBRTtZQUNaLE1BQU0sRUFBRSxFQUFFO1lBQ1YsY0FBYyxFQUFFLEVBQUU7WUFDbEIsb0JBQW9CLEVBQUUsRUFBRTtZQUN4QixZQUFZLEVBQUUsS0FBSztTQUNwQixDQUFBO1FBQ08sY0FBUyxHQUFrQixJQUFJLENBQUE7UUFDL0IsU0FBSSxHQUFrQixJQUFJLENBQUE7UUFDMUIsWUFBTyxHQUE0QjtZQUN6QyxXQUFXLEVBQUUsRUFBRTtZQUNmLFNBQVMsRUFBRSxFQUFFO1lBQ2IsUUFBUSxFQUFFLEVBQUU7WUFDWixTQUFTLEVBQUUsRUFBRTtTQUNkLENBQUE7SUFFeUUsQ0FBQztJQUUzRSxzQkFBSSxrREFBZ0I7YUFBcEI7WUFDRSxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsSUFB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L0Isd0NBTUM7SUFDRCx5Q0FBdUM7SUFDdkMsb0NBQWtDO0lBQ2xDLHVDQUtDO0lBRVcseUNBQWdDO0lBQUUsb0NBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuL2xvZ2dlci5zZXJ2aWNlJ1xyXG5pbXBvcnQgeyBOc0luc3RhbmNlQ29uZmlnIH0gZnJvbSAnLi9jb25maWd1cmF0aW9ucy5tb2RlbCdcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xyXG5pbXBvcnQgeyBJV3NNc1Rva2VuTW9kZWxSZXNwb25zZSB9IGZyb20gJy4vbXMtb2ZmaWNlLm1vZGVsJ1xyXG4vLyBUT0RPOiBVc2UgYSB1cmwtc2VhcmNoLXBvbHlmaWxsIGlmIHRoZSBzaXRlIGRpZG5vdCB3b3JrIGluIElFIDExXHJcblxyXG5jb25zdCBtc1Rva2VuRXhwaXJ5RHVyYXRpb24gPSA2MDBcclxuY29uc3Qgc3RvcmFnZUtleSA9ICdtc0xvZ2luUmVxdWVzdGVkJ1xyXG5jb25zdCBzdG9yYWdlID0gbG9jYWxTdG9yYWdlXHJcblxyXG5jb25zdCBBUElfRU5EUE9JTlRTID0ge1xyXG4gIHNoYXJlUG9pbnRUb2tlbjogJy9hcGlzL3Byb3RlY3RlZC92OC91c2VyL3Rva2VuJyxcclxufVxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXV0aE1pY3Jvc29mdFNlcnZpY2Uge1xyXG4gIHByaXZhdGUgbXNDb25maWc6IE5zSW5zdGFuY2VDb25maWcuSU1pY3Jvc29mdCA9IHtcclxuICAgIGNsaWVudElkOiAnJyxcclxuICAgIHRlbmFudDogJycsXHJcbiAgICBkZWZhdWx0RW1haWxJZDogJycsXHJcbiAgICB2YWxpZEVtYWlsRXh0ZW5zaW9uczogW10sXHJcbiAgICBpc0NvbmZpZ3VyZWQ6IGZhbHNlLFxyXG4gIH1cclxuICBwcml2YXRlIGVtYWlsVXNlZDogc3RyaW5nIHwgbnVsbCA9IG51bGxcclxuICBwcml2YXRlIGNvZGU6IHN0cmluZyB8IG51bGwgPSBudWxsXHJcbiAgcHJpdmF0ZSBtc1Rva2VuOiBJV3NNc1Rva2VuTW9kZWxSZXNwb25zZSA9IHtcclxuICAgIGFjY2Vzc1Rva2VuOiAnJyxcclxuICAgIGV4cGlyZXNPbjogJycsXHJcbiAgICByZXNvdXJjZTogJycsXHJcbiAgICB0b2tlblR5cGU6ICcnLFxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2dnZXJTdmM6IExvZ2dlclNlcnZpY2UsIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkgeyB9XHJcblxyXG4gIGdldCBpc0xvZ291dFJlcXVpcmVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIEJvb2xlYW4odGhpcy5tc0NvbmZpZy5pc0NvbmZpZ3VyZWQgJiYgdGhpcy5tc0NvbmZpZy5jbGllbnRJZCAmJiB0aGlzLmVtYWlsVXNlZClcclxuICB9XHJcbiAgZ2V0IGxvZ2luVXJsKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgaWYgKHRoaXMubXNDb25maWcuaXNDb25maWd1cmVkICYmIHRoaXMubXNDb25maWcuY2xpZW50SWQpIHtcclxuICAgICAgY29uc3QgYmFzZSA9ICdodHRwczovL2xvZ2luLndpbmRvd3MubmV0L2NvbW1vbi9vYXV0aDIvYXV0aG9yaXplJ1xyXG4gICAgICBjb25zdCBzZWFyY2hQYXJhbSA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoe1xyXG4gICAgICAgIHJlc3BvbnNlX3R5cGU6ICdjb2RlJyxcclxuICAgICAgICBjbGllbnRfaWQ6IHRoaXMubXNDb25maWcuY2xpZW50SWQsXHJcbiAgICAgICAgcmVkaXJlY3RfdXJpOiB3aW5kb3cubG9jYXRpb24uaHJlZixcclxuICAgICAgfSlcclxuICAgICAgY29uc3QgZnJhZ21lbnQgPSBsb2NhdGlvbi5zZWFyY2guc3Vic3RyaW5nKDEpXHJcbiAgICAgIGlmIChmcmFnbWVudCkge1xyXG4gICAgICAgIHJldHVybiBgJHtiYXNlfT8ke3NlYXJjaFBhcmFtLnRvU3RyaW5nKCl9IyR7ZnJhZ21lbnR9YFxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBgJHtiYXNlfT8ke3NlYXJjaFBhcmFtLnRvU3RyaW5nKCl9YFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGxcclxuICB9XHJcbiAgbG9nb3V0VXJsKHJlZGlyZWN0VXJsOiBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLmlzVmFsaWRFbWFpbCh0aGlzLmVtYWlsVXNlZCB8fCAnJykpIHtcclxuICAgICAgcmV0dXJuIGBodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vY29tbW9uL29hdXRoMi9sb2dvdXQ/cG9zdF9sb2dvdXRfcmVkaXJlY3RfdXJpPSR7cmVkaXJlY3RVcmx9YFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlZGlyZWN0VXJsXHJcbiAgfVxyXG5cclxuICAvLyBCZWhhdmlvciBNZXRob2RzXHJcblxyXG4gIGFzeW5jIGluaXQoY29uZmlnOiBQaWNrPE5zSW5zdGFuY2VDb25maWcuSUNvbmZpZywgJ21pY3Jvc29mdCc+KSB7XHJcbiAgICBpZiAoIWNvbmZpZyB8fCAhY29uZmlnLm1pY3Jvc29mdCB8fCAhY29uZmlnLm1pY3Jvc29mdC5pc0NvbmZpZ3VyZWQpIHtcclxuICAgICAgdGhpcy5sb2dnZXJTdmMud2FybignRW1wdHkvTm8gQ29uZmlndXJhdGlvbiBwYXNzZWQsIGlnbm9yaW5nIE1pY3Jvc29mdCBBdXRoZW50aWNhdGlvbicpXHJcbiAgICB9XHJcbiAgICB0aGlzLm1zQ29uZmlnID0gY29uZmlnLm1pY3Jvc29mdFxyXG4gICAgY29uc3QgcXVlcnlQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGxvY2F0aW9uLnNlYXJjaClcclxuICAgIGlmIChxdWVyeVBhcmFtcy5oYXMoJ2NvZGUnKSAmJiBxdWVyeVBhcmFtcy5oYXMoJ3Nlc3Npb25fc3RhdGUnKSkge1xyXG4gICAgICB0aGlzLmNvZGUgPSBxdWVyeVBhcmFtcy5nZXQoJ2NvZGUnKVxyXG4gICAgICBpZiAoIXRoaXMuY29kZSkge1xyXG4gICAgICAgIHJldHVyblxyXG4gICAgICB9XHJcbiAgICAgIGxldCB1cmwgPSBsb2NhdGlvbi5vcmlnaW4gKyBsb2NhdGlvbi5wYXRobmFtZVxyXG4gICAgICBhd2FpdCB0aGlzLmV4Y2hhbmdlVG9rZW5Gb3JDb2RlKHRoaXMuY29kZSwgdXJsKVxyXG4gICAgICBpZiAobG9jYXRpb24uaGFzaCkge1xyXG4gICAgICAgIHVybCArPSBsb2NhdGlvbi5oYXNoLnN1YnN0cmluZygxKVxyXG4gICAgICB9XHJcbiAgICAgIGhpc3RvcnkucmVwbGFjZVN0YXRlKG51bGwsICcnLCB1cmwpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBsb2dpbihlbWFpbDogc3RyaW5nKSB7XHJcbiAgICBpZiAoIXRoaXMuaXNWYWxpZEVtYWlsKGVtYWlsKSkge1xyXG4gICAgICB0aGlzLmxvZ2dlclN2Yy53YXJuKGBNaWNyb3NvZnQgTG9naW4gaXMgbm90IGFsbG93ZWQgZm9yIHlvdXIgZW1haWxJZCAoJHtlbWFpbH0pYClcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcbiAgICBjb25zdCBsb2dpblVybCA9IHRoaXMubG9naW5VcmxcclxuICAgIGlmIChsb2dpblVybCkge1xyXG4gICAgICBsb2NhdGlvbi5hc3NpZ24obG9naW5VcmwpXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmxvZ2dlclN2Yy53YXJuKCdVbmFibGUgdG8gaWRlbnRpZnkgT2ZmaWNlIExvZ2luIFVSTCwgSWdub3JpbmcgbG9naW4gcmVxdWVzdCcpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBnZXRUb2tlbihlbWFpbDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5tc1Rva2VuICYmXHJcbiAgICAgIHRoaXMuaXNWYWxpZCh0aGlzLm1zVG9rZW4uYWNjZXNzVG9rZW4sIHRoaXMubXNUb2tlbi5leHBpcmVzT24pICYmXHJcbiAgICAgIHRoaXMubXNUb2tlbi5hY2Nlc3NUb2tlblxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1zVG9rZW4uYWNjZXNzVG9rZW5cclxuICAgIH1cclxuICAgIGlmICh0aGlzLmlzVmFsaWRFbWFpbChlbWFpbCkpIHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICB0aGlzLm1zVG9rZW4gPSBhd2FpdCB0aGlzLmdldFRva2VuRm9yRW1haWwoZW1haWwpXHJcbiAgICAgICAgaWYgKHRoaXMubXNUb2tlbi5hY2Nlc3NUb2tlbikge1xyXG4gICAgICAgICAgdGhpcy5lbWFpbFVzZWQgPSBlbWFpbFxyXG4gICAgICAgICAgcmV0dXJuIHRoaXMubXNUb2tlbi5hY2Nlc3NUb2tlblxyXG4gICAgICAgIH1cclxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICBpZiAoIXRoaXMuY29kZSkge1xyXG4gICAgICAgICAgdGhpcy5sb2dpbihlbWFpbClcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0aGlzLm1zQ29uZmlnLmRlZmF1bHRFbWFpbElkICYmIHRoaXMuaXNWYWxpZEVtYWlsKHRoaXMubXNDb25maWcuZGVmYXVsdEVtYWlsSWQpKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgdGhpcy5tc1Rva2VuID0gYXdhaXQgdGhpcy5nZXRUb2tlbkZvckVtYWlsKHRoaXMubXNDb25maWcuZGVmYXVsdEVtYWlsSWQpXHJcbiAgICAgICAgaWYgKHRoaXMubXNUb2tlbi5hY2Nlc3NUb2tlbikge1xyXG4gICAgICAgICAgdGhpcy5lbWFpbFVzZWQgPSB0aGlzLm1zQ29uZmlnLmRlZmF1bHRFbWFpbElkXHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5tc1Rva2VuLmFjY2Vzc1Rva2VuXHJcbiAgICAgICAgfVxyXG4gICAgICB9IGNhdGNoIChlcnJvcikgeyB9XHJcbiAgICB9XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1VOQUJMRSBUTyBGRVRDSCBNUyBBVVRIIFRPS0VOJylcclxuICB9XHJcblxyXG4gIGxvZ2luRm9yU1NPRW5hYmxlZEVtYmVkKGVtYWlsOiBzdHJpbmcpIHtcclxuICAgIGlmICghdGhpcy5pc1ZhbGlkRW1haWwoZW1haWwpKSB7XHJcbiAgICAgIHRoaXMubG9nZ2VyU3ZjLndhcm4oJ1NTTyBMb2dpbiByZXF1ZXN0IElnbm9yZWQuIEludmFsaWQgRW1haWwgSWQgZm9yIFNTTyBFbmFibGVkIENvbnRlbnQnKVxyXG4gICAgfVxyXG4gICAgbGV0IG1zUHJldlRTID0gMFxyXG4gICAgdHJ5IHtcclxuICAgICAgbXNQcmV2VFMgPSBwYXJzZUludChzdG9yYWdlLmdldEl0ZW0oc3RvcmFnZUtleSkgfHwgJzAnLCAxMClcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7IH1cclxuICAgIGlmICghbXNQcmV2VFMgfHwgKG1zUHJldlRTICYmIChEYXRlLm5vdygpIC0gbXNQcmV2VFMpIC8gMTAwMCA+IG1zVG9rZW5FeHBpcnlEdXJhdGlvbikpIHtcclxuICAgICAgdGhpcy5sb2dnZXJTdmMuaW5mbyhcclxuICAgICAgICBgbGFzdCBsb2dpbiBleGNlZWRlZCAke21zVG9rZW5FeHBpcnlEdXJhdGlvbn0gZHVyYXRpb24uIFJlZGlyZWN0aW5nIHRvIE8zNjUgbG9naW5gLFxyXG4gICAgICApXHJcbiAgICAgIHN0b3JhZ2Uuc2V0SXRlbShzdG9yYWdlS2V5LCBEYXRlLm5vdygpLnRvU3RyaW5nKCkpXHJcbiAgICAgIHRoaXMubG9naW4oZW1haWwpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc1ZhbGlkRW1haWwoZW1haWw6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMubXNDb25maWcudmFsaWRFbWFpbEV4dGVuc2lvbnMuc29tZShleHQgPT4gZW1haWwuZW5kc1dpdGgoZXh0KSlcclxuICB9XHJcblxyXG4gIGlzVmFsaWQoYWNjZXNzVG9rZW46IHN0cmluZyB8IHVuZGVmaW5lZCwgZXhwaXJlc09uOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcclxuICAgIGlmIChhY2Nlc3NUb2tlbiAmJiBleHBpcmVzT24pIHtcclxuICAgICAgLy8gVE9ETzogSW1wbGVtZW50IGV4cGlyZWRPbiBhbmQgRGF0ZSBjb21wYXJpc29uIGJhc2VkIHZhbGlkaXR5XHJcbiAgICAgIHJldHVybiB0cnVlXHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2VcclxuICB9XHJcblxyXG4gIGFzeW5jIGV4Y2hhbmdlVG9rZW5Gb3JDb2RlKGNvZGU6IHN0cmluZywgcmVkaXJlY3RVcmw6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuaHR0cFxyXG4gICAgICAuZ2V0PElXc01zVG9rZW5Nb2RlbFJlc3BvbnNlPihgJHtBUElfRU5EUE9JTlRTfT9jb2RlPSR7Y29kZX0mcmVkaXJlY3RVcmw9JHtyZWRpcmVjdFVybH1gKVxyXG4gICAgICAudG9Qcm9taXNlKClcclxuICAgIHJldHVybiB0aGlzLmdldEluc3RhbmNlRnJvbVJlc3BvbnNlKHJlc3BvbnNlKVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgZ2V0VG9rZW5Gb3JFbWFpbChlbWFpbDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5odHRwXHJcbiAgICAgIC5nZXQ8SVdzTXNUb2tlbk1vZGVsUmVzcG9uc2U+KGAke0FQSV9FTkRQT0lOVFMuc2hhcmVQb2ludFRva2VufT9lbWFpbD0ke2VtYWlsfWApXHJcbiAgICAgIC50b1Byb21pc2UoKVxyXG4gICAgcmV0dXJuIHRoaXMuZ2V0SW5zdGFuY2VGcm9tUmVzcG9uc2UocmVzcG9uc2UpXHJcbiAgfVxyXG5cclxuICBnZXRJbnN0YW5jZUZyb21SZXNwb25zZSh0b2tlbjogSVdzTXNUb2tlbk1vZGVsUmVzcG9uc2UpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGFjY2Vzc1Rva2VuOiB0b2tlbi5hY2Nlc3NUb2tlbixcclxuICAgICAgZXhwaXJlc09uOiB0b2tlbi5leHBpcmVzT24sXHJcbiAgICAgIHJlc291cmNlOiB0b2tlbi5yZXNvdXJjZSxcclxuICAgICAgdG9rZW5UeXBlOiB0b2tlbi50b2tlblR5cGUsXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,32 @@
1
+ export var NsCardContent;
2
+ (function (NsCardContent) {
3
+ function ICard() { }
4
+ NsCardContent.ICard = ICard;
5
+ if (false) {
6
+ ICard.prototype.content;
7
+ ICard.prototype.cardSubType;
8
+ ICard.prototype.context;
9
+ ICard.prototype.intranetMode;
10
+ ICard.prototype.deletedMode;
11
+ ICard.prototype.likes;
12
+ ICard.prototype.contentTags;
13
+ ICard.prototype.stateData;
14
+ }
15
+ function IContentTags() { }
16
+ NsCardContent.IContentTags = IContentTags;
17
+ if (false) {
18
+ IContentTags.prototype.daysSpan;
19
+ IContentTags.prototype.excludeContentType;
20
+ IContentTags.prototype.excludeMimeType;
21
+ IContentTags.prototype.tag;
22
+ IContentTags.prototype.criteriaField;
23
+ }
24
+ var EContentStatus;
25
+ (function (EContentStatus) {
26
+ EContentStatus["LIVE"] = "Live";
27
+ EContentStatus["EXPIRED"] = "Expired";
28
+ EContentStatus["DELETED"] = "Deleted";
29
+ EContentStatus["MARK_FOR_DELETION"] = "MarkedForDeletion";
30
+ })(EContentStatus = NsCardContent.EContentStatus || (NsCardContent.EContentStatus = {}));
31
+ })(NsCardContent || (NsCardContent = {}));
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1jb250ZW50Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN1bmJpcmQtY2IvdXRpbHMvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvY2FyZC1jb250ZW50Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sS0FBVyxhQUFhLENBb0M3QjtBQXBDRCxXQUFpQixhQUFhO0lBQzVCLG9CQVNDOzs7UUFSQyx3QkFBMkI7UUFDM0IsNEJBQXlCO1FBQ3pCLHdCQUFtRDtRQUNuRCw2QkFBaUM7UUFDakMsNEJBQWdDO1FBQ2hDLHNCQUFjO1FBQ2QsNEJBQTBCO1FBQzFCLDBCQUFjOztJQUdoQiwyQkFNQzs7O1FBTEMsZ0NBQWlCO1FBQ2pCLDBDQUE4QztRQUM5Qyx1Q0FBMEI7UUFDMUIsMkJBQVc7UUFDWCxxQ0FBc0I7O0lBYXhCLElBQVksY0FLWDtJQUxELFdBQVksY0FBYztRQUN4QiwrQkFBYSxDQUFBO1FBQ2IscUNBQW1CLENBQUE7UUFDbkIscUNBQW1CLENBQUE7UUFDbkIseURBQXVDLENBQUE7SUFDekMsQ0FBQyxFQUxXLGNBQWMsR0FBZCw0QkFBYyxLQUFkLDRCQUFjLFFBS3pCO0FBQ0gsQ0FBQyxFQXBDZ0IsYUFBYSxLQUFiLGFBQWEsUUFvQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTnNDb250ZW50IH0gZnJvbSAnLi93aWRnZXQtY29udGVudC5tb2RlbCdcclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgTnNDYXJkQ29udGVudCB7XHJcbiAgZXhwb3J0IGludGVyZmFjZSBJQ2FyZCB7XHJcbiAgICBjb250ZW50OiBOc0NvbnRlbnQuSUNvbnRlbnRcclxuICAgIGNhcmRTdWJUeXBlOiBUQ2FyZFN1YlR5cGVcclxuICAgIGNvbnRleHQ6IHsgcGFnZVNlY3Rpb246IHN0cmluZzsgcG9zaXRpb24/OiBudW1iZXIgfVxyXG4gICAgaW50cmFuZXRNb2RlPzogJ2dyZXlPdXQnIHwgJ2hpZGUnXHJcbiAgICBkZWxldGVkTW9kZT86ICdncmV5T3V0JyB8ICdoaWRlJ1xyXG4gICAgbGlrZXM/OiBudW1iZXJcclxuICAgIGNvbnRlbnRUYWdzPzogSUNvbnRlbnRUYWdzXHJcbiAgICBzdGF0ZURhdGE6IGFueVxyXG4gIH1cclxuXHJcbiAgZXhwb3J0IGludGVyZmFjZSBJQ29udGVudFRhZ3Mge1xyXG4gICAgZGF5c1NwYW4/OiBudW1iZXJcclxuICAgIGV4Y2x1ZGVDb250ZW50VHlwZT86IE5zQ29udGVudC5FQ29udGVudFR5cGVzW11cclxuICAgIGV4Y2x1ZGVNaW1lVHlwZT86IHN0cmluZ1tdXHJcbiAgICB0YWc6IHN0cmluZ1xyXG4gICAgY3JpdGVyaWFGaWVsZD86IHN0cmluZ1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0IHR5cGUgVENhcmRTdWJUeXBlID1cclxuICAgIHwgJ3N0YW5kYXJkJ1xyXG4gICAgfCAnbWluaW1hbCdcclxuICAgIHwgJ3NwYWNlLXNhdmluZydcclxuICAgIHwgJ2NhcmQtdXNlci1kZXRhaWxzJ1xyXG4gICAgfCAnYmFzaWMtaW5mbydcclxuICAgIHwgJ2Jhc2ljLWRldGFpbHMnXHJcbiAgICB8ICdjYXJkLWRlc2NyaXB0aW9uLWJhY2snXHJcbiAgICB8ICduZXR3b3JrLWNhcmQnXHJcblxyXG4gIGV4cG9ydCBlbnVtIEVDb250ZW50U3RhdHVzIHtcclxuICAgIExJVkUgPSAnTGl2ZScsXHJcbiAgICBFWFBJUkVEID0gJ0V4cGlyZWQnLFxyXG4gICAgREVMRVRFRCA9ICdEZWxldGVkJyxcclxuICAgIE1BUktfRk9SX0RFTEVUSU9OID0gJ01hcmtlZEZvckRlbGV0aW9uJyxcclxuICB9XHJcbn1cclxuIl19