@mintplayer/ng-bootstrap 13.1.10 → 13.1.15

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 (178) hide show
  1. package/_bootstrap.scss +14 -0
  2. package/esm2020/lib/components/accordion/accordion/accordion.component.mjs +2 -4
  3. package/esm2020/lib/components/accordion/accordion-tab/accordion-tab.component.mjs +1 -11
  4. package/esm2020/lib/components/accordion/accordion-tab-header/accordion-tab-header.component.mjs +3 -8
  5. package/esm2020/lib/components/accordion/accordion.module.mjs +4 -8
  6. package/esm2020/lib/components/alert/alert/alert.component.mjs +2 -4
  7. package/esm2020/lib/components/alert/alert-close/alert-close.component.mjs +1 -3
  8. package/esm2020/lib/components/calendar/calendar.component.mjs +16 -15
  9. package/esm2020/lib/components/card/card/card.component.mjs +4 -10
  10. package/esm2020/lib/components/card/card-header/card-header.component.mjs +2 -6
  11. package/esm2020/lib/components/carousel/carousel/carousel.component.mjs +9 -7
  12. package/esm2020/lib/components/carousel/carousel-image/carousel-image.directive.mjs +1 -1
  13. package/esm2020/lib/components/code-snippet/code-snippet.component.mjs +28 -0
  14. package/esm2020/lib/components/code-snippet/code-snippet.module.mjs +34 -0
  15. package/esm2020/lib/components/code-snippet/index.mjs +3 -0
  16. package/esm2020/lib/components/context-menu/context-menu.directive.mjs +34 -14
  17. package/esm2020/lib/components/context-menu/context-menu.module.mjs +8 -4
  18. package/esm2020/lib/components/copy/copy.directive.mjs +45 -0
  19. package/esm2020/lib/components/copy/copy.module.mjs +26 -0
  20. package/esm2020/lib/components/copy/index.mjs +3 -0
  21. package/esm2020/lib/components/datatable/datatable/datatable.component.mjs +6 -8
  22. package/esm2020/lib/components/datatable/datatable-settings.mjs +1 -1
  23. package/esm2020/lib/components/datatable/datatable.module.mjs +1 -1
  24. package/esm2020/lib/components/datatable/row-template/row-template.directive.mjs +3 -3
  25. package/esm2020/lib/components/datepicker/datepicker.component.mjs +32 -7
  26. package/esm2020/lib/components/dropdown/dropdown/dropdown.directive.mjs +10 -3
  27. package/esm2020/lib/components/dropdown/dropdown-menu/dropdown-menu.directive.mjs +14 -16
  28. package/esm2020/lib/components/file-upload/component/file-upload.component.mjs +85 -0
  29. package/esm2020/lib/components/file-upload/directive/file-upload-template.directive.mjs +18 -0
  30. package/esm2020/lib/components/file-upload/file-upload.mjs +2 -0
  31. package/esm2020/lib/components/file-upload/file-upload.module.mjs +43 -0
  32. package/esm2020/lib/components/file-upload/index.mjs +5 -0
  33. package/esm2020/lib/components/for/for.directive.mjs +38 -0
  34. package/esm2020/lib/components/for/for.module.mjs +26 -0
  35. package/esm2020/lib/components/for/index.mjs +3 -0
  36. package/esm2020/lib/components/index.mjs +7 -1
  37. package/esm2020/lib/components/modal/component/index.mjs +3 -0
  38. package/esm2020/lib/components/modal/component/modal/modal.component.mjs +13 -0
  39. package/esm2020/lib/components/modal/component/modal-content/modal-content.component.mjs +27 -0
  40. package/esm2020/lib/components/modal/directives/index.mjs +4 -0
  41. package/esm2020/lib/components/modal/directives/modal-body/modal-body.directive.mjs +18 -0
  42. package/esm2020/lib/components/modal/directives/modal-footer/modal-footer.directive.mjs +18 -0
  43. package/esm2020/lib/components/modal/directives/modal-header/modal-header.directive.mjs +18 -0
  44. package/esm2020/lib/components/modal/index.mjs +5 -0
  45. package/esm2020/lib/components/modal/interfaces/index.mjs +2 -0
  46. package/esm2020/lib/components/modal/interfaces/modal-animation-meta.mjs +2 -0
  47. package/esm2020/lib/components/modal/modal.module.mjs +48 -0
  48. package/esm2020/lib/components/modal/providers/modal-content.provider.mjs +3 -0
  49. package/esm2020/lib/components/modal/service/modal.service.mjs +52 -0
  50. package/esm2020/lib/components/multiselect/component/multiselect.component.mjs +34 -0
  51. package/esm2020/lib/components/multiselect/directives/button-template/button-template.directive.mjs +18 -0
  52. package/esm2020/lib/components/multiselect/directives/footer-template/footer-template.directive.mjs +18 -0
  53. package/esm2020/lib/components/multiselect/directives/header-template/header-template.directive.mjs +18 -0
  54. package/esm2020/lib/components/multiselect/directives/index.mjs +4 -0
  55. package/esm2020/lib/components/multiselect/index.mjs +3 -2
  56. package/esm2020/lib/components/multiselect/multiselect.module.mjs +21 -6
  57. package/esm2020/lib/components/navbar/index.mjs +2 -1
  58. package/esm2020/lib/components/navbar/navbar/navbar.component.mjs +3 -3
  59. package/esm2020/lib/components/navbar/navbar-brand/navbar-brand.component.mjs +18 -0
  60. package/esm2020/lib/components/navbar/navbar-dropdown/navbar-dropdown.component.mjs +7 -6
  61. package/esm2020/lib/components/navbar/navbar-item/navbar-item.component.mjs +16 -5
  62. package/esm2020/lib/components/navbar/navbar-nav/navbar-nav.component.mjs +1 -1
  63. package/esm2020/lib/components/navbar/navbar.module.mjs +10 -5
  64. package/esm2020/lib/components/pagination/pagination/pagination.component.mjs +88 -71
  65. package/esm2020/lib/components/rating/index.mjs +3 -0
  66. package/esm2020/lib/components/rating/rating.component.mjs +72 -0
  67. package/esm2020/lib/components/rating/rating.module.mjs +26 -0
  68. package/esm2020/lib/components/scrollspy/component/scrollspy.component.mjs +30 -6
  69. package/esm2020/lib/components/select2/component/select2.component.mjs +7 -9
  70. package/esm2020/lib/components/select2/directive/item-template.directive.mjs +1 -2
  71. package/esm2020/lib/components/snackbar/component/snackbar.component.mjs +1 -1
  72. package/esm2020/lib/components/snackbar/service/snackbar.service.mjs +4 -4
  73. package/esm2020/lib/components/snackbar/snackbar.module.mjs +8 -4
  74. package/esm2020/lib/components/tab-control/tab-control/tab-control.component.mjs +8 -7
  75. package/esm2020/lib/components/tab-control/tab-page/tab-page.component.mjs +4 -6
  76. package/esm2020/lib/components/toggle-button/toggle-button.component.mjs +19 -15
  77. package/esm2020/lib/components/tooltip/directive/tooltip.directive.mjs +9 -3
  78. package/esm2020/lib/components/tooltip/tooltip.module.mjs +8 -4
  79. package/esm2020/lib/interfaces/date-day-of-month.mjs +1 -1
  80. package/esm2020/lib/interfaces/index.mjs +2 -1
  81. package/esm2020/lib/interfaces/week.mjs +1 -1
  82. package/esm2020/lib/interfaces/weekday.mjs +2 -0
  83. package/esm2020/lib/pipes/format-bytes/format-bytes.module.mjs +26 -0
  84. package/esm2020/lib/pipes/format-bytes/format-bytes.pipe.mjs +23 -0
  85. package/esm2020/lib/pipes/format-bytes/index.mjs +3 -0
  86. package/esm2020/lib/pipes/index.mjs +2 -1
  87. package/esm2020/lib/services/calendar-month/calendar-month.service.mjs +34 -18
  88. package/fesm2015/mintplayer-ng-bootstrap.mjs +1347 -579
  89. package/fesm2015/mintplayer-ng-bootstrap.mjs.map +1 -1
  90. package/fesm2020/mintplayer-ng-bootstrap.mjs +1342 -580
  91. package/fesm2020/mintplayer-ng-bootstrap.mjs.map +1 -1
  92. package/lib/components/accordion/accordion/accordion.component.d.ts +1 -4
  93. package/lib/components/accordion/accordion-tab/accordion-tab.component.d.ts +1 -4
  94. package/lib/components/accordion/accordion-tab-header/accordion-tab-header.component.d.ts +1 -4
  95. package/lib/components/accordion/accordion.module.d.ts +1 -2
  96. package/lib/components/alert/alert/alert.component.d.ts +1 -4
  97. package/lib/components/alert/alert-close/alert-close.component.d.ts +1 -3
  98. package/lib/components/calendar/calendar.component.d.ts +4 -5
  99. package/lib/components/card/card/card.component.d.ts +1 -6
  100. package/lib/components/card/card-header/card-header.component.d.ts +1 -4
  101. package/lib/components/carousel/carousel/carousel.component.d.ts +9 -9
  102. package/lib/components/code-snippet/code-snippet.component.d.ts +12 -0
  103. package/lib/components/code-snippet/code-snippet.module.d.ts +10 -0
  104. package/lib/components/code-snippet/index.d.ts +2 -0
  105. package/lib/components/context-menu/context-menu.directive.d.ts +4 -2
  106. package/lib/components/context-menu/context-menu.module.d.ts +2 -1
  107. package/lib/components/copy/copy.directive.d.ts +11 -0
  108. package/lib/components/copy/copy.module.d.ts +8 -0
  109. package/lib/components/copy/index.d.ts +2 -0
  110. package/lib/components/datatable/datatable/datatable.component.d.ts +4 -5
  111. package/lib/components/datatable/row-template/row-template.directive.d.ts +1 -1
  112. package/lib/components/datepicker/datepicker.component.d.ts +11 -7
  113. package/lib/components/dropdown/dropdown/dropdown.directive.d.ts +1 -0
  114. package/lib/components/dropdown/dropdown-menu/dropdown-menu.directive.d.ts +3 -3
  115. package/lib/components/file-upload/component/file-upload.component.d.ts +19 -0
  116. package/lib/components/file-upload/directive/file-upload-template.directive.d.ts +8 -0
  117. package/lib/components/file-upload/file-upload.d.ts +4 -0
  118. package/lib/components/file-upload/file-upload.module.d.ts +12 -0
  119. package/lib/components/file-upload/index.d.ts +4 -0
  120. package/lib/components/for/for.directive.d.ts +8 -0
  121. package/lib/components/for/for.module.d.ts +8 -0
  122. package/lib/components/for/index.d.ts +2 -0
  123. package/lib/components/index.d.ts +6 -0
  124. package/lib/components/modal/component/index.d.ts +2 -0
  125. package/lib/components/modal/component/modal/modal.component.d.ts +10 -0
  126. package/lib/components/modal/component/modal-content/modal-content.component.d.ts +13 -0
  127. package/lib/components/modal/directives/index.d.ts +3 -0
  128. package/lib/components/modal/directives/modal-body/modal-body.directive.d.ts +8 -0
  129. package/lib/components/modal/directives/modal-footer/modal-footer.directive.d.ts +8 -0
  130. package/lib/components/modal/directives/modal-header/modal-header.directive.d.ts +8 -0
  131. package/lib/components/modal/index.d.ts +4 -0
  132. package/lib/components/modal/interfaces/index.d.ts +1 -0
  133. package/lib/components/modal/interfaces/modal-animation-meta.d.ts +7 -0
  134. package/lib/components/modal/modal.module.d.ts +13 -0
  135. package/lib/components/modal/providers/modal-content.provider.d.ts +2 -0
  136. package/lib/components/modal/service/modal.service.d.ts +14 -0
  137. package/lib/components/multiselect/{multiselect.component.d.ts → component/multiselect.component.d.ts} +7 -6
  138. package/lib/components/multiselect/directives/button-template/button-template.directive.d.ts +8 -0
  139. package/lib/components/multiselect/directives/footer-template/footer-template.directive.d.ts +8 -0
  140. package/lib/components/multiselect/directives/header-template/header-template.directive.d.ts +8 -0
  141. package/lib/components/multiselect/directives/index.d.ts +3 -0
  142. package/lib/components/multiselect/index.d.ts +2 -1
  143. package/lib/components/multiselect/multiselect.module.d.ts +8 -5
  144. package/lib/components/navbar/index.d.ts +1 -0
  145. package/lib/components/navbar/navbar/navbar.component.d.ts +1 -1
  146. package/lib/components/navbar/navbar-brand/navbar-brand.component.d.ts +6 -0
  147. package/lib/components/navbar/navbar-dropdown/navbar-dropdown.component.d.ts +4 -4
  148. package/lib/components/navbar/navbar-item/navbar-item.component.d.ts +3 -4
  149. package/lib/components/navbar/navbar.module.d.ts +5 -4
  150. package/lib/components/pagination/pagination/pagination.component.d.ts +9 -10
  151. package/lib/components/rating/index.d.ts +2 -0
  152. package/lib/components/rating/rating.component.d.ts +22 -0
  153. package/lib/components/rating/rating.module.d.ts +8 -0
  154. package/lib/components/scrollspy/component/scrollspy.component.d.ts +11 -3
  155. package/lib/components/select2/component/select2.component.d.ts +4 -6
  156. package/lib/components/snackbar/component/snackbar.component.d.ts +1 -2
  157. package/lib/components/snackbar/snackbar.module.d.ts +2 -1
  158. package/lib/components/tab-control/tab-control/tab-control.component.d.ts +4 -6
  159. package/lib/components/tab-control/tab-page/tab-page.component.d.ts +3 -4
  160. package/lib/components/toggle-button/toggle-button.component.d.ts +5 -5
  161. package/lib/components/tooltip/directive/tooltip.directive.d.ts +1 -0
  162. package/lib/components/tooltip/tooltip.module.d.ts +2 -1
  163. package/lib/interfaces/date-day-of-month.d.ts +1 -0
  164. package/lib/interfaces/index.d.ts +1 -0
  165. package/lib/interfaces/week.d.ts +1 -1
  166. package/lib/interfaces/weekday.d.ts +4 -0
  167. package/lib/pipes/format-bytes/format-bytes.module.d.ts +8 -0
  168. package/lib/pipes/format-bytes/format-bytes.pipe.d.ts +7 -0
  169. package/lib/pipes/format-bytes/index.d.ts +2 -0
  170. package/lib/pipes/index.d.ts +1 -0
  171. package/lib/services/calendar-month/calendar-month.service.d.ts +2 -0
  172. package/package.json +3 -2
  173. package/src/assets/ic-upload-file.svg +7 -0
  174. package/src/styles/custom.scss +12 -0
  175. package/src/styles/ngx-highlight-themes/solarized-dark.scss +89 -0
  176. package/src/styles/utilities/cursor.scss +10 -0
  177. package/src/styles/utilities/white-space.scss +10 -0
  178. package/esm2020/lib/components/multiselect/multiselect.component.mjs +0 -36
