@mozaic-ds/angular 0.24.0-beta.11 → 0.24.0-beta.13

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 (234) hide show
  1. package/adeo/assets/fonts/LeroyMerlinSans-Web-Italic.woff +0 -0
  2. package/adeo/assets/fonts/LeroyMerlinSans-Web-Italic.woff2 +0 -0
  3. package/adeo/assets/fonts/LeroyMerlinSans-Web-Light.woff +0 -0
  4. package/adeo/assets/fonts/LeroyMerlinSans-Web-Light.woff2 +0 -0
  5. package/adeo/assets/fonts/LeroyMerlinSans-Web-LightItalic.woff +0 -0
  6. package/adeo/assets/fonts/LeroyMerlinSans-Web-LightItalic.woff2 +0 -0
  7. package/adeo/assets/fonts/LeroyMerlinSans-Web-Regular.woff +0 -0
  8. package/adeo/assets/fonts/LeroyMerlinSans-Web-Regular.woff2 +0 -0
  9. package/adeo/assets/fonts/LeroyMerlinSans-Web-SemiBold.woff +0 -0
  10. package/adeo/assets/fonts/LeroyMerlinSans-Web-SemiBold.woff2 +0 -0
  11. package/adeo/assets/fonts/LeroyMerlinSans-Web-SemiBoldItalic.woff +0 -0
  12. package/adeo/assets/fonts/LeroyMerlinSans-Web-SemiBoldItalic.woff2 +0 -0
  13. package/adeo/assets/tokens/bricoman/js/tokens.js +1 -1
  14. package/adeo/assets/tokens/bricoman/js/tokensObject.js +15 -15
  15. package/adeo/assets/tokens/bricoman/scss/_tokens.scss +3 -3
  16. package/adeo/components/card/card.component.d.ts +11 -0
  17. package/adeo/components/card/card.module.d.ts +8 -0
  18. package/adeo/components/card/index.d.ts +3 -0
  19. package/adeo/components/card/model/card.d.ts +1 -0
  20. package/adeo/components/card/public-api.d.ts +1 -0
  21. package/adeo/components/dropdown/dropdown.component.d.ts +5 -8
  22. package/adeo/components/header/header.component.d.ts +6 -4
  23. package/adeo/components/listbox/listbox.component.d.ts +6 -6
  24. package/adeo/components/notification/notification-container.component.d.ts +14 -4
  25. package/adeo/components/notification/notification.d.ts +3 -0
  26. package/adeo/components/notification/notification.service.d.ts +1 -0
  27. package/adeo/components/phone-number/phone-number.component.d.ts +4 -12
  28. package/adeo/components/public-api.d.ts +2 -0
  29. package/adeo/components/stepper-bar/index.d.ts +3 -0
  30. package/adeo/components/stepper-bar/public-api.d.ts +1 -0
  31. package/adeo/components/stepper-bar/stepper-bar.component.d.ts +39 -0
  32. package/adeo/components/stepper-bar/stepper-bar.module.d.ts +10 -0
  33. package/adeo/components/stepper-bar/types/index.d.ts +6 -0
  34. package/adeo/components/tabs/tab.component.d.ts +4 -2
  35. package/adeo/components/tabs/tabs.component.d.ts +1 -1
  36. package/adeo/esm2020/components/action-bar/action-bar.component.mjs +3 -3
  37. package/adeo/esm2020/components/card/card.component.mjs +27 -0
  38. package/adeo/esm2020/components/card/card.module.mjs +18 -0
  39. package/adeo/esm2020/components/card/index.mjs +4 -0
  40. package/adeo/esm2020/components/card/model/card.mjs +2 -0
  41. package/adeo/esm2020/components/card/public-api.mjs +2 -0
  42. package/adeo/esm2020/components/dropdown/dropdown.component.mjs +16 -46
  43. package/adeo/esm2020/components/header/header.component.mjs +12 -12
  44. package/adeo/esm2020/components/listbox/listbox.component.mjs +25 -30
  45. package/adeo/esm2020/components/notification/notification-animation.mjs +7 -4
  46. package/adeo/esm2020/components/notification/notification-container.component.mjs +63 -13
  47. package/adeo/esm2020/components/notification/notification.mjs +1 -1
  48. package/adeo/esm2020/components/notification/notification.service.mjs +6 -3
  49. package/adeo/esm2020/components/phone-number/phone-number.component.mjs +15 -68
  50. package/adeo/esm2020/components/public-api.mjs +3 -1
  51. package/adeo/esm2020/components/stepper-bar/index.mjs +4 -0
  52. package/adeo/esm2020/components/stepper-bar/public-api.mjs +2 -0
  53. package/adeo/esm2020/components/stepper-bar/stepper-bar.component.mjs +80 -0
  54. package/adeo/esm2020/components/stepper-bar/stepper-bar.module.mjs +20 -0
  55. package/adeo/esm2020/components/stepper-bar/types/index.mjs +2 -0
  56. package/adeo/esm2020/components/tabs/tab.component.mjs +7 -6
  57. package/adeo/esm2020/components/tabs/tabs.component.mjs +8 -4
  58. package/adeo/fesm2015/mozaic-ds-angular.mjs +279 -178
  59. package/adeo/fesm2015/mozaic-ds-angular.mjs.map +1 -1
  60. package/adeo/fesm2020/mozaic-ds-angular.mjs +271 -173
  61. package/adeo/fesm2020/mozaic-ds-angular.mjs.map +1 -1
  62. package/adeo/package.json +1 -1
  63. package/assets/fonts/LeroyMerlinSans-Web-Italic.woff +0 -0
  64. package/assets/fonts/LeroyMerlinSans-Web-Italic.woff2 +0 -0
  65. package/assets/fonts/LeroyMerlinSans-Web-Light.woff +0 -0
  66. package/assets/fonts/LeroyMerlinSans-Web-Light.woff2 +0 -0
  67. package/assets/fonts/LeroyMerlinSans-Web-LightItalic.woff +0 -0
  68. package/assets/fonts/LeroyMerlinSans-Web-LightItalic.woff2 +0 -0
  69. package/assets/fonts/LeroyMerlinSans-Web-Regular.woff +0 -0
  70. package/assets/fonts/LeroyMerlinSans-Web-Regular.woff2 +0 -0
  71. package/assets/fonts/LeroyMerlinSans-Web-SemiBold.woff +0 -0
  72. package/assets/fonts/LeroyMerlinSans-Web-SemiBold.woff2 +0 -0
  73. package/assets/fonts/LeroyMerlinSans-Web-SemiBoldItalic.woff +0 -0
  74. package/assets/fonts/LeroyMerlinSans-Web-SemiBoldItalic.woff2 +0 -0
  75. package/assets/tokens/bricoman/js/tokens.js +1 -1
  76. package/assets/tokens/bricoman/js/tokensObject.js +15 -15
  77. package/assets/tokens/bricoman/scss/_tokens.scss +3 -3
  78. package/bricoman/assets/fonts/LeroyMerlinSans-Web-Italic.woff +0 -0
  79. package/bricoman/assets/fonts/LeroyMerlinSans-Web-Italic.woff2 +0 -0
  80. package/bricoman/assets/fonts/LeroyMerlinSans-Web-Light.woff +0 -0
  81. package/bricoman/assets/fonts/LeroyMerlinSans-Web-Light.woff2 +0 -0
  82. package/bricoman/assets/fonts/LeroyMerlinSans-Web-LightItalic.woff +0 -0
  83. package/bricoman/assets/fonts/LeroyMerlinSans-Web-LightItalic.woff2 +0 -0
  84. package/bricoman/assets/fonts/LeroyMerlinSans-Web-Regular.woff +0 -0
  85. package/bricoman/assets/fonts/LeroyMerlinSans-Web-Regular.woff2 +0 -0
  86. package/bricoman/assets/fonts/LeroyMerlinSans-Web-SemiBold.woff +0 -0
  87. package/bricoman/assets/fonts/LeroyMerlinSans-Web-SemiBold.woff2 +0 -0
  88. package/bricoman/assets/fonts/LeroyMerlinSans-Web-SemiBoldItalic.woff +0 -0
  89. package/bricoman/assets/fonts/LeroyMerlinSans-Web-SemiBoldItalic.woff2 +0 -0
  90. package/bricoman/assets/tokens/bricoman/js/tokens.js +1 -1
  91. package/bricoman/assets/tokens/bricoman/js/tokensObject.js +15 -15
  92. package/bricoman/assets/tokens/bricoman/scss/_tokens.scss +3 -3
  93. package/bricoman/components/card/card.component.d.ts +11 -0
  94. package/bricoman/components/card/card.module.d.ts +8 -0
  95. package/bricoman/components/card/index.d.ts +3 -0
  96. package/bricoman/components/card/model/card.d.ts +1 -0
  97. package/bricoman/components/card/public-api.d.ts +1 -0
  98. package/bricoman/components/dropdown/dropdown.component.d.ts +5 -8
  99. package/bricoman/components/header/header.component.d.ts +6 -4
  100. package/bricoman/components/listbox/listbox.component.d.ts +6 -6
  101. package/bricoman/components/notification/notification-container.component.d.ts +14 -4
  102. package/bricoman/components/notification/notification.d.ts +3 -0
  103. package/bricoman/components/notification/notification.service.d.ts +1 -0
  104. package/bricoman/components/phone-number/phone-number.component.d.ts +4 -12
  105. package/bricoman/components/public-api.d.ts +2 -0
  106. package/bricoman/components/stepper-bar/index.d.ts +3 -0
  107. package/bricoman/components/stepper-bar/public-api.d.ts +1 -0
  108. package/bricoman/components/stepper-bar/stepper-bar.component.d.ts +39 -0
  109. package/bricoman/components/stepper-bar/stepper-bar.module.d.ts +10 -0
  110. package/bricoman/components/stepper-bar/types/index.d.ts +6 -0
  111. package/bricoman/components/tabs/tab.component.d.ts +4 -2
  112. package/bricoman/components/tabs/tabs.component.d.ts +1 -1
  113. package/bricoman/esm2020/components/action-bar/action-bar.component.mjs +3 -3
  114. package/bricoman/esm2020/components/card/card.component.mjs +27 -0
  115. package/bricoman/esm2020/components/card/card.module.mjs +18 -0
  116. package/bricoman/esm2020/components/card/index.mjs +4 -0
  117. package/bricoman/esm2020/components/card/model/card.mjs +2 -0
  118. package/bricoman/esm2020/components/card/public-api.mjs +2 -0
  119. package/bricoman/esm2020/components/dropdown/dropdown.component.mjs +16 -46
  120. package/bricoman/esm2020/components/header/header.component.mjs +12 -12
  121. package/bricoman/esm2020/components/listbox/listbox.component.mjs +25 -30
  122. package/bricoman/esm2020/components/notification/notification-animation.mjs +7 -4
  123. package/bricoman/esm2020/components/notification/notification-container.component.mjs +63 -13
  124. package/bricoman/esm2020/components/notification/notification.mjs +1 -1
  125. package/bricoman/esm2020/components/notification/notification.service.mjs +6 -3
  126. package/bricoman/esm2020/components/phone-number/phone-number.component.mjs +15 -68
  127. package/bricoman/esm2020/components/public-api.mjs +3 -1
  128. package/bricoman/esm2020/components/stepper-bar/index.mjs +4 -0
  129. package/bricoman/esm2020/components/stepper-bar/public-api.mjs +2 -0
  130. package/bricoman/esm2020/components/stepper-bar/stepper-bar.component.mjs +80 -0
  131. package/bricoman/esm2020/components/stepper-bar/stepper-bar.module.mjs +20 -0
  132. package/bricoman/esm2020/components/stepper-bar/types/index.mjs +2 -0
  133. package/bricoman/esm2020/components/tabs/tab.component.mjs +7 -6
  134. package/bricoman/esm2020/components/tabs/tabs.component.mjs +8 -4
  135. package/bricoman/fesm2015/mozaic-ds-angular.mjs +279 -178
  136. package/bricoman/fesm2015/mozaic-ds-angular.mjs.map +1 -1
  137. package/bricoman/fesm2020/mozaic-ds-angular.mjs +271 -173
  138. package/bricoman/fesm2020/mozaic-ds-angular.mjs.map +1 -1
  139. package/bricoman/package.json +1 -1
  140. package/components/card/card.component.d.ts +11 -0
  141. package/components/card/card.module.d.ts +8 -0
  142. package/components/card/index.d.ts +3 -0
  143. package/components/card/model/card.d.ts +1 -0
  144. package/components/card/public-api.d.ts +1 -0
  145. package/components/dropdown/dropdown.component.d.ts +5 -8
  146. package/components/header/header.component.d.ts +6 -4
  147. package/components/listbox/listbox.component.d.ts +6 -6
  148. package/components/notification/notification-container.component.d.ts +14 -4
  149. package/components/notification/notification.d.ts +3 -0
  150. package/components/notification/notification.service.d.ts +1 -0
  151. package/components/phone-number/phone-number.component.d.ts +4 -12
  152. package/components/public-api.d.ts +2 -0
  153. package/components/stepper-bar/index.d.ts +3 -0
  154. package/components/stepper-bar/public-api.d.ts +1 -0
  155. package/components/stepper-bar/stepper-bar.component.d.ts +39 -0
  156. package/components/stepper-bar/stepper-bar.module.d.ts +10 -0
  157. package/components/stepper-bar/types/index.d.ts +6 -0
  158. package/components/tabs/tab.component.d.ts +4 -2
  159. package/components/tabs/tabs.component.d.ts +1 -1
  160. package/esm2020/components/action-bar/action-bar.component.mjs +3 -3
  161. package/esm2020/components/card/card.component.mjs +27 -0
  162. package/esm2020/components/card/card.module.mjs +18 -0
  163. package/esm2020/components/card/index.mjs +4 -0
  164. package/esm2020/components/card/model/card.mjs +2 -0
  165. package/esm2020/components/card/public-api.mjs +2 -0
  166. package/esm2020/components/dropdown/dropdown.component.mjs +16 -46
  167. package/esm2020/components/header/header.component.mjs +12 -12
  168. package/esm2020/components/listbox/listbox.component.mjs +25 -30
  169. package/esm2020/components/notification/notification-animation.mjs +7 -4
  170. package/esm2020/components/notification/notification-container.component.mjs +63 -13
  171. package/esm2020/components/notification/notification.mjs +1 -1
  172. package/esm2020/components/notification/notification.service.mjs +6 -3
  173. package/esm2020/components/phone-number/phone-number.component.mjs +15 -68
  174. package/esm2020/components/public-api.mjs +3 -1
  175. package/esm2020/components/stepper-bar/index.mjs +4 -0
  176. package/esm2020/components/stepper-bar/public-api.mjs +2 -0
  177. package/esm2020/components/stepper-bar/stepper-bar.component.mjs +80 -0
  178. package/esm2020/components/stepper-bar/stepper-bar.module.mjs +20 -0
  179. package/esm2020/components/stepper-bar/types/index.mjs +2 -0
  180. package/esm2020/components/tabs/tab.component.mjs +7 -6
  181. package/esm2020/components/tabs/tabs.component.mjs +8 -4
  182. package/fesm2015/mozaic-ds-angular.mjs +279 -178
  183. package/fesm2015/mozaic-ds-angular.mjs.map +1 -1
  184. package/fesm2020/mozaic-ds-angular.mjs +271 -173
  185. package/fesm2020/mozaic-ds-angular.mjs.map +1 -1
  186. package/package.json +1 -1
  187. package/adeo/assets/tokens/adeo/android/colors.xml +0 -494
  188. package/adeo/assets/tokens/adeo/android/font_dimens.xml +0 -18
  189. package/adeo/assets/tokens/adeo/ios/StyleDictionaryColor.h +0 -502
  190. package/adeo/assets/tokens/adeo/ios/StyleDictionaryColor.m +0 -514
  191. package/adeo/assets/tokens/adeo/ios/StyleDictionaryColor.swift +0 -497
  192. package/adeo/assets/tokens/adeo/ios/StyleDictionarySize.h +0 -69
  193. package/adeo/assets/tokens/adeo/ios/StyleDictionarySize.m +0 -70
  194. package/adeo/assets/tokens/adeo/ios/StyleDictionarySize.swift +0 -71
  195. package/adeo/assets/tokens/bricoman/android/colors.xml +0 -486
  196. package/adeo/assets/tokens/bricoman/android/font_dimens.xml +0 -18
  197. package/adeo/assets/tokens/bricoman/ios/StyleDictionaryColor.h +0 -494
  198. package/adeo/assets/tokens/bricoman/ios/StyleDictionaryColor.m +0 -506
  199. package/adeo/assets/tokens/bricoman/ios/StyleDictionaryColor.swift +0 -489
  200. package/adeo/assets/tokens/bricoman/ios/StyleDictionarySize.h +0 -69
  201. package/adeo/assets/tokens/bricoman/ios/StyleDictionarySize.m +0 -70
  202. package/adeo/assets/tokens/bricoman/ios/StyleDictionarySize.swift +0 -71
  203. package/assets/tokens/adeo/android/colors.xml +0 -494
  204. package/assets/tokens/adeo/android/font_dimens.xml +0 -18
  205. package/assets/tokens/adeo/ios/StyleDictionaryColor.h +0 -502
  206. package/assets/tokens/adeo/ios/StyleDictionaryColor.m +0 -514
  207. package/assets/tokens/adeo/ios/StyleDictionaryColor.swift +0 -497
  208. package/assets/tokens/adeo/ios/StyleDictionarySize.h +0 -69
  209. package/assets/tokens/adeo/ios/StyleDictionarySize.m +0 -70
  210. package/assets/tokens/adeo/ios/StyleDictionarySize.swift +0 -71
  211. package/assets/tokens/bricoman/android/colors.xml +0 -486
  212. package/assets/tokens/bricoman/android/font_dimens.xml +0 -18
  213. package/assets/tokens/bricoman/ios/StyleDictionaryColor.h +0 -494
  214. package/assets/tokens/bricoman/ios/StyleDictionaryColor.m +0 -506
  215. package/assets/tokens/bricoman/ios/StyleDictionaryColor.swift +0 -489
  216. package/assets/tokens/bricoman/ios/StyleDictionarySize.h +0 -69
  217. package/assets/tokens/bricoman/ios/StyleDictionarySize.m +0 -70
  218. package/assets/tokens/bricoman/ios/StyleDictionarySize.swift +0 -71
  219. package/bricoman/assets/tokens/adeo/android/colors.xml +0 -494
  220. package/bricoman/assets/tokens/adeo/android/font_dimens.xml +0 -18
  221. package/bricoman/assets/tokens/adeo/ios/StyleDictionaryColor.h +0 -502
  222. package/bricoman/assets/tokens/adeo/ios/StyleDictionaryColor.m +0 -514
  223. package/bricoman/assets/tokens/adeo/ios/StyleDictionaryColor.swift +0 -497
  224. package/bricoman/assets/tokens/adeo/ios/StyleDictionarySize.h +0 -69
  225. package/bricoman/assets/tokens/adeo/ios/StyleDictionarySize.m +0 -70
  226. package/bricoman/assets/tokens/adeo/ios/StyleDictionarySize.swift +0 -71
  227. package/bricoman/assets/tokens/bricoman/android/colors.xml +0 -486
  228. package/bricoman/assets/tokens/bricoman/android/font_dimens.xml +0 -18
  229. package/bricoman/assets/tokens/bricoman/ios/StyleDictionaryColor.h +0 -494
  230. package/bricoman/assets/tokens/bricoman/ios/StyleDictionaryColor.m +0 -506
  231. package/bricoman/assets/tokens/bricoman/ios/StyleDictionaryColor.swift +0 -489
  232. package/bricoman/assets/tokens/bricoman/ios/StyleDictionarySize.h +0 -69
  233. package/bricoman/assets/tokens/bricoman/ios/StyleDictionarySize.m +0 -70
  234. package/bricoman/assets/tokens/bricoman/ios/StyleDictionarySize.swift +0 -71
