@fundamental-ngx/core 0.46.0-rc.99 → 0.46.0

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 (244) hide show
  1. package/esm2022/action-bar/action-bar.component.mjs +2 -2
  2. package/esm2022/action-sheet/action-sheet.component.mjs +3 -3
  3. package/esm2022/avatar/avatar.component.mjs +3 -3
  4. package/esm2022/avatar-group/avatar-group.component.mjs +3 -3
  5. package/esm2022/bar/bar.component.mjs +2 -2
  6. package/esm2022/breadcrumb/breadcrumb.component.mjs +3 -3
  7. package/esm2022/busy-indicator/busy-indicator.component.mjs +3 -3
  8. package/esm2022/button/button.component.mjs +3 -3
  9. package/esm2022/calendar/calendar.component.mjs +3 -3
  10. package/esm2022/card/card.component.mjs +3 -3
  11. package/esm2022/carousel/carousel.component.mjs +3 -3
  12. package/esm2022/checkbox/checkbox/checkbox.component.mjs +3 -3
  13. package/esm2022/dialog/dialog.component.mjs +3 -3
  14. package/esm2022/dynamic-page/dynamic-page.component.mjs +3 -3
  15. package/esm2022/dynamic-side-content/dynamic-side-content.component.mjs +3 -3
  16. package/esm2022/facets/facet/facet.component.mjs +3 -3
  17. package/esm2022/feed-input/feed-input.component.mjs +2 -2
  18. package/esm2022/feed-list-item/components/list/feed-list.component.mjs +2 -2
  19. package/esm2022/file-uploader/file-uploader.component.mjs +3 -3
  20. package/esm2022/fixed-card-layout/fixed-card-layout.component.mjs +3 -3
  21. package/esm2022/flexible-column-layout/flexible-column-layout.component.mjs +3 -3
  22. package/esm2022/form/fieldset/fieldset.component.mjs +2 -2
  23. package/esm2022/form/form-control/form-control.component.mjs +3 -3
  24. package/esm2022/form/form-group/form-group.component.mjs +2 -2
  25. package/esm2022/form/form-header/form-header.component.mjs +2 -2
  26. package/esm2022/form/form-item/form-item.component.mjs +2 -2
  27. package/esm2022/form/form-label/form-label.component.mjs +3 -3
  28. package/esm2022/form/form-message/form-message.component.mjs +2 -2
  29. package/esm2022/generic-tag/generic-tag.component.mjs +3 -3
  30. package/esm2022/grid-list/components/grid-list/grid-list.component.mjs +2 -2
  31. package/esm2022/icon/icon.component.mjs +2 -2
  32. package/esm2022/illustrated-message/illustrated-message.component.mjs +3 -3
  33. package/esm2022/info-label/info-label.component.mjs +3 -3
  34. package/esm2022/input-group/input-group.component.mjs +3 -3
  35. package/esm2022/layout-grid/layout-grid.component.mjs +3 -3
  36. package/esm2022/layout-panel/layout-panel.component.mjs +2 -2
  37. package/esm2022/link/link.component.mjs +3 -3
  38. package/esm2022/list/list-navigation-item/list-navigation-item.component.mjs +3 -3
  39. package/esm2022/list/list.component.mjs +2 -2
  40. package/esm2022/menu/menu.component.mjs +2 -2
  41. package/esm2022/message-box/message-box.component.mjs +2 -2
  42. package/esm2022/message-page/message-page.component.mjs +3 -3
  43. package/esm2022/message-strip/message-strip.component.mjs +3 -3
  44. package/esm2022/message-toast/message-toast.component.mjs +3 -3
  45. package/esm2022/micro-process-flow/components/micro-process-flow/micro-process-flow.component.mjs +3 -3
  46. package/esm2022/multi-combobox/multi-combobox.component.mjs +3 -3
  47. package/esm2022/notification/notification/notification.component.mjs +2 -2
  48. package/esm2022/object-identifier/object-identifier.component.mjs +3 -3
  49. package/esm2022/object-marker/object-marker.component.mjs +3 -3
  50. package/esm2022/object-number/object-number.component.mjs +3 -3
  51. package/esm2022/object-status/object-status.component.mjs +3 -3
  52. package/esm2022/pagination/pagination.component.mjs +3 -3
  53. package/esm2022/panel/panel.component.mjs +3 -3
  54. package/esm2022/popover/popover-body/popover-body.component.mjs +3 -3
  55. package/esm2022/product-switch/product-switch-body/product-switch-body.component.mjs +3 -3
  56. package/esm2022/progress-indicator/progress-indicator.component.mjs +3 -3
  57. package/esm2022/quick-view/quick-view/quick-view.component.mjs +2 -2
  58. package/esm2022/radio/radio-button/radio-button.component.mjs +3 -3
  59. package/esm2022/rating-indicator/components/rating-indicator.component.mjs +3 -3
  60. package/esm2022/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.mjs +3 -3
  61. package/esm2022/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.mjs +2 -2
  62. package/esm2022/segmented-button/segmented-button.component.mjs +2 -2
  63. package/esm2022/select/select.component.mjs +3 -3
  64. package/esm2022/shellbar/shellbar.component.mjs +3 -3
  65. package/esm2022/side-navigation/side-navigation.component.mjs +3 -3
  66. package/esm2022/skeleton/components/skeleton.component.mjs +3 -3
  67. package/esm2022/slider/slider.component.mjs +3 -3
  68. package/esm2022/split-button/split-button.component.mjs +3 -3
  69. package/esm2022/splitter/splitter.component.mjs +2 -2
  70. package/esm2022/status-indicator/status-indicator.component.mjs +3 -3
  71. package/esm2022/step-input/step-input.component.mjs +3 -3
  72. package/esm2022/switch/switch.component.mjs +3 -3
  73. package/esm2022/table/table-wrapper.component.mjs +2 -2
  74. package/esm2022/table/table.component.mjs +2 -2
  75. package/esm2022/tabs/tab-list.component.mjs +3 -3
  76. package/esm2022/tabs/tab-nav/tab-nav.component.mjs +2 -2
  77. package/esm2022/text/text.component.mjs +3 -3
  78. package/esm2022/tile/tile.component.mjs +3 -3
  79. package/esm2022/time/time.component.mjs +3 -3
  80. package/esm2022/title/title.component.mjs +2 -2
  81. package/esm2022/token/token.component.mjs +3 -3
  82. package/esm2022/token/tokenizer.component.mjs +3 -3
  83. package/esm2022/toolbar/toolbar.component.mjs +3 -3
  84. package/esm2022/tree/tree.component.mjs +3 -3
  85. package/esm2022/upload-collection/upload-collection.component.mjs +3 -3
  86. package/esm2022/vertical-navigation/vertical-navigation-main-navigation.component.mjs +3 -3
  87. package/esm2022/vertical-navigation/vertical-navigation.component.mjs +3 -3
  88. package/esm2022/wizard/wizard.component.mjs +3 -3
  89. package/fesm2022/fundamental-ngx-core-action-bar.mjs +2 -2
  90. package/fesm2022/fundamental-ngx-core-action-bar.mjs.map +1 -1
  91. package/fesm2022/fundamental-ngx-core-action-sheet.mjs +2 -2
  92. package/fesm2022/fundamental-ngx-core-action-sheet.mjs.map +1 -1
  93. package/fesm2022/fundamental-ngx-core-avatar-group.mjs +2 -2
  94. package/fesm2022/fundamental-ngx-core-avatar-group.mjs.map +1 -1
  95. package/fesm2022/fundamental-ngx-core-avatar.mjs +2 -2
  96. package/fesm2022/fundamental-ngx-core-avatar.mjs.map +1 -1
  97. package/fesm2022/fundamental-ngx-core-bar.mjs +2 -2
  98. package/fesm2022/fundamental-ngx-core-bar.mjs.map +1 -1
  99. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs +2 -2
  100. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  101. package/fesm2022/fundamental-ngx-core-busy-indicator.mjs +2 -2
  102. package/fesm2022/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
  103. package/fesm2022/fundamental-ngx-core-button.mjs +2 -2
  104. package/fesm2022/fundamental-ngx-core-button.mjs.map +1 -1
  105. package/fesm2022/fundamental-ngx-core-calendar.mjs +2 -2
  106. package/fesm2022/fundamental-ngx-core-calendar.mjs.map +1 -1
  107. package/fesm2022/fundamental-ngx-core-card.mjs +2 -2
  108. package/fesm2022/fundamental-ngx-core-card.mjs.map +1 -1
  109. package/fesm2022/fundamental-ngx-core-carousel.mjs +2 -2
  110. package/fesm2022/fundamental-ngx-core-carousel.mjs.map +1 -1
  111. package/fesm2022/fundamental-ngx-core-checkbox.mjs +2 -2
  112. package/fesm2022/fundamental-ngx-core-checkbox.mjs.map +1 -1
  113. package/fesm2022/fundamental-ngx-core-dialog.mjs +2 -2
  114. package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
  115. package/fesm2022/fundamental-ngx-core-dynamic-page.mjs +2 -2
  116. package/fesm2022/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  117. package/fesm2022/fundamental-ngx-core-dynamic-side-content.mjs +2 -2
  118. package/fesm2022/fundamental-ngx-core-dynamic-side-content.mjs.map +1 -1
  119. package/fesm2022/fundamental-ngx-core-facets.mjs +2 -2
  120. package/fesm2022/fundamental-ngx-core-facets.mjs.map +1 -1
  121. package/fesm2022/fundamental-ngx-core-feed-input.mjs +2 -2
  122. package/fesm2022/fundamental-ngx-core-feed-input.mjs.map +1 -1
  123. package/fesm2022/fundamental-ngx-core-feed-list-item.mjs +2 -2
  124. package/fesm2022/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
  125. package/fesm2022/fundamental-ngx-core-file-uploader.mjs +2 -2
  126. package/fesm2022/fundamental-ngx-core-file-uploader.mjs.map +1 -1
  127. package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs +2 -2
  128. package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
  129. package/fesm2022/fundamental-ngx-core-flexible-column-layout.mjs +2 -2
  130. package/fesm2022/fundamental-ngx-core-flexible-column-layout.mjs.map +1 -1
  131. package/fesm2022/fundamental-ngx-core-form.mjs +14 -14
  132. package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
  133. package/fesm2022/fundamental-ngx-core-generic-tag.mjs +2 -2
  134. package/fesm2022/fundamental-ngx-core-generic-tag.mjs.map +1 -1
  135. package/fesm2022/fundamental-ngx-core-grid-list.mjs +2 -2
  136. package/fesm2022/fundamental-ngx-core-grid-list.mjs.map +1 -1
  137. package/fesm2022/fundamental-ngx-core-icon.mjs +2 -2
  138. package/fesm2022/fundamental-ngx-core-icon.mjs.map +1 -1
  139. package/fesm2022/fundamental-ngx-core-illustrated-message.mjs +2 -2
  140. package/fesm2022/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
  141. package/fesm2022/fundamental-ngx-core-info-label.mjs +2 -2
  142. package/fesm2022/fundamental-ngx-core-info-label.mjs.map +1 -1
  143. package/fesm2022/fundamental-ngx-core-input-group.mjs +2 -2
  144. package/fesm2022/fundamental-ngx-core-input-group.mjs.map +1 -1
  145. package/fesm2022/fundamental-ngx-core-layout-grid.mjs +2 -2
  146. package/fesm2022/fundamental-ngx-core-layout-grid.mjs.map +1 -1
  147. package/fesm2022/fundamental-ngx-core-layout-panel.mjs +2 -2
  148. package/fesm2022/fundamental-ngx-core-layout-panel.mjs.map +1 -1
  149. package/fesm2022/fundamental-ngx-core-link.mjs +2 -2
  150. package/fesm2022/fundamental-ngx-core-link.mjs.map +1 -1
  151. package/fesm2022/fundamental-ngx-core-list.mjs +4 -4
  152. package/fesm2022/fundamental-ngx-core-list.mjs.map +1 -1
  153. package/fesm2022/fundamental-ngx-core-menu.mjs +2 -2
  154. package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
  155. package/fesm2022/fundamental-ngx-core-message-box.mjs +2 -2
  156. package/fesm2022/fundamental-ngx-core-message-box.mjs.map +1 -1
  157. package/fesm2022/fundamental-ngx-core-message-page.mjs +2 -2
  158. package/fesm2022/fundamental-ngx-core-message-page.mjs.map +1 -1
  159. package/fesm2022/fundamental-ngx-core-message-strip.mjs +2 -2
  160. package/fesm2022/fundamental-ngx-core-message-strip.mjs.map +1 -1
  161. package/fesm2022/fundamental-ngx-core-message-toast.mjs +2 -2
  162. package/fesm2022/fundamental-ngx-core-message-toast.mjs.map +1 -1
  163. package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs +2 -2
  164. package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs.map +1 -1
  165. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +2 -2
  166. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  167. package/fesm2022/fundamental-ngx-core-notification.mjs +2 -2
  168. package/fesm2022/fundamental-ngx-core-notification.mjs.map +1 -1
  169. package/fesm2022/fundamental-ngx-core-object-identifier.mjs +2 -2
  170. package/fesm2022/fundamental-ngx-core-object-identifier.mjs.map +1 -1
  171. package/fesm2022/fundamental-ngx-core-object-marker.mjs +2 -2
  172. package/fesm2022/fundamental-ngx-core-object-marker.mjs.map +1 -1
  173. package/fesm2022/fundamental-ngx-core-object-number.mjs +2 -2
  174. package/fesm2022/fundamental-ngx-core-object-number.mjs.map +1 -1
  175. package/fesm2022/fundamental-ngx-core-object-status.mjs +2 -2
  176. package/fesm2022/fundamental-ngx-core-object-status.mjs.map +1 -1
  177. package/fesm2022/fundamental-ngx-core-pagination.mjs +2 -2
  178. package/fesm2022/fundamental-ngx-core-pagination.mjs.map +1 -1
  179. package/fesm2022/fundamental-ngx-core-panel.mjs +2 -2
  180. package/fesm2022/fundamental-ngx-core-panel.mjs.map +1 -1
  181. package/fesm2022/fundamental-ngx-core-popover.mjs +2 -2
  182. package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
  183. package/fesm2022/fundamental-ngx-core-product-switch.mjs +2 -2
  184. package/fesm2022/fundamental-ngx-core-product-switch.mjs.map +1 -1
  185. package/fesm2022/fundamental-ngx-core-progress-indicator.mjs +2 -2
  186. package/fesm2022/fundamental-ngx-core-progress-indicator.mjs.map +1 -1
  187. package/fesm2022/fundamental-ngx-core-quick-view.mjs +2 -2
  188. package/fesm2022/fundamental-ngx-core-quick-view.mjs.map +1 -1
  189. package/fesm2022/fundamental-ngx-core-radio.mjs +2 -2
  190. package/fesm2022/fundamental-ngx-core-radio.mjs.map +1 -1
  191. package/fesm2022/fundamental-ngx-core-rating-indicator.mjs +2 -2
  192. package/fesm2022/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
  193. package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs +4 -4
  194. package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
  195. package/fesm2022/fundamental-ngx-core-segmented-button.mjs +2 -2
  196. package/fesm2022/fundamental-ngx-core-segmented-button.mjs.map +1 -1
  197. package/fesm2022/fundamental-ngx-core-select.mjs +2 -2
  198. package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
  199. package/fesm2022/fundamental-ngx-core-shellbar.mjs +2 -2
  200. package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
  201. package/fesm2022/fundamental-ngx-core-side-navigation.mjs +2 -2
  202. package/fesm2022/fundamental-ngx-core-side-navigation.mjs.map +1 -1
  203. package/fesm2022/fundamental-ngx-core-skeleton.mjs +2 -2
  204. package/fesm2022/fundamental-ngx-core-skeleton.mjs.map +1 -1
  205. package/fesm2022/fundamental-ngx-core-slider.mjs +2 -2
  206. package/fesm2022/fundamental-ngx-core-slider.mjs.map +1 -1
  207. package/fesm2022/fundamental-ngx-core-split-button.mjs +2 -2
  208. package/fesm2022/fundamental-ngx-core-split-button.mjs.map +1 -1
  209. package/fesm2022/fundamental-ngx-core-splitter.mjs +2 -2
  210. package/fesm2022/fundamental-ngx-core-splitter.mjs.map +1 -1
  211. package/fesm2022/fundamental-ngx-core-status-indicator.mjs +2 -2
  212. package/fesm2022/fundamental-ngx-core-status-indicator.mjs.map +1 -1
  213. package/fesm2022/fundamental-ngx-core-step-input.mjs +2 -2
  214. package/fesm2022/fundamental-ngx-core-step-input.mjs.map +1 -1
  215. package/fesm2022/fundamental-ngx-core-switch.mjs +2 -2
  216. package/fesm2022/fundamental-ngx-core-switch.mjs.map +1 -1
  217. package/fesm2022/fundamental-ngx-core-table.mjs +4 -4
  218. package/fesm2022/fundamental-ngx-core-table.mjs.map +1 -1
  219. package/fesm2022/fundamental-ngx-core-tabs.mjs +4 -4
  220. package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
  221. package/fesm2022/fundamental-ngx-core-text.mjs +2 -2
  222. package/fesm2022/fundamental-ngx-core-text.mjs.map +1 -1
  223. package/fesm2022/fundamental-ngx-core-tile.mjs +2 -2
  224. package/fesm2022/fundamental-ngx-core-tile.mjs.map +1 -1
  225. package/fesm2022/fundamental-ngx-core-time.mjs +2 -2
  226. package/fesm2022/fundamental-ngx-core-time.mjs.map +1 -1
  227. package/fesm2022/fundamental-ngx-core-title.mjs +2 -2
  228. package/fesm2022/fundamental-ngx-core-title.mjs.map +1 -1
  229. package/fesm2022/fundamental-ngx-core-token.mjs +4 -4
  230. package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
  231. package/fesm2022/fundamental-ngx-core-toolbar.mjs +2 -2
  232. package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
  233. package/fesm2022/fundamental-ngx-core-tree.mjs +2 -2
  234. package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
  235. package/fesm2022/fundamental-ngx-core-upload-collection.mjs +2 -2
  236. package/fesm2022/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  237. package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs +4 -4
  238. package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs.map +1 -1
  239. package/fesm2022/fundamental-ngx-core-wizard.mjs +2 -2
  240. package/fesm2022/fundamental-ngx-core-wizard.mjs.map +1 -1
  241. package/fundamental-ngx-core-v0.46.0.tgz +0 -0
  242. package/package.json +5 -5
  243. package/schematics/add-dependencies/index.js +8 -8
  244. package/fundamental-ngx-core-v0.46.0-rc.99.tgz +0 -0