@@ -9,6 +9,7 @@ import { BsNavbarItemComponent } from './navbar-item/navbar-item.component';
9
9
  import { DropdownToggleDirective } from './dropdown-toggle/dropdown-toggle.directive';
10
10
  import { NavLinkDirective } from './nav-link/nav-link.directive';
11
11
  import { NavbarContentDirective } from './navbar-content/navbar-content.directive';
12
+ import { BsNavbarBrandComponent } from './navbar-brand/navbar-brand.component';
12
13
  import * as i0 from "@angular/core";
13
14
  export class BsNavbarModule {
14
15
  }
@@ -19,7 +20,8 @@ BsNavbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
19
20
  BsNavbarItemComponent,
20
21
  DropdownToggleDirective,
21
22
  NavLinkDirective,
22
- NavbarContentDirective], imports: [CommonModule,
23
+ NavbarContentDirective,
24
+ BsNavbarBrandComponent], imports: [CommonModule,
23
25
  RouterModule,
24
26
  ClickOutsideModule], exports: [BsNavbarComponent,
25
27
  BsNavbarNavComponent,
@@ -27,7 +29,8 @@ BsNavbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
27
29
  BsNavbarItemComponent,
28
30
  DropdownToggleDirective,
29
31
  NavLinkDirective,
30
- NavbarContentDirective] });
32
+ NavbarContentDirective,
33
+ BsNavbarBrandComponent] });
31
34
  BsNavbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsNavbarModule, imports: [[
32
35
  CommonModule,
33
36
  RouterModule,
@@ -43,7 +46,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
43
46
  BsNavbarItemComponent,
44
47
  DropdownToggleDirective,
45
48
  NavLinkDirective,
46
- NavbarContentDirective
49
+ NavbarContentDirective,
50
+ BsNavbarBrandComponent
47
51
  ],
48
52
  imports: [
49
53
  CommonModule,
@@ -57,8 +61,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
57
61
  BsNavbarItemComponent,
58
62
  DropdownToggleDirective,
59
63
  NavLinkDirective,
60
- NavbarContentDirective
64
+ NavbarContentDirective,
65
+ BsNavbarBrandComponent
61
66
  ]
62
67
  }]
