@eui/ecl 15.0.0-rc.18 → 15.0.0-rc.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 (292) hide show
  1. package/docs/components/EclAccordionComponent.html +19 -0
  2. package/docs/components/EclAccordionItemComponent.html +19 -0
  3. package/docs/components/EclAppComponent.html +19 -0
  4. package/docs/components/EclBlockquoteComponent.html +19 -0
  5. package/docs/components/EclBreadcrumbComponent.html +19 -0
  6. package/docs/components/EclBreadcrumbComponentBase.html +19 -0
  7. package/docs/components/EclBreadcrumbCoreComponent.html +19 -0
  8. package/docs/components/EclBreadcrumbCoreSegmentComponent.html +19 -0
  9. package/docs/components/EclBreadcrumbHarmonisedComponent.html +19 -0
  10. package/docs/components/EclBreadcrumbHarmonisedSegmentComponent.html +19 -0
  11. package/docs/components/EclBreadcrumbSegmentComponent.html +19 -0
  12. package/docs/components/EclBreadcrumbSegmentComponentBase.html +19 -0
  13. package/docs/components/EclBreadcrumbStandardisedComponent.html +19 -0
  14. package/docs/components/EclBreadcrumbStandardisedSegmentComponent.html +19 -0
  15. package/docs/components/EclButtonComponent.html +19 -0
  16. package/docs/components/EclCardBodyComponent.html +19 -0
  17. package/docs/components/EclCardComponent.html +19 -0
  18. package/docs/components/EclCarouselComponent.html +19 -0
  19. package/docs/components/EclCarouselItemComponent.html +19 -0
  20. package/docs/components/EclCategoryFilterComponent.html +19 -0
  21. package/docs/components/EclCategoryFilterItemComponent.html +19 -0
  22. package/docs/components/EclCategoryFilterListComponent.html +19 -0
  23. package/docs/components/EclCheckboxHelpComponent.html +19 -0
  24. package/docs/components/EclCheckboxLabelComponent.html +19 -0
  25. package/docs/components/EclContentBlockComponent.html +19 -0
  26. package/docs/components/EclContentItemComponent.html +19 -0
  27. package/docs/components/EclDateBlockComponent.html +19 -0
  28. package/docs/components/EclExpandableComponent.html +19 -0
  29. package/docs/components/EclFactFiguresComponent.html +19 -0
  30. package/docs/components/EclFactFiguresDescriptionComponent.html +19 -0
  31. package/docs/components/EclFactFiguresItemComponent.html +19 -0
  32. package/docs/components/EclFactFiguresTitleComponent.html +19 -0
  33. package/docs/components/EclFactFiguresValueComponent.html +19 -0
  34. package/docs/components/EclFactFiguresViewAllComponent.html +19 -0
  35. package/docs/components/EclFeaturedComponent.html +19 -0
  36. package/docs/components/EclFeaturedItemComponent.html +19 -0
  37. package/docs/components/EclFeaturedItemDescriptionComponent.html +19 -0
  38. package/docs/components/EclFileComponent.html +19 -0
  39. package/docs/components/EclFileItemComponent.html +19 -0
  40. package/docs/components/EclFileItemsComponent.html +19 -0
  41. package/docs/components/EclFileTaxonomyComponent.html +19 -0
  42. package/docs/components/EclFooterComponentBase.html +19 -0
  43. package/docs/components/EclFooterCoreComponent.html +19 -0
  44. package/docs/components/EclFooterHarmonisedComponent.html +19 -0
  45. package/docs/components/EclFooterStandardisedComponent.html +19 -0
  46. package/docs/components/EclFormGroupComponent.html +19 -0
  47. package/docs/components/EclFormLabelComponent.html +19 -0
  48. package/docs/components/EclGalleryComponent.html +19 -0
  49. package/docs/components/EclGalleryItemComponent.html +19 -0
  50. package/docs/components/EclHeroBannerComponent.html +19 -0
  51. package/docs/components/EclIconComponent.html +19 -0
  52. package/docs/components/EclInpageNavigationComponent.html +19 -0
  53. package/docs/components/EclInpageNavigationItemComponent.html +19 -0
  54. package/docs/components/EclLanguageListComponent.html +19 -0
  55. package/docs/components/EclLanguageListItemComponent.html +19 -0
  56. package/docs/components/EclListIllustrationComponent.html +19 -0
  57. package/docs/components/EclListIllustrationItemComponent.html +19 -0
  58. package/docs/components/EclMediaContainerComponent.html +19 -0
  59. package/docs/components/EclMenuComponent.html +19 -0
  60. package/docs/components/EclMenuItemComponent.html +19 -0
  61. package/docs/components/EclMenuMegaComponent.html +19 -0
  62. package/docs/components/EclMenuMegaItemComponent.html +19 -0
  63. package/docs/components/EclMessageComponent.html +19 -0
  64. package/docs/components/EclMultiselectComponent.html +19 -0
  65. package/docs/components/EclNavigationListComponent.html +19 -0
  66. package/docs/components/EclNavigationListItemComponent.html +19 -0
  67. package/docs/components/EclNewsTickerComponent.html +147 -6
  68. package/docs/components/EclNewsTickerItemComponent.html +176 -35
  69. package/docs/components/EclPageBannerComponent.html +19 -0
  70. package/docs/components/EclPageHeaderComponent.html +19 -0
  71. package/docs/components/EclPageHeaderComponentBase.html +19 -0
  72. package/docs/components/EclPageHeaderCoreComponent.html +19 -0
  73. package/docs/components/EclPageHeaderHarmonisedComponent.html +19 -0
  74. package/docs/components/EclPageHeaderStandardisedComponent.html +19 -0
  75. package/docs/components/EclPaginationComponent.html +19 -0
  76. package/docs/components/EclPaginationItemComponent.html +19 -0
  77. package/docs/components/EclRadioHelpComponent.html +19 -0
  78. package/docs/components/EclRadioLabelComponent.html +19 -0
  79. package/docs/components/EclRatingFieldComponent.html +19 -0
  80. package/docs/components/EclSearchFormComponent.html +19 -0
  81. package/docs/components/EclSiteFooterComponent.html +19 -0
  82. package/docs/components/EclSiteHeaderActionComponent.html +19 -0
  83. package/docs/components/EclSiteHeaderActionComponentBase.html +19 -0
  84. package/docs/components/EclSiteHeaderBannerTopComponent.html +19 -0
  85. package/docs/components/EclSiteHeaderBannerTopComponentBase.html +19 -0
  86. package/docs/components/EclSiteHeaderComponent.html +19 -0
  87. package/docs/components/EclSiteHeaderComponentBase.html +19 -0
  88. package/docs/components/EclSiteHeaderCoreActionComponent.html +19 -0
  89. package/docs/components/EclSiteHeaderCoreComponent.html +19 -0
  90. package/docs/components/EclSiteHeaderCoreLanguageComponent.html +19 -0
  91. package/docs/components/EclSiteHeaderCoreLoginComponent.html +19 -0
  92. package/docs/components/EclSiteHeaderCoreSearchComponent.html +19 -0
  93. package/docs/components/EclSiteHeaderEnvironmentComponent.html +19 -0
  94. package/docs/components/EclSiteHeaderHarmonisedActionComponent.html +19 -0
  95. package/docs/components/EclSiteHeaderHarmonisedBannerTopComponent.html +19 -0
  96. package/docs/components/EclSiteHeaderHarmonisedComponent.html +19 -0
  97. package/docs/components/EclSiteHeaderHarmonisedLanguageComponent.html +19 -0
  98. package/docs/components/EclSiteHeaderHarmonisedLoginComponent.html +19 -0
  99. package/docs/components/EclSiteHeaderHarmonisedSearchComponent.html +19 -0
  100. package/docs/components/EclSiteHeaderLanguageComponent.html +19 -0
  101. package/docs/components/EclSiteHeaderLanguageComponentBase.html +19 -0
  102. package/docs/components/EclSiteHeaderLoginComponent.html +19 -0
  103. package/docs/components/EclSiteHeaderLoginComponentBase.html +19 -0
  104. package/docs/components/EclSiteHeaderSearchComponent.html +19 -0
  105. package/docs/components/EclSiteHeaderSearchComponentBase.html +19 -0
  106. package/docs/components/EclSiteHeaderStandardisedActionComponent.html +19 -0
  107. package/docs/components/EclSiteHeaderStandardisedBannerTopComponent.html +19 -0
  108. package/docs/components/EclSiteHeaderStandardisedComponent.html +19 -0
  109. package/docs/components/EclSiteHeaderStandardisedLanguageComponent.html +19 -0
  110. package/docs/components/EclSiteHeaderStandardisedLoginComponent.html +19 -0
  111. package/docs/components/EclSiteHeaderStandardisedSearchComponent.html +19 -0
  112. package/docs/components/EclSocialMediaFollowComponent.html +19 -0
  113. package/docs/components/EclSocialMediaFollowItemComponent.html +19 -0
  114. package/docs/components/EclSocialMediaShareComponent.html +19 -0
  115. package/docs/components/EclSocialMediaShareItemComponent.html +19 -0
  116. package/docs/components/EclSpinnerComponent.html +19 -0
  117. package/docs/components/EclStickyContainerComponent.html +19 -0
  118. package/docs/components/EclTabComponent.html +19 -0
  119. package/docs/components/EclTabLabelComponent.html +19 -0
  120. package/docs/components/EclTabMoreComponent.html +19 -0
  121. package/docs/components/EclTabsComponent.html +19 -0
  122. package/docs/components/EclTagComponent.html +19 -0
  123. package/docs/components/EclTimelineComponent.html +19 -0
  124. package/docs/components/EclTimelineItemComponent.html +19 -0
  125. package/docs/components/EclTimelineItemTogglerComponent.html +19 -0
  126. package/docs/dependencies.html +2 -2
  127. package/docs/directives/ECLBaseDirective.html +97 -0
  128. package/docs/directives/ECLClickOutsideDirective.html +19 -0
  129. package/docs/directives/EclBlockquoteImageDirective.html +19 -0
  130. package/docs/directives/EclButtonLabelDirective.html +19 -0
  131. package/docs/directives/EclCardImageDirective.html +19 -0
  132. package/docs/directives/EclCheckboxDirective.html +19 -0
  133. package/docs/directives/EclCheckboxInputDirective.html +19 -0
  134. package/docs/directives/EclContentBlockDescriptionDirective.html +19 -0
  135. package/docs/directives/EclContentBlockLabelDirective.html +19 -0
  136. package/docs/directives/EclContentBlockLabelsDirective.html +19 -0
  137. package/docs/directives/EclContentBlockLinkDirective.html +19 -0
  138. package/docs/directives/EclContentBlockLinksContainerDirective.html +19 -0
  139. package/docs/directives/EclContentBlockLinksDirective.html +19 -0
  140. package/docs/directives/EclContentBlockListContainerDirective.html +19 -0
  141. package/docs/directives/EclContentBlockListDirective.html +19 -0
  142. package/docs/directives/EclContentBlockPrimaryMetaDirective.html +19 -0
  143. package/docs/directives/EclContentBlockPrimaryMetasDirective.html +19 -0
  144. package/docs/directives/EclContentBlockSecondaryMetaDirective.html +19 -0
  145. package/docs/directives/EclContentBlockSecondaryMetaIconDirective.html +19 -0
  146. package/docs/directives/EclContentBlockSecondaryMetaLabelDirective.html +19 -0
  147. package/docs/directives/EclContentBlockSecondaryMetasDirective.html +19 -0
  148. package/docs/directives/EclContentBlockTagDirective.html +19 -0
  149. package/docs/directives/EclContentBlockTagsDirective.html +19 -0
  150. package/docs/directives/EclContentBlockTitleDirective.html +19 -0
  151. package/docs/directives/EclContentItemImageDirective.html +19 -0
  152. package/docs/directives/EclContentItemPictureDirective.html +19 -0
  153. package/docs/directives/EclDatePickerDirective.html +19 -0
  154. package/docs/directives/EclDescriptionListDefinitionDirective.html +19 -0
  155. package/docs/directives/EclDescriptionListDefinitionItemDirective.html +19 -0
  156. package/docs/directives/EclDescriptionListDirective.html +19 -0
  157. package/docs/directives/EclDescriptionListTermDirective.html +19 -0
  158. package/docs/directives/EclFeaturedItemLinkDirective.html +19 -0
  159. package/docs/directives/EclFeedbackMessageDirective.html +19 -0
  160. package/docs/directives/EclFileUploadDirective.html +19 -0
  161. package/docs/directives/EclFooterCoreColumntDirective.html +19 -0
  162. package/docs/directives/EclFooterCoreDescriptionDirective.html +19 -0
  163. package/docs/directives/EclFooterCoreLinkDirective.html +19 -0
  164. package/docs/directives/EclFooterCoreListDirective.html +19 -0
  165. package/docs/directives/EclFooterCoreSectionDirective.html +19 -0
  166. package/docs/directives/EclFooterCoreTitleDirective.html +19 -0
  167. package/docs/directives/EclFooterCoreTitleLinkDirective.html +19 -0
  168. package/docs/directives/EclFooterHarmonisedColumnDirective.html +19 -0
  169. package/docs/directives/EclFooterHarmonisedContentDirective.html +19 -0
  170. package/docs/directives/EclFooterHarmonisedDescriptionDirective.html +19 -0
  171. package/docs/directives/EclFooterHarmonisedLinkDirective.html +19 -0
  172. package/docs/directives/EclFooterHarmonisedListDirective.html +19 -0
  173. package/docs/directives/EclFooterHarmonisedListItemDirective.html +19 -0
  174. package/docs/directives/EclFooterHarmonisedLogoDirective.html +19 -0
  175. package/docs/directives/EclFooterHarmonisedLogoImageDesktopDirective.html +19 -0
  176. package/docs/directives/EclFooterHarmonisedLogoItemDirective.html +19 -0
  177. package/docs/directives/EclFooterHarmonisedLogoLinkDirective.html +19 -0
  178. package/docs/directives/EclFooterHarmonisedLogoListDirective.html +19 -0
  179. package/docs/directives/EclFooterHarmonisedRowDirective.html +19 -0
  180. package/docs/directives/EclFooterHarmonisedSectionDirective.html +19 -0
  181. package/docs/directives/EclFooterStandardisedColumnDirective.html +19 -0
  182. package/docs/directives/EclFooterStandardisedContentDirective.html +19 -0
  183. package/docs/directives/EclFooterStandardisedDescriptionDirective.html +19 -0
  184. package/docs/directives/EclFooterStandardisedLinkDirective.html +19 -0
  185. package/docs/directives/EclFooterStandardisedLogoImageDesktopDirective.html +19 -0
  186. package/docs/directives/EclFooterStandardisedLogoLinkDirective.html +19 -0
  187. package/docs/directives/EclFooterStandardisedRowDirective.html +19 -0
  188. package/docs/directives/EclFooterStandardisedSectionDirective.html +19 -0
  189. package/docs/directives/EclGalleryMediaDirective.html +19 -0
  190. package/docs/directives/EclHelpBlockDirective.html +19 -0
  191. package/docs/directives/EclHeroBannerCreditDirective.html +19 -0
  192. package/docs/directives/EclHeroBannerCtaLinkDirective.html +19 -0
  193. package/docs/directives/EclHeroBannerDescriptionDirective.html +19 -0
  194. package/docs/directives/EclHeroBannerTitleDirective.html +19 -0
  195. package/docs/directives/EclHiddenDirective.html +19 -0
  196. package/docs/directives/EclLabelDirective.html +19 -0
  197. package/docs/directives/EclLinkDirective.html +89 -1
  198. package/docs/directives/EclLinkLabelDirective.html +19 -0
  199. package/docs/directives/EclListIllustrationIconDirective.html +19 -0
  200. package/docs/directives/EclListIllustrationImageDirective.html +19 -0
  201. package/docs/directives/EclMediaContainerItemDirective.html +19 -0
  202. package/docs/directives/EclMessageTitleDirective.html +19 -0
  203. package/docs/directives/EclMultiselectOptionDirective.html +19 -0
  204. package/docs/directives/EclNavigationListImageDirective.html +19 -0
  205. package/docs/directives/EclOrderedListDirective.html +19 -0
  206. package/docs/directives/EclOrderedListItemDirective.html +19 -0
  207. package/docs/directives/EclPageBannerCreditDirective.html +19 -0
  208. package/docs/directives/EclPageBannerCtaLinkDirective.html +19 -0
  209. package/docs/directives/EclPageBannerDescriptionDirective.html +19 -0
  210. package/docs/directives/EclPageBannerTitleDirective.html +19 -0
  211. package/docs/directives/EclPageHeaderCoreDescriptionContainerDirective.html +19 -0
  212. package/docs/directives/EclPageHeaderCoreDescriptionDirective.html +19 -0
  213. package/docs/directives/EclPageHeaderCoreDescriptionThumbnailDirective.html +19 -0
  214. package/docs/directives/EclPageHeaderCoreMetaDirective.html +19 -0
  215. package/docs/directives/EclPageHeaderCoreMetaItemDirective.html +19 -0
  216. package/docs/directives/EclPageHeaderCoreTitleDirective.html +19 -0
  217. package/docs/directives/EclPageHeaderDescriptionContainerDirective.html +19 -0
  218. package/docs/directives/EclPageHeaderDescriptionDirective.html +19 -0
  219. package/docs/directives/EclPageHeaderDescriptionThumbnailDirective.html +19 -0
  220. package/docs/directives/EclPageHeaderHarmonisedDescriptionContainerDirective.html +19 -0
  221. package/docs/directives/EclPageHeaderHarmonisedDescriptionDirective.html +19 -0
  222. package/docs/directives/EclPageHeaderHarmonisedDescriptionThumbnailDirective.html +19 -0
  223. package/docs/directives/EclPageHeaderHarmonisedMetaDirective.html +19 -0
  224. package/docs/directives/EclPageHeaderHarmonisedMetaItemDirective.html +19 -0
  225. package/docs/directives/EclPageHeaderHarmonisedTitleDirective.html +19 -0
  226. package/docs/directives/EclPageHeaderMetaDirective.html +19 -0
  227. package/docs/directives/EclPageHeaderMetaItemDirective.html +19 -0
  228. package/docs/directives/EclPageHeaderStandardisedDescriptionContainerDirective.html +19 -0
  229. package/docs/directives/EclPageHeaderStandardisedDescriptionDirective.html +19 -0
  230. package/docs/directives/EclPageHeaderStandardisedDescriptionThumbnailDirective.html +19 -0
  231. package/docs/directives/EclPageHeaderStandardisedMetaDirective.html +19 -0
  232. package/docs/directives/EclPageHeaderStandardisedMetaItemDirective.html +19 -0
  233. package/docs/directives/EclPageHeaderStandardisedTitleDirective.html +19 -0
  234. package/docs/directives/EclPageHeaderTitleDirective.html +19 -0
  235. package/docs/directives/EclRadioDirective.html +19 -0
  236. package/docs/directives/EclRadioInputDirective.html +19 -0
  237. package/docs/directives/EclSelectDirective.html +19 -0
  238. package/docs/directives/EclSiteFooterColumnDirective.html +19 -0
  239. package/docs/directives/EclSiteFooterContentDirective.html +19 -0
  240. package/docs/directives/EclSiteFooterDescriptionDirective.html +19 -0
  241. package/docs/directives/EclSiteFooterLinkDirective.html +19 -0
  242. package/docs/directives/EclSiteFooterListDirective.html +19 -0
  243. package/docs/directives/EclSiteFooterListItemDirective.html +19 -0
  244. package/docs/directives/EclSiteFooterLogoDirective.html +19 -0
  245. package/docs/directives/EclSiteFooterLogoImageDesktopDirective.html +19 -0
  246. package/docs/directives/EclSiteFooterLogoItemDirective.html +19 -0
  247. package/docs/directives/EclSiteFooterLogoLinkDirective.html +19 -0
  248. package/docs/directives/EclSiteFooterLogoListDirective.html +19 -0
  249. package/docs/directives/EclSiteFooterRowDirective.html +19 -0
  250. package/docs/directives/EclSiteFooterSectionDirective.html +19 -0
  251. package/docs/directives/EclSiteFooterTitleDirective.html +19 -0
  252. package/docs/directives/EclSiteFooterTitleLinkDirective.html +19 -0
  253. package/docs/directives/EclSiteHeaderCoreLoginDescriptionDirective.html +19 -0
  254. package/docs/directives/EclSiteHeaderCoreLoginSeparatorDirective.html +19 -0
  255. package/docs/directives/EclSiteHeaderHarmonisedLoginDescriptionDirective.html +19 -0
  256. package/docs/directives/EclSiteHeaderHarmonisedLoginSeparatorDirective.html +19 -0
  257. package/docs/directives/EclSiteHeaderLoginDescriptionDirective.html +19 -0
  258. package/docs/directives/EclSiteHeaderLoginSeparatorDirective.html +19 -0
  259. package/docs/directives/EclSiteHeaderStandardisedCtaDirective.html +19 -0
  260. package/docs/directives/EclSiteHeaderStandardisedLoginDescriptionDirective.html +19 -0
  261. package/docs/directives/EclSiteHeaderStandardisedLoginSeparatorDirective.html +19 -0
  262. package/docs/directives/EclTableBodyDirective.html +19 -0
  263. package/docs/directives/EclTableCellDirective.html +19 -0
  264. package/docs/directives/EclTableCellGroupDirective.html +19 -0
  265. package/docs/directives/EclTableDirective.html +19 -0
  266. package/docs/directives/EclTableHeadDirective.html +19 -0
  267. package/docs/directives/EclTableHeaderDirective.html +19 -0
  268. package/docs/directives/EclTableRowDirective.html +19 -0
  269. package/docs/directives/EclTextAreaDirective.html +19 -0
  270. package/docs/directives/EclTextInputDirective.html +19 -0
  271. package/docs/directives/EclTimelineItemLabelDirective.html +19 -0
  272. package/docs/directives/EclTimelineItemTitleDirective.html +19 -0
  273. package/docs/directives/EclUnorderedListDirective.html +19 -0
  274. package/docs/directives/EclUnorderedListItemDirective.html +19 -0
  275. package/docs/js/search/search_index.js +2 -2
  276. package/esm2020/lib/components/ecl-base.directive.mjs +12 -2
  277. package/esm2020/lib/components/ecl-link/ecl-link.directive.mjs +10 -6
  278. package/esm2020/lib/components/ecl-news-ticker/ecl-news-ticker-item.component.mjs +48 -8
  279. package/esm2020/lib/components/ecl-news-ticker/ecl-news-ticker.component.mjs +46 -19
  280. package/fesm2015/eui-ecl.mjs +103 -26
  281. package/fesm2015/eui-ecl.mjs.map +1 -1
  282. package/fesm2020/eui-ecl.mjs +103 -26
  283. package/fesm2020/eui-ecl.mjs.map +1 -1
  284. package/lib/components/ecl-base.directive.d.ts +5 -1
  285. package/lib/components/ecl-base.directive.d.ts.map +1 -1
  286. package/lib/components/ecl-link/ecl-link.directive.d.ts +4 -2
  287. package/lib/components/ecl-link/ecl-link.directive.d.ts.map +1 -1
  288. package/lib/components/ecl-news-ticker/ecl-news-ticker-item.component.d.ts +13 -5
  289. package/lib/components/ecl-news-ticker/ecl-news-ticker-item.component.d.ts.map +1 -1
  290. package/lib/components/ecl-news-ticker/ecl-news-ticker.component.d.ts +7 -2
  291. package/lib/components/ecl-news-ticker/ecl-news-ticker.component.d.ts.map +1 -1
  292. package/package.json +1 -1
