@sebgroup/green-angular 4.6.5 → 4.6.6

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 (224) hide show
  1. package/esm2022/lib/accordion/accordion-list-item.component.mjs +1 -1
  2. package/esm2022/lib/accordion/accordion.component.mjs +1 -1
  3. package/esm2022/lib/accordion/accordion.module.mjs +1 -1
  4. package/esm2022/lib/badge/badge.component.mjs +1 -1
  5. package/esm2022/lib/badge/badge.module.mjs +2 -2
  6. package/esm2022/lib/button/button.component.mjs +1 -1
  7. package/esm2022/lib/button/button.module.mjs +2 -2
  8. package/esm2022/lib/cell-table/cell-table-item.component.mjs +1 -1
  9. package/esm2022/lib/cell-table/cell-table.component.mjs +1 -1
  10. package/esm2022/lib/cell-table/cell-table.module.mjs +2 -2
  11. package/esm2022/lib/cell-table/cell-underline.directive.mjs +1 -1
  12. package/esm2022/lib/context-menu/context-menu.component.mjs +2 -2
  13. package/esm2022/lib/context-menu/context-menu.module.mjs +2 -2
  14. package/esm2022/lib/datepicker/datepicker.component.mjs +3 -3
  15. package/esm2022/lib/datepicker/datepicker.module.mjs +3 -3
  16. package/esm2022/lib/dropdown/dropdown.component.mjs +3 -3
  17. package/esm2022/lib/dropdown/dropdown.module.mjs +5 -5
  18. package/esm2022/lib/green-angular.module.mjs +2 -2
  19. package/esm2022/lib/in-page-wizard/in-page-wizard-step-card.component.mjs +1 -1
  20. package/esm2022/lib/in-page-wizard/in-page-wizard.module.mjs +2 -2
  21. package/esm2022/lib/modal/modal.component.mjs +4 -4
  22. package/esm2022/lib/modal/modal.module.mjs +4 -4
  23. package/esm2022/lib/pagination/pagination.component.mjs +2 -2
  24. package/esm2022/lib/pagination/pagination.module.mjs +2 -2
  25. package/esm2022/lib/progress-circle/progress-circle.component.mjs +1 -1
  26. package/esm2022/lib/progress-circle/progress-circle.module.mjs +2 -2
  27. package/esm2022/lib/segmented-control/segmented-control.component.mjs +2 -2
  28. package/esm2022/lib/segmented-control/segmented-control.module.mjs +3 -3
  29. package/esm2022/lib/shared/core-element/core-element.directive.mjs +2 -2
  30. package/esm2022/lib/shared/core-element/core-element.module.mjs +2 -2
  31. package/esm2022/lib/shared/on-scroll.directive.mjs +2 -2
  32. package/esm2022/lib/shared/shared.module.mjs +1 -1
  33. package/esm2022/lib/slider/slider.component.mjs +1 -1
  34. package/esm2022/lib/sortable-list/sortable-list.component.mjs +2 -2
  35. package/esm2022/lib/sortable-list/sortable-list.module.mjs +2 -2
  36. package/esm2022/src/lib/accordion/accordion-list-item.component.mjs +1 -1
  37. package/esm2022/src/lib/accordion/accordion.component.mjs +1 -1
  38. package/esm2022/src/lib/accordion/accordion.module.mjs +1 -1
  39. package/esm2022/src/lib/badge/badge.component.mjs +1 -1
  40. package/esm2022/src/lib/badge/badge.module.mjs +2 -2
  41. package/esm2022/src/lib/button/button.component.mjs +1 -1
  42. package/esm2022/src/lib/button/button.module.mjs +2 -2
  43. package/esm2022/src/lib/cell-table/cell-table-item.component.mjs +1 -1
  44. package/esm2022/src/lib/cell-table/cell-table.component.mjs +1 -1
  45. package/esm2022/src/lib/cell-table/cell-table.module.mjs +2 -2
  46. package/esm2022/src/lib/cell-table/cell-underline.directive.mjs +1 -1
  47. package/esm2022/src/lib/context-menu/context-menu.component.mjs +2 -2
  48. package/esm2022/src/lib/context-menu/context-menu.module.mjs +2 -2
  49. package/esm2022/src/lib/datepicker/datepicker.component.mjs +3 -3
  50. package/esm2022/src/lib/datepicker/datepicker.module.mjs +3 -3
  51. package/esm2022/src/lib/dropdown/dropdown.component.mjs +3 -3
  52. package/esm2022/src/lib/dropdown/dropdown.module.mjs +5 -5
  53. package/esm2022/src/lib/in-page-wizard/in-page-wizard-step-card.component.mjs +1 -1
  54. package/esm2022/src/lib/in-page-wizard/in-page-wizard.module.mjs +2 -2
  55. package/esm2022/src/lib/modal/modal.component.mjs +4 -4
  56. package/esm2022/src/lib/modal/modal.module.mjs +4 -4
  57. package/esm2022/src/lib/pagination/pagination.component.mjs +2 -2
  58. package/esm2022/src/lib/pagination/pagination.module.mjs +2 -2
  59. package/esm2022/src/lib/progress-circle/progress-circle.component.mjs +1 -1
  60. package/esm2022/src/lib/progress-circle/progress-circle.module.mjs +2 -2
  61. package/esm2022/src/lib/segmented-control/segmented-control.component.mjs +2 -2
  62. package/esm2022/src/lib/segmented-control/segmented-control.module.mjs +3 -3
  63. package/esm2022/src/lib/shared/core-element/core-element.directive.mjs +2 -2
  64. package/esm2022/src/lib/shared/core-element/core-element.module.mjs +2 -2
  65. package/esm2022/src/lib/shared/on-scroll.directive.mjs +2 -2
  66. package/esm2022/src/lib/shared/shared.module.mjs +1 -1
  67. package/esm2022/src/lib/slider/slider.component.mjs +1 -1
  68. package/esm2022/src/lib/sortable-list/sortable-list.component.mjs +2 -2
  69. package/esm2022/src/lib/sortable-list/sortable-list.module.mjs +2 -2
  70. package/esm2022/src/v-angular/base-control-value-accessor/base-control-value-accessor.component.mjs +3 -3
  71. package/esm2022/src/v-angular/base-control-value-accessor/base-control-value-accessor.module.mjs +1 -1
  72. package/esm2022/src/v-angular/breadcrumbs/breadcrumbs.module.mjs +3 -3
  73. package/esm2022/src/v-angular/button/button.component.mjs +1 -1
  74. package/esm2022/src/v-angular/button/button.module.mjs +3 -3
  75. package/esm2022/src/v-angular/card/card.module.mjs +2 -2
  76. package/esm2022/src/v-angular/character-countdown/character-countdown.module.mjs +2 -2
  77. package/esm2022/src/v-angular/checkbox/checkbox.component.mjs +1 -1
  78. package/esm2022/src/v-angular/checkbox/checkbox.module.mjs +3 -3
  79. package/esm2022/src/v-angular/core/core.utils.mjs +1 -1
  80. package/esm2022/src/v-angular/dropdown/dropdown-list/dropdown-list.component.mjs +4 -4
  81. package/esm2022/src/v-angular/dropdown/dropdown.component.mjs +4 -4
  82. package/esm2022/src/v-angular/dropdown/dropdown.module.mjs +5 -5
  83. package/esm2022/src/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.mjs +5 -5
  84. package/esm2022/src/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.mjs +3 -3
  85. package/esm2022/src/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.mjs +5 -5
  86. package/esm2022/src/v-angular/dropdown/typeahead/typeahead.directive.mjs +2 -2
  87. package/esm2022/src/v-angular/dropdown/typeahead/typeahead.module.mjs +4 -4
  88. package/esm2022/src/v-angular/external-link/external-link.module.mjs +2 -2
  89. package/esm2022/src/v-angular/i18n/i18n.module.mjs +2 -2
  90. package/esm2022/src/v-angular/i18n/i18n.test.module.mjs +1 -1
  91. package/esm2022/src/v-angular/info-circle/info-circle.component.mjs +1 -1
  92. package/esm2022/src/v-angular/info-circle/info-circle.module.mjs +3 -3
  93. package/esm2022/src/v-angular/input/input.component.mjs +4 -3
  94. package/esm2022/src/v-angular/input/input.module.mjs +9 -5
  95. package/esm2022/src/v-angular/input-mask/config.mjs +1 -1
  96. package/esm2022/src/v-angular/input-mask/constants.mjs +1 -1
  97. package/esm2022/src/v-angular/input-mask/input-mask-format.pipe.mjs +1 -1
  98. package/esm2022/src/v-angular/input-mask/input-mask.directive.mjs +1 -1
  99. package/esm2022/src/v-angular/input-mask/input-mask.types.mjs +1 -1
  100. package/esm2022/src/v-angular/modal/fold-out/fold-out.component.mjs +1 -1
  101. package/esm2022/src/v-angular/modal/modal.module.mjs +3 -3
  102. package/esm2022/src/v-angular/modal/modal.types.mjs +1 -1
  103. package/esm2022/src/v-angular/modal/slide-out/slide-out.component.mjs +4 -4
  104. package/esm2022/src/v-angular/radio/radio.component.mjs +1 -1
  105. package/esm2022/src/v-angular/radio/radio.module.mjs +3 -3
  106. package/esm2022/src/v-angular/slug/slug.module.mjs +2 -2
  107. package/esm2022/src/v-angular/slug/slug.pipe.mjs +1 -1
  108. package/esm2022/src/v-angular/textarea/textarea.component.mjs +3 -2
  109. package/esm2022/src/v-angular/textarea/textarea.module.mjs +7 -6
  110. package/esm2022/src/v-angular/tooltip/tooltip.module.mjs +1 -1
  111. package/esm2022/v-angular/base-control-value-accessor/base-control-value-accessor.component.mjs +3 -3
  112. package/esm2022/v-angular/base-control-value-accessor/base-control-value-accessor.module.mjs +1 -1
  113. package/esm2022/v-angular/breadcrumbs/breadcrumbs.module.mjs +3 -3
  114. package/esm2022/v-angular/button/button.component.mjs +1 -1
  115. package/esm2022/v-angular/button/button.module.mjs +3 -3
  116. package/esm2022/v-angular/card/card.module.mjs +2 -2
  117. package/esm2022/v-angular/character-countdown/character-countdown.module.mjs +2 -2
  118. package/esm2022/v-angular/checkbox/checkbox.component.mjs +1 -1
  119. package/esm2022/v-angular/checkbox/checkbox.module.mjs +3 -3
  120. package/esm2022/v-angular/dropdown/dropdown-list/dropdown-list.component.mjs +4 -4
  121. package/esm2022/v-angular/dropdown/dropdown.component.mjs +4 -4
  122. package/esm2022/v-angular/dropdown/dropdown.module.mjs +5 -5
  123. package/esm2022/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.mjs +5 -5
  124. package/esm2022/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.mjs +3 -3
  125. package/esm2022/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.mjs +5 -5
  126. package/esm2022/v-angular/dropdown/typeahead/typeahead.directive.mjs +2 -2
  127. package/esm2022/v-angular/dropdown/typeahead/typeahead.module.mjs +4 -4
  128. package/esm2022/v-angular/i18n/i18n.module.mjs +2 -2
  129. package/esm2022/v-angular/i18n/i18n.test.module.mjs +1 -1
  130. package/esm2022/v-angular/info-circle/info-circle.component.mjs +1 -1
  131. package/esm2022/v-angular/info-circle/info-circle.module.mjs +3 -3
  132. package/esm2022/v-angular/input/input.component.mjs +4 -3
  133. package/esm2022/v-angular/input/input.module.mjs +9 -5
  134. package/esm2022/v-angular/input-mask/config.mjs +1 -1
  135. package/esm2022/v-angular/input-mask/constants.mjs +1 -1
  136. package/esm2022/v-angular/input-mask/input-mask-format.pipe.mjs +1 -1
  137. package/esm2022/v-angular/input-mask/input-mask.directive.mjs +1 -1
  138. package/esm2022/v-angular/input-mask/input-mask.types.mjs +1 -1
  139. package/esm2022/v-angular/modal/fold-out/fold-out.component.mjs +1 -1
  140. package/esm2022/v-angular/modal/modal.module.mjs +3 -3
  141. package/esm2022/v-angular/modal/modal.types.mjs +1 -1
  142. package/esm2022/v-angular/modal/slide-out/slide-out.component.mjs +4 -4
  143. package/esm2022/v-angular/radio/radio.component.mjs +1 -1
  144. package/esm2022/v-angular/radio/radio.module.mjs +3 -3
  145. package/esm2022/v-angular/textarea/textarea.component.mjs +3 -2
  146. package/esm2022/v-angular/textarea/textarea.module.mjs +7 -6
  147. package/esm2022/v-angular/tooltip/tooltip.module.mjs +1 -1
  148. package/esm2022/v-angular/v-angular.module.mjs +3 -3
  149. package/fesm2022/sebgroup-green-angular-src-lib-accordion.mjs.map +1 -1
  150. package/fesm2022/sebgroup-green-angular-src-lib-badge.mjs.map +1 -1
  151. package/fesm2022/sebgroup-green-angular-src-lib-button.mjs.map +1 -1
  152. package/fesm2022/sebgroup-green-angular-src-lib-cell-table.mjs.map +1 -1
  153. package/fesm2022/sebgroup-green-angular-src-lib-context-menu.mjs.map +1 -1
  154. package/fesm2022/sebgroup-green-angular-src-lib-datepicker.mjs +1 -1
  155. package/fesm2022/sebgroup-green-angular-src-lib-datepicker.mjs.map +1 -1
  156. package/fesm2022/sebgroup-green-angular-src-lib-dropdown.mjs +10 -10
  157. package/fesm2022/sebgroup-green-angular-src-lib-dropdown.mjs.map +1 -1
  158. package/fesm2022/sebgroup-green-angular-src-lib-in-page-wizard.mjs.map +1 -1
  159. package/fesm2022/sebgroup-green-angular-src-lib-modal.mjs +12 -12
  160. package/fesm2022/sebgroup-green-angular-src-lib-modal.mjs.map +1 -1
  161. package/fesm2022/sebgroup-green-angular-src-lib-pagination.mjs.map +1 -1
  162. package/fesm2022/sebgroup-green-angular-src-lib-progress-circle.mjs.map +1 -1
  163. package/fesm2022/sebgroup-green-angular-src-lib-segmented-control.mjs.map +1 -1
  164. package/fesm2022/sebgroup-green-angular-src-lib-shared.mjs.map +1 -1
  165. package/fesm2022/sebgroup-green-angular-src-lib-slider.mjs.map +1 -1
  166. package/fesm2022/sebgroup-green-angular-src-lib-sortable-list.mjs +2 -2
  167. package/fesm2022/sebgroup-green-angular-src-lib-sortable-list.mjs.map +1 -1
  168. package/fesm2022/sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs +1 -1
  169. package/fesm2022/sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs.map +1 -1
  170. package/fesm2022/sebgroup-green-angular-src-v-angular-breadcrumbs.mjs.map +1 -1
  171. package/fesm2022/sebgroup-green-angular-src-v-angular-button.mjs.map +1 -1
  172. package/fesm2022/sebgroup-green-angular-src-v-angular-card.mjs.map +1 -1
  173. package/fesm2022/sebgroup-green-angular-src-v-angular-character-countdown.mjs.map +1 -1
  174. package/fesm2022/sebgroup-green-angular-src-v-angular-checkbox.mjs.map +1 -1
  175. package/fesm2022/sebgroup-green-angular-src-v-angular-core.mjs.map +1 -1
  176. package/fesm2022/sebgroup-green-angular-src-v-angular-dropdown.mjs +99 -99
  177. package/fesm2022/sebgroup-green-angular-src-v-angular-dropdown.mjs.map +1 -1
  178. package/fesm2022/sebgroup-green-angular-src-v-angular-external-link.mjs.map +1 -1
  179. package/fesm2022/sebgroup-green-angular-src-v-angular-i18n.mjs +1 -1
  180. package/fesm2022/sebgroup-green-angular-src-v-angular-i18n.mjs.map +1 -1
  181. package/fesm2022/sebgroup-green-angular-src-v-angular-info-circle.mjs.map +1 -1
  182. package/fesm2022/sebgroup-green-angular-src-v-angular-input-mask.mjs.map +1 -1
  183. package/fesm2022/sebgroup-green-angular-src-v-angular-input.mjs +10 -5
  184. package/fesm2022/sebgroup-green-angular-src-v-angular-input.mjs.map +1 -1
  185. package/fesm2022/sebgroup-green-angular-src-v-angular-modal.mjs +3 -3
  186. package/fesm2022/sebgroup-green-angular-src-v-angular-modal.mjs.map +1 -1
  187. package/fesm2022/sebgroup-green-angular-src-v-angular-radio.mjs.map +1 -1
  188. package/fesm2022/sebgroup-green-angular-src-v-angular-slug.mjs.map +1 -1
  189. package/fesm2022/sebgroup-green-angular-src-v-angular-textarea.mjs +6 -4
  190. package/fesm2022/sebgroup-green-angular-src-v-angular-textarea.mjs.map +1 -1
  191. package/fesm2022/sebgroup-green-angular-src-v-angular-tooltip.mjs.map +1 -1
  192. package/fesm2022/sebgroup-green-angular-v-angular.mjs +114 -109
  193. package/fesm2022/sebgroup-green-angular-v-angular.mjs.map +1 -1
  194. package/fesm2022/sebgroup-green-angular.mjs +285 -285
  195. package/fesm2022/sebgroup-green-angular.mjs.map +1 -1
  196. package/lib/cell-table/cell-table-item.component.d.ts +1 -1
  197. package/lib/cell-table/cell-underline.directive.d.ts +1 -1
  198. package/lib/datepicker/datepicker.component.d.ts +1 -1
  199. package/lib/dropdown/dropdown.component.d.ts +1 -1
  200. package/lib/modal/modal.component.d.ts +2 -2
  201. package/lib/sortable-list/sortable-list.component.d.ts +1 -1
  202. package/package.json +1 -1
  203. package/src/lib/cell-table/cell-table-item.component.d.ts +1 -1
  204. package/src/lib/cell-table/cell-underline.directive.d.ts +1 -1
  205. package/src/lib/datepicker/datepicker.component.d.ts +1 -1
  206. package/src/lib/dropdown/dropdown.component.d.ts +1 -1
  207. package/src/lib/modal/modal.component.d.ts +2 -2
  208. package/src/lib/sortable-list/sortable-list.component.d.ts +1 -1
  209. package/src/v-angular/base-control-value-accessor/base-control-value-accessor.component.d.ts +1 -1
  210. package/src/v-angular/dropdown/dropdown-list/dropdown-list.component.d.ts +1 -1
  211. package/src/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.d.ts +1 -1
  212. package/src/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.d.ts +1 -1
  213. package/src/v-angular/dropdown/typeahead/typeahead.directive.d.ts +1 -1
  214. package/src/v-angular/input/input.component.d.ts +1 -1
  215. package/src/v-angular/input/input.module.d.ts +2 -1
  216. package/src/v-angular/textarea/textarea.module.d.ts +2 -1
  217. package/v-angular/base-control-value-accessor/base-control-value-accessor.component.d.ts +1 -1
  218. package/v-angular/dropdown/dropdown-list/dropdown-list.component.d.ts +1 -1
  219. package/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.d.ts +1 -1
  220. package/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.d.ts +1 -1
  221. package/v-angular/dropdown/typeahead/typeahead.directive.d.ts +1 -1
  222. package/v-angular/input/input.component.d.ts +1 -1
  223. package/v-angular/input/input.module.d.ts +2 -1
  224. package/v-angular/textarea/textarea.module.d.ts +2 -1
@@ -1,8 +1,8 @@
1
- import { ChangeDetectorRef, ContentChild, Component, ElementRef, EventEmitter, HostBinding, Inject, Injectable, Input, Optional, Output, Self, TemplateRef, ViewChild, } from '@angular/core';
1
+ import { ChangeDetectorRef, Component, ContentChild, ElementRef, EventEmitter, HostBinding, Inject, Injectable, Input, Optional, Output, Self, TemplateRef, ViewChild, } from '@angular/core';
2
2
  import { NgControl, Validators, } from '@angular/forms';
3
+ import { TRANSLOCO_SCOPE } from '@ngneat/transloco';
3
4
  import { Observable, Subject } from 'rxjs';
4
5
  import { takeUntil } from 'rxjs/operators';
5
- import { TRANSLOCO_SCOPE } from '@ngneat/transloco';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@angular/forms";
8
8
  // eslint-disable-next-line @angular-eslint/directive-class-suffix
@@ -284,4 +284,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
284
284
  }], nggvBlur: [{
285
285
  type: Output
286
286
  }] } });
