@ts-core/angular 11.0.87 → 13.0.2

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 (362) hide show
  1. package/VICommonModule.d.ts +34 -2
  2. package/application/ApplicationBaseComponent.d.ts +9 -5
  3. package/application/ApplicationComponent.d.ts +2 -6
  4. package/asset/AssetBackgroundDirective.d.ts +3 -0
  5. package/asset/AssetBackgroundPipe.d.ts +3 -0
  6. package/asset/AssetFilePipe.d.ts +3 -0
  7. package/asset/AssetIconPipe.d.ts +3 -0
  8. package/asset/AssetImagePipe.d.ts +3 -0
  9. package/asset/AssetModule.d.ts +12 -0
  10. package/asset/AssetSoundPipe.d.ts +3 -0
  11. package/asset/AssetVideoPipe.d.ts +3 -0
  12. package/bottomSheet/BottomSheetModule.d.ts +10 -0
  13. package/bottomSheet/BottomSheetService.d.ts +3 -0
  14. package/bottomSheet/component/bottom-sheet-close-element/bottom-sheet-close-element.component.d.ts +3 -0
  15. package/component/VIComponentModule.d.ts +28 -0
  16. package/component/cdk-table/CdkTableBaseComponent.d.ts +6 -3
  17. package/component/cdk-table/CdkTableFilterableMapCollection.d.ts +5 -5
  18. package/component/cdk-table/CdkTablePaginableBookmarkMapCollection.d.ts +2 -2
  19. package/component/cdk-table/CdkTablePaginableMapCollection.d.ts +2 -6
  20. package/component/cdk-table/cdk-table-filterable/cdk-table-filterable.component.d.ts +3 -0
  21. package/component/cdk-table/cdk-table-paginable/cdk-table-paginable.component.d.ts +3 -0
  22. package/component/cdk-table/column/CdkTableCellClassNamePipe.d.ts +3 -0
  23. package/component/cdk-table/column/CdkTableColumnClassNamePipe.d.ts +3 -0
  24. package/component/cdk-table/column/CdkTableColumnStyleNamePipe.d.ts +3 -0
  25. package/component/cdk-table/column/CdkTableColumnValuePipe.d.ts +3 -0
  26. package/component/cdk-table/column/ICdkTableColumn.d.ts +1 -1
  27. package/component/cdk-table/row/CdkTableRowClassNamePipe.d.ts +3 -0
  28. package/component/cdk-table/row/CdkTableRowStyleNamePipe.d.ts +3 -0
  29. package/component/language/language-selector/language-selector.component.d.ts +3 -0
  30. package/component/menu-list/menu-list.component.d.ts +3 -0
  31. package/component/select-list/select-list.component.d.ts +3 -0
  32. package/component/tab-group/tab-group.component.d.ts +3 -0
  33. package/cookie/CookieModule.d.ts +4 -0
  34. package/directive/AspectRatioResizeDirective.d.ts +3 -0
  35. package/directive/AutoScrollBottomDirective.d.ts +3 -0
  36. package/directive/ClickToCopyDirective.d.ts +3 -0
  37. package/directive/ClickToSelectDirective.d.ts +3 -0
  38. package/directive/FocusDirective.d.ts +3 -0
  39. package/directive/HTMLContentTitleDirective.d.ts +3 -0
  40. package/directive/InfiniteScrollDirective.d.ts +3 -0
  41. package/directive/ResizeDirective.d.ts +3 -0
  42. package/directive/ScrollDirective.d.ts +3 -0
  43. package/directive/SelectOnFocusDirective.d.ts +3 -0
  44. package/{esm2015/ApplicationInjector.js → esm2020/ApplicationInjector.mjs} +0 -0
  45. package/esm2020/VICommonModule.mjs +145 -0
  46. package/esm2020/application/ApplicationBaseComponent.mjs +87 -0
  47. package/esm2020/application/ApplicationComponent.mjs +53 -0
  48. package/{esm2015/application/MessageBaseComponent.js → esm2020/application/MessageBaseComponent.mjs} +0 -0
  49. package/{esm2015/application/ShellBaseComponent.js → esm2020/application/ShellBaseComponent.mjs} +0 -0
  50. package/esm2020/asset/AssetBackgroundDirective.mjs +150 -0
  51. package/esm2020/asset/AssetBackgroundPipe.mjs +22 -0
  52. package/esm2020/asset/AssetFilePipe.mjs +22 -0
  53. package/esm2020/asset/AssetIconPipe.mjs +22 -0
  54. package/esm2020/asset/AssetImagePipe.mjs +22 -0
  55. package/esm2020/asset/AssetModule.mjs +24 -0
  56. package/esm2020/asset/AssetSoundPipe.mjs +22 -0
  57. package/esm2020/asset/AssetVideoPipe.mjs +22 -0
  58. package/esm2020/bottomSheet/BottomSheetImpl.mjs +230 -0
  59. package/esm2020/bottomSheet/BottomSheetModule.mjs +45 -0
  60. package/esm2020/bottomSheet/BottomSheetService.mjs +99 -0
  61. package/{esm2015/bottomSheet/component/BottomSheetBaseComponent.js → esm2020/bottomSheet/component/BottomSheetBaseComponent.mjs} +0 -0
  62. package/esm2020/bottomSheet/component/bottom-sheet-close-element/bottom-sheet-close-element.component.mjs +60 -0
  63. package/esm2020/component/VIComponentModule.mjs +105 -0
  64. package/esm2020/component/cdk-table/CdkTableBaseComponent.mjs +188 -0
  65. package/{esm2015/component/cdk-table/CdkTableDataSource.js → esm2020/component/cdk-table/CdkTableDataSource.mjs} +0 -0
  66. package/esm2020/component/cdk-table/CdkTableFilterableMapCollection.mjs +94 -0
  67. package/esm2020/component/cdk-table/CdkTablePaginableBookmarkMapCollection.mjs +49 -0
  68. package/esm2020/component/cdk-table/CdkTablePaginableMapCollection.mjs +57 -0
  69. package/esm2020/component/cdk-table/cdk-table-filterable/cdk-table-filterable.component.mjs +35 -0
  70. package/esm2020/component/cdk-table/cdk-table-paginable/cdk-table-paginable.component.mjs +63 -0
  71. package/esm2020/component/cdk-table/column/CdkTableCellClassNamePipe.mjs +21 -0
  72. package/esm2020/component/cdk-table/column/CdkTableColumnClassNamePipe.mjs +22 -0
  73. package/esm2020/component/cdk-table/column/CdkTableColumnStyleNamePipe.mjs +22 -0
  74. package/esm2020/component/cdk-table/column/CdkTableColumnValuePipe.mjs +22 -0
  75. package/esm2020/component/cdk-table/column/ICdkTableColumn.mjs +2 -0
  76. package/esm2020/component/cdk-table/row/CdkTableRowClassNamePipe.mjs +22 -0
  77. package/esm2020/component/cdk-table/row/CdkTableRowStyleNamePipe.mjs +22 -0
  78. package/{esm2015/component/cdk-table/row/ICdkTableRow.js → esm2020/component/cdk-table/row/ICdkTableRow.mjs} +0 -0
  79. package/esm2020/component/language/language-selector/language-selector.component.mjs +79 -0
  80. package/esm2020/component/menu-list/menu-list.component.mjs +16 -0
  81. package/esm2020/component/select-list/select-list.component.mjs +17 -0
  82. package/esm2020/component/tab-group/tab-group.component.mjs +71 -0
  83. package/esm2020/cookie/CookieModule.mjs +37 -0
  84. package/{esm2015/cookie/CookieOptions.js → esm2020/cookie/CookieOptions.mjs} +0 -0
  85. package/{esm2015/cookie/CookieService.js → esm2020/cookie/CookieService.mjs} +1 -1
  86. package/esm2020/directive/AspectRatioResizeDirective.mjs +127 -0
  87. package/esm2020/directive/AutoScrollBottomDirective.mjs +115 -0
  88. package/esm2020/directive/ClickToCopyDirective.mjs +49 -0
  89. package/esm2020/directive/ClickToSelectDirective.mjs +49 -0
  90. package/esm2020/directive/FocusDirective.mjs +54 -0
  91. package/esm2020/directive/HTMLContentTitleDirective.mjs +71 -0
  92. package/esm2020/directive/InfiniteScrollDirective.mjs +74 -0
  93. package/esm2020/directive/ResizeDirective.mjs +79 -0
  94. package/esm2020/directive/ScrollDirective.mjs +128 -0
  95. package/esm2020/directive/SelectOnFocusDirective.mjs +47 -0
  96. package/{esm2015/form/FormElementAsync.js → esm2020/form/FormElementAsync.mjs} +0 -0
  97. package/esm2020/form/FormElementSync.mjs +69 -0
  98. package/{esm2015/form/ValueAccessor.js → esm2020/form/ValueAccessor.mjs} +0 -0
  99. package/esm2020/form/validate.mjs +59 -0
  100. package/esm2020/language/LanguageDirective.mjs +92 -0
  101. package/esm2020/language/LanguageHasDirective.mjs +93 -0
  102. package/esm2020/language/LanguageMatPaginatorIntl.mjs +62 -0
  103. package/esm2020/language/LanguageModule.mjs +67 -0
  104. package/{esm2015/language/LanguageMomentDateAdapter.js → esm2020/language/LanguageMomentDateAdapter.mjs} +2 -4
  105. package/esm2020/language/LanguagePipe.mjs +58 -0
  106. package/esm2020/language/LanguagePipeHas.mjs +56 -0
  107. package/esm2020/language/LanguagePipeHasPure.mjs +40 -0
  108. package/esm2020/language/LanguagePipePure.mjs +39 -0
  109. package/{esm2015/language/LanguageRequireResolver.js → esm2020/language/LanguageRequireResolver.mjs} +0 -0
  110. package/esm2020/language/LanguageResolver.mjs +21 -0
  111. package/{esm2015/list/IListItem.js → esm2020/list/IListItem.mjs} +0 -0
  112. package/{esm2015/list/ListItem.js → esm2020/list/ListItem.mjs} +0 -0
  113. package/{esm2015/list/ListItems.js → esm2020/list/ListItems.mjs} +0 -0
  114. package/{esm2015/list/select/ISelectListItem.js → esm2020/list/select/ISelectListItem.mjs} +0 -0
  115. package/{esm2015/list/select/SelectListItem.js → esm2020/list/select/SelectListItem.mjs} +0 -0
  116. package/{esm2015/list/select/SelectListItems.js → esm2020/list/select/SelectListItems.mjs} +0 -0
  117. package/esm2020/login/LoginBaseService.mjs +187 -0
  118. package/esm2020/login/LoginGuard.mjs +29 -0
  119. package/esm2020/login/LoginRedirectResolver.mjs +21 -0
  120. package/esm2020/login/LoginRequireResolver.mjs +36 -0
  121. package/esm2020/login/LoginResolver.mjs +28 -0
  122. package/{esm2015/manager/FocusManager.js → esm2020/manager/FocusManager.mjs} +0 -0
  123. package/{esm2015/manager/ResizeManager.js → esm2020/manager/ResizeManager.mjs} +0 -0
  124. package/{esm2015/menu/MenuItem.js → esm2020/menu/MenuItem.mjs} +0 -0
  125. package/{esm2015/menu/MenuItemBase.js → esm2020/menu/MenuItemBase.mjs} +0 -0
  126. package/{esm2015/menu/MenuItems.js → esm2020/menu/MenuItems.mjs} +0 -0
  127. package/{esm2015/menu/NavigationMenuItem.js → esm2020/menu/NavigationMenuItem.mjs} +0 -0
  128. package/esm2020/module/LazyModuleLoader.mjs +89 -0
  129. package/{esm2015/notification/INotification.js → esm2020/notification/INotification.mjs} +0 -0
  130. package/esm2020/notification/INotificationContent.mjs +131 -0
  131. package/{esm2015/notification/NotificationConfig.js → esm2020/notification/NotificationConfig.mjs} +0 -0
  132. package/{esm2015/notification/NotificationFactory.js → esm2020/notification/NotificationFactory.mjs} +0 -0
  133. package/esm2020/notification/NotificationImpl.mjs +139 -0
  134. package/esm2020/notification/NotificationModule.mjs +53 -0
  135. package/{esm2015/notification/NotificationProperties.js → esm2020/notification/NotificationProperties.mjs} +0 -0
  136. package/esm2020/notification/NotificationService.mjs +239 -0
  137. package/{esm2015/notification/component/NotificationBaseComponent.js → esm2020/notification/component/NotificationBaseComponent.mjs} +0 -0
  138. package/esm2020/notification/component/NotificationQuestionBaseComponent.mjs +49 -0
  139. package/esm2020/notification/component/notification/notification.component.mjs +61 -0
  140. package/esm2020/pipe/CamelCasePipe.mjs +31 -0
  141. package/esm2020/pipe/FinancePipe.mjs +53 -0
  142. package/esm2020/pipe/MomentDateAdaptivePipe.mjs +51 -0
  143. package/esm2020/pipe/MomentDateFromNowPipe.mjs +22 -0
  144. package/esm2020/pipe/MomentDatePipe.mjs +71 -0
  145. package/esm2020/pipe/MomentTimePipe.mjs +35 -0
  146. package/esm2020/pipe/NgModelErrorPipe.mjs +42 -0
  147. package/esm2020/pipe/PrettifyPipe.mjs +38 -0
  148. package/esm2020/pipe/SanitizePipe.mjs +47 -0
  149. package/esm2020/pipe/StartCasePipe.mjs +24 -0
  150. package/esm2020/pipe/TimePipe.mjs +37 -0
  151. package/esm2020/pipe/TruncatePipe.mjs +25 -0
  152. package/esm2020/public-api.mjs +160 -0
  153. package/{esm2015/question/IQuestion.js → esm2020/question/IQuestion.mjs} +0 -0
  154. package/{esm2015/question/QuestionManager.js → esm2020/question/QuestionManager.mjs} +0 -0
  155. package/esm2020/service/BootstrapBreakpointService.mjs +116 -0
  156. package/{esm2015/service/PipeBaseService.js → esm2020/service/PipeBaseService.mjs} +0 -0
  157. package/esm2020/service/RouterBaseService.mjs +214 -0
  158. package/{esm2015/service/route/CanDeactivateGuard.js → esm2020/service/route/CanDeactivateGuard.mjs} +0 -0
  159. package/{esm2015/service/route/IRouterDeactivatable.js → esm2020/service/route/IRouterDeactivatable.mjs} +0 -0
  160. package/esm2020/theme/ThemeAssetBackgroundDirective.mjs +36 -0
  161. package/esm2020/theme/ThemeAssetDirective.mjs +219 -0
  162. package/esm2020/theme/ThemeAssetImageDirective.mjs +34 -0
  163. package/esm2020/theme/ThemeModule.mjs +62 -0
  164. package/esm2020/theme/ThemeStyleDirective.mjs +115 -0
  165. package/esm2020/theme/ThemeStyleHoverDirective.mjs +107 -0
  166. package/esm2020/theme/ThemeToggleDirective.mjs +62 -0
  167. package/esm2020/transport/TransportLazy.mjs +91 -0
  168. package/esm2020/transport/TransportLazyModule.mjs +28 -0
  169. package/esm2020/transport/TransportLazyModuleLoadedEvent.mjs +18 -0
  170. package/esm2020/ts-core-angular.mjs +5 -0
  171. package/{esm2015/user/IUser.js → esm2020/user/IUser.mjs} +0 -0
  172. package/esm2020/user/UserBaseService.mjs +105 -0
  173. package/{esm2015/util/ViewUtil.js → esm2020/util/ViewUtil.mjs} +0 -0
  174. package/{esm2015/window/IWindow.js → esm2020/window/IWindow.mjs} +0 -0
  175. package/esm2020/window/IWindowContent.mjs +124 -0
  176. package/{esm2015/window/WindowBase.js → esm2020/window/WindowBase.mjs} +0 -0
  177. package/{esm2015/window/WindowConfig.js → esm2020/window/WindowConfig.mjs} +0 -0
  178. package/{esm2015/window/WindowFactory.js → esm2020/window/WindowFactory.mjs} +0 -0
  179. package/esm2020/window/WindowImpl.mjs +319 -0
  180. package/esm2020/window/WindowModule.mjs +59 -0
  181. package/{esm2015/window/WindowProperties.js → esm2020/window/WindowProperties.mjs} +0 -0
  182. package/esm2020/window/WindowService.mjs +338 -0
  183. package/{esm2015/window/component/WindowBaseComponent.js → esm2020/window/component/WindowBaseComponent.mjs} +0 -0
  184. package/esm2020/window/component/WindowDragAreaDirective.mjs +97 -0
  185. package/{esm2015/window/component/WindowDragable.js → esm2020/window/component/WindowDragable.mjs} +1 -1
  186. package/esm2020/window/component/WindowElement.mjs +85 -0
  187. package/{esm2015/window/component/WindowQuestionBaseComponent.js → esm2020/window/component/WindowQuestionBaseComponent.mjs} +0 -0
  188. package/{esm2015/window/component/WindowResizeable.js → esm2020/window/component/WindowResizeable.mjs} +1 -1
  189. package/esm2020/window/component/window-close-element/window-close-element.component.mjs +60 -0
  190. package/esm2020/window/component/window-minimize-element/window-minimize-element.component.mjs +80 -0
  191. package/esm2020/window/component/window-question/window-question.component.mjs +50 -0
  192. package/esm2020/window/component/window-resize-element/window-resize-element.component.mjs +59 -0
  193. package/fesm2015/{ts-core-angular.js → ts-core-angular.mjs} +5106 -4696
  194. package/fesm2015/ts-core-angular.mjs.map +1 -0
  195. package/fesm2020/ts-core-angular.mjs +9510 -0
  196. package/fesm2020/ts-core-angular.mjs.map +1 -0
  197. package/form/FormElementSync.d.ts +3 -0
  198. package/language/LanguageDirective.d.ts +3 -0
  199. package/language/LanguageHasDirective.d.ts +3 -0
  200. package/language/LanguageMatPaginatorIntl.d.ts +3 -0
  201. package/language/LanguageModule.d.ts +11 -0
  202. package/language/LanguagePipe.d.ts +3 -0
  203. package/language/LanguagePipeHas.d.ts +3 -0
  204. package/language/LanguagePipeHasPure.d.ts +3 -0
  205. package/language/LanguagePipePure.d.ts +3 -0
  206. package/language/LanguageResolver.d.ts +3 -0
  207. package/login/LoginGuard.d.ts +5 -2
  208. package/login/LoginRedirectResolver.d.ts +3 -0
  209. package/login/LoginRequireResolver.d.ts +2 -2
  210. package/login/LoginResolver.d.ts +3 -0
  211. package/module/LazyModuleLoader.d.ts +24 -0
  212. package/notification/INotificationContent.d.ts +3 -0
  213. package/notification/NotificationModule.d.ts +14 -0
  214. package/notification/NotificationService.d.ts +3 -0
  215. package/notification/component/NotificationQuestionBaseComponent.d.ts +3 -0
  216. package/notification/component/notification/notification.component.d.ts +3 -0
  217. package/package.json +44 -30
  218. package/pipe/CamelCasePipe.d.ts +3 -0
  219. package/pipe/FinancePipe.d.ts +3 -0
  220. package/pipe/MomentDateAdaptivePipe.d.ts +3 -0
  221. package/pipe/MomentDateFromNowPipe.d.ts +3 -0
  222. package/pipe/MomentDatePipe.d.ts +3 -0
  223. package/pipe/MomentTimePipe.d.ts +3 -0
  224. package/pipe/NgModelErrorPipe.d.ts +3 -0
  225. package/pipe/PrettifyPipe.d.ts +3 -0
  226. package/pipe/SanitizePipe.d.ts +3 -0
  227. package/pipe/StartCasePipe.d.ts +3 -0
  228. package/pipe/TimePipe.d.ts +3 -0
  229. package/pipe/TruncatePipe.d.ts +3 -0
  230. package/public-api.d.ts +29 -9
  231. package/service/BootstrapBreakpointService.d.ts +3 -0
  232. package/theme/ThemeAssetBackgroundDirective.d.ts +3 -0
  233. package/theme/ThemeAssetDirective.d.ts +3 -0
  234. package/theme/ThemeAssetImageDirective.d.ts +3 -0
  235. package/theme/ThemeModule.d.ts +10 -0
  236. package/theme/ThemeStyleDirective.d.ts +3 -0
  237. package/theme/ThemeStyleHoverDirective.d.ts +3 -0
  238. package/theme/ThemeToggleDirective.d.ts +3 -0
  239. package/transport/TransportLazy.d.ts +15 -0
  240. package/transport/TransportLazyModule.d.ts +16 -0
  241. package/transport/TransportLazyModuleLoadedEvent.d.ts +6 -0
  242. package/ts-core-angular.d.ts +1 -24
  243. package/user/UserBaseService.d.ts +1 -1
  244. package/window/IWindowContent.d.ts +3 -0
  245. package/window/WindowModule.d.ts +20 -0
  246. package/window/WindowService.d.ts +3 -0
  247. package/window/component/WindowDragAreaDirective.d.ts +3 -0
  248. package/window/component/WindowDragable.d.ts +1 -1
  249. package/window/component/WindowElement.d.ts +3 -0
  250. package/window/component/WindowResizeable.d.ts +1 -1
  251. package/window/component/window-close-element/window-close-element.component.d.ts +3 -0
  252. package/window/component/window-minimize-element/window-minimize-element.component.d.ts +3 -0
  253. package/window/component/window-question/window-question.component.d.ts +3 -0
  254. package/window/component/window-resize-element/window-resize-element.component.d.ts +3 -0
  255. package/application/ApplicationComponent2.d.ts +0 -19
  256. package/bundles/ts-core-angular.umd.js +0 -10984
  257. package/bundles/ts-core-angular.umd.js.map +0 -1
  258. package/bundles/ts-core-angular.umd.min.js +0 -2
  259. package/bundles/ts-core-angular.umd.min.js.map +0 -1
  260. package/esm2015/VICommonModule.js +0 -98
  261. package/esm2015/application/ApplicationBaseComponent.js +0 -80
  262. package/esm2015/application/ApplicationComponent.js +0 -57
  263. package/esm2015/application/ApplicationComponent2.js +0 -53
  264. package/esm2015/asset/AssetBackgroundDirective.js +0 -144
  265. package/esm2015/asset/AssetBackgroundPipe.js +0 -18
  266. package/esm2015/asset/AssetFilePipe.js +0 -18
  267. package/esm2015/asset/AssetIconPipe.js +0 -18
  268. package/esm2015/asset/AssetImagePipe.js +0 -18
  269. package/esm2015/asset/AssetModule.js +0 -19
  270. package/esm2015/asset/AssetSoundPipe.js +0 -18
  271. package/esm2015/asset/AssetVideoPipe.js +0 -18
  272. package/esm2015/bottomSheet/BottomSheetImpl.js +0 -231
  273. package/esm2015/bottomSheet/BottomSheetModule.js +0 -40
  274. package/esm2015/bottomSheet/BottomSheetService.js +0 -103
  275. package/esm2015/bottomSheet/component/bottom-sheet-close-element/bottom-sheet-close-element.component.js +0 -63
  276. package/esm2015/component/VIComponentModule.js +0 -67
  277. package/esm2015/component/cdk-table/CdkTableBaseComponent.js +0 -176
  278. package/esm2015/component/cdk-table/CdkTableFilterableMapCollection.js +0 -94
  279. package/esm2015/component/cdk-table/CdkTablePaginableBookmarkMapCollection.js +0 -49
  280. package/esm2015/component/cdk-table/CdkTablePaginableMapCollection.js +0 -57
  281. package/esm2015/component/cdk-table/cdk-table-filterable/cdk-table-filterable.component.js +0 -24
  282. package/esm2015/component/cdk-table/cdk-table-paginable/cdk-table-paginable.component.js +0 -52
  283. package/esm2015/component/cdk-table/column/CdkTableCellClassNamePipe.js +0 -17
  284. package/esm2015/component/cdk-table/column/CdkTableColumnClassNamePipe.js +0 -18
  285. package/esm2015/component/cdk-table/column/CdkTableColumnStyleNamePipe.js +0 -18
  286. package/esm2015/component/cdk-table/column/CdkTableColumnValuePipe.js +0 -18
  287. package/esm2015/component/cdk-table/column/ICdkTableColumn.js +0 -2
  288. package/esm2015/component/cdk-table/row/CdkTableRowClassNamePipe.js +0 -18
  289. package/esm2015/component/cdk-table/row/CdkTableRowStyleNamePipe.js +0 -18
  290. package/esm2015/component/language/language-selector/language-selector.component.js +0 -75
  291. package/esm2015/component/menu-list/menu-list.component.js +0 -14
  292. package/esm2015/component/select-list/select-list.component.js +0 -14
  293. package/esm2015/component/tab-group/tab-group.component.js +0 -68
  294. package/esm2015/cookie/CookieModule.js +0 -33
  295. package/esm2015/directive/AspectRatioResizeDirective.js +0 -125
  296. package/esm2015/directive/AutoScrollBottomDirective.js +0 -107
  297. package/esm2015/directive/ClickToCopyDirective.js +0 -48
  298. package/esm2015/directive/ClickToSelectDirective.js +0 -48
  299. package/esm2015/directive/FocusDirective.js +0 -53
  300. package/esm2015/directive/HTMLContentTitleDirective.js +0 -70
  301. package/esm2015/directive/InfiniteScrollDirective.js +0 -69
  302. package/esm2015/directive/ResizeDirective.js +0 -75
  303. package/esm2015/directive/ScrollDirective.js +0 -124
  304. package/esm2015/directive/SelectOnFocusDirective.js +0 -46
  305. package/esm2015/form/FormElementSync.js +0 -62
  306. package/esm2015/form/validate.js +0 -61
  307. package/esm2015/language/LanguageDirective.js +0 -90
  308. package/esm2015/language/LanguageHasDirective.js +0 -93
  309. package/esm2015/language/LanguageMatPaginatorIntl.js +0 -54
  310. package/esm2015/language/LanguageModule.js +0 -62
  311. package/esm2015/language/LanguagePipe.js +0 -57
  312. package/esm2015/language/LanguagePipeHas.js +0 -55
  313. package/esm2015/language/LanguagePipeHasPure.js +0 -39
  314. package/esm2015/language/LanguagePipePure.js +0 -38
  315. package/esm2015/language/LanguageResolver.js +0 -23
  316. package/esm2015/login/LoginBaseService.js +0 -197
  317. package/esm2015/login/LoginGuard.js +0 -31
  318. package/esm2015/login/LoginRedirectResolver.js +0 -19
  319. package/esm2015/login/LoginRequireResolver.js +0 -36
  320. package/esm2015/login/LoginResolver.js +0 -30
  321. package/esm2015/notification/INotificationContent.js +0 -126
  322. package/esm2015/notification/NotificationImpl.js +0 -140
  323. package/esm2015/notification/NotificationModule.js +0 -40
  324. package/esm2015/notification/NotificationService.js +0 -248
  325. package/esm2015/notification/component/NotificationQuestionBaseComponent.js +0 -43
  326. package/esm2015/notification/component/notification/notification.component.js +0 -64
  327. package/esm2015/pipe/CamelCasePipe.js +0 -28
  328. package/esm2015/pipe/FinancePipe.js +0 -49
  329. package/esm2015/pipe/MomentDateAdaptivePipe.js +0 -47
  330. package/esm2015/pipe/MomentDateFromNowPipe.js +0 -18
  331. package/esm2015/pipe/MomentDatePipe.js +0 -67
  332. package/esm2015/pipe/MomentTimePipe.js +0 -31
  333. package/esm2015/pipe/NgModelErrorPipe.js +0 -41
  334. package/esm2015/pipe/PrettifyPipe.js +0 -35
  335. package/esm2015/pipe/SanitizePipe.js +0 -46
  336. package/esm2015/pipe/StartCasePipe.js +0 -20
  337. package/esm2015/pipe/TimePipe.js +0 -33
  338. package/esm2015/pipe/TruncatePipe.js +0 -21
  339. package/esm2015/public-api.js +0 -155
  340. package/esm2015/service/BootstrapBreakpointService.js +0 -118
  341. package/esm2015/service/RouterBaseService.js +0 -223
  342. package/esm2015/theme/ThemeAssetBackgroundDirective.js +0 -37
  343. package/esm2015/theme/ThemeAssetDirective.js +0 -204
  344. package/esm2015/theme/ThemeAssetImageDirective.js +0 -35
  345. package/esm2015/theme/ThemeModule.js +0 -57
  346. package/esm2015/theme/ThemeStyleDirective.js +0 -113
  347. package/esm2015/theme/ThemeStyleHoverDirective.js +0 -105
  348. package/esm2015/theme/ThemeToggleDirective.js +0 -61
  349. package/esm2015/ts-core-angular.js +0 -28
  350. package/esm2015/user/UserBaseService.js +0 -105
  351. package/esm2015/window/IWindowContent.js +0 -115
  352. package/esm2015/window/WindowImpl.js +0 -320
  353. package/esm2015/window/WindowModule.js +0 -46
  354. package/esm2015/window/WindowService.js +0 -349
  355. package/esm2015/window/component/WindowDragAreaDirective.js +0 -96
  356. package/esm2015/window/component/WindowElement.js +0 -78
  357. package/esm2015/window/component/window-close-element/window-close-element.component.js +0 -63
  358. package/esm2015/window/component/window-minimize-element/window-minimize-element.component.js +0 -83
  359. package/esm2015/window/component/window-question/window-question.component.js +0 -50
  360. package/esm2015/window/component/window-resize-element/window-resize-element.component.js +0 -62
  361. package/fesm2015/ts-core-angular.js.map +0 -1
  362. package/ts-core-angular.metadata.json +0 -1