63
68
  }] });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL25hdmJhci9uYXZiYXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN4RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7QUE2Qm5GLE1BQU0sT0FBTyxjQUFjOzsyR0FBZCxjQUFjOzRHQUFkLGNBQWMsaUJBekJ2QixpQkFBaUI7UUFDakIsb0JBQW9CO1FBQ3BCLHlCQUF5QjtRQUN6QixxQkFBcUI7UUFFckIsdUJBQXVCO1FBQ3ZCLGdCQUFnQjtRQUNoQixzQkFBc0IsYUFHdEIsWUFBWTtRQUNaLFlBQVk7UUFDWixrQkFBa0IsYUFHbEIsaUJBQWlCO1FBQ2pCLG9CQUFvQjtRQUNwQix5QkFBeUI7UUFDekIscUJBQXFCO1FBRXJCLHVCQUF1QjtRQUN2QixnQkFBZ0I7UUFDaEIsc0JBQXNCOzRHQUdiLGNBQWMsWUFoQmhCO1lBQ1AsWUFBWTtZQUNaLFlBQVk7WUFDWixrQkFBa0I7U0FDbkI7MkZBWVUsY0FBYztrQkEzQjFCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQix5QkFBeUI7d0JBQ3pCLHFCQUFxQjt3QkFFckIsdUJBQXVCO3dCQUN2QixnQkFBZ0I7d0JBQ2hCLHNCQUFzQjtxQkFDdkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixrQkFBa0I7cUJBQ25CO29CQUNELE9BQU8sRUFBRTt3QkFDUCxpQkFBaUI7d0JBQ2pCLG9CQUFvQjt3QkFDcEIseUJBQXlCO3dCQUN6QixxQkFBcUI7d0JBRXJCLHVCQUF1Qjt3QkFDdkIsZ0JBQWdCO3dCQUNoQixzQkFBc0I7cUJBQ3ZCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ2xpY2tPdXRzaWRlTW9kdWxlIH0gZnJvbSAnQG1pbnRwbGF5ZXIvbmctY2xpY2stb3V0c2lkZSc7XG5pbXBvcnQgeyBCc05hdmJhckNvbXBvbmVudCB9IGZyb20gJy4vbmF2YmFyL25hdmJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnNOYXZiYXJOYXZDb21wb25lbnQgfSBmcm9tICcuL25hdmJhci1uYXYvbmF2YmFyLW5hdi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnNOYXZiYXJEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vbmF2YmFyLWRyb3Bkb3duL25hdmJhci1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnNOYXZiYXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZiYXItaXRlbS9uYXZiYXItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJvcGRvd25Ub2dnbGVEaXJlY3RpdmUgfSBmcm9tICcuL2Ryb3Bkb3duLXRvZ2dsZS9kcm9wZG93bi10b2dnbGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IE5hdkxpbmtEaXJlY3RpdmUgfSBmcm9tICcuL25hdi1saW5rL25hdi1saW5rLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBOYXZiYXJDb250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi9uYXZiYXItY29udGVudC9uYXZiYXItY29udGVudC5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBCc05hdmJhckNvbXBvbmVudCxcbiAgICBCc05hdmJhck5hdkNvbXBvbmVudCxcbiAgICBCc05hdmJhckRyb3Bkb3duQ29tcG9uZW50LFxuICAgIEJzTmF2YmFySXRlbUNvbXBvbmVudCxcblxuICAgIERyb3Bkb3duVG9nZ2xlRGlyZWN0aXZlLFxuICAgIE5hdkxpbmtEaXJlY3RpdmUsXG4gICAgTmF2YmFyQ29udGVudERpcmVjdGl2ZVxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBDbGlja091dHNpZGVNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEJzTmF2YmFyQ29tcG9uZW50LFxuICAgIEJzTmF2YmFyTmF2Q29tcG9uZW50LFxuICAgIEJzTmF2YmFyRHJvcGRvd25Db21wb25lbnQsXG4gICAgQnNOYXZiYXJJdGVtQ29tcG9uZW50LFxuXG4gICAgRHJvcGRvd25Ub2dnbGVEaXJlY3RpdmUsXG4gICAgTmF2TGlua0RpcmVjdGl2ZSxcbiAgICBOYXZiYXJDb250ZW50RGlyZWN0aXZlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQnNOYXZiYXJNb2R1bGUgeyB9XG4iXX0=
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL25hdmJhci9uYXZiYXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN4RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7QUErQi9FLE1BQU0sT0FBTyxjQUFjOzsyR0FBZCxjQUFjOzRHQUFkLGNBQWMsaUJBM0J2QixpQkFBaUI7UUFDakIsb0JBQW9CO1FBQ3BCLHlCQUF5QjtRQUN6QixxQkFBcUI7UUFFckIsdUJBQXVCO1FBQ3ZCLGdCQUFnQjtRQUNoQixzQkFBc0I7UUFDdEIsc0JBQXNCLGFBR3RCLFlBQVk7UUFDWixZQUFZO1FBQ1osa0JBQWtCLGFBR2xCLGlCQUFpQjtRQUNqQixvQkFBb0I7UUFDcEIseUJBQXlCO1FBQ3pCLHFCQUFxQjtRQUVyQix1QkFBdUI7UUFDdkIsZ0JBQWdCO1FBQ2hCLHNCQUFzQjtRQUN0QixzQkFBc0I7NEdBR2IsY0FBYyxZQWpCaEI7WUFDUCxZQUFZO1lBQ1osWUFBWTtZQUNaLGtCQUFrQjtTQUNuQjsyRkFhVSxjQUFjO2tCQTdCMUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osaUJBQWlCO3dCQUNqQixvQkFBb0I7d0JBQ3BCLHlCQUF5Qjt3QkFDekIscUJBQXFCO3dCQUVyQix1QkFBdUI7d0JBQ3ZCLGdCQUFnQjt3QkFDaEIsc0JBQXNCO3dCQUN0QixzQkFBc0I7cUJBQ3ZCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osa0JBQWtCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsaUJBQWlCO3dCQUNqQixvQkFBb0I7d0JBQ3BCLHlCQUF5Qjt3QkFDekIscUJBQXFCO3dCQUVyQix1QkFBdUI7d0JBQ3ZCLGdCQUFnQjt3QkFDaEIsc0JBQXNCO3dCQUN0QixzQkFBc0I7cUJBQ3ZCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ2xpY2tPdXRzaWRlTW9kdWxlIH0gZnJvbSAnQG1pbnRwbGF5ZXIvbmctY2xpY2stb3V0c2lkZSc7XG5pbXBvcnQgeyBCc05hdmJhckNvbXBvbmVudCB9IGZyb20gJy4vbmF2YmFyL25hdmJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnNOYXZiYXJOYXZDb21wb25lbnQgfSBmcm9tICcuL25hdmJhci1uYXYvbmF2YmFyLW5hdi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnNOYXZiYXJEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vbmF2YmFyLWRyb3Bkb3duL25hdmJhci1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnNOYXZiYXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZiYXItaXRlbS9uYXZiYXItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJvcGRvd25Ub2dnbGVEaXJlY3RpdmUgfSBmcm9tICcuL2Ryb3Bkb3duLXRvZ2dsZS9kcm9wZG93bi10b2dnbGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IE5hdkxpbmtEaXJlY3RpdmUgfSBmcm9tICcuL25hdi1saW5rL25hdi1saW5rLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBOYXZiYXJDb250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi9uYXZiYXItY29udGVudC9uYXZiYXItY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQnNOYXZiYXJCcmFuZENvbXBvbmVudCB9IGZyb20gJy4vbmF2YmFyLWJyYW5kL25hdmJhci1icmFuZC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBCc05hdmJhckNvbXBvbmVudCxcbiAgICBCc05hdmJhck5hdkNvbXBvbmVudCxcbiAgICBCc05hdmJhckRyb3Bkb3duQ29tcG9uZW50LFxuICAgIEJzTmF2YmFySXRlbUNvbXBvbmVudCxcblxuICAgIERyb3Bkb3duVG9nZ2xlRGlyZWN0aXZlLFxuICAgIE5hdkxpbmtEaXJlY3RpdmUsXG4gICAgTmF2YmFyQ29udGVudERpcmVjdGl2ZSxcbiAgICBCc05hdmJhckJyYW5kQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIENsaWNrT3V0c2lkZU1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQnNOYXZiYXJDb21wb25lbnQsXG4gICAgQnNOYXZiYXJOYXZDb21wb25lbnQsXG4gICAgQnNOYXZiYXJEcm9wZG93bkNvbXBvbmVudCxcbiAgICBCc05hdmJhckl0ZW1Db21wb25lbnQsXG5cbiAgICBEcm9wZG93blRvZ2dsZURpcmVjdGl2ZSxcbiAgICBOYXZMaW5rRGlyZWN0aXZlLFxuICAgIE5hdmJhckNvbnRlbnREaXJlY3RpdmUsXG4gICAgQnNOYXZiYXJCcmFuZENvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEJzTmF2YmFyTW9kdWxlIHsgfVxuIl19
@@ -1,5 +1,5 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { BehaviorSubject, combineLatest, map, Observable, Subject, takeUntil } from 'rxjs';
1
+ import { Component, EventEmitter, Input, Output, } from '@angular/core';
2
+ import { BehaviorSubject, combineLatest, map, Observable, Subject, takeUntil, } from 'rxjs';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
5
5
  export class BsPaginationComponent {
@@ -19,85 +19,80 @@ export class BsPaginationComponent {
19
19
  /** The number of boxes (excluding arrows) that's being shown on the pagination component. */
20
20
  this.visibleNumberOfNumberBoxes$ = new Observable();
21
21
  this._selectedPageNumber = 0;
22
- this.selectedPageNumberChange = new EventEmitter();
23
22
  this._numberOfBoxes = 0;
24
23
  this._pageNumbers = [];
25
24
  this._showArrows = true;
25
+ //#region SelectedPageNumber
26
+ this.selectedPageNumberChange = new EventEmitter();
26
27
  this.destroyed$ = new Subject();
27
- this.visibleNumberOfNumberBoxes$ =
28
- combineLatest([this.numberOfBoxes$, this.pageNumbers$, this.showArrows$])
29
- .pipe(takeUntil(this.destroyed$))
30
- .pipe(map(([numberOfBoxes, pageNumbers, showArrows]) => {
31
- if (numberOfBoxes <= 0) {
32
- return pageNumbers.length;
33
- }
34
- else if (!showArrows) {
35
- return Math.min(numberOfBoxes, pageNumbers.length);
36
- }
37
- else if (numberOfBoxes <= 2) {
38
- return Math.min(1, pageNumbers.length);
39
- }
40
- else {
41
- return Math.min(numberOfBoxes - 2, pageNumbers.length);
42
- }
43
- }));
44
- this.shownPageNumbers$ =
45
- combineLatest([this.pageNumbers$, this.selectedPageNumber$, this.visibleNumberOfNumberBoxes$])
46
- .pipe(takeUntil(this.destroyed$))
47
- .pipe(map(([pageNumbers, selectedPageNumber, visibleNumberOfNumberBoxes]) => {
48
- let startIndex = 0;
49
- const half = Math.round((visibleNumberOfNumberBoxes - 1) / 2);
50
- if (pageNumbers.indexOf(selectedPageNumber) < half) {
51
- startIndex = 0;
52
- }
53
- else if (pageNumbers.indexOf(selectedPageNumber) >= (pageNumbers.length - half)) {
54
- startIndex = pageNumbers.length - visibleNumberOfNumberBoxes;
55
- }
56
- else {
57
- startIndex = pageNumbers.indexOf(selectedPageNumber) - half;
58
- }
59
- return [...Array(visibleNumberOfNumberBoxes).keys()]
60
- .map(p => p + startIndex)
61
- .map(p => ({
62
- page: pageNumbers[p],
63
- selected: pageNumbers[p] === selectedPageNumber
64
- }));
65
- }));
66
- this.isFirstPage$ =
67
- combineLatest([this.pageNumbers$, this.selectedPageNumber$])
68
- .pipe(takeUntil(this.destroyed$))
69
- .pipe(map(([pageNumbers, selectedPageNumber]) => {
70
- return pageNumbers.indexOf(selectedPageNumber) === 0;
71
- }));
72
- this.isLastPage$ =
73
- combineLatest([this.pageNumbers$, this.selectedPageNumber$])
74
- .pipe(takeUntil(this.destroyed$))
75
- .pipe(map(([pageNumbers, selectedPageNumber]) => {
76
- return pageNumbers.indexOf(selectedPageNumber) === (pageNumbers.length - 1);
28
+ this.visibleNumberOfNumberBoxes$ = combineLatest([
29
+ this.numberOfBoxes$,
30
+ this.pageNumbers$,
31
+ this.showArrows$,
32
+ ])
33
+ .pipe(takeUntil(this.destroyed$))
34
+ .pipe(map(([numberOfBoxes, pageNumbers, showArrows]) => {
35
+ if (numberOfBoxes <= 0) {
36
+ return pageNumbers.length;
37
+ }
38
+ else if (!showArrows) {
39
+ return Math.min(numberOfBoxes, pageNumbers.length);
40
+ }
41
+ else if (numberOfBoxes <= 2) {
42
+ return Math.min(1, pageNumbers.length);
43
+ }
44
+ else {
45
+ return Math.min(numberOfBoxes - 2, pageNumbers.length);
46
+ }
47
+ }));
48
+ this.shownPageNumbers$ = combineLatest([
49
+ this.pageNumbers$,
50
+ this.selectedPageNumber$,
51
+ this.visibleNumberOfNumberBoxes$,
52
+ ])
53
+ .pipe(takeUntil(this.destroyed$))
54
+ .pipe(map(([pageNumbers, selectedPageNumber, visibleNumberOfNumberBoxes]) => {
55
+ let startIndex = 0;
56
+ const half = Math.round((visibleNumberOfNumberBoxes - 1) / 2);
57
+ if (pageNumbers.indexOf(selectedPageNumber) < half) {
58
+ startIndex = 0;
59
+ }
60
+ else if (pageNumbers.indexOf(selectedPageNumber) >=
61
+ pageNumbers.length - half) {
62
+ startIndex = pageNumbers.length - visibleNumberOfNumberBoxes;
63
+ }
64
+ else {
65
+ startIndex = pageNumbers.indexOf(selectedPageNumber) - half;
66
+ }
67
+ return [...Array(visibleNumberOfNumberBoxes).keys()]
68
+ .map((p) => p + startIndex)
69
+ .map((p) => ({
70
+ page: pageNumbers[p],
71
+ selected: pageNumbers[p] === selectedPageNumber,
77
72
  }));
73
+ }));
74
+ this.isFirstPage$ = combineLatest([
75
+ this.pageNumbers$,
76
+ this.selectedPageNumber$,
77
+ ])
78
+ .pipe(takeUntil(this.destroyed$))
79
+ .pipe(map(([pageNumbers, selectedPageNumber]) => {
80
+ return pageNumbers.indexOf(selectedPageNumber) === 0;
81
+ }));
82
+ this.isLastPage$ = combineLatest([
83
+ this.pageNumbers$,
84
+ this.selectedPageNumber$,
85
+ ])
86
+ .pipe(takeUntil(this.destroyed$))
87
+ .pipe(map(([pageNumbers, selectedPageNumber]) => {
88
+ return (pageNumbers.indexOf(selectedPageNumber) === pageNumbers.length - 1);
89
+ }));
78
90
  this.selectedPageNumber$
79
91
  .pipe(takeUntil(this.destroyed$))
80
92
  .subscribe((selectedPageNumber) => {
81
93
  this.selectedPageNumberChange.emit(selectedPageNumber);
82
94
  });
83
95
  }
84
- ngOnInit() {
85
- }
86
- ngOnDestroy() {
87
- this.destroyed$.next(true);
88
- }
89
- onSelectPage(event, page) {
90
- this.selectedPageNumber$.next(page);
91
- return false;
92
- }
93
- onPrevious() {
94
- this.selectedPageNumber$.next(this.selectedPageNumber$.value - 1);
95
- return false;
96
- }
97
- onNext() {
98
- this.selectedPageNumber$.next(this.selectedPageNumber$.value + 1);
99
- return false;
100
- }
101
96
  set selectedPageNumber(value) {
102
97
  this._selectedPageNumber = value;
103
98
  this.selectedPageNumber$.next(value);
@@ -105,6 +100,8 @@ export class BsPaginationComponent {
105
100
  get selectedPageNumber() {
106
101
  return this._selectedPageNumber;
107
102
  }
103
+ //#endregion
104
+ //#region NumberOfBoxes
108
105
  set numberOfBoxes(value) {
109
106
  this._numberOfBoxes = value;
110
107
  this.numberOfBoxes$.next(value);
@@ -112,6 +109,8 @@ export class BsPaginationComponent {
112
109
  get numberOfBoxes() {
113
110
  return this._numberOfBoxes;
114
111
  }
112
+ //#endregion
113
+ //#region PageNumbers
115
114
  set pageNumbers(value) {
116
115
  this._pageNumbers = value;
117
116
  this.pageNumbers$.next(value);
@@ -119,6 +118,8 @@ export class BsPaginationComponent {
119
118
  get pageNumbers() {
120
119
  return this._pageNumbers;
121
120
  }
121
+ //#endregion
122
+ //#region ShowArrows
122
123
  set showArrows(value) {
123
124
  this._showArrows = value;
124
125
  this.showArrows$.next(value);
@@ -126,6 +127,22 @@ export class BsPaginationComponent {
126
127
  get showArrows() {
127
128
  return this._showArrows;
128
129
  }
130
+ //#endregion
131
+ ngOnDestroy() {
132
+ this.destroyed$.next(true);
133
+ }
134
+ onSelectPage(event, page) {
135
+ this.selectedPageNumber$.next(page);
136
+ return false;
137
+ }
138
+ onPrevious() {
139
+ this.selectedPageNumber$.next(this.selectedPageNumber$.value - 1);
140
+ return false;
141
+ }
142
+ onNext() {
143
+ this.selectedPageNumber$.next(this.selectedPageNumber$.value + 1);
144
+ return false;
145
+ }
129
146
  }
130
147
  BsPaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsPaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
131
148
  BsPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsPaginationComponent, selector: "bs-pagination", inputs: { selectedPageNumber: "selectedPageNumber", numberOfBoxes: "numberOfBoxes", pageNumbers: "pageNumbers", showArrows: "showArrows" }, outputs: { selectedPageNumberChange: "selectedPageNumberChange" }, ngImport: i0, template: "<ul class=\"pagination\">\n <li class=\"page-item\" *ngIf=\"showArrows$ | async\" [class.disabled]=\"isFirstPage$ | async\">\n <a class=\"page-link\" href=\"\" (click)=\"onPrevious()\" aria-label=\"Previous\">\n <span aria-hidden=\"true\">&laquo;</span>\n <span class=\"visually-hidden\">Previous</span>\n </a>\n </li>\n <li *ngFor=\"let pageNumber of (shownPageNumbers$ | async)\" class=\"page-item\"\n [ngClass]=\"{ 'active': pageNumber.selected }\">\n <a class=\"page-link\" href=\"\" (click)=\"onSelectPage($event, pageNumber.page)\" *ngIf=\"pageNumber.page != '...'\">\n {{ pageNumber.page }}\n <span class=\"visually-hidden\" *ngIf=\"pageNumber.selected\">(current)</span>\n </a>\n </li>\n <li class=\"page-item\" *ngIf=\"showArrows$ | async\" [class.disabled]=\"isLastPage$ | async\">\n <a class=\"page-link\" href=\"\" (click)=\"onNext()\" aria-label=\"Next\">\n <span aria-hidden=\"true\">&raquo;</span>\n <span class=\"visually-hidden\">Next</span>\n </a>\n </li>\n</ul>", styles: [":host{display:inline-block}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "async": i1.AsyncPipe } });
@@ -143,4 +160,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
143
160
  }], showArrows: [{
144
161
  type: Input
145
162
  }] } });
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQVEzRixNQUFNLE9BQU8scUJBQXFCO0lBRWhDO1FBb0ZBLHdCQUF3QjtRQUN4QixpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFXLEVBQUUsQ0FBQyxDQUFDO1FBR2pELHVCQUF1QjtRQUN2Qix3QkFBbUIsR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUNyRCx1QkFBdUI7UUFDdkIsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUNoRCxvQ0FBb0M7UUFDcEMsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUVqRCw0Q0FBNEM7UUFDNUMsaUJBQVksR0FBRyxJQUFJLFVBQVUsRUFBVyxDQUFDO1FBQ3pDLDJDQUEyQztRQUMzQyxnQkFBVyxHQUFHLElBQUksVUFBVSxFQUFXLENBQUM7UUFDeEMsNkZBQTZGO1FBQzdGLGdDQUEyQixH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Q2IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFHRCxJQUFhLFVBQVUsQ0FBQyxLQUFjO1FBQ3BDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFDRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQzs7a0hBL0lVLHFCQUFxQjtzR0FBckIscUJBQXFCLG9RQ1RsQywybENBb0JLOzJGRFhRLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxlQUFlOzBFQWlIUix3QkFBd0I7c0JBQXhDLE1BQU07Z0JBQ00sa0JBQWtCO3NCQUE5QixLQUFLO2dCQVNPLGFBQWE7c0JBQXpCLEtBQUs7Z0JBU08sV0FBVztzQkFBdkIsS0FBSztnQkFTTyxVQUFVO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQYWdlV2l0aFNlbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvcGFnZS13aXRoLXNlbGVjdGlvbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JzLXBhZ2luYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BhZ2luYXRpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCc1BhZ2luYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5kZXN0cm95ZWQkID0gbmV3IFN1YmplY3QoKTtcblxuICAgIHRoaXMudmlzaWJsZU51bWJlck9mTnVtYmVyQm94ZXMkID1cbiAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMubnVtYmVyT2ZCb3hlcyQsIHRoaXMucGFnZU51bWJlcnMkLCB0aGlzLnNob3dBcnJvd3MkXSlcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCkpXG4gICAgICAgIC5waXBlKG1hcCgoW251bWJlck9mQm94ZXMsIHBhZ2VOdW1iZXJzLCBzaG93QXJyb3dzXSkgPT4ge1xuICAgICAgICAgIGlmIChudW1iZXJPZkJveGVzIDw9IDApIHtcbiAgICAgICAgICAgIHJldHVybiBwYWdlTnVtYmVycy5sZW5ndGg7XG4gICAgICAgICAgfSBlbHNlIGlmICghc2hvd0Fycm93cykge1xuICAgICAgICAgICAgcmV0dXJuIE1hdGgubWluKG51bWJlck9mQm94ZXMsIHBhZ2VOdW1iZXJzLmxlbmd0aCk7XG4gICAgICAgICAgfSBlbHNlIGlmIChudW1iZXJPZkJveGVzIDw9IDIpIHtcbiAgICAgICAgICAgIHJldHVybiBNYXRoLm1pbigxLCBwYWdlTnVtYmVycy5sZW5ndGgpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gTWF0aC5taW4obnVtYmVyT2ZCb3hlcyAtIDIsIHBhZ2VOdW1iZXJzLmxlbmd0aCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSk7XG5cbiAgICB0aGlzLnNob3duUGFnZU51bWJlcnMkID0gXG4gICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnBhZ2VOdW1iZXJzJCwgdGhpcy5zZWxlY3RlZFBhZ2VOdW1iZXIkLCB0aGlzLnZpc2libGVOdW1iZXJPZk51bWJlckJveGVzJF0pXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKVxuICAgICAgICAucGlwZShtYXAoKFtwYWdlTnVtYmVycywgc2VsZWN0ZWRQYWdlTnVtYmVyLCB2aXNpYmxlTnVtYmVyT2ZOdW1iZXJCb3hlc10pID0+IHtcbiAgICAgICAgICBsZXQgc3RhcnRJbmRleCA9IDA7XG4gICAgICAgICAgXG4gICAgICAgICAgY29uc3QgaGFsZiA9IE1hdGgucm91bmQoKHZpc2libGVOdW1iZXJPZk51bWJlckJveGVzIC0gMSkgLyAyKTtcbiAgICAgICAgICBpZiAocGFnZU51bWJlcnMuaW5kZXhPZihzZWxlY3RlZFBhZ2VOdW1iZXIpIDwgaGFsZikge1xuICAgICAgICAgICAgc3RhcnRJbmRleCA9IDA7XG4gICAgICAgICAgfSBlbHNlIGlmIChwYWdlTnVtYmVycy5pbmRleE9mKHNlbGVjdGVkUGFnZU51bWJlcikgPj0gKHBhZ2VOdW1iZXJzLmxlbmd0aCAtIGhhbGYpKSB7XG4gICAgICAgICAgICBzdGFydEluZGV4ID0gcGFnZU51bWJlcnMubGVuZ3RoIC0gdmlzaWJsZU51bWJlck9mTnVtYmVyQm94ZXM7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0YXJ0SW5kZXggPSBwYWdlTnVtYmVycy5pbmRleE9mKHNlbGVjdGVkUGFnZU51bWJlcikgLSBoYWxmO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBbLi4uQXJyYXkodmlzaWJsZU51bWJlck9mTnVtYmVyQm94ZXMpLmtleXMoKV1cbiAgICAgICAgICAgIC5tYXAocCA9PiBwICsgc3RhcnRJbmRleClcbiAgICAgICAgICAgIC5tYXAocCA9PiA8UGFnZVdpdGhTZWxlY3Rpb24+e1xuICAgICAgICAgICAgICBwYWdlOiBwYWdlTnVtYmVyc1twXSxcbiAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHBhZ2VOdW1iZXJzW3BdID09PSBzZWxlY3RlZFBhZ2VOdW1iZXJcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KSk7XG5cbiAgICB0aGlzLmlzRmlyc3RQYWdlJCA9XG4gICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnBhZ2VOdW1iZXJzJCwgdGhpcy5zZWxlY3RlZFBhZ2VOdW1iZXIkXSlcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCkpXG4gICAgICAgIC5waXBlKG1hcCgoW3BhZ2VOdW1iZXJzLCBzZWxlY3RlZFBhZ2VOdW1iZXJdKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHBhZ2VOdW1iZXJzLmluZGV4T2Yoc2VsZWN0ZWRQYWdlTnVtYmVyKSA9PT0gMDtcbiAgICAgICAgfSkpO1xuICAgICAgICBcbiAgICB0aGlzLmlzTGFzdFBhZ2UkID1cbiAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMucGFnZU51bWJlcnMkLCB0aGlzLnNlbGVjdGVkUGFnZU51bWJlciRdKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSlcbiAgICAgICAgLnBpcGUobWFwKChbcGFnZU51bWJlcnMsIHNlbGVjdGVkUGFnZU51bWJlcl0pID0+IHtcbiAgICAgICAgICByZXR1cm4gcGFnZU51bWJlcnMuaW5kZXhPZihzZWxlY3RlZFBhZ2VOdW1iZXIpID09PSAocGFnZU51bWJlcnMubGVuZ3RoIC0gMSk7XG4gICAgICAgIH0pKTtcbiAgICBcbiAgICB0aGlzLnNlbGVjdGVkUGFnZU51bWJlciRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKVxuICAgICAgLnN1YnNjcmliZSgoc2VsZWN0ZWRQYWdlTnVtYmVyKSA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRQYWdlTnVtYmVyQ2hhbmdlLmVtaXQoc2VsZWN0ZWRQYWdlTnVtYmVyKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIG9uU2VsZWN0UGFnZShldmVudDogTW91c2VFdmVudCwgcGFnZTogbnVtYmVyKSB7XG4gICAgdGhpcy5zZWxlY3RlZFBhZ2VOdW1iZXIkLm5leHQocGFnZSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgb25QcmV2aW91cygpIHtcbiAgICB0aGlzLnNlbGVjdGVkUGFnZU51bWJlciQubmV4dCh0aGlzLnNlbGVjdGVkUGFnZU51bWJlciQudmFsdWUgLSAxKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBvbk5leHQoKSB7XG4gICAgdGhpcy5zZWxlY3RlZFBhZ2VOdW1iZXIkLm5leHQodGhpcy5zZWxlY3RlZFBhZ2VOdW1iZXIkLnZhbHVlICsgMSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqIEFsbCBwYWdlIG51bWJlcnMuICovXG4gIHBhZ2VOdW1iZXJzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyW10+KFtdKTtcbiAgLyoqIFBhZ2UgbnVtYmVycyB0byBiZSBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIuICovXG4gIHNob3duUGFnZU51bWJlcnMkOiBPYnNlcnZhYmxlPFBhZ2VXaXRoU2VsZWN0aW9uW10+O1xuICAvKiogU2VsZWN0ZWQgbnVtYmVyLiAqL1xuICBzZWxlY3RlZFBhZ2VOdW1iZXIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDEpO1xuICAvKiogTnVtYmVyIG9mIGJveGVzLiAqL1xuICBudW1iZXJPZkJveGVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcbiAgLyoqIERpc3BsYXkgcHJldmlvdXMvbmV4dCBhcnJvd3MuICovXG4gIHNob3dBcnJvd3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcblxuICAvKiogSW5kaWNhdGVzIGlmIGZpcnN0IHZhbHVlIGlzIHNlbGVjdGVkLiAqL1xuICBpc0ZpcnN0UGFnZSQgPSBuZXcgT2JzZXJ2YWJsZTxib29sZWFuPigpO1xuICAvKiogSW5kaWNhdGVzIGlmIGxhc3QgdmFsdWUgaXMgc2VsZWN0ZWQuICovXG4gIGlzTGFzdFBhZ2UkID0gbmV3IE9ic2VydmFibGU8Ym9vbGVhbj4oKTtcbiAgLyoqIFRoZSBudW1iZXIgb2YgYm94ZXMgKGV4Y2x1ZGluZyBhcnJvd3MpIHRoYXQncyBiZWluZyBzaG93biBvbiB0aGUgcGFnaW5hdGlvbiBjb21wb25lbnQuICovXG4gIHZpc2libGVOdW1iZXJPZk51bWJlckJveGVzJCA9IG5ldyBPYnNlcnZhYmxlPG51bWJlcj4oKTtcbiAgLyoqIE1vbml0b3IgT25EZXN0cm95ZWQgaG9vay4gKi9cbiAgcHJpdmF0ZSBkZXN0cm95ZWQkOiBTdWJqZWN0PGFueT47XG5cblxuICBcbiAgcHJpdmF0ZSBfc2VsZWN0ZWRQYWdlTnVtYmVyOiBudW1iZXIgPSAwO1xuICBAT3V0cHV0KCkgcHVibGljIHNlbGVjdGVkUGFnZU51bWJlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICBASW5wdXQoKSBzZXQgc2VsZWN0ZWRQYWdlTnVtYmVyKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9zZWxlY3RlZFBhZ2VOdW1iZXIgPSB2YWx1ZTtcbiAgICB0aGlzLnNlbGVjdGVkUGFnZU51bWJlciQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgZ2V0IHNlbGVjdGVkUGFnZU51bWJlcigpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRQYWdlTnVtYmVyO1xuICB9XG4gIFxuICBwcml2YXRlIF9udW1iZXJPZkJveGVzOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBzZXQgbnVtYmVyT2ZCb3hlcyh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fbnVtYmVyT2ZCb3hlcyA9IHZhbHVlO1xuICAgIHRoaXMubnVtYmVyT2ZCb3hlcyQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgZ2V0IG51bWJlck9mQm94ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX251bWJlck9mQm94ZXM7XG4gIH1cbiAgXG4gIHByaXZhdGUgX3BhZ2VOdW1iZXJzOiBudW1iZXJbXSA9IFtdO1xuICBASW5wdXQoKSBzZXQgcGFnZU51bWJlcnModmFsdWU6IG51bWJlcltdKSB7XG4gICAgdGhpcy5fcGFnZU51bWJlcnMgPSB2YWx1ZTtcbiAgICB0aGlzLnBhZ2VOdW1iZXJzJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBnZXQgcGFnZU51bWJlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhZ2VOdW1iZXJzO1xuICB9XG4gIFxuICBwcml2YXRlIF9zaG93QXJyb3dzOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgc2V0IHNob3dBcnJvd3ModmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaG93QXJyb3dzID0gdmFsdWU7XG4gICAgdGhpcy5zaG93QXJyb3dzJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBnZXQgc2hvd0Fycm93cygpIHtcbiAgICByZXR1cm4gdGhpcy5fc2hvd0Fycm93cztcbiAgfVxuXG59XG4iLCI8dWwgY2xhc3M9XCJwYWdpbmF0aW9uXCI+XG4gICAgPGxpIGNsYXNzPVwicGFnZS1pdGVtXCIgKm5nSWY9XCJzaG93QXJyb3dzJCB8IGFzeW5jXCIgW2NsYXNzLmRpc2FibGVkXT1cImlzRmlyc3RQYWdlJCB8IGFzeW5jXCI+XG4gICAgICAgIDxhIGNsYXNzPVwicGFnZS1saW5rXCIgaHJlZj1cIlwiIChjbGljayk9XCJvblByZXZpb3VzKClcIiBhcmlhLWxhYmVsPVwiUHJldmlvdXNcIj5cbiAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZsYXF1bzs8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPlByZXZpb3VzPC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgPC9saT5cbiAgICA8bGkgKm5nRm9yPVwibGV0IHBhZ2VOdW1iZXIgb2YgKHNob3duUGFnZU51bWJlcnMkIHwgYXN5bmMpXCIgY2xhc3M9XCJwYWdlLWl0ZW1cIlxuICAgICAgICBbbmdDbGFzc109XCJ7ICdhY3RpdmUnOiBwYWdlTnVtYmVyLnNlbGVjdGVkIH1cIj5cbiAgICAgICAgPGEgY2xhc3M9XCJwYWdlLWxpbmtcIiBocmVmPVwiXCIgKGNsaWNrKT1cIm9uU2VsZWN0UGFnZSgkZXZlbnQsIHBhZ2VOdW1iZXIucGFnZSlcIiAqbmdJZj1cInBhZ2VOdW1iZXIucGFnZSAhPSAnLi4uJ1wiPlxuICAgICAgICAgICAge3sgcGFnZU51bWJlci5wYWdlIH19XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiICpuZ0lmPVwicGFnZU51bWJlci5zZWxlY3RlZFwiPihjdXJyZW50KTwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgIDwvbGk+XG4gICAgPGxpIGNsYXNzPVwicGFnZS1pdGVtXCIgKm5nSWY9XCJzaG93QXJyb3dzJCB8IGFzeW5jXCIgW2NsYXNzLmRpc2FibGVkXT1cImlzTGFzdFBhZ2UkIHwgYXN5bmNcIj5cbiAgICAgICAgPGEgY2xhc3M9XCJwYWdlLWxpbmtcIiBocmVmPVwiXCIgKGNsaWNrKT1cIm9uTmV4dCgpXCIgYXJpYS1sYWJlbD1cIk5leHRcIj5cbiAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZyYXF1bzs8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPk5leHQ8L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICA8L2xpPlxuPC91bD4iXX0=
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLEdBQUcsRUFDSCxVQUFVLEVBQ1YsT0FBTyxFQUNQLFNBQVMsR0FDVixNQUFNLE1BQU0sQ0FBQzs7O0FBUWQsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQztRQW1GQSx3QkFBd0I7UUFDeEIsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBVyxFQUFFLENBQUMsQ0FBQztRQUdqRCx1QkFBdUI7UUFDdkIsd0JBQW1CLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDckQsdUJBQXVCO1FBQ3ZCLG1CQUFjLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDaEQsb0NBQW9DO1FBQ3BDLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQVUsSUFBSSxDQUFDLENBQUM7UUFFakQsNENBQTRDO1FBQzVDLGlCQUFZLEdBQUcsSUFBSSxVQUFVLEVBQVcsQ0FBQztRQUN6QywyQ0FBMkM7UUFDM0MsZ0JBQVcsR0FBRyxJQUFJLFVBQVUsRUFBVyxDQUFDO1FBQ3hDLDZGQUE2RjtRQUM3RixnQ0FBMkIsR0FBRyxJQUFJLFVBQVUsRUFBVSxDQUFDO1FBSS9DLHdCQUFtQixHQUFHLENBQUMsQ0FBQztRQUN4QixtQkFBYyxHQUFHLENBQUMsQ0FBQztRQUNuQixpQkFBWSxHQUFhLEVBQUUsQ0FBQztRQUM1QixnQkFBVyxHQUFHLElBQUksQ0FBQztRQUUzQiw0QkFBNEI7UUFDWCw2QkFBd0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBNUdyRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFFaEMsSUFBSSxDQUFDLDJCQUEyQixHQUFHLGFBQWEsQ0FBQztZQUMvQyxJQUFJLENBQUMsY0FBYztZQUNuQixJQUFJLENBQUMsWUFBWTtZQUNqQixJQUFJLENBQUMsV0FBVztTQUNqQixDQUFDO2FBQ0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDaEMsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsRUFBRSxFQUFFO1lBQy9DLElBQUksYUFBYSxJQUFJLENBQUMsRUFBRTtnQkFDdEIsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDO2FBQzNCO2lCQUFNLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ3RCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3BEO2lCQUFNLElBQUksYUFBYSxJQUFJLENBQUMsRUFBRTtnQkFDN0IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDeEM7aUJBQU07Z0JBQ0wsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsR0FBRyxDQUFDLEVBQUUsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3hEO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVKLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxhQUFhLENBQUM7WUFDckMsSUFBSSxDQUFDLFlBQVk7WUFDakIsSUFBSSxDQUFDLG1CQUFtQjtZQUN4QixJQUFJLENBQUMsMkJBQTJCO1NBQ2pDLENBQUM7YUFDQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUNoQyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsMEJBQTBCLENBQUMsRUFBRSxFQUFFO1lBQ3BFLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztZQUVuQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsMEJBQTBCLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDOUQsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsSUFBSSxFQUFFO2dCQUNsRCxVQUFVLEdBQUcsQ0FBQyxDQUFDO2FBQ2hCO2lCQUFNLElBQ0wsV0FBVyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztnQkFDdkMsV0FBVyxDQUFDLE1BQU0sR0FBRyxJQUFJLEVBQ3pCO2dCQUNBLFVBQVUsR0FBRyxXQUFXLENBQUMsTUFBTSxHQUFHLDBCQUEwQixDQUFDO2FBQzlEO2lCQUFNO2dCQUNMLFVBQVUsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsSUFBSSxDQUFDO2FBQzdEO1lBRUQsT0FBTyxDQUFDLEdBQUcsS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7aUJBQ2pELEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQztpQkFDMUIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQSxDQUFtQjtnQkFDNUIsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BCLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssa0JBQWtCO2FBQ2hELENBQUEsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVKLElBQUksQ0FBQyxZQUFZLEdBQUcsYUFBYSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxZQUFZO1lBQ2pCLElBQUksQ0FBQyxtQkFBbUI7U0FDekIsQ0FBQzthQUNDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ2hDLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxrQkFBa0IsQ0FBQyxFQUFFLEVBQUU7WUFDeEMsT0FBTyxXQUFXLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUNILENBQUM7UUFFSixJQUFJLENBQUMsV0FBVyxHQUFHLGFBQWEsQ0FBQztZQUMvQixJQUFJLENBQUMsWUFBWTtZQUNqQixJQUFJLENBQUMsbUJBQW1CO1NBQ3pCLENBQUM7YUFDQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUNoQyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsa0JBQWtCLENBQUMsRUFBRSxFQUFFO1lBQ3hDLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLEtBQUssV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM5RSxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRUosSUFBSSxDQUFDLG1CQUFtQjthQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUNoQyxTQUFTLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFO1lBQ2hDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN6RCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUE2QkQsSUFBYSxrQkFBa0IsQ0FBQyxLQUFhO1FBQzNDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDakMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDbEMsQ0FBQztJQUNELFlBQVk7SUFFWix1QkFBdUI7SUFDdkIsSUFBYSxhQUFhLENBQUMsS0FBYTtRQUN0QyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUM1QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBQ0QsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFDRCxZQUFZO0lBRVoscUJBQXFCO0lBQ3JCLElBQWEsV0FBVyxDQUFDLEtBQWU7UUFDdEMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUNELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBQ0QsWUFBWTtJQUVaLG9CQUFvQjtJQUNwQixJQUFhLFVBQVUsQ0FBQyxLQUFjO1FBQ3BDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFDRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUNELFlBQVk7SUFFWixXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFpQixFQUFFLElBQVk7UUFDMUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2xFLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbEUsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOztrSEF2S1UscUJBQXFCO3NHQUFyQixxQkFBcUIsb1FDdEJsQywybENBb0JLOzJGREVRLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxlQUFlOzBFQWtIUix3QkFBd0I7c0JBQXhDLE1BQU07Z0JBQ00sa0JBQWtCO3NCQUE5QixLQUFLO2dCQVVPLGFBQWE7c0JBQXpCLEtBQUs7Z0JBVU8sV0FBVztzQkFBdkIsS0FBSztnQkFVTyxVQUFVO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIG1hcCxcbiAgT2JzZXJ2YWJsZSxcbiAgU3ViamVjdCxcbiAgdGFrZVVudGlsLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFBhZ2VXaXRoU2VsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9wYWdlLXdpdGgtc2VsZWN0aW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnMtcGFnaW5hdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGFnaW5hdGlvbi5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBCc1BhZ2luYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgdGhpcy52aXNpYmxlTnVtYmVyT2ZOdW1iZXJCb3hlcyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMubnVtYmVyT2ZCb3hlcyQsXG4gICAgICB0aGlzLnBhZ2VOdW1iZXJzJCxcbiAgICAgIHRoaXMuc2hvd0Fycm93cyQsXG4gICAgXSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoW251bWJlck9mQm94ZXMsIHBhZ2VOdW1iZXJzLCBzaG93QXJyb3dzXSkgPT4ge1xuICAgICAgICAgIGlmIChudW1iZXJPZkJveGVzIDw9IDApIHtcbiAgICAgICAgICAgIHJldHVybiBwYWdlTnVtYmVycy5sZW5ndGg7XG4gICAgICAgICAgfSBlbHNlIGlmICghc2hvd0Fycm93cykge1xuICAgICAgICAgICAgcmV0dXJuIE1hdGgubWluKG51bWJlck9mQm94ZXMsIHBhZ2VOdW1iZXJzLmxlbmd0aCk7XG4gICAgICAgICAgfSBlbHNlIGlmIChudW1iZXJPZkJveGVzIDw9IDIpIHtcbiAgICAgICAgICAgIHJldHVybiBNYXRoLm1pbigxLCBwYWdlTnVtYmVycy5sZW5ndGgpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gTWF0aC5taW4obnVtYmVyT2ZCb3hlcyAtIDIsIHBhZ2VOdW1iZXJzLmxlbmd0aCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKTtcblxuICAgIHRoaXMuc2hvd25QYWdlTnVtYmVycyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMucGFnZU51bWJlcnMkLFxuICAgICAgdGhpcy5zZWxlY3RlZFBhZ2VOdW1iZXIkLFxuICAgICAgdGhpcy52aXNpYmxlTnVtYmVyT2ZOdW1iZXJCb3hlcyQsXG4gICAgXSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoW3BhZ2VOdW1iZXJzLCBzZWxlY3RlZFBhZ2VOdW1iZXIsIHZpc2libGVOdW1iZXJPZk51bWJlckJveGVzXSkgPT4ge1xuICAgICAgICAgIGxldCBzdGFydEluZGV4ID0gMDtcblxuICAgICAgICAgIGNvbnN0IGhhbGYgPSBNYXRoLnJvdW5kKCh2aXNpYmxlTnVtYmVyT2ZOdW1iZXJCb3hlcyAtIDEpIC8gMik7XG4gICAgICAgICAgaWYgKHBhZ2VOdW1iZXJzLmluZGV4T2Yoc2VsZWN0ZWRQYWdlTnVtYmVyKSA8IGhhbGYpIHtcbiAgICAgICAgICAgIHN0YXJ0SW5kZXggPSAwO1xuICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICBwYWdlTnVtYmVycy5pbmRleE9mKHNlbGVjdGVkUGFnZU51bWJlcikgPj1cbiAgICAgICAgICAgIHBhZ2VOdW1iZXJzLmxlbmd0aCAtIGhhbGZcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHN0YXJ0SW5kZXggPSBwYWdlTnVtYmVycy5sZW5ndGggLSB2aXNpYmxlTnVtYmVyT2ZOdW1iZXJCb3hlcztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3RhcnRJbmRleCA9IHBhZ2VOdW1iZXJzLmluZGV4T2Yoc2VsZWN0ZWRQYWdlTnVtYmVyKSAtIGhhbGY7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIFsuLi5BcnJheSh2aXNpYmxlTnVtYmVyT2ZOdW1iZXJCb3hlcykua2V5cygpXVxuICAgICAgICAgICAgLm1hcCgocCkgPT4gcCArIHN0YXJ0SW5kZXgpXG4gICAgICAgICAgICAubWFwKChwKSA9PjxQYWdlV2l0aFNlbGVjdGlvbj57XG4gICAgICAgICAgICAgIHBhZ2U6IHBhZ2VOdW1iZXJzW3BdLFxuICAgICAgICAgICAgICBzZWxlY3RlZDogcGFnZU51bWJlcnNbcF0gPT09IHNlbGVjdGVkUGFnZU51bWJlcixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICAgKTtcblxuICAgIHRoaXMuaXNGaXJzdFBhZ2UkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnBhZ2VOdW1iZXJzJCxcbiAgICAgIHRoaXMuc2VsZWN0ZWRQYWdlTnVtYmVyJCxcbiAgICBdKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCkpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChbcGFnZU51bWJlcnMsIHNlbGVjdGVkUGFnZU51bWJlcl0pID0+IHtcbiAgICAgICAgICByZXR1cm4gcGFnZU51bWJlcnMuaW5kZXhPZihzZWxlY3RlZFBhZ2VOdW1iZXIpID09PSAwO1xuICAgICAgICB9KVxuICAgICAgKTtcblxuICAgIHRoaXMuaXNMYXN0UGFnZSQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMucGFnZU51bWJlcnMkLFxuICAgICAgdGhpcy5zZWxlY3RlZFBhZ2VOdW1iZXIkLFxuICAgIF0pXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKFtwYWdlTnVtYmVycywgc2VsZWN0ZWRQYWdlTnVtYmVyXSkgPT4ge1xuICAgICAgICAgIHJldHVybiAocGFnZU51bWJlcnMuaW5kZXhPZihzZWxlY3RlZFBhZ2VOdW1iZXIpID09PSBwYWdlTnVtYmVycy5sZW5ndGggLSAxKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG5cbiAgICB0aGlzLnNlbGVjdGVkUGFnZU51bWJlciRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKVxuICAgICAgLnN1YnNjcmliZSgoc2VsZWN0ZWRQYWdlTnVtYmVyKSA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRQYWdlTnVtYmVyQ2hhbmdlLmVtaXQoc2VsZWN0ZWRQYWdlTnVtYmVyKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqIEFsbCBwYWdlIG51bWJlcnMuICovXG4gIHBhZ2VOdW1iZXJzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyW10+KFtdKTtcbiAgLyoqIFBhZ2UgbnVtYmVycyB0byBiZSBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIuICovXG4gIHNob3duUGFnZU51bWJlcnMkOiBPYnNlcnZhYmxlPFBhZ2VXaXRoU2VsZWN0aW9uW10+O1xuICAvKiogU2VsZWN0ZWQgbnVtYmVyLiAqL1xuICBzZWxlY3RlZFBhZ2VOdW1iZXIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDEpO1xuICAvKiogTnVtYmVyIG9mIGJveGVzLiAqL1xuICBudW1iZXJPZkJveGVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcbiAgLyoqIERpc3BsYXkgcHJldmlvdXMvbmV4dCBhcnJvd3MuICovXG4gIHNob3dBcnJvd3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcblxuICAvKiogSW5kaWNhdGVzIGlmIGZpcnN0IHZhbHVlIGlzIHNlbGVjdGVkLiAqL1xuICBpc0ZpcnN0UGFnZSQgPSBuZXcgT2JzZXJ2YWJsZTxib29sZWFuPigpO1xuICAvKiogSW5kaWNhdGVzIGlmIGxhc3QgdmFsdWUgaXMgc2VsZWN0ZWQuICovXG4gIGlzTGFzdFBhZ2UkID0gbmV3IE9ic2VydmFibGU8Ym9vbGVhbj4oKTtcbiAgLyoqIFRoZSBudW1iZXIgb2YgYm94ZXMgKGV4Y2x1ZGluZyBhcnJvd3MpIHRoYXQncyBiZWluZyBzaG93biBvbiB0aGUgcGFnaW5hdGlvbiBjb21wb25lbnQuICovXG4gIHZpc2libGVOdW1iZXJPZk51bWJlckJveGVzJCA9IG5ldyBPYnNlcnZhYmxlPG51bWJlcj4oKTtcbiAgLyoqIE1vbml0b3IgT25EZXN0cm95ZWQgaG9vay4gKi9cbiAgcHJpdmF0ZSBkZXN0cm95ZWQkOiBTdWJqZWN0PGFueT47XG5cbiAgcHJpdmF0ZSBfc2VsZWN0ZWRQYWdlTnVtYmVyID0gMDtcbiAgcHJpdmF0ZSBfbnVtYmVyT2ZCb3hlcyA9IDA7XG4gIHByaXZhdGUgX3BhZ2VOdW1iZXJzOiBudW1iZXJbXSA9IFtdO1xuICBwcml2YXRlIF9zaG93QXJyb3dzID0gdHJ1ZTtcblxuICAvLyNyZWdpb24gU2VsZWN0ZWRQYWdlTnVtYmVyXG4gIEBPdXRwdXQoKSBwdWJsaWMgc2VsZWN0ZWRQYWdlTnVtYmVyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gIEBJbnB1dCgpIHNldCBzZWxlY3RlZFBhZ2VOdW1iZXIodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX3NlbGVjdGVkUGFnZU51bWJlciA9IHZhbHVlO1xuICAgIHRoaXMuc2VsZWN0ZWRQYWdlTnVtYmVyJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBnZXQgc2VsZWN0ZWRQYWdlTnVtYmVyKCkge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZFBhZ2VOdW1iZXI7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIE51bWJlck9mQm94ZXNcbiAgQElucHV0KCkgc2V0IG51bWJlck9mQm94ZXModmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX251bWJlck9mQm94ZXMgPSB2YWx1ZTtcbiAgICB0aGlzLm51bWJlck9mQm94ZXMkLm5leHQodmFsdWUpO1xuICB9XG4gIGdldCBudW1iZXJPZkJveGVzKCkge1xuICAgIHJldHVybiB0aGlzLl9udW1iZXJPZkJveGVzO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiBQYWdlTnVtYmVyc1xuICBASW5wdXQoKSBzZXQgcGFnZU51bWJlcnModmFsdWU6IG51bWJlcltdKSB7XG4gICAgdGhpcy5fcGFnZU51bWJlcnMgPSB2YWx1ZTtcbiAgICB0aGlzLnBhZ2VOdW1iZXJzJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBnZXQgcGFnZU51bWJlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhZ2VOdW1iZXJzO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiBTaG93QXJyb3dzXG4gIEBJbnB1dCgpIHNldCBzaG93QXJyb3dzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fc2hvd0Fycm93cyA9IHZhbHVlO1xuICAgIHRoaXMuc2hvd0Fycm93cyQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgZ2V0IHNob3dBcnJvd3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Nob3dBcnJvd3M7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95ZWQkLm5leHQodHJ1ZSk7XG4gIH1cblxuICBvblNlbGVjdFBhZ2UoZXZlbnQ6IE1vdXNlRXZlbnQsIHBhZ2U6IG51bWJlcikge1xuICAgIHRoaXMuc2VsZWN0ZWRQYWdlTnVtYmVyJC5uZXh0KHBhZ2UpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIG9uUHJldmlvdXMoKSB7XG4gICAgdGhpcy5zZWxlY3RlZFBhZ2VOdW1iZXIkLm5leHQodGhpcy5zZWxlY3RlZFBhZ2VOdW1iZXIkLnZhbHVlIC0gMSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgb25OZXh0KCkge1xuICAgIHRoaXMuc2VsZWN0ZWRQYWdlTnVtYmVyJC5uZXh0KHRoaXMuc2VsZWN0ZWRQYWdlTnVtYmVyJC52YWx1ZSArIDEpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIiwiPHVsIGNsYXNzPVwicGFnaW5hdGlvblwiPlxuICAgIDxsaSBjbGFzcz1cInBhZ2UtaXRlbVwiICpuZ0lmPVwic2hvd0Fycm93cyQgfCBhc3luY1wiIFtjbGFzcy5kaXNhYmxlZF09XCJpc0ZpcnN0UGFnZSQgfCBhc3luY1wiPlxuICAgICAgICA8YSBjbGFzcz1cInBhZ2UtbGlua1wiIGhyZWY9XCJcIiAoY2xpY2spPVwib25QcmV2aW91cygpXCIgYXJpYS1sYWJlbD1cIlByZXZpb3VzXCI+XG4gICAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj4mbGFxdW87PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5QcmV2aW91czwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgIDwvbGk+XG4gICAgPGxpICpuZ0Zvcj1cImxldCBwYWdlTnVtYmVyIG9mIChzaG93blBhZ2VOdW1iZXJzJCB8IGFzeW5jKVwiIGNsYXNzPVwicGFnZS1pdGVtXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAnYWN0aXZlJzogcGFnZU51bWJlci5zZWxlY3RlZCB9XCI+XG4gICAgICAgIDxhIGNsYXNzPVwicGFnZS1saW5rXCIgaHJlZj1cIlwiIChjbGljayk9XCJvblNlbGVjdFBhZ2UoJGV2ZW50LCBwYWdlTnVtYmVyLnBhZ2UpXCIgKm5nSWY9XCJwYWdlTnVtYmVyLnBhZ2UgIT0gJy4uLidcIj5cbiAgICAgICAgICAgIHt7IHBhZ2VOdW1iZXIucGFnZSB9fVxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIiAqbmdJZj1cInBhZ2VOdW1iZXIuc2VsZWN0ZWRcIj4oY3VycmVudCk8L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICA8L2xpPlxuICAgIDxsaSBjbGFzcz1cInBhZ2UtaXRlbVwiICpuZ0lmPVwic2hvd0Fycm93cyQgfCBhc3luY1wiIFtjbGFzcy5kaXNhYmxlZF09XCJpc0xhc3RQYWdlJCB8IGFzeW5jXCI+XG4gICAgICAgIDxhIGNsYXNzPVwicGFnZS1saW5rXCIgaHJlZj1cIlwiIChjbGljayk9XCJvbk5leHQoKVwiIGFyaWEtbGFiZWw9XCJOZXh0XCI+XG4gICAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj4mcmFxdW87PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5OZXh0PC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgPC9saT5cbjwvdWw+Il19
@@ -0,0 +1,3 @@
1
+ export * from './rating.component';
2
+ export * from './rating.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9yYXRpbmcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yYXRpbmcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcmF0aW5nLm1vZHVsZSc7Il19
@@ -0,0 +1,72 @@
1
+ import { Component, EventEmitter, HostListener, Input, Output } from '@angular/core';
2
+ import { BehaviorSubject, combineLatest, map, Subject, takeUntil } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class BsRatingComponent {
6
+ constructor() {
7
+ this.destroyed$ = new Subject();
8
+ this.maximum$ = new BehaviorSubject(5);
9
+ this.value$ = new BehaviorSubject(3);
10
+ this.previewValue$ = new BehaviorSubject(null);
11
+ //#endregion
12
+ //#region Value
13
+ this.valueChange = new EventEmitter();
14
+ this.starsChange = new EventEmitter();
15
+ this.stars$ = combineLatest([this.maximum$, this.previewValue$, this.value$])
16
+ .pipe(map(([maximum, previewValue, value]) => {
17
+ const v = previewValue ?? value;
18
+ return [
19
+ ...[...Array(v).keys()].map(i => true),
20
+ ...[...Array(maximum - v).keys()].map(i => false)
21
+ ];
22
+ }));
23
+ combineLatest([this.previewValue$, this.value$])
24
+ .pipe(takeUntil(this.destroyed$))
25
+ .subscribe(([previewValue, value]) => {
26
+ const v = previewValue ?? value;
27
+ this.starsChange.emit(v);
28
+ });
29
+ }
30
+ //#region Maximum
31
+ set maximum(value) {
32
+ this.maximum$.next(value);
33
+ }
34
+ get value() {
35
+ return this.value$.value;
36
+ }
37
+ set value(value) {
38
+ this.value$.next(value);
39
+ this.valueChange.emit(value);
40
+ }
41
+ //#endregion
42
+ ngOnDestroy() {
43
+ this.destroyed$.next(true);
44
+ }
45
+ hoverValue(index) {
46
+ this.previewValue$.next(index + 1);
47
+ }
48
+ selectValue(index) {
49
+ this.value = index + 1;
50
+ }
51
+ onMouseLeave() {
52
+ this.previewValue$.next(null);
53
+ }
54
+ }
55
+ BsRatingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsRatingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
56
+ BsRatingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsRatingComponent, selector: "bs-rating", inputs: { maximum: "maximum", value: "value" }, outputs: { valueChange: "valueChange", starsChange: "starsChange" }, host: { listeners: { "mouseleave": "onMouseLeave()" } }, ngImport: i0, template: "<span class=\"cursor-pointer\" *ngFor=\"let star of (stars$ | async), let i = index\" (mouseenter)=\"hoverValue(i)\" (click)=\"selectValue(i)\">\n {{ star ? '&#9733;' : '&#9734;' }}\n</span>", styles: [""], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i1.AsyncPipe } });
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsRatingComponent, decorators: [{
58
+ type: Component,
59
+ args: [{ selector: 'bs-rating', template: "<span class=\"cursor-pointer\" *ngFor=\"let star of (stars$ | async), let i = index\" (mouseenter)=\"hoverValue(i)\" (click)=\"selectValue(i)\">\n {{ star ? '&#9733;' : '&#9734;' }}\n</span>", styles: [""] }]
60
+ }], ctorParameters: function () { return []; }, propDecorators: { maximum: [{
61
+ type: Input
62
+ }], valueChange: [{
63
+ type: Output
64
+ }], starsChange: [{
65
+ type: Output
66
+ }], value: [{
67
+ type: Input
68
+ }], onMouseLeave: [{
69
+ type: HostListener,
70
+ args: ['mouseleave']
71
+ }] } });
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0aW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL3JhdGluZy9yYXRpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcmMvbGliL2NvbXBvbmVudHMvcmF0aW5nL3JhdGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQU8zRixNQUFNLE9BQU8saUJBQWlCO0lBRTVCO1FBa0JBLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzNCLGFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUMxQyxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDeEMsa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsSUFBSSxDQUFDLENBQUM7UUFPekQsWUFBWTtRQUVaLGVBQWU7UUFDRSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDekMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBL0J4RCxJQUFJLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDMUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQzNDLE1BQU0sQ0FBQyxHQUFHLFlBQVksSUFBSSxLQUFLLENBQUM7WUFDaEMsT0FBTztnQkFDTCxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7Z0JBQ3RDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7YUFDbEQsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFTixhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUM3QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUNoQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQ25DLE1BQU0sQ0FBQyxHQUFHLFlBQVksSUFBSSxLQUFLLENBQUM7WUFDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBUUQsaUJBQWlCO0lBQ2pCLElBQW9CLE9BQU8sQ0FBQyxLQUFhO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFNRCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFDRCxJQUFvQixLQUFLLENBQUMsS0FBYTtRQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBQ0QsWUFBWTtJQUVaLFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWE7UUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxXQUFXLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUUyQixZQUFZO1FBQ3RDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OzhHQXpEVSxpQkFBaUI7a0dBQWpCLGlCQUFpQiwrTkNSOUIsbU1BRU87MkZETU0saUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLFdBQVc7MEVBK0JELE9BQU87c0JBQTFCLEtBQUs7Z0JBTVcsV0FBVztzQkFBM0IsTUFBTTtnQkFDVSxXQUFXO3NCQUEzQixNQUFNO2dCQUlhLEtBQUs7c0JBQXhCLEtBQUs7Z0JBaUJzQixZQUFZO3NCQUF2QyxZQUFZO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy1yYXRpbmcnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmF0aW5nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmF0aW5nLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQnNSYXRpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuc3RhcnMkID0gY29tYmluZUxhdGVzdChbdGhpcy5tYXhpbXVtJCwgdGhpcy5wcmV2aWV3VmFsdWUkLCB0aGlzLnZhbHVlJF0pXG4gICAgICAucGlwZShtYXAoKFttYXhpbXVtLCBwcmV2aWV3VmFsdWUsIHZhbHVlXSkgPT4ge1xuICAgICAgICBjb25zdCB2ID0gcHJldmlld1ZhbHVlID8/IHZhbHVlO1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIC4uLlsuLi5BcnJheSh2KS5rZXlzKCldLm1hcChpID0+IHRydWUpLFxuICAgICAgICAgIC4uLlsuLi5BcnJheShtYXhpbXVtIC0gdikua2V5cygpXS5tYXAoaSA9PiBmYWxzZSlcbiAgICAgICAgXTtcbiAgICAgIH0pKTtcblxuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMucHJldmlld1ZhbHVlJCwgdGhpcy52YWx1ZSRdKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCkpXG4gICAgICAuc3Vic2NyaWJlKChbcHJldmlld1ZhbHVlLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgdiA9IHByZXZpZXdWYWx1ZSA/PyB2YWx1ZTtcbiAgICAgICAgdGhpcy5zdGFyc0NoYW5nZS5lbWl0KHYpO1xuICAgICAgfSk7XG4gIH1cblxuICBkZXN0cm95ZWQkID0gbmV3IFN1YmplY3QoKTtcbiAgbWF4aW11bSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oNSk7XG4gIHZhbHVlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigzKTtcbiAgcHJldmlld1ZhbHVlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG4gIHN0YXJzJDogT2JzZXJ2YWJsZTxib29sZWFuW10+O1xuXG4gIC8vI3JlZ2lvbiBNYXhpbXVtXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgbWF4aW11bSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5tYXhpbXVtJC5uZXh0KHZhbHVlKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gVmFsdWVcbiAgQE91dHB1dCgpIHB1YmxpYyB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICBAT3V0cHV0KCkgcHVibGljIHN0YXJzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gIHB1YmxpYyBnZXQgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUkLnZhbHVlO1xuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgdmFsdWUodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMudmFsdWUkLm5leHQodmFsdWUpO1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95ZWQkLm5leHQodHJ1ZSk7XG4gIH1cblxuICBob3ZlclZhbHVlKGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLnByZXZpZXdWYWx1ZSQubmV4dChpbmRleCArIDEpO1xuICB9XG4gIHNlbGVjdFZhbHVlKGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLnZhbHVlID0gaW5kZXggKyAxO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpIG9uTW91c2VMZWF2ZSgpIHtcbiAgICB0aGlzLnByZXZpZXdWYWx1ZSQubmV4dChudWxsKTtcbiAgfVxufVxuIiwiPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiICpuZ0Zvcj1cImxldCBzdGFyIG9mIChzdGFycyQgfCBhc3luYyksIGxldCBpID0gaW5kZXhcIiAobW91c2VlbnRlcik9XCJob3ZlclZhbHVlKGkpXCIgKGNsaWNrKT1cInNlbGVjdFZhbHVlKGkpXCI+XG4gICAge3sgc3RhciA/ICcmIzk3MzM7JyA6ICcmIzk3MzQ7JyB9fVxuPC9zcGFuPiJdfQ==
@@ -0,0 +1,26 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { BsRatingComponent } from './rating.component';
4
+ import * as i0 from "@angular/core";
5
+ export class BsRatingModule {
6
+ }
7
+ BsRatingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsRatingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ BsRatingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsRatingModule, declarations: [BsRatingComponent], imports: [CommonModule], exports: [BsRatingComponent] });
9
+ BsRatingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsRatingModule, imports: [[
10
+ CommonModule
11
+ ]] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsRatingModule, decorators: [{
13
+ type: NgModule,
14
+ args: [{
15
+ declarations: [
16
+ BsRatingComponent
17
+ ],
18
+ imports: [
19
+ CommonModule
20
+ ],
21
+ exports: [
22
+ BsRatingComponent
23
+ ]
24
+ }]
25
+ }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL3JhdGluZy9yYXRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQWV2RCxNQUFNLE9BQU8sY0FBYzs7MkdBQWQsY0FBYzs0R0FBZCxjQUFjLGlCQVR2QixpQkFBaUIsYUFHakIsWUFBWSxhQUdaLGlCQUFpQjs0R0FHUixjQUFjLFlBUGhCO1lBQ1AsWUFBWTtTQUNiOzJGQUtVLGNBQWM7a0JBWDFCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGlCQUFpQjtxQkFDbEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGlCQUFpQjtxQkFDbEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEJzUmF0aW5nQ29tcG9uZW50IH0gZnJvbSAnLi9yYXRpbmcuY29tcG9uZW50JztcblxuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEJzUmF0aW5nQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEJzUmF0aW5nQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQnNSYXRpbmdNb2R1bGUgeyB9XG4iXX0=
@@ -1,20 +1,42 @@
1
1
  import { DOCUMENT } from '@angular/common';
2
- import { Component, ContentChildren, HostListener, Inject, QueryList, ViewChildren } from '@angular/core';
2
+ import { Component, ContentChildren, HostListener, Inject, NgZone, QueryList, ViewChildren } from '@angular/core';
3
+ import { BehaviorSubject, combineLatest, filter, Subject, take, takeUntil } from 'rxjs';
3
4
  import { BsScrollOffsetService } from '../../../services/scroll-offset/scroll-offset.service';
4
5
  import { BsScrollspyDirective } from '../directives/scrollspy.directive';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "../../../services/scroll-offset/scroll-offset.service";
7
8
  import * as i2 from "@angular/common";
8
9
  export class BsScrollspyComponent {
9
- constructor(scrollOffsetService, document) {
10
+ constructor(scrollOffsetService, document, zone) {
10
11
  this.scrollOffsetService = scrollOffsetService;
12
+ this.zone = zone;
13
+ this.destroyed$ = new Subject();
14
+ this.viewInit$ = new BehaviorSubject(false);
15
+ this.contentInit$ = new BehaviorSubject(false);
11
16
  this.activeDirective = null;
12
17
  this.doc = document;
18
+ combineLatest([this.viewInit$, this.contentInit$])
19
+ .pipe(filter(([viewInit, contentInit]) => viewInit && contentInit), take(1))
20
+ .pipe(takeUntil(this.destroyed$))
21
+ .subscribe(() => {
22
+ // this.setActiveDirective();
23
+ this.scrollToCurrentInSpy();
24
+ });
13
25
  }
14
26
  ngAfterViewInit() {
15
- this.onWindowScroll();
27
+ this.viewInit$.next(true);
28
+ }
29
+ ngAfterContentInit() {
30
+ this.contentInit$.next(true);
31
+ }
32
+ ngOnDestroy() {
33
+ this.destroyed$.next(true);
16
34
  }
17
35
  onWindowScroll() {
36
+ this.setActiveDirective();
37
+ this.scrollToCurrentInSpy();
38
+ }
39
+ setActiveDirective() {
18
40
  const offsetY = this.scrollOffsetService.getScrollOffset()[1];
19
41
  const dirs = this.directives.filter((d) => d.element.nativeElement.getBoundingClientRect().y < offsetY);
20
42
  if (this.directives.length === 0) {
@@ -26,6 +48,8 @@ export class BsScrollspyComponent {
26
48
  else {
27
49
  this.activeDirective = dirs[dirs.length - 1];
28
50
  }
51
+ }
52
+ scrollToCurrentInSpy() {
29
53
  if (window && (window.innerWidth >= 768)) {
30
54
  if (this.activeDirective) {
31
55
  const index = this.directives.toArray().findIndex((v, i) => v === this.activeDirective);
@@ -43,7 +67,7 @@ export class BsScrollspyComponent {
43
67
  window.scrollTo({ top: y, behavior: 'smooth' });
44
68
  }
45
69
  }
46
- BsScrollspyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsScrollspyComponent, deps: [{ token: i1.BsScrollOffsetService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
70
+ BsScrollspyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsScrollspyComponent, deps: [{ token: i1.BsScrollOffsetService }, { token: DOCUMENT }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
47
71
  BsScrollspyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsScrollspyComponent, selector: "bs-scrollspy", host: { listeners: { "window:scroll": "onWindowScroll($event)" } }, queries: [{ propertyName: "directives", predicate: BsScrollspyDirective, descendants: true }], viewQueries: [{ propertyName: "anchors", predicate: ["anchor"], descendants: true }], ngImport: i0, template: "<div class=\"spy\">\n <ul class=\"text-muted\">\n <li *ngFor=\"let dir of directives; let i = index\">\n <span [attr.data-index]=\"i\" class=\"cursor-pointer\" [ngClass]=\"'nav' + dir.element.nativeElement.tagName\" [class.fw-bold]=\"activeDirective?.element === dir.element\" (click)=\"scrollToHeader(dir)\" [title]=\"dir.element.nativeElement.textContent\" #anchor>\n {{ dir.element.nativeElement.textContent }}\n </span>\n </li>\n </ul>\n</div>\n<div class=\"content\">\n <ng-content></ng-content>\n</div>", styles: [":host{display:block}.spy>ul{list-style-type:none;padding-left:0}.spy>ul>li:hover{color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.spy>ul>li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 768px){:host{display:grid;grid-template-areas:\"content toc\";grid-template-columns:auto 200px;grid-template-rows:auto;grid-gap:inherit;gap:inherit;grid-area:main}.spy{position:sticky;top:5rem;right:0;z-index:2;height:calc(100vh - 7rem);overflow-y:auto;grid-area:toc}.spy>ul{padding-left:2rem}}.navH2{margin-left:20px}.navH3{margin-left:40px}.navH4{margin-left:60px}\n"], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
48
72
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsScrollspyComponent, decorators: [{
49
73
  type: Component,
@@ -51,7 +75,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
51
75
  }], ctorParameters: function () { return [{ type: i1.BsScrollOffsetService }, { type: undefined, decorators: [{
52
76
  type: Inject,
53
77
  args: [DOCUMENT]
54
- }] }]; }, propDecorators: { directives: [{
78
+ }] }, { type: i0.NgZone }]; }, propDecorators: { directives: [{
55
79
  type: ContentChildren,
56
80
  args: [BsScrollspyDirective, { descendants: true }]
57
81
  }], anchors: [{
@@ -61,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
61
85
  type: HostListener,
62
86
  args: ['window:scroll', ['$event']]
63
87
  }] } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsc3B5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL3Njcm9sbHNweS9jb21wb25lbnQvc2Nyb2xsc3B5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL3Njcm9sbHNweS9jb21wb25lbnQvc2Nyb2xsc3B5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQWlCLFNBQVMsRUFBRSxlQUFlLEVBQWMsWUFBWSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JJLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7O0FBT3pFLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsWUFDVSxtQkFBMEMsRUFDaEMsUUFBYTtRQUR2Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXVCO1FBU3BELG9CQUFlLEdBQWdDLElBQUksQ0FBQztRQVBsRCxJQUFJLENBQUMsR0FBRyxHQUFhLFFBQVEsQ0FBQztJQUNoQyxDQUFDO0lBUUQsZUFBZTtRQUNiLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBR0QsY0FBYztRQUNaLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUM7UUFDeEcsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDaEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7U0FDN0I7YUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzVCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1NBQ3ZEO2FBQU07WUFDTCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQzlDO1FBRUQsSUFBSSxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxJQUFJLEdBQUcsQ0FBQyxFQUFFO1lBQ3hDLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDeEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUN4RixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDdkMsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUU7b0JBQ2hELE1BQU0sQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztpQkFDOUU7YUFDRjtTQUNGO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBQyxTQUErQjtRQUM1QyxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUMvQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUQsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixFQUFFLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxPQUFPLEdBQUcsT0FBTyxHQUFHLENBQUMsQ0FBQztRQUM1RSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQztJQUNoRCxDQUFDOztpSEE5Q1Usb0JBQW9CLHVEQUlyQixRQUFRO3FHQUpQLG9CQUFvQixtSkFRZCxvQkFBb0Isc0lDbEJ2QywwakJBV007MkZERE8sb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGNBQWM7OzBCQVFyQixNQUFNOzJCQUFDLFFBQVE7NENBSTRDLFVBQVU7c0JBQXZFLGVBQWU7dUJBQUMsb0JBQW9CLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUNwQyxPQUFPO3NCQUE5QixZQUFZO3VCQUFDLFFBQVE7Z0JBVXRCLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbmplY3QsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCc1Njcm9sbE9mZnNldFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9zY3JvbGwtb2Zmc2V0L3Njcm9sbC1vZmZzZXQuc2VydmljZSc7XG5pbXBvcnQgeyBCc1Njcm9sbHNweURpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvc2Nyb2xsc3B5LmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JzLXNjcm9sbHNweScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zY3JvbGxzcHkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zY3JvbGxzcHkuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCc1Njcm9sbHNweUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2Nyb2xsT2Zmc2V0U2VydmljZTogQnNTY3JvbGxPZmZzZXRTZXJ2aWNlLFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIGRvY3VtZW50OiBhbnkpIHtcbiAgICB0aGlzLmRvYyA9IDxEb2N1bWVudD5kb2N1bWVudDtcbiAgfVxuXG4gIEBDb250ZW50Q2hpbGRyZW4oQnNTY3JvbGxzcHlEaXJlY3RpdmUsIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgZGlyZWN0aXZlcyE6IFF1ZXJ5TGlzdDxCc1Njcm9sbHNweURpcmVjdGl2ZT47XG4gIEBWaWV3Q2hpbGRyZW4oJ2FuY2hvcicpIGFuY2hvcnMhOiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MU3BhbkVsZW1lbnQ+PjtcblxuICBkb2M6IERvY3VtZW50O1xuICBhY3RpdmVEaXJlY3RpdmU6IEJzU2Nyb2xsc3B5RGlyZWN0aXZlIHwgbnVsbCA9IG51bGw7XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMub25XaW5kb3dTY3JvbGwoKTtcbiAgfVxuICBcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnNjcm9sbCcsIFsnJGV2ZW50J10pXG4gIG9uV2luZG93U2Nyb2xsKCkge1xuICAgIGNvbnN0IG9mZnNldFkgPSB0aGlzLnNjcm9sbE9mZnNldFNlcnZpY2UuZ2V0U2Nyb2xsT2Zmc2V0KClbMV07XG4gICAgY29uc3QgZGlycyA9IHRoaXMuZGlyZWN0aXZlcy5maWx0ZXIoKGQpID0+IGQuZWxlbWVudC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnkgPCBvZmZzZXRZKTtcbiAgICBpZiAodGhpcy5kaXJlY3RpdmVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5hY3RpdmVEaXJlY3RpdmUgPSBudWxsO1xuICAgIH0gZWxzZSBpZiAoZGlycy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuYWN0aXZlRGlyZWN0aXZlID0gdGhpcy5kaXJlY3RpdmVzLmdldCgwKSA/PyBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmFjdGl2ZURpcmVjdGl2ZSA9IGRpcnNbZGlycy5sZW5ndGggLSAxXTtcbiAgICB9XG5cbiAgICBpZiAod2luZG93ICYmICh3aW5kb3cuaW5uZXJXaWR0aCA+PSA3NjgpKSB7XG4gICAgICBpZiAodGhpcy5hY3RpdmVEaXJlY3RpdmUpIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmRpcmVjdGl2ZXMudG9BcnJheSgpLmZpbmRJbmRleCgodiwgaSkgPT4gdiA9PT0gdGhpcy5hY3RpdmVEaXJlY3RpdmUpO1xuICAgICAgICBjb25zdCBhbmNob3IgPSB0aGlzLmFuY2hvcnMuZ2V0KGluZGV4KTtcbiAgICAgICAgaWYgKGFuY2hvciAmJiBhbmNob3IubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50KSB7XG4gICAgICAgICAgYW5jaG9yLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBibG9jazogJ25lYXJlc3QnLCBpbmxpbmU6ICduZWFyZXN0JyB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgc2Nyb2xsVG9IZWFkZXIoZGlyZWN0aXZlOiBCc1Njcm9sbHNweURpcmVjdGl2ZSkge1xuICAgIGNvbnN0IGhlYWRlciA9IGRpcmVjdGl2ZS5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3Qgb2Zmc2V0WSA9IHRoaXMuc2Nyb2xsT2Zmc2V0U2VydmljZS5nZXRTY3JvbGxPZmZzZXQoKVsxXTtcbiAgICBjb25zdCB5ID0gaGVhZGVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCArIHdpbmRvdy5zY3JvbGxZIC0gb2Zmc2V0WSArIDE7XG4gICAgd2luZG93LnNjcm9sbFRvKHt0b3A6IHksIGJlaGF2aW9yOiAnc21vb3RoJ30pO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJzcHlcIj5cbiAgICA8dWwgY2xhc3M9XCJ0ZXh0LW11dGVkXCI+XG4gICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgZGlyIG9mIGRpcmVjdGl2ZXM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgIDxzcGFuIFthdHRyLmRhdGEtaW5kZXhdPVwiaVwiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiBbbmdDbGFzc109XCInbmF2JyArIGRpci5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQudGFnTmFtZVwiIFtjbGFzcy5mdy1ib2xkXT1cImFjdGl2ZURpcmVjdGl2ZT8uZWxlbWVudCA9PT0gZGlyLmVsZW1lbnRcIiAoY2xpY2spPVwic2Nyb2xsVG9IZWFkZXIoZGlyKVwiIFt0aXRsZV09XCJkaXIuZWxlbWVudC5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50XCIgI2FuY2hvcj5cbiAgICAgICAgICAgICAgICB7eyBkaXIuZWxlbWVudC5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50IH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbGk+XG4gICAgPC91bD5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj4iXX0=
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsc3B5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL3Njcm9sbHNweS9jb21wb25lbnQvc2Nyb2xsc3B5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL3Njcm9sbHNweS9jb21wb25lbnQvc2Nyb2xsc3B5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQW1DLFNBQVMsRUFBRSxlQUFlLEVBQWMsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQWEsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxSyxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDOUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7QUFPekUsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQixZQUNVLG1CQUEwQyxFQUNoQyxRQUFhLEVBQ3ZCLElBQVk7UUFGWix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXVCO1FBRTFDLFNBQUksR0FBSixJQUFJLENBQVE7UUFXZCxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUMzQixjQUFTLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDaEQsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENB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YUFBYSxDQUFDO1FBQy9DLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RCxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLE9BQU8sR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQzVFLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7O2lIQTFFVSxvQkFBb0IsdURBSXJCLFFBQVE7cUdBSlAsb0JBQW9CLG1KQW9CZCxvQkFBb0Isc0lDL0J2QywwakJBV007MkZEQU8sb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGNBQWM7OzBCQVFyQixNQUFNOzJCQUFDLFFBQVE7aUVBZ0I0QyxVQUFVO3NCQUF2RSxlQUFlO3VCQUFDLG9CQUFvQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFDcEMsT0FBTztzQkFBOUIsWUFBWTt1QkFBQyxRQUFRO2dCQWtCdEIsY0FBYztzQkFEYixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIEluamVjdCwgTmdab25lLCBPbkRlc3Ryb3ksIFF1ZXJ5TGlzdCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZpbHRlciwgU3ViamVjdCwgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCc1Njcm9sbE9mZnNldFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9zY3JvbGwtb2Zmc2V0L3Njcm9sbC1vZmZzZXQuc2VydmljZSc7XG5pbXBvcnQgeyBCc1Njcm9sbHNweURpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvc2Nyb2xsc3B5LmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JzLXNjcm9sbHNweScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zY3JvbGxzcHkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zY3JvbGxzcHkuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCc1Njcm9sbHNweUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzY3JvbGxPZmZzZXRTZXJ2aWNlOiBCc1Njcm9sbE9mZnNldFNlcnZpY2UsXG4gICAgQEluamVjdChET0NVTUVOVCkgZG9jdW1lbnQ6IGFueSxcbiAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSkge1xuICAgIHRoaXMuZG9jID0gPERvY3VtZW50PmRvY3VtZW50O1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMudmlld0luaXQkLCB0aGlzLmNvbnRlbnRJbml0JF0pXG4gICAgICAucGlwZShmaWx0ZXIoKFt2aWV3SW5pdCwgY29udGVudEluaXRdKSA9PiB2aWV3SW5pdCAmJiBjb250ZW50SW5pdCksIHRha2UoMSkpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAvLyB0aGlzLnNldEFjdGl2ZURpcmVjdGl2ZSgpO1xuICAgICAgICB0aGlzLnNjcm9sbFRvQ3VycmVudEluU3B5KCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgdmlld0luaXQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgY29udGVudEluaXQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihCc1Njcm9sbHNweURpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSBkaXJlY3RpdmVzITogUXVlcnlMaXN0PEJzU2Nyb2xsc3B5RGlyZWN0aXZlPjtcbiAgQFZpZXdDaGlsZHJlbignYW5jaG9yJykgYW5jaG9ycyE6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxTcGFuRWxlbWVudD4+O1xuXG4gIGRvYzogRG9jdW1lbnQ7XG4gIGFjdGl2ZURpcmVjdGl2ZTogQnNTY3JvbGxzcHlEaXJlY3RpdmUgfCBudWxsID0gbnVsbDtcblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy52aWV3SW5pdCQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICB0aGlzLmNvbnRlbnRJbml0JC5uZXh0KHRydWUpO1xuICB9XG4gIFxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCh0cnVlKTtcbiAgfVxuICBcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnNjcm9sbCcsIFsnJGV2ZW50J10pXG4gIG9uV2luZG93U2Nyb2xsKCkge1xuICAgIHRoaXMuc2V0QWN0aXZlRGlyZWN0aXZlKCk7XG4gICAgdGhpcy5zY3JvbGxUb0N1cnJlbnRJblNweSgpO1xuICB9XG5cbiAgc2V0QWN0aXZlRGlyZWN0aXZlKCkge1xuICAgIGNvbnN0IG9mZnNldFkgPSB0aGlzLnNjcm9sbE9mZnNldFNlcnZpY2UuZ2V0U2Nyb2xsT2Zmc2V0KClbMV07XG4gICAgY29uc3QgZGlycyA9IHRoaXMuZGlyZWN0aXZlcy5maWx0ZXIoKGQpID0+IGQuZWxlbWVudC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnkgPCBvZmZzZXRZKTtcblxuICAgIGlmICh0aGlzLmRpcmVjdGl2ZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmFjdGl2ZURpcmVjdGl2ZSA9IG51bGw7XG4gICAgfSBlbHNlIGlmIChkaXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5hY3RpdmVEaXJlY3RpdmUgPSB0aGlzLmRpcmVjdGl2ZXMuZ2V0KDApID8/IG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYWN0aXZlRGlyZWN0aXZlID0gZGlyc1tkaXJzLmxlbmd0aCAtIDFdO1xuICAgIH1cbiAgfVxuXG4gIHNjcm9sbFRvQ3VycmVudEluU3B5KCkge1xuICAgIGlmICh3aW5kb3cgJiYgKHdpbmRvdy5pbm5lcldpZHRoID49IDc2OCkpIHtcbiAgICAgIGlmICh0aGlzLmFjdGl2ZURpcmVjdGl2ZSkge1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuZGlyZWN0aXZlcy50b0FycmF5KCkuZmluZEluZGV4KCh2LCBpKSA9PiB2ID09PSB0aGlzLmFjdGl2ZURpcmVjdGl2ZSk7XG4gICAgICAgIGNvbnN0IGFuY2hvciA9IHRoaXMuYW5jaG9ycy5nZXQoaW5kZXgpO1xuICAgICAgICBpZiAoYW5jaG9yICYmIGFuY2hvci5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQpIHtcbiAgICAgICAgICBhbmNob3IubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiAnbmVhcmVzdCcsIGlubGluZTogJ25lYXJlc3QnIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIFxuICBzY3JvbGxUb0hlYWRlcihkaXJlY3RpdmU6IEJzU2Nyb2xsc3B5RGlyZWN0aXZlKSB7XG4gICAgY29uc3QgaGVhZGVyID0gZGlyZWN0aXZlLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBvZmZzZXRZID0gdGhpcy5zY3JvbGxPZmZzZXRTZXJ2aWNlLmdldFNjcm9sbE9mZnNldCgpWzFdO1xuICAgIGNvbnN0IHkgPSBoZWFkZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgd2luZG93LnNjcm9sbFkgLSBvZmZzZXRZICsgMTtcbiAgICB3aW5kb3cuc2Nyb2xsVG8oe3RvcDogeSwgYmVoYXZpb3I6ICdzbW9vdGgnfSk7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cInNweVwiPlxuICAgIDx1bCBjbGFzcz1cInRleHQtbXV0ZWRcIj5cbiAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBkaXIgb2YgZGlyZWN0aXZlczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgPHNwYW4gW2F0dHIuZGF0YS1pbmRleF09XCJpXCIgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIFtuZ0NsYXNzXT1cIiduYXYnICsgZGlyLmVsZW1lbnQubmF0aXZlRWxlbWVudC50YWdOYW1lXCIgW2NsYXNzLmZ3LWJvbGRdPVwiYWN0aXZlRGlyZWN0aXZlPy5lbGVtZW50ID09PSBkaXIuZWxlbWVudFwiIChjbGljayk9XCJzY3JvbGxUb0hlYWRlcihkaXIpXCIgW3RpdGxlXT1cImRpci5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnRcIiAjYW5jaG9yPlxuICAgICAgICAgICAgICAgIHt7IGRpci5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9saT5cbiAgICA8L3VsPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PiJdfQ==