287
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb250cm9sLXZhbHVlLWFjY2Vzc29yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvdi1hbmd1bGFyL2Jhc2UtY29udHJvbC12YWx1ZS1hY2Nlc3Nvci9iYXNlLWNvbnRyb2wtdmFsdWUtYWNjZXNzb3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxpQkFBaUIsRUFDakIsWUFBWSxFQUNaLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sVUFBVSxFQUNWLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksRUFDSixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFHTCxTQUFTLEVBR1QsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUE7QUFFdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRTFDLE9BQU8sRUFBRSxlQUFlLEVBQWtCLE1BQU0sbUJBQW1CLENBQUE7OztBQUluRSxrRUFBa0U7QUFDbEUsTUFBTSxPQUFPLG9DQUFvQztJQXlDL0Msb0VBQW9FO0lBQ3BFLElBQWEsTUFBTSxDQUFDLEtBQWlDO1FBQ25ELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFBO1FBQ3BCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDMUIsQ0FBQztJQUNELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQTtJQUNyQixDQUFDO0lBT0QsbURBQW1EO0lBQ25ELElBQWEsUUFBUSxDQUFDLEtBQWlDO1FBQ3JELElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFBO0lBQ3hCLENB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LFNBQVM7O3NCQUFHLEtBQUs7Z0JBRXJCLElBQUk7c0JBQVosS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBSU8sTUFBTTtzQkFBbEIsS0FBSztnQkFRRyx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBTU8sUUFBUTtzQkFBcEIsS0FBSztnQkF3Qk8sT0FBTztzQkFBbkIsS0FBSztnQkFhTyxLQUFLO3NCQUFqQixLQUFLO2dCQVVHLE9BQU87c0JBQWYsS0FBSztnQkFJTyxRQUFRO3NCQUFwQixLQUFLO2dCQWFhLFNBQVM7c0JBQTNCLE1BQU07Z0JBRVksUUFBUTtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb250ZW50Q2hpbGQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBJbmplY3RhYmxlLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFNlbGYsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBOZ0NvbnRyb2wsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvcixcbiAgVmFsaWRhdG9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5cbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbmltcG9ydCB7IFRSQU5TTE9DT19TQ09QRSwgVHJhbnNsb2NvU2NvcGUgfSBmcm9tICdAbmduZWF0L3RyYW5zbG9jbydcblxuQEluamVjdGFibGUoKSAvLyBXb3JrYXJvdW5kIGZvciBDb21wb2RvYyBodHRwczovL2dpdGh1Yi5jb20vY29tcG9kb2MvY29tcG9kb2MvaXNzdWVzLzk4NFxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJyB9KSAvLyBSZXF1aXJlZCB3aXRoIEFuZ3VsYXIgaXZ5IGNvbXBpbGVyXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1jbGFzcy1zdWZmaXhcbmV4cG9ydCBjbGFzcyBOZ3ZCYXNlQ29udHJvbFZhbHVlQWNjZXNzb3JDb21wb25lbnRcbiAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvclxue1xuICAvKiogQ3VzdG9tIHRlbXBsYXRlIGZvciBkaXNwbGF5aW5nIHRoZSBjb250ZW50IG9mIHRoZSBsYWJlbC5cbiAgICogU3BlY2lmaWVkIGJ5IG5lc3RpbmcgYW4gYDxuZy10ZW1wbGF0ZSAjbGFiZWxUcGw+Q3VzdG9tIExhYmVsPC9uZy10ZW1wbGF0ZT5gLlxuICAgKi9cbiAgQENvbnRlbnRDaGlsZCgnbGFiZWxUcGwnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIGxhYmVsQ29udGVudFRwbD86IFRlbXBsYXRlUmVmPHVuZGVmaW5lZD5cblxuICAvKiogUmVmZXJlbmNlIHRvIHRoZSBuYXRpdmUgY2hpbGQgaW5wdXQgZWxlbWVudC4gKi9cbiAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgaW5wdXRSZWY/OiBFbGVtZW50UmVmXG5cbiAgLyogQVRUUklCVVRFUyAqL1xuXG4gIC8qKiBJZCBvZiB0aGUgaG9zdCBlbGVtZW50IGFuZCBpcyBhY2Nlc3NpYmxlIGJ5IHRoZSBjaGlsZHJlbiwgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgaWYgbm90IHByb3ZpZGVkLiAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKSBASW5wdXQoKSBpZCA9ICh3aW5kb3cgYXMgYW55KS5uZ2d2Py5uZXh0SWQoKVxuICAvKiogTmFtZSBvZiB0aGUgY2hpbGQgaW5wdXQgZWxlbWVudC4gKi9cbiAgQElucHV0KCkgbmFtZT86IHN0cmluZ1xuICAvKipcbiAgICogTGFiZWwgb2YgdGhlIGNoaWxkIGlucHV0IGVsZW1lbnQgdXNpbmcgdGhlIGRlZmF1bHQgdGVtcGxhdGUuXG4gICAqIENhbiBiZSBvdmVyd3JpdHRlbiBieSBzcGVjaWZ5aW5nIGFuIGA8bmctdGVtcGxhdGUgI2xhYmVsVHBsPkN1c3RvbSBMYWJlbDwvbmctdGVtcGxhdGU+YC5cbiAgICovXG4gIEBJbnB1dCgpIGxhYmVsPzogc3RyaW5nXG4gIC8qKiBSb2xlIG9mIHRoZSBjaGlsZCBpbnB1dCBlbGVtZW50LiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BY2Nlc3NpYmlsaXR5L0FSSUEvUm9sZXMgKi9cbiAgQElucHV0KCkgcm9sZT86IHN0cmluZ1xuICAvKiogVmFsdWUgb2YgdGhlIGNoaWxkIGlucHV0IGVsZW1lbnQuIE1vc3RseSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggcmFkaW8gYW5kIGNoZWNrYm94ZXMuICovXG4gIEBJbnB1dCgpIHZhbHVlOiBhbnlcbiAgLyoqIEFuIGVycm9yIHN0cmluZyB0byBiZSBzaG93biB1bmRlciBpbnZhbGlkIGlucHV0cy4gT3ZlcndyaXRlcyBhbnkgZm9ybSBlcnJvcnMuICovXG4gIEBJbnB1dCgpIGVycm9yPzogc3RyaW5nXG4gIC8qKiBEZXNjcmlwdGlvbiBvZiB0aGUgY2hpbGQgaW5wdXQgZWxlbWVudC4gQm90aCB2aXNpYmx5IGFuZCBhcyBgYXJpYS1sYWJlbGAuICovXG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uPzogc3RyaW5nXG4gIC8qKiBJZiBzZXQgdG8gdHJ1ZSwgdGhlIGJyb3dzZXIgd2lsbCB0cnkgdG8gYXV0b21hdGljYWxseSBzZXQgZm9jdXMgdG8gdGhlIGNoaWxkIGlucHV0IGVsZW1lbnQuICovXG4gIEBJbnB1dCgpIGF1dG9mb2N1cyA9IGZhbHNlXG4gIC8qKiBEZWFmdWx0IHZhbHVlIG9mIHRoZSBjaGlsZCBpbnB1dCBlbGVtZW50LiBVc2VkIHdoZW4gcmVzZXR0aW5nIGNoaWxkIGVsZW1lbnQuICovXG4gIEBJbnB1dCgpIGRlZmF1bHRWYWx1ZT86IGFueVxuICAvKiogSWYgcGFzc2VkLCB0aGUgY29tcG9uZW50IHdpbGwgbGlzdGVuIGZvciB1cGRhdGVzIGFuZCB3aWxsIHJlc2V0IGl0cyB2YWx1ZS4gKi9cbiAgQElucHV0KCkgcmVzZXQ/OiBPYnNlcnZhYmxlPGFueT5cbiAgLyoqIEFkZHMgKE9wdGlvbmFsKSB0byBpbnB1dCBsYWJlbC4gKi9cbiAgQElucHV0KCkgb3B0aW9uYWw/OiBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZFxuXG4gIHByaXZhdGUgX2xvY2tlZDogYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWQgPSB1bmRlZmluZWRcbiAgLyoqIEhpZGVzIHRoZSBpbnB1dCBib3JkZXJzIGFuZCBkaXNwbGF5cyBjdXJyZW50IHZhbHVlIGFzIGEgdGV4dC4gKi9cbiAgQElucHV0KCkgc2V0IGxvY2tlZCh2YWx1ZTogYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9sb2NrZWQgPSB2YWx1ZVxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxuICB9XG4gIGdldCBsb2NrZWQoKTogYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9sb2NrZWRcbiAgfVxuICAvKiogSWYgc2V0IHRvIHRydWUsIHVzaW5nIGEgY29udHJvbHMgZGlzYWJsZWQgc3RhdGUgd2lsbCBkaXNwbGF5IGlucHV0IGFzIGxvY2tlZC4gKi9cbiAgQElucHV0KCkgZGlzcGxheURpc2FibGVkQXNMb2NrZWQ/OiBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZFxuXG4gIC8qIFNUQVRFUyAqL1xuXG4gIHByaXZhdGUgX3JlcXVpcmVkOiBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZFxuICAvKiogT3ZlcnJpZGUgdGhlIHJlcXVpcmVkIGZsYWcgb2YgdGhlIGNvbXBvbmVudC4gKi9cbiAgQElucHV0KCkgc2V0IHJlcXVpcmVkKHZhbHVlOiBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX3JlcXVpcmVkID0gdmFsdWVcbiAgfVxuICAvKiogQ2hpbGQgaW5wdXQgZWxlbWVudCBpcyBjb25zaWRlcmVkIHJlcXVpcmVkIGFuZCBjaGFuZ2VzIGRlZmF1bHQgbGFiZWwgdGVtcGxhdGUgYWNjb3JkaW5nbHkuICovXG4gIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgLy8gaWYgcmVxdWlyZWQgaXMgc2V0ID0+IHJldHVybiByZXF1aXJlZFxuICAgIGlmICh0aGlzLl9yZXF1aXJlZCAhPT0gdW5kZWZpbmVkKSByZXR1cm4gdGhpcy5fcmVxdWlyZWRcblxuICAgIC8vIGlmIHJlcXVpcmVkIGNhbiBiZSBkZXRlcm1pbmVkIGZyb20gdGhlIGNvbnRyb2wgPT4gcmV0dXJuIGNvbnRyb2wucmVxdWlyZWRcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnZhbGlkYXRvcikge1xuICAgICAgY29uc3QgdmFsaWRhdG9yID0gdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnZhbGlkYXRvcihcbiAgICAgICAge30gYXMgQWJzdHJhY3RDb250cm9sLFxuICAgICAgKVxuICAgICAgLy8gcmV0dXJucyB0cnVlIGZvciBhbnkgZXJyb3IgdGhhdCBzdGFydHMgd2l0aCByZXF1aXJlZFxuICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHZhbGlkYXRvciA/PyB7fSkuc29tZSgoa2V5KSA9PlxuICAgICAgICBrZXkuc3RhcnRzV2l0aCgncmVxdWlyZWQnKSxcbiAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm5cbiAgfVxuXG4gIHByaXZhdGUgX2ludmFsaWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWRcbiAgLyoqIE92ZXJyaWRlIHRoZSBpbnZhbGlkIHN0YXRlIG9mIHRoZSBjb21wb25lbnQuICovXG4gIEBJbnB1dCgpIHNldCBpbnZhbGlkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5faW52YWxpZCA9IHZhbHVlXG4gIH1cbiAgLyoqIFRoZSBjb21wb25lbnQgaGFzIHRoZSBpbnZhbGlkIHN0YXRlLCB1c3VhbGx5IGRlY29yYXRpbmcgdGhlIGVsZW1lbnRzIHJlZCBhbmQgc2hvd3MgdGhlIGZpcnN0IGVycm9yLiAqL1xuICBnZXQgaW52YWxpZCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5faW52YWxpZCA9PT0gdHJ1ZSB8fCB0aGlzLl9pbnZhbGlkID09PSBmYWxzZSkgcmV0dXJuIHRoaXMuX2ludmFsaWRcbiAgICByZXR1cm4gKFxuICAgICAgISF0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uaW52YWxpZCAmJiB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8udG91Y2hlZFxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgX3ZhbGlkOiBib29sZWFuIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkXG4gIC8qKiBPdmVycmlkZSB0aGUgdmFsaWQgc3RhdGUgb2YgdGhlIGNvbXBvbmVudC4gKi9cbiAgQElucHV0KCkgc2V0IHZhbGlkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fdmFsaWQgPSB2YWx1ZVxuICB9XG4gIC8qKiBUaGUgY29tcG9uZW50IGhhcyB0aGUgdmFsaWQgc3RhdGUsIHVzdWFsbHkgZGVjb3JhdGluZyB0aGUgZWxlbWVudHMgZ3JlZW4uICovXG4gIGdldCB2YWxpZCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5fdmFsaWQgPT09IHRydWUgfHwgdGhpcy5fdmFsaWQgPT09IGZhbHNlKSByZXR1cm4gdGhpcy5fdmFsaWRcbiAgICByZXR1cm4gISF0aGlzLm5nQ29udHJvbD8uY29udHJvbD8udmFsaWQgJiYgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnRvdWNoZWRcbiAgfVxuXG4gIC8qKiBUaGUgY29tcG9uZW50IGhhcyB0aGUgZm9jdXNlZCBzdGF0ZSwgdXBkYXRlZCBieSB0aGUgY2hpbGQgaW5wdXQgZWxlbWVudCdzIGZvY3VzIHN0YXRlLiAqL1xuICBASW5wdXQoKSBmb2N1c2VkID0gZmFsc2VcblxuICBwcml2YXRlIF9kaXNhYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZFxuICAvKiogT3ZlcnJpZGUgdGhlIGRpc2FibGVkIHN0YXRlIG9mIHRoZSBjb21wb25lbnQuICovXG4gIEBJbnB1dCgpIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsdWVcbiAgfVxuICAvKiogVGhlIGNvbXBvbmVudCBoYXMgdGhlIGRpc2FibGVkIHN0YXRlLCB1c3VhbGx5IG11dGluZyB0aGUgY29sb3JzIGFuZCByZW1vdmVzIGludGVyYWN0aW9uLiAqL1xuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuX2Rpc2FibGVkID09PSB0cnVlIHx8IHRoaXMuX2Rpc2FibGVkID09PSBmYWxzZSlcbiAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZFxuICAgIHJldHVybiAhIXRoaXMubmdDb250cm9sPy5jb250cm9sPy5kaXNhYmxlZFxuICB9XG5cbiAgLyogVFJJR0dFUlMgKi9cblxuICAvKiogRW1pdHMgZm9jdXMgZXZlbnRzIHRyaWdnZXJlZCBieSB0aGUgY2hpbGQgZWxlbWVudHMuICovXG4gIEBPdXRwdXQoKSByZWFkb25seSBuZ2d2Rm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgLyoqIEVtaXRzIGZvY3VzIGV2ZW50cyB0cmlnZ2VyZWQgYnkgdGhlIGNoaWxkIGVsZW1lbnRzLiAqL1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgbmdndkJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyKClcblxuICAvKiBWQUxVRSBIQU5ETEVSUyAqL1xuXG4gIHByaXZhdGUgX3N0YXRlOiBhbnkgPSBudWxsXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHJvdGVjdGVkIG9uQ2hhbmdlID0gKF86IGFueSkgPT4ge1xuICAgIC8vIGRvIG5vdGhpbmdcbiAgfVxuICAvKiogQGludGVybmFsICovXG4gIHByb3RlY3RlZCBvblRvdWNoZWQgPSAoKSA9PiB7XG4gICAgLy8gZG8gbm90aGluZ1xuICB9XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHJvdGVjdGVkIG9uVmFsaWRhdG9yQ2hhbmdlOiAoKSA9PiB2b2lkID0gKCkgPT4gbnVsbFxuXG4gIC8qIE9USEVSIFZBUklBQkxFUyAqL1xuICBzY29wZTogc3RyaW5nIHwgdW5kZWZpbmVkXG5cbiAgLyogTElGRSBDWUNMRSBWQVJJQUJMRVMgKi9cblxuICBwcml2YXRlIF9vbkRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IEJhc2VDb250cm9sVmFsdWVBY2Nlc3NvckNvbXBvbmVudC5cbiAgICogQHBhcmFtIG5nQ29udHJvbCBvcHRpb25hbCBGb3JtQ29udHJvbCBwcm92aWRlZCB3aGVuIGNvbXBvbmVudCBpcyB1c2VkIGluIGEgZm9ybSwgdGhyb3VnaCBkZXBlbmRlbmN5IGluamVjdGlvbi5cbiAgICogQHBhcmFtIHRyYW5zbG9jb1Njb3BlIG9wdGlvbmFsIFRyYW5zbG9jb1Njb3BlIHByb3ZpZGVkIGlmIGNvbXBvbmVudCBpcyB1c2VkIHdpdGhpbiBhIHNjb3BlLlxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KFRSQU5TTE9DT19TQ09QRSlcbiAgICBwcm90ZWN0ZWQgdHJhbnNsb2NvU2NvcGU6IFRyYW5zbG9jb1Njb3BlLFxuICAgIHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHtcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgIC8vIE5vdGU6IHdlIHByb3ZpZGUgdGhlIHZhbHVlIGFjY2Vzc29yIHRocm91Z2ggaGVyZSwgaW5zdGVhZCBvZlxuICAgICAgLy8gdGhlIGBwcm92aWRlcnNgIHRvIGF2b2lkIHJ1bm5pbmcgaW50byBhIGNpcmN1bGFyIGltcG9ydC5cbiAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzXG4gICAgfVxuXG4gICAgaWYgKHRoaXMudHJhbnNsb2NvU2NvcGUpIHRoaXMuc2NvcGUgPSB0aGlzLnRyYW5zbG9jb1Njb3BlLnRvU3RyaW5nKClcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29udGV4dHVhbC1saWZlY3ljbGVcbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubmdDb250cm9sICYmIHRoaXMubmdDb250cm9sLmNvbnRyb2wpIHtcbiAgICAgIHRoaXMubmdDb250cm9sLmNvbnRyb2wuc2V0VmFsaWRhdG9ycyhcbiAgICAgICAgVmFsaWRhdG9ycy5jb21wb3NlKFt0aGlzLm5nQ29udHJvbC5jb250cm9sLnZhbGlkYXRvciwgdGhpcy52YWxpZGF0ZV0pLFxuICAgICAgKVxuICAgIH1cblxuICAgIC8vIGlmIHJlc2V0IG9ic2VydmFibGUgaGFzIGJlZW4gcGFzc2VkLCBzdWJzY3JpYmUgYWZ0ZXIgdXBkYXRlc1xuICAgIHRoaXMucmVzZXQ/LnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKCkgPT4ge1xuICAgICAgICAvLyByZXNldCB2YWx1ZSBvZiBjb250cm9sbGVyXG4gICAgICAgIHRoaXMuc3RhdGUgPSB0aGlzLmRlZmF1bHRWYWx1ZVxuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuc3RhdGUpXG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxuICAgICAgfSxcbiAgICB9KVxuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb250ZXh0dWFsLWxpZmVjeWNsZVxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgLy8gaWYgZGVmYXVsdCB2YWx1ZSBpcyBzZXQsIHRoZW4gZG9uJ3QgYWx0ZXIgaXQuIE90aGVyd2lzZSwgdXNlXG4gICAgLy8gY3VycmVudCB2YWx1ZSBvZiBjb250cm9sbGVyIGFmdGVyIGluaXRpYXRpb24gYXMgZGVmYXVsdCB2YWx1ZVxuICAgIHRoaXMuZGVmYXVsdFZhbHVlID0gdGhpcy5kZWZhdWx0VmFsdWUgPz8gdGhpcy5uZ0NvbnRyb2w/LnZhbHVlXG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9vbkRlc3Ryb3kkLm5leHQodHJ1ZSlcbiAgICB0aGlzLl9vbkRlc3Ryb3kkLmNvbXBsZXRlKClcbiAgfVxuXG4gIGRldGVjdENoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIG9uRm9jdXMoZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uXG4gICAgICA/IGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICA6IChldmVudC5jYW5jZWxCdWJibGUgPSB0cnVlKVxuICAgIHRoaXMuZm9jdXNlZCA9IHRydWVcbiAgICB0aGlzLm5nZ3ZGb2N1cy5lbWl0KGV2ZW50KVxuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBvbkJsdXIoZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uXG4gICAgICA/IGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICA6IChldmVudC5jYW5jZWxCdWJibGUgPSB0cnVlKVxuICAgIHRoaXMub25Ub3VjaGVkKClcbiAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZVxuICAgIHRoaXMubmdndkJsdXIuZW1pdChldmVudClcbiAgfVxuXG4gIC8qKiBTZXRzIHRoZSBmb2N1cyBvbiB0aGUgYWN0dWFsIGlucHV0IGVsZW1lbnQuICovXG4gIHNldEZvY3VzKCkge1xuICAgIGlmICh0aGlzLmlucHV0UmVmKSB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBDT05UUk9MIFZBTFVFIEFDQ0VTU09SXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvKiogSW50ZXJuYWwgc3RhdGUvdmFsdWUgdGhhdCB0aGUgbmF0aXZlIGlucHV0IGVsZW1lbnQgaGFzLiAgKi9cbiAgZ2V0IHN0YXRlKCkge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZVxuICB9XG5cbiAgLyoqIEludGVybmFsIHN0YXRlL3ZhbHVlIHRoYXQgdGhlIG5hdGl2ZSBpbnB1dCBlbGVtZW50IGhhcy4gICovXG4gIHNldCBzdGF0ZSh2YWx1ZSkge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnKSB2YWx1ZSA9IG51bGxcbiAgICB0aGlzLl9zdGF0ZSA9IHZhbHVlXG4gIH1cblxuICAvKiogV3JpdGVzIGEgbmV3IHZhbHVlIHRvIHRoZSBjaGlsZCBpbnB1dCBlbGVtZW50LiAqL1xuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gdmFsdWVcbiAgfVxuXG4gIC8qKiBSZWdpc3RlcnMgYSBjYWxsYmFjayBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCB3aGVuIHRoZSBjaGlsZCBpbnB1dCBlbGVtZW50J3MgdmFsdWUgY2hhbmdlcy4gKi9cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4gb2JqZWN0KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuXG4gIH1cblxuICAvKiogUmVnaXN0ZXJzIGEgY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgd2hlbiB0aGUgY2hpbGQgaW5wdXQgZWxlbWVudCB0cmlnZ2VycyBvbiBibHVyLiAqL1xuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm5cbiAgfVxuXG4gIC8qKiBGdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCBieSB0aGUgZm9ybXMgQVBJIHdoZW4gdGhlIGNvbnRyb2wgc3RhdHVzIGNoYW5nZXMgdG8gb3IgZnJvbSAnRElTQUJMRUQnLiAqL1xuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZFxuXG4gICAgLy8gaWYgZGlzcGxheURpc2FibGVkQXNMb2NrZWQgaXMgZW5hYmxlZCAtIHVwZGF0ZSBsb2NrZWQgc3RhdGUgYmFzZWQgb24gZGlzYWJsZWQgc3RhdGVcbiAgICBpZiAodGhpcy5kaXNwbGF5RGlzYWJsZWRBc0xvY2tlZCkge1xuICAgICAgdGhpcy5sb2NrZWQgPSBpc0Rpc2FibGVkXG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBWQUxJREFUT1JTXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvKiogTWV0aG9kIHRoYXQgcGVyZm9ybXMgc3luY2hyb25vdXMgdmFsaWRhdGlvbiBhZ2FpbnN0IHRoZSBwcm92aWRlZCBjb250cm9sLiBVc2VkIGZvciBpbnRlcm5hbCB2YWxpZGF0aW9uLiAqL1xuICB2YWxpZGF0ZShfY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBbbmFtZTogc3RyaW5nXTogYW55IH0gfCBudWxsIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgLyoqIFJlZ2lzdGVycyBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGNhbGwgd2hlbiB0aGUgdmFsaWRhdG9yIGlucHV0cyBjaGFuZ2UuICovXG4gIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVmFsaWRhdG9yQ2hhbmdlID0gZm5cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gSEVMUEVSU1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLyoqIFJldHVybnMgdGhlIGZpcnN0IGVudHJ5IGluIGFuIGVycm9yIG9iamVjdC4gKi9cbiAgZ2V0IGZpcnN0RXJyb3IoKTogeyBjb2RlOiBzdHJpbmc7IHBhcmFtczogYW55IH0gfCBudWxsIHtcbiAgICBjb25zdCBlcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0gdGhpcy5uZ0NvbnRyb2wuZXJyb3JzXG4gICAgaWYgKCFlcnJvcnMpIHJldHVybiBudWxsXG4gICAgY29uc3QgY29kZTogc3RyaW5nID0gT2JqZWN0LmtleXMoZXJyb3JzKVswXVxuICAgIHJldHVybiB7IGNvZGUsIHBhcmFtczogZXJyb3JzW2NvZGVdIH1cbiAgfVxufVxuIl19
287
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb250cm9sLXZhbHVlLWFjY2Vzc29yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvdi1hbmd1bGFyL2Jhc2UtY29udHJvbC12YWx1ZS1hY2Nlc3Nvci9iYXNlLWNvbnRyb2wtdmFsdWUtYWNjZXNzb3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sVUFBVSxFQUNWLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksRUFDSixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFHTCxTQUFTLEVBR1QsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBa0IsTUFBTSxtQkFBbUIsQ0FBQTtBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7OztBQUkxQyxrRUFBa0U7QUFDbEUsTUFBTSxPQUFPLG9DQUFvQztJQXlDL0Msb0VBQW9FO0lBQ3BFLElBQWEsTUFBTSxDQUFDLEtBQWlDO1FBQ25ELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFBO1FBQ3BCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDMUIsQ0FBQztJQUNELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQTtJQUNyQixDQUFDO0lBT0QsbURBQW1EO0lBQ25ELElBQWEsUUFBUSxDQUFDLEtBQWlDO1FBQ3JELElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFBO0lBQ3hCLENB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LFNBQVM7O3NCQUFHLEtBQUs7Z0JBRXJCLElBQUk7c0JBQVosS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBSU8sTUFBTTtzQkFBbEIsS0FBSztnQkFRRyx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBTU8sUUFBUTtzQkFBcEIsS0FBSztnQkF3Qk8sT0FBTztzQkFBbkIsS0FBSztnQkFhTyxLQUFLO3NCQUFqQixLQUFLO2dCQVVHLE9BQU87c0JBQWYsS0FBSztnQkFJTyxRQUFRO3NCQUFwQixLQUFLO2dCQWFhLFNBQVM7c0JBQTNCLE1BQU07Z0JBRVksUUFBUTtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBJbmplY3RhYmxlLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFNlbGYsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBOZ0NvbnRyb2wsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvcixcbiAgVmFsaWRhdG9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBUUkFOU0xPQ09fU0NPUEUsIFRyYW5zbG9jb1Njb3BlIH0gZnJvbSAnQG5nbmVhdC90cmFuc2xvY28nXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcydcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG5ASW5qZWN0YWJsZSgpIC8vIFdvcmthcm91bmQgZm9yIENvbXBvZG9jIGh0dHBzOi8vZ2l0aHViLmNvbS9jb21wb2RvYy9jb21wb2RvYy9pc3N1ZXMvOTg0XG5AQ29tcG9uZW50KHsgdGVtcGxhdGU6ICcnIH0pIC8vIFJlcXVpcmVkIHdpdGggQW5ndWxhciBpdnkgY29tcGlsZXJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeFxuZXhwb3J0IGNsYXNzIE5ndkJhc2VDb250cm9sVmFsdWVBY2Nlc3NvckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uSW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yXG57XG4gIC8qKiBDdXN0b20gdGVtcGxhdGUgZm9yIGRpc3BsYXlpbmcgdGhlIGNvbnRlbnQgb2YgdGhlIGxhYmVsLlxuICAgKiBTcGVjaWZpZWQgYnkgbmVzdGluZyBhbiBgPG5nLXRlbXBsYXRlICNsYWJlbFRwbD5DdXN0b20gTGFiZWw8L25nLXRlbXBsYXRlPmAuXG4gICAqL1xuICBAQ29udGVudENoaWxkKCdsYWJlbFRwbCcsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgbGFiZWxDb250ZW50VHBsPzogVGVtcGxhdGVSZWY8dW5kZWZpbmVkPlxuXG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIG5hdGl2ZSBjaGlsZCBpbnB1dCBlbGVtZW50LiAqL1xuICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBpbnB1dFJlZj86IEVsZW1lbnRSZWZcblxuICAvKiBBVFRSSUJVVEVTICovXG5cbiAgLyoqIElkIG9mIHRoZSBob3N0IGVsZW1lbnQgYW5kIGlzIGFjY2Vzc2libGUgYnkgdGhlIGNoaWxkcmVuLCBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBpZiBub3QgcHJvdmlkZWQuICovXG4gIEBIb3N0QmluZGluZygnYXR0ci5pZCcpIEBJbnB1dCgpIGlkID0gKHdpbmRvdyBhcyBhbnkpLm5nZ3Y/Lm5leHRJZCgpXG4gIC8qKiBOYW1lIG9mIHRoZSBjaGlsZCBpbnB1dCBlbGVtZW50LiAqL1xuICBASW5wdXQoKSBuYW1lPzogc3RyaW5nXG4gIC8qKlxuICAgKiBMYWJlbCBvZiB0aGUgY2hpbGQgaW5wdXQgZWxlbWVudCB1c2luZyB0aGUgZGVmYXVsdCB0ZW1wbGF0ZS5cbiAgICogQ2FuIGJlIG92ZXJ3cml0dGVuIGJ5IHNwZWNpZnlpbmcgYW4gYDxuZy10ZW1wbGF0ZSAjbGFiZWxUcGw+Q3VzdG9tIExhYmVsPC9uZy10ZW1wbGF0ZT5gLlxuICAgKi9cbiAgQElucHV0KCkgbGFiZWw/OiBzdHJpbmdcbiAgLyoqIFJvbGUgb2YgdGhlIGNoaWxkIGlucHV0IGVsZW1lbnQuIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FjY2Vzc2liaWxpdHkvQVJJQS9Sb2xlcyAqL1xuICBASW5wdXQoKSByb2xlPzogc3RyaW5nXG4gIC8qKiBWYWx1ZSBvZiB0aGUgY2hpbGQgaW5wdXQgZWxlbWVudC4gTW9zdGx5IHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCByYWRpbyBhbmQgY2hlY2tib3hlcy4gKi9cbiAgQElucHV0KCkgdmFsdWU6IGFueVxuICAvKiogQW4gZXJyb3Igc3RyaW5nIHRvIGJlIHNob3duIHVuZGVyIGludmFsaWQgaW5wdXRzLiBPdmVyd3JpdGVzIGFueSBmb3JtIGVycm9ycy4gKi9cbiAgQElucHV0KCkgZXJyb3I/OiBzdHJpbmdcbiAgLyoqIERlc2NyaXB0aW9uIG9mIHRoZSBjaGlsZCBpbnB1dCBlbGVtZW50LiBCb3RoIHZpc2libHkgYW5kIGFzIGBhcmlhLWxhYmVsYC4gKi9cbiAgQElucHV0KCkgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgLyoqIElmIHNldCB0byB0cnVlLCB0aGUgYnJvd3NlciB3aWxsIHRyeSB0byBhdXRvbWF0aWNhbGx5IHNldCBmb2N1cyB0byB0aGUgY2hpbGQgaW5wdXQgZWxlbWVudC4gKi9cbiAgQElucHV0KCkgYXV0b2ZvY3VzID0gZmFsc2VcbiAgLyoqIERlYWZ1bHQgdmFsdWUgb2YgdGhlIGNoaWxkIGlucHV0IGVsZW1lbnQuIFVzZWQgd2hlbiByZXNldHRpbmcgY2hpbGQgZWxlbWVudC4gKi9cbiAgQElucHV0KCkgZGVmYXVsdFZhbHVlPzogYW55XG4gIC8qKiBJZiBwYXNzZWQsIHRoZSBjb21wb25lbnQgd2lsbCBsaXN0ZW4gZm9yIHVwZGF0ZXMgYW5kIHdpbGwgcmVzZXQgaXRzIHZhbHVlLiAqL1xuICBASW5wdXQoKSByZXNldD86IE9ic2VydmFibGU8YW55PlxuICAvKiogQWRkcyAoT3B0aW9uYWwpIHRvIGlucHV0IGxhYmVsLiAqL1xuICBASW5wdXQoKSBvcHRpb25hbD86IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkXG5cbiAgcHJpdmF0ZSBfbG9ja2VkOiBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZFxuICAvKiogSGlkZXMgdGhlIGlucHV0IGJvcmRlcnMgYW5kIGRpc3BsYXlzIGN1cnJlbnQgdmFsdWUgYXMgYSB0ZXh0LiAqL1xuICBASW5wdXQoKSBzZXQgbG9ja2VkKHZhbHVlOiBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX2xvY2tlZCA9IHZhbHVlXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gIH1cbiAgZ2V0IGxvY2tlZCgpOiBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2xvY2tlZFxuICB9XG4gIC8qKiBJZiBzZXQgdG8gdHJ1ZSwgdXNpbmcgYSBjb250cm9scyBkaXNhYmxlZCBzdGF0ZSB3aWxsIGRpc3BsYXkgaW5wdXQgYXMgbG9ja2VkLiAqL1xuICBASW5wdXQoKSBkaXNwbGF5RGlzYWJsZWRBc0xvY2tlZD86IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkXG5cbiAgLyogU1RBVEVTICovXG5cbiAgcHJpdmF0ZSBfcmVxdWlyZWQ6IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkXG4gIC8qKiBPdmVycmlkZSB0aGUgcmVxdWlyZWQgZmxhZyBvZiB0aGUgY29tcG9uZW50LiAqL1xuICBASW5wdXQoKSBzZXQgcmVxdWlyZWQodmFsdWU6IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fcmVxdWlyZWQgPSB2YWx1ZVxuICB9XG4gIC8qKiBDaGlsZCBpbnB1dCBlbGVtZW50IGlzIGNvbnNpZGVyZWQgcmVxdWlyZWQgYW5kIGNoYW5nZXMgZGVmYXVsdCBsYWJlbCB0ZW1wbGF0ZSBhY2NvcmRpbmdseS4gKi9cbiAgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICAvLyBpZiByZXF1aXJlZCBpcyBzZXQgPT4gcmV0dXJuIHJlcXVpcmVkXG4gICAgaWYgKHRoaXMuX3JlcXVpcmVkICE9PSB1bmRlZmluZWQpIHJldHVybiB0aGlzLl9yZXF1aXJlZFxuXG4gICAgLy8gaWYgcmVxdWlyZWQgY2FuIGJlIGRldGVybWluZWQgZnJvbSB0aGUgY29udHJvbCA9PiByZXR1cm4gY29udHJvbC5yZXF1aXJlZFxuICAgIGlmICh0aGlzLm5nQ29udHJvbD8uY29udHJvbD8udmFsaWRhdG9yKSB7XG4gICAgICBjb25zdCB2YWxpZGF0b3IgPSB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8udmFsaWRhdG9yKFxuICAgICAgICB7fSBhcyBBYnN0cmFjdENvbnRyb2wsXG4gICAgICApXG4gICAgICAvLyByZXR1cm5zIHRydWUgZm9yIGFueSBlcnJvciB0aGF0IHN0YXJ0cyB3aXRoIHJlcXVpcmVkXG4gICAgICByZXR1cm4gT2JqZWN0LmtleXModmFsaWRhdG9yID8/IHt9KS5zb21lKChrZXkpID0+XG4gICAgICAgIGtleS5zdGFydHNXaXRoKCdyZXF1aXJlZCcpLFxuICAgICAgKVxuICAgIH1cblxuICAgIHJldHVyblxuICB9XG5cbiAgcHJpdmF0ZSBfaW52YWxpZDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZFxuICAvKiogT3ZlcnJpZGUgdGhlIGludmFsaWQgc3RhdGUgb2YgdGhlIGNvbXBvbmVudC4gKi9cbiAgQElucHV0KCkgc2V0IGludmFsaWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9pbnZhbGlkID0gdmFsdWVcbiAgfVxuICAvKiogVGhlIGNvbXBvbmVudCBoYXMgdGhlIGludmFsaWQgc3RhdGUsIHVzdWFsbHkgZGVjb3JhdGluZyB0aGUgZWxlbWVudHMgcmVkIGFuZCBzaG93cyB0aGUgZmlyc3QgZXJyb3IuICovXG4gIGdldCBpbnZhbGlkKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLl9pbnZhbGlkID09PSB0cnVlIHx8IHRoaXMuX2ludmFsaWQgPT09IGZhbHNlKSByZXR1cm4gdGhpcy5faW52YWxpZFxuICAgIHJldHVybiAoXG4gICAgICAhIXRoaXMubmdDb250cm9sPy5jb250cm9sPy5pbnZhbGlkICYmIHRoaXMubmdDb250cm9sPy5jb250cm9sPy50b3VjaGVkXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBfdmFsaWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWRcbiAgLyoqIE92ZXJyaWRlIHRoZSB2YWxpZCBzdGF0ZSBvZiB0aGUgY29tcG9uZW50LiAqL1xuICBASW5wdXQoKSBzZXQgdmFsaWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl92YWxpZCA9IHZhbHVlXG4gIH1cbiAgLyoqIFRoZSBjb21wb25lbnQgaGFzIHRoZSB2YWxpZCBzdGF0ZSwgdXN1YWxseSBkZWNvcmF0aW5nIHRoZSBlbGVtZW50cyBncmVlbi4gKi9cbiAgZ2V0IHZhbGlkKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLl92YWxpZCA9PT0gdHJ1ZSB8fCB0aGlzLl92YWxpZCA9PT0gZmFsc2UpIHJldHVybiB0aGlzLl92YWxpZFxuICAgIHJldHVybiAhIXRoaXMubmdDb250cm9sPy5jb250cm9sPy52YWxpZCAmJiB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8udG91Y2hlZFxuICB9XG5cbiAgLyoqIFRoZSBjb21wb25lbnQgaGFzIHRoZSBmb2N1c2VkIHN0YXRlLCB1cGRhdGVkIGJ5IHRoZSBjaGlsZCBpbnB1dCBlbGVtZW50J3MgZm9jdXMgc3RhdGUuICovXG4gIEBJbnB1dCgpIGZvY3VzZWQgPSBmYWxzZVxuXG4gIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkXG4gIC8qKiBPdmVycmlkZSB0aGUgZGlzYWJsZWQgc3RhdGUgb2YgdGhlIGNvbXBvbmVudC4gKi9cbiAgQElucHV0KCkgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSB2YWx1ZVxuICB9XG4gIC8qKiBUaGUgY29tcG9uZW50IGhhcyB0aGUgZGlzYWJsZWQgc3RhdGUsIHVzdWFsbHkgbXV0aW5nIHRoZSBjb2xvcnMgYW5kIHJlbW92ZXMgaW50ZXJhY3Rpb24uICovXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5fZGlzYWJsZWQgPT09IHRydWUgfHwgdGhpcy5fZGlzYWJsZWQgPT09IGZhbHNlKVxuICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkXG4gICAgcmV0dXJuICEhdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LmRpc2FibGVkXG4gIH1cblxuICAvKiBUUklHR0VSUyAqL1xuXG4gIC8qKiBFbWl0cyBmb2N1cyBldmVudHMgdHJpZ2dlcmVkIGJ5IHRoZSBjaGlsZCBlbGVtZW50cy4gKi9cbiAgQE91dHB1dCgpIHJlYWRvbmx5IG5nZ3ZGb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICAvKiogRW1pdHMgZm9jdXMgZXZlbnRzIHRyaWdnZXJlZCBieSB0aGUgY2hpbGQgZWxlbWVudHMuICovXG4gIEBPdXRwdXQoKSByZWFkb25seSBuZ2d2Qmx1ciA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuXG4gIC8qIFZBTFVFIEhBTkRMRVJTICovXG5cbiAgcHJpdmF0ZSBfc3RhdGU6IGFueSA9IG51bGxcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwcm90ZWN0ZWQgb25DaGFuZ2UgPSAoXzogYW55KSA9PiB7XG4gICAgLy8gZG8gbm90aGluZ1xuICB9XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHJvdGVjdGVkIG9uVG91Y2hlZCA9ICgpID0+IHtcbiAgICAvLyBkbyBub3RoaW5nXG4gIH1cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwcm90ZWN0ZWQgb25WYWxpZGF0b3JDaGFuZ2U6ICgpID0+IHZvaWQgPSAoKSA9PiBudWxsXG5cbiAgLyogT1RIRVIgVkFSSUFCTEVTICovXG4gIHNjb3BlOiBzdHJpbmcgfCB1bmRlZmluZWRcblxuICAvKiBMSUZFIENZQ0xFIFZBUklBQkxFUyAqL1xuXG4gIHByaXZhdGUgX29uRGVzdHJveSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpXG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgQmFzZUNvbnRyb2xWYWx1ZUFjY2Vzc29yQ29tcG9uZW50LlxuICAgKiBAcGFyYW0gbmdDb250cm9sIG9wdGlvbmFsIEZvcm1Db250cm9sIHByb3ZpZGVkIHdoZW4gY29tcG9uZW50IGlzIHVzZWQgaW4gYSBmb3JtLCB0aHJvdWdoIGRlcGVuZGVuY3kgaW5qZWN0aW9uLlxuICAgKiBAcGFyYW0gdHJhbnNsb2NvU2NvcGUgb3B0aW9uYWwgVHJhbnNsb2NvU2NvcGUgcHJvdmlkZWQgaWYgY29tcG9uZW50IGlzIHVzZWQgd2l0aGluIGEgc2NvcGUuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBAU2VsZigpIEBPcHRpb25hbCgpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoVFJBTlNMT0NPX1NDT1BFKVxuICAgIHByb3RlY3RlZCB0cmFuc2xvY29TY29wZTogVHJhbnNsb2NvU2NvcGUsXG4gICAgcHJvdGVjdGVkIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge1xuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgLy8gTm90ZTogd2UgcHJvdmlkZSB0aGUgdmFsdWUgYWNjZXNzb3IgdGhyb3VnaCBoZXJlLCBpbnN0ZWFkIG9mXG4gICAgICAvLyB0aGUgYHByb3ZpZGVyc2AgdG8gYXZvaWQgcnVubmluZyBpbnRvIGEgY2lyY3VsYXIgaW1wb3J0LlxuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXNcbiAgICB9XG5cbiAgICBpZiAodGhpcy50cmFuc2xvY29TY29wZSkgdGhpcy5zY29wZSA9IHRoaXMudHJhbnNsb2NvU2NvcGUudG9TdHJpbmcoKVxuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb250ZXh0dWFsLWxpZmVjeWNsZVxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wgJiYgdGhpcy5uZ0NvbnRyb2wuY29udHJvbCkge1xuICAgICAgdGhpcy5uZ0NvbnRyb2wuY29udHJvbC5zZXRWYWxpZGF0b3JzKFxuICAgICAgICBWYWxpZGF0b3JzLmNvbXBvc2UoW3RoaXMubmdDb250cm9sLmNvbnRyb2wudmFsaWRhdG9yLCB0aGlzLnZhbGlkYXRlXSksXG4gICAgICApXG4gICAgfVxuXG4gICAgLy8gaWYgcmVzZXQgb2JzZXJ2YWJsZSBoYXMgYmVlbiBwYXNzZWQsIHN1YnNjcmliZSBhZnRlciB1cGRhdGVzXG4gICAgdGhpcy5yZXNldD8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoKSA9PiB7XG4gICAgICAgIC8vIHJlc2V0IHZhbHVlIG9mIGNvbnRyb2xsZXJcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHRoaXMuZGVmYXVsdFZhbHVlXG4gICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5zdGF0ZSlcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gICAgICB9LFxuICAgIH0pXG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbnRleHR1YWwtbGlmZWN5Y2xlXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAvLyBpZiBkZWZhdWx0IHZhbHVlIGlzIHNldCwgdGhlbiBkb24ndCBhbHRlciBpdC4gT3RoZXJ3aXNlLCB1c2VcbiAgICAvLyBjdXJyZW50IHZhbHVlIG9mIGNvbnRyb2xsZXIgYWZ0ZXIgaW5pdGlhdGlvbiBhcyBkZWZhdWx0IHZhbHVlXG4gICAgdGhpcy5kZWZhdWx0VmFsdWUgPSB0aGlzLmRlZmF1bHRWYWx1ZSA/PyB0aGlzLm5nQ29udHJvbD8udmFsdWVcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX29uRGVzdHJveSQubmV4dCh0cnVlKVxuICAgIHRoaXMuX29uRGVzdHJveSQuY29tcGxldGUoKVxuICB9XG5cbiAgZGV0ZWN0Q2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgb25Gb2N1cyhldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb25cbiAgICAgID8gZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgIDogKGV2ZW50LmNhbmNlbEJ1YmJsZSA9IHRydWUpXG4gICAgdGhpcy5mb2N1c2VkID0gdHJ1ZVxuICAgIHRoaXMubmdndkZvY3VzLmVtaXQoZXZlbnQpXG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIG9uQmx1cihldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb25cbiAgICAgID8gZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgIDogKGV2ZW50LmNhbmNlbEJ1YmJsZSA9IHRydWUpXG4gICAgdGhpcy5vblRvdWNoZWQoKVxuICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlXG4gICAgdGhpcy5uZ2d2Qmx1ci5lbWl0KGV2ZW50KVxuICB9XG5cbiAgLyoqIFNldHMgdGhlIGZvY3VzIG9uIHRoZSBhY3R1YWwgaW5wdXQgZWxlbWVudC4gKi9cbiAgc2V0Rm9jdXMoKSB7XG4gICAgaWYgKHRoaXMuaW5wdXRSZWYpIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIENPTlRST0wgVkFMVUUgQUNDRVNTT1JcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8qKiBJbnRlcm5hbCBzdGF0ZS92YWx1ZSB0aGF0IHRoZSBuYXRpdmUgaW5wdXQgZWxlbWVudCBoYXMuICAqL1xuICBnZXQgc3RhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlXG4gIH1cblxuICAvKiogSW50ZXJuYWwgc3RhdGUvdmFsdWUgdGhhdCB0aGUgbmF0aXZlIGlucHV0IGVsZW1lbnQgaGFzLiAgKi9cbiAgc2V0IHN0YXRlKHZhbHVlKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcpIHZhbHVlID0gbnVsbFxuICAgIHRoaXMuX3N0YXRlID0gdmFsdWVcbiAgfVxuXG4gIC8qKiBXcml0ZXMgYSBuZXcgdmFsdWUgdG8gdGhlIGNoaWxkIGlucHV0IGVsZW1lbnQuICovXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSB2YWx1ZVxuICB9XG5cbiAgLyoqIFJlZ2lzdGVycyBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgaXMgY2FsbGVkIHdoZW4gdGhlIGNoaWxkIGlucHV0IGVsZW1lbnQncyB2YWx1ZSBjaGFuZ2VzLiAqL1xuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoXzogYW55KSA9PiBvYmplY3QpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm5cbiAgfVxuXG4gIC8qKiBSZWdpc3RlcnMgYSBjYWxsYmFjayBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCB3aGVuIHRoZSBjaGlsZCBpbnB1dCBlbGVtZW50IHRyaWdnZXJzIG9uIGJsdXIuICovXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmblxuICB9XG5cbiAgLyoqIEZ1bmN0aW9uIHRoYXQgaXMgY2FsbGVkIGJ5IHRoZSBmb3JtcyBBUEkgd2hlbiB0aGUgY29udHJvbCBzdGF0dXMgY2hhbmdlcyB0byBvciBmcm9tICdESVNBQkxFRCcuICovXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkXG5cbiAgICAvLyBpZiBkaXNwbGF5RGlzYWJsZWRBc0xvY2tlZCBpcyBlbmFibGVkIC0gdXBkYXRlIGxvY2tlZCBzdGF0ZSBiYXNlZCBvbiBkaXNhYmxlZCBzdGF0ZVxuICAgIGlmICh0aGlzLmRpc3BsYXlEaXNhYmxlZEFzTG9ja2VkKSB7XG4gICAgICB0aGlzLmxvY2tlZCA9IGlzRGlzYWJsZWRcbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFZBTElEQVRPUlNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8qKiBNZXRob2QgdGhhdCBwZXJmb3JtcyBzeW5jaHJvbm91cyB2YWxpZGF0aW9uIGFnYWluc3QgdGhlIHByb3ZpZGVkIGNvbnRyb2wuIFVzZWQgZm9yIGludGVybmFsIHZhbGlkYXRpb24uICovXG4gIHZhbGlkYXRlKF9jb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB8IG51bGwge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICAvKiogUmVnaXN0ZXJzIGEgY2FsbGJhY2sgZnVuY3Rpb24gdG8gY2FsbCB3aGVuIHRoZSB2YWxpZGF0b3IgaW5wdXRzIGNoYW5nZS4gKi9cbiAgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZShmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25WYWxpZGF0b3JDaGFuZ2UgPSBmblxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBIRUxQRVJTXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvKiogUmV0dXJucyB0aGUgZmlyc3QgZW50cnkgaW4gYW4gZXJyb3Igb2JqZWN0LiAqL1xuICBnZXQgZmlyc3RFcnJvcigpOiB7IGNvZGU6IHN0cmluZzsgcGFyYW1zOiBhbnkgfSB8IG51bGwge1xuICAgIGNvbnN0IGVycm9yczogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSB0aGlzLm5nQ29udHJvbC5lcnJvcnNcbiAgICBpZiAoIWVycm9ycykgcmV0dXJuIG51bGxcbiAgICBjb25zdCBjb2RlOiBzdHJpbmcgPSBPYmplY3Qua2V5cyhlcnJvcnMpWzBdXG4gICAgcmV0dXJuIHsgY29kZSwgcGFyYW1zOiBlcnJvcnNbY29kZV0gfVxuICB9XG59XG4iXX0=
@@ -14,4 +14,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
14
14
  exports: [NgvBaseControlValueAccessorComponent],