@@ -245,7 +245,7 @@ export class RatingIndicatorComponent {
245
245
  multi: true
246
246
  },
247
247
  registerFormItemControl(RatingIndicatorComponent)
248
- ], usesOnChanges: true, ngImport: i0, template: "<!-- role=\"application\" is used in order to let user to change value with left/right arrows in JAWS, since JAWS ovverrides these actions -->\n<div class=\"fd-rating-indicator__container\" role=\"application\" aria-roledescription=\"Rating indicator\">\n <!-- Zero value if we don't have provided value from user, `ratingAverage` or `ratings` -->\n <ng-container *ngTemplateOutlet=\"zeroRate\"></ng-container>\n <!-- Available rate values -->\n <ng-container *ngFor=\"let rate of _rates; index as i; trackBy: trackByFn\">\n <input\n [attr.aria-label]=\"i | ratingStarLabel : _rates.length : allowHalves\"\n role=\"button\"\n type=\"radio\"\n class=\"fd-rating-indicator__input\"\n [disabled]=\"disabled\"\n [id]=\"rate.id\"\n name=\"rating-{{ viewRatingUID }}\"\n [value]=\"rate.value\"\n [checked]=\"viewValue === rate.value\"\n (click)=\"onSelect(rate.value)\"\n />\n <label class=\"fd-rating-indicator__label\" [for]=\"rate.id\" aria-hidden=\"true\">\n <i *ngIf=\"ratedIcon\" class=\"fd-rating-indicator__label-rated\" [class]=\"unratedIcon\"></i>\n <i *ngIf=\"unratedIcon\" class=\"fd-rating-indicator__label-unrated\" [class]=\"ratedIcon\"></i>\n </label>\n </ng-container>\n</div>\n<!-- Popover if displayAllRatings is true and we have ratings object -->\n<span\n [fdPopoverTrigger]=\"allRatingContent\"\n *ngIf=\"displayAllRatings && _ratingItems?.length; else dynamicText\"\n class=\"fd-rating-indicator__dynamic-text\"\n>\n (<span aria-label=\"Total raiting\" fd-link>{{ totalRatings }}</span\n >)\n</span>\n<fd-popover\n #allRatingContent\n [triggers]=\"['mouseenter', 'mouseleave']\"\n [noArrow]=\"false\"\n placement=\"top\"\n additionalBodyClass=\"fd-rating-indicator__popover\"\n>\n <div class=\"fd-rating-indicator__sum-row\" [class]=\"sizeClass\" *ngFor=\"let rating of _ratingItems\">\n <div class=\"fd-rating-indicator__container\">\n <ng-container *ngFor=\"let rate of _rates; trackBy: trackByFn\">\n <span\n [class.fd-rating-indicator__input-checked]=\"rate.value === rating.rate\"\n class=\"fd-rating-indicator__input\"\n ></span>\n <label class=\"fd-rating-indicator__label\">\n <i *ngIf=\"ratedIcon\" class=\"fd-rating-indicator__label-rated\" [class]=\"unratedIcon\"></i>\n <i *ngIf=\"unratedIcon\" class=\"fd-rating-indicator__label-unrated\" [class]=\"ratedIcon\"></i>\n </label>\n </ng-container>\n </div>\n ({{ rating.votes }})\n </div>\n</fd-popover>\n\n<ng-template #dynamicText>\n <span *ngIf=\"totalRatings\" class=\"fd-rating-indicator__dynamic-text\">({{ totalRatings }})</span>\n <span *ngIf=\"!totalRatings\" class=\"fd-rating-indicator__dynamic-text\"\n >({{ viewValue }} {{ dynamicTextIndicator }} {{ indicatorCount }})</span\n >\n</ng-template>\n<ng-template #zeroRate let-halves=\"halves\">\n <input\n aria-label=\"Reset to zero\"\n role=\"button\"\n type=\"radio\"\n class=\"fd-rating-indicator__input fd-rating-indicator__input--zero-rating\"\n (click)=\"onSelect(0)\"\n [disabled]=\"disabled\"\n name=\"rating-{{ viewRatingUID }}{{ halves ? '-halves' : '' }}\"\n [checked]=\"viewValue === 0\"\n />\n <label class=\"fd-rating-indicator__label fd-rating-indicator__label--zero-rating\" aria-hidden=\"true\"></label>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.30.2-rc.46\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-rating-indicator{--fontSize:1.375rem;--spacingBetweenIcons:.1875rem;-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative}.fd-rating-indicator:after,.fd-rating-indicator:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator--cozy{--fontSize:1.5rem;--spacingBetweenIcons:.1875rem;margin:.8125rem 0}.fd-rating-indicator--compact{margin:.5rem 0}.fd-rating-indicator--compact,.fd-rating-indicator--condensed{--fontSize:1rem;--spacingBetweenIcons:.125rem}.fd-rating-indicator--xs{--fontSize:.75rem;--spacingBetweenIcons:1px}.fd-rating-indicator--sm{--fontSize:1rem;--spacingBetweenIcons:.125rem}.fd-rating-indicator--md{--fontSize:1.375rem;--spacingBetweenIcons:.1875rem}.fd-rating-indicator--lg{--fontSize:2rem;--spacingBetweenIcons:.25rem}.fd-rating-indicator__container{-webkit-box-sizing:border-box;border:0;border-radius:var(--fdRating_Indicator_Border_Radius);box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-rating-indicator__container:after,.fd-rating-indicator__container:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator__container:focus-within{outline-color:var(--sapContent_FocusColor);outline-offset:var(--fdRating_Indicator_Focus_Outline_Offset, 0);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-rating-indicator__container:focus-within .fd-rating-indicator__input,.fd-rating-indicator__container:focus-within .fd-rating-indicator__label{outline:none!important}.fd-rating-indicator__input{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fontSize);line-height:var(--sapContent_LineHeight);margin:0;opacity:.0001;padding:0;position:absolute;top:0;width:var(--fontSize);z-index:-1}.fd-rating-indicator__input:after,.fd-rating-indicator__input:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator__input:checked.is-focus,.fd-rating-indicator__input:checked:focus{outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-rating-indicator__input:checked.is-focus+.fd-rating-indicator__label,.fd-rating-indicator__input:checked:focus+.fd-rating-indicator__label{outline-color:var(--sapContent_FocusColor);outline-offset:0;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-rating-indicator__label{-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;display:flex;float:left;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fontSize);line-height:var(--sapContent_LineHeight);margin:0;margin-right:var(--spacingBetweenIcons);opacity:1;padding:0}.fd-rating-indicator__label:after,.fd-rating-indicator__label:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator__label:before{color:var(--sapContent_RatedColor);content:\"\\e065\";font-family:SAP-icons;font-size:var(--fontSize)}.fd-rating-indicator__label:last-child{margin-right:0}.fd-rating-indicator__label:hover:before{-webkit-transition:opacity .125s ease-in;opacity:var(--fdRating_Indicator_Selected_Hover_Opacity);transition:opacity .125s ease-in}.fd-rating-indicator .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before{color:var(--sapContent_UnratedColor);content:\"\\e0a1\"}.fd-rating-indicator__dynamic-text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontSmallSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0 0 0 .5rem;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-rating-indicator__dynamic-text:after,.fd-rating-indicator__dynamic-text:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator--hide-dynamic-text>.fd-rating-indicator__dynamic-text{display:none}.fd-rating-indicator[dir=rtl] .fd-rating-indicator__input:first-child+label,[dir=rtl] .fd-rating-indicator .fd-rating-indicator__input:first-child+label{margin-right:0}.fd-rating-indicator[dir=rtl] .fd-rating-indicator__label,[dir=rtl] .fd-rating-indicator .fd-rating-indicator__label{float:right}.fd-rating-indicator[dir=rtl] .fd-rating-indicator__label:last-child,[dir=rtl] .fd-rating-indicator .fd-rating-indicator__label:last-child{margin-right:var(--spacingBetweenIcons)}.fd-rating-indicator[dir=rtl] .fd-rating-indicator__dynamic-text,[dir=rtl] .fd-rating-indicator .fd-rating-indicator__dynamic-text{margin-left:0;margin-right:.5rem}.fd-rating-indicator.is-disabled,.fd-rating-indicator:disabled,.fd-rating-indicator[aria-disabled=true]{opacity:var(--fdRating_Indicator_Disabled_Control_Opacity);pointer-events:none}.fd-rating-indicator.is-disabled .fd-rating-indicator__input:before,.fd-rating-indicator:disabled .fd-rating-indicator__input:before,.fd-rating-indicator[aria-disabled=true] .fd-rating-indicator__input:before{color:var(--fdRating_Indicator_Disabled_Selected_Color);content:\"\\e065\"}.fd-rating-indicator.is-disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator:disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator[aria-disabled=true] .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before{color:var(--fdRating_Indicator_Disabled_Unselected_Color);content:\"\\e065\";font-size:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio))}.fd-rating-indicator--display-mode{--fontSize:1rem}.fd-rating-indicator--display-mode .fd-rating-indicator__label{margin-right:.125rem}.fd-rating-indicator--display-mode .fd-rating-indicator__label:before{color:var(--fdRating_Indicator_Display_Only_Selected_Color);content:\"\\e065\";font-size:var(--fontSize)}.fd-rating-indicator--display-mode .fd-rating-indicator__label[dir=rtl],[dir=rtl] .fd-rating-indicator--display-mode .fd-rating-indicator__label{margin-left:.125rem;margin-right:0}.fd-rating-indicator--display-mode,.fd-rating-indicator--non-interactive{pointer-events:none}.fd-rating-indicator--display-mode .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator--non-interactive .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before{color:var(--sapContent_UnratedColor);content:\"\\e065\";font-size:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio))}.fd-rating-indicator--icon .fd-rating-indicator__label{height:var(--fontSize);width:var(--fontSize)}.fd-rating-indicator--icon .fd-rating-indicator__label:after,.fd-rating-indicator--icon .fd-rating-indicator__label:before{content:none!important}.fd-rating-indicator--icon .fd-rating-indicator__label-rated,.fd-rating-indicator--icon .fd-rating-indicator__label-unrated{font-size:var(--fontSize);height:100%;line-height:1}.fd-rating-indicator--icon .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-rated,.fd-rating-indicator--icon .fd-rating-indicator__label-unrated{display:none}.fd-rating-indicator--icon .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated{display:block}.fd-rating-indicator--half-star .fd-rating-indicator__input{height:var(--fontSize);width:calc(var(--fontSize) * .5)}.fd-rating-indicator--half-star .fd-rating-indicator__label{margin-right:0;overflow:hidden;width:calc(var(--fontSize) * .5)}.fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6){flex-direction:row-reverse;margin-right:var(--spacingBetweenIcons)}.fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6)[dir=rtl],[dir=rtl] .fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6){margin-left:var(--spacingBetweenIcons);margin-right:0}.fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6)[dir=rtl]:last-child,[dir=rtl] .fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6):last-child{margin-left:0}.fd-rating-indicator--half-star .fd-rating-indicator__label:last-child{margin-right:0}.fd-rating-indicator--half-star .fd-rating-indicator--icon .fd-rating-indicator__label{width:calc(var(--fontSize) * .5)}.fd-rating-indicator--half-star .fd-rating-indicator .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label{width:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio) * .5)}.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label{width:calc(var(--fontSize) * .5)}.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label:before{font-size:var(--fontSize)}.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label{width:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio) * .5)}.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before{font-size:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio))}.fd-rating-indicator[class*=fd-rating-indicator--] .fd-rating-indicator__input--zero-rating,.fd-rating-indicator[class*=fd-rating-indicator--] .fd-rating-indicator__label--zero-rating,.fd-rating-indicator__input--zero-rating,.fd-rating-indicator__label--zero-rating{margin:0;opacity:.0001;overflow:hidden;padding:0;width:0}.fd-rating-indicator__popover{padding:.5rem 0!important}.fd-rating-indicator__popover .fd-rating-indicator__sum-row{display:flex;align-items:center;padding:.5rem 1rem;margin:0}.fd-rating-indicator__popover .fd-rating-indicator__sum-row .fd-rating-indicator__container{margin-right:.5rem}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PopoverTriggerDirective, selector: "[fdPopoverTrigger], [fd-popover-trigger]", inputs: ["fdPopoverTrigger"] }, { kind: "component", type: PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "pipe", type: RatingStarLabelPipe, name: "ratingStarLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
248
+ ], usesOnChanges: true, ngImport: i0, template: "<!-- role=\"application\" is used in order to let user to change value with left/right arrows in JAWS, since JAWS ovverrides these actions -->\n<div class=\"fd-rating-indicator__container\" role=\"application\" aria-roledescription=\"Rating indicator\">\n <!-- Zero value if we don't have provided value from user, `ratingAverage` or `ratings` -->\n <ng-container *ngTemplateOutlet=\"zeroRate\"></ng-container>\n <!-- Available rate values -->\n <ng-container *ngFor=\"let rate of _rates; index as i; trackBy: trackByFn\">\n <input\n [attr.aria-label]=\"i | ratingStarLabel : _rates.length : allowHalves\"\n role=\"button\"\n type=\"radio\"\n class=\"fd-rating-indicator__input\"\n [disabled]=\"disabled\"\n [id]=\"rate.id\"\n name=\"rating-{{ viewRatingUID }}\"\n [value]=\"rate.value\"\n [checked]=\"viewValue === rate.value\"\n (click)=\"onSelect(rate.value)\"\n />\n <label class=\"fd-rating-indicator__label\" [for]=\"rate.id\" aria-hidden=\"true\">\n <i *ngIf=\"ratedIcon\" class=\"fd-rating-indicator__label-rated\" [class]=\"unratedIcon\"></i>\n <i *ngIf=\"unratedIcon\" class=\"fd-rating-indicator__label-unrated\" [class]=\"ratedIcon\"></i>\n </label>\n </ng-container>\n</div>\n<!-- Popover if displayAllRatings is true and we have ratings object -->\n<span\n [fdPopoverTrigger]=\"allRatingContent\"\n *ngIf=\"displayAllRatings && _ratingItems?.length; else dynamicText\"\n class=\"fd-rating-indicator__dynamic-text\"\n>\n (<span aria-label=\"Total raiting\" fd-link>{{ totalRatings }}</span\n >)\n</span>\n<fd-popover\n #allRatingContent\n [triggers]=\"['mouseenter', 'mouseleave']\"\n [noArrow]=\"false\"\n placement=\"top\"\n additionalBodyClass=\"fd-rating-indicator__popover\"\n>\n <div class=\"fd-rating-indicator__sum-row\" [class]=\"sizeClass\" *ngFor=\"let rating of _ratingItems\">\n <div class=\"fd-rating-indicator__container\">\n <ng-container *ngFor=\"let rate of _rates; trackBy: trackByFn\">\n <span\n [class.fd-rating-indicator__input-checked]=\"rate.value === rating.rate\"\n class=\"fd-rating-indicator__input\"\n ></span>\n <label class=\"fd-rating-indicator__label\">\n <i *ngIf=\"ratedIcon\" class=\"fd-rating-indicator__label-rated\" [class]=\"unratedIcon\"></i>\n <i *ngIf=\"unratedIcon\" class=\"fd-rating-indicator__label-unrated\" [class]=\"ratedIcon\"></i>\n </label>\n </ng-container>\n </div>\n ({{ rating.votes }})\n </div>\n</fd-popover>\n\n<ng-template #dynamicText>\n <span *ngIf=\"totalRatings\" class=\"fd-rating-indicator__dynamic-text\">({{ totalRatings }})</span>\n <span *ngIf=\"!totalRatings\" class=\"fd-rating-indicator__dynamic-text\"\n >({{ viewValue }} {{ dynamicTextIndicator }} {{ indicatorCount }})</span\n >\n</ng-template>\n<ng-template #zeroRate let-halves=\"halves\">\n <input\n aria-label=\"Reset to zero\"\n role=\"button\"\n type=\"radio\"\n class=\"fd-rating-indicator__input fd-rating-indicator__input--zero-rating\"\n (click)=\"onSelect(0)\"\n [disabled]=\"disabled\"\n name=\"rating-{{ viewRatingUID }}{{ halves ? '-halves' : '' }}\"\n [checked]=\"viewValue === 0\"\n />\n <label class=\"fd-rating-indicator__label fd-rating-indicator__label--zero-rating\" aria-hidden=\"true\"></label>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.30.2\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-rating-indicator{--fontSize:1.375rem;--spacingBetweenIcons:.1875rem;-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative}.fd-rating-indicator:after,.fd-rating-indicator:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator--cozy{--fontSize:1.5rem;--spacingBetweenIcons:.1875rem;margin:.8125rem 0}.fd-rating-indicator--compact{margin:.5rem 0}.fd-rating-indicator--compact,.fd-rating-indicator--condensed{--fontSize:1rem;--spacingBetweenIcons:.125rem}.fd-rating-indicator--xs{--fontSize:.75rem;--spacingBetweenIcons:1px}.fd-rating-indicator--sm{--fontSize:1rem;--spacingBetweenIcons:.125rem}.fd-rating-indicator--md{--fontSize:1.375rem;--spacingBetweenIcons:.1875rem}.fd-rating-indicator--lg{--fontSize:2rem;--spacingBetweenIcons:.25rem}.fd-rating-indicator__container{-webkit-box-sizing:border-box;border:0;border-radius:var(--fdRating_Indicator_Border_Radius);box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-rating-indicator__container:after,.fd-rating-indicator__container:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator__container:focus-within{outline-color:var(--sapContent_FocusColor);outline-offset:var(--fdRating_Indicator_Focus_Outline_Offset, 0);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-rating-indicator__container:focus-within .fd-rating-indicator__input,.fd-rating-indicator__container:focus-within .fd-rating-indicator__label{outline:none!important}.fd-rating-indicator__input{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fontSize);line-height:var(--sapContent_LineHeight);margin:0;opacity:.0001;padding:0;position:absolute;top:0;width:var(--fontSize);z-index:-1}.fd-rating-indicator__input:after,.fd-rating-indicator__input:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator__input:checked.is-focus,.fd-rating-indicator__input:checked:focus{outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-rating-indicator__input:checked.is-focus+.fd-rating-indicator__label,.fd-rating-indicator__input:checked:focus+.fd-rating-indicator__label{outline-color:var(--sapContent_FocusColor);outline-offset:0;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-rating-indicator__label{-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;display:flex;float:left;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fontSize);line-height:var(--sapContent_LineHeight);margin:0;margin-right:var(--spacingBetweenIcons);opacity:1;padding:0}.fd-rating-indicator__label:after,.fd-rating-indicator__label:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator__label:before{color:var(--sapContent_RatedColor);content:\"\\e065\";font-family:SAP-icons;font-size:var(--fontSize)}.fd-rating-indicator__label:last-child{margin-right:0}.fd-rating-indicator__label:hover:before{-webkit-transition:opacity .125s ease-in;opacity:var(--fdRating_Indicator_Selected_Hover_Opacity);transition:opacity .125s ease-in}.fd-rating-indicator .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before{color:var(--sapContent_UnratedColor);content:\"\\e0a1\"}.fd-rating-indicator__dynamic-text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontSmallSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0 0 0 .5rem;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-rating-indicator__dynamic-text:after,.fd-rating-indicator__dynamic-text:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator--hide-dynamic-text>.fd-rating-indicator__dynamic-text{display:none}.fd-rating-indicator[dir=rtl] .fd-rating-indicator__input:first-child+label,[dir=rtl] .fd-rating-indicator .fd-rating-indicator__input:first-child+label{margin-right:0}.fd-rating-indicator[dir=rtl] .fd-rating-indicator__label,[dir=rtl] .fd-rating-indicator .fd-rating-indicator__label{float:right}.fd-rating-indicator[dir=rtl] .fd-rating-indicator__label:last-child,[dir=rtl] .fd-rating-indicator .fd-rating-indicator__label:last-child{margin-right:var(--spacingBetweenIcons)}.fd-rating-indicator[dir=rtl] .fd-rating-indicator__dynamic-text,[dir=rtl] .fd-rating-indicator .fd-rating-indicator__dynamic-text{margin-left:0;margin-right:.5rem}.fd-rating-indicator.is-disabled,.fd-rating-indicator:disabled,.fd-rating-indicator[aria-disabled=true]{opacity:var(--fdRating_Indicator_Disabled_Control_Opacity);pointer-events:none}.fd-rating-indicator.is-disabled .fd-rating-indicator__input:before,.fd-rating-indicator:disabled .fd-rating-indicator__input:before,.fd-rating-indicator[aria-disabled=true] .fd-rating-indicator__input:before{color:var(--fdRating_Indicator_Disabled_Selected_Color);content:\"\\e065\"}.fd-rating-indicator.is-disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator:disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator[aria-disabled=true] .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before{color:var(--fdRating_Indicator_Disabled_Unselected_Color);content:\"\\e065\";font-size:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio))}.fd-rating-indicator--display-mode{--fontSize:1rem}.fd-rating-indicator--display-mode .fd-rating-indicator__label{margin-right:.125rem}.fd-rating-indicator--display-mode .fd-rating-indicator__label:before{color:var(--fdRating_Indicator_Display_Only_Selected_Color);content:\"\\e065\";font-size:var(--fontSize)}.fd-rating-indicator--display-mode .fd-rating-indicator__label[dir=rtl],[dir=rtl] .fd-rating-indicator--display-mode .fd-rating-indicator__label{margin-left:.125rem;margin-right:0}.fd-rating-indicator--display-mode,.fd-rating-indicator--non-interactive{pointer-events:none}.fd-rating-indicator--display-mode .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator--non-interactive .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before{color:var(--sapContent_UnratedColor);content:\"\\e065\";font-size:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio))}.fd-rating-indicator--icon .fd-rating-indicator__label{height:var(--fontSize);width:var(--fontSize)}.fd-rating-indicator--icon .fd-rating-indicator__label:after,.fd-rating-indicator--icon .fd-rating-indicator__label:before{content:none!important}.fd-rating-indicator--icon .fd-rating-indicator__label-rated,.fd-rating-indicator--icon .fd-rating-indicator__label-unrated{font-size:var(--fontSize);height:100%;line-height:1}.fd-rating-indicator--icon .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-rated,.fd-rating-indicator--icon .fd-rating-indicator__label-unrated{display:none}.fd-rating-indicator--icon .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated{display:block}.fd-rating-indicator--half-star .fd-rating-indicator__input{height:var(--fontSize);width:calc(var(--fontSize) * .5)}.fd-rating-indicator--half-star .fd-rating-indicator__label{margin-right:0;overflow:hidden;width:calc(var(--fontSize) * .5)}.fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6){flex-direction:row-reverse;margin-right:var(--spacingBetweenIcons)}.fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6)[dir=rtl],[dir=rtl] .fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6){margin-left:var(--spacingBetweenIcons);margin-right:0}.fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6)[dir=rtl]:last-child,[dir=rtl] .fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6):last-child{margin-left:0}.fd-rating-indicator--half-star .fd-rating-indicator__label:last-child{margin-right:0}.fd-rating-indicator--half-star .fd-rating-indicator--icon .fd-rating-indicator__label{width:calc(var(--fontSize) * .5)}.fd-rating-indicator--half-star .fd-rating-indicator .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label{width:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio) * .5)}.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label{width:calc(var(--fontSize) * .5)}.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label:before{font-size:var(--fontSize)}.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label{width:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio) * .5)}.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before{font-size:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio))}.fd-rating-indicator[class*=fd-rating-indicator--] .fd-rating-indicator__input--zero-rating,.fd-rating-indicator[class*=fd-rating-indicator--] .fd-rating-indicator__label--zero-rating,.fd-rating-indicator__input--zero-rating,.fd-rating-indicator__label--zero-rating{margin:0;opacity:.0001;overflow:hidden;padding:0;width:0}.fd-rating-indicator__popover{padding:.5rem 0!important}.fd-rating-indicator__popover .fd-rating-indicator__sum-row{display:flex;align-items:center;padding:.5rem 1rem;margin:0}.fd-rating-indicator__popover .fd-rating-indicator__sum-row .fd-rating-indicator__container{margin-right:.5rem}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PopoverTriggerDirective, selector: "[fdPopoverTrigger], [fd-popover-trigger]", inputs: ["fdPopoverTrigger"] }, { kind: "component", type: PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "pipe", type: RatingStarLabelPipe, name: "ratingStarLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
249
249
  }