@@ -1,6 +1,11 @@
1
1
  import { Directive, Input, HostBinding } from '@angular/core';
2
+ import { coerceNumberProperty } from '@angular/cdk/coercion';
2
3
  import * as i0 from "@angular/core";
3
4
  export class ECLBaseDirective {
5
+ get tabindex() {
6
+ return this._tabindex || null;
7
+ }
8
+ set tabindex(value) { this._tabindex = coerceNumberProperty(value); }
4
9
  getCssClasses(rootClass) {
5
10
  return [
6
11
  rootClass,
@@ -9,7 +14,7 @@ export class ECLBaseDirective {
9
14
  }
10
15
  }
11
16
  /** @nocollapse */ ECLBaseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: ECLBaseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
12
- /** @nocollapse */ ECLBaseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0", type: ECLBaseDirective, selector: "[eclBase]", inputs: { class: "class", e2eAttr: "e2eAttr" }, host: { properties: { "attr.data-e2e": "this.e2eAttr" } }, ngImport: i0 });
17
+ /** @nocollapse */ ECLBaseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0", type: ECLBaseDirective, selector: "[eclBase]", inputs: { class: "class", e2eAttr: "e2eAttr", tabindex: "tabindex" }, host: { properties: { "attr.data-e2e": "this.e2eAttr", "attr.tabindex": "this.tabindex" } }, ngImport: i0 });
13
18
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: ECLBaseDirective, decorators: [{
14
19
  type: Directive,
15
20
  args: [{
@@ -22,5 +27,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
22
27
  args: ['attr.data-e2e']
23
28
  }, {
24
29
  type: Input
30
+ }], tabindex: [{
31
+ type: Input
32
+ }, {
33
+ type: HostBinding,
34
+ args: ['attr.tabindex']
25
35
  }] } });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWJhc2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC1iYXNlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzlELE1BQU0sT0FBTyxnQkFBZ0I7SUFLekIsYUFBYSxDQUFDLFNBQWlCO1FBQzNCLE9BQU87WUFDSCxTQUFTO1lBQ1QsSUFBSSxDQUFDLEtBQUs7U0FDYixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDOztnSUFWUSxnQkFBZ0I7b0hBQWhCLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQUg1QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxXQUFXO2lCQUN4Qjs4QkFFWSxLQUFLO3NCQUFiLEtBQUs7Z0JBRWlDLE9BQU87c0JBQTdDLFdBQVc7dUJBQUMsZUFBZTs7c0JBQUcsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2VjbEJhc2VdJyxcbn0pXG5leHBvcnQgY2xhc3MgRUNMQmFzZURpcmVjdGl2ZSB7XG4gICAgQElucHV0KCkgY2xhc3M6IHN0cmluZztcblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWUyZScpIEBJbnB1dCgpIGUyZUF0dHI7XG5cbiAgICBnZXRDc3NDbGFzc2VzKHJvb3RDbGFzczogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHJvb3RDbGFzcyxcbiAgICAgICAgICAgIHRoaXMuY2xhc3NcbiAgICAgICAgXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cbn1cbiJdfQ==
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWJhc2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC1iYXNlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFlLE1BQU0sdUJBQXVCLENBQUM7O0FBSzFFLE1BQU0sT0FBTyxnQkFBZ0I7SUFLekIsSUFDSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQztJQUNsQyxDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBa0IsSUFBSSxJQUFJLENBQUMsU0FBUyxHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUdsRixhQUFhLENBQUMsU0FBaUI7UUFDM0IsT0FBTztZQUNILFNBQVM7WUFDVCxJQUFJLENBQUMsS0FBSztTQUNiLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7O2dJQWpCUSxnQkFBZ0I7b0hBQWhCLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQUg1QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxXQUFXO2lCQUN4Qjs4QkFFWSxLQUFLO3NCQUFiLEtBQUs7Z0JBRWlDLE9BQU87c0JBQTdDLFdBQVc7dUJBQUMsZUFBZTs7c0JBQUcsS0FBSztnQkFHaEMsUUFBUTtzQkFEWCxLQUFLOztzQkFBSSxXQUFXO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlTnVtYmVyUHJvcGVydHksIE51bWJlcklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZWNsQmFzZV0nLFxufSlcbmV4cG9ydCBjbGFzcyBFQ0xCYXNlRGlyZWN0aXZlIHtcbiAgICBASW5wdXQoKSBjbGFzczogc3RyaW5nO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtZTJlJykgQElucHV0KCkgZTJlQXR0cjtcblxuICAgIEBJbnB1dCgpIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXG4gICAgZ2V0IHRhYmluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl90YWJpbmRleCB8fCBudWxsO1xuICAgIH1cbiAgICBzZXQgdGFiaW5kZXgodmFsdWU6IE51bWJlcklucHV0KSB7IHRoaXMuX3RhYmluZGV4ID0gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpOyB9XG4gICAgcHJpdmF0ZSBfdGFiaW5kZXg6IG51bWJlcjtcblxuICAgIGdldENzc0NsYXNzZXMocm9vdENsYXNzOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgcm9vdENsYXNzLFxuICAgICAgICAgICAgdGhpcy5jbGFzc1xuICAgICAgICBdLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxufVxuIl19
@@ -6,6 +6,10 @@ import { ECLBaseDirective } from '../ecl-base.directive';
6
6
  import { coerceBoolean } from '@eui/base';
7
7
  import * as i0 from "@angular/core";
8
8
  export class EclLinkDirective extends ECLBaseDirective {
9
+ constructor(el) {
10
+ super();
11
+ this.el = el;
12
+ }
9
13
  get cssClasses() {
10
14
  return [
11
15
  super.getCssClasses('ecl-link'),
@@ -57,7 +61,7 @@ export class EclLinkDirective extends ECLBaseDirective {
57
61
  });
58
62
  }
59
63
  }
60
- /** @nocollapse */ EclLinkDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: EclLinkDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
64
+ /** @nocollapse */ EclLinkDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: EclLinkDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
61
65
  /** @nocollapse */ EclLinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0", type: EclLinkDirective, selector: "[eclLink]", inputs: { variant: "variant", isNegative: "isNegative", isNoVisited: "isNoVisited" }, host: { properties: { "class.ecl-link--negative": "this.isNegative", "class.ecl-link--no-visited": "this.isNoVisited", "class": "this.cssClasses", "class.ecl-link--icon-after": "this.hasRightIcon", "class.ecl-link--icon-before": "this.hasLeftIcon", "class.ecl-link--icon": "this.hasIcon" } }, queries: [{ propertyName: "eclIconComponents", predicate: i0.forwardRef(function () { return EclIconComponent; }) }], usesInheritance: true, ngImport: i0 });
62
66
  __decorate([
63
67
  coerceBoolean
@@ -70,7 +74,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
70
74
  args: [{
71
75
  selector: '[eclLink]'
72
76
  }]
73
- }], propDecorators: { variant: [{
77
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { variant: [{
74
78
  type: Input
75
79
  }], isNegative: [{
76
80
  type: Input
@@ -82,6 +86,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
82
86
  }, {
83
87
  type: HostBinding,
84
88
  args: ['class.ecl-link--no-visited']
89
+ }], eclIconComponents: [{
90
+ type: ContentChildren,
91
+ args: [forwardRef(() => EclIconComponent)]
85
92
  }], cssClasses: [{
86
93
  type: HostBinding,
87
94
  args: ['class']
@@ -94,8 +101,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
94
101
  }], hasIcon: [{
95
102
  type: HostBinding,
96
103
  args: ['class.ecl-link--icon']
97
- }], eclIconComponents: [{
98
- type: ContentChildren,
99
- args: [forwardRef(() => EclIconComponent)]
100
104
  }] } });
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWxpbmsuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC1saW5rL2VjbC1saW5rLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUVMLFVBQVUsRUFDVixlQUFlLEVBRWxCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBSzFDLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxnQkFBZ0I7SUFLbEQsSUFDSSxVQUFVO1FBQ1YsT0FBTztZQUNILEtBQUssQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDO1lBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGFBQWEsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQ2xELENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUNJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsSUFDSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELElBQ0ksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFJRCxrQkFBa0I7UUFDZCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN4QixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNaLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ2pDLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFO3dCQUN6RCxHQUFHLENBQUMsS0FBSyxHQUFHLHVDQUF1QyxDQUFDO3FCQUN2RDt5QkFBTSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRTt3QkFDakUsR0FBRyxDQUFDLEtBQUssR0FBRyxzQ0FBc0MsQ0FBQztxQkFDdEQ7eUJBQU07d0JBQ0gsR0FBRyxDQUFDLEtBQUssR0FBRyx1Q0FBdUMsQ0FBQztxQkFDdkQ7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVPLGlCQUFpQixDQUFDLEtBQXlCO1FBQy9DLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdEIsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxhQUE0QixDQUFDO1lBRW5ELElBQUksK0JBQStCLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxFQUFFO2dCQUN6RCxPQUFPLElBQUksQ0FBQzthQUNmO1lBRUQsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsS0FBeUI7UUFDOUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN0QixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDLGFBQTRCLENBQUM7WUFFbkQsSUFBSSwyQkFBMkIsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLEVBQUU7Z0JBQ3JELE9BQU8sSUFBSSxDQUFDO2FBQ2Y7WUFFRCxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O2dJQXBFUSxnQkFBZ0I7b0hBQWhCLGdCQUFnQixpZkE0QlMsZ0JBQWdCO0FBMUJuQztJQUFkLGFBQWE7b0RBQThFO0FBQzdFO0lBQWQsYUFBYTtxREFBaUY7MkZBSHRGLGdCQUFnQjtrQkFINUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsV0FBVztpQkFDeEI7OEJBRVksT0FBTztzQkFBZixLQUFLO2dCQUMyRCxVQUFVO3NCQUEzRCxLQUFLOztzQkFBSSxXQUFXO3VCQUFDLDBCQUEwQjtnQkFDSSxXQUFXO3NCQUE5RCxLQUFLOztzQkFBSSxXQUFXO3VCQUFDLDRCQUE0QjtnQkFHN0QsVUFBVTtzQkFEYixXQUFXO3VCQUFDLE9BQU87Z0JBU2hCLFlBQVk7c0JBRGYsV0FBVzt1QkFBQyw0QkFBNEI7Z0JBTXJDLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyw2QkFBNkI7Z0JBTXRDLE9BQU87c0JBRFYsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBS2tCLGlCQUFpQjtzQkFBckUsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIGZvcndhcmRSZWYsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIFF1ZXJ5TGlzdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGhhc05leHRTaWJsaW5nV2l0aEF0dHJpYnV0ZSwgaGFzUHJldmlvdXNTaWJsaW5nV2l0aEF0dHJpYnV0ZSB9IGZyb20gJy4uLy4uL3V0aWxzL2RvbS9kb20taGVscGVycyc7XG5pbXBvcnQgeyBFY2xJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vZWNsLWljb24vZWNsLWljb24uY29tcG9uZW50JztcbmltcG9ydCB7IEVDTEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi9lY2wtYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhbiB9IGZyb20gJ0BldWkvYmFzZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2VjbExpbmtdJ1xufSlcbmV4cG9ydCBjbGFzcyBFY2xMaW5rRGlyZWN0aXZlIGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICAgIEBJbnB1dCgpIHZhcmlhbnQ6ICdzdGFuZGFsb25lJyB8ICdjdGEnIHwgJ3ByaW1hcnknIHwgJ3NlY29uZGFyeSc7XG4gICAgQGNvZXJjZUJvb2xlYW4gQElucHV0KCkgQEhvc3RCaW5kaW5nKCdjbGFzcy5lY2wtbGluay0tbmVnYXRpdmUnKSBpc05lZ2F0aXZlOiBib29sZWFuIHwgYW55IDtcbiAgICBAY29lcmNlQm9vbGVhbiBASW5wdXQoKSBASG9zdEJpbmRpbmcoJ2NsYXNzLmVjbC1saW5rLS1uby12aXNpdGVkJykgaXNOb1Zpc2l0ZWQ6IGJvb2xlYW4gfCBhbnkgO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBzdXBlci5nZXRDc3NDbGFzc2VzKCdlY2wtbGluaycpLFxuICAgICAgICAgICAgdGhpcy52YXJpYW50ID8gYGVjbC1saW5rLS0ke3RoaXMudmFyaWFudH1gIDogJycsXG4gICAgICAgIF0uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmVjbC1saW5rLS1pY29uLWFmdGVyJylcbiAgICBnZXQgaGFzUmlnaHRJY29uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0ljb25PblJpZ2h0U2lkZSh0aGlzLmVjbEljb25Db21wb25lbnRzLnRvQXJyYXkoKSk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5lY2wtbGluay0taWNvbi1iZWZvcmUnKVxuICAgIGdldCBoYXNMZWZ0SWNvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNJY29uT25MZWZ0U2lkZSh0aGlzLmVjbEljb25Db21wb25lbnRzLnRvQXJyYXkoKSk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5lY2wtbGluay0taWNvbicpXG4gICAgZ2V0IGhhc0ljb24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVjbEljb25Db21wb25lbnRzICYmIHRoaXMuZWNsSWNvbkNvbXBvbmVudHMubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gRWNsSWNvbkNvbXBvbmVudCkpIGVjbEljb25Db21wb25lbnRzOiBRdWVyeUxpc3Q8RWNsSWNvbkNvbXBvbmVudD47XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLmVjbEljb25Db21wb25lbnRzKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmVjbEljb25Db21wb25lbnRzLmZvckVhY2goaWNuID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNJY29uT25MZWZ0U2lkZSh0aGlzLmVjbEljb25Db21wb25lbnRzLnRvQXJyYXkoKSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGljbi5jbGFzcyA9ICdlY2wtbGlua19faWNvbiBlY2wtbGlua19faWNvbi0tYmVmb3JlJztcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzSWNvbk9uUmlnaHRTaWRlKHRoaXMuZWNsSWNvbkNvbXBvbmVudHMudG9BcnJheSgpKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWNuLmNsYXNzID0gJ2VjbC1saW5rX19pY29uIGVjbC1saW5rX19pY29uLS1hZnRlcic7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpY24uY2xhc3MgPSAnZWNsLWxpbmtfX2ljb24gZWNsLWxpbmtfX2ljb24tLWJlZm9yZSc7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0ljb25PblJpZ2h0U2lkZShpY29uczogRWNsSWNvbkNvbXBvbmVudFtdKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIWljb25zLmZpbmQoaWNuID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGljb25FbCA9IGljbi5lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuXG4gICAgICAgICAgICBpZiAoaGFzUHJldmlvdXNTaWJsaW5nV2l0aEF0dHJpYnV0ZShpY29uRWwsICdlY2xMaW5rTGFiZWwnKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNJY29uT25MZWZ0U2lkZShpY29uczogRWNsSWNvbkNvbXBvbmVudFtdKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIWljb25zLmZpbmQoaWNuID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGljb25FbCA9IGljbi5lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuXG4gICAgICAgICAgICBpZiAoaGFzTmV4dFNpYmxpbmdXaXRoQXR0cmlidXRlKGljb25FbCwgJ2VjbExpbmtMYWJlbCcpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWxpbmsuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC1saW5rL2VjbC1saW5rLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUVMLFVBQVUsRUFDVixlQUFlLEVBR2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBSzFDLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxnQkFBZ0I7SUE2QmxELFlBQW1CLEVBQWM7UUFDN0IsS0FBSyxFQUFFLENBQUM7UUFETyxPQUFFLEdBQUYsRUFBRSxDQUFZO0lBRWpDLENBQUM7SUF6QkQsSUFDSSxVQUFVO1FBQ1YsT0FBTztZQUNILEtBQUssQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDO1lBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGFBQWEsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQ2xELENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUNJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsSUFDSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELElBQ0ksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFNRCxrQkFBa0I7UUFDZCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN4QixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNaLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ2pDLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFO3dCQUN6RCxHQUFHLENBQUMsS0FBSyxHQUFHLHVDQUF1QyxDQUFDO3FCQUN2RDt5QkFBTSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRTt3QkFDakUsR0FBRyxDQUFDLEtBQUssR0FBRyxzQ0FBc0MsQ0FBQztxQkFDdEQ7eUJBQU07d0JBQ0gsR0FBRyxDQUFDLEtBQUssR0FBRyx1Q0FBdUMsQ0FBQztxQkFDdkQ7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVPLGlCQUFpQixDQUFDLEtBQXlCO1FBQy9DLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdEIsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxhQUE0QixDQUFDO1lBRW5ELElBQUksK0JBQStCLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxFQUFFO2dCQUN6RCxPQUFPLElBQUksQ0FBQzthQUNmO1lBRUQsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsS0FBeUI7UUFDOUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN0QixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDLGFBQTRCLENBQUM7WUFFbkQsSUFBSSwyQkFBMkIsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLEVBQUU7Z0JBQ3JELE9BQU8sSUFBSSxDQUFDO2FBQ2Y7WUFFRCxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O2dJQXZFUSxnQkFBZ0I7b0hBQWhCLGdCQUFnQixpZkFJUyxnQkFBZ0I7QUFGbkM7SUFBZCxhQUFhO29EQUE4RTtBQUM3RTtJQUFkLGFBQWE7cURBQWlGOzJGQUh0RixnQkFBZ0I7a0JBSDVCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFdBQVc7aUJBQ3hCO2lHQUVZLE9BQU87c0JBQWYsS0FBSztnQkFDMkQsVUFBVTtzQkFBM0QsS0FBSzs7c0JBQUksV0FBVzt1QkFBQywwQkFBMEI7Z0JBQ0ksV0FBVztzQkFBOUQsS0FBSzs7c0JBQUksV0FBVzt1QkFBQyw0QkFBNEI7Z0JBQ1osaUJBQWlCO3NCQUFyRSxlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFHL0MsVUFBVTtzQkFEYixXQUFXO3VCQUFDLE9BQU87Z0JBU2hCLFlBQVk7c0JBRGYsV0FBVzt1QkFBQyw0QkFBNEI7Z0JBTXJDLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyw2QkFBNkI7Z0JBTXRDLE9BQU87c0JBRFYsV0FBVzt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIGZvcndhcmRSZWYsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBFbGVtZW50UmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaGFzTmV4dFNpYmxpbmdXaXRoQXR0cmlidXRlLCBoYXNQcmV2aW91c1NpYmxpbmdXaXRoQXR0cmlidXRlIH0gZnJvbSAnLi4vLi4vdXRpbHMvZG9tL2RvbS1oZWxwZXJzJztcbmltcG9ydCB7IEVjbEljb25Db21wb25lbnQgfSBmcm9tICcuLi9lY2wtaWNvbi9lY2wtaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuIH0gZnJvbSAnQGV1aS9iYXNlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZWNsTGlua10nXG59KVxuZXhwb3J0IGNsYXNzIEVjbExpbmtEaXJlY3RpdmUgZXh0ZW5kcyBFQ0xCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgQElucHV0KCkgdmFyaWFudDogJ3N0YW5kYWxvbmUnIHwgJ2N0YScgfCAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JztcbiAgICBAY29lcmNlQm9vbGVhbiBASW5wdXQoKSBASG9zdEJpbmRpbmcoJ2NsYXNzLmVjbC1saW5rLS1uZWdhdGl2ZScpIGlzTmVnYXRpdmU6IGJvb2xlYW4gfCBhbnkgO1xuICAgIEBjb2VyY2VCb29sZWFuIEBJbnB1dCgpIEBIb3N0QmluZGluZygnY2xhc3MuZWNsLWxpbmstLW5vLXZpc2l0ZWQnKSBpc05vVmlzaXRlZDogYm9vbGVhbiB8IGFueSA7XG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IEVjbEljb25Db21wb25lbnQpKSBlY2xJY29uQ29tcG9uZW50czogUXVlcnlMaXN0PEVjbEljb25Db21wb25lbnQ+O1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHN1cGVyLmdldENzc0NsYXNzZXMoJ2VjbC1saW5rJyksXG4gICAgICAgICAgICB0aGlzLnZhcmlhbnQgPyBgZWNsLWxpbmstLSR7dGhpcy52YXJpYW50fWAgOiAnJyxcbiAgICAgICAgXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZWNsLWxpbmstLWljb24tYWZ0ZXInKVxuICAgIGdldCBoYXNSaWdodEljb24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzSWNvbk9uUmlnaHRTaWRlKHRoaXMuZWNsSWNvbkNvbXBvbmVudHMudG9BcnJheSgpKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmVjbC1saW5rLS1pY29uLWJlZm9yZScpXG4gICAgZ2V0IGhhc0xlZnRJY29uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0ljb25PbkxlZnRTaWRlKHRoaXMuZWNsSWNvbkNvbXBvbmVudHMudG9BcnJheSgpKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmVjbC1saW5rLS1pY29uJylcbiAgICBnZXQgaGFzSWNvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWNsSWNvbkNvbXBvbmVudHMgJiYgdGhpcy5lY2xJY29uQ29tcG9uZW50cy5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbDogRWxlbWVudFJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZWNsSWNvbkNvbXBvbmVudHMpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZWNsSWNvbkNvbXBvbmVudHMuZm9yRWFjaChpY24gPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0ljb25PbkxlZnRTaWRlKHRoaXMuZWNsSWNvbkNvbXBvbmVudHMudG9BcnJheSgpKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWNuLmNsYXNzID0gJ2VjbC1saW5rX19pY29uIGVjbC1saW5rX19pY29uLS1iZWZvcmUnO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNJY29uT25SaWdodFNpZGUodGhpcy5lY2xJY29uQ29tcG9uZW50cy50b0FycmF5KCkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpY24uY2xhc3MgPSAnZWNsLWxpbmtfX2ljb24gZWNsLWxpbmtfX2ljb24tLWFmdGVyJztcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGljbi5jbGFzcyA9ICdlY2wtbGlua19faWNvbiBlY2wtbGlua19faWNvbi0tYmVmb3JlJztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGlzSWNvbk9uUmlnaHRTaWRlKGljb25zOiBFY2xJY29uQ29tcG9uZW50W10pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhaWNvbnMuZmluZChpY24gPT4ge1xuICAgICAgICAgICAgY29uc3QgaWNvbkVsID0gaWNuLmVsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAgICAgICAgIGlmIChoYXNQcmV2aW91c1NpYmxpbmdXaXRoQXR0cmlidXRlKGljb25FbCwgJ2VjbExpbmtMYWJlbCcpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0ljb25PbkxlZnRTaWRlKGljb25zOiBFY2xJY29uQ29tcG9uZW50W10pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhaWNvbnMuZmluZChpY24gPT4ge1xuICAgICAgICAgICAgY29uc3QgaWNvbkVsID0gaWNuLmVsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAgICAgICAgIGlmIChoYXNOZXh0U2libGluZ1dpdGhBdHRyaWJ1dGUoaWNvbkVsLCAnZWNsTGlua0xhYmVsJykpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
@@ -1,41 +1,81 @@
1
- import { Component, ContentChild, HostBinding } from '@angular/core';
2
- import { EclLinkDirective } from '../ecl-link/ecl-link.directive';
1
+ import { Component, ContentChild, EventEmitter, HostBinding, Output } from '@angular/core';
2
+ import { fromEvent, Subject, takeUntil } from 'rxjs';
3
3
  import { ECLBaseDirective } from '../ecl-base.directive';
4
+ import { EclLinkDirective } from '../ecl-link/ecl-link.directive';
4
5
  import * as i0 from "@angular/core";
5
6
  export class EclNewsTickerItemComponent extends ECLBaseDirective {
6
7
  constructor(el) {
7
8
  super();
8
9
  this.el = el;
9
- this.ariaHidden = true;
10
+ this.itemFocused = new EventEmitter();
10
11
  this.role = 'listitem';
12
+ this._isCurrent = false;
13
+ this.destroy$ = new Subject();
11
14
  }
12
15
  get cssClasses() {
13
16
  return [
14
17
  super.getCssClasses('ecl-news-ticker__slide'),
15
18
  ].join(' ').trim();
16
19
  }
20
+ get isCurrent() {
21
+ return this._isCurrent;
22
+ }
23
+ set isCurrent(value) {
24
+ this._isCurrent = value;
25
+ if (this.eclLink) {
26
+ this.setLinkTabindex();
27
+ }
28
+ }
29
+ get isAriahidden() {
30
+ return !this.isCurrent || undefined;
31
+ }
32
+ get isInert() {
33
+ return !this.isCurrent || undefined;
34
+ }
17
35
  ngAfterContentInit() {
18
36
  if (this.eclLink) {
19
37
  this.eclLink.class = 'ecl-news-ticker__slide-text';
20
38
  }
39
+ if (this.eclLink) {
40
+ fromEvent(this.eclLink.el.nativeElement, 'focus').pipe(takeUntil(this.destroy$)).subscribe(() => {
41
+ this.itemFocused.emit();
42
+ });
43
+ }
44
+ }
45
+ ngOnDestroy() {
46
+ this.destroy$.next(true);
47
+ this.destroy$.unsubscribe();
48
+ }
49
+ setLinkTabindex() {
50
+ if (this._isCurrent) {
51
+ this.eclLink.tabindex = null;
52
+ }
53
+ else {
54
+ this.eclLink.tabindex = -1;
55
+ }
21
56
  }
22
57
  }
23
58
  /** @nocollapse */ EclNewsTickerItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: EclNewsTickerItemComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
24
- /** @nocollapse */ EclNewsTickerItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: EclNewsTickerItemComponent, selector: "ecl-news-ticker-item", host: { properties: { "class": "this.cssClasses", "attr.aria-hidden": "this.ariaHidden", "attr.role": "this.role" } }, queries: [{ propertyName: "eclLink", first: true, predicate: EclLinkDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n" });
59
+ /** @nocollapse */ EclNewsTickerItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: EclNewsTickerItemComponent, selector: "ecl-news-ticker-item", outputs: { itemFocused: "itemFocused" }, host: { properties: { "class": "this.cssClasses", "attr.role": "this.role", "attr.aria-hidden": "this.isAriahidden", "attr.inert": "this.isInert" } }, queries: [{ propertyName: "eclLink", first: true, predicate: EclLinkDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n" });
25
60
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: EclNewsTickerItemComponent, decorators: [{
26
61
  type: Component,
27
62
  args: [{ selector: 'ecl-news-ticker-item', template: "<ng-content></ng-content>\n" }]
28
63
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { eclLink: [{
29
64
  type: ContentChild,
30
65
  args: [EclLinkDirective]
66
+ }], itemFocused: [{
67
+ type: Output
31
68
  }], cssClasses: [{
32
69
  type: HostBinding,
33
70
  args: ['class']
34
- }], ariaHidden: [{
35
- type: HostBinding,
36
- args: ['attr.aria-hidden']
37
71
  }], role: [{
38
72
  type: HostBinding,
39
73
  args: ['attr.role']
74
+ }], isAriahidden: [{
75
+ type: HostBinding,
76
+ args: ['attr.aria-hidden']
77
+ }], isInert: [{
78
+ type: HostBinding,
79
+ args: ['attr.inert']
40
80
  }] } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLW5ld3MtdGlja2VyLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC1uZXdzLXRpY2tlci9lY2wtbmV3cy10aWNrZXItaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLW5ld3MtdGlja2VyL2VjbC1uZXdzLXRpY2tlci1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBQ1QsWUFBWSxFQUFjLFdBQVcsRUFDeEMsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBTXpELE1BQU0sT0FBTywwQkFBMkIsU0FBUSxnQkFBZ0I7SUFhNUQsWUFBbUIsRUFBYztRQUM3QixLQUFLLEVBQUUsQ0FBQztRQURPLE9BQUUsR0FBRixFQUFFLENBQVk7UUFIQSxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLFNBQUksR0FBRyxVQUFVLENBQUM7SUFJNUMsQ0FBQztJQVpELElBQ0ksVUFBVTtRQUNWLE9BQU87WUFDSCxLQUFLLENBQUMsYUFBYSxDQUFDLHdCQUF3QixDQUFDO1NBQ2hELENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFTRCxrQkFBa0I7UUFDZCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyw2QkFBNkIsQ0FBQztTQUN0RDtJQUNMLENBQUM7OzBJQXJCUSwwQkFBMEI7OEhBQTFCLDBCQUEwQix3TkFDckIsZ0JBQWdCLHVFQ2JsQyw2QkFDQTsyRkRXYSwwQkFBMEI7a0JBSnRDLFNBQVM7K0JBQ0ksc0JBQXNCO2lHQUlBLE9BQU87c0JBQXRDLFlBQVk7dUJBQUMsZ0JBQWdCO2dCQUcxQixVQUFVO3NCQURiLFdBQVc7dUJBQUMsT0FBTztnQkFPYSxVQUFVO3NCQUExQyxXQUFXO3VCQUFDLGtCQUFrQjtnQkFDTCxJQUFJO3NCQUE3QixXQUFXO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmdcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFY2xMaW5rRGlyZWN0aXZlIH0gZnJvbSAnLi4vZWNsLWxpbmsvZWNsLWxpbmsuZGlyZWN0aXZlJztcbmltcG9ydCB7IEVDTEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi9lY2wtYmFzZS5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2VjbC1uZXdzLXRpY2tlci1pdGVtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWNsLW5ld3MtdGlja2VyLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBFY2xOZXdzVGlja2VySXRlbUNvbXBvbmVudCBleHRlbmRzIEVDTEJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBAQ29udGVudENoaWxkKEVjbExpbmtEaXJlY3RpdmUpIGVjbExpbms6IEVjbExpbmtEaXJlY3RpdmU7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBnZXQgY3NzQ2xhc3NlcygpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHN1cGVyLmdldENzc0NsYXNzZXMoJ2VjbC1uZXdzLXRpY2tlcl9fc2xpZGUnKSxcbiAgICAgICAgXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWhpZGRlbicpIGFyaWFIaWRkZW4gPSB0cnVlO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICdsaXN0aXRlbSc7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZWw6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLmVjbExpbmspIHtcbiAgICAgICAgICAgIHRoaXMuZWNsTGluay5jbGFzcyA9ICdlY2wtbmV3cy10aWNrZXJfX3NsaWRlLXRleHQnO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLW5ld3MtdGlja2VyLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC1uZXdzLXRpY2tlci9lY2wtbmV3cy10aWNrZXItaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLW5ld3MtdGlja2VyL2VjbC1uZXdzLXRpY2tlci1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBQ1QsWUFBWSxFQUVaLFlBQVksRUFDWixXQUFXLEVBRVgsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFLbEUsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGdCQUFnQjtJQWdDNUQsWUFBbUIsRUFBYztRQUM3QixLQUFLLEVBQUUsQ0FBQztRQURPLE9BQUUsR0FBRixFQUFFLENBQVk7UUE5QnZCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQU92QixTQUFJLEdBQUcsVUFBVSxDQUFDO1FBV3BDLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFVbkIsYUFBUSxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO0lBSTVELENBQUM7SUEvQkQsSUFDSSxVQUFVO1FBQ1YsT0FBTztZQUNILEtBQUssQ0FBQyxhQUFhLENBQUMsd0JBQXdCLENBQUM7U0FDaEQsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUdELElBQUksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBSSxTQUFTLENBQUMsS0FBYztRQUN4QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDMUI7SUFDTCxDQUFDO0lBR0QsSUFDSSxZQUFZO1FBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDO0lBQ3hDLENBQUM7SUFDRCxJQUNJLE9BQU87UUFDUCxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUM7SUFDeEMsQ0FBQztJQU9ELGtCQUFrQjtRQUNkLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLDZCQUE2QixDQUFDO1NBQ3REO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2QsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQzVGLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDNUIsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU8sZUFBZTtRQUNuQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1NBQ2hDO2FBQU07WUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUM5QjtJQUNMLENBQUM7OzBJQTNEUSwwQkFBMEI7OEhBQTFCLDBCQUEwQixpU0FDckIsZ0JBQWdCLHVFQ2xCbEMsNkJBQ0E7MkZEZ0JhLDBCQUEwQjtrQkFKdEMsU0FBUzsrQkFDSSxzQkFBc0I7aUdBSUEsT0FBTztzQkFBdEMsWUFBWTt1QkFBQyxnQkFBZ0I7Z0JBQ3BCLFdBQVc7c0JBQXBCLE1BQU07Z0JBRUgsVUFBVTtzQkFEYixXQUFXO3VCQUFDLE9BQU87Z0JBTU0sSUFBSTtzQkFBN0IsV0FBVzt1QkFBQyxXQUFXO2dCQWNwQixZQUFZO3NCQURmLFdBQVc7dUJBQUMsa0JBQWtCO2dCQUszQixPQUFPO3NCQURWLFdBQVc7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIE9uRGVzdHJveSxcbiAgICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBFY2xMaW5rRGlyZWN0aXZlIH0gZnJvbSAnLi4vZWNsLWxpbmsvZWNsLWxpbmsuZGlyZWN0aXZlJztcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZWNsLW5ld3MtdGlja2VyLWl0ZW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lY2wtbmV3cy10aWNrZXItaXRlbS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEVjbE5ld3NUaWNrZXJJdGVtQ29tcG9uZW50IGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gICAgQENvbnRlbnRDaGlsZChFY2xMaW5rRGlyZWN0aXZlKSBlY2xMaW5rOiBFY2xMaW5rRGlyZWN0aXZlO1xuICAgIEBPdXRwdXQoKSBpdGVtRm9jdXNlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVsbD4oKTtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZWNsLW5ld3MtdGlja2VyX19zbGlkZScpLFxuICAgICAgICBdLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICdsaXN0aXRlbSc7XG5cbiAgICBnZXQgaXNDdXJyZW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNDdXJyZW50O1xuICAgIH1cbiAgICBzZXQgaXNDdXJyZW50KHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2lzQ3VycmVudCA9IHZhbHVlO1xuICAgICAgICBpZiAodGhpcy5lY2xMaW5rKSB7XG4gICAgICAgICAgICB0aGlzLnNldExpbmtUYWJpbmRleCgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHByaXZhdGUgX2lzQ3VycmVudCA9IGZhbHNlO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaGlkZGVuJylcbiAgICBnZXQgaXNBcmlhaGlkZGVuKCk6IGFueSB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pc0N1cnJlbnQgfHwgdW5kZWZpbmVkO1xuICAgIH1cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaW5lcnQnKVxuICAgIGdldCBpc0luZXJ0KCk6IGFueSB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pc0N1cnJlbnQgfHwgdW5kZWZpbmVkO1xuICAgIH1cbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbDogRWxlbWVudFJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZWNsTGluaykge1xuICAgICAgICAgICAgdGhpcy5lY2xMaW5rLmNsYXNzID0gJ2VjbC1uZXdzLXRpY2tlcl9fc2xpZGUtdGV4dCc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5lY2xMaW5rKSB7XG4gICAgICAgICAgICBmcm9tRXZlbnQodGhpcy5lY2xMaW5rLmVsLm5hdGl2ZUVsZW1lbnQsICdmb2N1cycpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXRlbUZvY3VzZWQuZW1pdCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRMaW5rVGFiaW5kZXgoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9pc0N1cnJlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuZWNsTGluay50YWJpbmRleCA9IG51bGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVjbExpbmsudGFiaW5kZXggPSAtMTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
@@ -1,14 +1,16 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { Component, ContentChildren, EventEmitter, HostBinding, HostListener, Input, Output, ViewChild } from '@angular/core';
3
+ import { Subject, takeUntil } from 'rxjs';
3
4
  import { coerceBoolean, coerceElement } from '@eui/base';
4
5
  import { EclBaseEvent } from '../../model/ecl-base.event';
5
6
  import { ECLBaseDirective } from '../ecl-base.directive';
6
7
  import { EclNewsTickerItemComponent } from './ecl-news-ticker-item.component';
7
8
  import * as i0 from "@angular/core";
8
- import * as i1 from "../ecl-button/ecl-button.component";
9
- import * as i2 from "../ecl-icon/ecl-icon.component";
10
- import * as i3 from "./ecl-news-ticker-item.component";
11
- import * as i4 from "@ngx-translate/core";
9
+ import * as i1 from "@angular/common";
10
+ import * as i2 from "../ecl-button/ecl-button.component";
11
+ import * as i3 from "../ecl-icon/ecl-icon.component";
12
+ import * as i4 from "./ecl-news-ticker-item.component";
13
+ import * as i5 from "@ngx-translate/core";
12
14
  export class EclNewsTickerItemEvent extends EclBaseEvent {
13
15
  constructor(itemIndex) {
14
16
  super();
@@ -26,6 +28,8 @@ export class EclNewsTickerComponent extends ECLBaseDirective {
26
28
  this.slidesTransform = '';
27
29
  this.PLAY_INTERVAL = 5000;
28
30
  this.INIT_DELAY = 300;
31
+ this.pausePlay = false;
32
+ this.destroy$ = new Subject();
29
33
  }
30
34
  get cssClasses() {
31
35
  return [
@@ -37,6 +41,7 @@ export class EclNewsTickerComponent extends ECLBaseDirective {
37
41
  get itemsCount() {
38
42
  return this.newsTickerItems.length;
39
43
  }
44
+ get isShowControls() { return this.newsTickerItems.length > 1; }
40
45
  onResize(event) {
41
46
  setTimeout(() => {
42
47
  this.resizeTicker();
@@ -47,12 +52,22 @@ export class EclNewsTickerComponent extends ECLBaseDirective {
47
52
  setTimeout(() => {
48
53
  this.initContainer();
49
54
  }, this.INIT_DELAY);
55
+ this.newsTickerItems.forEach(item => {
56
+ item.itemFocused.pipe(takeUntil(this.destroy$))
57
+ .subscribe(() => {
58
+ this.cancelAutoplay();
59
+ });
60
+ });
50
61
  }
51
62
  ngOnDestroy() {
52
63
  if (this.intervalId) {
53
64
  clearInterval(this.intervalId);
54
65
  }
55
- this.unsubscribeListener();
66
+ if (this.unsubscribeListener) {
67
+ this.unsubscribeListener();
68
+ }
69
+ this.destroy$.next(true);
70
+ this.destroy$.unsubscribe();
56
71
  }
57
72
  onPrevious() {
58
73
  this.cancelAutoplay();
@@ -82,14 +97,9 @@ export class EclNewsTickerComponent extends ECLBaseDirective {
82
97
  }
83
98
  this.itemSwitch.next(new EclNewsTickerItemEvent(this.itemIndex));
84
99
  }
85
- togglePlay() {
86
- if (!this.playing) {
87
- this.intervalId = setInterval(() => this.nextSlide(), this.PLAY_INTERVAL);
88
- }
89
- else {
90
- clearInterval(this.intervalId);
91
- }
92
- this.playing = !this.playing;
100
+ startAutoplay() {
101
+ this.playing = true;
102
+ this.intervalId = setInterval(() => this.nextSlide(), this.PLAY_INTERVAL);
93
103
  }
94
104
  cancelAutoplay() {
95
105
  if (this.intervalId) {
@@ -97,6 +107,18 @@ export class EclNewsTickerComponent extends ECLBaseDirective {
97
107
  }
98
108
  this.playing = false;
99
109
  }
110
+ onNewsTickerItemMouseOver() {
111
+ if (this.playing) {
112
+ this.pausePlay = true;
113
+ this.cancelAutoplay();
114
+ }
115
+ }
116
+ onNewsTickerItemMouseOut() {
117
+ if (this.pausePlay) {
118
+ this.pausePlay = false;
119
+ this.startAutoplay();
120
+ }
121
+ }
100
122
  moveSlides(item, withTransition) {
101
123
  if (item) {
102
124
  const newOffset = item.el.nativeElement.offsetTop;
@@ -108,13 +130,18 @@ export class EclNewsTickerComponent extends ECLBaseDirective {
108
130
  }
109
131
  }
110
132
  initContainer() {
133
+ if (this.newsTickerItems.length === 1) {
134
+ this.resizeTicker();
135
+ this.moveSlides(this.getFirstItem(this.newsTickerItems.toArray()), false);
136
+ return;
137
+ }
111
138
  this.firstHiddenItem.el.nativeElement.innerHTML = this.getLastContentChild();
112
139
  this.lastHiddenItem.el.nativeElement.innerHTML = this.getFirstContentChild();
113
140
  this.unsubscribeListener = this.renderer2.listen(this.slidesContainer, 'transitionend', () => this.checkIndex());
114
141
  this.resizeTicker();
115
142
  this.moveSlides(this.getFirstItem(this.newsTickerItems.toArray()), false);
116
143
  if (this.isAutoplay) {
117
- this.togglePlay();
144
+ this.startAutoplay();
118
145
  }
119
146
  }
120
147
  checkIndex() {
@@ -161,15 +188,15 @@ export class EclNewsTickerComponent extends ECLBaseDirective {
161
188
  }
162
189
  setCurrentSlide(currentItem) {
163
190
  this.newsTickerItems.forEach(item => {
164
- item.ariaHidden = true;
191
+ item.isCurrent = false;
165
192
  if (item === currentItem) {
166
- item.ariaHidden = false;
193
+ item.isCurrent = true;
167
194
  }
168
195
  });
169
196
  }
170
197
  }
171
198
  /** @nocollapse */ EclNewsTickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: EclNewsTickerComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
172
- /** @nocollapse */ EclNewsTickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: EclNewsTickerComponent, selector: "ecl-news-ticker", inputs: { isAutoplay: "isAutoplay" }, outputs: { itemSwitch: "itemSwitch" }, host: { listeners: { "window:resize": "onResize($event)" }, properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "newsTickerItems", predicate: EclNewsTickerItemComponent }], viewQueries: [{ propertyName: "firstHiddenItem", first: true, predicate: ["firstHiddenItem"], descendants: true }, { propertyName: "lastHiddenItem", first: true, predicate: ["lastHiddenItem"], descendants: true }, { propertyName: "slidesContainer", first: true, predicate: ["slidesContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-news-ticker__container\"\n [style.height.px]=\"containerHeight\">\n <ecl-icon icon=\"information\"\n size=\"m\"\n class=\"ecl-news-ticker__icon\"></ecl-icon>\n <div class=\"ecl-news-ticker__content\"\n [style.height.px]=\"contentHeight\">\n <ul class=\"ecl-news-ticker__slides\"\n [style.transition-duration.s]=\"transitionDuration\"\n [style.transform]=\"slidesTransform\"\n #slidesContainer >\n <ecl-news-ticker-item #firstHiddenItem></ecl-news-ticker-item>\n <ng-content></ng-content>\n <ecl-news-ticker-item #lastHiddenItem></ecl-news-ticker-item>\n </ul>\n </div>\n</div>\n\n\n<div class=\"ecl-news-ticker__controls\">\n <button eclButton\n variant=\"primary\"\n class=\"ecl-news-ticker__prev\"\n (click)=\"onPrevious()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.PREV-NEWS' | translate }}\n </span>\n <ecl-icon isInverted\n icon=\"corner-arrow\"\n size=\"l\"\n transform=\"rotate-270\"\n class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n </button>\n <button eclButton\n variant=\"primary\"\n class=\"ecl-news-ticker__next\"\n (click)=\"onNext()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.NEXT-NEWS' | translate }}\n </span>\n <ecl-icon isInverted\n icon=\"corner-arrow\"\n size=\"l\"\n transform=\"rotate-90\"\n class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n </button>\n <button \n eclButton \n variant=\"primary\"\n class=\"ecl-news-ticker__play\"\n [class.ecl-u-d-none]=\"playing\"\n (click)=\"togglePlay()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.AUTO-PLAY' | translate }}\n </span>\n <ecl-icon isInverted\n icon=\"play\"\n size=\"l\"\n class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n <ecl-icon isInverted\n icon=\"play-filled\"\n size=\"l\"\n class=\"ecl-news-ticker__icon-active\"></ecl-icon>\n </button>\n <button\n eclButton \n variant=\"primary\"\n class=\"ecl-news-ticker__pause\"\n [class.ecl-u-d-none]=\"!playing\"\n (click)=\"togglePlay()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.PAUSE' | translate }}\n </span>\n <ecl-icon isInverted\n icon=\"pause\"\n size=\"l\"\n class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n <ecl-icon isInverted\n icon=\"pause-filled\"\n size=\"l\"\n class=\"ecl-news-ticker__icon-active\"></ecl-icon>\n </button>\n <div class=\"ecl-news-ticker__counter\">\n <span class=\"ecl-news-ticker__counter--current\"> {{ itemIndex }}</span> \n {{ 'ecl.common.OF' | translate }}\n <span class=\"ecl-news-ticker__counter--max\">{{ itemsCount }}</span>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: i1.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["variant", "containerStyleClass"] }, { kind: "component", type: i2.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "isInverted", "ariaHidden", "focusable"] }, { kind: "component", type: i3.EclNewsTickerItemComponent, selector: "ecl-news-ticker-item" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
199
+ /** @nocollapse */ EclNewsTickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: EclNewsTickerComponent, selector: "ecl-news-ticker", inputs: { isAutoplay: "isAutoplay" }, outputs: { itemSwitch: "itemSwitch" }, host: { listeners: { "window:resize": "onResize($event)" }, properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "newsTickerItems", predicate: EclNewsTickerItemComponent }], viewQueries: [{ propertyName: "firstHiddenItem", first: true, predicate: ["firstHiddenItem"], descendants: true }, { propertyName: "lastHiddenItem", first: true, predicate: ["lastHiddenItem"], descendants: true }, { propertyName: "slidesContainer", first: true, predicate: ["slidesContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-news-ticker__container\"\n [style.height.px]=\"containerHeight\">\n <ecl-icon icon=\"information\"\n size=\"m\"\n class=\"ecl-news-ticker__icon\"></ecl-icon>\n <div class=\"ecl-news-ticker__content\"\n [style.height.px]=\"contentHeight\">\n <ul class=\"ecl-news-ticker__slides\"\n [style.transition-duration.s]=\"transitionDuration\"\n [style.transform]=\"slidesTransform\"\n (mouseover)=\"onNewsTickerItemMouseOver()\"\n (mouseout)=\"onNewsTickerItemMouseOut()\"\n #slidesContainer>\n <ecl-news-ticker-item #firstHiddenItem *ngIf=\"isShowControls\"></ecl-news-ticker-item>\n <ng-content></ng-content>\n <ecl-news-ticker-item #lastHiddenItem *ngIf=\"isShowControls\"></ecl-news-ticker-item>\n </ul>\n </div>\n</div>\n\n\n<div class=\"ecl-news-ticker__controls\" *ngIf=\"isShowControls\">\n <button eclButton\n variant=\"primary\"\n class=\"ecl-news-ticker__prev\"\n (click)=\"onPrevious()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.PREV-NEWS' | translate }}\n </span>\n <ecl-icon isInverted\n icon=\"corner-arrow\"\n size=\"l\"\n transform=\"rotate-270\"\n class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n </button>\n <button eclButton\n variant=\"primary\"\n class=\"ecl-news-ticker__next\"\n (click)=\"onNext()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.NEXT-NEWS' | translate }}\n </span>\n <ecl-icon isInverted\n icon=\"corner-arrow\"\n size=\"l\"\n transform=\"rotate-90\"\n class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n </button>\n <button \n eclButton \n variant=\"primary\"\n class=\"ecl-news-ticker__play\"\n [class.ecl-u-d-none]=\"playing\"\n (click)=\"startAutoplay()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.AUTO-PLAY' | translate }}\n </span>\n <ecl-icon isInverted\n icon=\"play\"\n size=\"l\"\n class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n <ecl-icon isInverted\n icon=\"play-filled\"\n size=\"l\"\n class=\"ecl-news-ticker__icon-active\"></ecl-icon>\n </button>\n <button\n eclButton \n variant=\"primary\"\n class=\"ecl-news-ticker__pause\"\n [class.ecl-u-d-none]=\"!playing\"\n (click)=\"cancelAutoplay()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.PAUSE' | translate }}\n </span>\n <ecl-icon isInverted\n icon=\"pause\"\n size=\"l\"\n class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n <ecl-icon isInverted\n icon=\"pause-filled\"\n size=\"l\"\n class=\"ecl-news-ticker__icon-active\"></ecl-icon>\n </button>\n <div class=\"ecl-news-ticker__counter\">\n <span class=\"ecl-news-ticker__counter--current\"> {{ itemIndex }}</span> \n {{ 'ecl.common.OF' | translate }}\n <span class=\"ecl-news-ticker__counter--max\">{{ itemsCount }}</span>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["variant", "containerStyleClass"] }, { kind: "component", type: i3.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "isInverted", "ariaHidden", "focusable"] }, { kind: "component", type: i4.EclNewsTickerItemComponent, selector: "ecl-news-ticker-item", outputs: ["itemFocused"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
173
200
  __decorate([
174
201
  coerceBoolean
175
202
  ], EclNewsTickerComponent.prototype, "isAutoplay", void 0);
@@ -178,7 +205,7 @@ __decorate([
178
205
  ], EclNewsTickerComponent.prototype, "slidesContainer", void 0);
179
206
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: EclNewsTickerComponent, decorators: [{
180
207
  type: Component,
181
- args: [{ selector: 'ecl-news-ticker', template: "<div class=\"ecl-news-ticker__container\"\n [style.height.px]=\"containerHeight\">\n <ecl-icon icon=\"information\"\n size=\"m\"\n class=\"ecl-news-ticker__icon\"></ecl-icon>\n <div class=\"ecl-news-ticker__content\"\n [style.height.px]=\"contentHeight\">\n <ul class=\"ecl-news-ticker__slides\"\n [style.transition-duration.s]=\"transitionDuration\"\n [style.transform]=\"slidesTransform\"\n #slidesContainer >\n <ecl-news-ticker-item #firstHiddenItem></ecl-news-ticker-item>\n <ng-content></ng-content>\n <ecl-news-ticker-item #lastHiddenItem></ecl-news-ticker-item>\n </ul>\n </div>\n</div>\n\n\n<div class=\"ecl-news-ticker__controls\">\n <button eclButton\n variant=\"primary\"\n class=\"ecl-news-ticker__prev\"\n (click)=\"onPrevious()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.PREV-NEWS' | translate }}\n </span>\n <ecl-icon isInverted\n icon=\"corner-arrow\"\n size=\"l\"\n transform=\"rotate-270\"\n class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n </button>\n <button eclButton\n variant=\"primary\"\n class=\"ecl-news-ticker__next\"\n (click)=\"onNext()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.NEXT-NEWS' | translate }}\n </span>\n <ecl-icon isInverted\n icon=\"corner-arrow\"\n size=\"l\"\n transform=\"rotate-90\"\n class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n </button>\n <button \n eclButton \n variant=\"primary\"\n class=\"ecl-news-ticker__play\"\n [class.ecl-u-d-none]=\"playing\"\n (click)=\"togglePlay()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.AUTO-PLAY' | translate }}\n </span>\n <ecl-icon isInverted\n icon=\"play\"\n size=\"l\"\n class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n <ecl-icon isInverted\n icon=\"play-filled\"\n size=\"l\"\n class=\"ecl-news-ticker__icon-active\"></ecl-icon>\n </button>\n <button\n eclButton \n variant=\"primary\"\n class=\"ecl-news-ticker__pause\"\n [class.ecl-u-d-none]=\"!playing\"\n (click)=\"togglePlay()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.PAUSE' | translate }}\n </span>\n <ecl-icon isInverted\n icon=\"pause\"\n size=\"l\"\n class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n <ecl-icon isInverted\n icon=\"pause-filled\"\n size=\"l\"\n class=\"ecl-news-ticker__icon-active\"></ecl-icon>\n </button>\n <div class=\"ecl-news-ticker__counter\">\n <span class=\"ecl-news-ticker__counter--current\"> {{ itemIndex }}</span> \n {{ 'ecl.common.OF' | translate }}\n <span class=\"ecl-news-ticker__counter--max\">{{ itemsCount }}</span>\n </div>\n</div>\n" }]
208
+ args: [{ selector: 'ecl-news-ticker', template: "<div class=\"ecl-news-ticker__container\"\n [style.height.px]=\"containerHeight\">\n <ecl-icon icon=\"information\"\n size=\"m\"\n class=\"ecl-news-ticker__icon\"></ecl-icon>\n <div class=\"ecl-news-ticker__content\"\n [style.height.px]=\"contentHeight\">\n <ul class=\"ecl-news-ticker__slides\"\n [style.transition-duration.s]=\"transitionDuration\"\n [style.transform]=\"slidesTransform\"\n (mouseover)=\"onNewsTickerItemMouseOver()\"\n (mouseout)=\"onNewsTickerItemMouseOut()\"\n #slidesContainer>\n <ecl-news-ticker-item #firstHiddenItem *ngIf=\"isShowControls\"></ecl-news-ticker-item>\n <ng-content></ng-content>\n <ecl-news-ticker-item #lastHiddenItem *ngIf=\"isShowControls\"></ecl-news-ticker-item>\n </ul>\n </div>\n</div>\n\n\n<div class=\"ecl-news-ticker__controls\" *ngIf=\"isShowControls\">\n <button eclButton\n variant=\"primary\"\n class=\"ecl-news-ticker__prev\"\n (click)=\"onPrevious()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.PREV-NEWS' | translate }}\n </span>\n <ecl-icon isInverted\n icon=\"corner-arrow\"\n size=\"l\"\n transform=\"rotate-270\"\n class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n </button>\n <button eclButton\n variant=\"primary\"\n class=\"ecl-news-ticker__next\"\n (click)=\"onNext()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.NEXT-NEWS' | translate }}\n </span>\n <ecl-icon isInverted\n icon=\"corner-arrow\"\n size=\"l\"\n transform=\"rotate-90\"\n class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n </button>\n <button \n eclButton \n variant=\"primary\"\n class=\"ecl-news-ticker__play\"\n [class.ecl-u-d-none]=\"playing\"\n (click)=\"startAutoplay()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.AUTO-PLAY' | translate }}\n </span>\n <ecl-icon isInverted\n icon=\"play\"\n size=\"l\"\n class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n <ecl-icon isInverted\n icon=\"play-filled\"\n size=\"l\"\n class=\"ecl-news-ticker__icon-active\"></ecl-icon>\n </button>\n <button\n eclButton \n variant=\"primary\"\n class=\"ecl-news-ticker__pause\"\n [class.ecl-u-d-none]=\"!playing\"\n (click)=\"cancelAutoplay()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.PAUSE' | translate }}\n </span>\n <ecl-icon isInverted\n icon=\"pause\"\n size=\"l\"\n class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n <ecl-icon isInverted\n icon=\"pause-filled\"\n size=\"l\"\n class=\"ecl-news-ticker__icon-active\"></ecl-icon>\n </button>\n <div class=\"ecl-news-ticker__counter\">\n <span class=\"ecl-news-ticker__counter--current\"> {{ itemIndex }}</span> \n {{ 'ecl.common.OF' | translate }}\n <span class=\"ecl-news-ticker__counter--max\">{{ itemsCount }}</span>\n </div>\n</div>\n" }]
182
209
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }]; }, propDecorators: { isAutoplay: [{
183
210
  type: Input
184
211
  }], itemSwitch: [{
@@ -202,4 +229,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
202
229
  type: HostListener,
203
230
  args: ['window:resize', ['$event']]
204
231
  }] } });
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLW5ld3MtdGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtbmV3cy10aWNrZXIvZWNsLW5ld3MtdGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtbmV3cy10aWNrZXIvZWNsLW5ld3MtdGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUgsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUdOLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7OztBQUU5RSxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsWUFBWTtJQUNwRCxZQUFtQixTQUFpQjtRQUNoQyxLQUFLLEVBQUUsQ0FBQztRQURPLGNBQVMsR0FBVCxTQUFTLENBQVE7SUFFcEMsQ0FBQztDQUNKO0FBTUQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGdCQUFnQjtJQTJCeEQsWUFBb0IsU0FBb0I7UUFDcEMsS0FBSyxFQUFFLENBQUM7UUFEUSxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBekJoQixlQUFVLEdBQWtCLElBQUksQ0FBQztRQUMvQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQTBCLENBQUM7UUFhbEUsY0FBUyxHQUFXLENBQUMsQ0FBQztRQUN0QixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hC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O2dCQStCcEIsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgUmVuZGVyZXIyLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW4sIGNvZXJjZUVsZW1lbnQgfSBmcm9tICdAZXVpL2Jhc2UnO1xuaW1wb3J0IHsgRWNsQmFzZUV2ZW50IH0gZnJvbSAnLi4vLi4vbW9kZWwvZWNsLWJhc2UuZXZlbnQnO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBFY2xOZXdzVGlja2VySXRlbUNvbXBvbmVudCB9IGZyb20gJy4vZWNsLW5ld3MtdGlja2VyLWl0ZW0uY29tcG9uZW50JztcblxuZXhwb3J0IGNsYXNzIEVjbE5ld3NUaWNrZXJJdGVtRXZlbnQgZXh0ZW5kcyBFY2xCYXNlRXZlbnQge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBpdGVtSW5kZXg6IG51bWJlcikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlY2wtbmV3cy10aWNrZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lY2wtbmV3cy10aWNrZXIuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBFY2xOZXdzVGlja2VyQ29tcG9uZW50IGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgICBAY29lcmNlQm9vbGVhbiBASW5wdXQoKSBpc0F1dG9wbGF5OiBib29sZWFuIHwgYW55ID0gdHJ1ZTtcbiAgICBAT3V0cHV0KCkgaXRlbVN3aXRjaCA9IG5ldyBFdmVudEVtaXR0ZXI8RWNsTmV3c1RpY2tlckl0ZW1FdmVudD4oKTtcbiAgICBAQ29udGVudENoaWxkcmVuKEVjbE5ld3NUaWNrZXJJdGVtQ29tcG9uZW50KSBuZXdzVGlja2VySXRlbXM6IFF1ZXJ5TGlzdDxFY2xOZXdzVGlja2VySXRlbUNvbXBvbmVudD47XG4gICAgQFZpZXdDaGlsZCgnZmlyc3RIaWRkZW5JdGVtJykgZmlyc3RIaWRkZW5JdGVtOiBFY2xOZXdzVGlja2VySXRlbUNvbXBvbmVudDtcbiAgICBAVmlld0NoaWxkKCdsYXN0SGlkZGVuSXRlbScpIGxhc3RIaWRkZW5JdGVtOiBFY2xOZXdzVGlja2VySXRlbUNvbXBvbmVudDtcbiAgICBAY29lcmNlRWxlbWVudCBAVmlld0NoaWxkKCdzbGlkZXNDb250YWluZXInKSBzbGlkZXNDb250YWluZXI6IEVsZW1lbnQgfCBhbnk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZWNsLW5ld3MtdGlja2VyJyksXG4gICAgICAgIF0uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG5cbiAgICBpdGVtSW5kZXg6IG51bWJlciA9IDE7XG4gICAgcGxheWluZyA9IGZhbHNlO1xuICAgIHNsaWRlc1RyYW5zZm9ybTogc3RyaW5nID0gJyc7XG4gICAgdHJhbnNpdGlvbkR1cmF0aW9uOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBpbnRlcnZhbElkOiBhbnk7XG4gICAgcHJpdmF0ZSBQTEFZX0lOVEVSVkFMID0gNTAwMDtcbiAgICBwcml2YXRlIElOSVRfREVMQVkgPSAzMDA7XG4gICAgcHJpdmF0ZSBfY29udGFpbmVySGVpZ2h0OiBudW1iZXI7XG4gICAgcHJpdmF0ZSBfY29udGVudEhlaWdodDogbnVtYmVyO1xuICAgIHByaXZhdGUgdW5zdWJzY3JpYmVMaXN0ZW5lcjogKCkgPT4gdm9pZDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXIyOiBSZW5kZXJlcjIpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBnZXQgY29udGFpbmVySGVpZ2h0KCk6IG51bWJlciB7IHJldHVybiB0aGlzLl9jb250YWluZXJIZWlnaHQ7IH1cblxuICAgIGdldCBjb250ZW50SGVpZ2h0KCk6IG51bWJlciB7IHJldHVybiB0aGlzLl9jb250ZW50SGVpZ2h0OyB9XG5cbiAgICBnZXQgaXRlbXNDb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uZXdzVGlja2VySXRlbXMubGVuZ3RoO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxuICAgIG9uUmVzaXplKGV2ZW50KTogdm9pZCB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZXNpemVUaWNrZXIoKTtcbiAgICAgICAgICAgIHRoaXMubW92ZVNsaWRlcyh0aGlzLmdldEN1cnJlbnRJdGVtKCksIGZhbHNlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW5pdENvbnRhaW5lcigpO1xuICAgICAgICB9LCB0aGlzLklOSVRfREVMQVkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pbnRlcnZhbElkKSB7XG4gICAgICAgICAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWxJZCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51bnN1YnNjcmliZUxpc3RlbmVyKCk7XG4gICAgfVxuXG4gICAgb25QcmV2aW91cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jYW5jZWxBdXRvcGxheSgpO1xuICAgICAgICB0aGlzLnByZXZpb3VzU2xpZGUoKTtcbiAgICB9XG5cbiAgICBwcmV2aW91c1NsaWRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLml0ZW1JbmRleCA9IHRoaXMuZ2V0UHJldkluZGV4KCk7XG4gICAgICAgIGlmICh0aGlzLml0ZW1JbmRleCA9PT0gdGhpcy5pdGVtc0NvdW50KSB7XG4gICAgICAgICAgICB0aGlzLm1vdmVTbGlkZXModGhpcy5nZXRGaXJzdEl0ZW0odGhpcy5nZXRBbGxJdGVtc0FycmF5KCkpLCB0cnVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubW92ZVNsaWRlcyh0aGlzLmdldEN1cnJlbnRJdGVtKCksIHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXRlbVN3aXRjaC5uZXh0KG5ldyBFY2xOZXdzVGlja2VySXRlbUV2ZW50KHRoaXMuaXRlbUluZGV4KSk7XG4gICAgfVxuXG4gICAgb25OZXh0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNhbmNlbEF1dG9wbGF5KCk7XG4gICAgICAgIHRoaXMubmV4dFNsaWRlKCk7XG4gICAgfVxuXG4gICAgbmV4dFNsaWRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLml0ZW1JbmRleCA9IHRoaXMuZ2V0TmV4dEluZGV4KCk7XG4gICAgICAgIGlmICh0aGlzLml0ZW1JbmRleCA9PT0gMSkge1xuICAgICAgICAgICAgdGhpcy5tb3ZlU2xpZGVzKHRoaXMuZ2V0TGFzdEl0ZW0odGhpcy5nZXRBbGxJdGVtc0FycmF5KCkpLCB0cnVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubW92ZVNsaWRlcyh0aGlzLmdldEN1cnJlbnRJdGVtKCksIHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXRlbVN3aXRjaC5uZXh0KG5ldyBFY2xOZXdzVGlja2VySXRlbUV2ZW50KHRoaXMuaXRlbUluZGV4KSk7XG4gICAgfVxuXG4gICAgdG9nZ2xlUGxheSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnBsYXlpbmcpIHtcbiAgICAgICAgICAgIHRoaXMuaW50ZXJ2YWxJZCA9IHNldEludGVydmFsKCgpID0+IHRoaXMubmV4dFNsaWRlKCksIHRoaXMuUExBWV9JTlRFUlZBTCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWxJZCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wbGF5aW5nID0gIXRoaXMucGxheWluZztcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbmNlbEF1dG9wbGF5KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pbnRlcnZhbElkKSB7XG4gICAgICAgICAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWxJZCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wbGF5aW5nID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtb3ZlU2xpZGVzKGl0ZW06IEVjbE5ld3NUaWNrZXJJdGVtQ29tcG9uZW50LCB3aXRoVHJhbnNpdGlvbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgY29uc3QgbmV3T2Zmc2V0ID0gaXRlbS5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFRvcDtcbiAgICAgICAgICAgIGNvbnN0IG5ld0hlaWdodCA9IGl0ZW0uZWwubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgICAgICB0aGlzLl9jb250ZW50SGVpZ2h0ID0gbmV3SGVpZ2h0O1xuICAgICAgICAgICAgdGhpcy50cmFuc2l0aW9uRHVyYXRpb24gPSB3aXRoVHJhbnNpdGlvbiA/IDAuNCA6IDA7XG4gICAgICAgICAgICB0aGlzLnNsaWRlc1RyYW5zZm9ybSA9IGB0cmFuc2xhdGUzZCgwcHgsIC0ke25ld09mZnNldH1weCwgMHB4KWA7XG5cbiAgICAgICAgICAgIHRoaXMuc2V0Q3VycmVudFNsaWRlKGl0ZW0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0Q29udGFpbmVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpcnN0SGlkZGVuSXRlbS5lbC5uYXRpdmVFbGVtZW50LmlubmVySFRNTCA9IHRoaXMuZ2V0TGFzdENvbnRlbnRDaGlsZCgpO1xuICAgICAgICB0aGlzLmxhc3RIaWRkZW5JdGVtLmVsLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy5nZXRGaXJzdENvbnRlbnRDaGlsZCgpO1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyMi5saXN0ZW4oXG4gICAgICAgICAgICB0aGlzLnNsaWRlc0NvbnRhaW5lcixcbiAgICAgICAgICAgICd0cmFuc2l0aW9uZW5kJyxcbiAgICAgICAgICAgICgpID0+IHRoaXMuY2hlY2tJbmRleCgpXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMucmVzaXplVGlja2VyKCk7XG4gICAgICAgIHRoaXMubW92ZVNsaWRlcyh0aGlzLmdldEZpcnN0SXRlbSh0aGlzLm5ld3NUaWNrZXJJdGVtcy50b0FycmF5KCkpLCBmYWxzZSk7XG4gICAgICAgIGlmICh0aGlzLmlzQXV0b3BsYXkpIHtcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlUGxheSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0luZGV4KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pdGVtSW5kZXggPT09IDEpIHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmdldEZpcnN0SXRlbSh0aGlzLm5ld3NUaWNrZXJJdGVtcy50b0FycmF5KCkpO1xuICAgICAgICAgICAgdGhpcy5tb3ZlU2xpZGVzKGl0ZW0sIGZhbHNlKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLml0ZW1JbmRleCA9PT0gdGhpcy5pdGVtc0NvdW50KSB7XG4gICAgICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5nZXRMYXN0SXRlbSh0aGlzLm5ld3NUaWNrZXJJdGVtcy50b0FycmF5KCkpO1xuICAgICAgICAgICAgdGhpcy5tb3ZlU2xpZGVzKGl0ZW0sIGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcmVzaXplVGlja2VyKCk6IHZvaWQge1xuICAgICAgICBsZXQgaGlnaGVzdFNsaWRlID0gMDtcbiAgICAgICAgdGhpcy5uZXdzVGlja2VySXRlbXMuZm9yRWFjaCgoc2xpZGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNsaWRlSGVpZ2h0ID0gc2xpZGUuZWwubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgICAgICBoaWdoZXN0U2xpZGUgPSBoaWdoZXN0U2xpZGUgPCBzbGlkZUhlaWdodCA/IHNsaWRlSGVpZ2h0IDogaGlnaGVzdFNsaWRlO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fY29udGFpbmVySGVpZ2h0ID0gaGlnaGVzdFNsaWRlICsgMTA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXROZXh0SW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXRlbUluZGV4ID09PSB0aGlzLml0ZW1zQ291bnQgPyAxIDogKyt0aGlzLml0ZW1JbmRleDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEN1cnJlbnRJdGVtKCk6IEVjbE5ld3NUaWNrZXJJdGVtQ29tcG9uZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QWxsSXRlbXNBcnJheSgpW3RoaXMuaXRlbUluZGV4XTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFByZXZJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5pdGVtSW5kZXggPT09IDEgPyB0aGlzLml0ZW1zQ291bnQgOiAtLXRoaXMuaXRlbUluZGV4O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Rmlyc3RJdGVtKGl0ZW1zOiBBcnJheTxFY2xOZXdzVGlja2VySXRlbUNvbXBvbmVudD4pOiBFY2xOZXdzVGlja2VySXRlbUNvbXBvbmVudCB7XG4gICAgICAgIHJldHVybiBpdGVtcy5sZW5ndGggPiAwID8gaXRlbXNbMF0gOiBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TGFzdEl0ZW0oaXRlbXM6IEFycmF5PEVjbE5ld3NUaWNrZXJJdGVtQ29tcG9uZW50Pik6IEVjbE5ld3NUaWNrZXJJdGVtQ29tcG9uZW50IHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zW2l0ZW1zLmxlbmd0aCAtIDFdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TGFzdENvbnRlbnRDaGlsZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uZXdzVGlja2VySXRlbXMubGVuZ3RoID4gMCA/IHRoaXMubmV3c1RpY2tlckl0ZW1zLmdldCh0aGlzLml0ZW1zQ291bnQgLSAxKS5lbC5uYXRpdmVFbGVtZW50LmlubmVySFRNTCA6ICcnO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Rmlyc3RDb250ZW50Q2hpbGQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmV3c1RpY2tlckl0ZW1zLmxlbmd0aCA+IDAgPyB0aGlzLm5ld3NUaWNrZXJJdGVtcy5nZXQoMCkuZWwubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgOiAnJztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEFsbEl0ZW1zQXJyYXkoKTogRWNsTmV3c1RpY2tlckl0ZW1Db21wb25lbnRbXSB7XG4gICAgICAgIHJldHVybiBbLi4uW3RoaXMuZmlyc3RIaWRkZW5JdGVtXSwgLi4udGhpcy5uZXdzVGlja2VySXRlbXMudG9BcnJheSgpLCAuLi5bdGhpcy5sYXN0SGlkZGVuSXRlbV1dO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Q3VycmVudFNsaWRlKGN1cnJlbnRJdGVtOiBFY2xOZXdzVGlja2VySXRlbUNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5ld3NUaWNrZXJJdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgaXRlbS5hcmlhSGlkZGVuID0gdHJ1ZTtcbiAgICAgICAgICAgIGlmKGl0ZW0gPT09IGN1cnJlbnRJdGVtKSB7XG4gICAgICAgICAgICAgICAgaXRlbS5hcmlhSGlkZGVuID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJlY2wtbmV3cy10aWNrZXJfX2NvbnRhaW5lclwiXG4gICAgW3N0eWxlLmhlaWdodC5weF09XCJjb250YWluZXJIZWlnaHRcIj5cbiAgICA8ZWNsLWljb24gaWNvbj1cImluZm9ybWF0aW9uXCJcbiAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICBjbGFzcz1cImVjbC1uZXdzLXRpY2tlcl9faWNvblwiPjwvZWNsLWljb24+XG4gICAgPGRpdiBjbGFzcz1cImVjbC1uZXdzLXRpY2tlcl9fY29udGVudFwiXG4gICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiY29udGVudEhlaWdodFwiPlxuICAgICAgICA8dWwgY2xhc3M9XCJlY2wtbmV3cy10aWNrZXJfX3NsaWRlc1wiXG4gICAgICAgICAgICBbc3R5bGUudHJhbnNpdGlvbi1kdXJhdGlvbi5zXT1cInRyYW5zaXRpb25EdXJhdGlvblwiXG4gICAgICAgICAgICBbc3R5bGUudHJhbnNmb3JtXT1cInNsaWRlc1RyYW5zZm9ybVwiXG4gICAgICAgICAgICAjc2xpZGVzQ29udGFpbmVyID5cbiAgICAgICAgICAgIDxlY2wtbmV3cy10aWNrZXItaXRlbSAjZmlyc3RIaWRkZW5JdGVtPjwvZWNsLW5ld3MtdGlja2VyLWl0ZW0+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8ZWNsLW5ld3MtdGlja2VyLWl0ZW0gI2xhc3RIaWRkZW5JdGVtPjwvZWNsLW5ld3MtdGlja2VyLWl0ZW0+XG4gICAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuXG48ZGl2IGNsYXNzPVwiZWNsLW5ld3MtdGlja2VyX19jb250cm9sc1wiPlxuICAgIDxidXR0b24gZWNsQnV0dG9uXG4gICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgY2xhc3M9XCJlY2wtbmV3cy10aWNrZXJfX3ByZXZcIlxuICAgICAgICAoY2xpY2spPVwib25QcmV2aW91cygpXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZWNsLXUtc3Itb25seVwiPlxuICAgICAgICAgICAge3sgJ2VjbC5uZXdzLXRpY2tlci5QUkVWLU5FV1MnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPGVjbC1pY29uIGlzSW52ZXJ0ZWRcbiAgICAgICAgICAgIGljb249XCJjb3JuZXItYXJyb3dcIlxuICAgICAgICAgICAgc2l6ZT1cImxcIlxuICAgICAgICAgICAgdHJhbnNmb3JtPVwicm90YXRlLTI3MFwiXG4gICAgICAgICAgICBjbGFzcz1cImVjbC1uZXdzLXRpY2tlcl9faWNvbi1kZWZhdWx0XCI+PC9lY2wtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIGVjbEJ1dHRvblxuICAgICAgICB2YXJpYW50PVwicHJpbWFyeVwiXG4gICAgICAgIGNsYXNzPVwiZWNsLW5ld3MtdGlja2VyX19uZXh0XCJcbiAgICAgICAgKGNsaWNrKT1cIm9uTmV4dCgpXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZWNsLXUtc3Itb25seVwiPlxuICAgICAgICAgICAge3sgJ2VjbC5uZXdzLXRpY2tlci5ORVhULU5FV1MnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8ZWNsLWljb24gaXNJbnZlcnRlZFxuICAgICAgICAgICAgaWNvbj1cImNvcm5lci1hcnJvd1wiXG4gICAgICAgICAgICBzaXplPVwibFwiXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJyb3RhdGUtOTBcIlxuICAgICAgICAgICAgY2xhc3M9XCJlY2wtbmV3cy10aWNrZXJfX2ljb24tZGVmYXVsdFwiPjwvZWNsLWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBcbiAgICAgICAgZWNsQnV0dG9uIFxuICAgICAgICB2YXJpYW50PVwicHJpbWFyeVwiXG4gICAgICAgIGNsYXNzPVwiZWNsLW5ld3MtdGlja2VyX19wbGF5XCJcbiAgICAgICAgW2NsYXNzLmVjbC11LWQtbm9uZV09XCJwbGF5aW5nXCJcbiAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVBsYXkoKVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImVjbC11LXNyLW9ubHlcIj5cbiAgICAgICAgICAgIHt7ICdlY2wubmV3cy10aWNrZXIuQVVUTy1QTEFZJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxlY2wtaWNvbiBpc0ludmVydGVkXG4gICAgICAgICAgICBpY29uPVwicGxheVwiXG4gICAgICAgICAgICBzaXplPVwibFwiXG4gICAgICAgICAgICBjbGFzcz1cImVjbC1uZXdzLXRpY2tlcl9faWNvbi1kZWZhdWx0XCI+PC9lY2wtaWNvbj5cbiAgICAgICAgPGVjbC1pY29uIGlzSW52ZXJ0ZWRcbiAgICAgICAgICAgIGljb249XCJwbGF5LWZpbGxlZFwiXG4gICAgICAgICAgICBzaXplPVwibFwiXG4gICAgICAgICAgICBjbGFzcz1cImVjbC1uZXdzLXRpY2tlcl9faWNvbi1hY3RpdmVcIj48L2VjbC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgZWNsQnV0dG9uIFxuICAgICAgICB2YXJpYW50PVwicHJpbWFyeVwiXG4gICAgICAgIGNsYXNzPVwiZWNsLW5ld3MtdGlja2VyX19wYXVzZVwiXG4gICAgICAgIFtjbGFzcy5lY2wtdS1kLW5vbmVdPVwiIXBsYXlpbmdcIlxuICAgICAgICAoY2xpY2spPVwidG9nZ2xlUGxheSgpXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZWNsLXUtc3Itb25seVwiPlxuICAgICAgICAgICAge3sgJ2VjbC5uZXdzLXRpY2tlci5QQVVTRScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8ZWNsLWljb24gaXNJbnZlcnRlZFxuICAgICAgICAgICAgaWNvbj1cInBhdXNlXCJcbiAgICAgICAgICAgIHNpemU9XCJsXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZWNsLW5ld3MtdGlja2VyX19pY29uLWRlZmF1bHRcIj48L2VjbC1pY29uPlxuICAgICAgICA8ZWNsLWljb24gaXNJbnZlcnRlZFxuICAgICAgICAgICAgaWNvbj1cInBhdXNlLWZpbGxlZFwiXG4gICAgICAgICAgICBzaXplPVwibFwiXG4gICAgICAgICAgICBjbGFzcz1cImVjbC1uZXdzLXRpY2tlcl9faWNvbi1hY3RpdmVcIj48L2VjbC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxkaXYgY2xhc3M9XCJlY2wtbmV3cy10aWNrZXJfX2NvdW50ZXJcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJlY2wtbmV3cy10aWNrZXJfX2NvdW50ZXItLWN1cnJlbnRcIj4ge3sgaXRlbUluZGV4IH19PC9zcGFuPiBcbiAgICAgICAge3sgJ2VjbC5jb21tb24uT0YnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZWNsLW5ld3MtdGlja2VyX19jb3VudGVyLS1tYXhcIj57eyBpdGVtc0NvdW50IH19PC9zcGFuPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
232
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLW5ld3MtdGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtbmV3cy10aWNrZXIvZWNsLW5ld3MtdGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtbmV3cy10aWNrZXIvZWNsLW5ld3MtdGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUgsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUdOLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7QUFFOUUsTUFBTSxPQUFPLHNCQUF1QixTQUFRLFlBQVk7SUFDcEQsWUFBbUIsU0FBaUI7UUFDaEMsS0FBSyxFQUFFLENBQUM7UUFETyxjQUFTLEdBQVQsU0FBUyxDQUFRO0lBRXBDLENBQUM7Q0FDSjtBQU1ELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxnQkFBZ0I7SUE2QnhELFlBQW9CLFNBQW9CO1FBQ3BDLEtBQUssRUFBRSxDQUFDO1FBRFEsY0FBUyxHQUFULFNBQVMsQ0FBVztRQTNCaEIsZUFBVSxHQUFrQixJQUFJLENBQUM7UUFDL0MsZUFBVSxHQUFHLElBQUksWUFBWSxFQUEwQixDQUFDO1FBYWxFLGNBQVMsR0FBVyxDQUFDLENBQUM7UUFDdEIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixvQkFBZSxHQUFXLEVBQUUsQ0FBQztRQUdyQixrQkFBYSxHQUFHLElBQUksQ0FBQztRQUNyQixlQUFVLEdBQUcsR0FBRyxDQUFDO1FBR2pCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEIsYUFBUSxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO0lBSTVELENBQUM7SUF0QkQsSUFDSSxVQUFVO1FBQ1YsT0FBTztZQUNILEtBQUssQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUM7U0FDekMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQW1CRCxJQUFJLGVBQWUsS0FBYSxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7SUFFL0QsSUFBSSxhQUFhLEtBQWEsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUUzRCxJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLGNBQWMsS0FBYyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFHekUsUUFBUSxDQUFDLEtBQUs7UUFDVixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2xELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGVBQWU7UUFDWCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3pCLENBQUMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDOUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDMUIsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2pCLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDbEM7UUFDRCxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUMxQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztTQUM5QjtRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELFVBQVU7UUFDTixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxhQUFhO1FBQ1QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDckMsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDckU7YUFBTTtZQUNILElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ2hEO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELFNBQVM7UUFDTCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNyQyxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssQ0FBQyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ3BFO2FBQU07WUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUNoRDtRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksc0JBQXNCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELGFBQWE7UUFDVCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxjQUFjO1FBQ1YsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2pCLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDbEM7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQseUJBQXlCO1FBQ3JCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNkLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN6QjtJQUNMLENBQUM7SUFFRCx3QkFBd0I7UUFDcEIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUN4QjtJQUNMLENBQUM7SUFFTyxVQUFVLENBQUMsSUFBZ0MsRUFBRSxjQUF1QjtRQUN4RSxJQUFJLElBQUksRUFBRTtZQUNOLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztZQUNsRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7WUFDckQsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUM7WUFDaEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkQsSUFBSSxDQUFDLGVBQWUsR0FBRyxxQkFBcUIsU0FBUyxVQUFVLENBQUM7WUFFaEUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM5QjtJQUNMLENBQUM7SUFFTyxhQUFhO1FBQ2pCLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ25DLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzFFLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDN0UsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM3RSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQzVDLElBQUksQ0FBQyxlQUFlLEVBQ3BCLGVBQWUsRUFDZixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQzFCLENBQUM7UUFDRixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMxRSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQztJQUVPLFVBQVU7UUFDZCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssQ0FBQyxFQUFFO1lBQ3RCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQy9ELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ2hDO2FBQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDM0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDOUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDaEM7SUFDTCxDQUFDO0lBRU8sWUFBWTtRQUNoQixJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQyxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7WUFDeEQsWUFBWSxHQUFHLFlBQVksR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO1FBQzNFLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVPLFlBQVk7UUFDaEIsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3JFLENBQUM7SUFFTyxjQUFjO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFTyxZQUFZO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNyRSxDQUFDO0lBRU8sWUFBWSxDQUFDLEtBQXdDO1FBQ3pELE9BQU8sS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzlDLENBQUM7SUFFTyxXQUFXLENBQUMsS0FBd0M7UUFDeEQsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU8sbUJBQW1CO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDM0gsQ0FBQztJQUVPLG9CQUFvQjtRQUN4QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN6RyxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFDcEcsQ0FBQztJQUVPLGVBQWUsQ0FBQyxXQUF1QztRQUMzRCxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNoQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFHLElBQUksS0FBSyxXQUFXLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO2FBQ3pCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztzSUE1TlEsc0JBQXNCOzBIQUF0QixzQkFBc0IsOFFBSWQsMEJBQTBCLGdYQ2xDL0Msc3dHQTBGQTtBRDFEbUI7SUFBZCxhQUFhOzBEQUEyQztBQUsxQztJQUFkLGFBQWE7K0RBQThEOzJGQVBuRSxzQkFBc0I7a0JBSmxDLFNBQVM7K0JBQ0ksaUJBQWlCO2dHQUtILFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ1gsVUFBVTtzQkFBbkIsTUFBTTtnQkFDc0MsZUFBZTtzQkFBM0QsZUFBZTt1QkFBQywwQkFBMEI7Z0JBQ2IsZUFBZTtzQkFBNUMsU0FBUzt1QkFBQyxpQkFBaUI7Z0JBQ0MsY0FBYztzQkFBMUMsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBQ2tCLGVBQWU7c0JBQTVDLFNBQVM7dUJBQUMsaUJBQWlCO2dCQUd2QyxVQUFVO3NCQURiLFdBQVc7dUJBQUMsT0FBTztnQkFtQ3BCLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW4sIGNvZXJjZUVsZW1lbnQgfSBmcm9tICdAZXVpL2Jhc2UnO1xuaW1wb3J0IHsgRWNsQmFzZUV2ZW50IH0gZnJvbSAnLi4vLi4vbW9kZWwvZWNsLWJhc2UuZXZlbnQnO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBFY2xOZXdzVGlja2VySXRlbUNvbXBvbmVudCB9IGZyb20gJy4vZWNsLW5ld3MtdGlja2VyLWl0ZW0uY29tcG9uZW50JztcblxuZXhwb3J0IGNsYXNzIEVjbE5ld3NUaWNrZXJJdGVtRXZlbnQgZXh0ZW5kcyBFY2xCYXNlRXZlbnQge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBpdGVtSW5kZXg6IG51bWJlcikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlY2wtbmV3cy10aWNrZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lY2wtbmV3cy10aWNrZXIuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBFY2xOZXdzVGlja2VyQ29tcG9uZW50IGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgICBAY29lcmNlQm9vbGVhbiBASW5wdXQoKSBpc0F1dG9wbGF5OiBib29sZWFuIHwgYW55ID0gdHJ1ZTtcbiAgICBAT3V0cHV0KCkgaXRlbVN3aXRjaCA9IG5ldyBFdmVudEVtaXR0ZXI8RWNsTmV3c1RpY2tlckl0ZW1FdmVudD4oKTtcbiAgICBAQ29udGVudENoaWxkcmVuKEVjbE5ld3NUaWNrZXJJdGVtQ29tcG9uZW50KSBuZXdzVGlja2VySXRlbXM6IFF1ZXJ5TGlzdDxFY2xOZXdzVGlja2VySXRlbUNvbXBvbmVudD47XG4gICAgQFZpZXdDaGlsZCgnZmlyc3RIaWRkZW5JdGVtJykgZmlyc3RIaWRkZW5JdGVtOiBFY2xOZXdzVGlja2VySXRlbUNvbXBvbmVudDtcbiAgICBAVmlld0NoaWxkKCdsYXN0SGlkZGVuSXRlbScpIGxhc3RIaWRkZW5JdGVtOiBFY2xOZXdzVGlja2VySXRlbUNvbXBvbmVudDtcbiAgICBAY29lcmNlRWxlbWVudCBAVmlld0NoaWxkKCdzbGlkZXNDb250YWluZXInKSBzbGlkZXNDb250YWluZXI6IEVsZW1lbnQgfCBhbnk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZWNsLW5ld3MtdGlja2VyJyksXG4gICAgICAgIF0uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG5cbiAgICBpdGVtSW5kZXg6IG51bWJlciA9IDE7XG4gICAgcGxheWluZyA9IGZhbHNlO1xuICAgIHNsaWRlc1RyYW5zZm9ybTogc3RyaW5nID0gJyc7XG4gICAgdHJhbnNpdGlvbkR1cmF0aW9uOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBpbnRlcnZhbElkOiBhbnk7XG4gICAgcHJpdmF0ZSBQTEFZX0lOVEVSVkFMID0gNTAwMDtcbiAgICBwcml2YXRlIElOSVRfREVMQVkgPSAzMDA7XG4gICAgcHJpdmF0ZSBfY29udGFpbmVySGVpZ2h0OiBudW1iZXI7XG4gICAgcHJpdmF0ZSBfY29udGVudEhlaWdodDogbnVtYmVyO1xuICAgIHByaXZhdGUgcGF1c2VQbGF5ID0gZmFsc2U7XG4gICAgcHJpdmF0ZSB1bnN1YnNjcmliZUxpc3RlbmVyOiAoKSA9PiB2b2lkO1xuICAgIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjI6IFJlbmRlcmVyMikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIGdldCBjb250YWluZXJIZWlnaHQoKTogbnVtYmVyIHsgcmV0dXJuIHRoaXMuX2NvbnRhaW5lckhlaWdodDsgfVxuXG4gICAgZ2V0IGNvbnRlbnRIZWlnaHQoKTogbnVtYmVyIHsgcmV0dXJuIHRoaXMuX2NvbnRlbnRIZWlnaHQ7IH1cblxuICAgIGdldCBpdGVtc0NvdW50KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ld3NUaWNrZXJJdGVtcy5sZW5ndGg7XG4gICAgfVxuXG4gICAgZ2V0IGlzU2hvd0NvbnRyb2xzKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5uZXdzVGlja2VySXRlbXMubGVuZ3RoID4gMTsgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXG4gICAgb25SZXNpemUoZXZlbnQpOiB2b2lkIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlc2l6ZVRpY2tlcigpO1xuICAgICAgICAgICAgdGhpcy5tb3ZlU2xpZGVzKHRoaXMuZ2V0Q3VycmVudEl0ZW0oKSwgZmFsc2UpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pbml0Q29udGFpbmVyKCk7XG4gICAgICAgIH0sIHRoaXMuSU5JVF9ERUxBWSk7XG4gICAgICAgIHRoaXMubmV3c1RpY2tlckl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICBpdGVtLml0ZW1Gb2N1c2VkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYW5jZWxBdXRvcGxheSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pbnRlcnZhbElkKSB7XG4gICAgICAgICAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWxJZCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudW5zdWJzY3JpYmVMaXN0ZW5lcikge1xuICAgICAgICAgICAgdGhpcy51bnN1YnNjcmliZUxpc3RlbmVyKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgb25QcmV2aW91cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jYW5jZWxBdXRvcGxheSgpO1xuICAgICAgICB0aGlzLnByZXZpb3VzU2xpZGUoKTtcbiAgICB9XG5cbiAgICBwcmV2aW91c1NsaWRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLml0ZW1JbmRleCA9IHRoaXMuZ2V0UHJldkluZGV4KCk7XG4gICAgICAgIGlmICh0aGlzLml0ZW1JbmRleCA9PT0gdGhpcy5pdGVtc0NvdW50KSB7XG4gICAgICAgICAgICB0aGlzLm1vdmVTbGlkZXModGhpcy5nZXRGaXJzdEl0ZW0odGhpcy5nZXRBbGxJdGVtc0FycmF5KCkpLCB0cnVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubW92ZVNsaWRlcyh0aGlzLmdldEN1cnJlbnRJdGVtKCksIHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXRlbVN3aXRjaC5uZXh0KG5ldyBFY2xOZXdzVGlja2VySXRlbUV2ZW50KHRoaXMuaXRlbUluZGV4KSk7XG4gICAgfVxuXG4gICAgb25OZXh0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNhbmNlbEF1dG9wbGF5KCk7XG4gICAgICAgIHRoaXMubmV4dFNsaWRlKCk7XG4gICAgfVxuXG4gICAgbmV4dFNsaWRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLml0ZW1JbmRleCA9IHRoaXMuZ2V0TmV4dEluZGV4KCk7XG4gICAgICAgIGlmICh0aGlzLml0ZW1JbmRleCA9PT0gMSkge1xuICAgICAgICAgICAgdGhpcy5tb3ZlU2xpZGVzKHRoaXMuZ2V0TGFzdEl0ZW0odGhpcy5nZXRBbGxJdGVtc0FycmF5KCkpLCB0cnVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubW92ZVNsaWRlcyh0aGlzLmdldEN1cnJlbnRJdGVtKCksIHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXRlbVN3aXRjaC5uZXh0KG5ldyBFY2xOZXdzVGlja2VySXRlbUV2ZW50KHRoaXMuaXRlbUluZGV4KSk7XG4gICAgfVxuXG4gICAgc3RhcnRBdXRvcGxheSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wbGF5aW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5pbnRlcnZhbElkID0gc2V0SW50ZXJ2YWwoKCkgPT4gdGhpcy5uZXh0U2xpZGUoKSwgdGhpcy5QTEFZX0lOVEVSVkFMKTtcbiAgICB9XG5cbiAgICBjYW5jZWxBdXRvcGxheSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaW50ZXJ2YWxJZCkge1xuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsSWQpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucGxheWluZyA9IGZhbHNlO1xuICAgIH1cblxuICAgIG9uTmV3c1RpY2tlckl0ZW1Nb3VzZU92ZXIoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnBsYXlpbmcpIHtcbiAgICAgICAgICAgIHRoaXMucGF1c2VQbGF5ID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuY2FuY2VsQXV0b3BsYXkoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uTmV3c1RpY2tlckl0ZW1Nb3VzZU91dCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucGF1c2VQbGF5KSB7XG4gICAgICAgICAgICB0aGlzLnBhdXNlUGxheSA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5zdGFydEF1dG9wbGF5KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG1vdmVTbGlkZXMoaXRlbTogRWNsTmV3c1RpY2tlckl0ZW1Db21wb25lbnQsIHdpdGhUcmFuc2l0aW9uOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICBjb25zdCBuZXdPZmZzZXQgPSBpdGVtLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wO1xuICAgICAgICAgICAgY29uc3QgbmV3SGVpZ2h0ID0gaXRlbS5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodDtcbiAgICAgICAgICAgIHRoaXMuX2NvbnRlbnRIZWlnaHQgPSBuZXdIZWlnaHQ7XG4gICAgICAgICAgICB0aGlzLnRyYW5zaXRpb25EdXJhdGlvbiA9IHdpdGhUcmFuc2l0aW9uID8gMC40IDogMDtcbiAgICAgICAgICAgIHRoaXMuc2xpZGVzVHJhbnNmb3JtID0gYHRyYW5zbGF0ZTNkKDBweCwgLSR7bmV3T2Zmc2V0fXB4LCAwcHgpYDtcblxuICAgICAgICAgICAgdGhpcy5zZXRDdXJyZW50U2xpZGUoaXRlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRDb250YWluZXIoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm5ld3NUaWNrZXJJdGVtcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgIHRoaXMucmVzaXplVGlja2VyKCk7XG4gICAgICAgICAgICB0aGlzLm1vdmVTbGlkZXModGhpcy5nZXRGaXJzdEl0ZW0odGhpcy5uZXdzVGlja2VySXRlbXMudG9BcnJheSgpKSwgZmFsc2UpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZmlyc3RIaWRkZW5JdGVtLmVsLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy5nZXRMYXN0Q29udGVudENoaWxkKCk7XG4gICAgICAgIHRoaXMubGFzdEhpZGRlbkl0ZW0uZWwubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLmdldEZpcnN0Q29udGVudENoaWxkKCk7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmVMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIyLmxpc3RlbihcbiAgICAgICAgICAgIHRoaXMuc2xpZGVzQ29udGFpbmVyLFxuICAgICAgICAgICAgJ3RyYW5zaXRpb25lbmQnLFxuICAgICAgICAgICAgKCkgPT4gdGhpcy5jaGVja0luZGV4KClcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5yZXNpemVUaWNrZXIoKTtcbiAgICAgICAgdGhpcy5tb3ZlU2xpZGVzKHRoaXMuZ2V0Rmlyc3RJdGVtKHRoaXMubmV3c1RpY2tlckl0ZW1zLnRvQXJyYXkoKSksIGZhbHNlKTtcbiAgICAgICAgaWYgKHRoaXMuaXNBdXRvcGxheSkge1xuICAgICAgICAgICAgdGhpcy5zdGFydEF1dG9wbGF5KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNoZWNrSW5kZXgoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLml0ZW1JbmRleCA9PT0gMSkge1xuICAgICAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuZ2V0Rmlyc3RJdGVtKHRoaXMubmV3c1RpY2tlckl0ZW1zLnRvQXJyYXkoKSk7XG4gICAgICAgICAgICB0aGlzLm1vdmVTbGlkZXMoaXRlbSwgZmFsc2UpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXRlbUluZGV4ID09PSB0aGlzLml0ZW1zQ291bnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmdldExhc3RJdGVtKHRoaXMubmV3c1RpY2tlckl0ZW1zLnRvQXJyYXkoKSk7XG4gICAgICAgICAgICB0aGlzLm1vdmVTbGlkZXMoaXRlbSwgZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXNpemVUaWNrZXIoKTogdm9pZCB7XG4gICAgICAgIGxldCBoaWdoZXN0U2xpZGUgPSAwO1xuICAgICAgICB0aGlzLm5ld3NUaWNrZXJJdGVtcy5mb3JFYWNoKChzbGlkZSkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2xpZGVIZWlnaHQgPSBzbGlkZS5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodDtcbiAgICAgICAgICAgIGhpZ2hlc3RTbGlkZSA9IGhpZ2hlc3RTbGlkZSA8IHNsaWRlSGVpZ2h0ID8gc2xpZGVIZWlnaHQgOiBoaWdoZXN0U2xpZGU7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9jb250YWluZXJIZWlnaHQgPSBoaWdoZXN0U2xpZGUgKyAxMDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE5leHRJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5pdGVtSW5kZXggPT09IHRoaXMuaXRlbXNDb3VudCA/IDEgOiArK3RoaXMuaXRlbUluZGV4O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q3VycmVudEl0ZW0oKTogRWNsTmV3c1RpY2tlckl0ZW1Db21wb25lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRBbGxJdGVtc0FycmF5KClbdGhpcy5pdGVtSW5kZXhdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UHJldkluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1JbmRleCA9PT0gMSA/IHRoaXMuaXRlbXNDb3VudCA6IC0tdGhpcy5pdGVtSW5kZXg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRGaXJzdEl0ZW0oaXRlbXM6IEFycmF5PEVjbE5ld3NUaWNrZXJJdGVtQ29tcG9uZW50Pik6IEVjbE5ld3NUaWNrZXJJdGVtQ29tcG9uZW50IHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zLmxlbmd0aCA+IDAgPyBpdGVtc1swXSA6IG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRMYXN0SXRlbShpdGVtczogQXJyYXk8RWNsTmV3c1RpY2tlckl0ZW1Db21wb25lbnQ+KTogRWNsTmV3c1RpY2tlckl0ZW1Db21wb25lbnQge1xuICAgICAgICByZXR1cm4gaXRlbXNbaXRlbXMubGVuZ3RoIC0gMV07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRMYXN0Q29udGVudENoaWxkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ld3NUaWNrZXJJdGVtcy5sZW5ndGggPiAwID8gdGhpcy5uZXdzVGlja2VySXRlbXMuZ2V0KHRoaXMuaXRlbXNDb3VudCAtIDEpLmVsLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MIDogJyc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRGaXJzdENvbnRlbnRDaGlsZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uZXdzVGlja2VySXRlbXMubGVuZ3RoID4gMCA/IHRoaXMubmV3c1RpY2tlckl0ZW1zLmdldCgwKS5lbC5uYXRpdmVFbGVtZW50LmlubmVySFRNTCA6ICcnO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QWxsSXRlbXNBcnJheSgpOiBFY2xOZXdzVGlja2VySXRlbUNvbXBvbmVudFtdIHtcbiAgICAgICAgcmV0dXJuIFsuLi5bdGhpcy5maXJzdEhpZGRlbkl0ZW1dLCAuLi50aGlzLm5ld3NUaWNrZXJJdGVtcy50b0FycmF5KCksIC4uLlt0aGlzLmxhc3RIaWRkZW5JdGVtXV07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRDdXJyZW50U2xpZGUoY3VycmVudEl0ZW06IEVjbE5ld3NUaWNrZXJJdGVtQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMubmV3c1RpY2tlckl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICBpdGVtLmlzQ3VycmVudCA9IGZhbHNlO1xuICAgICAgICAgICAgaWYoaXRlbSA9PT0gY3VycmVudEl0ZW0pIHtcbiAgICAgICAgICAgICAgICBpdGVtLmlzQ3VycmVudCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJlY2wtbmV3cy10aWNrZXJfX2NvbnRhaW5lclwiXG4gICAgW3N0eWxlLmhlaWdodC5weF09XCJjb250YWluZXJIZWlnaHRcIj5cbiAgICA8ZWNsLWljb24gaWNvbj1cImluZm9ybWF0aW9uXCJcbiAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICBjbGFzcz1cImVjbC1uZXdzLXRpY2tlcl9faWNvblwiPjwvZWNsLWljb24+XG4gICAgPGRpdiBjbGFzcz1cImVjbC1uZXdzLXRpY2tlcl9fY29udGVudFwiXG4gICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiY29udGVudEhlaWdodFwiPlxuICAgICAgICA8dWwgY2xhc3M9XCJlY2wtbmV3cy10aWNrZXJfX3NsaWRlc1wiXG4gICAgICAgICAgICBbc3R5bGUudHJhbnNpdGlvbi1kdXJhdGlvbi5zXT1cInRyYW5zaXRpb25EdXJhdGlvblwiXG4gICAgICAgICAgICBbc3R5bGUudHJhbnNmb3JtXT1cInNsaWRlc1RyYW5zZm9ybVwiXG4gICAgICAgICAgICAobW91c2VvdmVyKT1cIm9uTmV3c1RpY2tlckl0ZW1Nb3VzZU92ZXIoKVwiXG4gICAgICAgICAgICAobW91c2VvdXQpPVwib25OZXdzVGlja2VySXRlbU1vdXNlT3V0KClcIlxuICAgICAgICAgICAgI3NsaWRlc0NvbnRhaW5lcj5cbiAgICAgICAgICAgIDxlY2wtbmV3cy10aWNrZXItaXRlbSAjZmlyc3RIaWRkZW5JdGVtICpuZ0lmPVwiaXNTaG93Q29udHJvbHNcIj48L2VjbC1uZXdzLXRpY2tlci1pdGVtPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPGVjbC1uZXdzLXRpY2tlci1pdGVtICNsYXN0SGlkZGVuSXRlbSAqbmdJZj1cImlzU2hvd0NvbnRyb2xzXCI+PC9lY2wtbmV3cy10aWNrZXItaXRlbT5cbiAgICAgICAgPC91bD5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG5cbjxkaXYgY2xhc3M9XCJlY2wtbmV3cy10aWNrZXJfX2NvbnRyb2xzXCIgKm5nSWY9XCJpc1Nob3dDb250cm9sc1wiPlxuICAgIDxidXR0b24gZWNsQnV0dG9uXG4gICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgY2xhc3M9XCJlY2wtbmV3cy10aWNrZXJfX3ByZXZcIlxuICAgICAgICAoY2xpY2spPVwib25QcmV2aW91cygpXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZWNsLXUtc3Itb25seVwiPlxuICAgICAgICAgICAge3sgJ2VjbC5uZXdzLXRpY2tlci5QUkVWLU5FV1MnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPGVjbC1pY29uIGlzSW52ZXJ0ZWRcbiAgICAgICAgICAgIGljb249XCJjb3JuZXItYXJyb3dcIlxuICAgICAgICAgICAgc2l6ZT1cImxcIlxuICAgICAgICAgICAgdHJhbnNmb3JtPVwicm90YXRlLTI3MFwiXG4gICAgICAgICAgICBjbGFzcz1cImVjbC1uZXdzLXRpY2tlcl9faWNvbi1kZWZhdWx0XCI+PC9lY2wtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIGVjbEJ1dHRvblxuICAgICAgICB2YXJpYW50PVwicHJpbWFyeVwiXG4gICAgICAgIGNsYXNzPVwiZWNsLW5ld3MtdGlja2VyX19uZXh0XCJcbiAgICAgICAgKGNsaWNrKT1cIm9uTmV4dCgpXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZWNsLXUtc3Itb25seVwiPlxuICAgICAgICAgICAge3sgJ2VjbC5uZXdzLXRpY2tlci5ORVhULU5FV1MnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8ZWNsLWljb24gaXNJbnZlcnRlZFxuICAgICAgICAgICAgaWNvbj1cImNvcm5lci1hcnJvd1wiXG4gICAgICAgICAgICBzaXplPVwibFwiXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJyb3RhdGUtOTBcIlxuICAgICAgICAgICAgY2xhc3M9XCJlY2wtbmV3cy10aWNrZXJfX2ljb24tZGVmYXVsdFwiPjwvZWNsLWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBcbiAgICAgICAgZWNsQnV0dG9uIFxuICAgICAgICB2YXJpYW50PVwicHJpbWFyeVwiXG4gICAgICAgIGNsYXNzPVwiZWNsLW5ld3MtdGlja2VyX19wbGF5XCJcbiAgICAgICAgW2NsYXNzLmVjbC11LWQtbm9uZV09XCJwbGF5aW5nXCJcbiAgICAgICAgKGNsaWNrKT1cInN0YXJ0QXV0b3BsYXkoKVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImVjbC11LXNyLW9ubHlcIj5cbiAgICAgICAgICAgIHt7ICdlY2wubmV3cy10aWNrZXIuQVVUTy1QTEFZJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxlY2wtaWNvbiBpc0ludmVydGVkXG4gICAgICAgICAgICBpY29uPVwicGxheVwiXG4gICAgICAgICAgICBzaXplPVwibFwiXG4gICAgICAgICAgICBjbGFzcz1cImVjbC1uZXdzLXRpY2tlcl9faWNvbi1kZWZhdWx0XCI+PC9lY2wtaWNvbj5cbiAgICAgICAgPGVjbC1pY29uIGlzSW52ZXJ0ZWRcbiAgICAgICAgICAgIGljb249XCJwbGF5LWZpbGxlZFwiXG4gICAgICAgICAgICBzaXplPVwibFwiXG4gICAgICAgICAgICBjbGFzcz1cImVjbC1uZXdzLXRpY2tlcl9faWNvbi1hY3RpdmVcIj48L2VjbC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgZWNsQnV0dG9uIFxuICAgICAgICB2YXJpYW50PVwicHJpbWFyeVwiXG4gICAgICAgIGNsYXNzPVwiZWNsLW5ld3MtdGlja2VyX19wYXVzZVwiXG4gICAgICAgIFtjbGFzcy5lY2wtdS1kLW5vbmVdPVwiIXBsYXlpbmdcIlxuICAgICAgICAoY2xpY2spPVwiY2FuY2VsQXV0b3BsYXkoKVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImVjbC11LXNyLW9ubHlcIj5cbiAgICAgICAgICAgIHt7ICdlY2wubmV3cy10aWNrZXIuUEFVU0UnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPGVjbC1pY29uIGlzSW52ZXJ0ZWRcbiAgICAgICAgICAgIGljb249XCJwYXVzZVwiXG4gICAgICAgICAgICBzaXplPVwibFwiXG4gICAgICAgICAgICBjbGFzcz1cImVjbC1uZXdzLXRpY2tlcl9faWNvbi1kZWZhdWx0XCI+PC9lY2wtaWNvbj5cbiAgICAgICAgPGVjbC1pY29uIGlzSW52ZXJ0ZWRcbiAgICAgICAgICAgIGljb249XCJwYXVzZS1maWxsZWRcIlxuICAgICAgICAgICAgc2l6ZT1cImxcIlxuICAgICAgICAgICAgY2xhc3M9XCJlY2wtbmV3cy10aWNrZXJfX2ljb24tYWN0aXZlXCI+PC9lY2wtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8ZGl2IGNsYXNzPVwiZWNsLW5ld3MtdGlja2VyX19jb3VudGVyXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZWNsLW5ld3MtdGlja2VyX19jb3VudGVyLS1jdXJyZW50XCI+IHt7IGl0ZW1JbmRleCB9fTwvc3Bhbj4gXG4gICAgICAgIHt7ICdlY2wuY29tbW9uLk9GJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8c3BhbiBjbGFzcz1cImVjbC1uZXdzLXRpY2tlcl9fY291bnRlci0tbWF4XCI+e3sgaXRlbXNDb3VudCB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19