15
15
  }]
16
16
  }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb250cm9sLXZhbHVlLWFjY2Vzc29yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvdi1hbmd1bGFyL2Jhc2UtY29udHJvbC12YWx1ZS1hY2Nlc3Nvci9iYXNlLWNvbnRyb2wtdmFsdWUtYWNjZXNzb3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0seUNBQXlDLENBQUE7O0FBTzlGLE1BQU0sT0FBTyxpQ0FBaUM7K0dBQWpDLGlDQUFpQztnSEFBakMsaUNBQWlDLGlCQUo3QixvQ0FBb0MsYUFFekMsb0NBQW9DO2dIQUVuQyxpQ0FBaUM7OzRGQUFqQyxpQ0FBaUM7a0JBTDdDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsb0NBQW9DLENBQUM7b0JBQ3BELE9BQU8sRUFBRSxFQUFFO29CQUNYLE9BQU8sRUFBRSxDQUFDLG9DQUFvQyxDQUFDO2lCQUNoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE5ndkJhc2VDb250cm9sVmFsdWVBY2Nlc3NvckNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS1jb250cm9sLXZhbHVlLWFjY2Vzc29yLmNvbXBvbmVudCdcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbTmd2QmFzZUNvbnRyb2xWYWx1ZUFjY2Vzc29yQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW10sXG4gIGV4cG9ydHM6IFtOZ3ZCYXNlQ29udHJvbFZhbHVlQWNjZXNzb3JDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3ZCYXNlQ29udHJvbFZhbHVlQWNjZXNzb3JNb2R1bGUge31cbiJdfQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb250cm9sLXZhbHVlLWFjY2Vzc29yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvdi1hbmd1bGFyL2Jhc2UtY29udHJvbC12YWx1ZS1hY2Nlc3Nvci9iYXNlLWNvbnRyb2wtdmFsdWUtYWNjZXNzb3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFeEMsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0seUNBQXlDLENBQUE7O0FBTzlGLE1BQU0sT0FBTyxpQ0FBaUM7K0dBQWpDLGlDQUFpQztnSEFBakMsaUNBQWlDLGlCQUo3QixvQ0FBb0MsYUFFekMsb0NBQW9DO2dIQUVuQyxpQ0FBaUM7OzRGQUFqQyxpQ0FBaUM7a0JBTDdDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsb0NBQW9DLENBQUM7b0JBQ3BELE9BQU8sRUFBRSxFQUFFO29CQUNYLE9BQU8sRUFBRSxDQUFDLG9DQUFvQyxDQUFDO2lCQUNoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuaW1wb3J0IHsgTmd2QmFzZUNvbnRyb2xWYWx1ZUFjY2Vzc29yQ29tcG9uZW50IH0gZnJvbSAnLi9iYXNlLWNvbnRyb2wtdmFsdWUtYWNjZXNzb3IuY29tcG9uZW50J1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtOZ3ZCYXNlQ29udHJvbFZhbHVlQWNjZXNzb3JDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXSxcbiAgZXhwb3J0czogW05ndkJhc2VDb250cm9sVmFsdWVBY2Nlc3NvckNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndkJhc2VDb250cm9sVmFsdWVBY2Nlc3Nvck1vZHVsZSB7fVxuIl19
@@ -1,8 +1,8 @@
1
- import { NgModule } from '@angular/core';
2
1
  import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
3
  import { RouterModule } from '@angular/router';
4
- import { NgvBreadcrumbsComponent } from './breadcrumbs.component';
5
4
  import { NgvExternalLinkDirectiveModule } from '@sebgroup/green-angular/src/v-angular/external-link';
5
+ import { NgvBreadcrumbsComponent } from './breadcrumbs.component';
6
6
  import * as i0 from "@angular/core";
7
7
  export class NgvBreadcrumbsModule {
8
8
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvBreadcrumbsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -17,4 +17,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
17
17
  exports: [NgvBreadcrumbsComponent],
18
18
  }]
19
19
  }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvYnJlYWRjcnVtYnMvYnJlYWRjcnVtYnMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUU5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQTs7QUFPcEcsTUFBTSxPQUFPLG9CQUFvQjsrR0FBcEIsb0JBQW9CO2dIQUFwQixvQkFBb0IsaUJBSmhCLHVCQUF1QixhQUM1QixZQUFZLEVBQUUsOEJBQThCLEVBQUUsWUFBWSxhQUMxRCx1QkFBdUI7Z0hBRXRCLG9CQUFvQixZQUhyQixZQUFZLEVBQUUsOEJBQThCLEVBQUUsWUFBWTs7NEZBR3pELG9CQUFvQjtrQkFMaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDdkMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLDhCQUE4QixFQUFFLFlBQVksQ0FBQztvQkFDckUsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJ1xuXG5pbXBvcnQgeyBOZ3ZCcmVhZGNydW1ic0NvbXBvbmVudCB9IGZyb20gJy4vYnJlYWRjcnVtYnMuY29tcG9uZW50J1xuaW1wb3J0IHsgTmd2RXh0ZXJuYWxMaW5rRGlyZWN0aXZlTW9kdWxlIH0gZnJvbSAnQHNlYmdyb3VwL2dyZWVuLWFuZ3VsYXIvc3JjL3YtYW5ndWxhci9leHRlcm5hbC1saW5rJ1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtOZ3ZCcmVhZGNydW1ic0NvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE5ndkV4dGVybmFsTGlua0RpcmVjdGl2ZU1vZHVsZSwgUm91dGVyTW9kdWxlXSxcbiAgZXhwb3J0czogW05ndkJyZWFkY3J1bWJzQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTmd2QnJlYWRjcnVtYnNNb2R1bGUge31cbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvYnJlYWRjcnVtYnMvYnJlYWRjcnVtYnMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUU5QyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQTtBQUNwRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTs7QUFPakUsTUFBTSxPQUFPLG9CQUFvQjsrR0FBcEIsb0JBQW9CO2dIQUFwQixvQkFBb0IsaUJBSmhCLHVCQUF1QixhQUM1QixZQUFZLEVBQUUsOEJBQThCLEVBQUUsWUFBWSxhQUMxRCx1QkFBdUI7Z0hBRXRCLG9CQUFvQixZQUhyQixZQUFZLEVBQUUsOEJBQThCLEVBQUUsWUFBWTs7NEZBR3pELG9CQUFvQjtrQkFMaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDdkMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLDhCQUE4QixFQUFFLFlBQVksQ0FBQztvQkFDckUsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJ1xuXG5pbXBvcnQgeyBOZ3ZFeHRlcm5hbExpbmtEaXJlY3RpdmVNb2R1bGUgfSBmcm9tICdAc2ViZ3JvdXAvZ3JlZW4tYW5ndWxhci9zcmMvdi1hbmd1bGFyL2V4dGVybmFsLWxpbmsnXG5pbXBvcnQgeyBOZ3ZCcmVhZGNydW1ic0NvbXBvbmVudCB9IGZyb20gJy4vYnJlYWRjcnVtYnMuY29tcG9uZW50J1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtOZ3ZCcmVhZGNydW1ic0NvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE5ndkV4dGVybmFsTGlua0RpcmVjdGl2ZU1vZHVsZSwgUm91dGVyTW9kdWxlXSxcbiAgZXhwb3J0czogW05ndkJyZWFkY3J1bWJzQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTmd2QnJlYWRjcnVtYnNNb2R1bGUge31cbiJdfQ==