250
250
  __decorate([
251
251
  applyCssClass,
@@ -262,7 +262,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
262
262
  multi: true
263
263
  },
264
264
  registerFormItemControl(RatingIndicatorComponent)
265
- ], standalone: true, imports: [NgTemplateOutlet, NgFor, NgIf, PopoverTriggerDirective, PopoverComponent, RatingStarLabelPipe], template: "<!-- role=\"application\" is used in order to let user to change value with left/right arrows in JAWS, since JAWS ovverrides these actions -->\n<div class=\"fd-rating-indicator__container\" role=\"application\" aria-roledescription=\"Rating indicator\">\n <!-- Zero value if we don't have provided value from user, `ratingAverage` or `ratings` -->\n <ng-container *ngTemplateOutlet=\"zeroRate\"></ng-container>\n <!-- Available rate values -->\n <ng-container *ngFor=\"let rate of _rates; index as i; trackBy: trackByFn\">\n <input\n [attr.aria-label]=\"i | ratingStarLabel : _rates.length : allowHalves\"\n role=\"button\"\n type=\"radio\"\n class=\"fd-rating-indicator__input\"\n [disabled]=\"disabled\"\n [id]=\"rate.id\"\n name=\"rating-{{ viewRatingUID }}\"\n [value]=\"rate.value\"\n [checked]=\"viewValue === rate.value\"\n (click)=\"onSelect(rate.value)\"\n />\n <label class=\"fd-rating-indicator__label\" [for]=\"rate.id\" aria-hidden=\"true\">\n <i *ngIf=\"ratedIcon\" class=\"fd-rating-indicator__label-rated\" [class]=\"unratedIcon\"></i>\n <i *ngIf=\"unratedIcon\" class=\"fd-rating-indicator__label-unrated\" [class]=\"ratedIcon\"></i>\n </label>\n </ng-container>\n</div>\n<!-- Popover if displayAllRatings is true and we have ratings object -->\n<span\n [fdPopoverTrigger]=\"allRatingContent\"\n *ngIf=\"displayAllRatings && _ratingItems?.length; else dynamicText\"\n class=\"fd-rating-indicator__dynamic-text\"\n>\n (<span aria-label=\"Total raiting\" fd-link>{{ totalRatings }}</span\n >)\n</span>\n<fd-popover\n #allRatingContent\n [triggers]=\"['mouseenter', 'mouseleave']\"\n [noArrow]=\"false\"\n placement=\"top\"\n additionalBodyClass=\"fd-rating-indicator__popover\"\n>\n <div class=\"fd-rating-indicator__sum-row\" [class]=\"sizeClass\" *ngFor=\"let rating of _ratingItems\">\n <div class=\"fd-rating-indicator__container\">\n <ng-container *ngFor=\"let rate of _rates; trackBy: trackByFn\">\n <span\n [class.fd-rating-indicator__input-checked]=\"rate.value === rating.rate\"\n class=\"fd-rating-indicator__input\"\n ></span>\n <label class=\"fd-rating-indicator__label\">\n <i *ngIf=\"ratedIcon\" class=\"fd-rating-indicator__label-rated\" [class]=\"unratedIcon\"></i>\n <i *ngIf=\"unratedIcon\" class=\"fd-rating-indicator__label-unrated\" [class]=\"ratedIcon\"></i>\n </label>\n </ng-container>\n </div>\n ({{ rating.votes }})\n </div>\n</fd-popover>\n\n<ng-template #dynamicText>\n <span *ngIf=\"totalRatings\" class=\"fd-rating-indicator__dynamic-text\">({{ totalRatings }})</span>\n <span *ngIf=\"!totalRatings\" class=\"fd-rating-indicator__dynamic-text\"\n >({{ viewValue }} {{ dynamicTextIndicator }} {{ indicatorCount }})</span\n >\n</ng-template>\n<ng-template #zeroRate let-halves=\"halves\">\n <input\n aria-label=\"Reset to zero\"\n role=\"button\"\n type=\"radio\"\n class=\"fd-rating-indicator__input fd-rating-indicator__input--zero-rating\"\n (click)=\"onSelect(0)\"\n [disabled]=\"disabled\"\n name=\"rating-{{ viewRatingUID }}{{ halves ? '-halves' : '' }}\"\n [checked]=\"viewValue === 0\"\n />\n <label class=\"fd-rating-indicator__label fd-rating-indicator__label--zero-rating\" aria-hidden=\"true\"></label>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.30.2-rc.46\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-rating-indicator{--fontSize:1.375rem;--spacingBetweenIcons:.1875rem;-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative}.fd-rating-indicator:after,.fd-rating-indicator:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator--cozy{--fontSize:1.5rem;--spacingBetweenIcons:.1875rem;margin:.8125rem 0}.fd-rating-indicator--compact{margin:.5rem 0}.fd-rating-indicator--compact,.fd-rating-indicator--condensed{--fontSize:1rem;--spacingBetweenIcons:.125rem}.fd-rating-indicator--xs{--fontSize:.75rem;--spacingBetweenIcons:1px}.fd-rating-indicator--sm{--fontSize:1rem;--spacingBetweenIcons:.125rem}.fd-rating-indicator--md{--fontSize:1.375rem;--spacingBetweenIcons:.1875rem}.fd-rating-indicator--lg{--fontSize:2rem;--spacingBetweenIcons:.25rem}.fd-rating-indicator__container{-webkit-box-sizing:border-box;border:0;border-radius:var(--fdRating_Indicator_Border_Radius);box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-rating-indicator__container:after,.fd-rating-indicator__container:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator__container:focus-within{outline-color:var(--sapContent_FocusColor);outline-offset:var(--fdRating_Indicator_Focus_Outline_Offset, 0);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-rating-indicator__container:focus-within .fd-rating-indicator__input,.fd-rating-indicator__container:focus-within .fd-rating-indicator__label{outline:none!important}.fd-rating-indicator__input{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fontSize);line-height:var(--sapContent_LineHeight);margin:0;opacity:.0001;padding:0;position:absolute;top:0;width:var(--fontSize);z-index:-1}.fd-rating-indicator__input:after,.fd-rating-indicator__input:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator__input:checked.is-focus,.fd-rating-indicator__input:checked:focus{outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-rating-indicator__input:checked.is-focus+.fd-rating-indicator__label,.fd-rating-indicator__input:checked:focus+.fd-rating-indicator__label{outline-color:var(--sapContent_FocusColor);outline-offset:0;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-rating-indicator__label{-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;display:flex;float:left;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fontSize);line-height:var(--sapContent_LineHeight);margin:0;margin-right:var(--spacingBetweenIcons);opacity:1;padding:0}.fd-rating-indicator__label:after,.fd-rating-indicator__label:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator__label:before{color:var(--sapContent_RatedColor);content:\"\\e065\";font-family:SAP-icons;font-size:var(--fontSize)}.fd-rating-indicator__label:last-child{margin-right:0}.fd-rating-indicator__label:hover:before{-webkit-transition:opacity .125s ease-in;opacity:var(--fdRating_Indicator_Selected_Hover_Opacity);transition:opacity .125s ease-in}.fd-rating-indicator .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before{color:var(--sapContent_UnratedColor);content:\"\\e0a1\"}.fd-rating-indicator__dynamic-text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontSmallSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0 0 0 .5rem;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-rating-indicator__dynamic-text:after,.fd-rating-indicator__dynamic-text:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator--hide-dynamic-text>.fd-rating-indicator__dynamic-text{display:none}.fd-rating-indicator[dir=rtl] .fd-rating-indicator__input:first-child+label,[dir=rtl] .fd-rating-indicator .fd-rating-indicator__input:first-child+label{margin-right:0}.fd-rating-indicator[dir=rtl] .fd-rating-indicator__label,[dir=rtl] .fd-rating-indicator .fd-rating-indicator__label{float:right}.fd-rating-indicator[dir=rtl] .fd-rating-indicator__label:last-child,[dir=rtl] .fd-rating-indicator .fd-rating-indicator__label:last-child{margin-right:var(--spacingBetweenIcons)}.fd-rating-indicator[dir=rtl] .fd-rating-indicator__dynamic-text,[dir=rtl] .fd-rating-indicator .fd-rating-indicator__dynamic-text{margin-left:0;margin-right:.5rem}.fd-rating-indicator.is-disabled,.fd-rating-indicator:disabled,.fd-rating-indicator[aria-disabled=true]{opacity:var(--fdRating_Indicator_Disabled_Control_Opacity);pointer-events:none}.fd-rating-indicator.is-disabled .fd-rating-indicator__input:before,.fd-rating-indicator:disabled .fd-rating-indicator__input:before,.fd-rating-indicator[aria-disabled=true] .fd-rating-indicator__input:before{color:var(--fdRating_Indicator_Disabled_Selected_Color);content:\"\\e065\"}.fd-rating-indicator.is-disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator:disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator[aria-disabled=true] .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before{color:var(--fdRating_Indicator_Disabled_Unselected_Color);content:\"\\e065\";font-size:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio))}.fd-rating-indicator--display-mode{--fontSize:1rem}.fd-rating-indicator--display-mode .fd-rating-indicator__label{margin-right:.125rem}.fd-rating-indicator--display-mode .fd-rating-indicator__label:before{color:var(--fdRating_Indicator_Display_Only_Selected_Color);content:\"\\e065\";font-size:var(--fontSize)}.fd-rating-indicator--display-mode .fd-rating-indicator__label[dir=rtl],[dir=rtl] .fd-rating-indicator--display-mode .fd-rating-indicator__label{margin-left:.125rem;margin-right:0}.fd-rating-indicator--display-mode,.fd-rating-indicator--non-interactive{pointer-events:none}.fd-rating-indicator--display-mode .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator--non-interactive .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before{color:var(--sapContent_UnratedColor);content:\"\\e065\";font-size:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio))}.fd-rating-indicator--icon .fd-rating-indicator__label{height:var(--fontSize);width:var(--fontSize)}.fd-rating-indicator--icon .fd-rating-indicator__label:after,.fd-rating-indicator--icon .fd-rating-indicator__label:before{content:none!important}.fd-rating-indicator--icon .fd-rating-indicator__label-rated,.fd-rating-indicator--icon .fd-rating-indicator__label-unrated{font-size:var(--fontSize);height:100%;line-height:1}.fd-rating-indicator--icon .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-rated,.fd-rating-indicator--icon .fd-rating-indicator__label-unrated{display:none}.fd-rating-indicator--icon .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated{display:block}.fd-rating-indicator--half-star .fd-rating-indicator__input{height:var(--fontSize);width:calc(var(--fontSize) * .5)}.fd-rating-indicator--half-star .fd-rating-indicator__label{margin-right:0;overflow:hidden;width:calc(var(--fontSize) * .5)}.fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6){flex-direction:row-reverse;margin-right:var(--spacingBetweenIcons)}.fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6)[dir=rtl],[dir=rtl] .fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6){margin-left:var(--spacingBetweenIcons);margin-right:0}.fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6)[dir=rtl]:last-child,[dir=rtl] .fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6):last-child{margin-left:0}.fd-rating-indicator--half-star .fd-rating-indicator__label:last-child{margin-right:0}.fd-rating-indicator--half-star .fd-rating-indicator--icon .fd-rating-indicator__label{width:calc(var(--fontSize) * .5)}.fd-rating-indicator--half-star .fd-rating-indicator .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label{width:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio) * .5)}.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label{width:calc(var(--fontSize) * .5)}.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label:before{font-size:var(--fontSize)}.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label{width:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio) * .5)}.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before{font-size:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio))}.fd-rating-indicator[class*=fd-rating-indicator--] .fd-rating-indicator__input--zero-rating,.fd-rating-indicator[class*=fd-rating-indicator--] .fd-rating-indicator__label--zero-rating,.fd-rating-indicator__input--zero-rating,.fd-rating-indicator__label--zero-rating{margin:0;opacity:.0001;overflow:hidden;padding:0;width:0}.fd-rating-indicator__popover{padding:.5rem 0!important}.fd-rating-indicator__popover .fd-rating-indicator__sum-row{display:flex;align-items:center;padding:.5rem 1rem;margin:0}.fd-rating-indicator__popover .fd-rating-indicator__sum-row .fd-rating-indicator__container{margin-right:.5rem}\n"] }]
265
+ ], standalone: true, imports: [NgTemplateOutlet, NgFor, NgIf, PopoverTriggerDirective, PopoverComponent, RatingStarLabelPipe], template: "<!-- role=\"application\" is used in order to let user to change value with left/right arrows in JAWS, since JAWS ovverrides these actions -->\n<div class=\"fd-rating-indicator__container\" role=\"application\" aria-roledescription=\"Rating indicator\">\n <!-- Zero value if we don't have provided value from user, `ratingAverage` or `ratings` -->\n <ng-container *ngTemplateOutlet=\"zeroRate\"></ng-container>\n <!-- Available rate values -->\n <ng-container *ngFor=\"let rate of _rates; index as i; trackBy: trackByFn\">\n <input\n [attr.aria-label]=\"i | ratingStarLabel : _rates.length : allowHalves\"\n role=\"button\"\n type=\"radio\"\n class=\"fd-rating-indicator__input\"\n [disabled]=\"disabled\"\n [id]=\"rate.id\"\n name=\"rating-{{ viewRatingUID }}\"\n [value]=\"rate.value\"\n [checked]=\"viewValue === rate.value\"\n (click)=\"onSelect(rate.value)\"\n />\n <label class=\"fd-rating-indicator__label\" [for]=\"rate.id\" aria-hidden=\"true\">\n <i *ngIf=\"ratedIcon\" class=\"fd-rating-indicator__label-rated\" [class]=\"unratedIcon\"></i>\n <i *ngIf=\"unratedIcon\" class=\"fd-rating-indicator__label-unrated\" [class]=\"ratedIcon\"></i>\n </label>\n </ng-container>\n</div>\n<!-- Popover if displayAllRatings is true and we have ratings object -->\n<span\n [fdPopoverTrigger]=\"allRatingContent\"\n *ngIf=\"displayAllRatings && _ratingItems?.length; else dynamicText\"\n class=\"fd-rating-indicator__dynamic-text\"\n>\n (<span aria-label=\"Total raiting\" fd-link>{{ totalRatings }}</span\n >)\n</span>\n<fd-popover\n #allRatingContent\n [triggers]=\"['mouseenter', 'mouseleave']\"\n [noArrow]=\"false\"\n placement=\"top\"\n additionalBodyClass=\"fd-rating-indicator__popover\"\n>\n <div class=\"fd-rating-indicator__sum-row\" [class]=\"sizeClass\" *ngFor=\"let rating of _ratingItems\">\n <div class=\"fd-rating-indicator__container\">\n <ng-container *ngFor=\"let rate of _rates; trackBy: trackByFn\">\n <span\n [class.fd-rating-indicator__input-checked]=\"rate.value === rating.rate\"\n class=\"fd-rating-indicator__input\"\n ></span>\n <label class=\"fd-rating-indicator__label\">\n <i *ngIf=\"ratedIcon\" class=\"fd-rating-indicator__label-rated\" [class]=\"unratedIcon\"></i>\n <i *ngIf=\"unratedIcon\" class=\"fd-rating-indicator__label-unrated\" [class]=\"ratedIcon\"></i>\n </label>\n </ng-container>\n </div>\n ({{ rating.votes }})\n </div>\n</fd-popover>\n\n<ng-template #dynamicText>\n <span *ngIf=\"totalRatings\" class=\"fd-rating-indicator__dynamic-text\">({{ totalRatings }})</span>\n <span *ngIf=\"!totalRatings\" class=\"fd-rating-indicator__dynamic-text\"\n >({{ viewValue }} {{ dynamicTextIndicator }} {{ indicatorCount }})</span\n >\n</ng-template>\n<ng-template #zeroRate let-halves=\"halves\">\n <input\n aria-label=\"Reset to zero\"\n role=\"button\"\n type=\"radio\"\n class=\"fd-rating-indicator__input fd-rating-indicator__input--zero-rating\"\n (click)=\"onSelect(0)\"\n [disabled]=\"disabled\"\n name=\"rating-{{ viewRatingUID }}{{ halves ? '-halves' : '' }}\"\n [checked]=\"viewValue === 0\"\n />\n <label class=\"fd-rating-indicator__label fd-rating-indicator__label--zero-rating\" aria-hidden=\"true\"></label>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.30.2\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-rating-indicator{--fontSize:1.375rem;--spacingBetweenIcons:.1875rem;-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative}.fd-rating-indicator:after,.fd-rating-indicator:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator--cozy{--fontSize:1.5rem;--spacingBetweenIcons:.1875rem;margin:.8125rem 0}.fd-rating-indicator--compact{margin:.5rem 0}.fd-rating-indicator--compact,.fd-rating-indicator--condensed{--fontSize:1rem;--spacingBetweenIcons:.125rem}.fd-rating-indicator--xs{--fontSize:.75rem;--spacingBetweenIcons:1px}.fd-rating-indicator--sm{--fontSize:1rem;--spacingBetweenIcons:.125rem}.fd-rating-indicator--md{--fontSize:1.375rem;--spacingBetweenIcons:.1875rem}.fd-rating-indicator--lg{--fontSize:2rem;--spacingBetweenIcons:.25rem}.fd-rating-indicator__container{-webkit-box-sizing:border-box;border:0;border-radius:var(--fdRating_Indicator_Border_Radius);box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-rating-indicator__container:after,.fd-rating-indicator__container:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator__container:focus-within{outline-color:var(--sapContent_FocusColor);outline-offset:var(--fdRating_Indicator_Focus_Outline_Offset, 0);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-rating-indicator__container:focus-within .fd-rating-indicator__input,.fd-rating-indicator__container:focus-within .fd-rating-indicator__label{outline:none!important}.fd-rating-indicator__input{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fontSize);line-height:var(--sapContent_LineHeight);margin:0;opacity:.0001;padding:0;position:absolute;top:0;width:var(--fontSize);z-index:-1}.fd-rating-indicator__input:after,.fd-rating-indicator__input:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator__input:checked.is-focus,.fd-rating-indicator__input:checked:focus{outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-rating-indicator__input:checked.is-focus+.fd-rating-indicator__label,.fd-rating-indicator__input:checked:focus+.fd-rating-indicator__label{outline-color:var(--sapContent_FocusColor);outline-offset:0;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-rating-indicator__label{-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;display:flex;float:left;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fontSize);line-height:var(--sapContent_LineHeight);margin:0;margin-right:var(--spacingBetweenIcons);opacity:1;padding:0}.fd-rating-indicator__label:after,.fd-rating-indicator__label:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator__label:before{color:var(--sapContent_RatedColor);content:\"\\e065\";font-family:SAP-icons;font-size:var(--fontSize)}.fd-rating-indicator__label:last-child{margin-right:0}.fd-rating-indicator__label:hover:before{-webkit-transition:opacity .125s ease-in;opacity:var(--fdRating_Indicator_Selected_Hover_Opacity);transition:opacity .125s ease-in}.fd-rating-indicator .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before{color:var(--sapContent_UnratedColor);content:\"\\e0a1\"}.fd-rating-indicator__dynamic-text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontSmallSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0 0 0 .5rem;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-rating-indicator__dynamic-text:after,.fd-rating-indicator__dynamic-text:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator--hide-dynamic-text>.fd-rating-indicator__dynamic-text{display:none}.fd-rating-indicator[dir=rtl] .fd-rating-indicator__input:first-child+label,[dir=rtl] .fd-rating-indicator .fd-rating-indicator__input:first-child+label{margin-right:0}.fd-rating-indicator[dir=rtl] .fd-rating-indicator__label,[dir=rtl] .fd-rating-indicator .fd-rating-indicator__label{float:right}.fd-rating-indicator[dir=rtl] .fd-rating-indicator__label:last-child,[dir=rtl] .fd-rating-indicator .fd-rating-indicator__label:last-child{margin-right:var(--spacingBetweenIcons)}.fd-rating-indicator[dir=rtl] .fd-rating-indicator__dynamic-text,[dir=rtl] .fd-rating-indicator .fd-rating-indicator__dynamic-text{margin-left:0;margin-right:.5rem}.fd-rating-indicator.is-disabled,.fd-rating-indicator:disabled,.fd-rating-indicator[aria-disabled=true]{opacity:var(--fdRating_Indicator_Disabled_Control_Opacity);pointer-events:none}.fd-rating-indicator.is-disabled .fd-rating-indicator__input:before,.fd-rating-indicator:disabled .fd-rating-indicator__input:before,.fd-rating-indicator[aria-disabled=true] .fd-rating-indicator__input:before{color:var(--fdRating_Indicator_Disabled_Selected_Color);content:\"\\e065\"}.fd-rating-indicator.is-disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator:disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator[aria-disabled=true] .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before{color:var(--fdRating_Indicator_Disabled_Unselected_Color);content:\"\\e065\";font-size:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio))}.fd-rating-indicator--display-mode{--fontSize:1rem}.fd-rating-indicator--display-mode .fd-rating-indicator__label{margin-right:.125rem}.fd-rating-indicator--display-mode .fd-rating-indicator__label:before{color:var(--fdRating_Indicator_Display_Only_Selected_Color);content:\"\\e065\";font-size:var(--fontSize)}.fd-rating-indicator--display-mode .fd-rating-indicator__label[dir=rtl],[dir=rtl] .fd-rating-indicator--display-mode .fd-rating-indicator__label{margin-left:.125rem;margin-right:0}.fd-rating-indicator--display-mode,.fd-rating-indicator--non-interactive{pointer-events:none}.fd-rating-indicator--display-mode .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator--non-interactive .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before{color:var(--sapContent_UnratedColor);content:\"\\e065\";font-size:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio))}.fd-rating-indicator--icon .fd-rating-indicator__label{height:var(--fontSize);width:var(--fontSize)}.fd-rating-indicator--icon .fd-rating-indicator__label:after,.fd-rating-indicator--icon .fd-rating-indicator__label:before{content:none!important}.fd-rating-indicator--icon .fd-rating-indicator__label-rated,.fd-rating-indicator--icon .fd-rating-indicator__label-unrated{font-size:var(--fontSize);height:100%;line-height:1}.fd-rating-indicator--icon .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-rated,.fd-rating-indicator--icon .fd-rating-indicator__label-unrated{display:none}.fd-rating-indicator--icon .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated{display:block}.fd-rating-indicator--half-star .fd-rating-indicator__input{height:var(--fontSize);width:calc(var(--fontSize) * .5)}.fd-rating-indicator--half-star .fd-rating-indicator__label{margin-right:0;overflow:hidden;width:calc(var(--fontSize) * .5)}.fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6){flex-direction:row-reverse;margin-right:var(--spacingBetweenIcons)}.fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6)[dir=rtl],[dir=rtl] .fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6){margin-left:var(--spacingBetweenIcons);margin-right:0}.fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6)[dir=rtl]:last-child,[dir=rtl] .fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6):last-child{margin-left:0}.fd-rating-indicator--half-star .fd-rating-indicator__label:last-child{margin-right:0}.fd-rating-indicator--half-star .fd-rating-indicator--icon .fd-rating-indicator__label{width:calc(var(--fontSize) * .5)}.fd-rating-indicator--half-star .fd-rating-indicator .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label{width:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio) * .5)}.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label{width:calc(var(--fontSize) * .5)}.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label:before{font-size:var(--fontSize)}.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label{width:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio) * .5)}.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before{font-size:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio))}.fd-rating-indicator[class*=fd-rating-indicator--] .fd-rating-indicator__input--zero-rating,.fd-rating-indicator[class*=fd-rating-indicator--] .fd-rating-indicator__label--zero-rating,.fd-rating-indicator__input--zero-rating,.fd-rating-indicator__label--zero-rating{margin:0;opacity:.0001;overflow:hidden;padding:0;width:0}.fd-rating-indicator__popover{padding:.5rem 0!important}.fd-rating-indicator__popover .fd-rating-indicator__sum-row{display:flex;align-items:center;padding:.5rem 1rem;margin:0}.fd-rating-indicator__popover .fd-rating-indicator__sum-row .fd-rating-indicator__container{margin-right:.5rem}\n"] }]
266
266
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { class: [{
267
267
  type: Input
268
268
  }], name: [{
@@ -315,4 +315,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
315
315
  }], ratingChanged: [{
316
316
  type: Output
317
317
  }], buildComponentCssClass: [] } });
