@sunbird-cb/utils-v2 0.0.2 → 0.0.3-ang-17-20

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 (305) hide show
  1. package/fesm2022/sunbird-cb-utils-v2.mjs +6072 -0
  2. package/fesm2022/sunbird-cb-utils-v2.mjs.map +1 -0
  3. package/index.d.ts +3247 -0
  4. package/package.json +26 -25
  5. package/sunbird-cb-utils-v2-0.0.3-ang-17-20.tgz +0 -0
  6. package/bundles/sunbird-cb-utils-v2.umd.js +0 -7069
  7. package/bundles/sunbird-cb-utils-v2.umd.js.map +0 -1
  8. package/bundles/sunbird-cb-utils-v2.umd.min.js +0 -2
  9. package/bundles/sunbird-cb-utils-v2.umd.min.js.map +0 -1
  10. package/esm2015/lib/components/image-crop/image-crop.component.js +0 -195
  11. package/esm2015/lib/components/image-crop/image-crop.module.js +0 -27
  12. package/esm2015/lib/constants/features.enum.js +0 -555
  13. package/esm2015/lib/constants/instances.enum.js +0 -5
  14. package/esm2015/lib/constants/misc.constants.js +0 -1
  15. package/esm2015/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.js +0 -87
  16. package/esm2015/lib/directives/class-change-on-scroll/class-change-on-scroll.module.js +0 -15
  17. package/esm2015/lib/directives/default-thumbnail/default-thumbnail.directive.js +0 -38
  18. package/esm2015/lib/directives/default-thumbnail/default-thumbnail.module.js +0 -15
  19. package/esm2015/lib/directives/image-responsive/image-responsive.directive.js +0 -92
  20. package/esm2015/lib/directives/image-responsive/image-responsive.module.js +0 -15
  21. package/esm2015/lib/directives/in-view-port/in-view-port.directive.js +0 -68
  22. package/esm2015/lib/directives/in-view-port/in-view-port.module.js +0 -15
  23. package/esm2015/lib/directives/navigation/navigation.directive.js +0 -39
  24. package/esm2015/lib/directives/navigation/navigation.module.js +0 -15
  25. package/esm2015/lib/directives/permission/permission.directive.js +0 -11
  26. package/esm2015/lib/directives/permission/permission.module.js +0 -15
  27. package/esm2015/lib/helpers/functions/getStringifiedQueryParams.js +0 -9
  28. package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.component.js +0 -99
  29. package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.module.js +0 -19
  30. package/esm2015/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.component.js +0 -194
  31. package/esm2015/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.module.js +0 -19
  32. package/esm2015/lib/helpers/logout/logout.component.js +0 -90
  33. package/esm2015/lib/helpers/logout/logout.module.js +0 -20
  34. package/esm2015/lib/models/profile-v3.models.js +0 -104
  35. package/esm2015/lib/pipes/pipe-certificate-image-URL/pipe-certimage-URL.module.js +0 -15
  36. package/esm2015/lib/pipes/pipe-certificate-image-URL/pipe-certimage-URL.pipe.js +0 -94
  37. package/esm2015/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.js +0 -13
  38. package/esm2015/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.js +0 -59
  39. package/esm2015/lib/pipes/pipe-count-transform/pipe-count-transform.module.js +0 -15
  40. package/esm2015/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.js +0 -33
  41. package/esm2015/lib/pipes/pipe-date-concat/pipe-date-concat.module.js +0 -15
  42. package/esm2015/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.js +0 -43
  43. package/esm2015/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.js +0 -15
  44. package/esm2015/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +0 -79
  45. package/esm2015/lib/pipes/pipe-email/pipe-email.module.js +0 -15
  46. package/esm2015/lib/pipes/pipe-email/pipe-email.pipe.js +0 -12
  47. package/esm2015/lib/pipes/pipe-filter/pipe-filter.module.js +0 -15
  48. package/esm2015/lib/pipes/pipe-filter/pipe-filter.pipe.js +0 -16
  49. package/esm2015/lib/pipes/pipe-filter-search/pipe-filter-search.module.js +0 -15
  50. package/esm2015/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.js +0 -38
  51. package/esm2015/lib/pipes/pipe-filter-v2/pipe-filter-v2.module.js +0 -15
  52. package/esm2015/lib/pipes/pipe-filter-v2/pipe-filter-v2.pipe.js +0 -21
  53. package/esm2015/lib/pipes/pipe-filter-v3/pipe-filter-v3.module.js +0 -15
  54. package/esm2015/lib/pipes/pipe-filter-v3/pipe-filter-v3.pipe.js +0 -23
  55. package/esm2015/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.js +0 -15
  56. package/esm2015/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.js +0 -12
  57. package/esm2015/lib/pipes/pipe-limit-to/pipe-limit-to.module.js +0 -15
  58. package/esm2015/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.js +0 -25
  59. package/esm2015/lib/pipes/pipe-list-filter/pipe-list-filter.module.js +0 -15
  60. package/esm2015/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.js +0 -17
  61. package/esm2015/lib/pipes/pipe-name-transform/pipe-name-transform.module.js +0 -15
  62. package/esm2015/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.js +0 -27
  63. package/esm2015/lib/pipes/pipe-order-by/pipe-order-by.module.js +0 -15
  64. package/esm2015/lib/pipes/pipe-order-by/pipe-order-by.pipe.js +0 -16
  65. package/esm2015/lib/pipes/pipe-ordinal/pipe-ordinal.module.js +0 -15
  66. package/esm2015/lib/pipes/pipe-ordinal/pipe-ordinal.pipe.js +0 -17
  67. package/esm2015/lib/pipes/pipe-partial-content/pipe-partial-content.module.js +0 -15
  68. package/esm2015/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.js +0 -18
  69. package/esm2015/lib/pipes/pipe-public-URL/pipe-public-URL.module.js +0 -15
  70. package/esm2015/lib/pipes/pipe-public-URL/pipe-public-URL.pipe.js +0 -23
  71. package/esm2015/lib/pipes/pipe-relative-time/pipe-relative-time.module.js +0 -15
  72. package/esm2015/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.js +0 -16
  73. package/esm2015/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.js +0 -15
  74. package/esm2015/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.js +0 -35
  75. package/esm2015/lib/resolvers/explore-detail.resolver.js +0 -89
  76. package/esm2015/lib/resolvers/marketing-offering.resolve.js +0 -40
  77. package/esm2015/lib/resolvers/module-name.resolver.js +0 -38
  78. package/esm2015/lib/resolvers/page-name.resolver.js +0 -32
  79. package/esm2015/lib/resolvers/page.constant.js +0 -4
  80. package/esm2015/lib/resolvers/page.model.js +0 -48
  81. package/esm2015/lib/resolvers/page.resolver.js +0 -90
  82. package/esm2015/lib/resolvers/resolver.model.js +0 -6
  83. package/esm2015/lib/services/auth-keycloak.service.js +0 -266
  84. package/esm2015/lib/services/auth-microsoft.service.js +0 -196
  85. package/esm2015/lib/services/card-content.model.js +0 -31
  86. package/esm2015/lib/services/configurations.model.js +0 -548
  87. package/esm2015/lib/services/configurations.service.js +0 -140
  88. package/esm2015/lib/services/content-strip-multiple.model.js +0 -75
  89. package/esm2015/lib/services/event.model.js +0 -258
  90. package/esm2015/lib/services/event.service.js +0 -211
  91. package/esm2015/lib/services/logger.service.js +0 -55
  92. package/esm2015/lib/services/ms-office.model.js +0 -8
  93. package/esm2015/lib/services/multilingual-translations.service.js +0 -136
  94. package/esm2015/lib/services/nps-grid.service.js +0 -45
  95. package/esm2015/lib/services/subapplication-respond.service.js +0 -214
  96. package/esm2015/lib/services/telemetry.service.js +0 -621
  97. package/esm2015/lib/services/user-preference.model.js +0 -38
  98. package/esm2015/lib/services/user-preference.service.js +0 -90
  99. package/esm2015/lib/services/utility.service.js +0 -145
  100. package/esm2015/lib/services/value.service.js +0 -31
  101. package/esm2015/lib/services/widget-content.model.js +0 -373
  102. package/esm2015/lib/services/widget-content.service.js +0 -192
  103. package/esm2015/lib/services/widget-resolver.model.js +0 -57
  104. package/esm2015/lib/services/widget-search.model.js +0 -126
  105. package/esm2015/public-api.js +0 -84
  106. package/esm2015/sunbird-cb-utils-v2.js +0 -10
  107. package/esm5/lib/components/image-crop/image-crop.component.js +0 -200
  108. package/esm5/lib/components/image-crop/image-crop.module.js +0 -31
  109. package/esm5/lib/constants/features.enum.js +0 -555
  110. package/esm5/lib/constants/instances.enum.js +0 -5
  111. package/esm5/lib/constants/misc.constants.js +0 -1
  112. package/esm5/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.js +0 -105
  113. package/esm5/lib/directives/class-change-on-scroll/class-change-on-scroll.module.js +0 -19
  114. package/esm5/lib/directives/default-thumbnail/default-thumbnail.directive.js +0 -40
  115. package/esm5/lib/directives/default-thumbnail/default-thumbnail.module.js +0 -19
  116. package/esm5/lib/directives/image-responsive/image-responsive.directive.js +0 -95
  117. package/esm5/lib/directives/image-responsive/image-responsive.module.js +0 -19
  118. package/esm5/lib/directives/in-view-port/in-view-port.directive.js +0 -73
  119. package/esm5/lib/directives/in-view-port/in-view-port.module.js +0 -19
  120. package/esm5/lib/directives/navigation/navigation.directive.js +0 -41
  121. package/esm5/lib/directives/navigation/navigation.module.js +0 -19
  122. package/esm5/lib/directives/permission/permission.directive.js +0 -14
  123. package/esm5/lib/directives/permission/permission.module.js +0 -19
  124. package/esm5/lib/helpers/functions/getStringifiedQueryParams.js +0 -9
  125. package/esm5/lib/helpers/horizontal-scroller/horizontal-scroller.component.js +0 -103
  126. package/esm5/lib/helpers/horizontal-scroller/horizontal-scroller.module.js +0 -23
  127. package/esm5/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.component.js +0 -199
  128. package/esm5/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.module.js +0 -23
  129. package/esm5/lib/helpers/logout/logout.component.js +0 -96
  130. package/esm5/lib/helpers/logout/logout.module.js +0 -24
  131. package/esm5/lib/models/profile-v3.models.js +0 -104
  132. package/esm5/lib/pipes/pipe-certificate-image-URL/pipe-certimage-URL.module.js +0 -19
  133. package/esm5/lib/pipes/pipe-certificate-image-URL/pipe-certimage-URL.pipe.js +0 -96
  134. package/esm5/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.js +0 -17
  135. package/esm5/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.js +0 -63
  136. package/esm5/lib/pipes/pipe-count-transform/pipe-count-transform.module.js +0 -19
  137. package/esm5/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.js +0 -37
  138. package/esm5/lib/pipes/pipe-date-concat/pipe-date-concat.module.js +0 -19
  139. package/esm5/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.js +0 -45
  140. package/esm5/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.js +0 -19
  141. package/esm5/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +0 -83
  142. package/esm5/lib/pipes/pipe-email/pipe-email.module.js +0 -19
  143. package/esm5/lib/pipes/pipe-email/pipe-email.pipe.js +0 -16
  144. package/esm5/lib/pipes/pipe-filter/pipe-filter.module.js +0 -19
  145. package/esm5/lib/pipes/pipe-filter/pipe-filter.pipe.js +0 -20
  146. package/esm5/lib/pipes/pipe-filter-search/pipe-filter-search.module.js +0 -19
  147. package/esm5/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.js +0 -46
  148. package/esm5/lib/pipes/pipe-filter-v2/pipe-filter-v2.module.js +0 -19
  149. package/esm5/lib/pipes/pipe-filter-v2/pipe-filter-v2.pipe.js +0 -25
  150. package/esm5/lib/pipes/pipe-filter-v3/pipe-filter-v3.module.js +0 -19
  151. package/esm5/lib/pipes/pipe-filter-v3/pipe-filter-v3.pipe.js +0 -31
  152. package/esm5/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.js +0 -19
  153. package/esm5/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.js +0 -16
  154. package/esm5/lib/pipes/pipe-limit-to/pipe-limit-to.module.js +0 -19
  155. package/esm5/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.js +0 -30
  156. package/esm5/lib/pipes/pipe-list-filter/pipe-list-filter.module.js +0 -19
  157. package/esm5/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.js +0 -21
  158. package/esm5/lib/pipes/pipe-name-transform/pipe-name-transform.module.js +0 -19
  159. package/esm5/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.js +0 -31
  160. package/esm5/lib/pipes/pipe-order-by/pipe-order-by.module.js +0 -19
  161. package/esm5/lib/pipes/pipe-order-by/pipe-order-by.pipe.js +0 -18
  162. package/esm5/lib/pipes/pipe-ordinal/pipe-ordinal.module.js +0 -19
  163. package/esm5/lib/pipes/pipe-ordinal/pipe-ordinal.pipe.js +0 -21
  164. package/esm5/lib/pipes/pipe-partial-content/pipe-partial-content.module.js +0 -19
  165. package/esm5/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.js +0 -34
  166. package/esm5/lib/pipes/pipe-public-URL/pipe-public-URL.module.js +0 -19
  167. package/esm5/lib/pipes/pipe-public-URL/pipe-public-URL.pipe.js +0 -25
  168. package/esm5/lib/pipes/pipe-relative-time/pipe-relative-time.module.js +0 -19
  169. package/esm5/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.js +0 -20
  170. package/esm5/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.js +0 -19
  171. package/esm5/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.js +0 -38
  172. package/esm5/lib/resolvers/explore-detail.resolver.js +0 -93
  173. package/esm5/lib/resolvers/marketing-offering.resolve.js +0 -43
  174. package/esm5/lib/resolvers/module-name.resolver.js +0 -40
  175. package/esm5/lib/resolvers/page-name.resolver.js +0 -35
  176. package/esm5/lib/resolvers/page.constant.js +0 -4
  177. package/esm5/lib/resolvers/page.model.js +0 -48
  178. package/esm5/lib/resolvers/page.resolver.js +0 -98
  179. package/esm5/lib/resolvers/resolver.model.js +0 -6
  180. package/esm5/lib/services/auth-keycloak.service.js +0 -347
  181. package/esm5/lib/services/auth-microsoft.service.js +0 -251
  182. package/esm5/lib/services/card-content.model.js +0 -31
  183. package/esm5/lib/services/configurations.model.js +0 -548
  184. package/esm5/lib/services/configurations.service.js +0 -142
  185. package/esm5/lib/services/content-strip-multiple.model.js +0 -75
  186. package/esm5/lib/services/event.model.js +0 -258
  187. package/esm5/lib/services/event.service.js +0 -215
  188. package/esm5/lib/services/logger.service.js +0 -73
  189. package/esm5/lib/services/ms-office.model.js +0 -8
  190. package/esm5/lib/services/multilingual-translations.service.js +0 -138
  191. package/esm5/lib/services/nps-grid.service.js +0 -47
  192. package/esm5/lib/services/subapplication-respond.service.js +0 -219
  193. package/esm5/lib/services/telemetry.service.js +0 -670
  194. package/esm5/lib/services/user-preference.model.js +0 -38
  195. package/esm5/lib/services/user-preference.service.js +0 -109
  196. package/esm5/lib/services/utility.service.js +0 -178
  197. package/esm5/lib/services/value.service.js +0 -33
  198. package/esm5/lib/services/widget-content.model.js +0 -373
  199. package/esm5/lib/services/widget-content.service.js +0 -214
  200. package/esm5/lib/services/widget-resolver.model.js +0 -57
  201. package/esm5/lib/services/widget-search.model.js +0 -126
  202. package/esm5/public-api.js +0 -84
  203. package/esm5/sunbird-cb-utils-v2.js +0 -10
  204. package/fesm2015/sunbird-cb-utils-v2.js +0 -6281
  205. package/fesm2015/sunbird-cb-utils-v2.js.map +0 -1
  206. package/fesm5/sunbird-cb-utils-v2.js +0 -6776
  207. package/fesm5/sunbird-cb-utils-v2.js.map +0 -1
  208. package/lib/components/image-crop/image-crop.component.d.ts +0 -56
  209. package/lib/components/image-crop/image-crop.module.d.ts +0 -2
  210. package/lib/constants/features.enum.d.ts +0 -553
  211. package/lib/constants/instances.enum.d.ts +0 -3
  212. package/lib/constants/misc.constants.d.ts +0 -2
  213. package/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.d.ts +0 -18
  214. package/lib/directives/class-change-on-scroll/class-change-on-scroll.module.d.ts +0 -2
  215. package/lib/directives/default-thumbnail/default-thumbnail.directive.d.ts +0 -9
  216. package/lib/directives/default-thumbnail/default-thumbnail.module.d.ts +0 -2
  217. package/lib/directives/image-responsive/image-responsive.directive.d.ts +0 -17
  218. package/lib/directives/image-responsive/image-responsive.module.d.ts +0 -2
  219. package/lib/directives/in-view-port/in-view-port.directive.d.ts +0 -11
  220. package/lib/directives/in-view-port/in-view-port.module.d.ts +0 -2
  221. package/lib/directives/navigation/navigation.directive.d.ts +0 -9
  222. package/lib/directives/navigation/navigation.module.d.ts +0 -2
  223. package/lib/directives/permission/permission.directive.d.ts +0 -3
  224. package/lib/directives/permission/permission.module.d.ts +0 -2
  225. package/lib/helpers/functions/getStringifiedQueryParams.d.ts +0 -3
  226. package/lib/helpers/horizontal-scroller/horizontal-scroller.component.d.ts +0 -18
  227. package/lib/helpers/horizontal-scroller/horizontal-scroller.module.d.ts +0 -2
  228. package/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.component.d.ts +0 -36
  229. package/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.module.d.ts +0 -2
  230. package/lib/helpers/logout/logout.component.d.ts +0 -20
  231. package/lib/helpers/logout/logout.module.d.ts +0 -2
  232. package/lib/models/profile-v3.models.d.ts +0 -91
  233. package/lib/pipes/pipe-certificate-image-URL/pipe-certimage-URL.module.d.ts +0 -2
  234. package/lib/pipes/pipe-certificate-image-URL/pipe-certimage-URL.pipe.d.ts +0 -6
  235. package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.d.ts +0 -2
  236. package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.d.ts +0 -10
  237. package/lib/pipes/pipe-count-transform/pipe-count-transform.module.d.ts +0 -2
  238. package/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.d.ts +0 -4
  239. package/lib/pipes/pipe-date-concat/pipe-date-concat.module.d.ts +0 -2
  240. package/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.d.ts +0 -13
  241. package/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.d.ts +0 -2
  242. package/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.d.ts +0 -6
  243. package/lib/pipes/pipe-email/pipe-email.module.d.ts +0 -2
  244. package/lib/pipes/pipe-email/pipe-email.pipe.d.ts +0 -4
  245. package/lib/pipes/pipe-filter/pipe-filter.module.d.ts +0 -2
  246. package/lib/pipes/pipe-filter/pipe-filter.pipe.d.ts +0 -4
  247. package/lib/pipes/pipe-filter-search/pipe-filter-search.module.d.ts +0 -2
  248. package/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.d.ts +0 -4
  249. package/lib/pipes/pipe-filter-v2/pipe-filter-v2.module.d.ts +0 -2
  250. package/lib/pipes/pipe-filter-v2/pipe-filter-v2.pipe.d.ts +0 -4
  251. package/lib/pipes/pipe-filter-v3/pipe-filter-v3.module.d.ts +0 -2
  252. package/lib/pipes/pipe-filter-v3/pipe-filter-v3.pipe.d.ts +0 -4
  253. package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.d.ts +0 -2
  254. package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.d.ts +0 -4
  255. package/lib/pipes/pipe-limit-to/pipe-limit-to.module.d.ts +0 -2
  256. package/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.d.ts +0 -4
  257. package/lib/pipes/pipe-list-filter/pipe-list-filter.module.d.ts +0 -2
  258. package/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.d.ts +0 -4
  259. package/lib/pipes/pipe-name-transform/pipe-name-transform.module.d.ts +0 -2
  260. package/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.d.ts +0 -9
  261. package/lib/pipes/pipe-order-by/pipe-order-by.module.d.ts +0 -2
  262. package/lib/pipes/pipe-order-by/pipe-order-by.pipe.d.ts +0 -9
  263. package/lib/pipes/pipe-ordinal/pipe-ordinal.module.d.ts +0 -2
  264. package/lib/pipes/pipe-ordinal/pipe-ordinal.pipe.d.ts +0 -4
  265. package/lib/pipes/pipe-partial-content/pipe-partial-content.module.d.ts +0 -2
  266. package/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.d.ts +0 -4
  267. package/lib/pipes/pipe-public-URL/pipe-public-URL.module.d.ts +0 -2
  268. package/lib/pipes/pipe-public-URL/pipe-public-URL.pipe.d.ts +0 -6
  269. package/lib/pipes/pipe-relative-time/pipe-relative-time.module.d.ts +0 -2
  270. package/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.d.ts +0 -4
  271. package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.d.ts +0 -2
  272. package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.d.ts +0 -7
  273. package/lib/resolvers/explore-detail.resolver.d.ts +0 -16
  274. package/lib/resolvers/marketing-offering.resolve.d.ts +0 -10
  275. package/lib/resolvers/module-name.resolver.d.ts +0 -6
  276. package/lib/resolvers/page-name.resolver.d.ts +0 -5
  277. package/lib/resolvers/page.constant.d.ts +0 -1
  278. package/lib/resolvers/page.model.d.ts +0 -41
  279. package/lib/resolvers/page.resolver.d.ts +0 -17
  280. package/lib/resolvers/resolver.model.d.ts +0 -4
  281. package/lib/services/auth-keycloak.service.d.ts +0 -31
  282. package/lib/services/auth-microsoft.service.d.ts +0 -30
  283. package/lib/services/card-content.model.d.ts +0 -29
  284. package/lib/services/configurations.model.d.ts +0 -521
  285. package/lib/services/configurations.service.d.ts +0 -73
  286. package/lib/services/content-strip-multiple.model.d.ts +0 -79
  287. package/lib/services/event.model.d.ts +0 -221
  288. package/lib/services/event.service.d.ts +0 -30
  289. package/lib/services/logger.service.d.ts +0 -15
  290. package/lib/services/ms-office.model.d.ts +0 -6
  291. package/lib/services/multilingual-translations.service.d.ts +0 -20
  292. package/lib/services/nps-grid.service.d.ts +0 -12
  293. package/lib/services/subapplication-respond.service.d.ts +0 -23
  294. package/lib/services/telemetry.service.d.ts +0 -56
  295. package/lib/services/user-preference.model.d.ts +0 -34
  296. package/lib/services/user-preference.service.d.ts +0 -11
  297. package/lib/services/utility.service.d.ts +0 -31
  298. package/lib/services/value.service.d.ts +0 -8
  299. package/lib/services/widget-content.model.d.ts +0 -344
  300. package/lib/services/widget-content.service.d.ts +0 -47
  301. package/lib/services/widget-resolver.model.d.ts +0 -48
  302. package/lib/services/widget-search.model.d.ts +0 -114
  303. package/public-api.d.ts +0 -83
  304. package/sunbird-cb-utils-v2.d.ts +0 -9
  305. package/sunbird-cb-utils-v2.metadata.json +0 -1