@@ -105,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
105
105
  }], nggvClick: [{
106
106
  type: Output
107
107
  }] } });
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvdi1hbmd1bGFyL2J1dHRvbi9idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFFTixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFDTixJQUFJLEdBRUwsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQWtCLE1BQU0sbUJBQW1CLENBQUE7QUFDbkUsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sbUVBQW1FLENBQUE7Ozs7OztBQUl4SCxNQUFNLENBQU4sSUFBWSxXQVNYO0FBVEQsV0FBWSxXQUFXO0lBQ3JCLG1EQUFPLENBQUE7SUFDUCx1REFBUyxDQUFBO0lBQ1QsMkRBQVcsQ0FBQTtJQUNYLGlEQUFNLENBQUE7SUFDTiwrREFBYSxDQUFBO0lBQ2IsK0NBQUssQ0FBQTtJQUNMLHVEQUFTLENBQUE7SUFDVCw2Q0FBSSxDQUFBO0FBQ04sQ0FBQyxFQVRXLFdBQVcsS0FBWCxXQUFXLFFBU3RCO0FBRUQ7OztHQUdHO0FBT0gsTUFBTSxPQUFPLGtCQUNYLFNBQVEsb0NBQW9DO0lBeUI1QyxZQUM2QixTQUFvQixFQUdyQyxjQUE4QixFQUM5QixHQUFzQjtRQUVoQyxLQUFLLENBQUMsU0FBUyxFQUFFLGNBQWMsRUFBRSxHQUFHLENBQUMsQ0FBQTtRQU5WLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFHckMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBM0JsQyxvRkFBb0Y7UUFDM0MsVUFBSyxHQUFHLFFBQVEsQ0FBQTtRQUN6RCwyRkFBMkY7UUFDbEYsU0FBSSxHQUFnQixRQUFRLENBQUE7UUFDckMsNkdBQTZHO1FBQ3BHLGdCQUFXLEdBQ2xCLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFBO1FBQy9ELHdDQUF3QztRQUMvQixVQUFLLEdBQUcsS0FBSyxDQUFBO1FBSXRCLGlGQUFpRjtRQUNqRixhQUFRLEdBQUcsS0FBSyxDQUFBO1FBQ2hCLGdGQUFnRjtRQUNoRixrQkFBYSxHQUFxQyxFQUFFLENBQUE7UUFFcEQ7O1dBRUc7UUFDTyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQTtJQVV4QyxDQUFDO0lBRUQsZ0JBQWdCO0lBQ2hCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFpQixFQUFFLEtBQWM7UUFDekQsT0FBTztZQUNMLEtBQUssRUFBRSxLQUFLO1lBQ1osT0FBTyxFQUFFLElBQUksS0FBSyxXQUFXLENBQUMsT0FBTyxJQUFJLElBQUksS0FBSyxXQUFXLENBQUMsTUFBTTtZQUNwRSxTQUFTLEVBQUUsSUFBSSxLQUFLLFdBQVcsQ0FBQyxTQUFTO1lBQ3pDLFFBQVEsRUFBRSxJQUFJLEtBQUssV0FBVyxDQUFDLFdBQVcsSUFBSSxJQUFJLEtBQUssV0FBVyxDQUFDLElBQUk7WUFDdkUsTUFBTSxFQUFFLElBQUksS0FBSyxXQUFXLENBQUMsTUFBTSxJQUFJLElBQUksS0FBSyxXQUFXLENBQUMsYUFBYTtZQUN6RSxLQUFLLEVBQUUsSUFBSSxLQUFLLFdBQVcsQ0FBQyxTQUFTO1lBQ3JDLGFBQWEsRUFBRSxJQUFJLEtBQUssV0FBVyxDQUFDLEtBQUs7U0FDMUMsQ0FBQTtJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFBO1FBQ2hCLElBQUksSUFBSSxDQUFDLElBQUk7WUFBRSxJQUFJLENBQUMsUUFBUSxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzdELElBQUksQ0FBQyxhQUFhLEdBQUcsa0JBQWtCLENBQUMsa0JBQWtCLENBQ3hELElBQUksQ0FBQyxXQUFXLEVBQ2hCLElBQUksQ0FBQyxLQUFLLENBQ1gsQ0FBQTtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsV0FBVyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDeEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FDeEQsSUFBSSxDQUFDLFdBQVcsRUFDaEIsSUFBSSxDQUFDLEtBQUssQ0FDWCxDQUFBO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCO0lBQ2hCLE9BQU8sQ0FBQyxLQUFZO1FBQ2xCLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFNO1FBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzVCLENBQUM7K0dBdkVVLGtCQUFrQix1RUE2Qm5CLGVBQWU7bUdBN0JkLGtCQUFrQixtU0MxQy9CLDAzQkFxQ0E7OzRGREthLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFFRSxhQUFhOzswQkErQnBCLElBQUk7OzBCQUFJLFFBQVE7OzBCQUNoQixRQUFROzswQkFDUixNQUFNOzJCQUFDLGVBQWU7NEVBeEJnQixLQUFLO3NCQUE3QyxXQUFXO3VCQUFDLGlCQUFpQjs7c0JBQUcsS0FBSztnQkFFN0IsSUFBSTtzQkFBWixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFVSSxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBTZWxmLFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBUUkFOU0xPQ09fU0NPUEUsIFRyYW5zbG9jb1Njb3BlIH0gZnJvbSAnQG5nbmVhdC90cmFuc2xvY28nXG5pbXBvcnQgeyBOZ3ZCYXNlQ29udHJvbFZhbHVlQWNjZXNzb3JDb21wb25lbnQgfSBmcm9tICdAc2ViZ3JvdXAvZ3JlZW4tYW5ndWxhci9zcmMvdi1hbmd1bGFyL2Jhc2UtY29udHJvbC12YWx1ZS1hY2Nlc3NvcidcblxuZXhwb3J0IHR5cGUgQnV0dG9uVHlwZXMgPSAnYnV0dG9uJyB8ICdzdWJtaXQnIHwgJ3Jlc2V0JyB8ICdsaW5rJ1xuXG5leHBvcnQgZW51bSBCdXR0b25TdHlsZSB7XG4gIFByaW1hcnksXG4gIFNlY29uZGFyeSxcbiAgQWx0ZXJuYXRpdmUsXG4gIERlbGV0ZSxcbiAgRGVsZXRlQ29uZmlybSxcbiAgR2hvc3QsXG4gIEdob3N0RGFyayxcbiAgTGluayxcbn1cblxuLyoqXG4gKiBCdXR0b25zIGFsbG93IHVzZXJzIHRvIHRha2UgYWN0aW9uIHdpdGggYSBzaW5nbGUgdGFwLlxuICogaHR0cHM6Ly9kZXNpZ25saWJyYXJ5LnNlYmdyb3VwLmNvbS9jb21wb25lbnRzL2NvbXBvbmVudC1idXR0b25cbiAqL1xuQENvbXBvbmVudCh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnbmdndi1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE5ndkJ1dHRvbkNvbXBvbmVudFxuICBleHRlbmRzIE5ndkJhc2VDb250cm9sVmFsdWVBY2Nlc3NvckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzXG57XG4gIC8qKiBTcGVjaWFsIHByb3BlcnR5IHVzZWQgZm9yIHNlbGVjdGluZyBET00gZWxlbWVudHMgZHVyaW5nIGF1dG9tYXRlZCBVSSB0ZXN0aW5nLiAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS10aG9vaycpIEBJbnB1dCgpIHRob29rID0gJ2J1dHRvbidcbiAgLyoqIFR5cGUgb2YgYnV0dG9uIHRvIG9uZSBvZiBidXR0b258c3VibWl0fHJlc2V0fGxpbmssIHdoZXJlIGxpbmsgY3JlYXRlcyBhbiBhbmNob3IgdGFnLiAqL1xuICBASW5wdXQoKSB0eXBlOiBCdXR0b25UeXBlcyA9ICdidXR0b24nXG4gIC8qKiBTdHlsZSBvZiB0aGUgYnV0dG9uIHRvIG9uZSBvZiBQcmltYXJ5fFNlY29uZGFyeXxBbHRlcm5hdGl2ZXxEZWxldGV8RGVsZXRlQ29uZmlybXxHaG9zdHxHaG9zdERhcmt8TGluay4gKi9cbiAgQElucHV0KCkgYnV0dG9uU3R5bGU6IEJ1dHRvblN0eWxlID1cbiAgICB0aGlzLnR5cGUgPT09ICdsaW5rJyA/IEJ1dHRvblN0eWxlLkxpbmsgOiBCdXR0b25TdHlsZS5QcmltYXJ5XG4gIC8qKiBTaXplIG9mIHRoZSBidXR0b24gdG8gYmUgc21hbGxlci4gKi9cbiAgQElucHV0KCkgc21hbGwgPSBmYWxzZVxuICAvKiogV2hlcmUgdGhlIGJ1dHRvbiBzaG91bGQgbGluayB0byBpZiB7QGxpbmsgQnV0dG9uVHlwZXN9IGlzIHNldCB0byBsaW5rLiAqL1xuICBASW5wdXQoKSBocmVmPzogc3RyaW5nXG5cbiAgLyoqIEBpbnRlcm5hbCBEZXRlcm1pbmVzIGlmIHRoZSB0aGUgaHJlZiBwcm9wZXJ0eSBzaG91bGQgdXNlIGludGVybmFsIHJvdXRpbmcuICovXG4gIGV4dGVybmFsID0gZmFsc2VcbiAgLyoqIEBpbnRlcm5hbCBUaGUgY2xhc3NlcyBkZXRlcm1pbmVkIGJ5IHRoZSBidXR0b25TdHlsZSBhbmQgc21hbGwgcHJvcGVydGllcy4gKi9cbiAgYnV0dG9uQ2xhc3NlczogeyBbY2xhc3NOYW1lOiBzdHJpbmddOiBib29sZWFuIH0gPSB7fVxuXG4gIC8qKiBFbWl0cyBjbGljayBldmVudHMgdHJpZ2dlcmVkIGJ5IHRoZSBidXR0b24gb3IgbGluay5cbiAgICogVXNlIGluc3RlYWQgb2YgY2xpY2sgdG8gYXZvaWQgdHJpZ2dlcmluZyBldmVudHMgb24gZGlzYWJsZWQgYnV0dG9ucyBhbmQgbGlua3MuXG4gICAqL1xuICBAT3V0cHV0KCkgbmdndkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpXG5cbiAgY29uc3RydWN0b3IoXG4gICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KFRSQU5TTE9DT19TQ09QRSlcbiAgICBwcm90ZWN0ZWQgdHJhbnNsb2NvU2NvcGU6IFRyYW5zbG9jb1Njb3BlLFxuICAgIHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHtcbiAgICBzdXBlcihuZ0NvbnRyb2wsIHRyYW5zbG9jb1Njb3BlLCBjZHIpXG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIHN0YXRpYyBidXR0b25TdHlsZUNsYXNzZXModHlwZTogQnV0dG9uU3R5bGUsIHNtYWxsOiBib29sZWFuKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNtYWxsOiBzbWFsbCxcbiAgICAgIHByaW1hcnk6IHR5cGUgPT09IEJ1dHRvblN0eWxlLlByaW1hcnkgfHwgdHlwZSA9PT0gQnV0dG9uU3R5bGUuRGVsZXRlLFxuICAgICAgc2Vjb25kYXJ5OiB0eXBlID09PSBCdXR0b25TdHlsZS5TZWNvbmRhcnksXG4gICAgICB0ZXJ0aWFyeTogdHlwZSA9PT0gQnV0dG9uU3R5bGUuQWx0ZXJuYXRpdmUgfHwgdHlwZSA9PT0gQnV0dG9uU3R5bGUuTGluayxcbiAgICAgIGRhbmdlcjogdHlwZSA9PT0gQnV0dG9uU3R5bGUuRGVsZXRlIHx8IHR5cGUgPT09IEJ1dHRvblN0eWxlLkRlbGV0ZUNvbmZpcm0sXG4gICAgICBnaG9zdDogdHlwZSA9PT0gQnV0dG9uU3R5bGUuR2hvc3REYXJrLFxuICAgICAgJ2dob3N0LWxpZ2h0JzogdHlwZSA9PT0gQnV0dG9uU3R5bGUuR2hvc3QsXG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKVxuICAgIGlmICh0aGlzLmhyZWYpIHRoaXMuZXh0ZXJuYWwgPSAvXlxcdys6XFwvXFwvLiskLy50ZXN0KHRoaXMuaHJlZilcbiAgICB0aGlzLmJ1dHRvbkNsYXNzZXMgPSBOZ3ZCdXR0b25Db21wb25lbnQuYnV0dG9uU3R5bGVDbGFzc2VzKFxuICAgICAgdGhpcy5idXR0b25TdHlsZSxcbiAgICAgIHRoaXMuc21hbGwsXG4gICAgKVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzLmJ1dHRvblN0eWxlIHx8IGNoYW5nZXMuc21hbGwpIHtcbiAgICAgIHRoaXMuYnV0dG9uQ2xhc3NlcyA9IE5ndkJ1dHRvbkNvbXBvbmVudC5idXR0b25TdHlsZUNsYXNzZXMoXG4gICAgICAgIHRoaXMuYnV0dG9uU3R5bGUsXG4gICAgICAgIHRoaXMuc21hbGwsXG4gICAgICApXG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBvbkNsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm5cbiAgICB0aGlzLm5nZ3ZDbGljay5lbWl0KGV2ZW50KVxuICB9XG59XG4iLCI8YnV0dG9uXG4gICNpbnB1dFxuICBbbmdDbGFzc109XCJidXR0b25DbGFzc2VzXCJcbiAgW2lkXT1cImlkICsgJy1idXR0b24nXCJcbiAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgW2F0dHIudmFsdWVdPVwidmFsdWVcIlxuICBbdHlwZV09XCJ0eXBlXCJcbiAgW2F1dG9mb2N1c109XCJhdXRvZm9jdXNcIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBbYXR0ci5hcmlhLWxhYmVsXT1cImRlc2NyaXB0aW9uXCJcbiAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG4gIChmb2N1cyk9XCJvbkZvY3VzKCRldmVudClcIlxuICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICpuZ0lmPVwidHlwZSAhPT0gJ2xpbmsnXCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRSZWZcIj48L25nLWNvbnRhaW5lcj5cbjwvYnV0dG9uPlxuXG48YVxuICAjaW5wdXRcbiAgW25nQ2xhc3NdPVwiYnV0dG9uQ2xhc3Nlc1wiXG4gIHJvbGU9XCJidXR0b25cIlxuICBbaWRdPVwiaWQgKyAnLWxpbmsnXCJcbiAgW3JvdXRlckxpbmtdPVwiaHJlZlwiXG4gIFtleHRlcm5hbF09XCJleHRlcm5hbFwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiZGVzY3JpcHRpb25cIlxuICAoY2xpY2spPVwib25DbGljaygkZXZlbnQpXCJcbiAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXG4gIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgKm5nSWY9XCJ0eXBlID09PSAnbGluaydcIlxuPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFJlZlwiPjwvbmctY29udGFpbmVyPlxuPC9hPlxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnRSZWY+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvdi1hbmd1bGFyL2J1dHRvbi9idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFFTixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFDTixJQUFJLEdBRUwsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQWtCLE1BQU0sbUJBQW1CLENBQUE7QUFFbkUsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sbUVBQW1FLENBQUE7Ozs7OztBQUl4SCxNQUFNLENBQU4sSUFBWSxXQVNYO0FBVEQsV0FBWSxXQUFXO0lBQ3JCLG1EQUFPLENBQUE7SUFDUCx1REFBUyxDQUFBO0lBQ1QsMkRBQVcsQ0FBQTtJQUNYLGlEQUFNLENBQUE7SUFDTiwrREFBYSxDQUFBO0lBQ2IsK0NBQUssQ0FBQTtJQUNMLHVEQUFTLENBQUE7SUFDVCw2Q0FBSSxDQUFBO0FBQ04sQ0FBQyxFQVRXLFdBQVcsS0FBWCxXQUFXLFFBU3RCO0FBRUQ7OztHQUdHO0FBT0gsTUFBTSxPQUFPLGtCQUNYLFNBQVEsb0NBQW9DO0lBeUI1QyxZQUM2QixTQUFvQixFQUdyQyxjQUE4QixFQUM5QixHQUFzQjtRQUVoQyxLQUFLLENBQUMsU0FBUyxFQUFFLGNBQWMsRUFBRSxHQUFHLENBQUMsQ0FBQTtRQU5WLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFHckMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBM0JsQyxvRkFBb0Y7UUFDM0MsVUFBSyxHQUFHLFFBQVEsQ0FBQTtRQUN6RCwyRkFBMkY7UUFDbEYsU0FBSSxHQUFnQixRQUFRLENBQUE7UUFDckMsNkdBQTZHO1FBQ3BHLGdCQUFXLEdBQ2xCLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFBO1FBQy9ELHdDQUF3QztRQUMvQixVQUFLLEdBQUcsS0FBSyxDQUFBO1FBSXRCLGlGQUFpRjtRQUNqRixhQUFRLEdBQUcsS0FBSyxDQUFBO1FBQ2hCLGdGQUFnRjtRQUNoRixrQkFBYSxHQUFxQyxFQUFFLENBQUE7UUFFcEQ7O1dBRUc7UUFDTyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQTtJQVV4QyxDQUFDO0lBRUQsZ0JBQWdCO0lBQ2hCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFpQixFQUFFLEtBQWM7UUFDekQsT0FBTztZQUNMLEtBQUssRUFBRSxLQUFLO1lBQ1osT0FBTyxFQUFFLElBQUksS0FBSyxXQUFXLENBQUMsT0FBTyxJQUFJLElBQUksS0FBSyxXQUFXLENBQUMsTUFBTTtZQUNwRSxTQUFTLEVBQUUsSUFBSSxLQUFLLFdBQVcsQ0FBQyxTQUFTO1lBQ3pDLFFBQVEsRUFBRSxJQUFJLEtBQUssV0FBVyxDQUFDLFdBQVcsSUFBSSxJQUFJLEtBQUssV0FBVyxDQUFDLElBQUk7WUFDdkUsTUFBTSxFQUFFLElBQUksS0FBSyxXQUFXLENBQUMsTUFBTSxJQUFJLElBQUksS0FBSyxXQUFXLENBQUMsYUFBYTtZQUN6RSxLQUFLLEVBQUUsSUFBSSxLQUFLLFdBQVcsQ0FBQyxTQUFTO1lBQ3JDLGFBQWEsRUFBRSxJQUFJLEtBQUssV0FBVyxDQUFDLEtBQUs7U0FDMUMsQ0FBQTtJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFBO1FBQ2hCLElBQUksSUFBSSxDQUFDLElBQUk7WUFBRSxJQUFJLENBQUMsUUFBUSxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzdELElBQUksQ0FBQyxhQUFhLEdBQUcsa0JBQWtCLENBQUMsa0JBQWtCLENBQ3hELElBQUksQ0FBQyxXQUFXLEVBQ2hCLElBQUksQ0FBQyxLQUFLLENBQ1gsQ0FBQTtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsV0FBVyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDeEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FDeEQsSUFBSSxDQUFDLFdBQVcsRUFDaEIsSUFBSSxDQUFDLEtBQUssQ0FDWCxDQUFBO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCO0lBQ2hCLE9BQU8sQ0FBQyxLQUFZO1FBQ2xCLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFNO1FBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzVCLENBQUM7K0dBdkVVLGtCQUFrQix1RUE2Qm5CLGVBQWU7bUdBN0JkLGtCQUFrQixtU0MzQy9CLDAzQkFxQ0E7OzRGRE1hLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFFRSxhQUFhOzswQkErQnBCLElBQUk7OzBCQUFJLFFBQVE7OzBCQUNoQixRQUFROzswQkFDUixNQUFNOzJCQUFDLGVBQWU7NEVBeEJnQixLQUFLO3NCQUE3QyxXQUFXO3VCQUFDLGlCQUFpQjs7c0JBQUcsS0FBSztnQkFFN0IsSUFBSTtzQkFBWixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFVSSxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBTZWxmLFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBUUkFOU0xPQ09fU0NPUEUsIFRyYW5zbG9jb1Njb3BlIH0gZnJvbSAnQG5nbmVhdC90cmFuc2xvY28nXG5cbmltcG9ydCB7IE5ndkJhc2VDb250cm9sVmFsdWVBY2Nlc3NvckNvbXBvbmVudCB9IGZyb20gJ0BzZWJncm91cC9ncmVlbi1hbmd1bGFyL3NyYy92LWFuZ3VsYXIvYmFzZS1jb250cm9sLXZhbHVlLWFjY2Vzc29yJ1xuXG5leHBvcnQgdHlwZSBCdXR0b25UeXBlcyA9ICdidXR0b24nIHwgJ3N1Ym1pdCcgfCAncmVzZXQnIHwgJ2xpbmsnXG5cbmV4cG9ydCBlbnVtIEJ1dHRvblN0eWxlIHtcbiAgUHJpbWFyeSxcbiAgU2Vjb25kYXJ5LFxuICBBbHRlcm5hdGl2ZSxcbiAgRGVsZXRlLFxuICBEZWxldGVDb25maXJtLFxuICBHaG9zdCxcbiAgR2hvc3REYXJrLFxuICBMaW5rLFxufVxuXG4vKipcbiAqIEJ1dHRvbnMgYWxsb3cgdXNlcnMgdG8gdGFrZSBhY3Rpb24gd2l0aCBhIHNpbmdsZSB0YXAuXG4gKiBodHRwczovL2Rlc2lnbmxpYnJhcnkuc2ViZ3JvdXAuY29tL2NvbXBvbmVudHMvY29tcG9uZW50LWJ1dHRvblxuICovXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICduZ2d2LWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd2QnV0dG9uQ29tcG9uZW50XG4gIGV4dGVuZHMgTmd2QmFzZUNvbnRyb2xWYWx1ZUFjY2Vzc29yQ29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXNcbntcbiAgLyoqIFNwZWNpYWwgcHJvcGVydHkgdXNlZCBmb3Igc2VsZWN0aW5nIERPTSBlbGVtZW50cyBkdXJpbmcgYXV0b21hdGVkIFVJIHRlc3RpbmcuICovXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXRob29rJykgQElucHV0KCkgdGhvb2sgPSAnYnV0dG9uJ1xuICAvKiogVHlwZSBvZiBidXR0b24gdG8gb25lIG9mIGJ1dHRvbnxzdWJtaXR8cmVzZXR8bGluaywgd2hlcmUgbGluayBjcmVhdGVzIGFuIGFuY2hvciB0YWcuICovXG4gIEBJbnB1dCgpIHR5cGU6IEJ1dHRvblR5cGVzID0gJ2J1dHRvbidcbiAgLyoqIFN0eWxlIG9mIHRoZSBidXR0b24gdG8gb25lIG9mIFByaW1hcnl8U2Vjb25kYXJ5fEFsdGVybmF0aXZlfERlbGV0ZXxEZWxldGVDb25maXJtfEdob3N0fEdob3N0RGFya3xMaW5rLiAqL1xuICBASW5wdXQoKSBidXR0b25TdHlsZTogQnV0dG9uU3R5bGUgPVxuICAgIHRoaXMudHlwZSA9PT0gJ2xpbmsnID8gQnV0dG9uU3R5bGUuTGluayA6IEJ1dHRvblN0eWxlLlByaW1hcnlcbiAgLyoqIFNpemUgb2YgdGhlIGJ1dHRvbiB0byBiZSBzbWFsbGVyLiAqL1xuICBASW5wdXQoKSBzbWFsbCA9IGZhbHNlXG4gIC8qKiBXaGVyZSB0aGUgYnV0dG9uIHNob3VsZCBsaW5rIHRvIGlmIHtAbGluayBCdXR0b25UeXBlc30gaXMgc2V0IHRvIGxpbmsuICovXG4gIEBJbnB1dCgpIGhyZWY/OiBzdHJpbmdcblxuICAvKiogQGludGVybmFsIERldGVybWluZXMgaWYgdGhlIHRoZSBocmVmIHByb3BlcnR5IHNob3VsZCB1c2UgaW50ZXJuYWwgcm91dGluZy4gKi9cbiAgZXh0ZXJuYWwgPSBmYWxzZVxuICAvKiogQGludGVybmFsIFRoZSBjbGFzc2VzIGRldGVybWluZWQgYnkgdGhlIGJ1dHRvblN0eWxlIGFuZCBzbWFsbCBwcm9wZXJ0aWVzLiAqL1xuICBidXR0b25DbGFzc2VzOiB7IFtjbGFzc05hbWU6IHN0cmluZ106IGJvb2xlYW4gfSA9IHt9XG5cbiAgLyoqIEVtaXRzIGNsaWNrIGV2ZW50cyB0cmlnZ2VyZWQgYnkgdGhlIGJ1dHRvbiBvciBsaW5rLlxuICAgKiBVc2UgaW5zdGVhZCBvZiBjbGljayB0byBhdm9pZCB0cmlnZ2VyaW5nIGV2ZW50cyBvbiBkaXNhYmxlZCBidXR0b25zIGFuZCBsaW5rcy5cbiAgICovXG4gIEBPdXRwdXQoKSBuZ2d2Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKClcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAU2VsZigpIEBPcHRpb25hbCgpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoVFJBTlNMT0NPX1NDT1BFKVxuICAgIHByb3RlY3RlZCB0cmFuc2xvY29TY29wZTogVHJhbnNsb2NvU2NvcGUsXG4gICAgcHJvdGVjdGVkIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge1xuICAgIHN1cGVyKG5nQ29udHJvbCwgdHJhbnNsb2NvU2NvcGUsIGNkcilcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgc3RhdGljIGJ1dHRvblN0eWxlQ2xhc3Nlcyh0eXBlOiBCdXR0b25TdHlsZSwgc21hbGw6IGJvb2xlYW4pIHtcbiAgICByZXR1cm4ge1xuICAgICAgc21hbGw6IHNtYWxsLFxuICAgICAgcHJpbWFyeTogdHlwZSA9PT0gQnV0dG9uU3R5bGUuUHJpbWFyeSB8fCB0eXBlID09PSBCdXR0b25TdHlsZS5EZWxldGUsXG4gICAgICBzZWNvbmRhcnk6IHR5cGUgPT09IEJ1dHRvblN0eWxlLlNlY29uZGFyeSxcbiAgICAgIHRlcnRpYXJ5OiB0eXBlID09PSBCdXR0b25TdHlsZS5BbHRlcm5hdGl2ZSB8fCB0eXBlID09PSBCdXR0b25TdHlsZS5MaW5rLFxuICAgICAgZGFuZ2VyOiB0eXBlID09PSBCdXR0b25TdHlsZS5EZWxldGUgfHwgdHlwZSA9PT0gQnV0dG9uU3R5bGUuRGVsZXRlQ29uZmlybSxcbiAgICAgIGdob3N0OiB0eXBlID09PSBCdXR0b25TdHlsZS5HaG9zdERhcmssXG4gICAgICAnZ2hvc3QtbGlnaHQnOiB0eXBlID09PSBCdXR0b25TdHlsZS5HaG9zdCxcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpXG4gICAgaWYgKHRoaXMuaHJlZikgdGhpcy5leHRlcm5hbCA9IC9eXFx3KzpcXC9cXC8uKyQvLnRlc3QodGhpcy5ocmVmKVxuICAgIHRoaXMuYnV0dG9uQ2xhc3NlcyA9IE5ndkJ1dHRvbkNvbXBvbmVudC5idXR0b25TdHlsZUNsYXNzZXMoXG4gICAgICB0aGlzLmJ1dHRvblN0eWxlLFxuICAgICAgdGhpcy5zbWFsbCxcbiAgICApXG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMuYnV0dG9uU3R5bGUgfHwgY2hhbmdlcy5zbWFsbCkge1xuICAgICAgdGhpcy5idXR0b25DbGFzc2VzID0gTmd2QnV0dG9uQ29tcG9uZW50LmJ1dHRvblN0eWxlQ2xhc3NlcyhcbiAgICAgICAgdGhpcy5idXR0b25TdHlsZSxcbiAgICAgICAgdGhpcy5zbWFsbCxcbiAgICAgIClcbiAgICB9XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIG9uQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVyblxuICAgIHRoaXMubmdndkNsaWNrLmVtaXQoZXZlbnQpXG4gIH1cbn1cbiIsIjxidXR0b25cbiAgI2lucHV0XG4gIFtuZ0NsYXNzXT1cImJ1dHRvbkNsYXNzZXNcIlxuICBbaWRdPVwiaWQgKyAnLWJ1dHRvbidcIlxuICBbYXR0ci5uYW1lXT1cIm5hbWVcIlxuICBbYXR0ci52YWx1ZV09XCJ2YWx1ZVwiXG4gIFt0eXBlXT1cInR5cGVcIlxuICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiZGVzY3JpcHRpb25cIlxuICAoY2xpY2spPVwib25DbGljaygkZXZlbnQpXCJcbiAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXG4gIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgKm5nSWY9XCJ0eXBlICE9PSAnbGluaydcIlxuPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFJlZlwiPjwvbmctY29udGFpbmVyPlxuPC9idXR0b24+XG5cbjxhXG4gICNpbnB1dFxuICBbbmdDbGFzc109XCJidXR0b25DbGFzc2VzXCJcbiAgcm9sZT1cImJ1dHRvblwiXG4gIFtpZF09XCJpZCArICctbGluaydcIlxuICBbcm91dGVyTGlua109XCJocmVmXCJcbiAgW2V4dGVybmFsXT1cImV4dGVybmFsXCJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCJkZXNjcmlwdGlvblwiXG4gIChjbGljayk9XCJvbkNsaWNrKCRldmVudClcIlxuICAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcbiAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxuICAqbmdJZj1cInR5cGUgPT09ICdsaW5rJ1wiXG4+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50UmVmXCI+PC9uZy1jb250YWluZXI+XG48L2E+XG5cbjxuZy10ZW1wbGF0ZSAjY29udGVudFJlZj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -1,8 +1,8 @@
1
- import { NgModule } from '@angular/core';
2
1
  import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
3
  import { RouterModule } from '@angular/router';
4
- import { NgvButtonComponent } from './button.component';
5
4
  import { NgvExternalLinkDirectiveModule } from '@sebgroup/green-angular/src/v-angular/external-link';
5
+ import { NgvButtonComponent } from './button.component';
6
6
  import * as i0 from "@angular/core";
7
7
  export class NgvButtonModule {
8
8
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -17,4 +17,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
17
17
  exports: [NgvButtonComponent],
18
18
  }]
19
19
  }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvdi1hbmd1bGFyL2J1dHRvbi9idXR0b24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUU5QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUN2RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQTs7QUFPcEcsTUFBTSxPQUFPLGVBQWU7K0dBQWYsZUFBZTtnSEFBZixlQUFlLGlCQUpYLGtCQUFrQixhQUN2QixZQUFZLEVBQUUsOEJBQThCLEVBQUUsWUFBWSxhQUMxRCxrQkFBa0I7Z0hBRWpCLGVBQWUsWUFIaEIsWUFBWSxFQUFFLDhCQUE4QixFQUFFLFlBQVk7OzRGQUd6RCxlQUFlO2tCQUwzQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGtCQUFrQixDQUFDO29CQUNsQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsOEJBQThCLEVBQUUsWUFBWSxDQUFDO29CQUNyRSxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztpQkFDOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5cbmltcG9ydCB7IE5ndkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vYnV0dG9uLmNvbXBvbmVudCdcbmltcG9ydCB7IE5ndkV4dGVybmFsTGlua0RpcmVjdGl2ZU1vZHVsZSB9IGZyb20gJ0BzZWJncm91cC9ncmVlbi1hbmd1bGFyL3NyYy92LWFuZ3VsYXIvZXh0ZXJuYWwtbGluaydcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbTmd2QnV0dG9uQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTmd2RXh0ZXJuYWxMaW5rRGlyZWN0aXZlTW9kdWxlLCBSb3V0ZXJNb2R1bGVdLFxuICBleHBvcnRzOiBbTmd2QnV0dG9uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTmd2QnV0dG9uTW9kdWxlIHt9XG4iXX0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvdi1hbmd1bGFyL2J1dHRvbi9idXR0b24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUU5QyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQTtBQUNwRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTs7QUFPdkQsTUFBTSxPQUFPLGVBQWU7K0dBQWYsZUFBZTtnSEFBZixlQUFlLGlCQUpYLGtCQUFrQixhQUN2QixZQUFZLEVBQUUsOEJBQThCLEVBQUUsWUFBWSxhQUMxRCxrQkFBa0I7Z0hBRWpCLGVBQWUsWUFIaEIsWUFBWSxFQUFFLDhCQUE4QixFQUFFLFlBQVk7OzRGQUd6RCxlQUFlO2tCQUwzQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGtCQUFrQixDQUFDO29CQUNsQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsOEJBQThCLEVBQUUsWUFBWSxDQUFDO29CQUNyRSxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztpQkFDOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5cbmltcG9ydCB7IE5ndkV4dGVybmFsTGlua0RpcmVjdGl2ZU1vZHVsZSB9IGZyb20gJ0BzZWJncm91cC9ncmVlbi1hbmd1bGFyL3NyYy92LWFuZ3VsYXIvZXh0ZXJuYWwtbGluaydcbmltcG9ydCB7IE5ndkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vYnV0dG9uLmNvbXBvbmVudCdcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbTmd2QnV0dG9uQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTmd2RXh0ZXJuYWxMaW5rRGlyZWN0aXZlTW9kdWxlLCBSb3V0ZXJNb2R1bGVdLFxuICBleHBvcnRzOiBbTmd2QnV0dG9uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTmd2QnV0dG9uTW9kdWxlIHt9XG4iXX0=
@@ -1,5 +1,5 @@
1
- import { NgModule } from '@angular/core';
2
1
  import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
3
  import { NgvCardComponent } from './card.component';
4
4
  import * as i0 from "@angular/core";
5
5
  export class NgvCardModule {
@@ -15,4 +15,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
15
15
  exports: [NgvCardComponent],
16
16
  }]
17
17
  }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL3YtYW5ndWxhci9jYXJkL2NhcmQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRTlDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFBOztBQU9uRCxNQUFNLE9BQU8sYUFBYTsrR0FBYixhQUFhO2dIQUFiLGFBQWEsaUJBSlQsZ0JBQWdCLGFBQ3JCLFlBQVksYUFDWixnQkFBZ0I7Z0hBRWYsYUFBYSxZQUhkLFlBQVk7OzRGQUdYLGFBQWE7a0JBTHpCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQ2hDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7aUJBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuXG5pbXBvcnQgeyBOZ3ZDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9jYXJkLmNvbXBvbmVudCdcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbTmd2Q2FyZENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBleHBvcnRzOiBbTmd2Q2FyZENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndkNhcmRNb2R1bGUge31cbiJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL3YtYW5ndWxhci9jYXJkL2NhcmQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRXhDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFBOztBQU9uRCxNQUFNLE9BQU8sYUFBYTsrR0FBYixhQUFhO2dIQUFiLGFBQWEsaUJBSlQsZ0JBQWdCLGFBQ3JCLFlBQVksYUFDWixnQkFBZ0I7Z0hBRWYsYUFBYSxZQUhkLFlBQVk7OzRGQUdYLGFBQWE7a0JBTHpCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQ2hDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7aUJBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5pbXBvcnQgeyBOZ3ZDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9jYXJkLmNvbXBvbmVudCdcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbTmd2Q2FyZENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBleHBvcnRzOiBbTmd2Q2FyZENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndkNhcmRNb2R1bGUge31cbiJdfQ==
@@ -1,5 +1,5 @@
1
- import { NgModule } from '@angular/core';
2
1
  import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
3
  import { CharacterCountdownDirective } from './character-countdown.directive';
4
4
  import * as i0 from "@angular/core";
5
5
  export class NggCharacterCountdownDirectiveModule {
@@ -15,4 +15,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
15
15
  exports: [CharacterCountdownDirective],
16
16
  }]
