@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,73 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { ConfigurationsService } from './configurations.service';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./configurations.service";
5
+ var LoggerService = (function () {
6
+ function LoggerService(configSvc) {
7
+ this.configSvc = configSvc;
8
+ this.consoleError = console.error;
9
+ this.consoleInfo = console.info;
10
+ this.consoleLog = console.log;
11
+ this.consoleWarn = console.warn;
12
+ this.noConsole = (function () { });
13
+ }
14
+ Object.defineProperty(LoggerService.prototype, "error", {
15
+ get: function () {
16
+ return this.consoleError;
17
+ },
18
+ enumerable: true,
19
+ configurable: true
20
+ });
21
+ Object.defineProperty(LoggerService.prototype, "info", {
22
+ get: function () {
23
+ return this.configSvc.isProduction ? this.noConsole : this.consoleInfo;
24
+ },
25
+ enumerable: true,
26
+ configurable: true
27
+ });
28
+ Object.defineProperty(LoggerService.prototype, "log", {
29
+ get: function () {
30
+ return this.configSvc.isProduction ? this.noConsole : this.consoleLog;
31
+ },
32
+ enumerable: true,
33
+ configurable: true
34
+ });
35
+ Object.defineProperty(LoggerService.prototype, "warn", {
36
+ get: function () {
37
+ return this.configSvc.isProduction ? this.noConsole : this.consoleWarn;
38
+ },
39
+ enumerable: true,
40
+ configurable: true
41
+ });
42
+ LoggerService.prototype.removeConsoleAccess = function () {
43
+ if (this.configSvc.isProduction) {
44
+ return;
45
+ }
46
+ var noConsoleWithError = (function () {
47
+ throw new Error('Console Functions Usage Are Not Allowed.');
48
+ });
49
+ console.warn = noConsoleWithError;
50
+ console.info = noConsoleWithError;
51
+ console.error = noConsoleWithError;
52
+ };
53
+ LoggerService.decorators = [
54
+ { type: Injectable, args: [{
55
+ providedIn: 'root',
56
+ },] }
57
+ ];
58
+ LoggerService.ctorParameters = function () { return [
59
+ { type: ConfigurationsService }
60
+ ]; };
61
+ /** @nocollapse */ LoggerService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function LoggerService_Factory() { return new LoggerService(i0.ɵɵinject(i1.ConfigurationsService)); }, token: LoggerService, providedIn: "root" });
62
+ return LoggerService;
63
+ }());
64
+ export { LoggerService };
65
+ if (false) {
66
+ LoggerService.prototype.consoleError;
67
+ LoggerService.prototype.consoleInfo;
68
+ LoggerService.prototype.consoleLog;
69
+ LoggerService.prototype.consoleWarn;
70
+ LoggerService.prototype.noConsole;
71
+ LoggerService.prototype.configSvc;
72
+ }
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi91dGlscy8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFBOzs7QUFHaEU7SUFJRSx1QkFBb0IsU0FBZ0M7UUFBaEMsY0FBUyxHQUFULFNBQVMsQ0FBdUI7UUFFNUMsaUJBQVksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFBO1FBQzVCLGdCQUFXLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQTtRQUMxQixlQUFVLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQTtRQUN4QixnQkFBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUE7UUFDMUIsY0FBUyxJQUFlLGNBQVEsQ0FBQyxFQUFBO0lBTmUsQ0FBQztJQVF6RCxzQkFBSSxnQ0FBSzthQUFUO1lBQ0UsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFBO1FBQzFCLENBQUM7OztPQUFBO0lBQ0Qsc0JBQUksK0JBQUk7YUFBUjtZQUNFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUE7UUFDeEUsQ0FBQzs7O09BQUE7SUFDRCxzQkFBSSw4QkFBRzthQUFQO1lBQ0UsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQTtRQUN2RSxDQUFDOzs7T0FBQTtJQUNELHNCQUFJLCtCQUFJO2FBQVI7WUFDRSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFBO1FBQ3hFLENBQUM7OztPQUFBO0lBRUQsMkNBQW1CLEdBQW5CO1FBQ0UsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRTtZQUMvQixPQUFNO1NBQ1A7WUFDSyxrQkFBa0IsSUFBZTtZQUNyQyxNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUE7UUFDN0QsQ0FBQyxDQUFBO1FBRUQsT0FBTyxDQUFDLElBQUksR0FBRyxrQkFBa0IsQ0FBQTtRQUNqQyxPQUFPLENBQUMsSUFBSSxHQUFHLGtCQUFrQixDQUFBO1FBQ2pDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsa0JBQWtCLENBQUE7SUFDcEMsQ0FBQzs7Z0JBcENGLFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OztnQkFMUSxxQkFBcUI7Ozt3QkFGOUI7Q0EwQ0MsQUFyQ0QsSUFxQ0M7U0FsQ1ksYUFBYTs7SUFHeEIscUNBQW9DO0lBQ3BDLG9DQUFrQztJQUNsQyxtQ0FBZ0M7SUFDaEMsb0NBQWtDO0lBQ2xDLGtDQUF5QztJQU43QixrQ0FBd0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0c2xpbnQ6ZGlzYWJsZTpuby1jb25zb2xlXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uc1NlcnZpY2UgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb25zLnNlcnZpY2UnXHJcblxyXG50eXBlIGNvbnNvbGVGdW4gPSAoLi4uYXJnczogYW55KSA9PiB2b2lkXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2dnZXJTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZ1N2YzogQ29uZmlndXJhdGlvbnNTZXJ2aWNlKSB7IH1cclxuXHJcbiAgcHJpdmF0ZSBjb25zb2xlRXJyb3IgPSBjb25zb2xlLmVycm9yXHJcbiAgcHJpdmF0ZSBjb25zb2xlSW5mbyA9IGNvbnNvbGUuaW5mb1xyXG4gIHByaXZhdGUgY29uc29sZUxvZyA9IGNvbnNvbGUubG9nXHJcbiAgcHJpdmF0ZSBjb25zb2xlV2FybiA9IGNvbnNvbGUud2FyblxyXG4gIHByaXZhdGUgbm9Db25zb2xlOiBjb25zb2xlRnVuID0gKCkgPT4geyB9XHJcblxyXG4gIGdldCBlcnJvcigpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnNvbGVFcnJvclxyXG4gIH1cclxuICBnZXQgaW5mbygpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZ1N2Yy5pc1Byb2R1Y3Rpb24gPyB0aGlzLm5vQ29uc29sZSA6IHRoaXMuY29uc29sZUluZm9cclxuICB9XHJcbiAgZ2V0IGxvZygpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZ1N2Yy5pc1Byb2R1Y3Rpb24gPyB0aGlzLm5vQ29uc29sZSA6IHRoaXMuY29uc29sZUxvZ1xyXG4gIH1cclxuICBnZXQgd2FybigpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZ1N2Yy5pc1Byb2R1Y3Rpb24gPyB0aGlzLm5vQ29uc29sZSA6IHRoaXMuY29uc29sZVdhcm5cclxuICB9XHJcblxyXG4gIHJlbW92ZUNvbnNvbGVBY2Nlc3MoKSB7XHJcbiAgICBpZiAodGhpcy5jb25maWdTdmMuaXNQcm9kdWN0aW9uKSB7XHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG4gICAgY29uc3Qgbm9Db25zb2xlV2l0aEVycm9yOiBjb25zb2xlRnVuID0gKCkgPT4ge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvbnNvbGUgRnVuY3Rpb25zIFVzYWdlIEFyZSBOb3QgQWxsb3dlZC4nKVxyXG4gICAgfVxyXG4gICAgLy8gY29uc29sZS5sb2cgPSBub0NvbnNvbGVXaXRoRXJyb3JcclxuICAgIGNvbnNvbGUud2FybiA9IG5vQ29uc29sZVdpdGhFcnJvclxyXG4gICAgY29uc29sZS5pbmZvID0gbm9Db25zb2xlV2l0aEVycm9yXHJcbiAgICBjb25zb2xlLmVycm9yID0gbm9Db25zb2xlV2l0aEVycm9yXHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,8 @@
1
+ export function IWsMsTokenModelResponse() { }
2
+ if (false) {
3
+ IWsMsTokenModelResponse.prototype.accessToken;
4
+ IWsMsTokenModelResponse.prototype.expiresOn;
5
+ IWsMsTokenModelResponse.prototype.resource;
6
+ IWsMsTokenModelResponse.prototype.tokenType;
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXMtb2ZmaWNlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN1bmJpcmQtY2IvdXRpbHMvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvbXMtb2ZmaWNlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZDQUtDOztJQUpDLDhDQUFvQjtJQUNwQiw0Q0FBa0I7SUFDbEIsMkNBQWlCO0lBQ2pCLDRDQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSVdzTXNUb2tlbk1vZGVsUmVzcG9uc2Uge1xyXG4gIGFjY2Vzc1Rva2VuPzogc3RyaW5nXHJcbiAgZXhwaXJlc09uPzogc3RyaW5nXHJcbiAgcmVzb3VyY2U/OiBzdHJpbmdcclxuICB0b2tlblR5cGU/OiBzdHJpbmdcclxufVxyXG4iXX0=
@@ -0,0 +1,230 @@
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 { AuthKeycloakService } from './auth-keycloak.service';
6
+ import { ConfigurationsService } from './configurations.service';
7
+ import { WsEvents } from './event.model';
8
+ import { EventService } from './event.service';
9
+ import { TelemetryService } from './telemetry.service';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "./configurations.service";
12
+ import * as i2 from "./widget-content.service";
13
+ import * as i3 from "./auth-keycloak.service";
14
+ import * as i4 from "@angular/router";
15
+ import * as i5 from "./event.service";
16
+ import * as i6 from "./telemetry.service";
17
+ var SubapplicationRespondService = (function () {
18
+ function SubapplicationRespondService(configSvc, contentSvc, keyCloakSvc, activatedRoute, router, eventSvc, teleSvc) {
19
+ var _this = this;
20
+ this.configSvc = configSvc;
21
+ this.contentSvc = contentSvc;
22
+ this.keyCloakSvc = keyCloakSvc;
23
+ this.activatedRoute = activatedRoute;
24
+ this.router = router;
25
+ this.eventSvc = eventSvc;
26
+ this.teleSvc = teleSvc;
27
+ this.subAppname = '';
28
+ this.continueLearningData = null;
29
+ this.loaded = false;
30
+ this.changeContextrespond();
31
+ this.configSvc.prefChangeNotifier.subscribe((function () {
32
+ _this.changeContextrespond();
33
+ }));
34
+ }
35
+ SubapplicationRespondService.prototype.loadedRespond = function (contentWindow, applicationName, id) {
36
+ var _this = this;
37
+ if (id && this.activatedRoute.snapshot.queryParams.viewMode && this.activatedRoute.snapshot.queryParams.viewMode === 'RESUME') {
38
+ this.continueLearningData = null;
39
+ this.contentSvc.fetchContentHistory(id).subscribe((function (data) {
40
+ _this.continueLearningData = data.continueData;
41
+ if (_this.configSvc && _this.configSvc.userProfile) {
42
+ var firstName = _this.configSvc.userProfile.userName ?
43
+ _this.configSvc.userProfile.userName.split(' ', 2)[0] : '';
44
+ var lastName = _this.configSvc.userProfile.userName ?
45
+ _this.configSvc.userProfile.userName.split(' ', 2)[1] : '';
46
+ var viewMode = _this.activatedRoute.snapshot.queryParams.viewMode ?
47
+ _this.activatedRoute.snapshot.queryParams.viewMode : '';
48
+ var token = _this.keyCloakSvc.token;
49
+ var response = {
50
+ subApplicationName: applicationName,
51
+ requestId: 'LOADED',
52
+ parentContext: {
53
+ domainName: window.location.host,
54
+ url: _this.router.url,
55
+ rootOrg: _this.configSvc.rootOrg,
56
+ theme: _this.configSvc.activeThemeObject ? tslib_1.__assign({ name: _this.configSvc.activeThemeObject.themeName }, _this.configSvc.activeThemeObject.color) : '',
57
+ fontSize: _this.configSvc.activeFontObject ? _this.configSvc.activeFontObject.baseFontSize : '14px',
58
+ locale: (_this.configSvc.userPreference && _this.configSvc.userPreference.selectedLocale) || 'en',
59
+ darkMode: _this.configSvc.isDarkMode,
60
+ subApplicationStartMode: viewMode.toUpperCase(),
61
+ user: {
62
+ firstName: firstName,
63
+ lastName: lastName,
64
+ token: token,
65
+ userId: _this.configSvc.userProfile.userId ? _this.configSvc.userProfile.userId : '',
66
+ roles: _this.configSvc.userRoles ? Array.from(_this.configSvc.userRoles) : [],
67
+ },
68
+ heartbeatFrequency: '200',
69
+ },
70
+ data: _this.continueLearningData.data ? {
71
+ continueLearning: _this.continueLearningData.data,
72
+ } : null,
73
+ };
74
+ contentWindow.postMessage(response, '*');
75
+ _this.contentWindowinfo = contentWindow;
76
+ _this.loaded = true;
77
+ _this.subAppname = applicationName;
78
+ }
79
+ }));
80
+ }
81
+ else {
82
+ if (this.configSvc && this.configSvc.userProfile) {
83
+ var firstName = this.configSvc.userProfile.userName ?
84
+ this.configSvc.userProfile.userName.split(' ', 2)[0] : '';
85
+ var lastName = this.configSvc.userProfile.userName ?
86
+ this.configSvc.userProfile.userName.split(' ', 2)[1] : '';
87
+ var viewMode = this.activatedRoute.snapshot.queryParams.viewMode ?
88
+ this.activatedRoute.snapshot.queryParams.viewMode : '';
89
+ var token = this.keyCloakSvc.token;
90
+ var response = {
91
+ subApplicationName: applicationName,
92
+ requestId: 'LOADED',
93
+ parentContext: {
94
+ domainName: window.location.host,
95
+ url: this.router.url,
96
+ rootOrg: this.configSvc.rootOrg,
97
+ theme: this.configSvc.activeThemeObject ? tslib_1.__assign({ name: this.configSvc.activeThemeObject.themeName }, this.configSvc.activeThemeObject.color) : '',
98
+ fontSize: this.configSvc.activeFontObject ? this.configSvc.activeFontObject.baseFontSize : '14px',
99
+ locale: (this.configSvc.userPreference && this.configSvc.userPreference.selectedLocale) || 'en',
100
+ darkMode: this.configSvc.isDarkMode,
101
+ subApplicationStartMode: viewMode.toUpperCase(),
102
+ user: {
103
+ firstName: firstName,
104
+ lastName: lastName,
105
+ token: token,
106
+ userId: this.configSvc.userProfile.userId ? this.configSvc.userProfile.userId : '',
107
+ roles: this.configSvc.userRoles ? Array.from(this.configSvc.userRoles) : [],
108
+ },
109
+ heartbeatFrequency: '200',
110
+ },
111
+ data: null,
112
+ };
113
+ contentWindow.postMessage(response, '*');
114
+ this.contentWindowinfo = contentWindow;
115
+ this.loaded = true;
116
+ this.subAppname = applicationName;
117
+ }
118
+ }
119
+ };
120
+ SubapplicationRespondService.prototype.continueLearningRespond = function (id, continueLearning) {
121
+ this.contentSvc.saveContinueLearning({
122
+ contextPathId: id,
123
+ resourceId: id,
124
+ data: JSON.stringify({ timestamp: Date.now(), data: continueLearning }),
125
+ dateAccessed: Date.now(),
126
+ })
127
+ .toPromise()
128
+ .catch();
129
+ };
130
+ SubapplicationRespondService.prototype.telemetryEvents = function (tData) {
131
+ if (tData) {
132
+ switch (tData.eventId) {
133
+ case 'INTERACT':
134
+ this.eventSvc.dispatchEvent({
135
+ eventType: WsEvents.WsEventType.Telemetry,
136
+ eventLogLevel: WsEvents.WsEventLogLevel.Warn,
137
+ data: tslib_1.__assign({}, tData.data, { eventSubType: WsEvents.EnumTelemetrySubType.Interact }),
138
+ from: tData.subApplicationName,
139
+ to: 'Telemetry',
140
+ });
141
+ break;
142
+ case 'HEARTBEAT':
143
+ this.eventSvc.dispatchEvent({
144
+ eventType: WsEvents.WsEventType.Telemetry,
145
+ eventLogLevel: WsEvents.WsEventLogLevel.Trace,
146
+ data: tslib_1.__assign({}, tData.data, { eventSubType: WsEvents.EnumTelemetrySubType.HeartBeat }),
147
+ from: tData.subApplicationName,
148
+ to: 'Telemetry',
149
+ });
150
+ break;
151
+ case 'IMPRESSION':
152
+ this.teleSvc.externalImpression(tData.data);
153
+ break;
154
+ default:
155
+ break;
156
+ }
157
+ }
158
+ };
159
+ SubapplicationRespondService.prototype.unsubscribeResponse = function () {
160
+ this.subAppname = '';
161
+ this.continueLearningData = null;
162
+ this.contentWindowinfo = null;
163
+ this.loaded = false;
164
+ };
165
+ SubapplicationRespondService.prototype.changeContextrespond = function () {
166
+ if (this.loaded && this.contentWindowinfo && this.configSvc && this.configSvc.userProfile && this.subAppname) {
167
+ var firstName = this.configSvc.userProfile.userName ?
168
+ this.configSvc.userProfile.userName.split(' ', 2)[0] : '';
169
+ var lastName = this.configSvc.userProfile.userName ?
170
+ this.configSvc.userProfile.userName.split(' ', 2)[1] : '';
171
+ var viewMode = this.activatedRoute.snapshot.queryParams.viewMode ?
172
+ this.activatedRoute.snapshot.queryParams.viewMode : '';
173
+ var token = this.keyCloakSvc.token;
174
+ var response = {
175
+ subApplicationName: this.subAppname,
176
+ requestId: 'CONTEXT_CHANGE',
177
+ parentContext: {
178
+ domainName: window.location.host,
179
+ url: this.router.url,
180
+ rootOrg: this.configSvc.rootOrg,
181
+ theme: this.configSvc.activeThemeObject ? tslib_1.__assign({ name: this.configSvc.activeThemeObject.themeName }, this.configSvc.activeThemeObject.color) : '',
182
+ fontSize: this.configSvc.activeFontObject ? this.configSvc.activeFontObject.baseFontSize : '14px',
183
+ locale: (this.configSvc.userPreference && this.configSvc.userPreference.selectedLocale) || 'en',
184
+ darkMode: this.configSvc.isDarkMode,
185
+ subApplicationStartMode: viewMode.toUpperCase(),
186
+ user: {
187
+ firstName: firstName,
188
+ lastName: lastName,
189
+ token: token,
190
+ userId: this.configSvc.userProfile.userId ? this.configSvc.userProfile.userId : '',
191
+ roles: this.configSvc.userRoles ? Array.from(this.configSvc.userRoles) : [],
192
+ },
193
+ heartbeatFrequency: '200',
194
+ },
195
+ };
196
+ this.contentWindowinfo.postMessage(response, '*');
197
+ }
198
+ };
199
+ SubapplicationRespondService.decorators = [
200
+ { type: Injectable, args: [{
201
+ providedIn: 'root',
202
+ },] }
203
+ ];
204
+ SubapplicationRespondService.ctorParameters = function () { return [
205
+ { type: ConfigurationsService },
206
+ { type: WidgetContentService },
207
+ { type: AuthKeycloakService },
208
+ { type: ActivatedRoute },
209
+ { type: Router },
210
+ { type: EventService },
211
+ { type: TelemetryService }
212
+ ]; };
213
+ /** @nocollapse */ SubapplicationRespondService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function SubapplicationRespondService_Factory() { return new SubapplicationRespondService(i0.ɵɵinject(i1.ConfigurationsService), i0.ɵɵinject(i2.WidgetContentService), i0.ɵɵinject(i3.AuthKeycloakService), i0.ɵɵinject(i4.ActivatedRoute), i0.ɵɵinject(i4.Router), i0.ɵɵinject(i5.EventService), i0.ɵɵinject(i6.TelemetryService)); }, token: SubapplicationRespondService, providedIn: "root" });
214
+ return SubapplicationRespondService;
215
+ }());
216
+ export { SubapplicationRespondService };
217
+ if (false) {
218
+ SubapplicationRespondService.prototype.subAppname;
219
+ SubapplicationRespondService.prototype.continueLearningData;
220
+ SubapplicationRespondService.prototype.contentWindowinfo;
221
+ SubapplicationRespondService.prototype.loaded;
222
+ SubapplicationRespondService.prototype.configSvc;
223
+ SubapplicationRespondService.prototype.contentSvc;
224
+ SubapplicationRespondService.prototype.keyCloakSvc;
225
+ SubapplicationRespondService.prototype.activatedRoute;
226
+ SubapplicationRespondService.prototype.router;
227
+ SubapplicationRespondService.prototype.eventSvc;
228
+ SubapplicationRespondService.prototype.teleSvc;
229
+ }
230
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViYXBwbGljYXRpb24tcmVzcG9uZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN1bmJpcmQtY2IvdXRpbHMvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvc3ViYXBwbGljYXRpb24tcmVzcG9uZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDeEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDN0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUE7Ozs7Ozs7O0FBQ3REO0lBUUUsc0NBQ1UsU0FBZ0MsRUFDaEMsVUFBZ0MsRUFDaEMsV0FBZ0MsRUFDaEMsY0FBOEIsRUFDOUIsTUFBYyxFQUNkLFFBQXNCLEVBQ3RCLE9BQXlCO1FBUG5DLGlCQWFDO1FBWlMsY0FBUyxHQUFULFNBQVMsQ0FBdUI7UUFDaEMsZUFBVSxHQUFWLFVBQVUsQ0FBc0I7UUFDaEMsZ0JBQVcsR0FBWCxXQUFXLENBQXFCO1FBQ2hDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsYUFBUSxHQUFSLFFBQVEsQ0FBYztRQUN0QixZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQVhuQyxlQUFVLEdBQUcsRUFBRSxDQUFBO1FBQ2YseUJBQW9CLEdBQVEsSUFBSSxDQUFBO1FBRWhDLFdBQU0sR0FBRyxLQUFLLENBQUE7UUFVWixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQTtRQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLFNBQVMsRUFBQztZQUMxQyxLQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQTtRQUM3QixDQUFDLEVBQUMsQ0FBQTtJQUNKLENBQUM7SUFDRCxvREFBYSxHQUFiLFVBQWMsYUFBa0IsRUFBRSxlQUF1QixFQUFFLEVBQVc7UUFBdEUsaUJBeUZDO1FBeEZDLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUU7WUFDN0gsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQTtZQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFDL0MsVUFBQSxJQUFJO2dCQUNGLEtBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFBO2dCQUM3QyxJQUFJLEtBQUksQ0FBQyxTQUFTLElBQUksS0FBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUU7d0JBQzFDLFNBQVMsR0FBRyxLQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQzt3QkFDckQsS0FBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7d0JBQ3JELFFBQVEsR0FBRyxLQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQzt3QkFDcEQsS0FBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7d0JBQ3JELFFBQVEsR0FBVyxLQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7d0JBQzFFLEtBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUU7d0JBQ2xELEtBQUssR0FBRyxLQUFJLENBQUMsV0FBVyxDQUFDLEtBQUs7d0JBQzlCLFFBQVEsR0FBRzt3QkFDZixrQkFBa0IsRUFBRSxlQUFlO3dCQUNuQyxTQUFTLEVBQUUsUUFBUTt3QkFDbkIsYUFBYSxFQUFFOzRCQUNiLFVBQVUsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUk7NEJBQ2hDLEdBQUcsRUFBRSxLQUFJLENBQUMsTUFBTSxDQUFDLEdBQUc7NEJBQ3BCLE9BQU8sRUFBRSxLQUFJLENBQUMsU0FBUyxDQUFDLE9BQU87NEJBQy9CLEtBQUssRUFBRSxLQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUMsb0JBQ3ZDLElBQUksRUFBRSxLQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsSUFDN0MsS0FBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQ3pDLENBQUMsQ0FBQyxFQUFFOzRCQUNOLFFBQVEsRUFBRSxLQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsTUFBTTs0QkFDakcsTUFBTSxFQUFFLENBQUMsS0FBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLElBQUksS0FBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUksSUFBSTs0QkFDL0YsUUFBUSxFQUFFLEtBQUksQ0FBQyxTQUFTLENBQUMsVUFBVTs0QkFDbkMsdUJBQXVCLEVBQUUsUUFBUSxDQUFDLFdBQVcsRUFBRTs0QkFDL0MsSUFBSSxFQUFFO2dDQUNKLFNBQVMsV0FBQTtnQ0FDVCxRQUFRLFVBQUE7Z0NBQ1IsS0FBSyxPQUFBO2dDQUNMLE1BQU0sRUFBRSxLQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTtnQ0FDbEYsS0FBSyxFQUFFLEtBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7NkJBQzVFOzRCQUNELGtCQUFrQixFQUFFLEtBQUs7eUJBQzFCO3dCQUNELElBQUksRUFBRSxLQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQzs0QkFDckMsZ0JBQWdCLEVBQUUsS0FBSSxDQUFDLG9CQUFvQixDQUFDLElBQUk7eUJBQ2pELENBQUMsQ0FBQyxDQUFDLElBQUk7cUJBQ1Q7b0JBQ0QsYUFBYSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUE7b0JBQ3hDLEtBQUksQ0FBQyxpQkFBaUIsR0FBRyxhQUFhLENBQUE7b0JBQ3RDLEtBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFBO29CQUNsQixLQUFJLENBQUMsVUFBVSxHQUFHLGVBQWUsQ0FBQTtpQkFDbEM7WUFDSCxDQUFDLEVBQUMsQ0FBQTtTQUNMO2FBQU07WUFDTCxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUU7b0JBQzFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQ3JELFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDcEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQ3JELFFBQVEsR0FBVyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQzFFLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQ2xELEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUs7b0JBQzlCLFFBQVEsR0FBRztvQkFDZixrQkFBa0IsRUFBRSxlQUFlO29CQUNuQyxTQUFTLEVBQUUsUUFBUTtvQkFDbkIsYUFBYSxFQUFFO3dCQUNiLFVBQVUsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUk7d0JBQ2hDLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUc7d0JBQ3BCLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU87d0JBQy9CLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUMsb0JBQ3ZDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsSUFDN0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQ3pDLENBQUMsQ0FBQyxFQUFFO3dCQUNOLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsTUFBTTt3QkFDakcsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUksSUFBSTt3QkFDL0YsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVTt3QkFDbkMsdUJBQXVCLEVBQUUsUUFBUSxDQUFDLFdBQVcsRUFBRTt3QkFDL0MsSUFBSSxFQUFFOzRCQUNKLFNBQVMsV0FBQTs0QkFDVCxRQUFRLFVBQUE7NEJBQ1IsS0FBSyxPQUFBOzRCQUNMLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTs0QkFDbEYsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7eUJBQzVFO3dCQUNELGtCQUFrQixFQUFFLEtBQUs7cUJBQzFCO29CQUNELElBQUksRUFBRSxJQUFJO2lCQUNYO2dCQUNELGFBQWEsQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFBO2dCQUN4QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsYUFBYSxDQUFBO2dCQUN0QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQTtnQkFDbEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxlQUFlLENBQUE7YUFDbEM7U0FDRjtJQUNILENBQUM7SUFDRCw4REFBdUIsR0FBdkIsVUFBd0IsRUFBVSxFQUFFLGdCQUFxQjtRQUN2RCxJQUFJLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUNsQztZQUNFLGFBQWEsRUFBRSxFQUFFO1lBQ2pCLFVBQVUsRUFBRSxFQUFFO1lBQ2QsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3ZFLFlBQVksRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO1NBQ3pCLENBQ0Y7YUFDRSxTQUFTLEVBQUU7YUFDWCxLQUFLLEVBQUUsQ0FBQTtJQUNaLENBQUM7SUFDRCxzREFBZSxHQUFmLFVBQWdCLEtBQVU7UUFDeEIsSUFBSSxLQUFLLEVBQUU7WUFDVCxRQUFRLEtBQUssQ0FBQyxPQUFPLEVBQUU7Z0JBQ3JCLEtBQUssVUFBVTtvQkFDYixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBcUM7d0JBQzlELFNBQVMsRUFBRSxRQUFRLENBQUMsV0FBVyxDQUFDLFNBQVM7d0JBQ3pDLGFBQWEsRUFBRSxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUk7d0JBQzVDLElBQUksdUJBQ0MsS0FBSyxDQUFDLElBQUksSUFDYixZQUFZLEVBQUUsUUFBUSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsR0FDckQ7d0JBQ0QsSUFBSSxFQUFFLEtBQUssQ0FBQyxrQkFBa0I7d0JBQzlCLEVBQUUsRUFBRSxXQUFXO3FCQUNoQixDQUFDLENBQUE7b0JBQ0YsTUFBSztnQkFDUCxLQUFLLFdBQVc7b0JBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQXNDO3dCQUMvRCxTQUFTLEVBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxTQUFTO3dCQUN6QyxhQUFhLEVBQUUsUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLO3dCQUM3QyxJQUFJLHVCQUNDLEtBQUssQ0FBQyxJQUFJLElBQ2IsWUFBWSxFQUFFLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLEdBQ3REO3dCQUNELElBQUksRUFBRSxLQUFLLENBQUMsa0JBQWtCO3dCQUM5QixFQUFFLEVBQUUsV0FBVztxQkFDaEIsQ0FBQyxDQUFBO29CQUNGLE1BQUs7Z0JBQ1AsS0FBSyxZQUFZO29CQUNmLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO29CQUMzQyxNQUFLO2dCQUNQO29CQUNFLE1BQUs7YUFDUjtTQUNGO0lBQ0gsQ0FBQztJQUNELDBEQUFtQixHQUFuQjtRQUNFLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFBO1FBQ3BCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUE7UUFDaEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQTtRQUM3QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQTtJQUNyQixDQUFDO0lBQ0QsMkRBQW9CLEdBQXBCO1FBQ0UsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ3RHLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3JELFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDcEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3JELFFBQVEsR0FBVyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzFFLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2xELEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUs7Z0JBQzlCLFFBQVEsR0FBRztnQkFDZixrQkFBa0IsRUFBRSxJQUFJLENBQUMsVUFBVTtnQkFDbkMsU0FBUyxFQUFFLGdCQUFnQjtnQkFDM0IsYUFBYSxFQUFFO29CQUNiLFVBQVUsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUk7b0JBQ2hDLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUc7b0JBQ3BCLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU87b0JBQy9CLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUMsb0JBQ3ZDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsSUFDN0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQ3pDLENBQUMsQ0FBQyxFQUFFO29CQUNOLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsTUFBTTtvQkFDakcsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUksSUFBSTtvQkFDL0YsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVTtvQkFDbkMsdUJBQXVCLEVBQUUsUUFBUSxDQUFDLFdBQVcsRUFBRTtvQkFDL0MsSUFBSSxFQUFFO3dCQUNKLFNBQVMsV0FBQTt3QkFDVCxRQUFRLFVBQUE7d0JBQ1IsS0FBSyxPQUFBO3dCQUNMLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTt3QkFDbEYsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7cUJBQzVFO29CQUNELGtCQUFrQixFQUFFLEtBQUs7aUJBQzFCO2FBQ0Y7WUFDRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQTtTQUNsRDtJQUNILENBQUM7O2dCQXpNRixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7Z0JBTlEscUJBQXFCO2dCQUZyQixvQkFBb0I7Z0JBQ3BCLG1CQUFtQjtnQkFGbkIsY0FBYztnQkFBRSxNQUFNO2dCQUt0QixZQUFZO2dCQUNaLGdCQUFnQjs7O3VDQVB6QjtDQWtOQyxBQTFNRCxJQTBNQztTQXZNWSw0QkFBNEI7O0lBQ3ZDLGtEQUFlO0lBQ2YsNERBQWdDO0lBQ2hDLHlEQUFzQjtJQUN0Qiw4Q0FBYztJQUVaLGlEQUF3QztJQUN4QyxrREFBd0M7SUFDeEMsbURBQXdDO0lBQ3hDLHNEQUFzQztJQUN0Qyw4Q0FBc0I7SUFDdEIsZ0RBQThCO0lBQzlCLCtDQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJ1xyXG5pbXBvcnQgeyBXaWRnZXRDb250ZW50U2VydmljZSB9IGZyb20gJy4vd2lkZ2V0LWNvbnRlbnQuc2VydmljZSdcclxuaW1wb3J0IHsgQXV0aEtleWNsb2FrU2VydmljZSB9IGZyb20gJy4vYXV0aC1rZXljbG9hay5zZXJ2aWNlJ1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uc1NlcnZpY2UgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb25zLnNlcnZpY2UnXHJcbmltcG9ydCB7IFdzRXZlbnRzIH0gZnJvbSAnLi9ldmVudC5tb2RlbCdcclxuaW1wb3J0IHsgRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi9ldmVudC5zZXJ2aWNlJ1xyXG5pbXBvcnQgeyBUZWxlbWV0cnlTZXJ2aWNlIH0gZnJvbSAnLi90ZWxlbWV0cnkuc2VydmljZSdcclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFN1YmFwcGxpY2F0aW9uUmVzcG9uZFNlcnZpY2Uge1xyXG4gIHN1YkFwcG5hbWUgPSAnJ1xyXG4gIGNvbnRpbnVlTGVhcm5pbmdEYXRhOiBhbnkgPSBudWxsXHJcbiAgY29udGVudFdpbmRvd2luZm86IGFueVxyXG4gIGxvYWRlZCA9IGZhbHNlXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNvbmZpZ1N2YzogQ29uZmlndXJhdGlvbnNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb250ZW50U3ZjOiBXaWRnZXRDb250ZW50U2VydmljZSxcclxuICAgIHByaXZhdGUga2V5Q2xvYWtTdmM6IEF1dGhLZXljbG9ha1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIGV2ZW50U3ZjOiBFdmVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRlbGVTdmM6IFRlbGVtZXRyeVNlcnZpY2UsXHJcbiAgKSB7XHJcbiAgICB0aGlzLmNoYW5nZUNvbnRleHRyZXNwb25kKClcclxuICAgIHRoaXMuY29uZmlnU3ZjLnByZWZDaGFuZ2VOb3RpZmllci5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLmNoYW5nZUNvbnRleHRyZXNwb25kKClcclxuICAgIH0pXHJcbiAgfVxyXG4gIGxvYWRlZFJlc3BvbmQoY29udGVudFdpbmRvdzogYW55LCBhcHBsaWNhdGlvbk5hbWU6IHN0cmluZywgaWQ/OiBzdHJpbmcpIHtcclxuICAgIGlmIChpZCAmJiB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zLnZpZXdNb2RlICYmIHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMudmlld01vZGUgPT09ICdSRVNVTUUnKSB7XHJcbiAgICAgIHRoaXMuY29udGludWVMZWFybmluZ0RhdGEgPSBudWxsXHJcbiAgICAgIHRoaXMuY29udGVudFN2Yy5mZXRjaENvbnRlbnRIaXN0b3J5KGlkKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgZGF0YSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNvbnRpbnVlTGVhcm5pbmdEYXRhID0gZGF0YS5jb250aW51ZURhdGFcclxuICAgICAgICAgIGlmICh0aGlzLmNvbmZpZ1N2YyAmJiB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZSkge1xyXG4gICAgICAgICAgICBjb25zdCBmaXJzdE5hbWUgPSB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZS51c2VyTmFtZSA/XHJcbiAgICAgICAgICAgICAgdGhpcy5jb25maWdTdmMudXNlclByb2ZpbGUudXNlck5hbWUuc3BsaXQoJyAnLCAyKVswXSA6ICcnXHJcbiAgICAgICAgICAgIGNvbnN0IGxhc3ROYW1lID0gdGhpcy5jb25maWdTdmMudXNlclByb2ZpbGUudXNlck5hbWUgP1xyXG4gICAgICAgICAgICAgIHRoaXMuY29uZmlnU3ZjLnVzZXJQcm9maWxlLnVzZXJOYW1lLnNwbGl0KCcgJywgMilbMV0gOiAnJ1xyXG4gICAgICAgICAgICBjb25zdCB2aWV3TW9kZTogc3RyaW5nID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcy52aWV3TW9kZSA/XHJcbiAgICAgICAgICAgICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcy52aWV3TW9kZSA6ICcnXHJcbiAgICAgICAgICAgIGNvbnN0IHRva2VuID0gdGhpcy5rZXlDbG9ha1N2Yy50b2tlblxyXG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IHtcclxuICAgICAgICAgICAgICBzdWJBcHBsaWNhdGlvbk5hbWU6IGFwcGxpY2F0aW9uTmFtZSxcclxuICAgICAgICAgICAgICByZXF1ZXN0SWQ6ICdMT0FERUQnLFxyXG4gICAgICAgICAgICAgIHBhcmVudENvbnRleHQ6IHtcclxuICAgICAgICAgICAgICAgIGRvbWFpbk5hbWU6IHdpbmRvdy5sb2NhdGlvbi5ob3N0LFxyXG4gICAgICAgICAgICAgICAgdXJsOiB0aGlzLnJvdXRlci51cmwsXHJcbiAgICAgICAgICAgICAgICByb290T3JnOiB0aGlzLmNvbmZpZ1N2Yy5yb290T3JnLFxyXG4gICAgICAgICAgICAgICAgdGhlbWU6IHRoaXMuY29uZmlnU3ZjLmFjdGl2ZVRoZW1lT2JqZWN0ID8ge1xyXG4gICAgICAgICAgICAgICAgICBuYW1lOiB0aGlzLmNvbmZpZ1N2Yy5hY3RpdmVUaGVtZU9iamVjdC50aGVtZU5hbWUsXHJcbiAgICAgICAgICAgICAgICAgIC4uLnRoaXMuY29uZmlnU3ZjLmFjdGl2ZVRoZW1lT2JqZWN0LmNvbG9yLFxyXG4gICAgICAgICAgICAgICAgfSA6ICcnLFxyXG4gICAgICAgICAgICAgICAgZm9udFNpemU6IHRoaXMuY29uZmlnU3ZjLmFjdGl2ZUZvbnRPYmplY3QgPyB0aGlzLmNvbmZpZ1N2Yy5hY3RpdmVGb250T2JqZWN0LmJhc2VGb250U2l6ZSA6ICcxNHB4JyxcclxuICAgICAgICAgICAgICAgIGxvY2FsZTogKHRoaXMuY29uZmlnU3ZjLnVzZXJQcmVmZXJlbmNlICYmIHRoaXMuY29uZmlnU3ZjLnVzZXJQcmVmZXJlbmNlLnNlbGVjdGVkTG9jYWxlKSB8fCAnZW4nLFxyXG4gICAgICAgICAgICAgICAgZGFya01vZGU6IHRoaXMuY29uZmlnU3ZjLmlzRGFya01vZGUsXHJcbiAgICAgICAgICAgICAgICBzdWJBcHBsaWNhdGlvblN0YXJ0TW9kZTogdmlld01vZGUudG9VcHBlckNhc2UoKSxcclxuICAgICAgICAgICAgICAgIHVzZXI6IHtcclxuICAgICAgICAgICAgICAgICAgZmlyc3ROYW1lLFxyXG4gICAgICAgICAgICAgICAgICBsYXN0TmFtZSxcclxuICAgICAgICAgICAgICAgICAgdG9rZW4sXHJcbiAgICAgICAgICAgICAgICAgIHVzZXJJZDogdGhpcy5jb25maWdTdmMudXNlclByb2ZpbGUudXNlcklkID8gdGhpcy5jb25maWdTdmMudXNlclByb2ZpbGUudXNlcklkIDogJycsXHJcbiAgICAgICAgICAgICAgICAgIHJvbGVzOiB0aGlzLmNvbmZpZ1N2Yy51c2VyUm9sZXMgPyBBcnJheS5mcm9tKHRoaXMuY29uZmlnU3ZjLnVzZXJSb2xlcykgOiBbXSxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBoZWFydGJlYXRGcmVxdWVuY3k6ICcyMDAnLFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgZGF0YTogdGhpcy5jb250aW51ZUxlYXJuaW5nRGF0YS5kYXRhID8ge1xyXG4gICAgICAgICAgICAgICAgY29udGludWVMZWFybmluZzogdGhpcy5jb250aW51ZUxlYXJuaW5nRGF0YS5kYXRhLFxyXG4gICAgICAgICAgICAgIH0gOiBudWxsLFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UocmVzcG9uc2UsICcqJylcclxuICAgICAgICAgICAgdGhpcy5jb250ZW50V2luZG93aW5mbyA9IGNvbnRlbnRXaW5kb3dcclxuICAgICAgICAgICAgdGhpcy5sb2FkZWQgPSB0cnVlXHJcbiAgICAgICAgICAgIHRoaXMuc3ViQXBwbmFtZSA9IGFwcGxpY2F0aW9uTmFtZVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAodGhpcy5jb25maWdTdmMgJiYgdGhpcy5jb25maWdTdmMudXNlclByb2ZpbGUpIHtcclxuICAgICAgICBjb25zdCBmaXJzdE5hbWUgPSB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZS51c2VyTmFtZSA/XHJcbiAgICAgICAgICB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZS51c2VyTmFtZS5zcGxpdCgnICcsIDIpWzBdIDogJydcclxuICAgICAgICBjb25zdCBsYXN0TmFtZSA9IHRoaXMuY29uZmlnU3ZjLnVzZXJQcm9maWxlLnVzZXJOYW1lID9cclxuICAgICAgICAgIHRoaXMuY29uZmlnU3ZjLnVzZXJQcm9maWxlLnVzZXJOYW1lLnNwbGl0KCcgJywgMilbMV0gOiAnJ1xyXG4gICAgICAgIGNvbnN0IHZpZXdNb2RlOiBzdHJpbmcgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zLnZpZXdNb2RlID9cclxuICAgICAgICAgIHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMudmlld01vZGUgOiAnJ1xyXG4gICAgICAgIGNvbnN0IHRva2VuID0gdGhpcy5rZXlDbG9ha1N2Yy50b2tlblxyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0ge1xyXG4gICAgICAgICAgc3ViQXBwbGljYXRpb25OYW1lOiBhcHBsaWNhdGlvbk5hbWUsXHJcbiAgICAgICAgICByZXF1ZXN0SWQ6ICdMT0FERUQnLFxyXG4gICAgICAgICAgcGFyZW50Q29udGV4dDoge1xyXG4gICAgICAgICAgICBkb21haW5OYW1lOiB3aW5kb3cubG9jYXRpb24uaG9zdCxcclxuICAgICAgICAgICAgdXJsOiB0aGlzLnJvdXRlci51cmwsXHJcbiAgICAgICAgICAgIHJvb3RPcmc6IHRoaXMuY29uZmlnU3ZjLnJvb3RPcmcsXHJcbiAgICAgICAgICAgIHRoZW1lOiB0aGlzLmNvbmZpZ1N2Yy5hY3RpdmVUaGVtZU9iamVjdCA/IHtcclxuICAgICAgICAgICAgICBuYW1lOiB0aGlzLmNvbmZpZ1N2Yy5hY3RpdmVUaGVtZU9iamVjdC50aGVtZU5hbWUsXHJcbiAgICAgICAgICAgICAgLi4udGhpcy5jb25maWdTdmMuYWN0aXZlVGhlbWVPYmplY3QuY29sb3IsXHJcbiAgICAgICAgICAgIH0gOiAnJyxcclxuICAgICAgICAgICAgZm9udFNpemU6IHRoaXMuY29uZmlnU3ZjLmFjdGl2ZUZvbnRPYmplY3QgPyB0aGlzLmNvbmZpZ1N2Yy5hY3RpdmVGb250T2JqZWN0LmJhc2VGb250U2l6ZSA6ICcxNHB4JyxcclxuICAgICAgICAgICAgbG9jYWxlOiAodGhpcy5jb25maWdTdmMudXNlclByZWZlcmVuY2UgJiYgdGhpcy5jb25maWdTdmMudXNlclByZWZlcmVuY2Uuc2VsZWN0ZWRMb2NhbGUpIHx8ICdlbicsXHJcbiAgICAgICAgICAgIGRhcmtNb2RlOiB0aGlzLmNvbmZpZ1N2Yy5pc0RhcmtNb2RlLFxyXG4gICAgICAgICAgICBzdWJBcHBsaWNhdGlvblN0YXJ0TW9kZTogdmlld01vZGUudG9VcHBlckNhc2UoKSxcclxuICAgICAgICAgICAgdXNlcjoge1xyXG4gICAgICAgICAgICAgIGZpcnN0TmFtZSxcclxuICAgICAgICAgICAgICBsYXN0TmFtZSxcclxuICAgICAgICAgICAgICB0b2tlbixcclxuICAgICAgICAgICAgICB1c2VySWQ6IHRoaXMuY29uZmlnU3ZjLnVzZXJQcm9maWxlLnVzZXJJZCA/IHRoaXMuY29uZmlnU3ZjLnVzZXJQcm9maWxlLnVzZXJJZCA6ICcnLFxyXG4gICAgICAgICAgICAgIHJvbGVzOiB0aGlzLmNvbmZpZ1N2Yy51c2VyUm9sZXMgPyBBcnJheS5mcm9tKHRoaXMuY29uZmlnU3ZjLnVzZXJSb2xlcykgOiBbXSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgaGVhcnRiZWF0RnJlcXVlbmN5OiAnMjAwJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBkYXRhOiBudWxsLFxyXG4gICAgICAgIH1cclxuICAgICAgICBjb250ZW50V2luZG93LnBvc3RNZXNzYWdlKHJlc3BvbnNlLCAnKicpXHJcbiAgICAgICAgdGhpcy5jb250ZW50V2luZG93aW5mbyA9IGNvbnRlbnRXaW5kb3dcclxuICAgICAgICB0aGlzLmxvYWRlZCA9IHRydWVcclxuICAgICAgICB0aGlzLnN1YkFwcG5hbWUgPSBhcHBsaWNhdGlvbk5hbWVcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBjb250aW51ZUxlYXJuaW5nUmVzcG9uZChpZDogc3RyaW5nLCBjb250aW51ZUxlYXJuaW5nOiBhbnkpIHtcclxuICAgIHRoaXMuY29udGVudFN2Yy5zYXZlQ29udGludWVMZWFybmluZyhcclxuICAgICAge1xyXG4gICAgICAgIGNvbnRleHRQYXRoSWQ6IGlkLFxyXG4gICAgICAgIHJlc291cmNlSWQ6IGlkLFxyXG4gICAgICAgIGRhdGE6IEpTT04uc3RyaW5naWZ5KHsgdGltZXN0YW1wOiBEYXRlLm5vdygpLCBkYXRhOiBjb250aW51ZUxlYXJuaW5nIH0pLFxyXG4gICAgICAgIGRhdGVBY2Nlc3NlZDogRGF0ZS5ub3coKSxcclxuICAgICAgfSxcclxuICAgIClcclxuICAgICAgLnRvUHJvbWlzZSgpXHJcbiAgICAgIC5jYXRjaCgpXHJcbiAgfVxyXG4gIHRlbGVtZXRyeUV2ZW50cyh0RGF0YTogYW55KSB7XHJcbiAgICBpZiAodERhdGEpIHtcclxuICAgICAgc3dpdGNoICh0RGF0YS5ldmVudElkKSB7XHJcbiAgICAgICAgY2FzZSAnSU5URVJBQ1QnOlxyXG4gICAgICAgICAgdGhpcy5ldmVudFN2Yy5kaXNwYXRjaEV2ZW50PFdzRXZlbnRzLklXc0V2ZW50VGVsZW1ldHJ5SW50ZXJhY3Q+KHtcclxuICAgICAgICAgICAgZXZlbnRUeXBlOiBXc0V2ZW50cy5Xc0V2ZW50VHlwZS5UZWxlbWV0cnksXHJcbiAgICAgICAgICAgIGV2ZW50TG9nTGV2ZWw6IFdzRXZlbnRzLldzRXZlbnRMb2dMZXZlbC5XYXJuLFxyXG4gICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgLi4udERhdGEuZGF0YSxcclxuICAgICAgICAgICAgICBldmVudFN1YlR5cGU6IFdzRXZlbnRzLkVudW1UZWxlbWV0cnlTdWJUeXBlLkludGVyYWN0LFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBmcm9tOiB0RGF0YS5zdWJBcHBsaWNhdGlvbk5hbWUsXHJcbiAgICAgICAgICAgIHRvOiAnVGVsZW1ldHJ5JyxcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICBicmVha1xyXG4gICAgICAgIGNhc2UgJ0hFQVJUQkVBVCc6XHJcbiAgICAgICAgICB0aGlzLmV2ZW50U3ZjLmRpc3BhdGNoRXZlbnQ8V3NFdmVudHMuSVdzRXZlbnRUZWxlbWV0cnlIZWFydEJlYXQ+KHtcclxuICAgICAgICAgICAgZXZlbnRUeXBlOiBXc0V2ZW50cy5Xc0V2ZW50VHlwZS5UZWxlbWV0cnksXHJcbiAgICAgICAgICAgIGV2ZW50TG9nTGV2ZWw6IFdzRXZlbnRzLldzRXZlbnRMb2dMZXZlbC5UcmFjZSxcclxuICAgICAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICAgIC4uLnREYXRhLmRhdGEsXHJcbiAgICAgICAgICAgICAgZXZlbnRTdWJUeXBlOiBXc0V2ZW50cy5FbnVtVGVsZW1ldHJ5U3ViVHlwZS5IZWFydEJlYXQsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGZyb206IHREYXRhLnN1YkFwcGxpY2F0aW9uTmFtZSxcclxuICAgICAgICAgICAgdG86ICdUZWxlbWV0cnknLFxyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgY2FzZSAnSU1QUkVTU0lPTic6XHJcbiAgICAgICAgICB0aGlzLnRlbGVTdmMuZXh0ZXJuYWxJbXByZXNzaW9uKHREYXRhLmRhdGEpXHJcbiAgICAgICAgICBicmVha1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICBicmVha1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIHVuc3Vic2NyaWJlUmVzcG9uc2UoKSB7XHJcbiAgICB0aGlzLnN1YkFwcG5hbWUgPSAnJ1xyXG4gICAgdGhpcy5jb250aW51ZUxlYXJuaW5nRGF0YSA9IG51bGxcclxuICAgIHRoaXMuY29udGVudFdpbmRvd2luZm8gPSBudWxsXHJcbiAgICB0aGlzLmxvYWRlZCA9IGZhbHNlXHJcbiAgfVxyXG4gIGNoYW5nZUNvbnRleHRyZXNwb25kKCkge1xyXG4gICAgaWYgKHRoaXMubG9hZGVkICYmIHRoaXMuY29udGVudFdpbmRvd2luZm8gJiYgdGhpcy5jb25maWdTdmMgJiYgdGhpcy5jb25maWdTdmMudXNlclByb2ZpbGUgJiYgdGhpcy5zdWJBcHBuYW1lKSB7XHJcbiAgICAgIGNvbnN0IGZpcnN0TmFtZSA9IHRoaXMuY29uZmlnU3ZjLnVzZXJQcm9maWxlLnVzZXJOYW1lID9cclxuICAgICAgICB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZS51c2VyTmFtZS5zcGxpdCgnICcsIDIpWzBdIDogJydcclxuICAgICAgY29uc3QgbGFzdE5hbWUgPSB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZS51c2VyTmFtZSA/XHJcbiAgICAgICAgdGhpcy5jb25maWdTdmMudXNlclByb2ZpbGUudXNlck5hbWUuc3BsaXQoJyAnLCAyKVsxXSA6ICcnXHJcbiAgICAgIGNvbnN0IHZpZXdNb2RlOiBzdHJpbmcgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zLnZpZXdNb2RlID9cclxuICAgICAgICB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zLnZpZXdNb2RlIDogJydcclxuICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLmtleUNsb2FrU3ZjLnRva2VuXHJcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0ge1xyXG4gICAgICAgIHN1YkFwcGxpY2F0aW9uTmFtZTogdGhpcy5zdWJBcHBuYW1lLFxyXG4gICAgICAgIHJlcXVlc3RJZDogJ0NPTlRFWFRfQ0hBTkdFJyxcclxuICAgICAgICBwYXJlbnRDb250ZXh0OiB7XHJcbiAgICAgICAgICBkb21haW5OYW1lOiB3aW5kb3cubG9jYXRpb24uaG9zdCxcclxuICAgICAgICAgIHVybDogdGhpcy5yb3V0ZXIudXJsLFxyXG4gICAgICAgICAgcm9vdE9yZzogdGhpcy5jb25maWdTdmMucm9vdE9yZyxcclxuICAgICAgICAgIHRoZW1lOiB0aGlzLmNvbmZpZ1N2Yy5hY3RpdmVUaGVtZU9iamVjdCA/IHtcclxuICAgICAgICAgICAgbmFtZTogdGhpcy5jb25maWdTdmMuYWN0aXZlVGhlbWVPYmplY3QudGhlbWVOYW1lLFxyXG4gICAgICAgICAgICAuLi50aGlzLmNvbmZpZ1N2Yy5hY3RpdmVUaGVtZU9iamVjdC5jb2xvcixcclxuICAgICAgICAgIH0gOiAnJyxcclxuICAgICAgICAgIGZvbnRTaXplOiB0aGlzLmNvbmZpZ1N2Yy5hY3RpdmVGb250T2JqZWN0ID8gdGhpcy5jb25maWdTdmMuYWN0aXZlRm9udE9iamVjdC5iYXNlRm9udFNpemUgOiAnMTRweCcsXHJcbiAgICAgICAgICBsb2NhbGU6ICh0aGlzLmNvbmZpZ1N2Yy51c2VyUHJlZmVyZW5jZSAmJiB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJlZmVyZW5jZS5zZWxlY3RlZExvY2FsZSkgfHwgJ2VuJyxcclxuICAgICAgICAgIGRhcmtNb2RlOiB0aGlzLmNvbmZpZ1N2Yy5pc0RhcmtNb2RlLFxyXG4gICAgICAgICAgc3ViQXBwbGljYXRpb25TdGFydE1vZGU6IHZpZXdNb2RlLnRvVXBwZXJDYXNlKCksXHJcbiAgICAgICAgICB1c2VyOiB7XHJcbiAgICAgICAgICAgIGZpcnN0TmFtZSxcclxuICAgICAgICAgICAgbGFzdE5hbWUsXHJcbiAgICAgICAgICAgIHRva2VuLFxyXG4gICAgICAgICAgICB1c2VySWQ6IHRoaXMuY29uZmlnU3ZjLnVzZXJQcm9maWxlLnVzZXJJZCA/IHRoaXMuY29uZmlnU3ZjLnVzZXJQcm9maWxlLnVzZXJJZCA6ICcnLFxyXG4gICAgICAgICAgICByb2xlczogdGhpcy5jb25maWdTdmMudXNlclJvbGVzID8gQXJyYXkuZnJvbSh0aGlzLmNvbmZpZ1N2Yy51c2VyUm9sZXMpIDogW10sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgaGVhcnRiZWF0RnJlcXVlbmN5OiAnMjAwJyxcclxuICAgICAgICB9LFxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY29udGVudFdpbmRvd2luZm8ucG9zdE1lc3NhZ2UocmVzcG9uc2UsICcqJylcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19