@@ -1,6 +1,7 @@
1
- import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, ContentChild, ContentChildren, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
2
2
  import { Direction } from './model/header';
3
3
  import { fromEvent, map, pairwise, startWith } from 'rxjs';
4
+ import { BreadcrumbComponent } from '../breadcrumb';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@angular/common";
6
7
  import * as i2 from "../badge/badge.component";
@@ -41,11 +42,6 @@ export class HeaderComponent {
41
42
  (this.tabsRef?.nativeElement.children && this.tabsRef?.nativeElement.children.length === 0)) {
42
43
  this.showTabs = false;
43
44
  }
44
- if (this.breadcrumbRef == null ||
45
- (this.breadcrumbRef?.nativeElement.children &&
46
- this.breadcrumbRef?.nativeElement.children.length === 0)) {
47
- this.showBreadcrumb = false;
48
- }
49
45
  if (this.activateAnimation && this.sticky) {
50
46
  this.animate = true;
51
47
  this.scrollWithAnimationAndSticky();
@@ -55,6 +51,10 @@ export class HeaderComponent {
55
51
  }
56
52
  this.cdRef.detectChanges();
57
53
  }
54
+ ngAfterContentInit() {
55
+ this.showBreadcrumb = !!this.breadcrumb;
56
+ this.cdRef.detectChanges();
57
+ }
58
58
  onParentScrollWithOnlyAnimation(parentElement) {
59
59
  let previousState = 'unfixed';
60
60
  const headerHeight = this.header.nativeElement.offsetHeight;
@@ -224,10 +224,10 @@ export class HeaderComponent {
224
224
  }
225
225
  }
226
226
  HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HeaderComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