17
17
  }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcmFjdGVyLWNvdW50ZG93bi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL3YtYW5ndWxhci9jaGFyYWN0ZXItY291bnRkb3duL2NoYXJhY3Rlci1jb3VudGRvd24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRTlDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFBOztBQU83RSxNQUFNLE9BQU8sb0NBQW9DOytHQUFwQyxvQ0FBb0M7Z0hBQXBDLG9DQUFvQyxpQkFKaEMsMkJBQTJCLGFBQ2hDLFlBQVksYUFDWiwyQkFBMkI7Z0hBRTFCLG9DQUFvQyxZQUhyQyxZQUFZOzs0RkFHWCxvQ0FBb0M7a0JBTGhELFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsMkJBQTJCLENBQUM7b0JBQzNDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsMkJBQTJCLENBQUM7aUJBQ3ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuXG5pbXBvcnQgeyBDaGFyYWN0ZXJDb3VudGRvd25EaXJlY3RpdmUgfSBmcm9tICcuL2NoYXJhY3Rlci1jb3VudGRvd24uZGlyZWN0aXZlJ1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtDaGFyYWN0ZXJDb3VudGRvd25EaXJlY3RpdmVdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZXhwb3J0czogW0NoYXJhY3RlckNvdW50ZG93bkRpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIE5nZ0NoYXJhY3RlckNvdW50ZG93bkRpcmVjdGl2ZU1vZHVsZSB7fVxuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcmFjdGVyLWNvdW50ZG93bi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL3YtYW5ndWxhci9jaGFyYWN0ZXItY291bnRkb3duL2NoYXJhY3Rlci1jb3VudGRvd24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRXhDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFBOztBQU83RSxNQUFNLE9BQU8sb0NBQW9DOytHQUFwQyxvQ0FBb0M7Z0hBQXBDLG9DQUFvQyxpQkFKaEMsMkJBQTJCLGFBQ2hDLFlBQVksYUFDWiwyQkFBMkI7Z0hBRTFCLG9DQUFvQyxZQUhyQyxZQUFZOzs0RkFHWCxvQ0FBb0M7a0JBTGhELFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsMkJBQTJCLENBQUM7b0JBQzNDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsMkJBQTJCLENBQUM7aUJBQ3ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5pbXBvcnQgeyBDaGFyYWN0ZXJDb3VudGRvd25EaXJlY3RpdmUgfSBmcm9tICcuL2NoYXJhY3Rlci1jb3VudGRvd24uZGlyZWN0aXZlJ1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtDaGFyYWN0ZXJDb3VudGRvd25EaXJlY3RpdmVdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZXhwb3J0czogW0NoYXJhY3RlckNvdW50ZG93bkRpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIE5nZ0NoYXJhY3RlckNvdW50ZG93bkRpcmVjdGl2ZU1vZHVsZSB7fVxuIl19
@@ -69,4 +69,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
69
69
  }], valueChange: [{
70
70
  type: Output
71
71
  }] } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxHQUdMLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsZUFBZSxFQUFrQixNQUFNLG1CQUFtQixDQUFBO0FBQ25FLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLG1FQUFtRSxDQUFBOzs7OztBQUV4SDs7O0dBR0c7QUFNSCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsb0NBQW9DO0lBUTVFLFlBR1MsU0FBb0IsRUFHakIsY0FBOEIsRUFDOUIsR0FBc0I7UUFFaEMsS0FBSyxDQUFDLFNBQVMsRUFBRSxjQUFjLEVBQUUsR0FBRyxDQUFDLENBQUE7UUFOOUIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUdqQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFkbEMsb0ZBQW9GO1FBQzNDLFVBQUssR0FBRyxVQUFVLENBQUE7UUFDbEQsa0JBQWEsR0FBRyxVQUFVLENBQUE7UUFFaEIsZ0JBQVcsR0FDNUIsSUFBSSxZQUFZLEVBQVUsQ0FBQTtJQVk1QixDQUFDO0lBRUQsZ0JBQWdCO0lBQ2hCLGFBQWEsQ0FBQyxLQUFZO1FBQ3hCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQTtRQUN2QixJQUFJLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTTtRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUN4QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUE7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDM0IsQ0FBQztJQUVELHVHQUF1RztJQUN2RyxVQUFVLENBQUMsS0FBVTtRQUNuQixpRkFBaUY7UUFDakYsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3hDLENBQUM7SUFFRCxpR0FBaUc7SUFDakcsZ0JBQWdCLENBQUMsRUFBeUI7UUFDeEMsc0NBQXNDO1FBQ3RDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUMxQixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTtZQUMxQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUE7WUFDVixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUMvQixDQUFDLENBQUE7SUFDSCxDQUFDOytHQTNDVSxvQkFBb0IsdUVBYXJCLGVBQWU7bUdBYmQsb0JBQW9CLDRPQzFCakMsaThFQW9GQTs7NEZEMURhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxlQUFlOzswQkFhdEIsSUFBSTs7MEJBQ0osUUFBUTs7MEJBRVIsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxlQUFlOzRFQVhnQixLQUFLO3NCQUE3QyxXQUFXO3VCQUFDLGlCQUFpQjs7c0JBQUcsS0FBSztnQkFDN0IsYUFBYTtzQkFBckIsS0FBSztnQkFFYSxXQUFXO3NCQUE3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgU2VsZixcbiAgT25DaGFuZ2VzLFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBUUkFOU0xPQ09fU0NPUEUsIFRyYW5zbG9jb1Njb3BlIH0gZnJvbSAnQG5nbmVhdC90cmFuc2xvY28nXG5pbXBvcnQgeyBOZ3ZCYXNlQ29udHJvbFZhbHVlQWNjZXNzb3JDb21wb25lbnQgfSBmcm9tICdAc2ViZ3JvdXAvZ3JlZW4tYW5ndWxhci9zcmMvdi1hbmd1bGFyL2Jhc2UtY29udHJvbC12YWx1ZS1hY2Nlc3NvcidcblxuLyoqXG4gKiBDaGVja2JveGVzIGFsbG93IGEgdXNlciB0byB0b2dnbGUgYW4gb3B0aW9uIG9uIG9yIG9mZiwgb3IgbWFrZSBtdWx0aXBsZSBjaG9pY2VzIGluIGEgc2V0IG9mIGF2YWlsYWJsZSBvcHRpb25zLlxuICogaHR0cHM6Ly9kZXNpZ25saWJyYXJ5LnNlYmdyb3VwLmNvbS9jb21wb25lbnRzL2NvbXBvbmVudC1jaGVja2JveFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ2d2LWNoZWNrYm94JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hlY2tib3guY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd2Q2hlY2tib3hDb21wb25lbnQgZXh0ZW5kcyBOZ3ZCYXNlQ29udHJvbFZhbHVlQWNjZXNzb3JDb21wb25lbnQge1xuICAvKiogU3BlY2lhbCBwcm9wZXJ0eSB1c2VkIGZvciBzZWxlY3RpbmcgRE9NIGVsZW1lbnRzIGR1cmluZyBhdXRvbWF0ZWQgVUkgdGVzdGluZy4gKi9cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtdGhvb2snKSBASW5wdXQoKSB0aG9vayA9ICdjaGVja2JveCdcbiAgQElucHV0KCkgb3B0aW9uYWxMYWJlbCA9ICdPcHRpb25hbCdcblxuICBAT3V0cHV0KCkgcmVhZG9ubHkgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBTZWxmKClcbiAgICBAT3B0aW9uYWwoKVxuICAgIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoVFJBTlNMT0NPX1NDT1BFKVxuICAgIHByb3RlY3RlZCB0cmFuc2xvY29TY29wZTogVHJhbnNsb2NvU2NvcGUsXG4gICAgcHJvdGVjdGVkIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge1xuICAgIHN1cGVyKG5nQ29udHJvbCwgdHJhbnNsb2NvU2NvcGUsIGNkcilcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgb25JbnB1dENoYW5nZShldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm5cbiAgICB0aGlzLnN0YXRlID0gIXRoaXMuc3RhdGVcbiAgICB0aGlzLm9uVG91Y2hlZCgpXG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnN0YXRlKVxuICB9XG5cbiAgLyoqIFdyaXRlcyBhIG5ldyB2YWx1ZSBvZiB0cnVlIG9yIGZhbHNlIGJhc2VkIG9uIGlmIGFyZ3VtZW50IG1hdGNoZXMgdGhpcyBjb21wb25lbnRzIHZhbHVlIHByb3BlcnR5LiAqL1xuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAvLyBQaGFudG9tIG51bGwgdmFsdWUgb24gZmlyc3QgbG9hZCBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL3B1bGwvMzgxNDBcbiAgICBzdXBlci53cml0ZVZhbHVlKHZhbHVlID09PSB0aGlzLnZhbHVlKVxuICB9XG5cbiAgLyoqIFJlZ2lzdGVycyBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgaXMgY2FsbGVkIHdoZW4gdGhlIGNoaWxkIGlucHV0IGVsZW1lbnQncyB2YWx1ZSBjaGFuZ2VzLiAqL1xuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoY2hlY2tlZDogYW55KSA9PiBhbnkpIHtcbiAgICAvLyBPdmVycmlkZSBkZWZhdWx0IHRvIHVwZGF0ZSByZWdpc3RyeVxuICAgIHRoaXMub25DaGFuZ2UgPSAoY2hlY2tlZCkgPT4ge1xuICAgICAgY29uc3Qgb3V0cHV0ID0gY2hlY2tlZCA/IHRoaXMudmFsdWUgOiBudWxsXG4gICAgICBmbihvdXRwdXQpXG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQob3V0cHV0KVxuICAgIH1cbiAgfVxufVxuIiwiPCEtLSBMT0NLRUQgSU5QVVQgLS0+XG48ZGl2ICpuZ0lmPVwibG9ja2VkICYmIHN0YXRlXCIgY2xhc3M9XCJzZHYtZmllbGQtY2hlY2tib3gtd3JhcFwiPlxuICA8ZGl2XG4gICAgW2lkXT1cImlkICsgJy1jaGVja2JveCdcIlxuICAgIGNsYXNzPVwibmdndi1maWVsZC0tbG9ja2VkXCJcbiAgICBbYXR0ci5uYW1lXT1cIm5hbWVcIlxuICAgIFthdHRyLnZhbHVlXT1cInZhbHVlXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbGFiZWxDb250ZW50VHBsXCI+XG4gICAgICB7eyBsYWJlbCB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsYWJlbENvbnRlbnRUcGwgPz8gbnVsbDsgY29udGV4dDogeyAkaW1wbGljaXQ6IHZhbHVlIH1cIlxuICAgID48L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48IS0tIElOUFVUIFdSQVBQRVIgLS0+XG48bmctY29udGFpbmVyICpuZ0lmPVwiIWxvY2tlZFwiPlxuICA8ZGl2IGNsYXNzPVwic2R2LWZpZWxkLWNoZWNrYm94LXdyYXBcIj5cbiAgICA8IS0tIENIRUNLQk9YIEZJRUxEIC0tPlxuICAgIDxsYWJlbFxuICAgICAgW2lkXT1cImlkICsgJy1sYWJlbCdcIlxuICAgICAgW2F0dHIuZm9yXT1cImlkICsgJy1jaGVja2JveCdcIlxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgKnRyYW5zbG9jbz1cImxldCB0OyByZWFkOiBzY29wZVwiXG4gICAgPlxuICAgICAgPGlucHV0XG4gICAgICAgICNpbnB1dFxuICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICBbaWRdPVwiaWQgKyAnLWNoZWNrYm94J1wiXG4gICAgICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXG4gICAgICAgIFthdHRyLnZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgW2F0dHIucmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZGVzY3JpcHRpb25cIlxuICAgICAgICBbY2hlY2tlZF09XCJzdGF0ZVwiXG4gICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAoY2hhbmdlKT1cIm9uSW5wdXRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIChmb2N1cyk9XCJvbkZvY3VzKCRldmVudClcIlxuICAgICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgICAvPlxuICAgICAgPCEtLSBMQUJFTCAtLT5cbiAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImxhYmVsQ29udGVudFRwbCB8fCBiYXNpY0xhYmVsQ29udGVudFRwbFwiXG4gICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjYmFzaWNMYWJlbENvbnRlbnRUcGw+XG4gICAgICAgIDwhLS0gdG8gdHJpZ2dlciBjc3M6ZW1wdHkgaWYgbm8gbGFiZWwgd2FzIGFkZGVkIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGFiZWxcIj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgb3B0aW9uYWwgPT09IHRydWUgfHwgKHJlcXVpcmVkICE9PSB0cnVlICYmIG9wdGlvbmFsICE9PSBmYWxzZSlcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBjbGFzcz1cInNkdi1maWVsZC1sYWJlbC0tb3B0aW9uYWxcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgICh7eyB0KCdsYWJlbC5vcHRpb25hbCcpIH19KVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c3Bhbj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPGk+PC9pPlxuICAgIDwvbGFiZWw+XG4gIDwvZGl2PlxuXG4gIDwhLS0gRVJST1JTIC0tPlxuICA8bmctY29udGFpbmVyICp0cmFuc2xvY289XCJsZXQgdDsgcmVhZDogc2NvcGVcIj5cbiAgICA8bGFiZWxcbiAgICAgIGNsYXNzPVwic2R2LWZpZWxkLW5vdGljZSBzZHYtZmllbGQtbm90aWNlLS1lcnJvclwiXG4gICAgICBbYXR0ci5mb3JdPVwiaWQgKyAnLWNoZWNrYm94J1wiXG4gICAgICAqbmdJZj1cImludmFsaWQgJiYgKGVycm9yIHx8IG5nQ29udHJvbD8uaW52YWxpZClcIlxuICAgID5cbiAgICAgIDxzcGFuICpuZ0lmPVwiZXJyb3I7IGVsc2UgZXJyb3JzUmVmXCI+e3sgZXJyb3IgfX08L3NwYW4+XG4gICAgICA8bmctdGVtcGxhdGUgI2Vycm9yc1JlZj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJmaXJzdEVycm9yIGFzIGVycm9yXCI+XG4gICAgICAgICAge3sgdCgnZXJyb3IuZmllbGQnICsgZXJyb3I/LmNvZGUsIGVycm9yPy5wYXJhbXMpIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9sYWJlbD5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPCEtLSBDSElMRFJFTiAtLT5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUVMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxHQUVMLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsZUFBZSxFQUFrQixNQUFNLG1CQUFtQixDQUFBO0FBRW5FLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLG1FQUFtRSxDQUFBOzs7OztBQUV4SDs7O0dBR0c7QUFNSCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsb0NBQW9DO0lBUTVFLFlBR1MsU0FBb0IsRUFHakIsY0FBOEIsRUFDOUIsR0FBc0I7UUFFaEMsS0FBSyxDQUFDLFNBQVMsRUFBRSxjQUFjLEVBQUUsR0FBRyxDQUFDLENBQUE7UUFOOUIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUdqQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFkbEMsb0ZBQW9GO1FBQzNDLFVBQUssR0FBRyxVQUFVLENBQUE7UUFDbEQsa0JBQWEsR0FBRyxVQUFVLENBQUE7UUFFaEIsZ0JBQVcsR0FDNUIsSUFBSSxZQUFZLEVBQVUsQ0FBQTtJQVk1QixDQUFDO0lBRUQsZ0JBQWdCO0lBQ2hCLGFBQWEsQ0FBQyxLQUFZO1FBQ3hCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQTtRQUN2QixJQUFJLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTTtRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUN4QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUE7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDM0IsQ0FBQztJQUVELHVHQUF1RztJQUN2RyxVQUFVLENBQUMsS0FBVTtRQUNuQixpRkFBaUY7UUFDakYsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3hDLENBQUM7SUFFRCxpR0FBaUc7SUFDakcsZ0JBQWdCLENBQUMsRUFBeUI7UUFDeEMsc0NBQXNDO1FBQ3RDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUMxQixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTtZQUMxQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUE7WUFDVixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUMvQixDQUFDLENBQUE7SUFDSCxDQUFDOytHQTNDVSxvQkFBb0IsdUVBYXJCLGVBQWU7bUdBYmQsb0JBQW9CLDRPQzNCakMsaThFQW9GQTs7NEZEekRhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxlQUFlOzswQkFhdEIsSUFBSTs7MEJBQ0osUUFBUTs7MEJBRVIsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxlQUFlOzRFQVhnQixLQUFLO3NCQUE3QyxXQUFXO3VCQUFDLGlCQUFpQjs7c0JBQUcsS0FBSztnQkFDN0IsYUFBYTtzQkFBckIsS0FBSztnQkFFYSxXQUFXO3NCQUE3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBTZWxmLFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBUUkFOU0xPQ09fU0NPUEUsIFRyYW5zbG9jb1Njb3BlIH0gZnJvbSAnQG5nbmVhdC90cmFuc2xvY28nXG5cbmltcG9ydCB7IE5ndkJhc2VDb250cm9sVmFsdWVBY2Nlc3NvckNvbXBvbmVudCB9IGZyb20gJ0BzZWJncm91cC9ncmVlbi1hbmd1bGFyL3NyYy92LWFuZ3VsYXIvYmFzZS1jb250cm9sLXZhbHVlLWFjY2Vzc29yJ1xuXG4vKipcbiAqIENoZWNrYm94ZXMgYWxsb3cgYSB1c2VyIHRvIHRvZ2dsZSBhbiBvcHRpb24gb24gb3Igb2ZmLCBvciBtYWtlIG11bHRpcGxlIGNob2ljZXMgaW4gYSBzZXQgb2YgYXZhaWxhYmxlIG9wdGlvbnMuXG4gKiBodHRwczovL2Rlc2lnbmxpYnJhcnkuc2ViZ3JvdXAuY29tL2NvbXBvbmVudHMvY29tcG9uZW50LWNoZWNrYm94XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nZ3YtY2hlY2tib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3ZDaGVja2JveENvbXBvbmVudCBleHRlbmRzIE5ndkJhc2VDb250cm9sVmFsdWVBY2Nlc3NvckNvbXBvbmVudCB7XG4gIC8qKiBTcGVjaWFsIHByb3BlcnR5IHVzZWQgZm9yIHNlbGVjdGluZyBET00gZWxlbWVudHMgZHVyaW5nIGF1dG9tYXRlZCBVSSB0ZXN0aW5nLiAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS10aG9vaycpIEBJbnB1dCgpIHRob29rID0gJ2NoZWNrYm94J1xuICBASW5wdXQoKSBvcHRpb25hbExhYmVsID0gJ09wdGlvbmFsJ1xuXG4gIEBPdXRwdXQoKSByZWFkb25seSB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpXG5cbiAgY29uc3RydWN0b3IoXG4gICAgQFNlbGYoKVxuICAgIEBPcHRpb25hbCgpXG4gICAgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sLFxuICAgIEBPcHRpb25hbCgpXG4gICAgQEluamVjdChUUkFOU0xPQ09fU0NPUEUpXG4gICAgcHJvdGVjdGVkIHRyYW5zbG9jb1Njb3BlOiBUcmFuc2xvY29TY29wZSxcbiAgICBwcm90ZWN0ZWQgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7XG4gICAgc3VwZXIobmdDb250cm9sLCB0cmFuc2xvY29TY29wZSwgY2RyKVxuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBvbklucHV0Q2hhbmdlKGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVyblxuICAgIHRoaXMuc3RhdGUgPSAhdGhpcy5zdGF0ZVxuICAgIHRoaXMub25Ub3VjaGVkKClcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuc3RhdGUpXG4gIH1cblxuICAvKiogV3JpdGVzIGEgbmV3IHZhbHVlIG9mIHRydWUgb3IgZmFsc2UgYmFzZWQgb24gaWYgYXJndW1lbnQgbWF0Y2hlcyB0aGlzIGNvbXBvbmVudHMgdmFsdWUgcHJvcGVydHkuICovXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIC8vIFBoYW50b20gbnVsbCB2YWx1ZSBvbiBmaXJzdCBsb2FkIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvcHVsbC8zODE0MFxuICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUgPT09IHRoaXMudmFsdWUpXG4gIH1cblxuICAvKiogUmVnaXN0ZXJzIGEgY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgd2hlbiB0aGUgY2hpbGQgaW5wdXQgZWxlbWVudCdzIHZhbHVlIGNoYW5nZXMuICovXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChjaGVja2VkOiBhbnkpID0+IGFueSkge1xuICAgIC8vIE92ZXJyaWRlIGRlZmF1bHQgdG8gdXBkYXRlIHJlZ2lzdHJ5XG4gICAgdGhpcy5vbkNoYW5nZSA9IChjaGVja2VkKSA9PiB7XG4gICAgICBjb25zdCBvdXRwdXQgPSBjaGVja2VkID8gdGhpcy52YWx1ZSA6IG51bGxcbiAgICAgIGZuKG91dHB1dClcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChvdXRwdXQpXG4gICAgfVxuICB9XG59XG4iLCI8IS0tIExPQ0tFRCBJTlBVVCAtLT5cbjxkaXYgKm5nSWY9XCJsb2NrZWQgJiYgc3RhdGVcIiBjbGFzcz1cInNkdi1maWVsZC1jaGVja2JveC13cmFwXCI+XG4gIDxkaXZcbiAgICBbaWRdPVwiaWQgKyAnLWNoZWNrYm94J1wiXG4gICAgY2xhc3M9XCJuZ2d2LWZpZWxkLS1sb2NrZWRcIlxuICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXG4gICAgW2F0dHIudmFsdWVdPVwidmFsdWVcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsYWJlbENvbnRlbnRUcGxcIj5cbiAgICAgIHt7IGxhYmVsIH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImxhYmVsQ29udGVudFRwbCA/PyBudWxsOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogdmFsdWUgfVwiXG4gICAgPjwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjwhLS0gSU5QVVQgV1JBUFBFUiAtLT5cbjxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9ja2VkXCI+XG4gIDxkaXYgY2xhc3M9XCJzZHYtZmllbGQtY2hlY2tib3gtd3JhcFwiPlxuICAgIDwhLS0gQ0hFQ0tCT1ggRklFTEQgLS0+XG4gICAgPGxhYmVsXG4gICAgICBbaWRdPVwiaWQgKyAnLWxhYmVsJ1wiXG4gICAgICBbYXR0ci5mb3JdPVwiaWQgKyAnLWNoZWNrYm94J1wiXG4gICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAqdHJhbnNsb2NvPVwibGV0IHQ7IHJlYWQ6IHNjb3BlXCJcbiAgICA+XG4gICAgICA8aW5wdXRcbiAgICAgICAgI2lucHV0XG4gICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgIFtpZF09XCJpZCArICctY2hlY2tib3gnXCJcbiAgICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICAgICAgW2F0dHIudmFsdWVdPVwidmFsdWVcIlxuICAgICAgICBbYXR0ci5yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFthdXRvZm9jdXNdPVwiYXV0b2ZvY3VzXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJkZXNjcmlwdGlvblwiXG4gICAgICAgIFtjaGVja2VkXT1cInN0YXRlXCJcbiAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgIChjaGFuZ2UpPVwib25JbnB1dENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgICAgIC8+XG4gICAgICA8IS0tIExBQkVMIC0tPlxuICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwibGFiZWxDb250ZW50VHBsIHx8IGJhc2ljTGFiZWxDb250ZW50VHBsXCJcbiAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlICNiYXNpY0xhYmVsQ29udGVudFRwbD5cbiAgICAgICAgPCEtLSB0byB0cmlnZ2VyIGNzczplbXB0eSBpZiBubyBsYWJlbCB3YXMgYWRkZWQgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsYWJlbFwiPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICBvcHRpb25hbCA9PT0gdHJ1ZSB8fCAocmVxdWlyZWQgIT09IHRydWUgJiYgb3B0aW9uYWwgIT09IGZhbHNlKVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2R2LWZpZWxkLWxhYmVsLS1vcHRpb25hbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgKHt7IHQoJ2xhYmVsLm9wdGlvbmFsJykgfX0pXG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzcGFuPnt7IGxhYmVsIH19PC9zcGFuPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8aT48L2k+XG4gICAgPC9sYWJlbD5cbiAgPC9kaXY+XG5cbiAgPCEtLSBFUlJPUlMgLS0+XG4gIDxuZy1jb250YWluZXIgKnRyYW5zbG9jbz1cImxldCB0OyByZWFkOiBzY29wZVwiPlxuICAgIDxsYWJlbFxuICAgICAgY2xhc3M9XCJzZHYtZmllbGQtbm90aWNlIHNkdi1maWVsZC1ub3RpY2UtLWVycm9yXCJcbiAgICAgIFthdHRyLmZvcl09XCJpZCArICctY2hlY2tib3gnXCJcbiAgICAgICpuZ0lmPVwiaW52YWxpZCAmJiAoZXJyb3IgfHwgbmdDb250cm9sPy5pbnZhbGlkKVwiXG4gICAgPlxuICAgICAgPHNwYW4gKm5nSWY9XCJlcnJvcjsgZWxzZSBlcnJvcnNSZWZcIj57eyBlcnJvciB9fTwvc3Bhbj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZXJyb3JzUmVmPlxuICAgICAgICA8c3BhbiAqbmdJZj1cImZpcnN0RXJyb3IgYXMgZXJyb3JcIj5cbiAgICAgICAgICB7eyB0KCdlcnJvci5maWVsZCcgKyBlcnJvcj8uY29kZSwgZXJyb3I/LnBhcmFtcykgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2xhYmVsPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tIENISUxEUkVOIC0tPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -1,7 +1,7 @@
1
- import { NgModule } from '@angular/core';
2
1
  import { CommonModule } from '@angular/common';
3
- import { NgvCheckboxComponent } from './checkbox.component';
2
+ import { NgModule } from '@angular/core';
4
3
  import { NgvI18nModule } from '@sebgroup/green-angular/src/v-angular/i18n';
4
+ import { NgvCheckboxComponent } from './checkbox.component';
5
5
  import * as i0 from "@angular/core";
6
6
  export class NgvCheckboxModule {
7
7
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -16,4 +16,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
16
16
  exports: [NgvCheckboxComponent],
17
17
  }]
18
18
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvY2hlY2tib3gvY2hlY2tib3gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRTlDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTs7QUFPMUUsTUFBTSxPQUFPLGlCQUFpQjsrR0FBakIsaUJBQWlCO2dIQUFqQixpQkFBaUIsaUJBSmIsb0JBQW9CLGFBQ3pCLFlBQVksRUFBRSxhQUFhLGFBQzNCLG9CQUFvQjtnSEFFbkIsaUJBQWlCLFlBSGxCLFlBQVksRUFBRSxhQUFhOzs0RkFHMUIsaUJBQWlCO2tCQUw3QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLG9CQUFvQixDQUFDO29CQUNwQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDO29CQUN0QyxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztpQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5cbmltcG9ydCB7IE5ndkNoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi9jaGVja2JveC5jb21wb25lbnQnXG5pbXBvcnQgeyBOZ3ZJMThuTW9kdWxlIH0gZnJvbSAnQHNlYmdyb3VwL2dyZWVuLWFuZ3VsYXIvc3JjL3YtYW5ndWxhci9pMThuJ1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtOZ3ZDaGVja2JveENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE5ndkkxOG5Nb2R1bGVdLFxuICBleHBvcnRzOiBbTmd2Q2hlY2tib3hDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3ZDaGVja2JveE1vZHVsZSB7fVxuIl19
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvY2hlY2tib3gvY2hlY2tib3gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRXhDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTtBQUMxRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTs7QUFPM0QsTUFBTSxPQUFPLGlCQUFpQjsrR0FBakIsaUJBQWlCO2dIQUFqQixpQkFBaUIsaUJBSmIsb0JBQW9CLGFBQ3pCLFlBQVksRUFBRSxhQUFhLGFBQzNCLG9CQUFvQjtnSEFFbkIsaUJBQWlCLFlBSGxCLFlBQVksRUFBRSxhQUFhOzs0RkFHMUIsaUJBQWlCO2tCQUw3QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLG9CQUFvQixDQUFDO29CQUNwQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDO29CQUN0QyxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztpQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbmltcG9ydCB7IE5ndkkxOG5Nb2R1bGUgfSBmcm9tICdAc2ViZ3JvdXAvZ3JlZW4tYW5ndWxhci9zcmMvdi1hbmd1bGFyL2kxOG4nXG5pbXBvcnQgeyBOZ3ZDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vY2hlY2tib3guY29tcG9uZW50J1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtOZ3ZDaGVja2JveENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE5ndkkxOG5Nb2R1bGVdLFxuICBleHBvcnRzOiBbTmd2Q2hlY2tib3hDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3ZDaGVja2JveE1vZHVsZSB7fVxuIl19
@@ -1,7 +1,7 @@
1
1
  import { Component, EventEmitter, HostBinding, HostListener, Inject, Input, Optional, Output, ViewChildren, } from '@angular/core';
2
+ import { TRANSLOCO_SCOPE } from '@ngneat/transloco';
2
3
  import { Subject } from 'rxjs';
3
4
  import scrollIntoView from 'scroll-into-view-if-needed';
4
- import { TRANSLOCO_SCOPE } from '@ngneat/transloco';
5
5
  import { DropdownUtils, } from '@sebgroup/green-angular/src/v-angular/core';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@angular/common";
@@ -207,11 +207,11 @@ export class NgvDropdownListComponent {
207
207
  }
208
208
  }