318
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0aW5nLWluZGljYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9yYXRpbmctaW5kaWNhdG9yL2NvbXBvbmVudHMvcmF0aW5nLWluZGljYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9yYXRpbmctaW5kaWNhdG9yL2NvbXBvbmVudHMvcmF0aW5nLWluZGljYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEVBRU4saUJBQWlCLEVBQ2pCLFVBQVUsRUFDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRSxPQUFPLEVBQTZCLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RGLE9BQU8sRUFBbUIsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRixPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLDBCQUEwQixFQUMxQixnQkFBZ0IsRUFFaEIsdUJBQXVCLEVBQzFCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQUV0RSxJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUM7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QkFRTixPQUFPO3NCQUROLEtBQUs7Z0JBT04saUJBQWlCO3NCQURoQixLQUFLO2dCQU9OLFNBQVM7c0JBRFIsS0FBSztnQkFNTixXQUFXO3NCQURWLEtBQUs7Z0JBT04sSUFBSTtzQkFESCxLQUFLO2dCQU9OLG9CQUFvQjtzQkFEbkIsS0FBSztnQkFPTixhQUFhO3NCQURaLE1BQU07Z0JBa0hQLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZU51bWJlclByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgZm9yd2FyZFJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgTmdGb3IsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ3NzQ2xhc3NCdWlsZGVyLCBOdWxsYWJsZSwgYXBwbHlDc3NDbGFzcyB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IEZvcm1JdGVtQ29udHJvbCwgcmVnaXN0ZXJGb3JtSXRlbUNvbnRyb2wgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZm9ybSc7XG5pbXBvcnQgeyBQb3BvdmVyQ29tcG9uZW50LCBQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9wb3BvdmVyJztcbmltcG9ydCB7XG4gICAgSU5ESUNBVE9SX0NMQVNTRVMsXG4gICAgSU5ESUNBVE9SX0RFRkFVTFRfQ0FQQUNJVFksXG4gICAgSU5ESUNBVE9SX1BSRUZJWCxcbiAgICBSYXRpbmdJbmRpY2F0b3JTaXplLFxuICAgIFJhdGluZ0luZGljYXRvclNpemVFbnVtXG59IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBSYXRpbmdTdGFyTGFiZWxQaXBlIH0gZnJvbSAnLi4vcGlwZXMvcmF0aW5nLXN0YXItbGFiZWwucGlwZSc7XG5cbmxldCByYXRpbmdVSUQgPSAwO1xuXG5pbnRlcmZhY2UgTnVtYmVyS2V5PFQ+IHtcbiAgICBba2V5OiBudW1iZXJdOiBUO1xufVxuXG5pbnRlcmZhY2UgUmF0aW5nVmlld0l0ZW0ge1xuICAgIHJhdGU6IG51bWJlcjtcbiAgICB2b3RlczogbnVtYmVyO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLXJhdGluZy1pbmRpY2F0b3InLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yYXRpbmctaW5kaWNhdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9yYXRpbmctaW5kaWNhdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSYXRpbmdJbmRpY2F0b3JDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgcmVnaXN0ZXJGb3JtSXRlbUNvbnRyb2woUmF0aW5nSW5kaWNhdG9yQ29tcG9uZW50KVxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdUZW1wbGF0ZU91dGxldCwgTmdGb3IsIE5nSWYsIFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlLCBQb3BvdmVyQ29tcG9uZW50LCBSYXRpbmdTdGFyTGFiZWxQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBSYXRpbmdJbmRpY2F0b3JDb21wb25lbnRcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBDc3NDbGFzc0J1aWxkZXIsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtSXRlbUNvbnRyb2xcbntcbiAgICAvKiogVXNlcidzIGN1c3RvbSBjbGFzc2VzICovXG4gICAgQElucHV0KClcbiAgICBjbGFzczogc3RyaW5nO1xuXG4gICAgLyoqIFNldHMgW25hbWVdIGF0dHJpYnV0ZSBvZiBpbnB1dC4gKi9cbiAgICBASW5wdXQoKVxuICAgIG5hbWU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGFyaWEtbGFiZWwgYXR0cmlidXRlIHRvIHRoZSBlbGVtZW50LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGFiZWwnKVxuICAgIGFyaWFMYWJlbDogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGFyaWEtbGFiZWxsZWRieSBhdHRyaWJ1dGUgdG8gdGhlIGVsZW1lbnQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1sYWJlbCcpXG4gICAgYXJpYUxhYmVsbGVkQnk6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBhcmlhLWRpc2FibGVkIGF0dHJpYnV0ZSB0byB0aGUgZWxlbWVudC5cbiAgICAgKiBTZXRzIHRoZSBpcy1kaXNhYmxlZCBjbGFzcyB0byB0aGUgZWxlbWVudC5cbiAgICAgKiBXaGV0aGVyIHRoZSByYXRpbmcgaW5kaWNhdG9yIGlzIGRpc2FibGVkXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLWRpc2FibGVkJylcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1kaXNhYmxlZCcpXG4gICAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGlzLWRpc3BsYXktbW9kZSBjbGFzcyB0byB0aGUgZWxlbWVudC5cbiAgICAgKiBXaGV0aGVyIHRoZSByYXRpbmcgaW5kaWNhdG9yIGlzIGluIGRpc3BsYXlNb2RlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLWRpc3BsYXktbW9kZScpXG4gICAgZGlzcGxheU1vZGUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIE51bWJlciBvZiByYXRlcyB0byBkaXNwbGF5XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgaW5kaWNhdG9yQ2FwYWNpdHkodmFsdWU6IG51bWJlcikge1xuICAgICAgICBjb25zdCB2YWwgPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSwgSU5ESUNBVE9SX0RFRkFVTFRfQ0FQQUNJVFkpO1xuICAgICAgICB0aGlzLl9pbmRpY2F0b3JDYXBhY2l0eSA9IHZhbCA8IDEgPyBJTkRJQ0FUT1JfREVGQVVMVF9DQVBBQ0lUWSA6IHZhbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG9yIG5vdCB0byBkaXNwbGF5IGhhbGYgdmFsdWVzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgYWxsb3dIYWx2ZXMgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFVzZXIncyB2YWx1ZSBudW1iZXIgb2YgcmF0aW5ncy4gSWYgcHJvdmlkZWQsIE92ZXJyaWRlcyByYXRpbmdBdmVyYWdlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgdmFsdWUgPSAwO1xuXG4gICAgLyoqXG4gICAgICogVG90YWwgbnVtYmVyIG9mIHJhdGluZ3MuIElmIHByb3ZpZGVkLCB3aWxsIGRpc3BsYXkgdGV4dCBzaG93aW5nIHRoZSB0b3RhbCBudW1iZXIgb2YgcmF0aW5ncy5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHRvdGFsUmF0aW5nczogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogUmF0aW5nIGF2ZXJhZ2VcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHJhdGluZ0F2ZXJhZ2U6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIE9iamVjdCBjb250YWluaW5nIGtleS12YWx1ZSBwYWlycyB3aGVyZSB0aGUga2V5IGlzIHRoZSByYXRpbmcgYW5kIHRoZSB2YWx1ZSBpcyB0aGUgdG90YWwgc3VtIG9mIHRob3NlIHJhdGluZ3MuXG4gICAgICogT3ZlcnJpZGVzIHRvdGFsUmF0aW5ncyBhbmQgcmF0aW5nQXZlcmFnZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHJhdGluZ3M6IE51bWJlcktleTxudW1iZXI+O1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBvciBub3QgdG8gZGlzcGxheSB0aGUgcG9wb3ZlciB0aGF0IHNob3dzIHRoZSBzdW0gb2YgZWFjaCByYXRpbmcuIFJlcXVpcmVzIFtyYXRpbmdzXSBvYmplY3QuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBkaXNwbGF5QWxsUmF0aW5ncyA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogSWNvbiBjbGFzcyBmb3IgcmF0ZWQgaWNvbiBmcm9tIGZ1bmRhbWVudGFsLXN0eWxlcyBsaWIgaHR0cHM6Ly9zYXAuZ2l0aHViLmlvL2Z1bmRhbWVudGFsLXN0eWxlcy8/cGF0aD0vZG9jcy9jb21wb25lbnRzLWljb24tLXNpemVzXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICByYXRlZEljb246IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBJY29uIGNsYXNzIGZvciB1bnJhdGVkIGljb24gZnJvbSBmdW5kYW1lbnRhbC1zdHlsZXMgbGliIGh0dHBzOi8vc2FwLmdpdGh1Yi5pby9mdW5kYW1lbnRhbC1zdHlsZXMvP3BhdGg9L2RvY3MvY29tcG9uZW50cy1pY29uLS1zaXplc1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgdW5yYXRlZEljb246IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFBvc3NpYmxlIHZhbHVlcyBhcmUgJ3hzJywgJ3NtJywgJ21kJywgJ2xnJywgJ2NvenknLCAnY29tcGFjdCcsICdjb25kZW5zZWQnXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzaXplOiBSYXRpbmdJbmRpY2F0b3JTaXplID0gJ21kJztcblxuICAgIC8qKlxuICAgICAqIFRleHQgZGl2aWRlciBsYWJlbCBiZXR3ZWVuIHZpZXcgdmFsdWUgYW5kIGluZGljYXRvciBjb3VudC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGR5bmFtaWNUZXh0SW5kaWNhdG9yID0gJ29mJztcblxuICAgIC8qKlxuICAgICAqIEZpcmVkIHdoZW4gdGhlIHVzZXIgc2V0cyBvciBjaGFuZ2VzIHRoZWlyIHJhdGluZy5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICByYXRpbmdDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNpemVDbGFzcyA9IHRoaXMuX2dldFNpemVDbGFzcyh0aGlzLnNpemUpO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3JhdGVzOiB7IGlkOiBzdHJpbmc7IHZhbHVlOiBudW1iZXIgfVtdID0gW107XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfcmF0aW5nSXRlbXM6IFJhdGluZ1ZpZXdJdGVtW10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmF0aW5nVUlEID0gcmF0aW5nVUlEKys7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pbmRpY2F0b3JDYXBhY2l0eSA9IElORElDQVRPUl9ERUZBVUxUX0NBUEFDSVRZO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdmFsdWUgPSAwO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaGlkZUR5bmFtaWNUZXh0ID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlYWRvbmx5IF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgdmlld1JhdGluZ1VJRCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmF0aW5nVUlEO1xuICAgIH1cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBpbmRpY2F0b3JDb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5faW5kaWNhdG9yQ2FwYWNpdHk7XG4gICAgfVxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IHZpZXdWYWx1ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBvbkNoYW5nZTogKHZhbHVlOiBudW1iZXIpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgb25Ub3VjaGVkID0gKCk6IHZvaWQgPT4ge307XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuX2NvbnZlcnRUb1ZhbHVlKCk7XG4gICAgICAgIHRoaXMuX3JhdGVzID0gdGhpcy5fZ2V0UmF0ZXMoKTtcbiAgICAgICAgdGhpcy5idWlsZENvbXBvbmVudENzc0NsYXNzKCk7XG4gICAgICAgIHRoaXMuX2dlbmVyYXRlUmF0aW5ncygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICAnY2xhc3MnIGluIGNoYW5nZXMgfHxcbiAgICAgICAgICAgICdzaXplJyBpbiBjaGFuZ2VzIHx8XG4gICAgICAgICAgICAncmF0ZWRJY29uJyBpbiBjaGFuZ2VzIHx8XG4gICAgICAgICAgICAndW5yYXRlZEljb24nIGluIGNoYW5nZXMgfHxcbiAgICAgICAgICAgICdhbGxvd0hhbHZlcycgaW4gY2hhbmdlc1xuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuYnVpbGRDb21wb25lbnRDc3NDbGFzcygpO1xuICAgICAgICB9XG4gICAgICAgIGlmICgndmFsdWUnIGluIGNoYW5nZXMpIHtcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5fY29udmVydFRvVmFsdWUoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoJ2luZGljYXRvckNhcGFjaXR5JyBpbiBjaGFuZ2VzKSB7XG4gICAgICAgICAgICB0aGlzLl9yYXRlcyA9IHRoaXMuX2dldFJhdGVzKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCdhbGxvd0hhbHZlcycgaW4gY2hhbmdlcykge1xuICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB0aGlzLl9jb252ZXJ0VG9WYWx1ZSgpO1xuICAgICAgICAgICAgdGhpcy5fcmF0ZXMgPSB0aGlzLl9nZXRSYXRlcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCdyYXRpbmdzJyBpbiBjaGFuZ2VzKSB7XG4gICAgICAgICAgICB0aGlzLl9nZW5lcmF0ZVJhdGluZ3MoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5fcGFyc2VWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBudW1iZXIpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgaXRlbTogeyBpZDogc3RyaW5nOyB2YWx1ZTogbnVtYmVyIH0pOiBudW1iZXIgfCBzdHJpbmcge1xuICAgICAgICByZXR1cm4gaXRlbS5pZDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG9uU2VsZWN0KHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgICB0aGlzLnJhdGluZ0NoYW5nZWQuZW1pdCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW5cbiAgICAgKiBDc3NDbGFzc0J1aWxkZXIgaW50ZXJmYWNlIGltcGxlbWVudGF0aW9uXG4gICAgICogZnVuY3Rpb24gbXVzdCByZXR1cm4gc2luZ2xlIHN0cmluZ1xuICAgICAqIGZ1bmN0aW9uIGlzIHJlc3BvbnNpYmxlIGZvciBvcmRlciB3aGljaCBjc3MgY2xhc3NlcyBhcmUgYXBwbGllZFxuICAgICAqL1xuICAgIEBhcHBseUNzc0NsYXNzXG4gICAgYnVpbGRDb21wb25lbnRDc3NDbGFzcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHRoaXMuc2l6ZUNsYXNzID0gdGhpcy5fZ2V0U2l6ZUNsYXNzKHRoaXMuc2l6ZSk7XG5cbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIElORElDQVRPUl9QUkVGSVgsXG4gICAgICAgICAgICB0aGlzLnNpemVDbGFzcyxcbiAgICAgICAgICAgIHRoaXMuYWxsb3dIYWx2ZXMgPyBJTkRJQ0FUT1JfQ0xBU1NFUy5oYWx2ZXMgOiAnJyxcbiAgICAgICAgICAgICEhdGhpcy5yYXRlZEljb24gJiYgISF0aGlzLnVucmF0ZWRJY29uID8gSU5ESUNBVE9SX0NMQVNTRVMuaWNvbiA6ICcnLFxuICAgICAgICAgICAgdGhpcy5faGlkZUR5bmFtaWNUZXh0IHx8ICF0aGlzLl92YWx1ZSA/IElORElDQVRPUl9DTEFTU0VTLmhpZGVEeW5hbWljVGV4dCA6ICcnLFxuICAgICAgICAgICAgdGhpcy5jbGFzc1xuICAgICAgICBdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBHZW5lcmF0ZSByYXRpbmcgaXRlbXMgZm9yIHBvcG92ZXIgY29udGVudCBpZiByYXRpbmcgb2JqZWN0IHdhcyBkZWZpbmVkXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZ2VuZXJhdGVSYXRpbmdzKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMucmF0aW5ncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJhdGluZ3MgPSBPYmplY3QuZW50cmllcyh0aGlzLnJhdGluZ3MpXG4gICAgICAgICAgICAuZmlsdGVyKChbcmF0ZSwgdm90ZV0pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBfcmF0ZSA9ICtyYXRlO1xuICAgICAgICAgICAgICAgIHJldHVybiAhaXNOYU4oX3JhdGUpICYmICFpc05hTigrdm90ZSkgJiYgX3JhdGUgPiAwO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5tYXAoKFtyYXRlLCB2b3Rlc10pID0+ICh7IHJhdGU6ICtyYXRlLCB2b3RlcyB9KSk7XG4gICAgICAgIGlmIChyYXRpbmdzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHsgdG90YWxWb3RlcywgdG90YWxSYXRpbmcgfSA9IHJhdGluZ3MucmVkdWNlKFxuICAgICAgICAgICAgKHRvdGFsLCByYXRpbmcpID0+ICh7XG4gICAgICAgICAgICAgICAgdG90YWxWb3RlczogdG90YWwudG90YWxWb3RlcyArIHJhdGluZy52b3RlcyxcbiAgICAgICAgICAgICAgICB0b3RhbFJhdGluZzogdG90YWwudG90YWxSYXRpbmcgKyByYXRpbmcucmF0ZSAqIHJhdGluZy52b3Rlc1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB7IHRvdGFsVm90ZXM6IDAsIHRvdGFsUmF0aW5nOiAwIH1cbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLl9yYXRpbmdJdGVtcyA9IHJhdGluZ3M7XG4gICAgICAgIHRoaXMucmF0aW5nQXZlcmFnZSA9IHRvdGFsUmF0aW5nIC8gdG90YWxWb3RlcztcbiAgICAgICAgdGhpcy50b3RhbFJhdGluZ3MgPSB0b3RhbFZvdGVzO1xuICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuX2NvbnZlcnRUb1ZhbHVlKCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBnZXQgY29udmVydGVkIHZpZXdWYWx1ZSBmb3IgcmVuZGVyIGluIGNvbXBvbmVudCB0ZW1wbGF0ZSBmcm9tIG9yaWdpbmFsIHZhbHVlIGlmIGl0IHN0aWxsIGV4aXN0cywgb3IgcmF0aW5nQXZlcmFnZS5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9jb252ZXJ0VG9WYWx1ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGFyc2VWYWx1ZSh0aGlzLnZhbHVlIHx8IHRoaXMucmF0aW5nQXZlcmFnZSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBnZXQgY29udmVydGVkIHZhbHVlIGZyb20gb3JpZ2luYWwgdG8gdmlldyB2YWx1ZSB3aXRoIGRlcGVuZHMgb24gaGFsdmVzXG4gICAgICogRm9yIGV4YW1wbGUsXG4gICAgICogIG9yaWdpbmFsIHZhbHVlIGlzIGVxdWFsIHRvIDIuMzQsIHlvdSB3aWxsIGdldCBhbmQgcmVuZGVyIDJcbiAgICAgKiAgb3JpZ2luYWwgdmFsdWUgaXMgZXF1YWwgdG8gMy43NCwgeW91IHdpbGwgZ2V0IGFuZCByZW5kZXIgNFxuICAgICAqL1xuICAgIHByaXZhdGUgX3BhcnNlVmFsdWUodmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIGlmICghdmFsdWUgfHwgdmFsdWUgPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGludGVnZXIgPSBNYXRoLmZsb29yKHZhbHVlKTtcbiAgICAgICAgY29uc3QgZnJhY3Rpb25hbCA9IHZhbHVlICUgMTtcbiAgICAgICAgbGV0IHYgPSBpbnRlZ2VyO1xuXG4gICAgICAgIGlmICh0aGlzLmFsbG93SGFsdmVzICYmIGZyYWN0aW9uYWwgPiAwLjI1ICYmIGZyYWN0aW9uYWwgPD0gMC41KSB7XG4gICAgICAgICAgICB2ID0gaW50ZWdlciArIDAuNTtcbiAgICAgICAgfSBlbHNlIGlmIChmcmFjdGlvbmFsID4gMC41KSB7XG4gICAgICAgICAgICB2ID0gaW50ZWdlciArIDE7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gTWF0aC5taW4odGhpcy5pbmRpY2F0b3JDb3VudCwgdik7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBnZXQgcmF0aW5nIGljb25zIGFycmF5IHdpdGggdmFsdWUgYW5kIHVuaWMgaWRcbiAgICAgKi9cbiAgICBwcml2YXRlIF9nZXRSYXRlcygpOiB7IGlkOiBzdHJpbmc7IHZhbHVlOiBudW1iZXIgfVtdIHtcbiAgICAgICAgY29uc3Qgd2l0aEhhbHZlcyA9IHRoaXMuYWxsb3dIYWx2ZXMgPyAyIDogMTtcbiAgICAgICAgcmV0dXJuIEFycmF5KHRoaXMuaW5kaWNhdG9yQ291bnQgKiB3aXRoSGFsdmVzKVxuICAgICAgICAgICAgLmZpbGwoYHJhdGluZy0ke3RoaXMuX3JhdGluZ1VJRH1gKVxuICAgICAgICAgICAgLm1hcCgobmFtZSwgaW5kZXgpID0+ICh7XG4gICAgICAgICAgICAgICAgaWQ6IGAke25hbWV9LSR7aW5kZXggKyAxfWAsXG4gICAgICAgICAgICAgICAgdmFsdWU6IChpbmRleCArIDEpIC8gd2l0aEhhbHZlc1xuICAgICAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBnZXQgcmF0aW5nIGljb25zIGFycmF5IHdpdGggdmFsdWUgYW5kIHVuaWMgaWRcbiAgICAgKi9cbiAgICBwcml2YXRlIF9nZXRTaXplQ2xhc3Moc2l6ZTogUmF0aW5nSW5kaWNhdG9yU2l6ZSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHtJTkRJQ0FUT1JfUFJFRklYfS0tJHtzaXplIGluIFJhdGluZ0luZGljYXRvclNpemVFbnVtID8gc2l6ZSA6ICdtZCd9YDtcbiAgICB9XG59XG4iLCI8IS0tICByb2xlPVwiYXBwbGljYXRpb25cIiBpcyB1c2VkIGluIG9yZGVyIHRvIGxldCB1c2VyIHRvIGNoYW5nZSB2YWx1ZSB3aXRoIGxlZnQvcmlnaHQgYXJyb3dzIGluIEpBV1MsIHNpbmNlIEpBV1Mgb3Z2ZXJyaWRlcyB0aGVzZSBhY3Rpb25zIC0tPlxuPGRpdiBjbGFzcz1cImZkLXJhdGluZy1pbmRpY2F0b3JfX2NvbnRhaW5lclwiIHJvbGU9XCJhcHBsaWNhdGlvblwiIGFyaWEtcm9sZWRlc2NyaXB0aW9uPVwiUmF0aW5nIGluZGljYXRvclwiPlxuICAgIDwhLS0gWmVybyB2YWx1ZSBpZiB3ZSBkb24ndCBoYXZlIHByb3ZpZGVkIHZhbHVlIGZyb20gdXNlciwgYHJhdGluZ0F2ZXJhZ2VgIG9yIGByYXRpbmdzYCAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiemVyb1JhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8IS0tIEF2YWlsYWJsZSByYXRlIHZhbHVlcyAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByYXRlIG9mIF9yYXRlczsgaW5kZXggYXMgaTsgdHJhY2tCeTogdHJhY2tCeUZuXCI+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpIHwgcmF0aW5nU3RhckxhYmVsIDogX3JhdGVzLmxlbmd0aCA6IGFsbG93SGFsdmVzXCJcbiAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZmQtcmF0aW5nLWluZGljYXRvcl9faW5wdXRcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFtpZF09XCJyYXRlLmlkXCJcbiAgICAgICAgICAgIG5hbWU9XCJyYXRpbmcte3sgdmlld1JhdGluZ1VJRCB9fVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwicmF0ZS52YWx1ZVwiXG4gICAgICAgICAgICBbY2hlY2tlZF09XCJ2aWV3VmFsdWUgPT09IHJhdGUudmFsdWVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0KHJhdGUudmFsdWUpXCJcbiAgICAgICAgLz5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiZmQtcmF0aW5nLWluZGljYXRvcl9fbGFiZWxcIiBbZm9yXT1cInJhdGUuaWRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICAgIDxpICpuZ0lmPVwicmF0ZWRJY29uXCIgY2xhc3M9XCJmZC1yYXRpbmctaW5kaWNhdG9yX19sYWJlbC1yYXRlZFwiIFtjbGFzc109XCJ1bnJhdGVkSWNvblwiPjwvaT5cbiAgICAgICAgICAgIDxpICpuZ0lmPVwidW5yYXRlZEljb25cIiBjbGFzcz1cImZkLXJhdGluZy1pbmRpY2F0b3JfX2xhYmVsLXVucmF0ZWRcIiBbY2xhc3NdPVwicmF0ZWRJY29uXCI+PC9pPlxuICAgICAgICA8L2xhYmVsPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG48IS0tIFBvcG92ZXIgaWYgZGlzcGxheUFsbFJhdGluZ3MgaXMgdHJ1ZSBhbmQgd2UgaGF2ZSByYXRpbmdzIG9iamVjdCAtLT5cbjxzcGFuXG4gICAgW2ZkUG9wb3ZlclRyaWdnZXJdPVwiYWxsUmF0aW5nQ29udGVudFwiXG4gICAgKm5nSWY9XCJkaXNwbGF5QWxsUmF0aW5ncyAmJiBfcmF0aW5nSXRlbXM/Lmxlbmd0aDsgZWxzZSBkeW5hbWljVGV4dFwiXG4gICAgY2xhc3M9XCJmZC1yYXRpbmctaW5kaWNhdG9yX19keW5hbWljLXRleHRcIlxuPlxuICAgICg8c3BhbiBhcmlhLWxhYmVsPVwiVG90YWwgcmFpdGluZ1wiIGZkLWxpbms+e3sgdG90YWxSYXRpbmdzIH19PC9zcGFuXG4gICAgPilcbjwvc3Bhbj5cbjxmZC1wb3BvdmVyXG4gICAgI2FsbFJhdGluZ0NvbnRlbnRcbiAgICBbdHJpZ2dlcnNdPVwiWydtb3VzZWVudGVyJywgJ21vdXNlbGVhdmUnXVwiXG4gICAgW25vQXJyb3ddPVwiZmFsc2VcIlxuICAgIHBsYWNlbWVudD1cInRvcFwiXG4gICAgYWRkaXRpb25hbEJvZHlDbGFzcz1cImZkLXJhdGluZy1pbmRpY2F0b3JfX3BvcG92ZXJcIlxuPlxuICAgIDxkaXYgY2xhc3M9XCJmZC1yYXRpbmctaW5kaWNhdG9yX19zdW0tcm93XCIgW2NsYXNzXT1cInNpemVDbGFzc1wiICpuZ0Zvcj1cImxldCByYXRpbmcgb2YgX3JhdGluZ0l0ZW1zXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmZC1yYXRpbmctaW5kaWNhdG9yX19jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJhdGUgb2YgX3JhdGVzOyB0cmFja0J5OiB0cmFja0J5Rm5cIj5cbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZmQtcmF0aW5nLWluZGljYXRvcl9faW5wdXQtY2hlY2tlZF09XCJyYXRlLnZhbHVlID09PSByYXRpbmcucmF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtcmF0aW5nLWluZGljYXRvcl9faW5wdXRcIlxuICAgICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZmQtcmF0aW5nLWluZGljYXRvcl9fbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJyYXRlZEljb25cIiBjbGFzcz1cImZkLXJhdGluZy1pbmRpY2F0b3JfX2xhYmVsLXJhdGVkXCIgW2NsYXNzXT1cInVucmF0ZWRJY29uXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cInVucmF0ZWRJY29uXCIgY2xhc3M9XCJmZC1yYXRpbmctaW5kaWNhdG9yX19sYWJlbC11bnJhdGVkXCIgW2NsYXNzXT1cInJhdGVkSWNvblwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICAoe3sgcmF0aW5nLnZvdGVzIH19KVxuICAgIDwvZGl2PlxuPC9mZC1wb3BvdmVyPlxuXG48bmctdGVtcGxhdGUgI2R5bmFtaWNUZXh0PlxuICAgIDxzcGFuICpuZ0lmPVwidG90YWxSYXRpbmdzXCIgY2xhc3M9XCJmZC1yYXRpbmctaW5kaWNhdG9yX19keW5hbWljLXRleHRcIj4oe3sgdG90YWxSYXRpbmdzIH19KTwvc3Bhbj5cbiAgICA8c3BhbiAqbmdJZj1cIiF0b3RhbFJhdGluZ3NcIiBjbGFzcz1cImZkLXJhdGluZy1pbmRpY2F0b3JfX2R5bmFtaWMtdGV4dFwiXG4gICAgICAgID4oe3sgdmlld1ZhbHVlIH19IHt7IGR5bmFtaWNUZXh0SW5kaWNhdG9yIH19IHt7IGluZGljYXRvckNvdW50IH19KTwvc3BhblxuICAgID5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI3plcm9SYXRlIGxldC1oYWx2ZXM9XCJoYWx2ZXNcIj5cbiAgICA8aW5wdXRcbiAgICAgICAgYXJpYS1sYWJlbD1cIlJlc2V0IHRvIHplcm9cIlxuICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgY2xhc3M9XCJmZC1yYXRpbmctaW5kaWNhdG9yX19pbnB1dCBmZC1yYXRpbmctaW5kaWNhdG9yX19pbnB1dC0temVyby1yYXRpbmdcIlxuICAgICAgICAoY2xpY2spPVwib25TZWxlY3QoMClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBuYW1lPVwicmF0aW5nLXt7IHZpZXdSYXRpbmdVSUQgfX17eyBoYWx2ZXMgPyAnLWhhbHZlcycgOiAnJyB9fVwiXG4gICAgICAgIFtjaGVja2VkXT1cInZpZXdWYWx1ZSA9PT0gMFwiXG4gICAgLz5cbiAgICA8bGFiZWwgY2xhc3M9XCJmZC1yYXRpbmctaW5kaWNhdG9yX19sYWJlbCBmZC1yYXRpbmctaW5kaWNhdG9yX19sYWJlbC0temVyby1yYXRpbmdcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2xhYmVsPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
318
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0aW5nLWluZGljYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9yYXRpbmctaW5kaWNhdG9yL2NvbXBvbmVudHMvcmF0aW5nLWluZGljYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9yYXRpbmctaW5kaWNhdG9yL2NvbXBvbmVudHMvcmF0aW5nLWluZGljYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEVBRU4saUJBQWlCLEVBQ2pCLFVBQVUsRUFDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRSxPQUFPLEVBQTZCLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RGLE9BQU8sRUFBbUIsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRixPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLDBCQUEwQixFQUMxQixnQkFBZ0IsRUFFaEIsdUJBQXVCLEVBQzFCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQUV0RSxJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUM7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QkFRTixPQUFPO3NCQUROLEtBQUs7Z0JBT04saUJBQWlCO3NCQURoQixLQUFLO2dCQU9OLFNBQVM7c0JBRFIsS0FBSztnQkFNTixXQUFXO3NCQURWLEtBQUs7Z0JBT04sSUFBSTtzQkFESCxLQUFLO2dCQU9OLG9CQUFvQjtzQkFEbkIsS0FBSztnQkFPTixhQUFhO3NCQURaLE1BQU07Z0JBa0hQLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZU51bWJlclByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgZm9yd2FyZFJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgTmdGb3IsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ3NzQ2xhc3NCdWlsZGVyLCBOdWxsYWJsZSwgYXBwbHlDc3NDbGFzcyB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IEZvcm1JdGVtQ29udHJvbCwgcmVnaXN0ZXJGb3JtSXRlbUNvbnRyb2wgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZm9ybSc7XG5pbXBvcnQgeyBQb3BvdmVyQ29tcG9uZW50LCBQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9wb3BvdmVyJztcbmltcG9ydCB7XG4gICAgSU5ESUNBVE9SX0NMQVNTRVMsXG4gICAgSU5ESUNBVE9SX0RFRkFVTFRfQ0FQQUNJVFksXG4gICAgSU5ESUNBVE9SX1BSRUZJWCxcbiAgICBSYXRpbmdJbmRpY2F0b3JTaXplLFxuICAgIFJhdGluZ0luZGljYXRvclNpemVFbnVtXG59IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBSYXRpbmdTdGFyTGFiZWxQaXBlIH0gZnJvbSAnLi4vcGlwZXMvcmF0aW5nLXN0YXItbGFiZWwucGlwZSc7XG5cbmxldCByYXRpbmdVSUQgPSAwO1xuXG5pbnRlcmZhY2UgTnVtYmVyS2V5PFQ+IHtcbiAgICBba2V5OiBudW1iZXJdOiBUO1xufVxuXG5pbnRlcmZhY2UgUmF0aW5nVmlld0l0ZW0ge1xuICAgIHJhdGU6IG51bWJlcjtcbiAgICB2b3RlczogbnVtYmVyO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLXJhdGluZy1pbmRpY2F0b3InLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yYXRpbmctaW5kaWNhdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9yYXRpbmctaW5kaWNhdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSYXRpbmdJbmRpY2F0b3JDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgcmVnaXN0ZXJGb3JtSXRlbUNvbnRyb2woUmF0aW5nSW5kaWNhdG9yQ29tcG9uZW50KVxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdUZW1wbGF0ZU91dGxldCwgTmdGb3IsIE5nSWYsIFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlLCBQb3BvdmVyQ29tcG9uZW50LCBSYXRpbmdTdGFyTGFiZWxQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBSYXRpbmdJbmRpY2F0b3JDb21wb25lbnRcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBDc3NDbGFzc0J1aWxkZXIsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtSXRlbUNvbnRyb2xcbntcbiAgICAvKiogVXNlcidzIGN1c3RvbSBjbGFzc2VzICovXG4gICAgQElucHV0KClcbiAgICBjbGFzczogc3RyaW5nO1xuXG4gICAgLyoqIFNldHMgW25hbWVdIGF0dHJpYnV0ZSBvZiBpbnB1dC4gKi9cbiAgICBASW5wdXQoKVxuICAgIG5hbWU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGFyaWEtbGFiZWwgYXR0cmlidXRlIHRvIHRoZSBlbGVtZW50LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGFiZWwnKVxuICAgIGFyaWFMYWJlbDogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGFyaWEtbGFiZWxsZWRieSBhdHRyaWJ1dGUgdG8gdGhlIGVsZW1lbnQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1sYWJlbCcpXG4gICAgYXJpYUxhYmVsbGVkQnk6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBhcmlhLWRpc2FibGVkIGF0dHJpYnV0ZSB0byB0aGUgZWxlbWVudC5cbiAgICAgKiBTZXRzIHRoZSBpcy1kaXNhYmxlZCBjbGFzcyB0byB0aGUgZWxlbWVudC5cbiAgICAgKiBXaGV0aGVyIHRoZSByYXRpbmcgaW5kaWNhdG9yIGlzIGRpc2FibGVkXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLWRpc2FibGVkJylcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1kaXNhYmxlZCcpXG4gICAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGlzLWRpc3BsYXktbW9kZSBjbGFzcyB0byB0aGUgZWxlbWVudC5cbiAgICAgKiBXaGV0aGVyIHRoZSByYXRpbmcgaW5kaWNhdG9yIGlzIGluIGRpc3BsYXlNb2RlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLWRpc3BsYXktbW9kZScpXG4gICAgZGlzcGxheU1vZGUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIE51bWJlciBvZiByYXRlcyB0byBkaXNwbGF5XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgaW5kaWNhdG9yQ2FwYWNpdHkodmFsdWU6IG51bWJlcikge1xuICAgICAgICBjb25zdCB2YWwgPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSwgSU5ESUNBVE9SX0RFRkFVTFRfQ0FQQUNJVFkpO1xuICAgICAgICB0aGlzLl9pbmRpY2F0b3JDYXBhY2l0eSA9IHZhbCA8IDEgPyBJTkRJQ0FUT1JfREVGQVVMVF9DQVBBQ0lUWSA6IHZhbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG9yIG5vdCB0byBkaXNwbGF5IGhhbGYgdmFsdWVzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgYWxsb3dIYWx2ZXMgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFVzZXIncyB2YWx1ZSBudW1iZXIgb2YgcmF0aW5ncy4gSWYgcHJvdmlkZWQsIE92ZXJyaWRlcyByYXRpbmdBdmVyYWdlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgdmFsdWUgPSAwO1xuXG4gICAgLyoqXG4gICAgICogVG90YWwgbnVtYmVyIG9mIHJhdGluZ3MuIElmIHByb3ZpZGVkLCB3aWxsIGRpc3BsYXkgdGV4dCBzaG93aW5nIHRoZSB0b3RhbCBudW1iZXIgb2YgcmF0aW5ncy5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHRvdGFsUmF0aW5nczogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogUmF0aW5nIGF2ZXJhZ2VcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHJhdGluZ0F2ZXJhZ2U6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIE9iamVjdCBjb250YWluaW5nIGtleS12YWx1ZSBwYWlycyB3aGVyZSB0aGUga2V5IGlzIHRoZSByYXRpbmcgYW5kIHRoZSB2YWx1ZSBpcyB0aGUgdG90YWwgc3VtIG9mIHRob3NlIHJhdGluZ3MuXG4gICAgICogT3ZlcnJpZGVzIHRvdGFsUmF0aW5ncyBhbmQgcmF0aW5nQXZlcmFnZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHJhdGluZ3M6IE51bWJlcktleTxudW1iZXI+O1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBvciBub3QgdG8gZGlzcGxheSB0aGUgcG9wb3ZlciB0aGF0IHNob3dzIHRoZSBzdW0gb2YgZWFjaCByYXRpbmcuIFJlcXVpcmVzIFtyYXRpbmdzXSBvYmplY3QuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBkaXNwbGF5QWxsUmF0aW5ncyA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogSWNvbiBjbGFzcyBmb3IgcmF0ZWQgaWNvbiBmcm9tIGZ1bmRhbWVudGFsLXN0eWxlcyBsaWIgaHR0cHM6Ly9zYXAuZ2l0aHViLmlvL2Z1bmRhbWVudGFsLXN0eWxlcy8/cGF0aD0vZG9jcy9jb21wb25lbnRzLWljb24tLXNpemVzXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICByYXRlZEljb246IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBJY29uIGNsYXNzIGZvciB1bnJhdGVkIGljb24gZnJvbSBmdW5kYW1lbnRhbC1zdHlsZXMgbGliIGh0dHBzOi8vc2FwLmdpdGh1Yi5pby9mdW5kYW1lbnRhbC1zdHlsZXMvP3BhdGg9L2RvY3MvY29tcG9uZW50cy1pY29uLS1zaXplc1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgdW5yYXRlZEljb246IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFBvc3NpYmxlIHZhbHVlcyBhcmUgJ3hzJywgJ3NtJywgJ21kJywgJ2xnJywgJ2NvenknLCAnY29tcGFjdCcsICdjb25kZW5zZWQnXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzaXplOiBSYXRpbmdJbmRpY2F0b3JTaXplID0gJ21kJztcblxuICAgIC8qKlxuICAgICAqIFRleHQgZGl2aWRlciBsYWJlbCBiZXR3ZWVuIHZpZXcgdmFsdWUgYW5kIGluZGljYXRvciBjb3VudC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGR5bmFtaWNUZXh0SW5kaWNhdG9yID0gJ29mJztcblxuICAgIC8qKlxuICAgICAqIEZpcmVkIHdoZW4gdGhlIHVzZXIgc2V0cyBvciBjaGFuZ2VzIHRoZWlyIHJhdGluZy5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICByYXRpbmdDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNpemVDbGFzcyA9IHRoaXMuX2dldFNpemVDbGFzcyh0aGlzLnNpemUpO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3JhdGVzOiB7IGlkOiBzdHJpbmc7IHZhbHVlOiBudW1iZXIgfVtdID0gW107XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfcmF0aW5nSXRlbXM6IFJhdGluZ1ZpZXdJdGVtW10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmF0aW5nVUlEID0gcmF0aW5nVUlEKys7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pbmRpY2F0b3JDYXBhY2l0eSA9IElORElDQVRPUl9ERUZBVUxUX0NBUEFDSVRZO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdmFsdWUgPSAwO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaGlkZUR5bmFtaWNUZXh0ID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlYWRvbmx5IF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgdmlld1JhdGluZ1VJRCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmF0aW5nVUlEO1xuICAgIH1cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBpbmRpY2F0b3JDb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5faW5kaWNhdG9yQ2FwYWNpdHk7XG4gICAgfVxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IHZpZXdWYWx1ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBvbkNoYW5nZTogKHZhbHVlOiBudW1iZXIpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgb25Ub3VjaGVkID0gKCk6IHZvaWQgPT4ge307XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuX2NvbnZlcnRUb1ZhbHVlKCk7XG4gICAgICAgIHRoaXMuX3JhdGVzID0gdGhpcy5fZ2V0UmF0ZXMoKTtcbiAgICAgICAgdGhpcy5idWlsZENvbXBvbmVudENzc0NsYXNzKCk7XG4gICAgICAgIHRoaXMuX2dlbmVyYXRlUmF0aW5ncygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICAnY2xhc3MnIGluIGNoYW5nZXMgfHxcbiAgICAgICAgICAgICdzaXplJyBpbiBjaGFuZ2VzIHx8XG4gICAgICAgICAgICAncmF0ZWRJY29uJyBpbiBjaGFuZ2VzIHx8XG4gICAgICAgICAgICAndW5yYXRlZEljb24nIGluIGNoYW5nZXMgfHxcbiAgICAgICAgICAgICdhbGxvd0hhbHZlcycgaW4gY2hhbmdlc1xuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuYnVpbGRDb21wb25lbnRDc3NDbGFzcygpO1xuICAgICAgICB9XG4gICAgICAgIGlmICgndmFsdWUnIGluIGNoYW5nZXMpIHtcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5fY29udmVydFRvVmFsdWUoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoJ2luZGljYXRvckNhcGFjaXR5JyBpbiBjaGFuZ2VzKSB7XG4gICAgICAgICAgICB0aGlzLl9yYXRlcyA9IHRoaXMuX2dldFJhdGVzKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCdhbGxvd0hhbHZlcycgaW4gY2hhbmdlcykge1xuICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB0aGlzLl9jb252ZXJ0VG9WYWx1ZSgpO1xuICAgICAgICAgICAgdGhpcy5fcmF0ZXMgPSB0aGlzLl9nZXRSYXRlcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCdyYXRpbmdzJyBpbiBjaGFuZ2VzKSB7XG4gICAgICAgICAgICB0aGlzLl9nZW5lcmF0ZVJhdGluZ3MoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5fcGFyc2VWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBudW1iZXIpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgaXRlbTogeyBpZDogc3RyaW5nOyB2YWx1ZTogbnVtYmVyIH0pOiBudW1iZXIgfCBzdHJpbmcge1xuICAgICAgICByZXR1cm4gaXRlbS5pZDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG9uU2VsZWN0KHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgICB0aGlzLnJhdGluZ0NoYW5nZWQuZW1pdCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW5cbiAgICAgKiBDc3NDbGFzc0J1aWxkZXIgaW50ZXJmYWNlIGltcGxlbWVudGF0aW9uXG4gICAgICogZnVuY3Rpb24gbXVzdCByZXR1cm4gc2luZ2xlIHN0cmluZ1xuICAgICAqIGZ1bmN0aW9uIGlzIHJlc3BvbnNpYmxlIGZvciBvcmRlciB3aGljaCBjc3MgY2xhc3NlcyBhcmUgYXBwbGllZFxuICAgICAqL1xuICAgIEBhcHBseUNzc0NsYXNzXG4gICAgYnVpbGRDb21wb25lbnRDc3NDbGFzcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHRoaXMuc2l6ZUNsYXNzID0gdGhpcy5fZ2V0U2l6ZUNsYXNzKHRoaXMuc2l6ZSk7XG5cbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIElORElDQVRPUl9QUkVGSVgsXG4gICAgICAgICAgICB0aGlzLnNpemVDbGFzcyxcbiAgICAgICAgICAgIHRoaXMuYWxsb3dIYWx2ZXMgPyBJTkRJQ0FUT1JfQ0xBU1NFUy5oYWx2ZXMgOiAnJyxcbiAgICAgICAgICAgICEhdGhpcy5yYXRlZEljb24gJiYgISF0aGlzLnVucmF0ZWRJY29uID8gSU5ESUNBVE9SX0NMQVNTRVMuaWNvbiA6ICcnLFxuICAgICAgICAgICAgdGhpcy5faGlkZUR5bmFtaWNUZXh0IHx8ICF0aGlzLl92YWx1ZSA/IElORElDQVRPUl9DTEFTU0VTLmhpZGVEeW5hbWljVGV4dCA6ICcnLFxuICAgICAgICAgICAgdGhpcy5jbGFzc1xuICAgICAgICBdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBHZW5lcmF0ZSByYXRpbmcgaXRlbXMgZm9yIHBvcG92ZXIgY29udGVudCBpZiByYXRpbmcgb2JqZWN0IHdhcyBkZWZpbmVkXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZ2VuZXJhdGVSYXRpbmdzKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMucmF0aW5ncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJhdGluZ3MgPSBPYmplY3QuZW50cmllcyh0aGlzLnJhdGluZ3MpXG4gICAgICAgICAgICAuZmlsdGVyKChbcmF0ZSwgdm90ZV0pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBfcmF0ZSA9ICtyYXRlO1xuICAgICAgICAgICAgICAgIHJldHVybiAhaXNOYU4oX3JhdGUpICYmICFpc05hTigrdm90ZSkgJiYgX3JhdGUgPiAwO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5tYXAoKFtyYXRlLCB2b3Rlc10pID0+ICh7IHJhdGU6ICtyYXRlLCB2b3RlcyB9KSk7XG4gICAgICAgIGlmIChyYXRpbmdzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHsgdG90YWxWb3RlcywgdG90YWxSYXRpbmcgfSA9IHJhdGluZ3MucmVkdWNlKFxuICAgICAgICAgICAgKHRvdGFsLCByYXRpbmcpID0+ICh7XG4gICAgICAgICAgICAgICAgdG90YWxWb3RlczogdG90YWwudG90YWxWb3RlcyArIHJhdGluZy52b3RlcyxcbiAgICAgICAgICAgICAgICB0b3RhbFJhdGluZzogdG90YWwudG90YWxSYXRpbmcgKyByYXRpbmcucmF0ZSAqIHJhdGluZy52b3Rlc1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB7IHRvdGFsVm90ZXM6IDAsIHRvdGFsUmF0aW5nOiAwIH1cbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLl9yYXRpbmdJdGVtcyA9IHJhdGluZ3M7XG4gICAgICAgIHRoaXMucmF0aW5nQXZlcmFnZSA9IHRvdGFsUmF0aW5nIC8gdG90YWxWb3RlcztcbiAgICAgICAgdGhpcy50b3RhbFJhdGluZ3MgPSB0b3RhbFZvdGVzO1xuICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuX2NvbnZlcnRUb1ZhbHVlKCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBnZXQgY29udmVydGVkIHZpZXdWYWx1ZSBmb3IgcmVuZGVyIGluIGNvbXBvbmVudCB0ZW1wbGF0ZSBmcm9tIG9yaWdpbmFsIHZhbHVlIGlmIGl0IHN0aWxsIGV4aXN0cywgb3IgcmF0aW5nQXZlcmFnZS5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9jb252ZXJ0VG9WYWx1ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGFyc2VWYWx1ZSh0aGlzLnZhbHVlIHx8IHRoaXMucmF0aW5nQXZlcmFnZSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBnZXQgY29udmVydGVkIHZhbHVlIGZyb20gb3JpZ2luYWwgdG8gdmlldyB2YWx1ZSB3aXRoIGRlcGVuZHMgb24gaGFsdmVzXG4gICAgICogRm9yIGV4YW1wbGUsXG4gICAgICogIG9yaWdpbmFsIHZhbHVlIGlzIGVxdWFsIHRvIDIuMzQsIHlvdSB3aWxsIGdldCBhbmQgcmVuZGVyIDJcbiAgICAgKiAgb3JpZ2luYWwgdmFsdWUgaXMgZXF1YWwgdG8gMy43NCwgeW91IHdpbGwgZ2V0IGFuZCByZW5kZXIgNFxuICAgICAqL1xuICAgIHByaXZhdGUgX3BhcnNlVmFsdWUodmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIGlmICghdmFsdWUgfHwgdmFsdWUgPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGludGVnZXIgPSBNYXRoLmZsb29yKHZhbHVlKTtcbiAgICAgICAgY29uc3QgZnJhY3Rpb25hbCA9IHZhbHVlICUgMTtcbiAgICAgICAgbGV0IHYgPSBpbnRlZ2VyO1xuXG4gICAgICAgIGlmICh0aGlzLmFsbG93SGFsdmVzICYmIGZyYWN0aW9uYWwgPiAwLjI1ICYmIGZyYWN0aW9uYWwgPD0gMC41KSB7XG4gICAgICAgICAgICB2ID0gaW50ZWdlciArIDAuNTtcbiAgICAgICAgfSBlbHNlIGlmIChmcmFjdGlvbmFsID4gMC41KSB7XG4gICAgICAgICAgICB2ID0gaW50ZWdlciArIDE7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gTWF0aC5taW4odGhpcy5pbmRpY2F0b3JDb3VudCwgdik7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBnZXQgcmF0aW5nIGljb25zIGFycmF5IHdpdGggdmFsdWUgYW5kIHVuaWMgaWRcbiAgICAgKi9cbiAgICBwcml2YXRlIF9nZXRSYXRlcygpOiB7IGlkOiBzdHJpbmc7IHZhbHVlOiBudW1iZXIgfVtdIHtcbiAgICAgICAgY29uc3Qgd2l0aEhhbHZlcyA9IHRoaXMuYWxsb3dIYWx2ZXMgPyAyIDogMTtcbiAgICAgICAgcmV0dXJuIEFycmF5KHRoaXMuaW5kaWNhdG9yQ291bnQgKiB3aXRoSGFsdmVzKVxuICAgICAgICAgICAgLmZpbGwoYHJhdGluZy0ke3RoaXMuX3JhdGluZ1VJRH1gKVxuICAgICAgICAgICAgLm1hcCgobmFtZSwgaW5kZXgpID0+ICh7XG4gICAgICAgICAgICAgICAgaWQ6IGAke25hbWV9LSR7aW5kZXggKyAxfWAsXG4gICAgICAgICAgICAgICAgdmFsdWU6IChpbmRleCArIDEpIC8gd2l0aEhhbHZlc1xuICAgICAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBnZXQgcmF0aW5nIGljb25zIGFycmF5IHdpdGggdmFsdWUgYW5kIHVuaWMgaWRcbiAgICAgKi9cbiAgICBwcml2YXRlIF9nZXRTaXplQ2xhc3Moc2l6ZTogUmF0aW5nSW5kaWNhdG9yU2l6ZSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHtJTkRJQ0FUT1JfUFJFRklYfS0tJHtzaXplIGluIFJhdGluZ0luZGljYXRvclNpemVFbnVtID8gc2l6ZSA6ICdtZCd9YDtcbiAgICB9XG59XG4iLCI8IS0tICByb2xlPVwiYXBwbGljYXRpb25cIiBpcyB1c2VkIGluIG9yZGVyIHRvIGxldCB1c2VyIHRvIGNoYW5nZSB2YWx1ZSB3aXRoIGxlZnQvcmlnaHQgYXJyb3dzIGluIEpBV1MsIHNpbmNlIEpBV1Mgb3Z2ZXJyaWRlcyB0aGVzZSBhY3Rpb25zIC0tPlxuPGRpdiBjbGFzcz1cImZkLXJhdGluZy1pbmRpY2F0b3JfX2NvbnRhaW5lclwiIHJvbGU9XCJhcHBsaWNhdGlvblwiIGFyaWEtcm9sZWRlc2NyaXB0aW9uPVwiUmF0aW5nIGluZGljYXRvclwiPlxuICAgIDwhLS0gWmVybyB2YWx1ZSBpZiB3ZSBkb24ndCBoYXZlIHByb3ZpZGVkIHZhbHVlIGZyb20gdXNlciwgYHJhdGluZ0F2ZXJhZ2VgIG9yIGByYXRpbmdzYCAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiemVyb1JhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8IS0tIEF2YWlsYWJsZSByYXRlIHZhbHVlcyAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByYXRlIG9mIF9yYXRlczsgaW5kZXggYXMgaTsgdHJhY2tCeTogdHJhY2tCeUZuXCI+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpIHwgcmF0aW5nU3RhckxhYmVsIDogX3JhdGVzLmxlbmd0aCA6IGFsbG93SGFsdmVzXCJcbiAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZmQtcmF0aW5nLWluZGljYXRvcl9faW5wdXRcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFtpZF09XCJyYXRlLmlkXCJcbiAgICAgICAgICAgIG5hbWU9XCJyYXRpbmcte3sgdmlld1JhdGluZ1VJRCB9fVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwicmF0ZS52YWx1ZVwiXG4gICAgICAgICAgICBbY2hlY2tlZF09XCJ2aWV3VmFsdWUgPT09IHJhdGUudmFsdWVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0KHJhdGUudmFsdWUpXCJcbiAgICAgICAgLz5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiZmQtcmF0aW5nLWluZGljYXRvcl9fbGFiZWxcIiBbZm9yXT1cInJhdGUuaWRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICAgIDxpICpuZ0lmPVwicmF0ZWRJY29uXCIgY2xhc3M9XCJmZC1yYXRpbmctaW5kaWNhdG9yX19sYWJlbC1yYXRlZFwiIFtjbGFzc109XCJ1bnJhdGVkSWNvblwiPjwvaT5cbiAgICAgICAgICAgIDxpICpuZ0lmPVwidW5yYXRlZEljb25cIiBjbGFzcz1cImZkLXJhdGluZy1pbmRpY2F0b3JfX2xhYmVsLXVucmF0ZWRcIiBbY2xhc3NdPVwicmF0ZWRJY29uXCI+PC9pPlxuICAgICAgICA8L2xhYmVsPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG48IS0tIFBvcG92ZXIgaWYgZGlzcGxheUFsbFJhdGluZ3MgaXMgdHJ1ZSBhbmQgd2UgaGF2ZSByYXRpbmdzIG9iamVjdCAtLT5cbjxzcGFuXG4gICAgW2ZkUG9wb3ZlclRyaWdnZXJdPVwiYWxsUmF0aW5nQ29udGVudFwiXG4gICAgKm5nSWY9XCJkaXNwbGF5QWxsUmF0aW5ncyAmJiBfcmF0aW5nSXRlbXM/Lmxlbmd0aDsgZWxzZSBkeW5hbWljVGV4dFwiXG4gICAgY2xhc3M9XCJmZC1yYXRpbmctaW5kaWNhdG9yX19keW5hbWljLXRleHRcIlxuPlxuICAgICg8c3BhbiBhcmlhLWxhYmVsPVwiVG90YWwgcmFpdGluZ1wiIGZkLWxpbms+e3sgdG90YWxSYXRpbmdzIH19PC9zcGFuXG4gICAgPilcbjwvc3Bhbj5cbjxmZC1wb3BvdmVyXG4gICAgI2FsbFJhdGluZ0NvbnRlbnRcbiAgICBbdHJpZ2dlcnNdPVwiWydtb3VzZWVudGVyJywgJ21vdXNlbGVhdmUnXVwiXG4gICAgW25vQXJyb3ddPVwiZmFsc2VcIlxuICAgIHBsYWNlbWVudD1cInRvcFwiXG4gICAgYWRkaXRpb25hbEJvZHlDbGFzcz1cImZkLXJhdGluZy1pbmRpY2F0b3JfX3BvcG92ZXJcIlxuPlxuICAgIDxkaXYgY2xhc3M9XCJmZC1yYXRpbmctaW5kaWNhdG9yX19zdW0tcm93XCIgW2NsYXNzXT1cInNpemVDbGFzc1wiICpuZ0Zvcj1cImxldCByYXRpbmcgb2YgX3JhdGluZ0l0ZW1zXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmZC1yYXRpbmctaW5kaWNhdG9yX19jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJhdGUgb2YgX3JhdGVzOyB0cmFja0J5OiB0cmFja0J5Rm5cIj5cbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZmQtcmF0aW5nLWluZGljYXRvcl9faW5wdXQtY2hlY2tlZF09XCJyYXRlLnZhbHVlID09PSByYXRpbmcucmF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtcmF0aW5nLWluZGljYXRvcl9faW5wdXRcIlxuICAgICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZmQtcmF0aW5nLWluZGljYXRvcl9fbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJyYXRlZEljb25cIiBjbGFzcz1cImZkLXJhdGluZy1pbmRpY2F0b3JfX2xhYmVsLXJhdGVkXCIgW2NsYXNzXT1cInVucmF0ZWRJY29uXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cInVucmF0ZWRJY29uXCIgY2xhc3M9XCJmZC1yYXRpbmctaW5kaWNhdG9yX19sYWJlbC11bnJhdGVkXCIgW2NsYXNzXT1cInJhdGVkSWNvblwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICAoe3sgcmF0aW5nLnZvdGVzIH19KVxuICAgIDwvZGl2PlxuPC9mZC1wb3BvdmVyPlxuXG48bmctdGVtcGxhdGUgI2R5bmFtaWNUZXh0PlxuICAgIDxzcGFuICpuZ0lmPVwidG90YWxSYXRpbmdzXCIgY2xhc3M9XCJmZC1yYXRpbmctaW5kaWNhdG9yX19keW5hbWljLXRleHRcIj4oe3sgdG90YWxSYXRpbmdzIH19KTwvc3Bhbj5cbiAgICA8c3BhbiAqbmdJZj1cIiF0b3RhbFJhdGluZ3NcIiBjbGFzcz1cImZkLXJhdGluZy1pbmRpY2F0b3JfX2R5bmFtaWMtdGV4dFwiXG4gICAgICAgID4oe3sgdmlld1ZhbHVlIH19IHt7IGR5bmFtaWNUZXh0SW5kaWNhdG9yIH19IHt7IGluZGljYXRvckNvdW50IH19KTwvc3BhblxuICAgID5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI3plcm9SYXRlIGxldC1oYWx2ZXM9XCJoYWx2ZXNcIj5cbiAgICA8aW5wdXRcbiAgICAgICAgYXJpYS1sYWJlbD1cIlJlc2V0IHRvIHplcm9cIlxuICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgY2xhc3M9XCJmZC1yYXRpbmctaW5kaWNhdG9yX19pbnB1dCBmZC1yYXRpbmctaW5kaWNhdG9yX19pbnB1dC0temVyby1yYXRpbmdcIlxuICAgICAgICAoY2xpY2spPVwib25TZWxlY3QoMClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBuYW1lPVwicmF0aW5nLXt7IHZpZXdSYXRpbmdVSUQgfX17eyBoYWx2ZXMgPyAnLWhhbHZlcycgOiAnJyB9fVwiXG4gICAgICAgIFtjaGVja2VkXT1cInZpZXdWYWx1ZSA9PT0gMFwiXG4gICAgLz5cbiAgICA8bGFiZWwgY2xhc3M9XCJmZC1yYXRpbmctaW5kaWNhdG9yX19sYWJlbCBmZC1yYXRpbmctaW5kaWNhdG9yX19sYWJlbC0temVyby1yYXRpbmdcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2xhYmVsPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==