@@ -1,219 +0,0 @@
1
- import * as tslib_1 from "tslib";
2
- import { Injectable } from '@angular/core';
3
- import { ActivatedRoute, Router } from '@angular/router';
4
- import { WidgetContentService } from './widget-content.service';
5
- import { ConfigurationsService } from './configurations.service';
6
- import { WsEvents } from './event.model';
7
- import { EventService } from './event.service';
8
- import { TelemetryService } from './telemetry.service';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "./configurations.service";
11
- import * as i2 from "./widget-content.service";
12
- import * as i3 from "@angular/router";
13
- import * as i4 from "./event.service";
14
- import * as i5 from "./telemetry.service";
15
- var SubapplicationRespondService = (function () {
16
- function SubapplicationRespondService(configSvc, contentSvc, activatedRoute, router, eventSvc, teleSvc) {
17
- var _this = this;
18
- this.configSvc = configSvc;
19
- this.contentSvc = contentSvc;
20
- this.activatedRoute = activatedRoute;
21
- this.router = router;
22
- this.eventSvc = eventSvc;
23
- this.teleSvc = teleSvc;
24
- this.subAppname = '';
25
- this.continueLearningData = null;
26
- this.loaded = false;
27
- this.changeContextrespond();
28
- this.configSvc.prefChangeNotifier.subscribe((function () {
29
- _this.changeContextrespond();
30
- }));
31
- }
32
- SubapplicationRespondService.prototype.loadedRespond = function (contentWindow, applicationName, id) {
33
- var _this = this;
34
- if (id && this.activatedRoute.snapshot.queryParams.viewMode && this.activatedRoute.snapshot.queryParams.viewMode === 'RESUME') {
35
- this.continueLearningData = null;
36
- this.contentSvc.fetchContentHistory(id).subscribe((function (data) {
37
- _this.continueLearningData = data.continueData;
38
- if (_this.configSvc && _this.configSvc.userProfile) {
39
- var firstName = _this.configSvc.userProfile.userName ?
40
- _this.configSvc.userProfile.userName.split(' ', 2)[0] : '';
41
- var lastName = _this.configSvc.userProfile.userName ?
42
- _this.configSvc.userProfile.userName.split(' ', 2)[1] : '';
43
- var viewMode = _this.activatedRoute.snapshot.queryParams.viewMode ?
44
- _this.activatedRoute.snapshot.queryParams.viewMode : '';
45
- var response = {
46
- subApplicationName: applicationName,
47
- requestId: 'LOADED',
48
- parentContext: {
49
- domainName: window.location.host,
50
- url: _this.router.url,
51
- rootOrg: _this.configSvc.rootOrg,
52
- theme: _this.configSvc.activeThemeObject ? tslib_1.__assign({ name: _this.configSvc.activeThemeObject.themeName }, _this.configSvc.activeThemeObject.color) : '',
53
- fontSize: _this.configSvc.activeFontObject ? _this.configSvc.activeFontObject.baseFontSize : '14px',
54
- locale: (_this.configSvc.userPreference && _this.configSvc.userPreference.selectedLocale) || 'en',
55
- darkMode: _this.configSvc.isDarkMode,
56
- subApplicationStartMode: viewMode.toUpperCase(),
57
- user: {
58
- firstName: firstName,
59
- lastName: lastName,
60
- userId: _this.configSvc.userProfile.userId ? _this.configSvc.userProfile.userId : '',
61
- roles: _this.configSvc.userRoles ? Array.from(_this.configSvc.userRoles) : [],
62
- },
63
- heartbeatFrequency: '200',
64
- },
65
- data: _this.continueLearningData.data ? {
66
- continueLearning: _this.continueLearningData.data,
67
- } : null,
68
- };
69
- contentWindow.postMessage(response, '*');
70
- _this.contentWindowinfo = contentWindow;
71
- _this.loaded = true;
72
- _this.subAppname = applicationName;
73
- }
74
- }));
75
- }
76
- else {
77
- if (this.configSvc && this.configSvc.userProfile) {
78
- var firstName = this.configSvc.userProfile.userName ?
79
- this.configSvc.userProfile.userName.split(' ', 2)[0] : '';
80
- var lastName = this.configSvc.userProfile.userName ?
81
- this.configSvc.userProfile.userName.split(' ', 2)[1] : '';
82
- var viewMode = this.activatedRoute.snapshot.queryParams.viewMode ?
83
- this.activatedRoute.snapshot.queryParams.viewMode : '';
84
- var response = {
85
- subApplicationName: applicationName,
86
- requestId: 'LOADED',
87
- parentContext: {
88
- domainName: window.location.host,
89
- url: this.router.url,
90
- rootOrg: this.configSvc.rootOrg,
91
- theme: this.configSvc.activeThemeObject ? tslib_1.__assign({ name: this.configSvc.activeThemeObject.themeName }, this.configSvc.activeThemeObject.color) : '',
92
- fontSize: this.configSvc.activeFontObject ? this.configSvc.activeFontObject.baseFontSize : '14px',
93
- locale: (this.configSvc.userPreference && this.configSvc.userPreference.selectedLocale) || 'en',
94
- darkMode: this.configSvc.isDarkMode,
95
- subApplicationStartMode: viewMode.toUpperCase(),
96
- user: {
97
- firstName: firstName,
98
- lastName: lastName,
99
- userId: this.configSvc.userProfile.userId ? this.configSvc.userProfile.userId : '',
100
- roles: this.configSvc.userRoles ? Array.from(this.configSvc.userRoles) : [],
101
- },
102
- heartbeatFrequency: '200',
103
- },
104
- data: null,
105
- };
106
- contentWindow.postMessage(response, '*');
107
- this.contentWindowinfo = contentWindow;
108
- this.loaded = true;
109
- this.subAppname = applicationName;
110
- }
111
- }
112
- };
113
- SubapplicationRespondService.prototype.continueLearningRespond = function (id, continueLearning) {
114
- this.contentSvc.saveContinueLearning({
115
- contextPathId: id,
116
- resourceId: id,
117
- data: JSON.stringify({ timestamp: Date.now(), data: continueLearning }),
118
- dateAccessed: Date.now(),
119
- })
120
- .toPromise()
121
- .catch();
122
- };
123
- SubapplicationRespondService.prototype.telemetryEvents = function (tData) {
124
- if (tData) {
125
- switch (tData.eventId) {
126
- case 'INTERACT':
127
- this.eventSvc.dispatchEvent({
128
- eventType: WsEvents.WsEventType.Telemetry,
129
- eventLogLevel: WsEvents.WsEventLogLevel.Warn,
130
- data: tslib_1.__assign({}, tData.data, { eventSubType: WsEvents.EnumTelemetrySubType.Interact }),
131
- from: tData.subApplicationName,
132
- to: 'Telemetry',
133
- });
134
- break;
135
- case 'HEARTBEAT':
136
- this.eventSvc.dispatchEvent({
137
- eventType: WsEvents.WsEventType.Telemetry,
138
- eventLogLevel: WsEvents.WsEventLogLevel.Trace,
139
- data: tslib_1.__assign({}, tData.data, { eventSubType: WsEvents.EnumTelemetrySubType.HeartBeat }),
140
- from: tData.subApplicationName,
141
- to: 'Telemetry',
142
- });
143
- break;
144
- case 'IMPRESSION':
145
- this.teleSvc.externalImpression(tData.data);
146
- break;
147
- default:
148
- break;
149
- }
150
- }
151
- };
152
- SubapplicationRespondService.prototype.unsubscribeResponse = function () {
153
- this.subAppname = '';
154
- this.continueLearningData = null;
155
- this.contentWindowinfo = null;
156
- this.loaded = false;
157
- };
158
- SubapplicationRespondService.prototype.changeContextrespond = function () {
159
- if (this.loaded && this.contentWindowinfo && this.configSvc && this.configSvc.userProfile && this.subAppname) {
160
- var firstName = this.configSvc.userProfile.userName ?
161
- this.configSvc.userProfile.userName.split(' ', 2)[0] : '';
162
- var lastName = this.configSvc.userProfile.userName ?
163
- this.configSvc.userProfile.userName.split(' ', 2)[1] : '';
164
- var viewMode = this.activatedRoute.snapshot.queryParams.viewMode ?
165
- this.activatedRoute.snapshot.queryParams.viewMode : '';
166
- var response = {
167
- subApplicationName: this.subAppname,
168
- requestId: 'CONTEXT_CHANGE',
169
- parentContext: {
170
- domainName: window.location.host,
171
- url: this.router.url,
172
- rootOrg: this.configSvc.rootOrg,
173
- theme: this.configSvc.activeThemeObject ? tslib_1.__assign({ name: this.configSvc.activeThemeObject.themeName }, this.configSvc.activeThemeObject.color) : '',
174
- fontSize: this.configSvc.activeFontObject ? this.configSvc.activeFontObject.baseFontSize : '14px',
175
- locale: (this.configSvc.userPreference && this.configSvc.userPreference.selectedLocale) || 'en',
176
- darkMode: this.configSvc.isDarkMode,
177
- subApplicationStartMode: viewMode.toUpperCase(),
178
- user: {
179
- firstName: firstName,
180
- lastName: lastName,
181
- userId: this.configSvc.userProfile.userId ? this.configSvc.userProfile.userId : '',
182
- roles: this.configSvc.userRoles ? Array.from(this.configSvc.userRoles) : [],
183
- },
184
- heartbeatFrequency: '200',
185
- },
186
- };
187
- this.contentWindowinfo.postMessage(response, '*');
188
- }
189
- };
190
- SubapplicationRespondService.decorators = [
191
- { type: Injectable, args: [{
192
- providedIn: 'root',
193
- },] }
194
- ];
195
- SubapplicationRespondService.ctorParameters = function () { return [
196
- { type: ConfigurationsService },
197
- { type: WidgetContentService },
198
- { type: ActivatedRoute },
199
- { type: Router },
200
- { type: EventService },
201
- { type: TelemetryService }
202
- ]; };
203
- /** @nocollapse */ SubapplicationRespondService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function SubapplicationRespondService_Factory() { return new SubapplicationRespondService(i0.ɵɵinject(i1.ConfigurationsService), i0.ɵɵinject(i2.WidgetContentService), i0.ɵɵinject(i3.ActivatedRoute), i0.ɵɵinject(i3.Router), i0.ɵɵinject(i4.EventService), i0.ɵɵinject(i5.TelemetryService)); }, token: SubapplicationRespondService, providedIn: "root" });
204
- return SubapplicationRespondService;
205
- }());
206
- export { SubapplicationRespondService };
207
- if (false) {
208
- SubapplicationRespondService.prototype.subAppname;
209
- SubapplicationRespondService.prototype.continueLearningData;
210
- SubapplicationRespondService.prototype.contentWindowinfo;
211
- SubapplicationRespondService.prototype.loaded;
212
- SubapplicationRespondService.prototype.configSvc;
213
- SubapplicationRespondService.prototype.contentSvc;
214
- SubapplicationRespondService.prototype.activatedRoute;
215
- SubapplicationRespondService.prototype.router;
216
- SubapplicationRespondService.prototype.eventSvc;
217
- SubapplicationRespondService.prototype.teleSvc;
218
- }
219
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViYXBwbGljYXRpb24tcmVzcG9uZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN1bmJpcmQtY2IvdXRpbHMtdjIvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvc3ViYXBwbGljYXRpb24tcmVzcG9uZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDeEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFFL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUE7Ozs7Ozs7QUFDdEQ7SUFRRSxzQ0FDVSxTQUFnQyxFQUNoQyxVQUFnQyxFQUVoQyxjQUE4QixFQUM5QixNQUFjLEVBQ2QsUUFBc0IsRUFDdEIsT0FBeUI7UUFQbkMsaUJBYUM7UUFaUyxjQUFTLEdBQVQsU0FBUyxDQUF1QjtRQUNoQyxlQUFVLEdBQVYsVUFBVSxDQUFzQjtRQUVoQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQWM7UUFDdEIsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFYbkMsZUFBVSxHQUFHLEVBQUUsQ0FBQTtRQUNmLHlCQUFvQixHQUFRLElBQUksQ0FBQTtRQUVoQyxXQUFNLEdBQUcsS0FBSyxDQUFBO1FBVVosSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUE7UUFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FB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ckIsb0JBQW9CO2dCQURwQixjQUFjO2dCQUFFLE1BQU07Z0JBS3RCLFlBQVk7Z0JBQ1osZ0JBQWdCOzs7dUNBUHpCO0NBa05DLEFBMU1ELElBME1DO1NBdk1ZLDRCQUE0Qjs7SUFDdkMsa0RBQWU7SUFDZiw0REFBZ0M7SUFDaEMseURBQXNCO0lBQ3RCLDhDQUFjO0lBRVosaURBQXdDO0lBQ3hDLGtEQUF3QztJQUV4QyxzREFBc0M7SUFDdEMsOENBQXNCO0lBQ3RCLGdEQUE4QjtJQUM5QiwrQ0FBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcidcclxuaW1wb3J0IHsgV2lkZ2V0Q29udGVudFNlcnZpY2UgfSBmcm9tICcuL3dpZGdldC1jb250ZW50LnNlcnZpY2UnXHJcbi8vIGltcG9ydCB7IEF1dGhLZXljbG9ha1NlcnZpY2UgfSBmcm9tICcuL2F1dGgta2V5Y2xvYWsuc2VydmljZSdcclxuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi9jb25maWd1cmF0aW9ucy5zZXJ2aWNlJ1xyXG5pbXBvcnQgeyBXc0V2ZW50cyB9IGZyb20gJy4vZXZlbnQubW9kZWwnXHJcbmltcG9ydCB7IEV2ZW50U2VydmljZSB9IGZyb20gJy4vZXZlbnQuc2VydmljZSdcclxuaW1wb3J0IHsgVGVsZW1ldHJ5U2VydmljZSB9IGZyb20gJy4vdGVsZW1ldHJ5LnNlcnZpY2UnXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdWJhcHBsaWNhdGlvblJlc3BvbmRTZXJ2aWNlIHtcclxuICBzdWJBcHBuYW1lID0gJydcclxuICBjb250aW51ZUxlYXJuaW5nRGF0YTogYW55ID0gbnVsbFxyXG4gIGNvbnRlbnRXaW5kb3dpbmZvOiBhbnlcclxuICBsb2FkZWQgPSBmYWxzZVxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjb25maWdTdmM6IENvbmZpZ3VyYXRpb25zU2VydmljZSxcclxuICAgIHByaXZhdGUgY29udGVudFN2YzogV2lkZ2V0Q29udGVudFNlcnZpY2UsXHJcbiAgICAvLyBwcml2YXRlIGtleUNsb2FrU3ZjOiBBdXRoS2V5Y2xvYWtTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBldmVudFN2YzogRXZlbnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0ZWxlU3ZjOiBUZWxlbWV0cnlTZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgdGhpcy5jaGFuZ2VDb250ZXh0cmVzcG9uZCgpXHJcbiAgICB0aGlzLmNvbmZpZ1N2Yy5wcmVmQ2hhbmdlTm90aWZpZXIuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5jaGFuZ2VDb250ZXh0cmVzcG9uZCgpXHJcbiAgICB9KVxyXG4gIH1cclxuICBsb2FkZWRSZXNwb25kKGNvbnRlbnRXaW5kb3c6IGFueSwgYXBwbGljYXRpb25OYW1lOiBzdHJpbmcsIGlkPzogc3RyaW5nKSB7XHJcbiAgICBpZiAoaWQgJiYgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcy52aWV3TW9kZSAmJiB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zLnZpZXdNb2RlID09PSAnUkVTVU1FJykge1xyXG4gICAgICB0aGlzLmNvbnRpbnVlTGVhcm5pbmdEYXRhID0gbnVsbFxyXG4gICAgICB0aGlzLmNvbnRlbnRTdmMuZmV0Y2hDb250ZW50SGlzdG9yeShpZCkuc3Vic2NyaWJlKFxyXG4gICAgICAgIGRhdGEgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jb250aW51ZUxlYXJuaW5nRGF0YSA9IGRhdGEuY29udGludWVEYXRhXHJcbiAgICAgICAgICBpZiAodGhpcy5jb25maWdTdmMgJiYgdGhpcy5jb25maWdTdmMudXNlclByb2ZpbGUpIHtcclxuICAgICAgICAgICAgY29uc3QgZmlyc3ROYW1lID0gdGhpcy5jb25maWdTdmMudXNlclByb2ZpbGUudXNlck5hbWUgP1xyXG4gICAgICAgICAgICAgIHRoaXMuY29uZmlnU3ZjLnVzZXJQcm9maWxlLnVzZXJOYW1lLnNwbGl0KCcgJywgMilbMF0gOiAnJ1xyXG4gICAgICAgICAgICBjb25zdCBsYXN0TmFtZSA9IHRoaXMuY29uZmlnU3ZjLnVzZXJQcm9maWxlLnVzZXJOYW1lID9cclxuICAgICAgICAgICAgICB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZS51c2VyTmFtZS5zcGxpdCgnICcsIDIpWzFdIDogJydcclxuICAgICAgICAgICAgY29uc3Qgdmlld01vZGU6IHN0cmluZyA9IHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMudmlld01vZGUgP1xyXG4gICAgICAgICAgICAgIHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMudmlld01vZGUgOiAnJ1xyXG4gICAgICAgICAgICAvLyBjb25zdCB0b2tlbiA9IHRoaXMua2V5Q2xvYWtTdmMudG9rZW5cclxuICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSB7XHJcbiAgICAgICAgICAgICAgc3ViQXBwbGljYXRpb25OYW1lOiBhcHBsaWNhdGlvbk5hbWUsXHJcbiAgICAgICAgICAgICAgcmVxdWVzdElkOiAnTE9BREVEJyxcclxuICAgICAgICAgICAgICBwYXJlbnRDb250ZXh0OiB7XHJcbiAgICAgICAgICAgICAgICBkb21haW5OYW1lOiB3aW5kb3cubG9jYXRpb24uaG9zdCxcclxuICAgICAgICAgICAgICAgIHVybDogdGhpcy5yb3V0ZXIudXJsLFxyXG4gICAgICAgICAgICAgICAgcm9vdE9yZzogdGhpcy5jb25maWdTdmMucm9vdE9yZyxcclxuICAgICAgICAgICAgICAgIHRoZW1lOiB0aGlzLmNvbmZpZ1N2Yy5hY3RpdmVUaGVtZU9iamVjdCA/IHtcclxuICAgICAgICAgICAgICAgICAgbmFtZTogdGhpcy5jb25maWdTdmMuYWN0aXZlVGhlbWVPYmplY3QudGhlbWVOYW1lLFxyXG4gICAgICAgICAgICAgICAgICAuLi50aGlzLmNvbmZpZ1N2Yy5hY3RpdmVUaGVtZU9iamVjdC5jb2xvcixcclxuICAgICAgICAgICAgICAgIH0gOiAnJyxcclxuICAgICAgICAgICAgICAgIGZvbnRTaXplOiB0aGlzLmNvbmZpZ1N2Yy5hY3RpdmVGb250T2JqZWN0ID8gdGhpcy5jb25maWdTdmMuYWN0aXZlRm9udE9iamVjdC5iYXNlRm9udFNpemUgOiAnMTRweCcsXHJcbiAgICAgICAgICAgICAgICBsb2NhbGU6ICh0aGlzLmNvbmZpZ1N2Yy51c2VyUHJlZmVyZW5jZSAmJiB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJlZmVyZW5jZS5zZWxlY3RlZExvY2FsZSkgfHwgJ2VuJyxcclxuICAgICAgICAgICAgICAgIGRhcmtNb2RlOiB0aGlzLmNvbmZpZ1N2Yy5pc0RhcmtNb2RlLFxyXG4gICAgICAgICAgICAgICAgc3ViQXBwbGljYXRpb25TdGFydE1vZGU6IHZpZXdNb2RlLnRvVXBwZXJDYXNlKCksXHJcbiAgICAgICAgICAgICAgICB1c2VyOiB7XHJcbiAgICAgICAgICAgICAgICAgIGZpcnN0TmFtZSxcclxuICAgICAgICAgICAgICAgICAgbGFzdE5hbWUsXHJcbiAgICAgICAgICAgICAgICAgIC8vIHRva2VuLFxyXG4gICAgICAgICAgICAgICAgICB1c2VySWQ6IHRoaXMuY29uZmlnU3ZjLnVzZXJQcm9maWxlLnVzZXJJZCA/IHRoaXMuY29uZmlnU3ZjLnVzZXJQcm9maWxlLnVzZXJJZCA6ICcnLFxyXG4gICAgICAgICAgICAgICAgICByb2xlczogdGhpcy5jb25maWdTdmMudXNlclJvbGVzID8gQXJyYXkuZnJvbSh0aGlzLmNvbmZpZ1N2Yy51c2VyUm9sZXMpIDogW10sXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgaGVhcnRiZWF0RnJlcXVlbmN5OiAnMjAwJyxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIGRhdGE6IHRoaXMuY29udGludWVMZWFybmluZ0RhdGEuZGF0YSA/IHtcclxuICAgICAgICAgICAgICAgIGNvbnRpbnVlTGVhcm5pbmc6IHRoaXMuY29udGludWVMZWFybmluZ0RhdGEuZGF0YSxcclxuICAgICAgICAgICAgICB9IDogbnVsbCxcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb250ZW50V2luZG93LnBvc3RNZXNzYWdlKHJlc3BvbnNlLCAnKicpXHJcbiAgICAgICAgICAgIHRoaXMuY29udGVudFdpbmRvd2luZm8gPSBjb250ZW50V2luZG93XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGVkID0gdHJ1ZVxyXG4gICAgICAgICAgICB0aGlzLnN1YkFwcG5hbWUgPSBhcHBsaWNhdGlvbk5hbWVcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuY29uZmlnU3ZjICYmIHRoaXMuY29uZmlnU3ZjLnVzZXJQcm9maWxlKSB7XHJcbiAgICAgICAgY29uc3QgZmlyc3ROYW1lID0gdGhpcy5jb25maWdTdmMudXNlclByb2ZpbGUudXNlck5hbWUgP1xyXG4gICAgICAgICAgdGhpcy5jb25maWdTdmMudXNlclByb2ZpbGUudXNlck5hbWUuc3BsaXQoJyAnLCAyKVswXSA6ICcnXHJcbiAgICAgICAgY29uc3QgbGFzdE5hbWUgPSB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZS51c2VyTmFtZSA/XHJcbiAgICAgICAgICB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZS51c2VyTmFtZS5zcGxpdCgnICcsIDIpWzFdIDogJydcclxuICAgICAgICBjb25zdCB2aWV3TW9kZTogc3RyaW5nID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcy52aWV3TW9kZSA/XHJcbiAgICAgICAgICB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zLnZpZXdNb2RlIDogJydcclxuICAgICAgICAvLyBjb25zdCB0b2tlbiA9IHRoaXMua2V5Q2xvYWtTdmMudG9rZW5cclxuICAgICAgICBjb25zdCByZXNwb25zZSA9IHtcclxuICAgICAgICAgIHN1YkFwcGxpY2F0aW9uTmFtZTogYXBwbGljYXRpb25OYW1lLFxyXG4gICAgICAgICAgcmVxdWVzdElkOiAnTE9BREVEJyxcclxuICAgICAgICAgIHBhcmVudENvbnRleHQ6IHtcclxuICAgICAgICAgICAgZG9tYWluTmFtZTogd2luZG93LmxvY2F0aW9uLmhvc3QsXHJcbiAgICAgICAgICAgIHVybDogdGhpcy5yb3V0ZXIudXJsLFxyXG4gICAgICAgICAgICByb290T3JnOiB0aGlzLmNvbmZpZ1N2Yy5yb290T3JnLFxyXG4gICAgICAgICAgICB0aGVtZTogdGhpcy5jb25maWdTdmMuYWN0aXZlVGhlbWVPYmplY3QgPyB7XHJcbiAgICAgICAgICAgICAgbmFtZTogdGhpcy5jb25maWdTdmMuYWN0aXZlVGhlbWVPYmplY3QudGhlbWVOYW1lLFxyXG4gICAgICAgICAgICAgIC4uLnRoaXMuY29uZmlnU3ZjLmFjdGl2ZVRoZW1lT2JqZWN0LmNvbG9yLFxyXG4gICAgICAgICAgICB9IDogJycsXHJcbiAgICAgICAgICAgIGZvbnRTaXplOiB0aGlzLmNvbmZpZ1N2Yy5hY3RpdmVGb250T2JqZWN0ID8gdGhpcy5jb25maWdTdmMuYWN0aXZlRm9udE9iamVjdC5iYXNlRm9udFNpemUgOiAnMTRweCcsXHJcbiAgICAgICAgICAgIGxvY2FsZTogKHRoaXMuY29uZmlnU3ZjLnVzZXJQcmVmZXJlbmNlICYmIHRoaXMuY29uZmlnU3ZjLnVzZXJQcmVmZXJlbmNlLnNlbGVjdGVkTG9jYWxlKSB8fCAnZW4nLFxyXG4gICAgICAgICAgICBkYXJrTW9kZTogdGhpcy5jb25maWdTdmMuaXNEYXJrTW9kZSxcclxuICAgICAgICAgICAgc3ViQXBwbGljYXRpb25TdGFydE1vZGU6IHZpZXdNb2RlLnRvVXBwZXJDYXNlKCksXHJcbiAgICAgICAgICAgIHVzZXI6IHtcclxuICAgICAgICAgICAgICBmaXJzdE5hbWUsXHJcbiAgICAgICAgICAgICAgbGFzdE5hbWUsXHJcbiAgICAgICAgICAgICAgLy8gdG9rZW4sXHJcbiAgICAgICAgICAgICAgdXNlcklkOiB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZS51c2VySWQgPyB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZS51c2VySWQgOiAnJyxcclxuICAgICAgICAgICAgICByb2xlczogdGhpcy5jb25maWdTdmMudXNlclJvbGVzID8gQXJyYXkuZnJvbSh0aGlzLmNvbmZpZ1N2Yy51c2VyUm9sZXMpIDogW10sXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGhlYXJ0YmVhdEZyZXF1ZW5jeTogJzIwMCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZGF0YTogbnVsbCxcclxuICAgICAgICB9XHJcbiAgICAgICAgY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZShyZXNwb25zZSwgJyonKVxyXG4gICAgICAgIHRoaXMuY29udGVudFdpbmRvd2luZm8gPSBjb250ZW50V2luZG93XHJcbiAgICAgICAgdGhpcy5sb2FkZWQgPSB0cnVlXHJcbiAgICAgICAgdGhpcy5zdWJBcHBuYW1lID0gYXBwbGljYXRpb25OYW1lXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgY29udGludWVMZWFybmluZ1Jlc3BvbmQoaWQ6IHN0cmluZywgY29udGludWVMZWFybmluZzogYW55KSB7XHJcbiAgICB0aGlzLmNvbnRlbnRTdmMuc2F2ZUNvbnRpbnVlTGVhcm5pbmcoXHJcbiAgICAgIHtcclxuICAgICAgICBjb250ZXh0UGF0aElkOiBpZCxcclxuICAgICAgICByZXNvdXJjZUlkOiBpZCxcclxuICAgICAgICBkYXRhOiBKU09OLnN0cmluZ2lmeSh7IHRpbWVzdGFtcDogRGF0ZS5ub3coKSwgZGF0YTogY29udGludWVMZWFybmluZyB9KSxcclxuICAgICAgICBkYXRlQWNjZXNzZWQ6IERhdGUubm93KCksXHJcbiAgICAgIH0sXHJcbiAgICApXHJcbiAgICAgIC50b1Byb21pc2UoKVxyXG4gICAgICAuY2F0Y2goKVxyXG4gIH1cclxuICB0ZWxlbWV0cnlFdmVudHModERhdGE6IGFueSkge1xyXG4gICAgaWYgKHREYXRhKSB7XHJcbiAgICAgIHN3aXRjaCAodERhdGEuZXZlbnRJZCkge1xyXG4gICAgICAgIGNhc2UgJ0lOVEVSQUNUJzpcclxuICAgICAgICAgIHRoaXMuZXZlbnRTdmMuZGlzcGF0Y2hFdmVudDxXc0V2ZW50cy5JV3NFdmVudFRlbGVtZXRyeUludGVyYWN0Pih7XHJcbiAgICAgICAgICAgIGV2ZW50VHlwZTogV3NFdmVudHMuV3NFdmVudFR5cGUuVGVsZW1ldHJ5LFxyXG4gICAgICAgICAgICBldmVudExvZ0xldmVsOiBXc0V2ZW50cy5Xc0V2ZW50TG9nTGV2ZWwuV2FybixcclxuICAgICAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICAgIC4uLnREYXRhLmRhdGEsXHJcbiAgICAgICAgICAgICAgZXZlbnRTdWJUeXBlOiBXc0V2ZW50cy5FbnVtVGVsZW1ldHJ5U3ViVHlwZS5JbnRlcmFjdCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZnJvbTogdERhdGEuc3ViQXBwbGljYXRpb25OYW1lLFxyXG4gICAgICAgICAgICB0bzogJ1RlbGVtZXRyeScsXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICAgYnJlYWtcclxuICAgICAgICBjYXNlICdIRUFSVEJFQVQnOlxyXG4gICAgICAgICAgdGhpcy5ldmVudFN2Yy5kaXNwYXRjaEV2ZW50PFdzRXZlbnRzLklXc0V2ZW50VGVsZW1ldHJ5SGVhcnRCZWF0Pih7XHJcbiAgICAgICAgICAgIGV2ZW50VHlwZTogV3NFdmVudHMuV3NFdmVudFR5cGUuVGVsZW1ldHJ5LFxyXG4gICAgICAgICAgICBldmVudExvZ0xldmVsOiBXc0V2ZW50cy5Xc0V2ZW50TG9nTGV2ZWwuVHJhY2UsXHJcbiAgICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgICAuLi50RGF0YS5kYXRhLFxyXG4gICAgICAgICAgICAgIGV2ZW50U3ViVHlwZTogV3NFdmVudHMuRW51bVRlbGVtZXRyeVN1YlR5cGUuSGVhcnRCZWF0LFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBmcm9tOiB0RGF0YS5zdWJBcHBsaWNhdGlvbk5hbWUsXHJcbiAgICAgICAgICAgIHRvOiAnVGVsZW1ldHJ5JyxcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICBicmVha1xyXG4gICAgICAgIGNhc2UgJ0lNUFJFU1NJT04nOlxyXG4gICAgICAgICAgdGhpcy50ZWxlU3ZjLmV4dGVybmFsSW1wcmVzc2lvbih0RGF0YS5kYXRhKVxyXG4gICAgICAgICAgYnJlYWtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgYnJlYWtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICB1bnN1YnNjcmliZVJlc3BvbnNlKCkge1xyXG4gICAgdGhpcy5zdWJBcHBuYW1lID0gJydcclxuICAgIHRoaXMuY29udGludWVMZWFybmluZ0RhdGEgPSBudWxsXHJcbiAgICB0aGlzLmNvbnRlbnRXaW5kb3dpbmZvID0gbnVsbFxyXG4gICAgdGhpcy5sb2FkZWQgPSBmYWxzZVxyXG4gIH1cclxuICBjaGFuZ2VDb250ZXh0cmVzcG9uZCgpIHtcclxuICAgIGlmICh0aGlzLmxvYWRlZCAmJiB0aGlzLmNvbnRlbnRXaW5kb3dpbmZvICYmIHRoaXMuY29uZmlnU3ZjICYmIHRoaXMuY29uZmlnU3ZjLnVzZXJQcm9maWxlICYmIHRoaXMuc3ViQXBwbmFtZSkge1xyXG4gICAgICBjb25zdCBmaXJzdE5hbWUgPSB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZS51c2VyTmFtZSA/XHJcbiAgICAgICAgdGhpcy5jb25maWdTdmMudXNlclByb2ZpbGUudXNlck5hbWUuc3BsaXQoJyAnLCAyKVswXSA6ICcnXHJcbiAgICAgIGNvbnN0IGxhc3ROYW1lID0gdGhpcy5jb25maWdTdmMudXNlclByb2ZpbGUudXNlck5hbWUgP1xyXG4gICAgICAgIHRoaXMuY29uZmlnU3ZjLnVzZXJQcm9maWxlLnVzZXJOYW1lLnNwbGl0KCcgJywgMilbMV0gOiAnJ1xyXG4gICAgICBjb25zdCB2aWV3TW9kZTogc3RyaW5nID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcy52aWV3TW9kZSA/XHJcbiAgICAgICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcy52aWV3TW9kZSA6ICcnXHJcbiAgICAgIC8vIGNvbnN0IHRva2VuID0gdGhpcy5rZXlDbG9ha1N2Yy50b2tlblxyXG4gICAgICBjb25zdCByZXNwb25zZSA9IHtcclxuICAgICAgICBzdWJBcHBsaWNhdGlvbk5hbWU6IHRoaXMuc3ViQXBwbmFtZSxcclxuICAgICAgICByZXF1ZXN0SWQ6ICdDT05URVhUX0NIQU5HRScsXHJcbiAgICAgICAgcGFyZW50Q29udGV4dDoge1xyXG4gICAgICAgICAgZG9tYWluTmFtZTogd2luZG93LmxvY2F0aW9uLmhvc3QsXHJcbiAgICAgICAgICB1cmw6IHRoaXMucm91dGVyLnVybCxcclxuICAgICAgICAgIHJvb3RPcmc6IHRoaXMuY29uZmlnU3ZjLnJvb3RPcmcsXHJcbiAgICAgICAgICB0aGVtZTogdGhpcy5jb25maWdTdmMuYWN0aXZlVGhlbWVPYmplY3QgPyB7XHJcbiAgICAgICAgICAgIG5hbWU6IHRoaXMuY29uZmlnU3ZjLmFjdGl2ZVRoZW1lT2JqZWN0LnRoZW1lTmFtZSxcclxuICAgICAgICAgICAgLi4udGhpcy5jb25maWdTdmMuYWN0aXZlVGhlbWVPYmplY3QuY29sb3IsXHJcbiAgICAgICAgICB9IDogJycsXHJcbiAgICAgICAgICBmb250U2l6ZTogdGhpcy5jb25maWdTdmMuYWN0aXZlRm9udE9iamVjdCA/IHRoaXMuY29uZmlnU3ZjLmFjdGl2ZUZvbnRPYmplY3QuYmFzZUZvbnRTaXplIDogJzE0cHgnLFxyXG4gICAgICAgICAgbG9jYWxlOiAodGhpcy5jb25maWdTdmMudXNlclByZWZlcmVuY2UgJiYgdGhpcy5jb25maWdTdmMudXNlclByZWZlcmVuY2Uuc2VsZWN0ZWRMb2NhbGUpIHx8ICdlbicsXHJcbiAgICAgICAgICBkYXJrTW9kZTogdGhpcy5jb25maWdTdmMuaXNEYXJrTW9kZSxcclxuICAgICAgICAgIHN1YkFwcGxpY2F0aW9uU3RhcnRNb2RlOiB2aWV3TW9kZS50b1VwcGVyQ2FzZSgpLFxyXG4gICAgICAgICAgdXNlcjoge1xyXG4gICAgICAgICAgICBmaXJzdE5hbWUsXHJcbiAgICAgICAgICAgIGxhc3ROYW1lLFxyXG4gICAgICAgICAgICAvLyB0b2tlbixcclxuICAgICAgICAgICAgdXNlcklkOiB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZS51c2VySWQgPyB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZS51c2VySWQgOiAnJyxcclxuICAgICAgICAgICAgcm9sZXM6IHRoaXMuY29uZmlnU3ZjLnVzZXJSb2xlcyA/IEFycmF5LmZyb20odGhpcy5jb25maWdTdmMudXNlclJvbGVzKSA6IFtdLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGhlYXJ0YmVhdEZyZXF1ZW5jeTogJzIwMCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNvbnRlbnRXaW5kb3dpbmZvLnBvc3RNZXNzYWdlKHJlc3BvbnNlLCAnKicpXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==