209
209
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvDropdownListComponent, deps: [{ token: TRANSLOCO_SCOPE, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
210
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NgvDropdownListComponent, selector: "nggv-dropdown-list", inputs: { expanded: "expanded", state: "state", scrollOffset: "scrollOffset", optionContentTpl: "optionContentTpl", id: "id", thook: "thook", options: "options", textToHighlight: "textToHighlight" }, outputs: { selectedValueChanged: "selectedValueChanged", closed: "closed" }, host: { listeners: { "document:keydown": "onKeyDown($event)", "document:keyup": "onKeyUp($event)" }, properties: { "attr.id": "this.id", "attr.data-thook": "this.thook" } }, viewQueries: [{ propertyName: "optionRefs", predicate: ["optionRefs"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *transloco=\"let t; read: scope\">\n <ul\n class=\"gds-dropdown__options card options gds-reset\"\n [class.gds-dropdown__options-expanded]=\"expanded\"\n role=\"listbox\"\n tabindex=\"-1\"\n [attr.data-thook]=\"thook + '-options'\"\n [attr.aria-labelledby]=\"id + '-label'\"\n [attr.aria-activedescendant]=\"\n state ? id + '-option-' + state?.key : undefined\n \"\n >\n <ng-container *ngFor=\"let item of options\">\n <!-- OPTION -->\n <ng-container *ngIf=\"!isGroup(item)\">\n <ng-template\n *ngTemplateOutlet=\"listItemTemplate; context: { $implicit: item }\"\n ></ng-template>\n </ng-container>\n\n <!-- OPTION GROUP -->\n <li\n class=\"gds-dropdown__options__label group\"\n [attr.data-thook]=\"thook + '-option-group'\"\n *ngIf=\"isGroup(item)\"\n >\n <div class=\"sdv-list__label\">{{ t(item.label) }}</div>\n <ul [attr.aria-disabled]=\"item.disabled\">\n <ng-container *ngFor=\"let option of castGroup(item).options\">\n <ng-template\n *ngTemplateOutlet=\"\n listItemTemplate;\n context: { $implicit: option }\n \"\n ></ng-template>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n\n <!-- TEMPLATE -->\n <ng-template #listItemTemplate let-option>\n <li\n #optionRefs\n *ngIf=\"!optionContentTpl\"\n tabindex=\"-1\"\n [id]=\"id + '-option-' + option.key\"\n class=\"gds-dropdown__options__label option\"\n role=\"option\"\n #liElem\n [attr.data-thook]=\"thook + '-option-' + option.key\"\n [attr.aria-disabled]=\"option.disabled\"\n [attr.aria-selected]=\"\n option.key === selectedValue?.key && !!selectedValue?.key\n \"\n [attr.aria-focus]=\"option.key === state?.key && !option.disabled\"\n [nggvTooltip]=\"isOverflow(liElem) ? t(option.label) : undefined\"\n (click)=\"updateState(option, $event)\"\n >\n <ng-template\n *ngTemplateOutlet=\"\n basicOptionContentTpl;\n context: { $implicit: option }\n \"\n >\n </ng-template>\n </li>\n <!-- Checking overflow on custom templates do not work skip adding nggvToolTip if custom template is provided -->\n <li\n #optionRefs\n *ngIf=\"!!optionContentTpl\"\n tabindex=\"-1\"\n [id]=\"id + '-option-' + option.key\"\n class=\"gds-dropdown__options__label option\"\n role=\"option\"\n #liElem\n [attr.data-thook]=\"thook + '-option-' + option.key\"\n [attr.aria-disabled]=\"option.disabled\"\n [attr.aria-selected]=\"\n option.key === selectedValue?.key && !!selectedValue?.key\n \"\n [attr.aria-focus]=\"option.key === state?.key && !option.disabled\"\n (click)=\"updateState(option, $event)\"\n >\n <ng-template\n *ngTemplateOutlet=\"optionContentTpl; context: { $implicit: option }\"\n >\n </ng-template>\n </li>\n </ng-template>\n\n <ng-template #basicOptionContentTpl let-option>\n <nggv-typeahead-highlight\n *ngIf=\"!!textToHighlight\"\n [textToHighlight]=\"textToHighlight\"\n [textContent]=\"t(option.label)\"\n >\n </nggv-typeahead-highlight>\n <ng-container *ngIf=\"!textToHighlight\">\n {{ t(option.label) }}\n </ng-container>\n </ng-template>\n</ng-container>\n", styles: [":host{position:absolute;bottom:0;transform:translateY(calc(100% + .5rem));--z-index: var(--sg-z-index-dropdown)}:host .hidden{visibility:hidden;display:none}:host ul[role=menu] [role=menuitem]{padding:.75rem;cursor:pointer}:host ul[role=menu] [role=menuitem]:hover,:host ul[role=menu] [role=menuitem]:focus-visible{background-color:var(--gds-ref-pallet-base200)}:host ul[role=menu] [role=menuitem]:active{background-color:var(--gds-ref-pallet-base300)}:host ul[role=menu] [role=menuitem]:focus{outline-color:#000;outline-offset:-.25rem}:host ul[role=listbox]{--z-index: var(--sg-z-index-popover);background-color:var(--sg-popover-background);flex-direction:column;justify-content:flex-end;inset:auto;z-index:var(--z-index);box-shadow:var(--sg-popover-box-shadow);color:var(--text-primary-color);padding:0;border:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--text-primary-color);--sg-border-color: var(--text-primary-color);border-radius:var(--sg-border-radius)}:host ul[role=listbox] [role=option]{padding:.75rem 1rem;line-height:1.25;cursor:pointer}:host ul[role=listbox] [role=option]:hover,:host ul[role=listbox] [role=option]:focus-visible{background-color:var(--grey-400)}:host ul[role=listbox] [role=option]:active{background-color:var(--grey-400)}:host ul[role=listbox] [role=option]:focus{outline-color:#000;outline-offset:-.25rem}:host ul[role=listbox] [role=option].active.sg-highlighted,:host ul[role=listbox] [role=option][aria-selected=true]{background:var(--grey-1000);color:#fff}:host .sg-fieldset-container{overflow-y:auto}:host .sg-fieldset-container fieldset[role=listbox][aria-multiselectable=true] [role=option]{display:flex;width:100%}:host .sg-fieldset-container fieldset[role=listbox][aria-multiselectable=true] [role=option].active.sg-highlighted input[type=checkbox]~i{border-color:#007ac7!important;box-shadow:0 0 .25em .0625em #41b0ee;outline-color:transparent;outline-style:solid}:host .gds-dropdown__options{padding-left:0;margin-bottom:0;margin-top:0;display:flex;flex-direction:column;list-style:none;display:none}:host .gds-dropdown__options>li{padding-bottom:.5rem;padding-top:.5rem;border:0;display:block;position:relative}:host .gds-dropdown__options>li:before{font-weight:500;display:inline-block;left:0;position:absolute;text-align:center}:host .gds-dropdown__options-expanded{display:block}:host .gds-dropdown__options__label:hover,:host .gds-dropdown__options__label:focus-visible{background-color:var(--grey-400)}:host .gds-dropdown__options__label:active{background-color:var(--grey-500)}:host .gds-dropdown__options__label:focus-visible{outline-color:#000;outline-offset:-.25rem}:host .gds-dropdown__options__label[aria-hidden=true]{display:none}:host .gds-dropdown__options__label[highlighted]{color:#fff}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.NgvTypeaheadHighlightComponent, selector: "nggv-typeahead-highlight", inputs: ["textContent", "textToHighlight"] }, { kind: "directive", type: i3.NgvTooltipDirective, selector: "[nggvTooltip]", inputs: ["nggvTooltip", "thook", "placement", "shown", "offset", "resizeThrottle", "maxWidth"], outputs: ["nggvShow", "nggvHide"] }, { kind: "directive", type: i4.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoLang", "translocoLoadingTpl"] }] }); }
210
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NgvDropdownListComponent, selector: "nggv-dropdown-list", inputs: { expanded: "expanded", state: "state", scrollOffset: "scrollOffset", optionContentTpl: "optionContentTpl", id: "id", thook: "thook", options: "options", textToHighlight: "textToHighlight" }, outputs: { selectedValueChanged: "selectedValueChanged", closed: "closed" }, host: { listeners: { "document:keydown": "onKeyDown($event)", "document:keyup": "onKeyUp($event)" }, properties: { "attr.id": "this.id", "attr.data-thook": "this.thook" } }, viewQueries: [{ propertyName: "optionRefs", predicate: ["optionRefs"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *transloco=\"let t; read: scope\">\n <ul\n class=\"gds-dropdown__options card options gds-reset\"\n [class.gds-dropdown__options-expanded]=\"expanded\"\n role=\"listbox\"\n tabindex=\"-1\"\n [attr.data-thook]=\"thook + '-options'\"\n [attr.aria-labelledby]=\"id + '-label'\"\n [attr.aria-activedescendant]=\"\n state ? id + '-option-' + state?.key : undefined\n \"\n >\n <ng-container *ngFor=\"let item of options\">\n <!-- OPTION -->\n <ng-container *ngIf=\"!isGroup(item)\">\n <ng-template\n *ngTemplateOutlet=\"listItemTemplate; context: { $implicit: item }\"\n ></ng-template>\n </ng-container>\n\n <!-- OPTION GROUP -->\n <li\n class=\"gds-dropdown__options__label group\"\n [attr.data-thook]=\"thook + '-option-group'\"\n *ngIf=\"isGroup(item)\"\n >\n <div class=\"sdv-list__label\">{{ t(item.label) }}</div>\n <ul [attr.aria-disabled]=\"item.disabled\">\n <ng-container *ngFor=\"let option of castGroup(item).options\">\n <ng-template\n *ngTemplateOutlet=\"\n listItemTemplate;\n context: { $implicit: option }\n \"\n ></ng-template>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n\n <!-- TEMPLATE -->\n <ng-template #listItemTemplate let-option>\n <li\n #optionRefs\n *ngIf=\"!optionContentTpl\"\n tabindex=\"-1\"\n [id]=\"id + '-option-' + option.key\"\n class=\"gds-dropdown__options__label option\"\n role=\"option\"\n #liElem\n [attr.data-thook]=\"thook + '-option-' + option.key\"\n [attr.aria-disabled]=\"option.disabled\"\n [attr.aria-selected]=\"\n option.key === selectedValue?.key && !!selectedValue?.key\n \"\n [attr.aria-focus]=\"option.key === state?.key && !option.disabled\"\n [nggvTooltip]=\"isOverflow(liElem) ? t(option.label) : undefined\"\n (click)=\"updateState(option, $event)\"\n >\n <ng-template\n *ngTemplateOutlet=\"\n basicOptionContentTpl;\n context: { $implicit: option }\n \"\n >\n </ng-template>\n </li>\n <!-- Checking overflow on custom templates do not work skip adding nggvToolTip if custom template is provided -->\n <li\n #optionRefs\n *ngIf=\"!!optionContentTpl\"\n tabindex=\"-1\"\n [id]=\"id + '-option-' + option.key\"\n class=\"gds-dropdown__options__label option\"\n role=\"option\"\n #liElem\n [attr.data-thook]=\"thook + '-option-' + option.key\"\n [attr.aria-disabled]=\"option.disabled\"\n [attr.aria-selected]=\"\n option.key === selectedValue?.key && !!selectedValue?.key\n \"\n [attr.aria-focus]=\"option.key === state?.key && !option.disabled\"\n (click)=\"updateState(option, $event)\"\n >\n <ng-template\n *ngTemplateOutlet=\"optionContentTpl; context: { $implicit: option }\"\n >\n </ng-template>\n </li>\n </ng-template>\n\n <ng-template #basicOptionContentTpl let-option>\n <nggv-typeahead-highlight\n *ngIf=\"!!textToHighlight\"\n [textToHighlight]=\"textToHighlight\"\n [textContent]=\"t(option.label)\"\n >\n </nggv-typeahead-highlight>\n <ng-container *ngIf=\"!textToHighlight\">\n {{ t(option.label) }}\n </ng-container>\n </ng-template>\n</ng-container>\n", styles: [":host{position:absolute;bottom:0;transform:translateY(calc(100% + .5rem));z-index:var(--sg-z-index-dropdown)}:host .hidden{visibility:hidden;display:none}:host ul[role=menu] [role=menuitem]{padding:.75rem;cursor:pointer}:host ul[role=menu] [role=menuitem]:hover,:host ul[role=menu] [role=menuitem]:focus-visible{background-color:var(--gds-ref-pallet-base200)}:host ul[role=menu] [role=menuitem]:active{background-color:var(--gds-ref-pallet-base300)}:host ul[role=menu] [role=menuitem]:focus{outline-color:#000;outline-offset:-.25rem}:host ul[role=listbox]{--z-index: var(--sg-z-index-popover);background-color:var(--sg-popover-background);flex-direction:column;justify-content:flex-end;inset:auto;z-index:var(--z-index);box-shadow:var(--sg-popover-box-shadow);color:var(--text-primary-color);padding:0;max-height:500px;overflow-y:auto;border:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--text-primary-color);--sg-border-color: var(--text-primary-color);border-radius:var(--sg-border-radius)}:host ul[role=listbox] [role=option]{padding:.75rem 1rem;line-height:1.25;cursor:pointer}:host ul[role=listbox] [role=option]:hover,:host ul[role=listbox] [role=option]:focus-visible{background-color:var(--grey-400)}:host ul[role=listbox] [role=option]:active{background-color:var(--grey-400)}:host ul[role=listbox] [role=option]:focus{outline-color:#000;outline-offset:-.25rem}:host ul[role=listbox] [role=option].active.sg-highlighted,:host ul[role=listbox] [role=option][aria-selected=true]{background:var(--grey-1000);color:#fff}:host ul[role=listbox] .group ul{list-style-type:none;padding:0}:host ul[role=listbox] .group:hover{color:inherit;background-color:inherit}:host .sg-fieldset-container{overflow-y:auto}:host .sg-fieldset-container fieldset[role=listbox][aria-multiselectable=true] [role=option]{display:flex;width:100%}:host .sg-fieldset-container fieldset[role=listbox][aria-multiselectable=true] [role=option].active.sg-highlighted input[type=checkbox]~i{border-color:#007ac7!important;box-shadow:0 0 .25em .0625em #41b0ee;outline-color:transparent;outline-style:solid}:host .gds-dropdown__options{padding-left:0;margin-bottom:0;margin-top:0;display:flex;flex-direction:column;list-style:none;display:none}:host .gds-dropdown__options>li{padding-bottom:.5rem;padding-top:.5rem;border:0;display:block;position:relative}:host .gds-dropdown__options>li:before{font-weight:500;display:inline-block;left:0;position:absolute;text-align:center}:host .gds-dropdown__options-expanded{display:block}:host .gds-dropdown__options__label:hover,:host .gds-dropdown__options__label:focus-visible,:host .gds-dropdown__options__label[aria-focus=true]{background-color:var(--grey-400)}:host .gds-dropdown__options__label:active{background-color:var(--grey-500)}:host .gds-dropdown__options__label:focus-visible{outline-color:#000;outline-offset:-.25rem}:host .gds-dropdown__options__label[aria-hidden=true]{display:none}:host .gds-dropdown__options__label[highlighted]{color:#fff}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.NgvTypeaheadHighlightComponent, selector: "nggv-typeahead-highlight", inputs: ["textContent", "textToHighlight"] }, { kind: "directive", type: i3.NgvTooltipDirective, selector: "[nggvTooltip]", inputs: ["nggvTooltip", "thook", "placement", "shown", "offset", "resizeThrottle", "maxWidth"], outputs: ["nggvShow", "nggvHide"] }, { kind: "directive", type: i4.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoLang", "translocoLoadingTpl"] }] }); }
211
211
  }
212
212
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvDropdownListComponent, decorators: [{
213
213
  type: Component,
214
- args: [{ selector: 'nggv-dropdown-list', template: "<ng-container *transloco=\"let t; read: scope\">\n <ul\n class=\"gds-dropdown__options card options gds-reset\"\n [class.gds-dropdown__options-expanded]=\"expanded\"\n role=\"listbox\"\n tabindex=\"-1\"\n [attr.data-thook]=\"thook + '-options'\"\n [attr.aria-labelledby]=\"id + '-label'\"\n [attr.aria-activedescendant]=\"\n state ? id + '-option-' + state?.key : undefined\n \"\n >\n <ng-container *ngFor=\"let item of options\">\n <!-- OPTION -->\n <ng-container *ngIf=\"!isGroup(item)\">\n <ng-template\n *ngTemplateOutlet=\"listItemTemplate; context: { $implicit: item }\"\n ></ng-template>\n </ng-container>\n\n <!-- OPTION GROUP -->\n <li\n class=\"gds-dropdown__options__label group\"\n [attr.data-thook]=\"thook + '-option-group'\"\n *ngIf=\"isGroup(item)\"\n >\n <div class=\"sdv-list__label\">{{ t(item.label) }}</div>\n <ul [attr.aria-disabled]=\"item.disabled\">\n <ng-container *ngFor=\"let option of castGroup(item).options\">\n <ng-template\n *ngTemplateOutlet=\"\n listItemTemplate;\n context: { $implicit: option }\n \"\n ></ng-template>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n\n <!-- TEMPLATE -->\n <ng-template #listItemTemplate let-option>\n <li\n #optionRefs\n *ngIf=\"!optionContentTpl\"\n tabindex=\"-1\"\n [id]=\"id + '-option-' + option.key\"\n class=\"gds-dropdown__options__label option\"\n role=\"option\"\n #liElem\n [attr.data-thook]=\"thook + '-option-' + option.key\"\n [attr.aria-disabled]=\"option.disabled\"\n [attr.aria-selected]=\"\n option.key === selectedValue?.key && !!selectedValue?.key\n \"\n [attr.aria-focus]=\"option.key === state?.key && !option.disabled\"\n [nggvTooltip]=\"isOverflow(liElem) ? t(option.label) : undefined\"\n (click)=\"updateState(option, $event)\"\n >\n <ng-template\n *ngTemplateOutlet=\"\n basicOptionContentTpl;\n context: { $implicit: option }\n \"\n >\n </ng-template>\n </li>\n <!-- Checking overflow on custom templates do not work skip adding nggvToolTip if custom template is provided -->\n <li\n #optionRefs\n *ngIf=\"!!optionContentTpl\"\n tabindex=\"-1\"\n [id]=\"id + '-option-' + option.key\"\n class=\"gds-dropdown__options__label option\"\n role=\"option\"\n #liElem\n [attr.data-thook]=\"thook + '-option-' + option.key\"\n [attr.aria-disabled]=\"option.disabled\"\n [attr.aria-selected]=\"\n option.key === selectedValue?.key && !!selectedValue?.key\n \"\n [attr.aria-focus]=\"option.key === state?.key && !option.disabled\"\n (click)=\"updateState(option, $event)\"\n >\n <ng-template\n *ngTemplateOutlet=\"optionContentTpl; context: { $implicit: option }\"\n >\n </ng-template>\n </li>\n </ng-template>\n\n <ng-template #basicOptionContentTpl let-option>\n <nggv-typeahead-highlight\n *ngIf=\"!!textToHighlight\"\n [textToHighlight]=\"textToHighlight\"\n [textContent]=\"t(option.label)\"\n >\n </nggv-typeahead-highlight>\n <ng-container *ngIf=\"!textToHighlight\">\n {{ t(option.label) }}\n </ng-container>\n </ng-template>\n</ng-container>\n", styles: [":host{position:absolute;bottom:0;transform:translateY(calc(100% + .5rem));--z-index: var(--sg-z-index-dropdown)}:host .hidden{visibility:hidden;display:none}:host ul[role=menu] [role=menuitem]{padding:.75rem;cursor:pointer}:host ul[role=menu] [role=menuitem]:hover,:host ul[role=menu] [role=menuitem]:focus-visible{background-color:var(--gds-ref-pallet-base200)}:host ul[role=menu] [role=menuitem]:active{background-color:var(--gds-ref-pallet-base300)}:host ul[role=menu] [role=menuitem]:focus{outline-color:#000;outline-offset:-.25rem}:host ul[role=listbox]{--z-index: var(--sg-z-index-popover);background-color:var(--sg-popover-background);flex-direction:column;justify-content:flex-end;inset:auto;z-index:var(--z-index);box-shadow:var(--sg-popover-box-shadow);color:var(--text-primary-color);padding:0;border:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--text-primary-color);--sg-border-color: var(--text-primary-color);border-radius:var(--sg-border-radius)}:host ul[role=listbox] [role=option]{padding:.75rem 1rem;line-height:1.25;cursor:pointer}:host ul[role=listbox] [role=option]:hover,:host ul[role=listbox] [role=option]:focus-visible{background-color:var(--grey-400)}:host ul[role=listbox] [role=option]:active{background-color:var(--grey-400)}:host ul[role=listbox] [role=option]:focus{outline-color:#000;outline-offset:-.25rem}:host ul[role=listbox] [role=option].active.sg-highlighted,:host ul[role=listbox] [role=option][aria-selected=true]{background:var(--grey-1000);color:#fff}:host .sg-fieldset-container{overflow-y:auto}:host .sg-fieldset-container fieldset[role=listbox][aria-multiselectable=true] [role=option]{display:flex;width:100%}:host .sg-fieldset-container fieldset[role=listbox][aria-multiselectable=true] [role=option].active.sg-highlighted input[type=checkbox]~i{border-color:#007ac7!important;box-shadow:0 0 .25em .0625em #41b0ee;outline-color:transparent;outline-style:solid}:host .gds-dropdown__options{padding-left:0;margin-bottom:0;margin-top:0;display:flex;flex-direction:column;list-style:none;display:none}:host .gds-dropdown__options>li{padding-bottom:.5rem;padding-top:.5rem;border:0;display:block;position:relative}:host .gds-dropdown__options>li:before{font-weight:500;display:inline-block;left:0;position:absolute;text-align:center}:host .gds-dropdown__options-expanded{display:block}:host .gds-dropdown__options__label:hover,:host .gds-dropdown__options__label:focus-visible{background-color:var(--grey-400)}:host .gds-dropdown__options__label:active{background-color:var(--grey-500)}:host .gds-dropdown__options__label:focus-visible{outline-color:#000;outline-offset:-.25rem}:host .gds-dropdown__options__label[aria-hidden=true]{display:none}:host .gds-dropdown__options__label[highlighted]{color:#fff}\n"] }]
214
+ args: [{ selector: 'nggv-dropdown-list', template: "<ng-container *transloco=\"let t; read: scope\">\n <ul\n class=\"gds-dropdown__options card options gds-reset\"\n [class.gds-dropdown__options-expanded]=\"expanded\"\n role=\"listbox\"\n tabindex=\"-1\"\n [attr.data-thook]=\"thook + '-options'\"\n [attr.aria-labelledby]=\"id + '-label'\"\n [attr.aria-activedescendant]=\"\n state ? id + '-option-' + state?.key : undefined\n \"\n >\n <ng-container *ngFor=\"let item of options\">\n <!-- OPTION -->\n <ng-container *ngIf=\"!isGroup(item)\">\n <ng-template\n *ngTemplateOutlet=\"listItemTemplate; context: { $implicit: item }\"\n ></ng-template>\n </ng-container>\n\n <!-- OPTION GROUP -->\n <li\n class=\"gds-dropdown__options__label group\"\n [attr.data-thook]=\"thook + '-option-group'\"\n *ngIf=\"isGroup(item)\"\n >\n <div class=\"sdv-list__label\">{{ t(item.label) }}</div>\n <ul [attr.aria-disabled]=\"item.disabled\">\n <ng-container *ngFor=\"let option of castGroup(item).options\">\n <ng-template\n *ngTemplateOutlet=\"\n listItemTemplate;\n context: { $implicit: option }\n \"\n ></ng-template>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n\n <!-- TEMPLATE -->\n <ng-template #listItemTemplate let-option>\n <li\n #optionRefs\n *ngIf=\"!optionContentTpl\"\n tabindex=\"-1\"\n [id]=\"id + '-option-' + option.key\"\n class=\"gds-dropdown__options__label option\"\n role=\"option\"\n #liElem\n [attr.data-thook]=\"thook + '-option-' + option.key\"\n [attr.aria-disabled]=\"option.disabled\"\n [attr.aria-selected]=\"\n option.key === selectedValue?.key && !!selectedValue?.key\n \"\n [attr.aria-focus]=\"option.key === state?.key && !option.disabled\"\n [nggvTooltip]=\"isOverflow(liElem) ? t(option.label) : undefined\"\n (click)=\"updateState(option, $event)\"\n >\n <ng-template\n *ngTemplateOutlet=\"\n basicOptionContentTpl;\n context: { $implicit: option }\n \"\n >\n </ng-template>\n </li>\n <!-- Checking overflow on custom templates do not work skip adding nggvToolTip if custom template is provided -->\n <li\n #optionRefs\n *ngIf=\"!!optionContentTpl\"\n tabindex=\"-1\"\n [id]=\"id + '-option-' + option.key\"\n class=\"gds-dropdown__options__label option\"\n role=\"option\"\n #liElem\n [attr.data-thook]=\"thook + '-option-' + option.key\"\n [attr.aria-disabled]=\"option.disabled\"\n [attr.aria-selected]=\"\n option.key === selectedValue?.key && !!selectedValue?.key\n \"\n [attr.aria-focus]=\"option.key === state?.key && !option.disabled\"\n (click)=\"updateState(option, $event)\"\n >\n <ng-template\n *ngTemplateOutlet=\"optionContentTpl; context: { $implicit: option }\"\n >\n </ng-template>\n </li>\n </ng-template>\n\n <ng-template #basicOptionContentTpl let-option>\n <nggv-typeahead-highlight\n *ngIf=\"!!textToHighlight\"\n [textToHighlight]=\"textToHighlight\"\n [textContent]=\"t(option.label)\"\n >\n </nggv-typeahead-highlight>\n <ng-container *ngIf=\"!textToHighlight\">\n {{ t(option.label) }}\n </ng-container>\n </ng-template>\n</ng-container>\n", styles: [":host{position:absolute;bottom:0;transform:translateY(calc(100% + .5rem));z-index:var(--sg-z-index-dropdown)}:host .hidden{visibility:hidden;display:none}:host ul[role=menu] [role=menuitem]{padding:.75rem;cursor:pointer}:host ul[role=menu] [role=menuitem]:hover,:host ul[role=menu] [role=menuitem]:focus-visible{background-color:var(--gds-ref-pallet-base200)}:host ul[role=menu] [role=menuitem]:active{background-color:var(--gds-ref-pallet-base300)}:host ul[role=menu] [role=menuitem]:focus{outline-color:#000;outline-offset:-.25rem}:host ul[role=listbox]{--z-index: var(--sg-z-index-popover);background-color:var(--sg-popover-background);flex-direction:column;justify-content:flex-end;inset:auto;z-index:var(--z-index);box-shadow:var(--sg-popover-box-shadow);color:var(--text-primary-color);padding:0;max-height:500px;overflow-y:auto;border:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--text-primary-color);--sg-border-color: var(--text-primary-color);border-radius:var(--sg-border-radius)}:host ul[role=listbox] [role=option]{padding:.75rem 1rem;line-height:1.25;cursor:pointer}:host ul[role=listbox] [role=option]:hover,:host ul[role=listbox] [role=option]:focus-visible{background-color:var(--grey-400)}:host ul[role=listbox] [role=option]:active{background-color:var(--grey-400)}:host ul[role=listbox] [role=option]:focus{outline-color:#000;outline-offset:-.25rem}:host ul[role=listbox] [role=option].active.sg-highlighted,:host ul[role=listbox] [role=option][aria-selected=true]{background:var(--grey-1000);color:#fff}:host ul[role=listbox] .group ul{list-style-type:none;padding:0}:host ul[role=listbox] .group:hover{color:inherit;background-color:inherit}:host .sg-fieldset-container{overflow-y:auto}:host .sg-fieldset-container fieldset[role=listbox][aria-multiselectable=true] [role=option]{display:flex;width:100%}:host .sg-fieldset-container fieldset[role=listbox][aria-multiselectable=true] [role=option].active.sg-highlighted input[type=checkbox]~i{border-color:#007ac7!important;box-shadow:0 0 .25em .0625em #41b0ee;outline-color:transparent;outline-style:solid}:host .gds-dropdown__options{padding-left:0;margin-bottom:0;margin-top:0;display:flex;flex-direction:column;list-style:none;display:none}:host .gds-dropdown__options>li{padding-bottom:.5rem;padding-top:.5rem;border:0;display:block;position:relative}:host .gds-dropdown__options>li:before{font-weight:500;display:inline-block;left:0;position:absolute;text-align:center}:host .gds-dropdown__options-expanded{display:block}:host .gds-dropdown__options__label:hover,:host .gds-dropdown__options__label:focus-visible,:host .gds-dropdown__options__label[aria-focus=true]{background-color:var(--grey-400)}:host .gds-dropdown__options__label:active{background-color:var(--grey-500)}:host .gds-dropdown__options__label:focus-visible{outline-color:#000;outline-offset:-.25rem}:host .gds-dropdown__options__label[aria-hidden=true]{display:none}:host .gds-dropdown__options__label[highlighted]{color:#fff}\n"] }]
215
215
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
216
216
  type: Optional
217
217
  }, {
@@ -253,4 +253,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
253
253
  type: HostListener,
254
254
  args: ['document:keyup', ['$event']]
255
255
  }] } });