227
- HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: HeaderComponent, selector: "moz-header", inputs: { title: "title", subtitle: "subtitle", badgeType: "badgeType", badgeContent: "badgeContent", size: "size", showShadow: "showShadow", sticky: "sticky", activateAnimation: "activateAnimation", showBack: "showBack", backButtonLabel: "backButtonLabel" }, outputs: { backEvent: "backEvent", directionChangeEvent: "directionChangeEvent", headerStateEvent: "headerStateEvent" }, queries: [{ propertyName: "contentChildren", predicate: ["*"] }], viewQueries: [{ propertyName: "tabsRef", first: true, predicate: ["tabsRef"], descendants: true }, { propertyName: "breadcrumbRef", first: true, predicate: ["breadcrumbRef"], descendants: true }, { propertyName: "header", first: true, predicate: ["header"], descendants: true }, { propertyName: "icons", first: true, predicate: ["iconsWrapper"], descendants: true }, { propertyName: "selector", first: true, predicate: ["selectorWrapper"], descendants: true }], ngImport: i0, template: "<div #header class=\"mc-header\" [ngClass]=\"headerClasses\">\n <div class=\"mc-header__container\">\n <ng-container ngProjectAs=\"'moz-breadcrumb'\" #breadcrumbRef *ngIf=\"showBreadcrumb && !showBack\">\n <ng-content select=\"moz-breadcrumb\"></ng-content>\n </ng-container>\n <div class=\"mc-header__actions\" *ngIf=\"showActions\">\n <div class=\"mc-header__icons\">\n <div #iconsWrapper>\n <ng-content select=\"[icons]\"></ng-content>\n </div>\n </div>\n <div class=\"mc-header__selector\">\n <div #selectorWrapper>\n <ng-content select=\"[selector]\"></ng-content>\n </div>\n </div>\n </div>\n <div class=\"mc-header__content\">\n <div class=\"mc-header__content-main\">\n <button\n class=\"mc-header__back\"\n type=\"button\"\n *ngIf=\"showBack && !showBreadcrumb\"\n (click)=\"back()\"\n >\n <moz-icon iconName=\"Navigation_Arrow_Back_24px\"></moz-icon>\n <span class=\"mc-header__back-label\">{{ backButtonLabel }}</span>\n </button>\n <h1 class=\"mc-header__title mc-header__title--{{ size }}\">{{ title }}</h1>\n </div>\n <div\n class=\"mc-header__content-aside\"\n [ngClass]=\"[showBack && !showBreadcrumb ? 'can-navigate' : '']\"\n >\n <span class=\"mc-header__subtitle\" *ngIf=\"subtitle\">{{ subtitle }}</span>\n <div *ngIf=\"badgeContent\" moz-badge [type]=\"badgeType || 'information'\">\n {{ badgeContent }}\n </div>\n </div>\n </div>\n </div>\n <div class=\"mc-header__tabs mc-divider-top mc-divider-top--light\" #tabsRef *ngIf=\"showTabs\">\n <ng-container ngProjectAs=\"'moz-tabs'\">\n <ng-content select=\"moz-tabs\"></ng-content>\n </ng-container>\n </div>\n</div>\n", styles: [".mc-divider{position:relative}.mc-divider-top{border-top:1px solid #666666}.mc-divider-top--lightest{border-top-color:#fff}.mc-divider-top--light{border-top-color:#b3b3b3}.mc-divider-top--dark{border-top-color:#000}.mc-divider-top--m{border-top-width:.25rem}.mc-divider-top--l{border-top-width:.5rem}.mc-divider-right{border-right:1px solid #666666}.mc-divider-right--lightest{border-right-color:#fff}.mc-divider-right--light{border-right-color:#b3b3b3}.mc-divider-right--dark{border-right-color:#000}.mc-divider-right--m{border-right-width:.25rem}.mc-divider-right--l{border-right-width:.5rem}.mc-divider-bottom{border-bottom:1px solid #666666}.mc-divider-bottom--lightest{border-bottom-color:#fff}.mc-divider-bottom--light{border-bottom-color:#b3b3b3}.mc-divider-bottom--dark{border-bottom-color:#000}.mc-divider-bottom--m{border-bottom-width:.25rem}.mc-divider-bottom--l{border-bottom-width:.5rem}.mc-divider-left{border-left:1px solid #666666}.mc-divider-left--lightest{border-left-color:#fff}.mc-divider-left--light{border-left-color:#b3b3b3}.mc-divider-left--dark{border-left-color:#000}.mc-divider-left--m{border-left-width:.25rem}.mc-divider-left--l{border-left-width:.5rem}.mc-header{font-family:LeroyMerlin,sans-serif;font-weight:400;background-color:#fff;z-index:5}.mc-header__container{padding:.5rem 2rem 1rem;display:grid}@media (min-width: 1024px) and (max-width: 1279px){.mc-header__container{padding-left:3rem;padding-right:3rem}}.mc-header__breadcrumb{grid-column:1;grid-row:auto}.mc-header__content{color:#000;grid-column:1;grid-row:auto;padding-top:.5rem}.mc-header__content-main{display:flex;align-items:center;gap:1rem}.mc-header__content-main:not(:only-child){margin-bottom:.25rem}.mc-header__content-aside{display:flex;align-items:flex-start;flex-direction:column;gap:.5rem;padding-bottom:.5rem}.mc-header__content-aside.can-navigate{padding-left:3rem}@media screen and (min-width: 1024px){.mc-header__content-aside{align-items:center;flex-direction:row;gap:1rem;padding-bottom:0}}.mc-header__back{margin:0;box-shadow:none;text-decoration:none;outline:none;border:none;cursor:pointer;padding:0;align-items:center;background-color:transparent;justify-content:center;color:currentColor;display:flex;height:2rem;width:2rem}.mc-header__back-icon{color:#333;height:1.5rem;width:1.5rem}.mc-header__back-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-header__title{font-size:1.75rem;line-height:1.2857142857;font-weight:600;margin-top:0;margin-bottom:0}.mc-header__title--s{font-size:1.5rem;line-height:1.3333333333}.mc-header__title--l{font-size:2.125rem;line-height:1.2941176471}.mc-header__title--xl{font-size:2.5625rem;line-height:1.3658536585}.mc-header__subtitle{font-size:1rem;line-height:1.375}.mc-header__actions,.mc-header__icons{display:flex;gap:1.5rem}.mc-header__actions{align-items:flex-end;align-self:flex-start;grid-column:1;grid-row:1;justify-self:end;margin-bottom:.5rem;min-height:2.5rem}@media screen and (min-width: 1024px){.mc-header__actions{grid-column:2;grid-row:1;margin-bottom:0}}.mc-header__selector:not(:only-child){padding-left:1.5625rem;position:relative}.mc-header__selector:not(:only-child):before{background:#b3b3b3;content:\"\";display:block;width:1px;height:100%;position:absolute;top:50%;transform:translateY(-50%);left:0}.mc-header__tabs{padding-left:2rem;padding-right:2rem}@media (min-width: 1024px) and (max-width: 1279px){.mc-header__tabs{padding-left:3rem;padding-right:3rem}}.mc-header--shadow{box-shadow:0 1px 5px #19191933}.mc-header--animate{left:0;position:absolute;right:0;transition:transform ease-out .4s}.mc-header--sticky{position:sticky;top:0}.mc-header--up{transform:translateY(0)}.mc-header--down{transform:translateY(calc(-100% - 5px))}.mc-header--unfixed{top:0;left:0;right:0;z-index:1;position:relative;transform:translateY(0)}.mc-header--unpinned{top:0;left:0;right:0;z-index:1;position:sticky;transform:translateY(-100%)}.mc-header--pinned{top:0;left:0;right:0;z-index:1;position:sticky;transform:translateY(0)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.BadgeComponent, selector: "[moz-badge]", inputs: ["type"] }, { kind: "component", type: i3.IconComponent, selector: "moz-icon", inputs: ["iconName"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
227
+ HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: HeaderComponent, selector: "moz-header", inputs: { title: "title", subtitle: "subtitle", badgeType: "badgeType", badgeContent: "badgeContent", size: "size", showShadow: "showShadow", sticky: "sticky", activateAnimation: "activateAnimation", showBack: "showBack", backButtonLabel: "backButtonLabel" }, outputs: { backEvent: "backEvent", directionChangeEvent: "directionChangeEvent", headerStateEvent: "headerStateEvent" }, queries: [{ propertyName: "breadcrumb", first: true, predicate: BreadcrumbComponent, descendants: true }, { propertyName: "contentChildren", predicate: ["*"] }], viewQueries: [{ propertyName: "tabsRef", first: true, predicate: ["tabsRef"], descendants: true }, { propertyName: "header", first: true, predicate: ["header"], descendants: true }, { propertyName: "icons", first: true, predicate: ["iconsWrapper"], descendants: true }, { propertyName: "selector", first: true, predicate: ["selectorWrapper"], descendants: true }], ngImport: i0, template: "<div #header class=\"mc-header\" [ngClass]=\"headerClasses\">\n <div class=\"mc-header__container\">\n\n <ng-content select=\"moz-breadcrumb\"></ng-content>\n\n <div class=\"mc-header__actions\" *ngIf=\"showActions\">\n <div class=\"mc-header__icons\">\n <div #iconsWrapper>\n <ng-content select=\"[icons]\"></ng-content>\n </div>\n </div>\n <div class=\"mc-header__selector\">\n <div #selectorWrapper>\n <ng-content select=\"[selector]\"></ng-content>\n </div>\n </div>\n </div>\n <div class=\"mc-header__content\">\n <div class=\"mc-header__content-main\">\n <button\n class=\"mc-header__back\"\n type=\"button\"\n *ngIf=\"showBack && !showBreadcrumb\"\n (click)=\"back()\"\n >\n <moz-icon iconName=\"Navigation_Arrow_Back_24px\"></moz-icon>\n <span class=\"mc-header__back-label\">{{ backButtonLabel }}</span>\n </button>\n <h1 class=\"mc-header__title mc-header__title--{{ size }}\">{{ title }}</h1>\n </div>\n <div\n class=\"mc-header__content-aside\"\n [ngClass]=\"[showBack && !showBreadcrumb ? 'can-navigate' : '']\"\n >\n <span class=\"mc-header__subtitle\" *ngIf=\"subtitle\">{{ subtitle }}</span>\n <div *ngIf=\"badgeContent\" moz-badge [type]=\"badgeType || 'information'\">\n {{ badgeContent }}\n </div>\n </div>\n </div>\n </div>\n <div class=\"mc-header__tabs mc-divider-top mc-divider-top--light\" #tabsRef *ngIf=\"showTabs\">\n <ng-container ngProjectAs=\"'moz-tabs'\">\n <ng-content select=\"moz-tabs\"></ng-content>\n </ng-container>\n </div>\n</div>\n", styles: [".mc-divider{position:relative}.mc-divider-top{border-top:1px solid #666666}.mc-divider-top--lightest{border-top-color:#fff}.mc-divider-top--light{border-top-color:#b3b3b3}.mc-divider-top--dark{border-top-color:#000}.mc-divider-top--m{border-top-width:.25rem}.mc-divider-top--l{border-top-width:.5rem}.mc-divider-right{border-right:1px solid #666666}.mc-divider-right--lightest{border-right-color:#fff}.mc-divider-right--light{border-right-color:#b3b3b3}.mc-divider-right--dark{border-right-color:#000}.mc-divider-right--m{border-right-width:.25rem}.mc-divider-right--l{border-right-width:.5rem}.mc-divider-bottom{border-bottom:1px solid #666666}.mc-divider-bottom--lightest{border-bottom-color:#fff}.mc-divider-bottom--light{border-bottom-color:#b3b3b3}.mc-divider-bottom--dark{border-bottom-color:#000}.mc-divider-bottom--m{border-bottom-width:.25rem}.mc-divider-bottom--l{border-bottom-width:.5rem}.mc-divider-left{border-left:1px solid #666666}.mc-divider-left--lightest{border-left-color:#fff}.mc-divider-left--light{border-left-color:#b3b3b3}.mc-divider-left--dark{border-left-color:#000}.mc-divider-left--m{border-left-width:.25rem}.mc-divider-left--l{border-left-width:.5rem}.mc-header{font-family:LeroyMerlin,sans-serif;font-weight:400;background-color:#fff;z-index:5}.mc-header__container{padding:.5rem 2rem 1rem;display:grid}@media (min-width: 1024px) and (max-width: 1279px){.mc-header__container{padding-left:3rem;padding-right:3rem}}.mc-header__breadcrumb{grid-column:1;grid-row:auto}.mc-header__content{color:#000;grid-column:1;grid-row:auto;padding-top:.5rem}.mc-header__content-main{display:flex;align-items:center;gap:1rem}.mc-header__content-main:not(:only-child){margin-bottom:.25rem}.mc-header__content-aside{display:flex;align-items:flex-start;flex-direction:column;gap:.5rem;padding-bottom:.5rem}.mc-header__content-aside.can-navigate{padding-left:3rem}@media screen and (min-width: 1024px){.mc-header__content-aside{align-items:center;flex-direction:row;gap:1rem;padding-bottom:0}}.mc-header__back{margin:0;box-shadow:none;text-decoration:none;outline:none;border:none;cursor:pointer;padding:0;align-items:center;background-color:transparent;justify-content:center;color:currentColor;display:flex;height:2rem;width:2rem}.mc-header__back-icon{color:#333;height:1.5rem;width:1.5rem}.mc-header__back-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-header__title{font-size:1.75rem;line-height:1.2857142857;font-weight:600;margin-top:0;margin-bottom:0}.mc-header__title--s{font-size:1.5rem;line-height:1.3333333333}.mc-header__title--l{font-size:2.125rem;line-height:1.2941176471}.mc-header__title--xl{font-size:2.5625rem;line-height:1.3658536585}.mc-header__subtitle{font-size:1rem;line-height:1.375}.mc-header__actions,.mc-header__icons{display:flex;gap:1.5rem}.mc-header__actions{align-items:flex-end;align-self:flex-start;grid-column:1;grid-row:1;justify-self:end;margin-bottom:.5rem;min-height:2.5rem}@media screen and (min-width: 1024px){.mc-header__actions{grid-column:2;grid-row:1;margin-bottom:0}}.mc-header__selector:not(:only-child){padding-left:1.5625rem;position:relative}.mc-header__selector:not(:only-child):before{background:#b3b3b3;content:\"\";display:block;width:1px;height:100%;position:absolute;top:50%;transform:translateY(-50%);left:0}.mc-header__tabs{padding-left:2rem;padding-right:2rem}@media (min-width: 1024px) and (max-width: 1279px){.mc-header__tabs{padding-left:3rem;padding-right:3rem}}.mc-header--shadow{box-shadow:0 1px 5px #19191933}.mc-header--animate{left:0;position:absolute;right:0;transition:transform ease-out .4s}.mc-header--sticky{position:sticky;top:0}.mc-header--up{transform:translateY(0)}.mc-header--down{transform:translateY(calc(-100% - 5px))}.mc-header--unfixed{top:0;left:0;right:0;z-index:1;position:relative;transform:translateY(0)}.mc-header--unpinned{top:0;left:0;right:0;z-index:1;position:sticky;transform:translateY(-100%)}.mc-header--pinned{top:0;left:0;right:0;z-index:1;position:sticky;transform:translateY(0)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.BadgeComponent, selector: "[moz-badge]", inputs: ["type"] }, { kind: "component", type: i3.IconComponent, selector: "moz-icon", inputs: ["iconName"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
228
228
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HeaderComponent, decorators: [{
229
229
  type: Component,
230
- args: [{ selector: 'moz-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #header class=\"mc-header\" [ngClass]=\"headerClasses\">\n <div class=\"mc-header__container\">\n <ng-container ngProjectAs=\"'moz-breadcrumb'\" #breadcrumbRef *ngIf=\"showBreadcrumb && !showBack\">\n <ng-content select=\"moz-breadcrumb\"></ng-content>\n </ng-container>\n <div class=\"mc-header__actions\" *ngIf=\"showActions\">\n <div class=\"mc-header__icons\">\n <div #iconsWrapper>\n <ng-content select=\"[icons]\"></ng-content>\n </div>\n </div>\n <div class=\"mc-header__selector\">\n <div #selectorWrapper>\n <ng-content select=\"[selector]\"></ng-content>\n </div>\n </div>\n </div>\n <div class=\"mc-header__content\">\n <div class=\"mc-header__content-main\">\n <button\n class=\"mc-header__back\"\n type=\"button\"\n *ngIf=\"showBack && !showBreadcrumb\"\n (click)=\"back()\"\n >\n <moz-icon iconName=\"Navigation_Arrow_Back_24px\"></moz-icon>\n <span class=\"mc-header__back-label\">{{ backButtonLabel }}</span>\n </button>\n <h1 class=\"mc-header__title mc-header__title--{{ size }}\">{{ title }}</h1>\n </div>\n <div\n class=\"mc-header__content-aside\"\n [ngClass]=\"[showBack && !showBreadcrumb ? 'can-navigate' : '']\"\n >\n <span class=\"mc-header__subtitle\" *ngIf=\"subtitle\">{{ subtitle }}</span>\n <div *ngIf=\"badgeContent\" moz-badge [type]=\"badgeType || 'information'\">\n {{ badgeContent }}\n </div>\n </div>\n </div>\n </div>\n <div class=\"mc-header__tabs mc-divider-top mc-divider-top--light\" #tabsRef *ngIf=\"showTabs\">\n <ng-container ngProjectAs=\"'moz-tabs'\">\n <ng-content select=\"moz-tabs\"></ng-content>\n </ng-container>\n </div>\n</div>\n", styles: [".mc-divider{position:relative}.mc-divider-top{border-top:1px solid #666666}.mc-divider-top--lightest{border-top-color:#fff}.mc-divider-top--light{border-top-color:#b3b3b3}.mc-divider-top--dark{border-top-color:#000}.mc-divider-top--m{border-top-width:.25rem}.mc-divider-top--l{border-top-width:.5rem}.mc-divider-right{border-right:1px solid #666666}.mc-divider-right--lightest{border-right-color:#fff}.mc-divider-right--light{border-right-color:#b3b3b3}.mc-divider-right--dark{border-right-color:#000}.mc-divider-right--m{border-right-width:.25rem}.mc-divider-right--l{border-right-width:.5rem}.mc-divider-bottom{border-bottom:1px solid #666666}.mc-divider-bottom--lightest{border-bottom-color:#fff}.mc-divider-bottom--light{border-bottom-color:#b3b3b3}.mc-divider-bottom--dark{border-bottom-color:#000}.mc-divider-bottom--m{border-bottom-width:.25rem}.mc-divider-bottom--l{border-bottom-width:.5rem}.mc-divider-left{border-left:1px solid #666666}.mc-divider-left--lightest{border-left-color:#fff}.mc-divider-left--light{border-left-color:#b3b3b3}.mc-divider-left--dark{border-left-color:#000}.mc-divider-left--m{border-left-width:.25rem}.mc-divider-left--l{border-left-width:.5rem}.mc-header{font-family:LeroyMerlin,sans-serif;font-weight:400;background-color:#fff;z-index:5}.mc-header__container{padding:.5rem 2rem 1rem;display:grid}@media (min-width: 1024px) and (max-width: 1279px){.mc-header__container{padding-left:3rem;padding-right:3rem}}.mc-header__breadcrumb{grid-column:1;grid-row:auto}.mc-header__content{color:#000;grid-column:1;grid-row:auto;padding-top:.5rem}.mc-header__content-main{display:flex;align-items:center;gap:1rem}.mc-header__content-main:not(:only-child){margin-bottom:.25rem}.mc-header__content-aside{display:flex;align-items:flex-start;flex-direction:column;gap:.5rem;padding-bottom:.5rem}.mc-header__content-aside.can-navigate{padding-left:3rem}@media screen and (min-width: 1024px){.mc-header__content-aside{align-items:center;flex-direction:row;gap:1rem;padding-bottom:0}}.mc-header__back{margin:0;box-shadow:none;text-decoration:none;outline:none;border:none;cursor:pointer;padding:0;align-items:center;background-color:transparent;justify-content:center;color:currentColor;display:flex;height:2rem;width:2rem}.mc-header__back-icon{color:#333;height:1.5rem;width:1.5rem}.mc-header__back-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-header__title{font-size:1.75rem;line-height:1.2857142857;font-weight:600;margin-top:0;margin-bottom:0}.mc-header__title--s{font-size:1.5rem;line-height:1.3333333333}.mc-header__title--l{font-size:2.125rem;line-height:1.2941176471}.mc-header__title--xl{font-size:2.5625rem;line-height:1.3658536585}.mc-header__subtitle{font-size:1rem;line-height:1.375}.mc-header__actions,.mc-header__icons{display:flex;gap:1.5rem}.mc-header__actions{align-items:flex-end;align-self:flex-start;grid-column:1;grid-row:1;justify-self:end;margin-bottom:.5rem;min-height:2.5rem}@media screen and (min-width: 1024px){.mc-header__actions{grid-column:2;grid-row:1;margin-bottom:0}}.mc-header__selector:not(:only-child){padding-left:1.5625rem;position:relative}.mc-header__selector:not(:only-child):before{background:#b3b3b3;content:\"\";display:block;width:1px;height:100%;position:absolute;top:50%;transform:translateY(-50%);left:0}.mc-header__tabs{padding-left:2rem;padding-right:2rem}@media (min-width: 1024px) and (max-width: 1279px){.mc-header__tabs{padding-left:3rem;padding-right:3rem}}.mc-header--shadow{box-shadow:0 1px 5px #19191933}.mc-header--animate{left:0;position:absolute;right:0;transition:transform ease-out .4s}.mc-header--sticky{position:sticky;top:0}.mc-header--up{transform:translateY(0)}.mc-header--down{transform:translateY(calc(-100% - 5px))}.mc-header--unfixed{top:0;left:0;right:0;z-index:1;position:relative;transform:translateY(0)}.mc-header--unpinned{top:0;left:0;right:0;z-index:1;position:sticky;transform:translateY(-100%)}.mc-header--pinned{top:0;left:0;right:0;z-index:1;position:sticky;transform:translateY(0)}\n"] }]
230
+ args: [{ selector: 'moz-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #header class=\"mc-header\" [ngClass]=\"headerClasses\">\n <div class=\"mc-header__container\">\n\n <ng-content select=\"moz-breadcrumb\"></ng-content>\n\n <div class=\"mc-header__actions\" *ngIf=\"showActions\">\n <div class=\"mc-header__icons\">\n <div #iconsWrapper>\n <ng-content select=\"[icons]\"></ng-content>\n </div>\n </div>\n <div class=\"mc-header__selector\">\n <div #selectorWrapper>\n <ng-content select=\"[selector]\"></ng-content>\n </div>\n </div>\n </div>\n <div class=\"mc-header__content\">\n <div class=\"mc-header__content-main\">\n <button\n class=\"mc-header__back\"\n type=\"button\"\n *ngIf=\"showBack && !showBreadcrumb\"\n (click)=\"back()\"\n >\n <moz-icon iconName=\"Navigation_Arrow_Back_24px\"></moz-icon>\n <span class=\"mc-header__back-label\">{{ backButtonLabel }}</span>\n </button>\n <h1 class=\"mc-header__title mc-header__title--{{ size }}\">{{ title }}</h1>\n </div>\n <div\n class=\"mc-header__content-aside\"\n [ngClass]=\"[showBack && !showBreadcrumb ? 'can-navigate' : '']\"\n >\n <span class=\"mc-header__subtitle\" *ngIf=\"subtitle\">{{ subtitle }}</span>\n <div *ngIf=\"badgeContent\" moz-badge [type]=\"badgeType || 'information'\">\n {{ badgeContent }}\n </div>\n </div>\n </div>\n </div>\n <div class=\"mc-header__tabs mc-divider-top mc-divider-top--light\" #tabsRef *ngIf=\"showTabs\">\n <ng-container ngProjectAs=\"'moz-tabs'\">\n <ng-content select=\"moz-tabs\"></ng-content>\n </ng-container>\n </div>\n</div>\n", styles: [".mc-divider{position:relative}.mc-divider-top{border-top:1px solid #666666}.mc-divider-top--lightest{border-top-color:#fff}.mc-divider-top--light{border-top-color:#b3b3b3}.mc-divider-top--dark{border-top-color:#000}.mc-divider-top--m{border-top-width:.25rem}.mc-divider-top--l{border-top-width:.5rem}.mc-divider-right{border-right:1px solid #666666}.mc-divider-right--lightest{border-right-color:#fff}.mc-divider-right--light{border-right-color:#b3b3b3}.mc-divider-right--dark{border-right-color:#000}.mc-divider-right--m{border-right-width:.25rem}.mc-divider-right--l{border-right-width:.5rem}.mc-divider-bottom{border-bottom:1px solid #666666}.mc-divider-bottom--lightest{border-bottom-color:#fff}.mc-divider-bottom--light{border-bottom-color:#b3b3b3}.mc-divider-bottom--dark{border-bottom-color:#000}.mc-divider-bottom--m{border-bottom-width:.25rem}.mc-divider-bottom--l{border-bottom-width:.5rem}.mc-divider-left{border-left:1px solid #666666}.mc-divider-left--lightest{border-left-color:#fff}.mc-divider-left--light{border-left-color:#b3b3b3}.mc-divider-left--dark{border-left-color:#000}.mc-divider-left--m{border-left-width:.25rem}.mc-divider-left--l{border-left-width:.5rem}.mc-header{font-family:LeroyMerlin,sans-serif;font-weight:400;background-color:#fff;z-index:5}.mc-header__container{padding:.5rem 2rem 1rem;display:grid}@media (min-width: 1024px) and (max-width: 1279px){.mc-header__container{padding-left:3rem;padding-right:3rem}}.mc-header__breadcrumb{grid-column:1;grid-row:auto}.mc-header__content{color:#000;grid-column:1;grid-row:auto;padding-top:.5rem}.mc-header__content-main{display:flex;align-items:center;gap:1rem}.mc-header__content-main:not(:only-child){margin-bottom:.25rem}.mc-header__content-aside{display:flex;align-items:flex-start;flex-direction:column;gap:.5rem;padding-bottom:.5rem}.mc-header__content-aside.can-navigate{padding-left:3rem}@media screen and (min-width: 1024px){.mc-header__content-aside{align-items:center;flex-direction:row;gap:1rem;padding-bottom:0}}.mc-header__back{margin:0;box-shadow:none;text-decoration:none;outline:none;border:none;cursor:pointer;padding:0;align-items:center;background-color:transparent;justify-content:center;color:currentColor;display:flex;height:2rem;width:2rem}.mc-header__back-icon{color:#333;height:1.5rem;width:1.5rem}.mc-header__back-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-header__title{font-size:1.75rem;line-height:1.2857142857;font-weight:600;margin-top:0;margin-bottom:0}.mc-header__title--s{font-size:1.5rem;line-height:1.3333333333}.mc-header__title--l{font-size:2.125rem;line-height:1.2941176471}.mc-header__title--xl{font-size:2.5625rem;line-height:1.3658536585}.mc-header__subtitle{font-size:1rem;line-height:1.375}.mc-header__actions,.mc-header__icons{display:flex;gap:1.5rem}.mc-header__actions{align-items:flex-end;align-self:flex-start;grid-column:1;grid-row:1;justify-self:end;margin-bottom:.5rem;min-height:2.5rem}@media screen and (min-width: 1024px){.mc-header__actions{grid-column:2;grid-row:1;margin-bottom:0}}.mc-header__selector:not(:only-child){padding-left:1.5625rem;position:relative}.mc-header__selector:not(:only-child):before{background:#b3b3b3;content:\"\";display:block;width:1px;height:100%;position:absolute;top:50%;transform:translateY(-50%);left:0}.mc-header__tabs{padding-left:2rem;padding-right:2rem}@media (min-width: 1024px) and (max-width: 1279px){.mc-header__tabs{padding-left:3rem;padding-right:3rem}}.mc-header--shadow{box-shadow:0 1px 5px #19191933}.mc-header--animate{left:0;position:absolute;right:0;transition:transform ease-out .4s}.mc-header--sticky{position:sticky;top:0}.mc-header--up{transform:translateY(0)}.mc-header--down{transform:translateY(calc(-100% - 5px))}.mc-header--unfixed{top:0;left:0;right:0;z-index:1;position:relative;transform:translateY(0)}.mc-header--unpinned{top:0;left:0;right:0;z-index:1;position:sticky;transform:translateY(-100%)}.mc-header--pinned{top:0;left:0;right:0;z-index:1;position:sticky;transform:translateY(0)}\n"] }]
231
231
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { title: [{
232
232
  type: Input
233
233
  }], subtitle: [{
@@ -257,9 +257,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
257
257
  }], tabsRef: [{
258
258
  type: ViewChild,
259
259
  args: ['tabsRef']
260
- }], breadcrumbRef: [{
261
- type: ViewChild,
262
- args: ['breadcrumbRef']
263
260
  }], header: [{
264
261
  type: ViewChild,
265
262
  args: ['header']
@@ -269,8 +266,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
269
266
  }], selector: [{
270
267
  type: ViewChild,
271
268
  args: ['selectorWrapper']
269
+ }], breadcrumb: [{
270
+ type: ContentChild,
271
+ args: [BreadcrumbComponent]
272
272
  }], contentChildren: [{
273
273
  type: ContentChildren,
274
274
  args: ['*']
275
275
  }] } });
276
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2hlYWRlci9oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaGVhZGVyL2hlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxlQUFlLEVBRWYsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7OztBQVEzRCxNQUFNLE9BQU8sZUFBZTtJQWtDMUIsWUFBb0IsS0FBd0IsRUFBVSxVQUFzQjtRQUF4RCxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUFVLGVBQVUsR0FBVixVQUFVLENBQVk7UUFqQzVELFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUN0QixjQUFTLEdBQWMsYUFBYSxDQUFDO1FBQ3JDLGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBQzFCLFNBQUksR0FBZSxHQUFHLENBQUM7UUFDdkIsZUFBVSxHQUFZLElBQUksQ0FBQztRQUMzQixXQUFNLEdBQVksS0FBSyxDQUFDO1FBQ3hCLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUNuQyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLG9CQUFlLEdBQVcsTUFBTSxDQUFDO1FBRWhDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3hDLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFDckQscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQVV4RCxpQkFBWSxHQUFHLENBQUMsQ0FBQztRQUNqQixXQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2YsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGNBQVMsR0FBZSxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQ3JDLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBQzVCLG1CQUFjLEdBQVksSUFBSSxDQUFDO1FBQy9CLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFDeEIsWUFBTyxHQUFZLEtBQUssQ0FBQztJQUU4QyxDQUFDO0lBRWhGLGVBQWU7UUFDYixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQztRQUUzRCxJQUFJLENBQUMsV0FBVztZQUNkLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztnQkFDNUQsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDckUsSUFDRSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUk7WUFDcEIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsRUFDM0Y7WUFDQSxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztTQUN2QjtRQUNELElBQ0UsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJO1lBQzFCLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsUUFBUTtnQkFDekMsSUFBSSxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsRUFDMUQ7WUFDQSxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztTQUM3QjtRQUVELElBQUksSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDekMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7U0FDckM7YUFBTSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDakQsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7U0FDaEM7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSwrQkFBK0IsQ0FBQyxhQUEwQjtRQUMvRCxJQUFJLGFBQWEsR0FBRyxTQUFTLENBQUM7UUFDOUIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO1FBRTVELElBQUksYUFBYSxHQUFHLGFBQWEsQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDO1FBRWpELE1BQU0sWUFBWSxHQUFHLEdBQUcsRUFBRTtZQUN4QixNQUFNLGdCQUFnQixHQUFHLGFBQWEsQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDO1lBRXRELElBQUksZ0JBQWdCLEtBQUssQ0FBQyxFQUFFO2dCQUMxQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztnQkFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2dCQUN0QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUN0QyxhQUFhLEdBQUcsU0FBUyxDQUFDO2FBQzNCO2lCQUFNLElBQUksZ0JBQWdCLEdBQUcsYUFBYSxJQUFJLGdCQUFnQixHQUFHLFlBQVksRUFBRTtnQkFDOUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2dCQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFDckIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDckMsSUFBSSxhQUFhLEtBQUssU0FBUyxFQUFFO29CQUMvQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztpQkFDekI7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7aUJBQ3RCO2dCQUNELGFBQWEsR0FBRyxRQUFRLENBQUM7YUFDMUI7aUJBQU0sSUFBSSxnQkFBZ0IsR0FBRyxhQUFhLElBQUksZ0JBQWdCLEdBQUcsWUFBWSxFQUFFO2dCQUM5RSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztnQkFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUN2QyxJQUFJLGFBQWEsS0FBSyxTQUFTLEVBQUU7b0JBQy9CLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2lCQUN6QjtxQkFBTTtvQkFDTCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztpQkFDdEI7Z0JBQ0QsYUFBYSxHQUFHLFVBQVUsQ0FBQzthQUM1QjtZQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsZ0JBQWdCLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ2xGLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQy9DLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQztZQUVqQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQztRQUVGLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVNLHVCQUF1QjtRQUM1QixJQUFJLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDMUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7WUFFL0UsSUFBSSxhQUFhLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUNyRDtpQkFBTTtnQkFDTCxJQUFJLGFBQWEsR0FBRyxTQUFTLENBQUM7Z0JBQzlCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUMsTUFBTSxDQUFDO2dCQUM5RSxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQztxQkFDeEIsSUFBSSxDQUNILEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQ3pCLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFDWixRQUFRLEVBQUUsRUFDVixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBYSxFQUFFO29CQUMxQixJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUU7d0JBQ1osSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7d0JBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO3dCQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQzt3QkFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7d0JBQ3JCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7d0JBQ3RDLGFBQWEsR0FBRyxTQUFTLENBQUM7cUJBQzNCO3lCQUFNLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsWUFBWSxFQUFFO3dCQUN2QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQzt3QkFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7d0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO3dCQUNyQixhQUFhLEdBQUcsUUFBUSxDQUFDO3dCQUN6QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO3dCQUNyQyxJQUFJLGFBQWEsS0FBSyxTQUFTLEVBQUU7NEJBQy9CLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO3lCQUN6Qjs2QkFBTTs0QkFDTCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQzt5QkFDdEI7cUJBQ0Y7eUJBQU0sSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxZQUFZLEVBQUU7d0JBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO3dCQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQzt3QkFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7d0JBQ3JCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7d0JBQ3ZDLElBQUksYUFBYSxLQUFLLFNBQVMsRUFBRTs0QkFDL0IsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7eUJBQ3pCOzZCQUFNOzRCQUNMLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO3lCQUN0Qjt3QkFDRCxhQUFhLEdBQUcsVUFBVSxDQUFDO3FCQUM1QjtvQkFDRCxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7Z0JBQ2pELENBQUMsQ0FBQyxDQUNIO3FCQUNBLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO29CQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztvQkFDM0IsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7b0JBQy9DLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQzdCLENBQUMsQ0FBQyxDQUFDO2FBQ047U0FDRjtJQUNILENBQUM7SUFFTSxvQ0FBb0MsQ0FBQyxhQUEwQjtRQUNwRSxJQUFJLGFBQWEsR0FBRyxhQUFhLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQztRQUVqRCxNQUFNLFlBQVksR0FBRyxHQUFHLEVBQUU7WUFDeEIsTUFBTSxnQkFBZ0IsR0FBRyxhQUFhLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQztZQUN0RCxJQUFJLGdCQUFnQixHQUFHLGFBQWEsRUFBRTtnQkFDcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDO2FBQ2pDO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLEVBQUUsQ0FBQzthQUMvQjtZQUNELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQy9DLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQztZQUVqQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQztRQUVGLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVNLDRCQUE0QjtRQUNqQyxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUMvQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUUvRSxJQUFJLGFBQWEsRUFBRTtnQkFDakIsSUFBSSxDQUFDLG9DQUFvQyxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQzFEO2lCQUFNO2dCQUNMLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO3FCQUN4QixJQUFJLENBQ0gsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFDekIsUUFBUSxFQUFFLEVBQ1YsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQWEsRUFBRTtvQkFDMUIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO2dCQUNqRCxDQUFDLENBQUMsQ0FDSDtxQkFDQSxTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtvQkFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7b0JBQzNCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO29CQUMvQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUM3QixDQUFDLENBQUMsQ0FBQzthQUNOO1NBQ0Y7SUFDSCxDQUFDO0lBRU0sb0JBQW9CLENBQUMsT0FBb0I7UUFDOUMsSUFBSSxPQUFPLENBQUMsYUFBYSxFQUFFO1lBQ3pCLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7WUFDckMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQztZQUM3RCxJQUFJLFdBQVcsS0FBSyxNQUFNLElBQUksV0FBVyxLQUFLLFFBQVEsRUFBRTtnQkFDdEQsT0FBTyxNQUFNLENBQUM7YUFDZjtpQkFBTTtnQkFDTCxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUMxQztTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU87WUFDTCxtQkFBbUIsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUNwQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNoQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsT0FBTztZQUNsQyxlQUFlLEVBQUUsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSTtZQUN2RSxpQkFBaUIsRUFBRSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJO1lBQ3pFLG9CQUFvQixFQUFFLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU87WUFDNUUscUJBQXFCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsUUFBUTtZQUM5RSxtQkFBbUIsRUFBRSxJQUFJLENBQUMsaUJBQWlCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNO1NBQzNFLENBQUM7SUFDSixDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDdEIsQ0FBQzs7NkdBclBVLGVBQWU7aUdBQWYsZUFBZSwrN0JDdkI1QixxekRBK0NBOzRGRHhCYSxlQUFlO2tCQU4zQixTQUFTOytCQUNFLFlBQVksbUJBR0wsdUJBQXVCLENBQUMsTUFBTTtpSUFHL0IsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsWUFBWTtzQkFBM0IsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSztnQkFDVSxpQkFBaUI7c0JBQWhDLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxlQUFlO3NCQUE5QixLQUFLO2dCQUVXLFNBQVM7c0JBQXpCLE1BQU07Z0JBQ1Usb0JBQW9CO3NCQUFwQyxNQUFNO2dCQUNVLGdCQUFnQjtzQkFBaEMsTUFBTTtnQkFFZSxPQUFPO3NCQUE1QixTQUFTO3VCQUFDLFNBQVM7Z0JBQ1EsYUFBYTtzQkFBeEMsU0FBUzt1QkFBQyxlQUFlO2dCQUNMLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUTtnQkFDUSxLQUFLO3NCQUEvQixTQUFTO3VCQUFDLGNBQWM7Z0JBQ0ssUUFBUTtzQkFBckMsU0FBUzt1QkFBQyxpQkFBaUI7Z0JBRU4sZUFBZTtzQkFBcEMsZUFBZTt1QkFBQyxHQUFHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYWRnZVR5cGUgfSBmcm9tICcuLi9iYWRnZS9iYWRnZSc7XG5pbXBvcnQgeyBEaXJlY3Rpb24sIHRpdGxlU2l6ZXMgfSBmcm9tICcuL21vZGVsL2hlYWRlcic7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1hcCwgcGFpcndpc2UsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtb3otaGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2hlYWRlci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgSGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyB0aXRsZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzdWJ0aXRsZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBiYWRnZVR5cGU6IEJhZGdlVHlwZSA9ICdpbmZvcm1hdGlvbic7XG4gIEBJbnB1dCgpIHB1YmxpYyBiYWRnZUNvbnRlbnQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgc2l6ZTogdGl0bGVTaXplcyA9ICdtJztcbiAgQElucHV0KCkgcHVibGljIHNob3dTaGFkb3c6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgc3RpY2t5OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBhY3RpdmF0ZUFuaW1hdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgc2hvd0JhY2s6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGJhY2tCdXR0b25MYWJlbDogc3RyaW5nID0gJ0JhY2snO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgYmFja0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgcHVibGljIGRpcmVjdGlvbkNoYW5nZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxEaXJlY3Rpb24+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgaGVhZGVyU3RhdGVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ3RhYnNSZWYnKSB0YWJzUmVmPzogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnYnJlYWRjcnVtYlJlZicpIGJyZWFkY3J1bWJSZWY/OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdoZWFkZXInKSBoZWFkZXIhOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdpY29uc1dyYXBwZXInKSBpY29ucyE6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdG9yV3JhcHBlcicpIHNlbGVjdG9yITogRWxlbWVudFJlZjtcblxuICBAQ29udGVudENoaWxkcmVuKCcqJykgY29udGVudENoaWxkcmVuITogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xuXG4gIHB1YmxpYyBoZWFkZXJIZWlnaHQgPSAwO1xuICBwdWJsaWMgcGlubmVkID0gZmFsc2U7XG4gIHB1YmxpYyB1bmZpeGVkID0gZmFsc2U7XG4gIHB1YmxpYyB1bnBpbm5lZCA9IGZhbHNlO1xuICBwdWJsaWMgZGlyZWN0aW9uPzogRGlyZWN0aW9uID0gRGlyZWN0aW9uLlVwO1xuICBwdWJsaWMgc2hvd0FjdGlvbnM6IGJvb2xlYW4gPSB0cnVlO1xuICBwdWJsaWMgc2hvd0JyZWFkY3J1bWI6IGJvb2xlYW4gPSB0cnVlO1xuICBwdWJsaWMgc2hvd1RhYnM6IGJvb2xlYW4gPSB0cnVlO1xuICBwcml2YXRlIGFuaW1hdGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhlYWRlckhlaWdodCA9IHRoaXMuaGVhZGVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuXG4gICAgdGhpcy5zaG93QWN0aW9ucyA9XG4gICAgICAodGhpcy5pY29ucyAmJiB0aGlzLmljb25zLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoID4gMCkgfHxcbiAgICAgICh0aGlzLnNlbGVjdG9yICYmIHRoaXMuc2VsZWN0b3IubmF0aXZlRWxlbWVudC5jaGlsZHJlbi5sZW5ndGggPiAwKTtcbiAgICBpZiAoXG4gICAgICB0aGlzLnRhYnNSZWYgPT0gbnVsbCB8fFxuICAgICAgKHRoaXMudGFic1JlZj8ubmF0aXZlRWxlbWVudC5jaGlsZHJlbiAmJiB0aGlzLnRhYnNSZWY/Lm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoID09PSAwKVxuICAgICkge1xuICAgICAgdGhpcy5zaG93VGFicyA9IGZhbHNlO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICB0aGlzLmJyZWFkY3J1bWJSZWYgPT0gbnVsbCB8fFxuICAgICAgKHRoaXMuYnJlYWRjcnVtYlJlZj8ubmF0aXZlRWxlbWVudC5jaGlsZHJlbiAmJlxuICAgICAgICB0aGlzLmJyZWFkY3J1bWJSZWY/Lm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoID09PSAwKVxuICAgICkge1xuICAgICAgdGhpcy5zaG93QnJlYWRjcnVtYiA9IGZhbHNlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmFjdGl2YXRlQW5pbWF0aW9uICYmIHRoaXMuc3RpY2t5KSB7XG4gICAgICB0aGlzLmFuaW1hdGUgPSB0cnVlO1xuICAgICAgdGhpcy5zY3JvbGxXaXRoQW5pbWF0aW9uQW5kU3RpY2t5KCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmFjdGl2YXRlQW5pbWF0aW9uICYmICF0aGlzLnN0aWNreSkge1xuICAgICAgdGhpcy5zY3JvbGxXaXRoT25seUFuaW1hdGlvbigpO1xuICAgIH1cbiAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblBhcmVudFNjcm9sbFdpdGhPbmx5QW5pbWF0aW9uKHBhcmVudEVsZW1lbnQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgbGV0IHByZXZpb3VzU3RhdGUgPSAndW5maXhlZCc7XG4gICAgY29uc3QgaGVhZGVySGVpZ2h0ID0gdGhpcy5oZWFkZXIubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG5cbiAgICBsZXQgbGFzdFNjcm9sbFRvcCA9IHBhcmVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8IDA7XG5cbiAgICBjb25zdCBoYW5kbGVTY3JvbGwgPSAoKSA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50U2Nyb2xsVG9wID0gcGFyZW50RWxlbWVudC5zY3JvbGxUb3AgfHwgMDtcblxuICAgICAgaWYgKGN1cnJlbnRTY3JvbGxUb3AgPT09IDApIHtcbiAgICAgICAgdGhpcy51bmZpeGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5waW5uZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy51bnBpbm5lZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmhlYWRlclN0YXRlRXZlbnQuZW1pdCgndW5maXhlZCcpO1xuICAgICAgICBwcmV2aW91c1N0YXRlID0gJ3VuZml4ZWQnO1xuICAgICAgfSBlbHNlIGlmIChjdXJyZW50U2Nyb2xsVG9wIDwgbGFzdFNjcm9sbFRvcCAmJiBjdXJyZW50U2Nyb2xsVG9wID4gaGVhZGVySGVpZ2h0KSB7XG4gICAgICAgIHRoaXMucGlubmVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy51bnBpbm5lZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnVuZml4ZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5oZWFkZXJTdGF0ZUV2ZW50LmVtaXQoJ3Bpbm5lZCcpO1xuICAgICAgICBpZiAocHJldmlvdXNTdGF0ZSAhPT0gJ3VuZml4ZWQnKSB7XG4gICAgICAgICAgdGhpcy50cmlnZ2VyQW5pbWF0aW9uKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5hbmltYXRlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcHJldmlvdXNTdGF0ZSA9ICdwaW5uZWQnO1xuICAgICAgfSBlbHNlIGlmIChjdXJyZW50U2Nyb2xsVG9wID4gbGFzdFNjcm9sbFRvcCAmJiBjdXJyZW50U2Nyb2xsVG9wID4gaGVhZGVySGVpZ2h0KSB7XG4gICAgICAgIHRoaXMudW5waW5uZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLnBpbm5lZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnVuZml4ZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5oZWFkZXJTdGF0ZUV2ZW50LmVtaXQoJ3VucGlubmVkJyk7XG4gICAgICAgIGlmIChwcmV2aW91c1N0YXRlICE9PSAndW5maXhlZCcpIHtcbiAgICAgICAgICB0aGlzLnRyaWdnZXJBbmltYXRpb24oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmFuaW1hdGUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBwcmV2aW91c1N0YXRlID0gJ3VucGlubmVkJztcbiAgICAgIH1cbiAgICAgIHRoaXMuZGlyZWN0aW9uID0gY3VycmVudFNjcm9sbFRvcCA+IGxhc3RTY3JvbGxUb3AgPyBEaXJlY3Rpb24uRG93biA6IERpcmVjdGlvbi5VcDtcbiAgICAgIHRoaXMuZGlyZWN0aW9uQ2hhbmdlRXZlbnQuZW1pdCh0aGlzLmRpcmVjdGlvbik7XG4gICAgICBsYXN0U2Nyb2xsVG9wID0gY3VycmVudFNjcm9sbFRvcDtcblxuICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfTtcblxuICAgIHBhcmVudEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKTtcbiAgfVxuXG4gIHB1YmxpYyBzY3JvbGxXaXRoT25seUFuaW1hdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hY3RpdmF0ZUFuaW1hdGlvbiAmJiAhdGhpcy5zdGlja3kpIHtcbiAgICAgIGNvbnN0IHBhcmVudEVsZW1lbnQgPSB0aGlzLmZpbmRQYXJlbnRXaXRoU2Nyb2xsKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcblxuICAgICAgaWYgKHBhcmVudEVsZW1lbnQpIHtcbiAgICAgICAgdGhpcy5vblBhcmVudFNjcm9sbFdpdGhPbmx5QW5pbWF0aW9uKHBhcmVudEVsZW1lbnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IHByZXZpb3VzU3RhdGUgPSAndW5maXhlZCc7XG4gICAgICAgIGNvbnN0IGhlYWRlckhlaWdodCA9IHRoaXMuaGVhZGVyLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0O1xuICAgICAgICBmcm9tRXZlbnQod2luZG93LCAnc2Nyb2xsJylcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgoKSA9PiB3aW5kb3cuc2Nyb2xsWSksXG4gICAgICAgICAgICBzdGFydFdpdGgoMCksXG4gICAgICAgICAgICBwYWlyd2lzZSgpLFxuICAgICAgICAgICAgbWFwKChbeTEsIHkyXSk6IERpcmVjdGlvbiA9PiB7XG4gICAgICAgICAgICAgIGlmICh5MiA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMudW5maXhlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5waW5uZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLnVucGlubmVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5hbmltYXRlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5oZWFkZXJTdGF0ZUV2ZW50LmVtaXQoJ3VuZml4ZWQnKTtcbiAgICAgICAgICAgICAgICBwcmV2aW91c1N0YXRlID0gJ3VuZml4ZWQnO1xuICAgICAgICAgICAgICB9IGVsc2UgaWYgKHkyIDwgeTEgJiYgeTIgPiBoZWFkZXJIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBpbm5lZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy51bnBpbm5lZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMudW5maXhlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHByZXZpb3VzU3RhdGUgPSAncGlubmVkJztcbiAgICAgICAgICAgICAgICB0aGlzLmhlYWRlclN0YXRlRXZlbnQuZW1pdCgncGlubmVkJyk7XG4gICAgICAgICAgICAgICAgaWYgKHByZXZpb3VzU3RhdGUgIT09ICd1bmZpeGVkJykge1xuICAgICAgICAgICAgICAgICAgdGhpcy50cmlnZ2VyQW5pbWF0aW9uKCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuYW5pbWF0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIGlmICh5MiA+IHkxICYmIHkyID4gaGVhZGVySGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy51bnBpbm5lZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5waW5uZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLnVuZml4ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmhlYWRlclN0YXRlRXZlbnQuZW1pdCgndW5waW5uZWQnKTtcbiAgICAgICAgICAgICAgICBpZiAocHJldmlvdXNTdGF0ZSAhPT0gJ3VuZml4ZWQnKSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLnRyaWdnZXJBbmltYXRpb24oKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgdGhpcy5hbmltYXRlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHByZXZpb3VzU3RhdGUgPSAndW5waW5uZWQnO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiB5MiA8IHkxID8gRGlyZWN0aW9uLlVwIDogRGlyZWN0aW9uLkRvd247XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgICAgICAuc3Vic2NyaWJlKChkaXJlY3Rpb24pID0+IHtcbiAgICAgICAgICAgIHRoaXMuZGlyZWN0aW9uID0gZGlyZWN0aW9uO1xuICAgICAgICAgICAgdGhpcy5kaXJlY3Rpb25DaGFuZ2VFdmVudC5lbWl0KHRoaXMuZGlyZWN0aW9uKTtcbiAgICAgICAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvblBhcmVudFNjcm9sbFdpdGhBbmltYXRpb25BbmRTdGlja3kocGFyZW50RWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICBsZXQgbGFzdFNjcm9sbFRvcCA9IHBhcmVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8IDA7XG5cbiAgICBjb25zdCBoYW5kbGVTY3JvbGwgPSAoKSA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50U2Nyb2xsVG9wID0gcGFyZW50RWxlbWVudC5zY3JvbGxUb3AgfHwgMDtcbiAgICAgIGlmIChjdXJyZW50U2Nyb2xsVG9wID4gbGFzdFNjcm9sbFRvcCkge1xuICAgICAgICB0aGlzLmRpcmVjdGlvbiA9IERpcmVjdGlvbi5Eb3duO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kaXJlY3Rpb24gPSBEaXJlY3Rpb24uVXA7XG4gICAgICB9XG4gICAgICB0aGlzLmRpcmVjdGlvbkNoYW5nZUV2ZW50LmVtaXQodGhpcy5kaXJlY3Rpb24pO1xuICAgICAgbGFzdFNjcm9sbFRvcCA9IGN1cnJlbnRTY3JvbGxUb3A7XG5cbiAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH07XG5cbiAgICBwYXJlbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbCk7XG4gIH1cblxuICBwdWJsaWMgc2Nyb2xsV2l0aEFuaW1hdGlvbkFuZFN0aWNreSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hbmltYXRlICYmIHRoaXMuc3RpY2t5KSB7XG4gICAgICBjb25zdCBwYXJlbnRFbGVtZW50ID0gdGhpcy5maW5kUGFyZW50V2l0aFNjcm9sbCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG5cbiAgICAgIGlmIChwYXJlbnRFbGVtZW50KSB7XG4gICAgICAgIHRoaXMub25QYXJlbnRTY3JvbGxXaXRoQW5pbWF0aW9uQW5kU3RpY2t5KHBhcmVudEVsZW1lbnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZnJvbUV2ZW50KHdpbmRvdywgJ3Njcm9sbCcpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKCkgPT4gd2luZG93LnNjcm9sbFkpLFxuICAgICAgICAgICAgcGFpcndpc2UoKSxcbiAgICAgICAgICAgIG1hcCgoW3kxLCB5Ml0pOiBEaXJlY3Rpb24gPT4ge1xuICAgICAgICAgICAgICByZXR1cm4geTIgPCB5MSA/IERpcmVjdGlvbi5VcCA6IERpcmVjdGlvbi5Eb3duO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgICAgLnN1YnNjcmliZSgoZGlyZWN0aW9uKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRpcmVjdGlvbiA9IGRpcmVjdGlvbjtcbiAgICAgICAgICAgIHRoaXMuZGlyZWN0aW9uQ2hhbmdlRXZlbnQuZW1pdCh0aGlzLmRpcmVjdGlvbik7XG4gICAgICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmluZFBhcmVudFdpdGhTY3JvbGwoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIGlmIChlbGVtZW50LnBhcmVudEVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IHBhcmVudCA9IGVsZW1lbnQucGFyZW50RWxlbWVudDtcbiAgICAgIGNvbnN0IGhhc092ZXJmbG93ID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUocGFyZW50KS5vdmVyZmxvdztcbiAgICAgIGlmIChoYXNPdmVyZmxvdyA9PT0gJ2F1dG8nIHx8IGhhc092ZXJmbG93ID09PSAnc2Nyb2xsJykge1xuICAgICAgICByZXR1cm4gcGFyZW50O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmluZFBhcmVudFdpdGhTY3JvbGwocGFyZW50KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhlYWRlckNsYXNzZXMoKTogT2JqZWN0IHtcbiAgICByZXR1cm4ge1xuICAgICAgJ21jLWhlYWRlci0tc2hhZG93JzogdGhpcy5zaG93U2hhZG93LFxuICAgICAgJ21jLWhlYWRlci0tc3RpY2t5JzogdGhpcy5zdGlja3ksXG4gICAgICAnbWMtaGVhZGVyLS1hbmltYXRlJzogdGhpcy5hbmltYXRlLFxuICAgICAgJ21jLWhlYWRlci0tdXAnOiB0aGlzLmFuaW1hdGUgJiYgdGhpcy5zdGlja3kgJiYgdGhpcy5kaXJlY3Rpb24gPT09ICdVcCcsXG4gICAgICAnbWMtaGVhZGVyLS1kb3duJzogdGhpcy5hbmltYXRlICYmIHRoaXMuc3RpY2t5ICYmIHRoaXMuZGlyZWN0aW9uICE9PSAnVXAnLFxuICAgICAgJ21jLWhlYWRlci0tdW5maXhlZCc6IHRoaXMuYWN0aXZhdGVBbmltYXRpb24gJiYgIXRoaXMuc3RpY2t5ICYmIHRoaXMudW5maXhlZCxcbiAgICAgICdtYy1oZWFkZXItLXVucGlubmVkJzogdGhpcy5hY3RpdmF0ZUFuaW1hdGlvbiAmJiAhdGhpcy5zdGlja3kgJiYgdGhpcy51bnBpbm5lZCxcbiAgICAgICdtYy1oZWFkZXItLXBpbm5lZCc6IHRoaXMuYWN0aXZhdGVBbmltYXRpb24gJiYgIXRoaXMuc3RpY2t5ICYmIHRoaXMucGlubmVkLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLmJhY2tFdmVudC5lbWl0KHRydWUpO1xuICB9XG5cbiAgcHVibGljIHRyaWdnZXJBbmltYXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5hbmltYXRlID0gdHJ1ZTtcbiAgfVxufVxuIiwiPGRpdiAjaGVhZGVyIGNsYXNzPVwibWMtaGVhZGVyXCIgW25nQ2xhc3NdPVwiaGVhZGVyQ2xhc3Nlc1wiPlxuICA8ZGl2IGNsYXNzPVwibWMtaGVhZGVyX19jb250YWluZXJcIj5cbiAgICA8bmctY29udGFpbmVyIG5nUHJvamVjdEFzPVwiJ21vei1icmVhZGNydW1iJ1wiICNicmVhZGNydW1iUmVmICpuZ0lmPVwic2hvd0JyZWFkY3J1bWIgJiYgIXNob3dCYWNrXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJtb3otYnJlYWRjcnVtYlwiPjwvbmctY29udGVudD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2IGNsYXNzPVwibWMtaGVhZGVyX19hY3Rpb25zXCIgKm5nSWY9XCJzaG93QWN0aW9uc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1jLWhlYWRlcl9faWNvbnNcIj5cbiAgICAgICAgPGRpdiAjaWNvbnNXcmFwcGVyPlxuICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltpY29uc11cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWMtaGVhZGVyX19zZWxlY3RvclwiPlxuICAgICAgICA8ZGl2ICNzZWxlY3RvcldyYXBwZXI+XG4gICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3NlbGVjdG9yXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibWMtaGVhZGVyX19jb250ZW50XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWMtaGVhZGVyX19jb250ZW50LW1haW5cIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwibWMtaGVhZGVyX19iYWNrXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAqbmdJZj1cInNob3dCYWNrICYmICFzaG93QnJlYWRjcnVtYlwiXG4gICAgICAgICAgKGNsaWNrKT1cImJhY2soKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bW96LWljb24gaWNvbk5hbWU9XCJOYXZpZ2F0aW9uX0Fycm93X0JhY2tfMjRweFwiPjwvbW96LWljb24+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYy1oZWFkZXJfX2JhY2stbGFiZWxcIj57eyBiYWNrQnV0dG9uTGFiZWwgfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8aDEgY2xhc3M9XCJtYy1oZWFkZXJfX3RpdGxlIG1jLWhlYWRlcl9fdGl0bGUtLXt7IHNpemUgfX1cIj57eyB0aXRsZSB9fTwvaDE+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJtYy1oZWFkZXJfX2NvbnRlbnQtYXNpZGVcIlxuICAgICAgICBbbmdDbGFzc109XCJbc2hvd0JhY2sgJiYgIXNob3dCcmVhZGNydW1iID8gJ2Nhbi1uYXZpZ2F0ZScgOiAnJ11cIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1jLWhlYWRlcl9fc3VidGl0bGVcIiAqbmdJZj1cInN1YnRpdGxlXCI+e3sgc3VidGl0bGUgfX08L3NwYW4+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJiYWRnZUNvbnRlbnRcIiBtb3otYmFkZ2UgW3R5cGVdPVwiYmFkZ2VUeXBlIHx8ICdpbmZvcm1hdGlvbidcIj5cbiAgICAgICAgICB7eyBiYWRnZUNvbnRlbnQgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtYy1oZWFkZXJfX3RhYnMgbWMtZGl2aWRlci10b3AgbWMtZGl2aWRlci10b3AtLWxpZ2h0XCIgI3RhYnNSZWYgKm5nSWY9XCJzaG93VGFic1wiPlxuICAgIDxuZy1jb250YWluZXIgbmdQcm9qZWN0QXM9XCInbW96LXRhYnMnXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJtb3otdGFic1wiPjwvbmctY29udGVudD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
276
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2hlYWRlci9oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaGVhZGVyL2hlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUVmLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBUXBELE1BQU0sT0FBTyxlQUFlO0lBa0MxQixZQUFvQixLQUF3QixFQUFVLFVBQXNCO1FBQXhELFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQWpDNUQsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUNuQixhQUFRLEdBQVcsRUFBRSxDQUFDO1FBQ3RCLGNBQVMsR0FBYyxhQUFhLENBQUM7UUFDckMsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFDMUIsU0FBSSxHQUFlLEdBQUcsQ0FBQztRQUN2QixlQUFVLEdBQVksSUFBSSxDQUFDO1FBQzNCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFDeEIsc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBQ25DLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsb0JBQWUsR0FBVyxNQUFNLENBQUM7UUFFaEMsY0FBUyxHQUFHLElBQUks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QkFBdkIsS0FBSztnQkFDVSxlQUFlO3NCQUE5QixLQUFLO2dCQUVXLFNBQVM7c0JBQXpCLE1BQU07Z0JBQ1Usb0JBQW9CO3NCQUFwQyxNQUFNO2dCQUNVLGdCQUFnQjtzQkFBaEMsTUFBTTtnQkFFZSxPQUFPO3NCQUE1QixTQUFTO3VCQUFDLFNBQVM7Z0JBQ0MsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRO2dCQUNRLEtBQUs7c0JBQS9CLFNBQVM7dUJBQUMsY0FBYztnQkFDSyxRQUFRO3NCQUFyQyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFDTyxVQUFVO3NCQUE1QyxZQUFZO3VCQUFDLG1CQUFtQjtnQkFFWCxlQUFlO3NCQUFwQyxlQUFlO3VCQUFDLEdBQUciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFkZ2VUeXBlIH0gZnJvbSAnLi4vYmFkZ2UvYmFkZ2UnO1xuaW1wb3J0IHsgRGlyZWN0aW9uLCB0aXRsZVNpemVzIH0gZnJvbSAnLi9tb2RlbC9oZWFkZXInO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBtYXAsIHBhaXJ3aXNlLCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuLi9icmVhZGNydW1iJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW96LWhlYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIEFmdGVyQ29udGVudEluaXQge1xuICBASW5wdXQoKSBwdWJsaWMgdGl0bGU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgc3VidGl0bGU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgYmFkZ2VUeXBlOiBCYWRnZVR5cGUgPSAnaW5mb3JtYXRpb24nO1xuICBASW5wdXQoKSBwdWJsaWMgYmFkZ2VDb250ZW50OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIHNpemU6IHRpdGxlU2l6ZXMgPSAnbSc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93U2hhZG93OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIHN0aWNreTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgYWN0aXZhdGVBbmltYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHNob3dCYWNrOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBiYWNrQnV0dG9uTGFiZWw6IHN0cmluZyA9ICdCYWNrJztcblxuICBAT3V0cHV0KCkgcHVibGljIGJhY2tFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBkaXJlY3Rpb25DaGFuZ2VFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8RGlyZWN0aW9uPigpO1xuICBAT3V0cHV0KCkgcHVibGljIGhlYWRlclN0YXRlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBAVmlld0NoaWxkKCd0YWJzUmVmJykgdGFic1JlZj86IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2hlYWRlcicpIGhlYWRlciE6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2ljb25zV3JhcHBlcicpIGljb25zITogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnc2VsZWN0b3JXcmFwcGVyJykgc2VsZWN0b3IhOiBFbGVtZW50UmVmO1xuICBAQ29udGVudENoaWxkKEJyZWFkY3J1bWJDb21wb25lbnQpIGJyZWFkY3J1bWI/OiBCcmVhZGNydW1iQ29tcG9uZW50O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oJyonKSBjb250ZW50Q2hpbGRyZW4hOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XG5cbiAgcHVibGljIGhlYWRlckhlaWdodCA9IDA7XG4gIHB1YmxpYyBwaW5uZWQgPSBmYWxzZTtcbiAgcHVibGljIHVuZml4ZWQgPSBmYWxzZTtcbiAgcHVibGljIHVucGlubmVkID0gZmFsc2U7XG4gIHB1YmxpYyBkaXJlY3Rpb24/OiBEaXJlY3Rpb24gPSBEaXJlY3Rpb24uVXA7XG4gIHB1YmxpYyBzaG93QWN0aW9uczogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBzaG93QnJlYWRjcnVtYjogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBzaG93VGFiczogYm9vbGVhbiA9IHRydWU7XG4gIHByaXZhdGUgYW5pbWF0ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaGVhZGVySGVpZ2h0ID0gdGhpcy5oZWFkZXIubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG5cbiAgICB0aGlzLnNob3dBY3Rpb25zID1cbiAgICAgICh0aGlzLmljb25zICYmIHRoaXMuaWNvbnMubmF0aXZlRWxlbWVudC5jaGlsZHJlbi5sZW5ndGggPiAwKSB8fFxuICAgICAgKHRoaXMuc2VsZWN0b3IgJiYgdGhpcy5zZWxlY3Rvci5uYXRpdmVFbGVtZW50LmNoaWxkcmVuLmxlbmd0aCA+IDApO1xuICAgIGlmIChcbiAgICAgIHRoaXMudGFic1JlZiA9PSBudWxsIHx8XG4gICAgICAodGhpcy50YWJzUmVmPy5uYXRpdmVFbGVtZW50LmNoaWxkcmVuICYmIHRoaXMudGFic1JlZj8ubmF0aXZlRWxlbWVudC5jaGlsZHJlbi5sZW5ndGggPT09IDApXG4gICAgKSB7XG4gICAgICB0aGlzLnNob3dUYWJzID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuYWN0aXZhdGVBbmltYXRpb24gJiYgdGhpcy5zdGlja3kpIHtcbiAgICAgIHRoaXMuYW5pbWF0ZSA9IHRydWU7XG4gICAgICB0aGlzLnNjcm9sbFdpdGhBbmltYXRpb25BbmRTdGlja3koKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuYWN0aXZhdGVBbmltYXRpb24gJiYgIXRoaXMuc3RpY2t5KSB7XG4gICAgICB0aGlzLnNjcm9sbFdpdGhPbmx5QW5pbWF0aW9uKCk7XG4gICAgfVxuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dCcmVhZGNydW1iID0gISF0aGlzLmJyZWFkY3J1bWI7XG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwdWJsaWMgb25QYXJlbnRTY3JvbGxXaXRoT25seUFuaW1hdGlvbihwYXJlbnRFbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIGxldCBwcmV2aW91c1N0YXRlID0gJ3VuZml4ZWQnO1xuICAgIGNvbnN0IGhlYWRlckhlaWdodCA9IHRoaXMuaGVhZGVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuXG4gICAgbGV0IGxhc3RTY3JvbGxUb3AgPSBwYXJlbnRFbGVtZW50LnNjcm9sbFRvcCB8fCAwO1xuXG4gICAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKCkgPT4ge1xuICAgICAgY29uc3QgY3VycmVudFNjcm9sbFRvcCA9IHBhcmVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8IDA7XG5cbiAgICAgIGlmIChjdXJyZW50U2Nyb2xsVG9wID09PSAwKSB7XG4gICAgICAgIHRoaXMudW5maXhlZCA9IHRydWU7XG4gICAgICAgIHRoaXMucGlubmVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMudW5waW5uZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5oZWFkZXJTdGF0ZUV2ZW50LmVtaXQoJ3VuZml4ZWQnKTtcbiAgICAgICAgcHJldmlvdXNTdGF0ZSA9ICd1bmZpeGVkJztcbiAgICAgIH0gZWxzZSBpZiAoY3VycmVudFNjcm9sbFRvcCA8IGxhc3RTY3JvbGxUb3AgJiYgY3VycmVudFNjcm9sbFRvcCA+IGhlYWRlckhlaWdodCkge1xuICAgICAgICB0aGlzLnBpbm5lZCA9IHRydWU7XG4gICAgICAgIHRoaXMudW5waW5uZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy51bmZpeGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaGVhZGVyU3RhdGVFdmVudC5lbWl0KCdwaW5uZWQnKTtcbiAgICAgICAgaWYgKHByZXZpb3VzU3RhdGUgIT09ICd1bmZpeGVkJykge1xuICAgICAgICAgIHRoaXMudHJpZ2dlckFuaW1hdGlvbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuYW5pbWF0ZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHByZXZpb3VzU3RhdGUgPSAncGlubmVkJztcbiAgICAgIH0gZWxzZSBpZiAoY3VycmVudFNjcm9sbFRvcCA+IGxhc3RTY3JvbGxUb3AgJiYgY3VycmVudFNjcm9sbFRvcCA+IGhlYWRlckhlaWdodCkge1xuICAgICAgICB0aGlzLnVucGlubmVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5waW5uZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy51bmZpeGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaGVhZGVyU3RhdGVFdmVudC5lbWl0KCd1bnBpbm5lZCcpO1xuICAgICAgICBpZiAocHJldmlvdXNTdGF0ZSAhPT0gJ3VuZml4ZWQnKSB7XG4gICAgICAgICAgdGhpcy50cmlnZ2VyQW5pbWF0aW9uKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5hbmltYXRlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcHJldmlvdXNTdGF0ZSA9ICd1bnBpbm5lZCc7XG4gICAgICB9XG4gICAgICB0aGlzLmRpcmVjdGlvbiA9IGN1cnJlbnRTY3JvbGxUb3AgPiBsYXN0U2Nyb2xsVG9wID8gRGlyZWN0aW9uLkRvd24gOiBEaXJlY3Rpb24uVXA7XG4gICAgICB0aGlzLmRpcmVjdGlvbkNoYW5nZUV2ZW50LmVtaXQodGhpcy5kaXJlY3Rpb24pO1xuICAgICAgbGFzdFNjcm9sbFRvcCA9IGN1cnJlbnRTY3JvbGxUb3A7XG5cbiAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH07XG5cbiAgICBwYXJlbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbCk7XG4gIH1cblxuICBwdWJsaWMgc2Nyb2xsV2l0aE9ubHlBbmltYXRpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWN0aXZhdGVBbmltYXRpb24gJiYgIXRoaXMuc3RpY2t5KSB7XG4gICAgICBjb25zdCBwYXJlbnRFbGVtZW50ID0gdGhpcy5maW5kUGFyZW50V2l0aFNjcm9sbCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG5cbiAgICAgIGlmIChwYXJlbnRFbGVtZW50KSB7XG4gICAgICAgIHRoaXMub25QYXJlbnRTY3JvbGxXaXRoT25seUFuaW1hdGlvbihwYXJlbnRFbGVtZW50KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCBwcmV2aW91c1N0YXRlID0gJ3VuZml4ZWQnO1xuICAgICAgICBjb25zdCBoZWFkZXJIZWlnaHQgPSB0aGlzLmhlYWRlci5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtcbiAgICAgICAgZnJvbUV2ZW50KHdpbmRvdywgJ3Njcm9sbCcpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKCkgPT4gd2luZG93LnNjcm9sbFkpLFxuICAgICAgICAgICAgc3RhcnRXaXRoKDApLFxuICAgICAgICAgICAgcGFpcndpc2UoKSxcbiAgICAgICAgICAgIG1hcCgoW3kxLCB5Ml0pOiBEaXJlY3Rpb24gPT4ge1xuICAgICAgICAgICAgICBpZiAoeTIgPT09IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVuZml4ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMucGlubmVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy51bnBpbm5lZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuYW5pbWF0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuaGVhZGVyU3RhdGVFdmVudC5lbWl0KCd1bmZpeGVkJyk7XG4gICAgICAgICAgICAgICAgcHJldmlvdXNTdGF0ZSA9ICd1bmZpeGVkJztcbiAgICAgICAgICAgICAgfSBlbHNlIGlmICh5MiA8IHkxICYmIHkyID4gaGVhZGVySGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5waW5uZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMudW5waW5uZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLnVuZml4ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBwcmV2aW91c1N0YXRlID0gJ3Bpbm5lZCc7XG4gICAgICAgICAgICAgICAgdGhpcy5oZWFkZXJTdGF0ZUV2ZW50LmVtaXQoJ3Bpbm5lZCcpO1xuICAgICAgICAgICAgICAgIGlmIChwcmV2aW91c1N0YXRlICE9PSAndW5maXhlZCcpIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMudHJpZ2dlckFuaW1hdGlvbigpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLmFuaW1hdGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAoeTIgPiB5MSAmJiB5MiA+IGhlYWRlckhlaWdodCkge1xuICAgICAgICAgICAgICAgIHRoaXMudW5waW5uZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMucGlubmVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy51bmZpeGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5oZWFkZXJTdGF0ZUV2ZW50LmVtaXQoJ3VucGlubmVkJyk7XG4gICAgICAgICAgICAgICAgaWYgKHByZXZpb3VzU3RhdGUgIT09ICd1bmZpeGVkJykge1xuICAgICAgICAgICAgICAgICAgdGhpcy50cmlnZ2VyQW5pbWF0aW9uKCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuYW5pbWF0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBwcmV2aW91c1N0YXRlID0gJ3VucGlubmVkJztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4geTIgPCB5MSA/IERpcmVjdGlvbi5VcCA6IERpcmVjdGlvbi5Eb3duO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgICAgLnN1YnNjcmliZSgoZGlyZWN0aW9uKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRpcmVjdGlvbiA9IGRpcmVjdGlvbjtcbiAgICAgICAgICAgIHRoaXMuZGlyZWN0aW9uQ2hhbmdlRXZlbnQuZW1pdCh0aGlzLmRpcmVjdGlvbik7XG4gICAgICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25QYXJlbnRTY3JvbGxXaXRoQW5pbWF0aW9uQW5kU3RpY2t5KHBhcmVudEVsZW1lbnQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgbGV0IGxhc3RTY3JvbGxUb3AgPSBwYXJlbnRFbGVtZW50LnNjcm9sbFRvcCB8fCAwO1xuXG4gICAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKCkgPT4ge1xuICAgICAgY29uc3QgY3VycmVudFNjcm9sbFRvcCA9IHBhcmVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8IDA7XG4gICAgICBpZiAoY3VycmVudFNjcm9sbFRvcCA+IGxhc3RTY3JvbGxUb3ApIHtcbiAgICAgICAgdGhpcy5kaXJlY3Rpb24gPSBEaXJlY3Rpb24uRG93bjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZGlyZWN0aW9uID0gRGlyZWN0aW9uLlVwO1xuICAgICAgfVxuICAgICAgdGhpcy5kaXJlY3Rpb25DaGFuZ2VFdmVudC5lbWl0KHRoaXMuZGlyZWN0aW9uKTtcbiAgICAgIGxhc3RTY3JvbGxUb3AgPSBjdXJyZW50U2Nyb2xsVG9wO1xuXG4gICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9O1xuXG4gICAgcGFyZW50RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpO1xuICB9XG5cbiAgcHVibGljIHNjcm9sbFdpdGhBbmltYXRpb25BbmRTdGlja3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYW5pbWF0ZSAmJiB0aGlzLnN0aWNreSkge1xuICAgICAgY29uc3QgcGFyZW50RWxlbWVudCA9IHRoaXMuZmluZFBhcmVudFdpdGhTY3JvbGwodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgICBpZiAocGFyZW50RWxlbWVudCkge1xuICAgICAgICB0aGlzLm9uUGFyZW50U2Nyb2xsV2l0aEFuaW1hdGlvbkFuZFN0aWNreShwYXJlbnRFbGVtZW50KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZyb21FdmVudCh3aW5kb3csICdzY3JvbGwnKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKCgpID0+IHdpbmRvdy5zY3JvbGxZKSxcbiAgICAgICAgICAgIHBhaXJ3aXNlKCksXG4gICAgICAgICAgICBtYXAoKFt5MSwgeTJdKTogRGlyZWN0aW9uID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHkyIDwgeTEgPyBEaXJlY3Rpb24uVXAgOiBEaXJlY3Rpb24uRG93bjtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKGRpcmVjdGlvbikgPT4ge1xuICAgICAgICAgICAgdGhpcy5kaXJlY3Rpb24gPSBkaXJlY3Rpb247XG4gICAgICAgICAgICB0aGlzLmRpcmVjdGlvbkNoYW5nZUV2ZW50LmVtaXQodGhpcy5kaXJlY3Rpb24pO1xuICAgICAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZpbmRQYXJlbnRXaXRoU2Nyb2xsKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICBpZiAoZWxlbWVudC5wYXJlbnRFbGVtZW50KSB7XG4gICAgICBjb25zdCBwYXJlbnQgPSBlbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgICBjb25zdCBoYXNPdmVyZmxvdyA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHBhcmVudCkub3ZlcmZsb3c7XG4gICAgICBpZiAoaGFzT3ZlcmZsb3cgPT09ICdhdXRvJyB8fCBoYXNPdmVyZmxvdyA9PT0gJ3Njcm9sbCcpIHtcbiAgICAgICAgcmV0dXJuIHBhcmVudDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbmRQYXJlbnRXaXRoU2Nyb2xsKHBhcmVudCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHVibGljIGdldCBoZWFkZXJDbGFzc2VzKCk6IE9iamVjdCB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdtYy1oZWFkZXItLXNoYWRvdyc6IHRoaXMuc2hvd1NoYWRvdyxcbiAgICAgICdtYy1oZWFkZXItLXN0aWNreSc6IHRoaXMuc3RpY2t5LFxuICAgICAgJ21jLWhlYWRlci0tYW5pbWF0ZSc6IHRoaXMuYW5pbWF0ZSxcbiAgICAgICdtYy1oZWFkZXItLXVwJzogdGhpcy5hbmltYXRlICYmIHRoaXMuc3RpY2t5ICYmIHRoaXMuZGlyZWN0aW9uID09PSAnVXAnLFxuICAgICAgJ21jLWhlYWRlci0tZG93bic6IHRoaXMuYW5pbWF0ZSAmJiB0aGlzLnN0aWNreSAmJiB0aGlzLmRpcmVjdGlvbiAhPT0gJ1VwJyxcbiAgICAgICdtYy1oZWFkZXItLXVuZml4ZWQnOiB0aGlzLmFjdGl2YXRlQW5pbWF0aW9uICYmICF0aGlzLnN0aWNreSAmJiB0aGlzLnVuZml4ZWQsXG4gICAgICAnbWMtaGVhZGVyLS11bnBpbm5lZCc6IHRoaXMuYWN0aXZhdGVBbmltYXRpb24gJiYgIXRoaXMuc3RpY2t5ICYmIHRoaXMudW5waW5uZWQsXG4gICAgICAnbWMtaGVhZGVyLS1waW5uZWQnOiB0aGlzLmFjdGl2YXRlQW5pbWF0aW9uICYmICF0aGlzLnN0aWNreSAmJiB0aGlzLnBpbm5lZCxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGJhY2soKTogdm9pZCB7XG4gICAgdGhpcy5iYWNrRXZlbnQuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyB0cmlnZ2VyQW5pbWF0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuYW5pbWF0ZSA9IHRydWU7XG4gIH1cbn1cbiIsIjxkaXYgI2hlYWRlciBjbGFzcz1cIm1jLWhlYWRlclwiIFtuZ0NsYXNzXT1cImhlYWRlckNsYXNzZXNcIj5cbiAgPGRpdiBjbGFzcz1cIm1jLWhlYWRlcl9fY29udGFpbmVyXCI+XG5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm1vei1icmVhZGNydW1iXCI+PC9uZy1jb250ZW50PlxuXG4gICAgPGRpdiBjbGFzcz1cIm1jLWhlYWRlcl9fYWN0aW9uc1wiICpuZ0lmPVwic2hvd0FjdGlvbnNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtYy1oZWFkZXJfX2ljb25zXCI+XG4gICAgICAgIDxkaXYgI2ljb25zV3JhcHBlcj5cbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbaWNvbnNdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1jLWhlYWRlcl9fc2VsZWN0b3JcIj5cbiAgICAgICAgPGRpdiAjc2VsZWN0b3JXcmFwcGVyPlxuICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzZWxlY3Rvcl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm1jLWhlYWRlcl9fY29udGVudFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1jLWhlYWRlcl9fY29udGVudC1tYWluXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cIm1jLWhlYWRlcl9fYmFja1wiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgKm5nSWY9XCJzaG93QmFjayAmJiAhc2hvd0JyZWFkY3J1bWJcIlxuICAgICAgICAgIChjbGljayk9XCJiYWNrKClcIlxuICAgICAgICA+XG4gICAgICAgICAgPG1vei1pY29uIGljb25OYW1lPVwiTmF2aWdhdGlvbl9BcnJvd19CYWNrXzI0cHhcIj48L21vei1pY29uPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWMtaGVhZGVyX19iYWNrLWxhYmVsXCI+e3sgYmFja0J1dHRvbkxhYmVsIH19PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGgxIGNsYXNzPVwibWMtaGVhZGVyX190aXRsZSBtYy1oZWFkZXJfX3RpdGxlLS17eyBzaXplIH19XCI+e3sgdGl0bGUgfX08L2gxPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwibWMtaGVhZGVyX19jb250ZW50LWFzaWRlXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiW3Nob3dCYWNrICYmICFzaG93QnJlYWRjcnVtYiA/ICdjYW4tbmF2aWdhdGUnIDogJyddXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYy1oZWFkZXJfX3N1YnRpdGxlXCIgKm5nSWY9XCJzdWJ0aXRsZVwiPnt7IHN1YnRpdGxlIH19PC9zcGFuPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiYmFkZ2VDb250ZW50XCIgbW96LWJhZGdlIFt0eXBlXT1cImJhZGdlVHlwZSB8fCAnaW5mb3JtYXRpb24nXCI+XG4gICAgICAgICAge3sgYmFkZ2VDb250ZW50IH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwibWMtaGVhZGVyX190YWJzIG1jLWRpdmlkZXItdG9wIG1jLWRpdmlkZXItdG9wLS1saWdodFwiICN0YWJzUmVmICpuZ0lmPVwic2hvd1RhYnNcIj5cbiAgICA8bmctY29udGFpbmVyIG5nUHJvamVjdEFzPVwiJ21vei10YWJzJ1wiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibW96LXRhYnNcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=