@@ -1,23 +0,0 @@
1
- import { LanguageService } from '@ts-core/frontend/language';
2
- import { LanguageRequireResolver } from './LanguageRequireResolver';
3
- import { Injectable } from '@angular/core';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@ts-core/frontend/language/LanguageService";
6
- export class LanguageResolver extends LanguageRequireResolver {
7
- // --------------------------------------------------------------------------
8
- //
9
- // Constructor
10
- //
11
- // --------------------------------------------------------------------------
12
- constructor(language) {
13
- super(language);
14
- }
15
- }
16
- LanguageResolver.ɵprov = i0.ɵɵdefineInjectable({ factory: function LanguageResolver_Factory() { return new LanguageResolver(i0.ɵɵinject(i1.LanguageService)); }, token: LanguageResolver, providedIn: "root" });
17
- LanguageResolver.decorators = [
18
- { type: Injectable, args: [{ providedIn: 'root' },] }
19
- ];
20
- LanguageResolver.ctorParameters = () => [
21
- { type: LanguageService }
22
- ];
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGFuZ3VhZ2VSZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sYW5ndWFnZS9MYW5ndWFnZVJlc29sdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFHM0MsTUFBTSxPQUFPLGdCQUFpQixTQUFRLHVCQUF1QjtJQUN6RCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQVksUUFBeUI7UUFDakMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7Ozs7WUFWSixVQUFVLFNBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzs7WUFKekIsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJ0B0cy1jb3JlL2Zyb250ZW5kL2xhbmd1YWdlJztcbmltcG9ydCB7IExhbmd1YWdlUmVxdWlyZVJlc29sdmVyIH0gZnJvbSAnLi9MYW5ndWFnZVJlcXVpcmVSZXNvbHZlcic7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgTGFuZ3VhZ2VSZXNvbHZlciBleHRlbmRzIExhbmd1YWdlUmVxdWlyZVJlc29sdmVyIHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKGxhbmd1YWdlOiBMYW5ndWFnZVNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIobGFuZ3VhZ2UpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,197 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { LoadableEvent, Loadable, LoadableStatus } from '@ts-core/common';
3
- import { ExtendedError } from '@ts-core/common/error';
4
- import { ObservableData } from '@ts-core/common/observer';
5
- import { TransportNoConnectionError, TransportTimeoutError } from '@ts-core/common/transport';
6
- import { map, filter } from 'rxjs/operators';
7
- import * as _ from 'lodash';
8
- export class LoginBaseService extends Loadable {
9
- // --------------------------------------------------------------------------
10
- //
11
- // Constructor
12
- //
13
- // --------------------------------------------------------------------------
14
- constructor() {
15
- super();
16
- this._isLoggedIn = false;
17
- }
18
- // --------------------------------------------------------------------------
19
- //
20
- // Protected Methods
21
- //
22
- // --------------------------------------------------------------------------
23
- loginByParam(param) {
24
- return __awaiter(this, void 0, void 0, function* () {
25
- return this.loginByFunction(() => this.loginRequest(param));
26
- });
27
- }
28
- loginByFunction(sidReturnFunction) {
29
- return __awaiter(this, void 0, void 0, function* () {
30
- if (this.isLoggedIn || this.isLoading) {
31
- return null;
32
- }
33
- let response;
34
- this.status = LoadableStatus.LOADING;
35
- this.observer.next(new ObservableData(LoadableEvent.STARTED));
36
- this.observer.next(new ObservableData(LoginBaseServiceEvent.LOGIN_STARTED));
37
- try {
38
- response = yield sidReturnFunction();
39
- this.parseLoginResponse(response);
40
- if (!this.isCanLoginWithSid()) {
41
- this.status = LoadableStatus.LOADED;
42
- }
43
- else {
44
- this.loginBySid();
45
- }
46
- }
47
- catch (error) {
48
- error = ExtendedError.create(error);
49
- this.status = LoadableStatus.ERROR;
50
- this.parseLoginErrorResponse(error);
51
- this.observer.next(new ObservableData(LoginBaseServiceEvent.LOGIN_ERROR, null, error));
52
- }
53
- if (!this.isLoading) {
54
- this.observer.next(new ObservableData(LoadableEvent.FINISHED));
55
- this.observer.next(new ObservableData(LoginBaseServiceEvent.LOGIN_FINISHED));
56
- }
57
- return response;
58
- });
59
- }
60
- loginBySid() {
61
- return __awaiter(this, void 0, void 0, function* () {
62
- if (_.isNil(this.sid)) {
63
- this._sid = this.getSavedSid();
64
- }
65
- try {
66
- let response = yield this.loginSidRequest();
67
- this.parseLoginSidResponse(response);
68
- this._isLoggedIn = true;
69
- this.status = LoadableStatus.LOADED;
70
- this.observer.next(new ObservableData(LoadableEvent.COMPLETE, response));
71
- this.observer.next(new ObservableData(LoginBaseServiceEvent.LOGIN_COMPLETE, response));
72
- }
73
- catch (error) {
74
- error = ExtendedError.create(error);
75
- this.parseLoginSidErrorResponse(error);
76
- this._isLoggedIn = false;
77
- this.status = LoadableStatus.ERROR;
78
- this.observer.next(new ObservableData(LoadableEvent.ERROR, null, error));
79
- this.observer.next(new ObservableData(LoginBaseServiceEvent.LOGIN_ERROR, null, error));
80
- }
81
- this.observer.next(new ObservableData(LoadableEvent.FINISHED));
82
- this.observer.next(new ObservableData(LoginBaseServiceEvent.LOGIN_FINISHED));
83
- });
84
- }
85
- reset() {
86
- this._sid = null;
87
- this._resource = null;
88
- this._loginData = null;
89
- }
90
- parseLoginErrorResponse(error) { }
91
- parseLogoutErrorResponse(error) { }
92
- parseLoginSidResponse(response) {
93
- this._loginData = response;
94
- }
95
- parseLoginSidErrorResponse(error) {
96
- if (error instanceof TransportTimeoutError || error instanceof TransportNoConnectionError) {
97
- return;
98
- }
99
- this.reset();
100
- }
101
- loginByResponse(param) {
102
- return __awaiter(this, void 0, void 0, function* () {
103
- if (this.isLoggedIn || this.isLoading) {
104
- return;
105
- }
106
- this.status = LoadableStatus.LOADING;
107
- this.observer.next(new ObservableData(LoadableEvent.STARTED));
108
- this.observer.next(new ObservableData(LoginBaseServiceEvent.LOGIN_STARTED));
109
- this.parseLoginResponse(param);
110
- this.status = !this.isCanLoginWithSid() ? LoadableStatus.LOADED : LoadableStatus.LOADING;
111
- if (this.isLoading) {
112
- yield this.loginBySid();
113
- }
114
- });
115
- }
116
- tryLoginBySid() {
117
- if (!this.isCanLoginWithSid()) {
118
- return false;
119
- }
120
- if (!this.isLoggedIn && !this.isLoading) {
121
- this.status = LoadableStatus.LOADING;
122
- this.observer.next(new ObservableData(LoadableEvent.STARTED));
123
- this.observer.next(new ObservableData(LoginBaseServiceEvent.LOGIN_STARTED));
124
- this.loginBySid();
125
- }
126
- return true;
127
- }
128
- logout() {
129
- return __awaiter(this, void 0, void 0, function* () {
130
- if (!this.isLoggedIn) {
131
- return;
132
- }
133
- this.observer.next(new ObservableData(LoadableEvent.STARTED));
134
- this.observer.next(new ObservableData(LoginBaseServiceEvent.LOGOUT_STARTED));
135
- try {
136
- yield this.logoutRequest();
137
- }
138
- catch (error) {
139
- this.parseLogoutErrorResponse(ExtendedError.create(error));
140
- }
141
- finally {
142
- this.reset();
143
- this._isLoggedIn = false;
144
- this.status = LoadableStatus.NOT_LOADED;
145
- this.observer.next(new ObservableData(LoadableEvent.FINISHED));
146
- this.observer.next(new ObservableData(LoginBaseServiceEvent.LOGOUT_FINISHED));
147
- }
148
- });
149
- }
150
- isCanLoginWithSid() {
151
- return this.sid != null || this.getSavedSid() != null;
152
- }
153
- destroy() {
154
- if (this.isDestroyed) {
155
- return;
156
- }
157
- super.destroy();
158
- this.reset();
159
- }
160
- // --------------------------------------------------------------------------
161
- //
162
- // Public Properties
163
- //
164
- // --------------------------------------------------------------------------
165
- get logined() {
166
- return this.events.pipe(filter(item => item.type === LoginBaseServiceEvent.LOGIN_COMPLETE), map(item => item.data));
167
- }
168
- get logouted() {
169
- return this.events.pipe(filter(item => item.type === LoginBaseServiceEvent.LOGOUT_FINISHED), map(() => null));
170
- }
171
- get sid() {
172
- return this._sid;
173
- }
174
- get resource() {
175
- return this._resource;
176
- }
177
- get loginData() {
178
- return this._loginData;
179
- }
180
- get isLoggedIn() {
181
- return this._isLoggedIn;
182
- }
183
- }
184
- export var LoginBaseServiceEvent;
185
- (function (LoginBaseServiceEvent) {
186
- LoginBaseServiceEvent["LOGIN_ERROR"] = "LOGIN_ERROR";
187
- LoginBaseServiceEvent["LOGIN_STARTED"] = "LOGIN_STARTED";
188
- LoginBaseServiceEvent["LOGIN_COMPLETE"] = "LOGIN_COMPLETE";
189
- LoginBaseServiceEvent["LOGIN_FINISHED"] = "LOGIN_FINISHED";
190
- LoginBaseServiceEvent["LOGOUT_STARTED"] = "LOGOUT_STARTED";
191
- LoginBaseServiceEvent["LOGOUT_FINISHED"] = "LOGOUT_FINISHED";
192
- LoginBaseServiceEvent["REGISTRATION_ERROR"] = "REGISTRATION_ERROR";
193
- LoginBaseServiceEvent["REGISTRATION_STARTED"] = "REGISTRATION_STARTED";
194
- LoginBaseServiceEvent["REGISTRATION_COMPLETE"] = "REGISTRATION_COMPLETE";
195
- LoginBaseServiceEvent["REGISTRATION_FINISHED"] = "REGISTRATION_FINISHED";
196
- })(LoginBaseServiceEvent || (LoginBaseServiceEvent = {}));
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9naW5CYXNlU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sb2dpbi9Mb2dpbkJhc2VTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTlGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFNUIsTUFBTSxPQUFnQixnQkFBNEMsU0FBUSxRQUEwRDtJQWFoSSw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUFURixnQkFBVyxHQUFZLEtBQUssQ0FBQztJQVV2QyxDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixxQkFBcUI7SUFDckIsRUFBRTtJQUNGLDZFQUE2RTtJQUU3RCxZQUFZLENBQVUsS0FBUzs7WUFDM0MsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNoRSxDQUFDO0tBQUE7SUFFZSxlQUFlLENBQUMsaUJBQTRDOztZQUN4RSxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDbkMsT0FBTyxJQUFJLENBQUM7YUFDZjtZQUVELElBQUksUUFBVyxDQUFDO1lBQ2hCLElBQUksQ0FB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QWMsQ0FBQyxFQUNsRSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBUyxDQUFDLENBQzlCLENBQUM7SUFDTixDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDbkIsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsRUFDbkUsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUNsQixDQUFDO0lBQ04sQ0FBQztJQUVELElBQVcsR0FBRztRQUNWLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7Q0FDSjtBQUVELE1BQU0sQ0FBTixJQUFZLHFCQVlYO0FBWkQsV0FBWSxxQkFBcUI7SUFDN0Isb0RBQTJCLENBQUE7SUFDM0Isd0RBQStCLENBQUE7SUFDL0IsMERBQWlDLENBQUE7SUFDakMsMERBQWlDLENBQUE7SUFDakMsMERBQWlDLENBQUE7SUFDakMsNERBQW1DLENBQUE7SUFFbkMsa0VBQXlDLENBQUE7SUFDekMsc0VBQTZDLENBQUE7SUFDN0Msd0VBQStDLENBQUE7SUFDL0Msd0VBQStDLENBQUE7QUFDbkQsQ0FBQyxFQVpXLHFCQUFxQixLQUFyQixxQkFBcUIsUUFZaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2FkYWJsZUV2ZW50LCBMb2FkYWJsZSwgTG9hZGFibGVTdGF0dXMgfSBmcm9tICdAdHMtY29yZS9jb21tb24nO1xuaW1wb3J0IHsgRXh0ZW5kZWRFcnJvciB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbi9lcnJvcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlRGF0YSB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbi9vYnNlcnZlcic7XG5pbXBvcnQgeyBUcmFuc3BvcnROb0Nvbm5lY3Rpb25FcnJvciwgVHJhbnNwb3J0VGltZW91dEVycm9yIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uL3RyYW5zcG9ydCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIExvZ2luQmFzZVNlcnZpY2U8RSA9IGFueSwgVSA9IGFueSwgViA9IGFueT4gZXh0ZW5kcyBMb2FkYWJsZTxFIHwgTG9naW5CYXNlU2VydmljZUV2ZW50LCBVIHwgViB8IEV4dGVuZGVkRXJyb3I+IHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIF9zaWQ6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgX3Jlc291cmNlOiBzdHJpbmc7XG5cbiAgICBwcm90ZWN0ZWQgX2xvZ2luRGF0YTogVjtcbiAgICBwcm90ZWN0ZWQgX2lzTG9nZ2VkSW46IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdENvbnN0cnVjdG9yXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHJvdGVjdGVkIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgYXN5bmMgbG9naW5CeVBhcmFtPFQgPSBhbnk+KHBhcmFtPzogVCk6IFByb21pc2U8VT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2dpbkJ5RnVuY3Rpb24oKCkgPT4gdGhpcy5sb2dpblJlcXVlc3QocGFyYW0pKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYXN5bmMgbG9naW5CeUZ1bmN0aW9uKHNpZFJldHVybkZ1bmN0aW9uOiAoLi4ucGFyYW1zKSA9PiBQcm9taXNlPFU+KTogUHJvbWlzZTxVPiB7XG4gICAgICAgIGlmICh0aGlzLmlzTG9nZ2VkSW4gfHwgdGhpcy5pc0xvYWRpbmcpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHJlc3BvbnNlOiBVO1xuICAgICAgICB0aGlzLnN0YXR1cyA9IExvYWRhYmxlU3RhdHVzLkxPQURJTkc7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9hZGFibGVFdmVudC5TVEFSVEVEKSk7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9naW5CYXNlU2VydmljZUV2ZW50LkxPR0lOX1NUQVJURUQpKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmVzcG9uc2UgPSBhd2FpdCBzaWRSZXR1cm5GdW5jdGlvbigpO1xuICAgICAgICAgICAgdGhpcy5wYXJzZUxvZ2luUmVzcG9uc2UocmVzcG9uc2UpO1xuICAgICAgICAgICAgaWYgKCF0aGlzLmlzQ2FuTG9naW5XaXRoU2lkKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXR1cyA9IExvYWRhYmxlU3RhdHVzLkxPQURFRDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dpbkJ5U2lkKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBlcnJvciA9IEV4dGVuZGVkRXJyb3IuY3JlYXRlKGVycm9yKTtcblxuICAgICAgICAgICAgdGhpcy5zdGF0dXMgPSBMb2FkYWJsZVN0YXR1cy5FUlJPUjtcbiAgICAgICAgICAgIHRoaXMucGFyc2VMb2dpbkVycm9yUmVzcG9uc2UoZXJyb3IpO1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2dpbkJhc2VTZXJ2aWNlRXZlbnQuTE9HSU5fRVJST1IsIG51bGwsIGVycm9yKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuaXNMb2FkaW5nKSB7XG4gICAgICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvYWRhYmxlRXZlbnQuRklOSVNIRUQpKTtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9naW5CYXNlU2VydmljZUV2ZW50LkxPR0lOX0ZJTklTSEVEKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhc3luYyBsb2dpbkJ5U2lkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAoXy5pc05pbCh0aGlzLnNpZCkpIHtcbiAgICAgICAgICAgIHRoaXMuX3NpZCA9IHRoaXMuZ2V0U2F2ZWRTaWQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBsZXQgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmxvZ2luU2lkUmVxdWVzdCgpO1xuICAgICAgICAgICAgdGhpcy5wYXJzZUxvZ2luU2lkUmVzcG9uc2UocmVzcG9uc2UpO1xuXG4gICAgICAgICAgICB0aGlzLl9pc0xvZ2dlZEluID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuc3RhdHVzID0gTG9hZGFibGVTdGF0dXMuTE9BREVEO1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2FkYWJsZUV2ZW50LkNPTVBMRVRFLCByZXNwb25zZSkpO1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2dpbkJhc2VTZXJ2aWNlRXZlbnQuTE9HSU5fQ09NUExFVEUsIHJlc3BvbnNlKSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBlcnJvciA9IEV4dGVuZGVkRXJyb3IuY3JlYXRlKGVycm9yKTtcbiAgICAgICAgICAgIHRoaXMucGFyc2VMb2dpblNpZEVycm9yUmVzcG9uc2UoZXJyb3IpO1xuXG4gICAgICAgICAgICB0aGlzLl9pc0xvZ2dlZEluID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnN0YXR1cyA9IExvYWRhYmxlU3RhdHVzLkVSUk9SO1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2FkYWJsZUV2ZW50LkVSUk9SLCBudWxsLCBlcnJvcikpO1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2dpbkJhc2VTZXJ2aWNlRXZlbnQuTE9HSU5fRVJST1IsIG51bGwsIGVycm9yKSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvYWRhYmxlRXZlbnQuRklOSVNIRUQpKTtcbiAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2dpbkJhc2VTZXJ2aWNlRXZlbnQuTE9HSU5fRklOSVNIRUQpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVzZXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NpZCA9IG51bGw7XG4gICAgICAgIHRoaXMuX3Jlc291cmNlID0gbnVsbDtcbiAgICAgICAgdGhpcy5fbG9naW5EYXRhID0gbnVsbDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgbG9naW5SZXF1ZXN0KC4uLnBhcmFtcyk6IFByb21pc2U8VT47XG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGxvZ2luU2lkUmVxdWVzdCgpOiBQcm9taXNlPFY+O1xuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGxvZ291dFJlcXVlc3QoKTogUHJvbWlzZTx2b2lkPjtcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0U2F2ZWRTaWQoKTogc3RyaW5nO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UGFyc2UgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBwYXJzZUxvZ2luUmVzcG9uc2UocmVzcG9uc2U6IFUpOiB2b2lkO1xuXG4gICAgcHJvdGVjdGVkIHBhcnNlTG9naW5FcnJvclJlc3BvbnNlKGVycm9yOiBFeHRlbmRlZEVycm9yKTogdm9pZCB7fVxuXG4gICAgcHJvdGVjdGVkIHBhcnNlTG9nb3V0RXJyb3JSZXNwb25zZShlcnJvcjogRXh0ZW5kZWRFcnJvcik6IHZvaWQge31cblxuICAgIHByb3RlY3RlZCBwYXJzZUxvZ2luU2lkUmVzcG9uc2UocmVzcG9uc2U6IFYpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbG9naW5EYXRhID0gcmVzcG9uc2U7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHBhcnNlTG9naW5TaWRFcnJvclJlc3BvbnNlKGVycm9yOiBFeHRlbmRlZEVycm9yKTogdm9pZCB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIFRyYW5zcG9ydFRpbWVvdXRFcnJvciB8fCBlcnJvciBpbnN0YW5jZW9mIFRyYW5zcG9ydE5vQ29ubmVjdGlvbkVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGFic3RyYWN0IGxvZ2luKHBhcmFtOiBhbnkpOiB2b2lkO1xuXG4gICAgcHVibGljIGFzeW5jIGxvZ2luQnlSZXNwb25zZShwYXJhbTogVSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAodGhpcy5pc0xvZ2dlZEluIHx8IHRoaXMuaXNMb2FkaW5nKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnN0YXR1cyA9IExvYWRhYmxlU3RhdHVzLkxPQURJTkc7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9hZGFibGVFdmVudC5TVEFSVEVEKSk7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9naW5CYXNlU2VydmljZUV2ZW50LkxPR0lOX1NUQVJURUQpKTtcblxuICAgICAgICB0aGlzLnBhcnNlTG9naW5SZXNwb25zZShwYXJhbSk7XG4gICAgICAgIHRoaXMuc3RhdHVzID0gIXRoaXMuaXNDYW5Mb2dpbldpdGhTaWQoKSA/IExvYWRhYmxlU3RhdHVzLkxPQURFRCA6IExvYWRhYmxlU3RhdHVzLkxPQURJTkc7XG4gICAgICAgIGlmICh0aGlzLmlzTG9hZGluZykge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5sb2dpbkJ5U2lkKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgdHJ5TG9naW5CeVNpZCgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzQ2FuTG9naW5XaXRoU2lkKCkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5pc0xvZ2dlZEluICYmICF0aGlzLmlzTG9hZGluZykge1xuICAgICAgICAgICAgdGhpcy5zdGF0dXMgPSBMb2FkYWJsZVN0YXR1cy5MT0FESU5HO1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2FkYWJsZUV2ZW50LlNUQVJURUQpKTtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9naW5CYXNlU2VydmljZUV2ZW50LkxPR0lOX1NUQVJURUQpKTtcbiAgICAgICAgICAgIHRoaXMubG9naW5CeVNpZCgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBsb2dvdXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICghdGhpcy5pc0xvZ2dlZEluKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvYWRhYmxlRXZlbnQuU1RBUlRFRCkpO1xuICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvZ2luQmFzZVNlcnZpY2VFdmVudC5MT0dPVVRfU1RBUlRFRCkpO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmxvZ291dFJlcXVlc3QoKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMucGFyc2VMb2dvdXRFcnJvclJlc3BvbnNlKEV4dGVuZGVkRXJyb3IuY3JlYXRlKGVycm9yKSk7XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgICAgICB0aGlzLl9pc0xvZ2dlZEluID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnN0YXR1cyA9IExvYWRhYmxlU3RhdHVzLk5PVF9MT0FERUQ7XG4gICAgICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvYWRhYmxlRXZlbnQuRklOSVNIRUQpKTtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9naW5CYXNlU2VydmljZUV2ZW50LkxPR09VVF9GSU5JU0hFRCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGlzQ2FuTG9naW5XaXRoU2lkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaWQgIT0gbnVsbCB8fCB0aGlzLmdldFNhdmVkU2lkKCkgIT0gbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNEZXN0cm95ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzdXBlci5kZXN0cm95KCk7XG5cbiAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGdldCBsb2dpbmVkKCk6IE9ic2VydmFibGU8Vj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5ldmVudHMucGlwZShcbiAgICAgICAgICAgIGZpbHRlcihpdGVtID0+IGl0ZW0udHlwZSA9PT0gTG9naW5CYXNlU2VydmljZUV2ZW50LkxPR0lOX0NPTVBMRVRFKSxcbiAgICAgICAgICAgIG1hcChpdGVtID0+IGl0ZW0uZGF0YSBhcyBWKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbG9nb3V0ZWQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmV2ZW50cy5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKGl0ZW0gPT4gaXRlbS50eXBlID09PSBMb2dpbkJhc2VTZXJ2aWNlRXZlbnQuTE9HT1VUX0ZJTklTSEVEKSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiBudWxsKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc2lkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCByZXNvdXJjZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVzb3VyY2U7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBsb2dpbkRhdGEoKTogViB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sb2dpbkRhdGE7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpc0xvZ2dlZEluKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNMb2dnZWRJbjtcbiAgICB9XG59XG5cbmV4cG9ydCBlbnVtIExvZ2luQmFzZVNlcnZpY2VFdmVudCB7XG4gICAgTE9HSU5fRVJST1IgPSAnTE9HSU5fRVJST1InLFxuICAgIExPR0lOX1NUQVJURUQgPSAnTE9HSU5fU1RBUlRFRCcsXG4gICAgTE9HSU5fQ09NUExFVEUgPSAnTE9HSU5fQ09NUExFVEUnLFxuICAgIExPR0lOX0ZJTklTSEVEID0gJ0xPR0lOX0ZJTklTSEVEJyxcbiAgICBMT0dPVVRfU1RBUlRFRCA9ICdMT0dPVVRfU1RBUlRFRCcsXG4gICAgTE9HT1VUX0ZJTklTSEVEID0gJ0xPR09VVF9GSU5JU0hFRCcsXG5cbiAgICBSRUdJU1RSQVRJT05fRVJST1IgPSAnUkVHSVNUUkFUSU9OX0VSUk9SJyxcbiAgICBSRUdJU1RSQVRJT05fU1RBUlRFRCA9ICdSRUdJU1RSQVRJT05fU1RBUlRFRCcsXG4gICAgUkVHSVNUUkFUSU9OX0NPTVBMRVRFID0gJ1JFR0lTVFJBVElPTl9DT01QTEVURScsXG4gICAgUkVHSVNUUkFUSU9OX0ZJTklTSEVEID0gJ1JFR0lTVFJBVElPTl9GSU5JU0hFRCdcbn1cbiJdfQ==
@@ -1,31 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { LoginBaseService } from './LoginBaseService';
3
- import { LoginRequireResolver } from './LoginRequireResolver';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./LoginBaseService";
6
- export class LoginGuard extends LoginRequireResolver {
7
- // --------------------------------------------------------------------------
8
- //
9
- // Constructor
10
- //
11
- // --------------------------------------------------------------------------
12
- constructor(login) {
13
- super(login);
14
- }
15
- // --------------------------------------------------------------------------
16
- //
17
- // Public Methods
18
- //
19
- // --------------------------------------------------------------------------
20
- canActivate(route, state) {
21
- return this.login.isLoggedIn;
22
- }
23
- }
24
- LoginGuard.ɵprov = i0.ɵɵdefineInjectable({ factory: function LoginGuard_Factory() { return new LoginGuard(i0.ɵɵinject(i1.LoginBaseService)); }, token: LoginGuard, providedIn: "root" });
25
- LoginGuard.decorators = [
26
- { type: Injectable, args: [{ providedIn: 'root' },] }
27
- ];
28
- LoginGuard.ctorParameters = () => [
29
- { type: LoginBaseService }
30
- ];
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9naW5HdWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sb2dpbi9Mb2dpbkd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQUc5RCxNQUFNLE9BQU8sVUFBVyxTQUFRLG9CQUFvQjtJQUNoRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQVksS0FBdUI7UUFDL0IsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGtCQUFrQjtJQUNsQixFQUFFO0lBQ0YsNkVBQTZFO0lBRXRFLFdBQVcsQ0FBQyxLQUE2QixFQUFFLEtBQTBCO1FBQ3hFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7SUFDakMsQ0FBQzs7OztZQXBCSixVQUFVLFNBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzs7WUFIekIsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuQWN0aXZhdGUsIFJvdXRlclN0YXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTG9naW5CYXNlU2VydmljZSB9IGZyb20gJy4vTG9naW5CYXNlU2VydmljZSc7XG5pbXBvcnQgeyBMb2dpblJlcXVpcmVSZXNvbHZlciB9IGZyb20gJy4vTG9naW5SZXF1aXJlUmVzb2x2ZXInO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIExvZ2luR3VhcmQgZXh0ZW5kcyBMb2dpblJlcXVpcmVSZXNvbHZlciBpbXBsZW1lbnRzIENhbkFjdGl2YXRlIHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKGxvZ2luOiBMb2dpbkJhc2VTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKGxvZ2luKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQdWJsaWMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBjYW5BY3RpdmF0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9naW4uaXNMb2dnZWRJbjtcbiAgICB9XG59XG4iXX0=
@@ -1,19 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { LoginResolver } from './LoginResolver';
3
- import * as i0 from "@angular/core";
4
- export class LoginRedirectResolver {
5
- // --------------------------------------------------------------------------
6
- //
7
- // Public Methods
8
- //
9
- // --------------------------------------------------------------------------
10
- canActivate(route, state) {
11
- LoginResolver.redirectUrl = state.url;
12
- return true;
13
- }
14
- }
15
- LoginRedirectResolver.ɵprov = i0.ɵɵdefineInjectable({ factory: function LoginRedirectResolver_Factory() { return new LoginRedirectResolver(); }, token: LoginRedirectResolver, providedIn: "root" });
16
- LoginRedirectResolver.decorators = [
17
- { type: Injectable, args: [{ providedIn: 'root' },] }
18
- ];
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9naW5SZWRpcmVjdFJlc29sdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xvZ2luL0xvZ2luUmVkaXJlY3RSZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFHaEQsTUFBTSxPQUFPLHFCQUFxQjtJQUM5Qiw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGtCQUFrQjtJQUNsQixFQUFFO0lBQ0YsNkVBQTZFO0lBRXRFLFdBQVcsQ0FBQyxLQUE2QixFQUFFLEtBQTBCO1FBQ3hFLGFBQWEsQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUN0QyxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOzs7O1lBWEosVUFBVSxTQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIENhbkFjdGl2YXRlLCBSb3V0ZXJTdGF0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IExvZ2luUmVzb2x2ZXIgfSBmcm9tICcuL0xvZ2luUmVzb2x2ZXInO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIExvZ2luUmVkaXJlY3RSZXNvbHZlciBpbXBsZW1lbnRzIENhbkFjdGl2YXRlIHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQdWJsaWMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBjYW5BY3RpdmF0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBib29sZWFuIHtcbiAgICAgICAgTG9naW5SZXNvbHZlci5yZWRpcmVjdFVybCA9IHN0YXRlLnVybDtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuIl19
@@ -1,36 +0,0 @@
1
- import { LoginBaseServiceEvent } from './LoginBaseService';
2
- import { PromiseHandler } from '@ts-core/common/promise';
3
- export class LoginRequireResolver {
4
- // --------------------------------------------------------------------------
5
- //
6
- // Constructor
7
- //
8
- // --------------------------------------------------------------------------
9
- constructor(login) {
10
- this.login = login;
11
- }
12
- // --------------------------------------------------------------------------
13
- //
14
- // Public Methods
15
- //
16
- // --------------------------------------------------------------------------
17
- resolve(route, state) {
18
- if (this.login.isLoggedIn) {
19
- return Promise.resolve();
20
- }
21
- let promise = PromiseHandler.create();
22
- let subscription = this.login.events.subscribe(data => {
23
- if (data.type === LoginBaseServiceEvent.LOGIN_ERROR) {
24
- promise.reject(data.error.toString());
25
- }
26
- else if (data.type === LoginBaseServiceEvent.LOGIN_COMPLETE) {
27
- promise.resolve();
28
- }
29
- else if (data.type === LoginBaseServiceEvent.LOGIN_FINISHED) {
30
- subscription.unsubscribe();
31
- }
32
- });
33
- return promise.promise;
34
- }
35
- }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9naW5SZXF1aXJlUmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbG9naW4vTG9naW5SZXF1aXJlUmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFvQixxQkFBcUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RCxNQUFNLE9BQU8sb0JBQW9CO0lBQzdCLDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YsZUFBZTtJQUNmLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsWUFBc0IsS0FBdUI7UUFBdkIsVUFBSyxHQUFMLEtBQUssQ0FBa0I7SUFBRyxDQUFDO0lBRWpELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0Ysa0JBQWtCO0lBQ2xCLEVBQUU7SUFDRiw2RUFBNkU7SUFFdEUsT0FBTyxDQUFDLEtBQTZCLEVBQUUsS0FBMEI7UUFDcEUsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRTtZQUN2QixPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUM1QjtRQUVELElBQUksT0FBTyxHQUFHLGNBQWMsQ0FBQyxNQUFNLEVBQVEsQ0FBQztRQUM1QyxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDbEQsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLHFCQUFxQixDQUFDLFdBQVcsRUFBRTtnQkFDakQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7YUFDekM7aUJBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLHFCQUFxQixDQUFDLGNBQWMsRUFBRTtnQkFDM0QsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ3JCO2lCQUFNLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxxQkFBcUIsQ0FBQyxjQUFjLEVBQUU7Z0JBQzNELFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUM5QjtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDO0lBQzNCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJlc29sdmUsIFJvdXRlclN0YXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTG9naW5CYXNlU2VydmljZSwgTG9naW5CYXNlU2VydmljZUV2ZW50IH0gZnJvbSAnLi9Mb2dpbkJhc2VTZXJ2aWNlJztcbmltcG9ydCB7IFByb21pc2VIYW5kbGVyIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uL3Byb21pc2UnO1xuXG5leHBvcnQgY2xhc3MgTG9naW5SZXF1aXJlUmVzb2x2ZXIgaW1wbGVtZW50cyBSZXNvbHZlPHZvaWQ+IHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBsb2dpbjogTG9naW5CYXNlU2VydmljZSkge31cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIHJlc29sdmUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICh0aGlzLmxvZ2luLmlzTG9nZ2VkSW4pIHtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBwcm9taXNlID0gUHJvbWlzZUhhbmRsZXIuY3JlYXRlPHZvaWQ+KCk7XG4gICAgICAgIGxldCBzdWJzY3JpcHRpb24gPSB0aGlzLmxvZ2luLmV2ZW50cy5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAgICAgICBpZiAoZGF0YS50eXBlID09PSBMb2dpbkJhc2VTZXJ2aWNlRXZlbnQuTE9HSU5fRVJST1IpIHtcbiAgICAgICAgICAgICAgICBwcm9taXNlLnJlamVjdChkYXRhLmVycm9yLnRvU3RyaW5nKCkpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChkYXRhLnR5cGUgPT09IExvZ2luQmFzZVNlcnZpY2VFdmVudC5MT0dJTl9DT01QTEVURSkge1xuICAgICAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZSgpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChkYXRhLnR5cGUgPT09IExvZ2luQmFzZVNlcnZpY2VFdmVudC5MT0dJTl9GSU5JU0hFRCkge1xuICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHByb21pc2UucHJvbWlzZTtcbiAgICB9XG59XG4iXX0=
@@ -1,30 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { LoginBaseService } from './LoginBaseService';
3
- import { LoginRequireResolver } from './LoginRequireResolver';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./LoginBaseService";
6
- export class LoginResolver extends LoginRequireResolver {
7
- // --------------------------------------------------------------------------
8
- //
9
- // Constructor
10
- //
11
- // --------------------------------------------------------------------------
12
- constructor(login) {
13
- super(login);
14
- }
15
- }
16
- // --------------------------------------------------------------------------
17
- //
18
- // Properties
19
- //
20
- // --------------------------------------------------------------------------
21
- LoginResolver.logoutUrl = '/login';
22
- LoginResolver.redirectUrl = '/';
23
- LoginResolver.ɵprov = i0.ɵɵdefineInjectable({ factory: function LoginResolver_Factory() { return new LoginResolver(i0.ɵɵinject(i1.LoginBaseService)); }, token: LoginResolver, providedIn: "root" });
24
- LoginResolver.decorators = [
25
- { type: Injectable, args: [{ providedIn: 'root' },] }
26
- ];
27
- LoginResolver.ctorParameters = () => [
28
- { type: LoginBaseService }
29
- ];
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9naW5SZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sb2dpbi9Mb2dpblJlc29sdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQUc5RCxNQUFNLE9BQU8sYUFBYyxTQUFRLG9CQUFvQjtJQVVuRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQVksS0FBdUI7UUFDL0IsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pCLENBQUM7O0FBakJELDZFQUE2RTtBQUM3RSxFQUFFO0FBQ0YsY0FBYztBQUNkLEVBQUU7QUFDRiw2RUFBNkU7QUFFL0QsdUJBQVMsR0FBVyxRQUFRLENBQUM7QUFDN0IseUJBQVcsR0FBVyxHQUFHLENBQUM7OztZQVQzQyxVQUFVLFNBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzs7WUFIekIsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9naW5CYXNlU2VydmljZSB9IGZyb20gJy4vTG9naW5CYXNlU2VydmljZSc7XG5pbXBvcnQgeyBMb2dpblJlcXVpcmVSZXNvbHZlciB9IGZyb20gJy4vTG9naW5SZXF1aXJlUmVzb2x2ZXInO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIExvZ2luUmVzb2x2ZXIgZXh0ZW5kcyBMb2dpblJlcXVpcmVSZXNvbHZlciB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBzdGF0aWMgbG9nb3V0VXJsOiBzdHJpbmcgPSAnL2xvZ2luJztcbiAgICBwdWJsaWMgc3RhdGljIHJlZGlyZWN0VXJsOiBzdHJpbmcgPSAnLyc7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKGxvZ2luOiBMb2dpbkJhc2VTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKGxvZ2luKTtcbiAgICB9XG59XG4iXX0=
@@ -1,126 +0,0 @@
1
- import { Input } from '@angular/core';
2
- import { DestroyableContainer } from '@ts-core/common';
3
- import { WindowEvent } from '../window/IWindow';
4
- import * as _ from 'lodash';
5
- export class INotificationContent extends DestroyableContainer {
6
- // --------------------------------------------------------------------------
7
- //
8
- // Constructor
9
- //
10
- // --------------------------------------------------------------------------
11
- constructor(container) {
12
- super();
13
- this.container = container;
14
- this.timerHandler = () => this.handleCloseClick();
15
- }
16
- // --------------------------------------------------------------------------
17
- //
18
- // Private Methods
19
- //
20
- // --------------------------------------------------------------------------
21
- commitNotificationProperties() {
22
- this.config = this.notification.config;
23
- }
24
- commitConfigProperties() {
25
- this.clearTimer();
26
- if (this.config.closeDuration > 0) {
27
- this.timer = setTimeout(this.timerHandler, this.config.closeDuration);
28
- }
29
- }
30
- clearTimer() {
31
- if (!_.isNil(this.timer)) {
32
- clearTimeout(this.timer);
33
- this.timer = null;
34
- }
35
- }
36
- // --------------------------------------------------------------------------
37
- //
38
- // Public Methods
39
- //
40
- // --------------------------------------------------------------------------
41
- close() {
42
- if (!_.isNil(this.notification)) {
43
- this.notification.close();
44
- }
45
- }
46
- remove() {
47
- if (!_.isNil(this.notification)) {
48
- this.notification.remove();
49
- }
50
- }
51
- emit(event) {
52
- if (!_.isNil(this.notification)) {
53
- this.notification.emit(event);
54
- }
55
- }
56
- destroy() {
57
- if (this.isDestroyed) {
58
- return;
59
- }
60
- super.destroy();
61
- this.clearTimer();
62
- this.config = null;
63
- this.notification = null;
64
- }
65
- // --------------------------------------------------------------------------
66
- //
67
- // Event Handlers
68
- //
69
- // --------------------------------------------------------------------------
70
- ngAfterViewInit() {
71
- this.emit(WindowEvent.CONTENT_READY);
72
- }
73
- handleCloseClick() {
74
- this.clearTimer();
75
- if (!_.isNil(this.config) && this.config.isRemoveAfterClose) {
76
- this.remove();
77
- }
78
- else {
79
- this.close();
80
- }
81
- }
82
- // --------------------------------------------------------------------------
83
- //
84
- // Proxy Public Properties
85
- //
86
- // --------------------------------------------------------------------------
87
- get data() {
88
- return this.config ? this.config.data : null;
89
- }
90
- get events() {
91
- return this.notification ? this.notification.events : null;
92
- }
93
- // --------------------------------------------------------------------------
94
- //
95
- // Public Properties
96
- //
97
- // --------------------------------------------------------------------------
98
- get notification() {
99
- return this._notification;
100
- }
101
- set notification(value) {
102
- if (value === this._notification) {
103
- return;
104
- }
105
- this._notification = value;
106
- if (this._notification) {
107
- this.commitNotificationProperties();
108
- }
109
- }
110
- set config(value) {
111
- if (value === this._config) {
112
- return;
113
- }
114
- this._config = value;
115
- if (this._config) {
116
- this.commitConfigProperties();
117
- }
118
- }
119
- get config() {
120
- return this._config;
121
- }
122
- }
123
- INotificationContent.propDecorators = {
124
- config: [{ type: Input }]
125
- };
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSU5vdGlmaWNhdGlvbkNvbnRlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbm90aWZpY2F0aW9uL0lOb3RpZmljYXRpb25Db250ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsS0FBSyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHaEQsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFNUIsTUFBTSxPQUFnQixvQkFBOEIsU0FBUSxvQkFBb0I7SUFXNUUsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixlQUFlO0lBQ2YsRUFBRTtJQUNGLDZFQUE2RTtJQUU3RSxZQUFtQixTQUEyQjtRQUMxQyxLQUFLLEVBQUUsQ0FBQztRQURPLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBNEJwQyxpQkFBWSxHQUFHLEdBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBMUI3RCxDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixtQkFBbUI7SUFDbkIsRUFBRTtJQUNGLDZFQUE2RTtJQUVuRSw0QkFBNEI7UUFDbEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztJQUMzQyxDQUFDO0lBRVMsc0JBQXNCO1FBQzVCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxHQUFHLENBQUMsRUFBRTtZQUMvQixJQUFJLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDekU7SUFDTCxDQUFDO0lBRVMsVUFBVTtRQUNoQixJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDdEIsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztTQUNyQjtJQUNMLENBQUM7SUFJRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGtCQUFrQjtJQUNsQixFQUFFO0lBQ0YsNkVBQTZFO0lBRXRFLEtBQUs7UUFDUixJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUM3QjtJQUNMLENBQUM7SUFFTSxNQUFNO1FBQ1QsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQzdCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDOUI7SUFDTCxDQUFDO0lBRU0sSUFBSSxDQUFDLEtBQWE7UUFDckIsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQzdCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2pDO0lBQ0wsQ0FBQztJQUVNLE9BQU87UUFDVixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsT0FBTztTQUNWO1FBQ0QsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztJQUM3QixDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixrQkFBa0I7SUFDbEIsRUFBRTtJQUNGLDZFQUE2RTtJQUV0RSxlQUFlO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTSxnQkFBZ0I7UUFDbkIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFO1lBQ3pELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUNqQjthQUFNO1lBQ0gsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2hCO0lBQ0wsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YsMkJBQTJCO0lBQzNCLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsSUFBVyxJQUFJO1FBQ1gsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUFXLE1BQU07UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDL0QsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YscUJBQXFCO0lBQ3JCLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsSUFBVyxZQUFZO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM5QixDQUFDO0lBQ0QsSUFBVyxZQUFZLENBQUMsS0FBdUI7UUFDM0MsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUM5QixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDcEIsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7U0FDdkM7SUFDTCxDQUFDO0lBRUQsSUFDVyxNQUFNLENBQUMsS0FBNEI7UUFDMUMsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUN4QixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztTQUNqQztJQUNMLENBQUM7SUFDRCxJQUFXLE1BQU07UUFDYixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQzs7O3FCQVpBLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBJbnB1dCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVzdHJveWFibGVDb250YWluZXIgfSBmcm9tICdAdHMtY29yZS9jb21tb24nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgV2luZG93RXZlbnQgfSBmcm9tICcuLi93aW5kb3cvSVdpbmRvdyc7XG5pbXBvcnQgeyBJTm90aWZpY2F0aW9uIH0gZnJvbSAnLi9JTm90aWZpY2F0aW9uJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbkNvbmZpZyB9IGZyb20gJy4vTm90aWZpY2F0aW9uQ29uZmlnJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIElOb3RpZmljYXRpb25Db250ZW50PFQgPSBhbnk+IGV4dGVuZHMgRGVzdHJveWFibGVDb250YWluZXIgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgdGltZXI6IGFueTtcbiAgICBwcm90ZWN0ZWQgX2NvbmZpZzogTm90aWZpY2F0aW9uQ29uZmlnPFQ+O1xuICAgIHByb3RlY3RlZCBfbm90aWZpY2F0aW9uOiBJTm90aWZpY2F0aW9uPFQ+O1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBjb250YWluZXI6IFZpZXdDb250YWluZXJSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIFByaXZhdGUgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBjb21taXROb3RpZmljYXRpb25Qcm9wZXJ0aWVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbmZpZyA9IHRoaXMubm90aWZpY2F0aW9uLmNvbmZpZztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29tbWl0Q29uZmlnUHJvcGVydGllcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbGVhclRpbWVyKCk7XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5jbG9zZUR1cmF0aW9uID4gMCkge1xuICAgICAgICAgICAgdGhpcy50aW1lciA9IHNldFRpbWVvdXQodGhpcy50aW1lckhhbmRsZXIsIHRoaXMuY29uZmlnLmNsb3NlRHVyYXRpb24pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNsZWFyVGltZXIoKTogdm9pZCB7XG4gICAgICAgIGlmICghXy5pc05pbCh0aGlzLnRpbWVyKSkge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpO1xuICAgICAgICAgICAgdGhpcy50aW1lciA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdGltZXJIYW5kbGVyID0gKCk6IHZvaWQgPT4gdGhpcy5oYW5kbGVDbG9zZUNsaWNrKCk7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIFB1YmxpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICBpZiAoIV8uaXNOaWwodGhpcy5ub3RpZmljYXRpb24pKSB7XG4gICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbi5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHJlbW92ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFfLmlzTmlsKHRoaXMubm90aWZpY2F0aW9uKSkge1xuICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb24ucmVtb3ZlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZW1pdChldmVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICghXy5pc05pbCh0aGlzLm5vdGlmaWNhdGlvbikpIHtcbiAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uLmVtaXQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzRGVzdHJveWVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc3VwZXIuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLmNsZWFyVGltZXIoKTtcbiAgICAgICAgdGhpcy5jb25maWcgPSBudWxsO1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbiA9IG51bGw7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBFdmVudCBIYW5kbGVyc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZW1pdChXaW5kb3dFdmVudC5DT05URU5UX1JFQURZKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlQ2xvc2VDbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbGVhclRpbWVyKCk7XG4gICAgICAgIGlmICghXy5pc05pbCh0aGlzLmNvbmZpZykgJiYgdGhpcy5jb25maWcuaXNSZW1vdmVBZnRlckNsb3NlKSB7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBQcm94eSBQdWJsaWMgUHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBnZXQgZGF0YSgpOiBUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnID8gdGhpcy5jb25maWcuZGF0YSA6IG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBldmVudHMoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubm90aWZpY2F0aW9uID8gdGhpcy5ub3RpZmljYXRpb24uZXZlbnRzIDogbnVsbDtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIFB1YmxpYyBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGdldCBub3RpZmljYXRpb24oKTogSU5vdGlmaWNhdGlvbjxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ub3RpZmljYXRpb247XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgbm90aWZpY2F0aW9uKHZhbHVlOiBJTm90aWZpY2F0aW9uPFQ+KSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5fbm90aWZpY2F0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fbm90aWZpY2F0aW9uID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLl9ub3RpZmljYXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuY29tbWl0Tm90aWZpY2F0aW9uUHJvcGVydGllcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGNvbmZpZyh2YWx1ZTogTm90aWZpY2F0aW9uQ29uZmlnPFQ+KSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5fY29uZmlnKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY29uZmlnID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLl9jb25maWcpIHtcbiAgICAgICAgICAgIHRoaXMuY29tbWl0Q29uZmlnUHJvcGVydGllcygpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgY29uZmlnKCk6IE5vdGlmaWNhdGlvbkNvbmZpZzxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb25maWc7XG4gICAgfVxufVxuIl19