256
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL3YtYW5ndWxhci9kcm9wZG93bi9kcm9wZG93bi1saXN0L2Ryb3Bkb3duLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvZHJvcGRvd24vZHJvcGRvd24tbGlzdC9kcm9wZG93bi1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUlOLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQTtBQUV0QixPQUFPLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQTtBQUM1QyxPQUFPLGNBQWMsTUFBTSw0QkFBNEIsQ0FBQTtBQUV2RCxPQUFPLEVBQUUsZUFBZSxFQUFrQixNQUFNLG1CQUFtQixDQUFBO0FBRW5FLE9BQU8sRUFDTCxhQUFhLEdBR2QsTUFBTSw0Q0FBNEMsQ0FBQTs7Ozs7O0FBT25ELE1BQU0sT0FBTyx3QkFBd0I7SUFDbkMsSUFBYSxRQUFRLENBQUMsS0FBYztRQUNsQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3pCLENBQUM7SUFDRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUE7SUFDdkIsQ0FBQztJQXlDRCxZQUdZLGNBQThCO1FBQTlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQXpDMUMsdUVBQXVFO1FBQzlELGlCQUFZLEdBQUcsRUFBRSxDQUFBO1FBUzFCLHlHQUF5RztRQUN4RSxPQUFFLEdBQUksTUFBYyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQTtRQUVw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QUdXLEtBQUs7c0JBQTdDLFdBQVc7dUJBQUMsaUJBQWlCOztzQkFBRyxLQUFLO2dCQUU3QixPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsZUFBZTtzQkFBdkIsS0FBSztnQkFFSSxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBRUcsTUFBTTtzQkFBZixNQUFNO2dCQWlJUCxTQUFTO3NCQURSLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBbUI1QyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcydcbmltcG9ydCBzY3JvbGxJbnRvVmlldyBmcm9tICdzY3JvbGwtaW50by12aWV3LWlmLW5lZWRlZCdcblxuaW1wb3J0IHsgVFJBTlNMT0NPX1NDT1BFLCBUcmFuc2xvY29TY29wZSB9IGZyb20gJ0BuZ25lYXQvdHJhbnNsb2NvJ1xuXG5pbXBvcnQge1xuICBEcm9wZG93blV0aWxzLFxuICBPcHRpb24sXG4gIE9wdGlvbkJhc2UsXG59IGZyb20gJ0BzZWJncm91cC9ncmVlbi1hbmd1bGFyL3NyYy92LWFuZ3VsYXIvY29yZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdndi1kcm9wZG93bi1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE5ndkRyb3Bkb3duTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgc2V0IGV4cGFuZGVkKHN0YXRlOiBib29sZWFuKSB7XG4gICAgdGhpcy5zZXRFeHBhbmRlZChzdGF0ZSlcbiAgfVxuICBnZXQgZXhwYW5kZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2V4cGFuZGVkXG4gIH1cbiAgQElucHV0KCkgc3RhdGU6IGFueVxuXG4gIC8qKiBUaGUgYWRkaXRpb25hbCBhbW91bnQgdG8gc2hvdyB3aGVuIG9wdGlvbiBpcyBzY3JvbGxlZCBpbnRvIHZpZXcuICovXG4gIEBJbnB1dCgpIHNjcm9sbE9mZnNldCA9IDI0XG5cbiAgQElucHV0KCkgb3B0aW9uQ29udGVudFRwbDogVGVtcGxhdGVSZWY8T3B0aW9uQmFzZTxhbnk+PiB8IHVuZGVmaW5lZFxuXG4gIC8qKiBAaW50ZXJuYWwgTGlzdCBvZiByZWZlcmVuY2VzIHRvIHRoZSBvcHRpb24gZWxlbWVudHMuICovXG4gIEBWaWV3Q2hpbGRyZW4oJ29wdGlvblJlZnMnKSBvcHRpb25SZWZzOlxuICAgIHwgUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTExJRWxlbWVudD4+XG4gICAgfCB1bmRlZmluZWRcblxuICAvKiogSWQgb2YgdGhlIGhvc3QgZWxlbWVudCBhbmQgaXMgYWNjZXNzaWJsZSBieSB0aGUgY2hpbGRyZW4sIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGlmIG5vdCBwcm92aWRlZC4gKi9cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJykgQElucHV0KCkgaWQgPSAod2luZG93IGFzIGFueSkubmdndj8ubmV4dElkKClcblxuICAvKiogU3BlY2lhbCBwcm9wZXJ0eSB1c2VkIGZvciBzZWxlY3RpbmcgRE9NIGVsZW1lbnRzIGR1cmluZyBhdXRvbWF0ZWQgVUkgdGVzdGluZy4gKi9cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtdGhvb2snKSBASW5wdXQoKSB0aG9vayA9ICdkcm9wZG93bidcblxuICBASW5wdXQoKSBvcHRpb25zITogYW55W11cblxuICBASW5wdXQoKSB0ZXh0VG9IaWdobGlnaHQ/OiBzdHJpbmdcblxuICBAT3V0cHV0KCkgc2VsZWN0ZWRWYWx1ZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKVxuXG4gIEBPdXRwdXQoKSBjbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KClcblxuICAvKiogVGhlIGN1cnJlbnQgYWN0aXZlIG9wdGlvbiBiYXNlZCBvbiBudW1lcmljIGluZGV4LiAqL1xuICBwdWJsaWMgYWN0aXZlSW5kZXggPSAtMVxuXG4gIHNjb3BlOiBzdHJpbmcgfCB1bmRlZmluZWRcblxuICBwcml2YXRlIGRyb3Bkb3duVXRpbHM6IERyb3Bkb3duVXRpbHM8c3RyaW5nIHwgbnVsbCwgc3RyaW5nLCBhbnk+ID1cbiAgICBuZXcgRHJvcGRvd25VdGlsczxzdHJpbmcgfCBudWxsLCBzdHJpbmcsIGFueT4oKVxuICBwcml2YXRlIF9leHBhbmRlZCA9IGZhbHNlXG4gIHByaXZhdGUgY2xvc2VkJCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KClcbiAgcHVibGljIHNlbGVjdGVkVmFsdWU/OiBPcHRpb248c3RyaW5nLCBhbnk+XG5cbiAgLyoqIFN1YnNjcmliZSBpZiBkcm9wZG93biBleHBhbmRlZCB0byBsaXN0ZW4gdG8gY2xpY2sgb3V0c2lkZSB0byBjbG9zZSBkcm9wZG93bi4gKi9cbiAgcHJvdGVjdGVkIG9uQ2xpY2tTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZFxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpXG4gICAgQEluamVjdChUUkFOU0xPQ09fU0NPUEUpXG4gICAgcHJvdGVjdGVkIHRyYW5zbG9jb1Njb3BlOiBUcmFuc2xvY29TY29wZSxcbiAgKSB7XG4gICAgaWYgKHRoaXMudHJhbnNsb2NvU2NvcGUpIHRoaXMuc2NvcGUgPSB0aGlzLnRyYW5zbG9jb1Njb3BlLnRvU3RyaW5nKClcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlKVxuICAgICAgdGhpcy5hY3RpdmVJbmRleCA9IHRoaXMub3B0aW9ucy5maW5kSW5kZXgoXG4gICAgICAgIChvcHRpb24pID0+IG9wdGlvbi5rZXkgPT09IHRoaXMuc3RhdGUua2V5LFxuICAgICAgKVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICghIWNoYW5nZXMuc3RhdGUgJiYgIWNoYW5nZXMuc3RhdGUuZmlyc3RDaGFuZ2UpXG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBjaGFuZ2VzLnN0YXRlLmN1cnJlbnRWYWx1ZVxuICAgIGlmICghIWNoYW5nZXMub3B0aW9ucz8uY3VycmVudFZhbHVlPy5sZW5ndGggJiYgdGhpcy5leHBhbmRlZClcbiAgICAgIHRoaXMucmVmcmVzaFNlbGVjdGVkT3B0aW9uKClcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgYXJndW1lbnQgaXMgYW4ge0BsaW5rIE9wdGlvbkdyb3VwfS5cbiAgICogQHBhcmFtIG9wdGlvbiB0aGUgb2JqZWN0IHRvIGNoZWNrLlxuICAgKi9cbiAgaXNHcm91cChvcHRpb246IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAnb3B0aW9ucycgaW4gb3B0aW9uXG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIHVwZGF0ZVN0YXRlKG9wdGlvbjogYW55LCBldmVudDogRXZlbnQpIHtcbiAgICBpZiAob3B0aW9uLmRpc2FibGVkKSByZXR1cm5cblxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IG9wdGlvblxuICAgIHRoaXMuc3RhdGUgPSBvcHRpb25cbiAgICB0aGlzLnNlbGVjdGVkVmFsdWVDaGFuZ2VkLmVtaXQob3B0aW9uKVxuICAgIHRoaXMuc2V0RXhwYW5kZWQoZmFsc2UpXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHNldEV4cGFuZGVkKGV4cGFuZGVkID0gdHJ1ZSkge1xuICAgIC8vIHVwZGF0ZSBleHBhbmRlZCBzdGF0ZVxuICAgIHRoaXMuX2V4cGFuZGVkID0gZXhwYW5kZWRcblxuICAgIGlmIChleHBhbmRlZCkgdGhpcy5yZWZyZXNoU2VsZWN0ZWRPcHRpb24oKVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5jbG9zZWQkLm5leHQodHJ1ZSlcbiAgICAgIHRoaXMub25DbGlja1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHJlZnJlc2hTZWxlY3RlZE9wdGlvbigpIHtcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5kcm9wZG93blV0aWxzLmZsYXR0ZW5PcHRpb25zKFxuICAgICAgdGhpcy5vcHRpb25zLFxuICAgICAgIXRoaXMub3B0aW9uQ29udGVudFRwbCxcbiAgICApXG4gICAgdGhpcy5hY3RpdmVJbmRleCA9IHRoaXMuZ2V0QWN0aXZlSW5kZXgoKVxuICAgIHRoaXMuc3RhdGUgPSBvcHRpb25zW3RoaXMuYWN0aXZlSW5kZXhdXG4gICAgdGhpcy5zY3JvbGxUb1Jlc3VsdCh0aGlzLnN0YXRlKVxuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKiBAcmV0dXJucyBUaGUgYWN0aXZlIGluZGV4IChudW1iZXIpIGlmIG9wdGlvbiBpcyBmb3VuZCwgLTEgb3RoZXJ3aXNlLlxuICAgKiAtIElmIGEgc2VsZWN0ZWRWYWx1ZSBleGlzdHMgdGhhdCdzIG5vdCBudWxsaXNoIGFuZCB0aGF0IG9wdGlvbnMgaXMgZm91bmQsIHJldHVybiB0aGF0IGluZGV4XG4gICAqIC0gRWxzZSwgcmV0dXJuIGZpcnN0IG5vbiBudWxsaXNoIGluZGV4XG4gICAqIC0gSWYgbm9uZSBvZiB0aGUgYWJvdmUgY3JpdGVyaWFzIGFyZSBtZXQsIC0xIGFyZSByZXR1cm5lZFxuICAgKi9cbiAgZ2V0QWN0aXZlSW5kZXgoKTogbnVtYmVyIHtcbiAgICBpZiAoISF0aGlzLnNlbGVjdGVkVmFsdWUgJiYgdGhpcy5zZWxlY3RlZFZhbHVlPy5rZXkgIT0gbnVsbCkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRJbmRleCA9IHRoaXMuZHJvcGRvd25VdGlsc1xuICAgICAgICAuZmxhdHRlbk9wdGlvbnModGhpcy5vcHRpb25zLCAhdGhpcy5vcHRpb25Db250ZW50VHBsKVxuICAgICAgICAuZmluZEluZGV4KFxuICAgICAgICAgIChvcHRpb24pID0+XG4gICAgICAgICAgICBvcHRpb24ua2V5ICE9IG51bGwgJiYgb3B0aW9uLmtleSA9PT0gdGhpcy5zZWxlY3RlZFZhbHVlPy5rZXksXG4gICAgICAgIClcbiAgICAgIGlmIChzZWxlY3RlZEluZGV4ID4gLTEpIHJldHVybiBzZWxlY3RlZEluZGV4XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmRyb3Bkb3duVXRpbHNcbiAgICAgIC5mbGF0dGVuT3B0aW9ucyh0aGlzLm9wdGlvbnMsICF0aGlzLm9wdGlvbkNvbnRlbnRUcGwpXG4gICAgICAuZmluZEluZGV4KChvcHRpb24pID0+IG9wdGlvbi5rZXkgIT0gbnVsbClcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICogZXZhbHVhdGVzIHdldGhlciB0aGUgSFRNTCBlbGVtZW50IG92ZXJmbG93c1xuICAgKiBAcGFyYW0gZWxlbSBUaGUgSFRNTEVsZW1lbnQgdG8gZXZhbHVhdGVcbiAgICogKi9cbiAgaXNPdmVyZmxvdyhlbGVtOiBIVE1MRWxlbWVudCkge1xuICAgIHJldHVybiBlbGVtLm9mZnNldFdpZHRoIDwgZWxlbS5zY3JvbGxXaWR0aFxuICB9XG5cbiAgLyoqXG4gICAqIFR5cGVjYXN0IGFueXRoaW5nIHRvIGFuIHtAbGluayBPcHRpb25Hcm91cH0uXG4gICAqIEBwYXJhbSBncm91cCB0aGUgb2JqZWN0IHRvIHR5cGVjYXN0LlxuICAgKi9cbiAgY2FzdEdyb3VwKGdyb3VwOiBhbnkpOiBhbnkge1xuICAgIHJldHVybiBncm91cFxuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKiBEaXNhYmxlcyBkZWZhdWx0IGV2ZW50cy5cbiAgICogQHBhcmFtIGV2ZW50IGZpcmVkIGNvbnRhaW5pbmcgd2hpY2gga2V5IHdhcyBwcmVzc2VkLlxuICAgKi9cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdFbnRlcic6IC8vICBEaXNhYmxlIGZvcm0gc3VibWlzc2lvblxuICAgICAgY2FzZSAnQXJyb3dVcCc6IC8vIERpc2FibGUgc2Nyb2xsaW5nIHVwXG4gICAgICBjYXNlICdBcnJvd0Rvd24nOiAvLyBEaXNhYmxlIHNjcm9sbGluZyBkb3duXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIEVudGVyIHRvZ2dsZXMgdGhlIGRyb3Bkb3duLCBob21lLCBlbmQsIGFuZCwgYXJyb3dzIGNoYW5nZSB0aGUgaW5kZXguXG4gICAqIEBwYXJhbSBldmVudCBmaXJlZCBjb250YWluaW5nIHdoaWNoIGtleSB3YXMgcmVsZWFzZWQuXG4gICAqL1xuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXl1cCcsIFsnJGV2ZW50J10pXG4gIG9uS2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMuZXhwYW5kZWQpIHJldHVyblxuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmRyb3Bkb3duVXRpbHMuZmxhdHRlbk9wdGlvbnMoXG4gICAgICB0aGlzLm9wdGlvbnMsXG4gICAgICAhdGhpcy5vcHRpb25Db250ZW50VHBsLFxuICAgIClcbiAgICBsZXQgb3B0aW9uXG5cbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnRXNjYXBlJzpcbiAgICAgICAgdGhpcy5zZXRFeHBhbmRlZChmYWxzZSlcbiAgICAgICAgdGhpcy5jbG9zZWQuZW1pdCgpXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdFbnRlcic6IC8vIFNlbGVjdCB0aGUgY3VycmVudGx5IGNob3NlbiB2YWx1ZVxuICAgICAgICBvcHRpb24gPSBvcHRpb25zW3RoaXMuYWN0aXZlSW5kZXhdXG4gICAgICAgIHRoaXMudXBkYXRlU3RhdGUob3B0aW9uLCBldmVudClcbiAgICAgICAgYnJlYWtcblxuICAgICAgY2FzZSAnSG9tZSc6IC8vIE1vdmUgdG8gdGhlIGZpcnN0IG9wdGlvblxuICAgICAgICB0aGlzLmFjdGl2ZUluZGV4ID0gMFxuXG4gICAgICAgIG9wdGlvbiA9IG9wdGlvbnNbdGhpcy5hY3RpdmVJbmRleF1cbiAgICAgICAgdGhpcy5zdGF0ZSA9IG9wdGlvblxuICAgICAgICB0aGlzLnNjcm9sbFRvUmVzdWx0KG9wdGlvbilcbiAgICAgICAgYnJlYWtcblxuICAgICAgY2FzZSAnQXJyb3dVcCc6IC8vIE1vdmUgdXAgb25lIHN0ZXAgdG8gdGhlIHByZXZpb3VzIG9wdGlvblxuICAgICAgICBpZiAodGhpcy5hY3RpdmVJbmRleCA+IDApIHRoaXMuYWN0aXZlSW5kZXgtLVxuICAgICAgICBlbHNlIGlmICh0aGlzLmFjdGl2ZUluZGV4ID09PSAwKSB0aGlzLmFjdGl2ZUluZGV4ID0gb3B0aW9ucy5sZW5ndGggLSAxXG5cbiAgICAgICAgb3B0aW9uID0gb3B0aW9uc1t0aGlzLmFjdGl2ZUluZGV4XVxuICAgICAgICB0aGlzLnN0YXRlID0gb3B0aW9uXG4gICAgICAgIHRoaXMuc2Nyb2xsVG9SZXN1bHQob3B0aW9uKVxuICAgICAgICBicmVha1xuXG4gICAgICBjYXNlICdBcnJvd0Rvd24nOiAvLyBNb3ZlIGRvd24gb25lIHN0ZXAgdG8gdGhlIG5leHQgb3B0aW9uXG4gICAgICAgIGlmIChvcHRpb25zLmxlbmd0aCA+IHRoaXMuYWN0aXZlSW5kZXggKyAxKSB0aGlzLmFjdGl2ZUluZGV4KytcbiAgICAgICAgZWxzZSBpZiAodGhpcy5hY3RpdmVJbmRleCA9PT0gb3B0aW9ucy5sZW5ndGggLSAxKSB0aGlzLmFjdGl2ZUluZGV4ID0gMFxuXG4gICAgICAgIG9wdGlvbiA9IG9wdGlvbnNbdGhpcy5hY3RpdmVJbmRleF1cbiAgICAgICAgdGhpcy5zdGF0ZSA9IG9wdGlvblxuICAgICAgICB0aGlzLnNjcm9sbFRvUmVzdWx0KG9wdGlvbilcbiAgICAgICAgYnJlYWtcblxuICAgICAgY2FzZSAnRW5kJzogLy8gTW92ZSB0byB0aGUgbGFzdCBvcHRpb25zXG4gICAgICAgIHRoaXMuYWN0aXZlSW5kZXggPSBvcHRpb25zLmxlbmd0aCAtIDFcblxuICAgICAgICBvcHRpb24gPSBvcHRpb25zW3RoaXMuYWN0aXZlSW5kZXhdXG4gICAgICAgIHRoaXMuc3RhdGUgPSBvcHRpb25cbiAgICAgICAgdGhpcy5zY3JvbGxUb1Jlc3VsdChvcHRpb24pXG4gICAgICAgIGJyZWFrXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNjcm9sbHMgZm9jdXNlZCByZXN1bHQgaW50byB2aWV3IHdpdGggYSBzcGVjaWZpZWQgb2Zmc2V0LlxuICAgKiBAcGFyYW0ga2V5IHRoZSByZXN1bHQgaW5kZXggd2hpY2ggdG8gc2Nyb2xsIHRvLlxuICAgKi9cbiAgc2Nyb2xsVG9SZXN1bHQob3B0aW9uOiBhbnkpIHtcbiAgICBpZiAoIXRoaXMub3B0aW9uUmVmcyB8fCAhb3B0aW9uKSByZXR1cm5cbiAgICBjb25zdCBvcHRpb25SZWYgPSB0aGlzLm9wdGlvblJlZnMuZmluZChcbiAgICAgIChsaSkgPT4gbGkubmF0aXZlRWxlbWVudC5pZCA9PT0gdGhpcy5pZCArICctb3B0aW9uLScgKyBvcHRpb24ua2V5LFxuICAgIClcbiAgICBjb25zdCBvZmZzZXQgPSB0aGlzLnNjcm9sbE9mZnNldFxuICAgIGlmIChvcHRpb25SZWYpIHtcbiAgICAgIGxldCBkZWx0YSA9IHdpbmRvdy5zY3JvbGxZIHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3BcblxuICAgICAgLy8gVGhlIGxpc3Qgc2VlbXMgbm90IHRvIGJlIHZpc2libGUgYXQgdGhlIHRpbWUgb2Ygc2Nyb2xsaW5nLCBidXQgdGhpcyBzZXRUaW1lb3V0IFwiaGFja1wiIG1ha2VzIGl0IHdvcmsuLi5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBzY3JvbGxJbnRvVmlldyhvcHRpb25SZWYubmF0aXZlRWxlbWVudCwge1xuICAgICAgICAgIHNjcm9sbE1vZGU6ICdpZi1uZWVkZWQnLFxuICAgICAgICAgIGJsb2NrOiAnbmVhcmVzdCcsXG4gICAgICAgIH0pXG5cbiAgICAgICAgZGVsdGEgLT0gd2luZG93LnNjcm9sbFkgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcFxuICAgICAgICBpZiAoZGVsdGEpIHdpbmRvdy5zY3JvbGxCeSgwLCBkZWx0YSA+IDAgPyAtb2Zmc2V0IDogb2Zmc2V0KVxuICAgICAgfSwgMClcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKnRyYW5zbG9jbz1cImxldCB0OyByZWFkOiBzY29wZVwiPlxuICA8dWxcbiAgICBjbGFzcz1cImdkcy1kcm9wZG93bl9fb3B0aW9ucyBjYXJkIG9wdGlvbnMgZ2RzLXJlc2V0XCJcbiAgICBbY2xhc3MuZ2RzLWRyb3Bkb3duX19vcHRpb25zLWV4cGFuZGVkXT1cImV4cGFuZGVkXCJcbiAgICByb2xlPVwibGlzdGJveFwiXG4gICAgdGFiaW5kZXg9XCItMVwiXG4gICAgW2F0dHIuZGF0YS10aG9va109XCJ0aG9vayArICctb3B0aW9ucydcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJpZCArICctbGFiZWwnXCJcbiAgICBbYXR0ci5hcmlhLWFjdGl2ZWRlc2NlbmRhbnRdPVwiXG4gICAgICBzdGF0ZSA/IGlkICsgJy1vcHRpb24tJyArIHN0YXRlPy5rZXkgOiB1bmRlZmluZWRcbiAgICBcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBvcHRpb25zXCI+XG4gICAgICA8IS0tIE9QVElPTiAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNHcm91cChpdGVtKVwiPlxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImxpc3RJdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIlxuICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8IS0tIE9QVElPTiBHUk9VUCAtLT5cbiAgICAgIDxsaVxuICAgICAgICBjbGFzcz1cImdkcy1kcm9wZG93bl9fb3B0aW9uc19fbGFiZWwgZ3JvdXBcIlxuICAgICAgICBbYXR0ci5kYXRhLXRob29rXT1cInRob29rICsgJy1vcHRpb24tZ3JvdXAnXCJcbiAgICAgICAgKm5nSWY9XCJpc0dyb3VwKGl0ZW0pXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNkdi1saXN0X19sYWJlbFwiPnt7IHQoaXRlbS5sYWJlbCkgfX08L2Rpdj5cbiAgICAgICAgPHVsIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBjYXN0R3JvdXAoaXRlbSkub3B0aW9uc1wiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgbGlzdEl0ZW1UZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogb3B0aW9uIH1cbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3VsPlxuICAgICAgPC9saT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC91bD5cblxuICA8IS0tIFRFTVBMQVRFIC0tPlxuICA8bmctdGVtcGxhdGUgI2xpc3RJdGVtVGVtcGxhdGUgbGV0LW9wdGlvbj5cbiAgICA8bGlcbiAgICAgICNvcHRpb25SZWZzXG4gICAgICAqbmdJZj1cIiFvcHRpb25Db250ZW50VHBsXCJcbiAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgW2lkXT1cImlkICsgJy1vcHRpb24tJyArIG9wdGlvbi5rZXlcIlxuICAgICAgY2xhc3M9XCJnZHMtZHJvcGRvd25fX29wdGlvbnNfX2xhYmVsIG9wdGlvblwiXG4gICAgICByb2xlPVwib3B0aW9uXCJcbiAgICAgICNsaUVsZW1cbiAgICAgIFthdHRyLmRhdGEtdGhvb2tdPVwidGhvb2sgKyAnLW9wdGlvbi0nICsgb3B0aW9uLmtleVwiXG4gICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cIm9wdGlvbi5kaXNhYmxlZFwiXG4gICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cIlxuICAgICAgICBvcHRpb24ua2V5ID09PSBzZWxlY3RlZFZhbHVlPy5rZXkgJiYgISFzZWxlY3RlZFZhbHVlPy5rZXlcbiAgICAgIFwiXG4gICAgICBbYXR0ci5hcmlhLWZvY3VzXT1cIm9wdGlvbi5rZXkgPT09IHN0YXRlPy5rZXkgJiYgIW9wdGlvbi5kaXNhYmxlZFwiXG4gICAgICBbbmdndlRvb2x0aXBdPVwiaXNPdmVyZmxvdyhsaUVsZW0pID8gdChvcHRpb24ubGFiZWwpIDogdW5kZWZpbmVkXCJcbiAgICAgIChjbGljayk9XCJ1cGRhdGVTdGF0ZShvcHRpb24sICRldmVudClcIlxuICAgID5cbiAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgIGJhc2ljT3B0aW9uQ29udGVudFRwbDtcbiAgICAgICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogb3B0aW9uIH1cbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9saT5cbiAgICA8IS0tIENoZWNraW5nIG92ZXJmbG93IG9uIGN1c3RvbSB0ZW1wbGF0ZXMgZG8gbm90IHdvcmsgc2tpcCBhZGRpbmcgbmdndlRvb2xUaXAgaWYgY3VzdG9tIHRlbXBsYXRlIGlzIHByb3ZpZGVkIC0tPlxuICAgIDxsaVxuICAgICAgI29wdGlvblJlZnNcbiAgICAgICpuZ0lmPVwiISFvcHRpb25Db250ZW50VHBsXCJcbiAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgW2lkXT1cImlkICsgJy1vcHRpb24tJyArIG9wdGlvbi5rZXlcIlxuICAgICAgY2xhc3M9XCJnZHMtZHJvcGRvd25fX29wdGlvbnNfX2xhYmVsIG9wdGlvblwiXG4gICAgICByb2xlPVwib3B0aW9uXCJcbiAgICAgICNsaUVsZW1cbiAgICAgIFthdHRyLmRhdGEtdGhvb2tdPVwidGhvb2sgKyAnLW9wdGlvbi0nICsgb3B0aW9uLmtleVwiXG4gICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cIm9wdGlvbi5kaXNhYmxlZFwiXG4gICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cIlxuICAgICAgICBvcHRpb24ua2V5ID09PSBzZWxlY3RlZFZhbHVlPy5rZXkgJiYgISFzZWxlY3RlZFZhbHVlPy5rZXlcbiAgICAgIFwiXG4gICAgICBbYXR0ci5hcmlhLWZvY3VzXT1cIm9wdGlvbi5rZXkgPT09IHN0YXRlPy5rZXkgJiYgIW9wdGlvbi5kaXNhYmxlZFwiXG4gICAgICAoY2xpY2spPVwidXBkYXRlU3RhdGUob3B0aW9uLCAkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJvcHRpb25Db250ZW50VHBsOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogb3B0aW9uIH1cIlxuICAgICAgPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2xpPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxuZy10ZW1wbGF0ZSAjYmFzaWNPcHRpb25Db250ZW50VHBsIGxldC1vcHRpb24+XG4gICAgPG5nZ3YtdHlwZWFoZWFkLWhpZ2hsaWdodFxuICAgICAgKm5nSWY9XCIhIXRleHRUb0hpZ2hsaWdodFwiXG4gICAgICBbdGV4dFRvSGlnaGxpZ2h0XT1cInRleHRUb0hpZ2hsaWdodFwiXG4gICAgICBbdGV4dENvbnRlbnRdPVwidChvcHRpb24ubGFiZWwpXCJcbiAgICA+XG4gICAgPC9uZ2d2LXR5cGVhaGVhZC1oaWdobGlnaHQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF0ZXh0VG9IaWdobGlnaHRcIj5cbiAgICAgIHt7IHQob3B0aW9uLmxhYmVsKSB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
256
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL3YtYW5ndWxhci9kcm9wZG93bi9kcm9wZG93bi1saXN0L2Ryb3Bkb3duLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvZHJvcGRvd24vZHJvcGRvd24tbGlzdC9kcm9wZG93bi1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUlOLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsZUFBZSxFQUFrQixNQUFNLG1CQUFtQixDQUFBO0FBQ25FLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFBO0FBQzVDLE9BQU8sY0FBYyxNQUFNLDRCQUE0QixDQUFBO0FBRXZELE9BQU8sRUFDTCxhQUFhLEdBR2QsTUFBTSw0Q0FBNEMsQ0FBQTs7Ozs7O0FBT25ELE1BQU0sT0FBTyx3QkFBd0I7SUFDbkMsSUFBYSxRQUFRLENBQUMsS0FBYztRQUNsQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3pCLENBQUM7SUFDRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUE7SUFDdkIsQ0FBQztJQXlDRCxZQUdZLGNBQThCO1FBQTlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQXpDMUMsdUVBQXVFO1FBQzlELGlCQUFZLEdBQUcsRUFBRSxDQUFBO1FBUzFCLHlHQUF5RztRQUN4RSxPQUFFLEdBQUksTUFBYyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQTtRQUVw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QUdXLEtBQUs7c0JBQTdDLFdBQVc7dUJBQUMsaUJBQWlCOztzQkFBRyxLQUFLO2dCQUU3QixPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsZUFBZTtzQkFBdkIsS0FBSztnQkFFSSxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBRUcsTUFBTTtzQkFBZixNQUFNO2dCQWlJUCxTQUFTO3NCQURSLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBbUI1QyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFRSQU5TTE9DT19TQ09QRSwgVHJhbnNsb2NvU2NvcGUgfSBmcm9tICdAbmduZWF0L3RyYW5zbG9jbydcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnXG5pbXBvcnQgc2Nyb2xsSW50b1ZpZXcgZnJvbSAnc2Nyb2xsLWludG8tdmlldy1pZi1uZWVkZWQnXG5cbmltcG9ydCB7XG4gIERyb3Bkb3duVXRpbHMsXG4gIE9wdGlvbixcbiAgT3B0aW9uQmFzZSxcbn0gZnJvbSAnQHNlYmdyb3VwL2dyZWVuLWFuZ3VsYXIvc3JjL3YtYW5ndWxhci9jb3JlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ2d2LWRyb3Bkb3duLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24tbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Ryb3Bkb3duLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd2RHJvcGRvd25MaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBzZXQgZXhwYW5kZWQoc3RhdGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnNldEV4cGFuZGVkKHN0YXRlKVxuICB9XG4gIGdldCBleHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZXhwYW5kZWRcbiAgfVxuICBASW5wdXQoKSBzdGF0ZTogYW55XG5cbiAgLyoqIFRoZSBhZGRpdGlvbmFsIGFtb3VudCB0byBzaG93IHdoZW4gb3B0aW9uIGlzIHNjcm9sbGVkIGludG8gdmlldy4gKi9cbiAgQElucHV0KCkgc2Nyb2xsT2Zmc2V0ID0gMjRcblxuICBASW5wdXQoKSBvcHRpb25Db250ZW50VHBsOiBUZW1wbGF0ZVJlZjxPcHRpb25CYXNlPGFueT4+IHwgdW5kZWZpbmVkXG5cbiAgLyoqIEBpbnRlcm5hbCBMaXN0IG9mIHJlZmVyZW5jZXMgdG8gdGhlIG9wdGlvbiBlbGVtZW50cy4gKi9cbiAgQFZpZXdDaGlsZHJlbignb3B0aW9uUmVmcycpIG9wdGlvblJlZnM6XG4gICAgfCBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MTElFbGVtZW50Pj5cbiAgICB8IHVuZGVmaW5lZFxuXG4gIC8qKiBJZCBvZiB0aGUgaG9zdCBlbGVtZW50IGFuZCBpcyBhY2Nlc3NpYmxlIGJ5IHRoZSBjaGlsZHJlbiwgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgaWYgbm90IHByb3ZpZGVkLiAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKSBASW5wdXQoKSBpZCA9ICh3aW5kb3cgYXMgYW55KS5uZ2d2Py5uZXh0SWQoKVxuXG4gIC8qKiBTcGVjaWFsIHByb3BlcnR5IHVzZWQgZm9yIHNlbGVjdGluZyBET00gZWxlbWVudHMgZHVyaW5nIGF1dG9tYXRlZCBVSSB0ZXN0aW5nLiAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS10aG9vaycpIEBJbnB1dCgpIHRob29rID0gJ2Ryb3Bkb3duJ1xuXG4gIEBJbnB1dCgpIG9wdGlvbnMhOiBhbnlbXVxuXG4gIEBJbnB1dCgpIHRleHRUb0hpZ2hsaWdodD86IHN0cmluZ1xuXG4gIEBPdXRwdXQoKSBzZWxlY3RlZFZhbHVlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXG5cbiAgQE91dHB1dCgpIGNsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKVxuXG4gIC8qKiBUaGUgY3VycmVudCBhY3RpdmUgb3B0aW9uIGJhc2VkIG9uIG51bWVyaWMgaW5kZXguICovXG4gIHB1YmxpYyBhY3RpdmVJbmRleCA9IC0xXG5cbiAgc2NvcGU6IHN0cmluZyB8IHVuZGVmaW5lZFxuXG4gIHByaXZhdGUgZHJvcGRvd25VdGlsczogRHJvcGRvd25VdGlsczxzdHJpbmcgfCBudWxsLCBzdHJpbmcsIGFueT4gPVxuICAgIG5ldyBEcm9wZG93blV0aWxzPHN0cmluZyB8IG51bGwsIHN0cmluZywgYW55PigpXG4gIHByaXZhdGUgX2V4cGFuZGVkID0gZmFsc2VcbiAgcHJpdmF0ZSBjbG9zZWQkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKVxuICBwdWJsaWMgc2VsZWN0ZWRWYWx1ZT86IE9wdGlvbjxzdHJpbmcsIGFueT5cblxuICAvKiogU3Vic2NyaWJlIGlmIGRyb3Bkb3duIGV4cGFuZGVkIHRvIGxpc3RlbiB0byBjbGljayBvdXRzaWRlIHRvIGNsb3NlIGRyb3Bkb3duLiAqL1xuICBwcm90ZWN0ZWQgb25DbGlja1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkXG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KFRSQU5TTE9DT19TQ09QRSlcbiAgICBwcm90ZWN0ZWQgdHJhbnNsb2NvU2NvcGU6IFRyYW5zbG9jb1Njb3BlLFxuICApIHtcbiAgICBpZiAodGhpcy50cmFuc2xvY29TY29wZSkgdGhpcy5zY29wZSA9IHRoaXMudHJhbnNsb2NvU2NvcGUudG9TdHJpbmcoKVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUpXG4gICAgICB0aGlzLmFjdGl2ZUluZGV4ID0gdGhpcy5vcHRpb25zLmZpbmRJbmRleChcbiAgICAgICAgKG9wdGlvbikgPT4gb3B0aW9uLmtleSA9PT0gdGhpcy5zdGF0ZS5rZXksXG4gICAgICApXG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCEhY2hhbmdlcy5zdGF0ZSAmJiAhY2hhbmdlcy5zdGF0ZS5maXJzdENoYW5nZSlcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IGNoYW5nZXMuc3RhdGUuY3VycmVudFZhbHVlXG4gICAgaWYgKCEhY2hhbmdlcy5vcHRpb25zPy5jdXJyZW50VmFsdWU/Lmxlbmd0aCAmJiB0aGlzLmV4cGFuZGVkKVxuICAgICAgdGhpcy5yZWZyZXNoU2VsZWN0ZWRPcHRpb24oKVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiBhcmd1bWVudCBpcyBhbiB7QGxpbmsgT3B0aW9uR3JvdXB9LlxuICAgKiBAcGFyYW0gb3B0aW9uIHRoZSBvYmplY3QgdG8gY2hlY2suXG4gICAqL1xuICBpc0dyb3VwKG9wdGlvbjogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICdvcHRpb25zJyBpbiBvcHRpb25cbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgdXBkYXRlU3RhdGUob3B0aW9uOiBhbnksIGV2ZW50OiBFdmVudCkge1xuICAgIGlmIChvcHRpb24uZGlzYWJsZWQpIHJldHVyblxuXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gb3B0aW9uXG4gICAgdGhpcy5zdGF0ZSA9IG9wdGlvblxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZUNoYW5nZWQuZW1pdChvcHRpb24pXG4gICAgdGhpcy5zZXRFeHBhbmRlZChmYWxzZSlcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgc2V0RXhwYW5kZWQoZXhwYW5kZWQgPSB0cnVlKSB7XG4gICAgLy8gdXBkYXRlIGV4cGFuZGVkIHN0YXRlXG4gICAgdGhpcy5fZXhwYW5kZWQgPSBleHBhbmRlZFxuXG4gICAgaWYgKGV4cGFuZGVkKSB0aGlzLnJlZnJlc2hTZWxlY3RlZE9wdGlvbigpXG4gICAgZWxzZSB7XG4gICAgICB0aGlzLmNsb3NlZCQubmV4dCh0cnVlKVxuICAgICAgdGhpcy5vbkNsaWNrU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcmVmcmVzaFNlbGVjdGVkT3B0aW9uKCkge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmRyb3Bkb3duVXRpbHMuZmxhdHRlbk9wdGlvbnMoXG4gICAgICB0aGlzLm9wdGlvbnMsXG4gICAgICAhdGhpcy5vcHRpb25Db250ZW50VHBsLFxuICAgIClcbiAgICB0aGlzLmFjdGl2ZUluZGV4ID0gdGhpcy5nZXRBY3RpdmVJbmRleCgpXG4gICAgdGhpcy5zdGF0ZSA9IG9wdGlvbnNbdGhpcy5hY3RpdmVJbmRleF1cbiAgICB0aGlzLnNjcm9sbFRvUmVzdWx0KHRoaXMuc3RhdGUpXG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIEByZXR1cm5zIFRoZSBhY3RpdmUgaW5kZXggKG51bWJlcikgaWYgb3B0aW9uIGlzIGZvdW5kLCAtMSBvdGhlcndpc2UuXG4gICAqIC0gSWYgYSBzZWxlY3RlZFZhbHVlIGV4aXN0cyB0aGF0J3Mgbm90IG51bGxpc2ggYW5kIHRoYXQgb3B0aW9ucyBpcyBmb3VuZCwgcmV0dXJuIHRoYXQgaW5kZXhcbiAgICogLSBFbHNlLCByZXR1cm4gZmlyc3Qgbm9uIG51bGxpc2ggaW5kZXhcbiAgICogLSBJZiBub25lIG9mIHRoZSBhYm92ZSBjcml0ZXJpYXMgYXJlIG1ldCwgLTEgYXJlIHJldHVybmVkXG4gICAqL1xuICBnZXRBY3RpdmVJbmRleCgpOiBudW1iZXIge1xuICAgIGlmICghIXRoaXMuc2VsZWN0ZWRWYWx1ZSAmJiB0aGlzLnNlbGVjdGVkVmFsdWU/LmtleSAhPSBudWxsKSB7XG4gICAgICBjb25zdCBzZWxlY3RlZEluZGV4ID0gdGhpcy5kcm9wZG93blV0aWxzXG4gICAgICAgIC5mbGF0dGVuT3B0aW9ucyh0aGlzLm9wdGlvbnMsICF0aGlzLm9wdGlvbkNvbnRlbnRUcGwpXG4gICAgICAgIC5maW5kSW5kZXgoXG4gICAgICAgICAgKG9wdGlvbikgPT5cbiAgICAgICAgICAgIG9wdGlvbi5rZXkgIT0gbnVsbCAmJiBvcHRpb24ua2V5ID09PSB0aGlzLnNlbGVjdGVkVmFsdWU/LmtleSxcbiAgICAgICAgKVxuICAgICAgaWYgKHNlbGVjdGVkSW5kZXggPiAtMSkgcmV0dXJuIHNlbGVjdGVkSW5kZXhcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZHJvcGRvd25VdGlsc1xuICAgICAgLmZsYXR0ZW5PcHRpb25zKHRoaXMub3B0aW9ucywgIXRoaXMub3B0aW9uQ29udGVudFRwbClcbiAgICAgIC5maW5kSW5kZXgoKG9wdGlvbikgPT4gb3B0aW9uLmtleSAhPSBudWxsKVxuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKiBldmFsdWF0ZXMgd2V0aGVyIHRoZSBIVE1MIGVsZW1lbnQgb3ZlcmZsb3dzXG4gICAqIEBwYXJhbSBlbGVtIFRoZSBIVE1MRWxlbWVudCB0byBldmFsdWF0ZVxuICAgKiAqL1xuICBpc092ZXJmbG93KGVsZW06IEhUTUxFbGVtZW50KSB7XG4gICAgcmV0dXJuIGVsZW0ub2Zmc2V0V2lkdGggPCBlbGVtLnNjcm9sbFdpZHRoXG4gIH1cblxuICAvKipcbiAgICogVHlwZWNhc3QgYW55dGhpbmcgdG8gYW4ge0BsaW5rIE9wdGlvbkdyb3VwfS5cbiAgICogQHBhcmFtIGdyb3VwIHRoZSBvYmplY3QgdG8gdHlwZWNhc3QuXG4gICAqL1xuICBjYXN0R3JvdXAoZ3JvdXA6IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIGdyb3VwXG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIERpc2FibGVzIGRlZmF1bHQgZXZlbnRzLlxuICAgKiBAcGFyYW0gZXZlbnQgZmlyZWQgY29udGFpbmluZyB3aGljaCBrZXkgd2FzIHByZXNzZWQuXG4gICAqL1xuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ0VudGVyJzogLy8gIERpc2FibGUgZm9ybSBzdWJtaXNzaW9uXG4gICAgICBjYXNlICdBcnJvd1VwJzogLy8gRGlzYWJsZSBzY3JvbGxpbmcgdXBcbiAgICAgIGNhc2UgJ0Fycm93RG93bic6IC8vIERpc2FibGUgc2Nyb2xsaW5nIGRvd25cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICogRW50ZXIgdG9nZ2xlcyB0aGUgZHJvcGRvd24sIGhvbWUsIGVuZCwgYW5kLCBhcnJvd3MgY2hhbmdlIHRoZSBpbmRleC5cbiAgICogQHBhcmFtIGV2ZW50IGZpcmVkIGNvbnRhaW5pbmcgd2hpY2gga2V5IHdhcyByZWxlYXNlZC5cbiAgICovXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleXVwJywgWyckZXZlbnQnXSlcbiAgb25LZXlVcChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICghdGhpcy5leHBhbmRlZCkgcmV0dXJuXG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuZHJvcGRvd25VdGlscy5mbGF0dGVuT3B0aW9ucyhcbiAgICAgIHRoaXMub3B0aW9ucyxcbiAgICAgICF0aGlzLm9wdGlvbkNvbnRlbnRUcGwsXG4gICAgKVxuICAgIGxldCBvcHRpb25cblxuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdFc2NhcGUnOlxuICAgICAgICB0aGlzLnNldEV4cGFuZGVkKGZhbHNlKVxuICAgICAgICB0aGlzLmNsb3NlZC5lbWl0KClcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ0VudGVyJzogLy8gU2VsZWN0IHRoZSBjdXJyZW50bHkgY2hvc2VuIHZhbHVlXG4gICAgICAgIG9wdGlvbiA9IG9wdGlvbnNbdGhpcy5hY3RpdmVJbmRleF1cbiAgICAgICAgdGhpcy51cGRhdGVTdGF0ZShvcHRpb24sIGV2ZW50KVxuICAgICAgICBicmVha1xuXG4gICAgICBjYXNlICdIb21lJzogLy8gTW92ZSB0byB0aGUgZmlyc3Qgb3B0aW9uXG4gICAgICAgIHRoaXMuYWN0aXZlSW5kZXggPSAwXG5cbiAgICAgICAgb3B0aW9uID0gb3B0aW9uc1t0aGlzLmFjdGl2ZUluZGV4XVxuICAgICAgICB0aGlzLnN0YXRlID0gb3B0aW9uXG4gICAgICAgIHRoaXMuc2Nyb2xsVG9SZXN1bHQob3B0aW9uKVxuICAgICAgICBicmVha1xuXG4gICAgICBjYXNlICdBcnJvd1VwJzogLy8gTW92ZSB1cCBvbmUgc3RlcCB0byB0aGUgcHJldmlvdXMgb3B0aW9uXG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZUluZGV4ID4gMCkgdGhpcy5hY3RpdmVJbmRleC0tXG4gICAgICAgIGVsc2UgaWYgKHRoaXMuYWN0aXZlSW5kZXggPT09IDApIHRoaXMuYWN0aXZlSW5kZXggPSBvcHRpb25zLmxlbmd0aCAtIDFcblxuICAgICAgICBvcHRpb24gPSBvcHRpb25zW3RoaXMuYWN0aXZlSW5kZXhdXG4gICAgICAgIHRoaXMuc3RhdGUgPSBvcHRpb25cbiAgICAgICAgdGhpcy5zY3JvbGxUb1Jlc3VsdChvcHRpb24pXG4gICAgICAgIGJyZWFrXG5cbiAgICAgIGNhc2UgJ0Fycm93RG93bic6IC8vIE1vdmUgZG93biBvbmUgc3RlcCB0byB0aGUgbmV4dCBvcHRpb25cbiAgICAgICAgaWYgKG9wdGlvbnMubGVuZ3RoID4gdGhpcy5hY3RpdmVJbmRleCArIDEpIHRoaXMuYWN0aXZlSW5kZXgrK1xuICAgICAgICBlbHNlIGlmICh0aGlzLmFjdGl2ZUluZGV4ID09PSBvcHRpb25zLmxlbmd0aCAtIDEpIHRoaXMuYWN0aXZlSW5kZXggPSAwXG5cbiAgICAgICAgb3B0aW9uID0gb3B0aW9uc1t0aGlzLmFjdGl2ZUluZGV4XVxuICAgICAgICB0aGlzLnN0YXRlID0gb3B0aW9uXG4gICAgICAgIHRoaXMuc2Nyb2xsVG9SZXN1bHQob3B0aW9uKVxuICAgICAgICBicmVha1xuXG4gICAgICBjYXNlICdFbmQnOiAvLyBNb3ZlIHRvIHRoZSBsYXN0IG9wdGlvbnNcbiAgICAgICAgdGhpcy5hY3RpdmVJbmRleCA9IG9wdGlvbnMubGVuZ3RoIC0gMVxuXG4gICAgICAgIG9wdGlvbiA9IG9wdGlvbnNbdGhpcy5hY3RpdmVJbmRleF1cbiAgICAgICAgdGhpcy5zdGF0ZSA9IG9wdGlvblxuICAgICAgICB0aGlzLnNjcm9sbFRvUmVzdWx0KG9wdGlvbilcbiAgICAgICAgYnJlYWtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2Nyb2xscyBmb2N1c2VkIHJlc3VsdCBpbnRvIHZpZXcgd2l0aCBhIHNwZWNpZmllZCBvZmZzZXQuXG4gICAqIEBwYXJhbSBrZXkgdGhlIHJlc3VsdCBpbmRleCB3aGljaCB0byBzY3JvbGwgdG8uXG4gICAqL1xuICBzY3JvbGxUb1Jlc3VsdChvcHRpb246IGFueSkge1xuICAgIGlmICghdGhpcy5vcHRpb25SZWZzIHx8ICFvcHRpb24pIHJldHVyblxuICAgIGNvbnN0IG9wdGlvblJlZiA9IHRoaXMub3B0aW9uUmVmcy5maW5kKFxuICAgICAgKGxpKSA9PiBsaS5uYXRpdmVFbGVtZW50LmlkID09PSB0aGlzLmlkICsgJy1vcHRpb24tJyArIG9wdGlvbi5rZXksXG4gICAgKVxuICAgIGNvbnN0IG9mZnNldCA9IHRoaXMuc2Nyb2xsT2Zmc2V0XG4gICAgaWYgKG9wdGlvblJlZikge1xuICAgICAgbGV0IGRlbHRhID0gd2luZG93LnNjcm9sbFkgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcFxuXG4gICAgICAvLyBUaGUgbGlzdCBzZWVtcyBub3QgdG8gYmUgdmlzaWJsZSBhdCB0aGUgdGltZSBvZiBzY3JvbGxpbmcsIGJ1dCB0aGlzIHNldFRpbWVvdXQgXCJoYWNrXCIgbWFrZXMgaXQgd29yay4uLlxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHNjcm9sbEludG9WaWV3KG9wdGlvblJlZi5uYXRpdmVFbGVtZW50LCB7XG4gICAgICAgICAgc2Nyb2xsTW9kZTogJ2lmLW5lZWRlZCcsXG4gICAgICAgICAgYmxvY2s6ICduZWFyZXN0JyxcbiAgICAgICAgfSlcblxuICAgICAgICBkZWx0YSAtPSB3aW5kb3cuc2Nyb2xsWSB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wXG4gICAgICAgIGlmIChkZWx0YSkgd2luZG93LnNjcm9sbEJ5KDAsIGRlbHRhID4gMCA/IC1vZmZzZXQgOiBvZmZzZXQpXG4gICAgICB9LCAwKVxuICAgIH1cbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqdHJhbnNsb2NvPVwibGV0IHQ7IHJlYWQ6IHNjb3BlXCI+XG4gIDx1bFxuICAgIGNsYXNzPVwiZ2RzLWRyb3Bkb3duX19vcHRpb25zIGNhcmQgb3B0aW9ucyBnZHMtcmVzZXRcIlxuICAgIFtjbGFzcy5nZHMtZHJvcGRvd25fX29wdGlvbnMtZXhwYW5kZWRdPVwiZXhwYW5kZWRcIlxuICAgIHJvbGU9XCJsaXN0Ym94XCJcbiAgICB0YWJpbmRleD1cIi0xXCJcbiAgICBbYXR0ci5kYXRhLXRob29rXT1cInRob29rICsgJy1vcHRpb25zJ1wiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImlkICsgJy1sYWJlbCdcIlxuICAgIFthdHRyLmFyaWEtYWN0aXZlZGVzY2VuZGFudF09XCJcbiAgICAgIHN0YXRlID8gaWQgKyAnLW9wdGlvbi0nICsgc3RhdGU/LmtleSA6IHVuZGVmaW5lZFxuICAgIFwiXG4gID5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIG9wdGlvbnNcIj5cbiAgICAgIDwhLS0gT1BUSU9OIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0dyb3VwKGl0ZW0pXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwibGlzdEl0ZW1UZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVwiXG4gICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDwhLS0gT1BUSU9OIEdST1VQIC0tPlxuICAgICAgPGxpXG4gICAgICAgIGNsYXNzPVwiZ2RzLWRyb3Bkb3duX19vcHRpb25zX19sYWJlbCBncm91cFwiXG4gICAgICAgIFthdHRyLmRhdGEtdGhvb2tdPVwidGhvb2sgKyAnLW9wdGlvbi1ncm91cCdcIlxuICAgICAgICAqbmdJZj1cImlzR3JvdXAoaXRlbSlcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2R2LWxpc3RfX2xhYmVsXCI+e3sgdChpdGVtLmxhYmVsKSB9fTwvZGl2PlxuICAgICAgICA8dWwgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGNhc3RHcm91cChpdGVtKS5vcHRpb25zXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICBsaXN0SXRlbVRlbXBsYXRlO1xuICAgICAgICAgICAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBvcHRpb24gfVxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvdWw+XG4gICAgICA8L2xpPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L3VsPlxuXG4gIDwhLS0gVEVNUExBVEUgLS0+XG4gIDxuZy10ZW1wbGF0ZSAjbGlzdEl0ZW1UZW1wbGF0ZSBsZXQtb3B0aW9uPlxuICAgIDxsaVxuICAgICAgI29wdGlvblJlZnNcbiAgICAgICpuZ0lmPVwiIW9wdGlvbkNvbnRlbnRUcGxcIlxuICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICBbaWRdPVwiaWQgKyAnLW9wdGlvbi0nICsgb3B0aW9uLmtleVwiXG4gICAgICBjbGFzcz1cImdkcy1kcm9wZG93bl9fb3B0aW9uc19fbGFiZWwgb3B0aW9uXCJcbiAgICAgIHJvbGU9XCJvcHRpb25cIlxuICAgICAgI2xpRWxlbVxuICAgICAgW2F0dHIuZGF0YS10aG9va109XCJ0aG9vayArICctb3B0aW9uLScgKyBvcHRpb24ua2V5XCJcbiAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwib3B0aW9uLmRpc2FibGVkXCJcbiAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiXG4gICAgICAgIG9wdGlvbi5rZXkgPT09IHNlbGVjdGVkVmFsdWU/LmtleSAmJiAhIXNlbGVjdGVkVmFsdWU/LmtleVxuICAgICAgXCJcbiAgICAgIFthdHRyLmFyaWEtZm9jdXNdPVwib3B0aW9uLmtleSA9PT0gc3RhdGU/LmtleSAmJiAhb3B0aW9uLmRpc2FibGVkXCJcbiAgICAgIFtuZ2d2VG9vbHRpcF09XCJpc092ZXJmbG93KGxpRWxlbSkgPyB0KG9wdGlvbi5sYWJlbCkgOiB1bmRlZmluZWRcIlxuICAgICAgKGNsaWNrKT1cInVwZGF0ZVN0YXRlKG9wdGlvbiwgJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgYmFzaWNPcHRpb25Db250ZW50VHBsO1xuICAgICAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBvcHRpb24gfVxuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2xpPlxuICAgIDwhLS0gQ2hlY2tpbmcgb3ZlcmZsb3cgb24gY3VzdG9tIHRlbXBsYXRlcyBkbyBub3Qgd29yayBza2lwIGFkZGluZyBuZ2d2VG9vbFRpcCBpZiBjdXN0b20gdGVtcGxhdGUgaXMgcHJvdmlkZWQgLS0+XG4gICAgPGxpXG4gICAgICAjb3B0aW9uUmVmc1xuICAgICAgKm5nSWY9XCIhIW9wdGlvbkNvbnRlbnRUcGxcIlxuICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICBbaWRdPVwiaWQgKyAnLW9wdGlvbi0nICsgb3B0aW9uLmtleVwiXG4gICAgICBjbGFzcz1cImdkcy1kcm9wZG93bl9fb3B0aW9uc19fbGFiZWwgb3B0aW9uXCJcbiAgICAgIHJvbGU9XCJvcHRpb25cIlxuICAgICAgI2xpRWxlbVxuICAgICAgW2F0dHIuZGF0YS10aG9va109XCJ0aG9vayArICctb3B0aW9uLScgKyBvcHRpb24ua2V5XCJcbiAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwib3B0aW9uLmRpc2FibGVkXCJcbiAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiXG4gICAgICAgIG9wdGlvbi5rZXkgPT09IHNlbGVjdGVkVmFsdWU/LmtleSAmJiAhIXNlbGVjdGVkVmFsdWU/LmtleVxuICAgICAgXCJcbiAgICAgIFthdHRyLmFyaWEtZm9jdXNdPVwib3B0aW9uLmtleSA9PT0gc3RhdGU/LmtleSAmJiAhb3B0aW9uLmRpc2FibGVkXCJcbiAgICAgIChjbGljayk9XCJ1cGRhdGVTdGF0ZShvcHRpb24sICRldmVudClcIlxuICAgID5cbiAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIm9wdGlvbkNvbnRlbnRUcGw7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBvcHRpb24gfVwiXG4gICAgICA+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbGk+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlICNiYXNpY09wdGlvbkNvbnRlbnRUcGwgbGV0LW9wdGlvbj5cbiAgICA8bmdndi10eXBlYWhlYWQtaGlnaGxpZ2h0XG4gICAgICAqbmdJZj1cIiEhdGV4dFRvSGlnaGxpZ2h0XCJcbiAgICAgIFt0ZXh0VG9IaWdobGlnaHRdPVwidGV4dFRvSGlnaGxpZ2h0XCJcbiAgICAgIFt0ZXh0Q29udGVudF09XCJ0KG9wdGlvbi5sYWJlbClcIlxuICAgID5cbiAgICA8L25nZ3YtdHlwZWFoZWFkLWhpZ2hsaWdodD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXRleHRUb0hpZ2hsaWdodFwiPlxuICAgICAge3sgdChvcHRpb24ubGFiZWwpIH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==