@seniorsistemas/angular-components 19.7.3 → 19.7.4-fix-sds-577-afa523ed

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 (652) hide show
  1. package/accordion/README.md +1 -0
  2. package/accordion/lib/accordion/accordion.component.d.ts +1 -1
  3. package/accordion/lib/accordion/accordion.module.d.ts +1 -6
  4. package/accordion/lib/accordion/components/accordion-panel/accordion-panel.component.d.ts +1 -1
  5. package/alert/README.md +1 -1
  6. package/alert/lib/alert/alert.component.d.ts +1 -1
  7. package/alert/lib/alert/alert.module.d.ts +1 -2
  8. package/autocomplete/README.md +1 -1
  9. package/autocomplete/lib/autocomplete/autocomplete.component.d.ts +1 -1
  10. package/badge/lib/badge/badge.component.d.ts +1 -1
  11. package/badge/lib/badge/badge.module.d.ts +3 -7
  12. package/bignumber-input/lib/bignumber-input/bignumber-input.directive.d.ts +1 -1
  13. package/bignumber-input/lib/bignumber-input/bignumber-input.module.d.ts +1 -2
  14. package/breadcrumb/README.md +9 -5
  15. package/button/README.md +1 -0
  16. package/calendar-mask/README.md +4 -2
  17. package/calendar-mask/lib/calendar-mask/calendar-mask.directive.d.ts +1 -1
  18. package/calendar-mask/lib/calendar-mask/calendar-mask.module.d.ts +1 -2
  19. package/card/lib/card/card.component.d.ts +1 -1
  20. package/card/lib/card/card.module.d.ts +1 -3
  21. package/chat/lib/chat/chat.component.d.ts +2 -1
  22. package/chat/lib/chat/chat.module.d.ts +3 -6
  23. package/chat/lib/chat/components/chat-message/chat-message.component.d.ts +1 -1
  24. package/checkbox-list/lib/checkbox-list/checkbox-list.component.d.ts +1 -1
  25. package/checkbox-list/lib/checkbox-list/checkbox-list.module.d.ts +1 -3
  26. package/chips/lib/chips/chip-item/chip-item.component.d.ts +1 -1
  27. package/chips/lib/chips/chips/chips.component.d.ts +1 -1
  28. package/chips/lib/chips/chips.module.d.ts +1 -6
  29. package/code-editor/README.md +1 -1
  30. package/code-editor/lib/code-editor/code-editor.component.d.ts +1 -1
  31. package/code-editor/lib/code-editor/code-editor.module.d.ts +1 -3
  32. package/collapse-link/lib/collapse-link/collapse-link.component.d.ts +1 -1
  33. package/collapse-link/lib/collapse-link/collapse-link.module.d.ts +1 -2
  34. package/common/deprecated-selector/README.md +120 -47
  35. package/common/lib/svg-factory/components/iassist-icon/iassist-icon.component.d.ts +1 -1
  36. package/common/lib/svg-factory/components/senior-icon/senior-icon.component.d.ts +1 -1
  37. package/common/lib/svg-factory/svg-factory.directive.d.ts +1 -1
  38. package/common/lib/svg-factory/svg-factory.module.d.ts +1 -4
  39. package/confirm-dialog/README.md +3 -1
  40. package/content-generator/README.md +2 -2
  41. package/content-generator/lib/content-generator/content-generator.component.d.ts +2 -1
  42. package/content-generator/lib/content-generator/content-generator.module.d.ts +1 -10
  43. package/control-errors/lib/control-errors/control-errors.component.d.ts +2 -2
  44. package/control-errors/lib/control-errors/control-errors.module.d.ts +1 -3
  45. package/country-phone-picker/README.md +1 -1
  46. package/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.d.ts +2 -1
  47. package/country-phone-picker/lib/country-phone-picker/country-phone-picker.module.d.ts +1 -5
  48. package/currency/README.md +1 -1
  49. package/custom-fields/lib/custom-fields/custom-fields.component.d.ts +1 -1
  50. package/custom-fields/lib/custom-fields/custom-fields.module.d.ts +1 -7
  51. package/datepicker/README.md +44 -11
  52. package/datepicker/lib/datepicker/datepicker.component.d.ts +1 -0
  53. package/dynamic-form/dynamic-form/dynamic-form.module.d.ts +3 -5
  54. package/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.d.ts +1 -0
  55. package/editable-overlay/lib/editable-overlay/editable-overlay.directive.d.ts +1 -1
  56. package/editable-overlay/lib/editable-overlay/editable-overlay.module.d.ts +1 -2
  57. package/editor/README.md +8 -0
  58. package/empty-state/lib/empty-state/empty-state.component.d.ts +1 -1
  59. package/empty-state/lib/empty-state/empty-state.module.d.ts +1 -3
  60. package/empty-state/lib/empty-state/go-back/go-back.component.d.ts +1 -1
  61. package/esm2022/accordion/lib/accordion/accordion.component.mjs +3 -3
  62. package/esm2022/accordion/lib/accordion/accordion.module.mjs +4 -10
  63. package/esm2022/accordion/lib/accordion/components/accordion-panel/accordion-panel.component.mjs +17 -8
  64. package/esm2022/alert/lib/alert/alert.component.mjs +4 -4
  65. package/esm2022/alert/lib/alert/alert.module.mjs +4 -6
  66. package/esm2022/autocomplete/lib/autocomplete/autocomplete.component.mjs +4 -4
  67. package/esm2022/badge/lib/badge/badge.component.mjs +7 -6
  68. package/esm2022/badge/lib/badge/badge.module.mjs +4 -9
  69. package/esm2022/bignumber-input/lib/bignumber-input/bignumber-input.directive.mjs +3 -2
  70. package/esm2022/bignumber-input/lib/bignumber-input/bignumber-input.module.mjs +4 -7
  71. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.component.mjs +6 -7
  72. package/esm2022/button/lib/button/button.component.mjs +3 -3
  73. package/esm2022/calendar-mask/lib/calendar-mask/calendar-mask.directive.mjs +3 -2
  74. package/esm2022/calendar-mask/lib/calendar-mask/calendar-mask.module.mjs +4 -6
  75. package/esm2022/card/lib/card/card.component.mjs +4 -4
  76. package/esm2022/card/lib/card/card.module.mjs +4 -7
  77. package/esm2022/chat/lib/chat/chat.component.mjs +8 -7
  78. package/esm2022/chat/lib/chat/chat.module.mjs +7 -11
  79. package/esm2022/chat/lib/chat/components/chat-message/chat-message.component.mjs +6 -6
  80. package/esm2022/checkbox/lib/checkbox/checkbox.component.mjs +4 -5
  81. package/esm2022/checkbox-list/lib/checkbox-list/checkbox-list.component.mjs +6 -7
  82. package/esm2022/checkbox-list/lib/checkbox-list/checkbox-list.module.mjs +4 -7
  83. package/esm2022/chips/lib/chips/chip-item/chip-item.component.mjs +5 -5
  84. package/esm2022/chips/lib/chips/chips/chips.component.mjs +7 -7
  85. package/esm2022/chips/lib/chips/chips.module.mjs +4 -10
  86. package/esm2022/code-editor/lib/code-editor/code-editor.component.mjs +4 -4
  87. package/esm2022/code-editor/lib/code-editor/code-editor.module.mjs +8 -11
  88. package/esm2022/collapse-link/lib/collapse-link/collapse-link.component.mjs +4 -4
  89. package/esm2022/collapse-link/lib/collapse-link/collapse-link.module.mjs +4 -6
  90. package/esm2022/common/lib/svg-factory/components/iassist-icon/iassist-icon.component.mjs +3 -3
  91. package/esm2022/common/lib/svg-factory/components/senior-icon/senior-icon.component.mjs +3 -3
  92. package/esm2022/common/lib/svg-factory/svg-factory.directive.mjs +4 -3
  93. package/esm2022/common/lib/svg-factory/svg-factory.module.mjs +4 -14
  94. package/esm2022/content-generator/lib/content-generator/content-generator.component.mjs +28 -16
  95. package/esm2022/content-generator/lib/content-generator/content-generator.module.mjs +4 -42
  96. package/esm2022/control-errors/lib/control-errors/control-errors.component.mjs +3 -3
  97. package/esm2022/control-errors/lib/control-errors/control-errors.module.mjs +6 -9
  98. package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.mjs +14 -14
  99. package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.module.mjs +6 -28
  100. package/esm2022/custom-fields/lib/custom-fields/custom-fields.component.mjs +6 -6
  101. package/esm2022/custom-fields/lib/custom-fields/custom-fields.module.mjs +9 -35
  102. package/esm2022/datepicker/lib/datepicker/datepicker.component.mjs +6 -3
  103. package/esm2022/dialog/lib/src/dialog/dialog.component.mjs +3 -3
  104. package/esm2022/dynamic-form/dynamic-form/dynamic-form.module.mjs +4 -6
  105. package/esm2022/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-radio-field/boolean-field.component.mjs +3 -3
  106. package/esm2022/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component.mjs +3 -3
  107. package/esm2022/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.mjs +5 -3
  108. package/esm2022/dynamic-form/dynamic-form/form-field/fields/radio-button/radio-button-field.component.mjs +3 -3
  109. package/esm2022/editable-overlay/lib/editable-overlay/editable-overlay.directive.mjs +3 -2
  110. package/esm2022/editable-overlay/lib/editable-overlay/editable-overlay.module.mjs +4 -6
  111. package/esm2022/editor/lib/editor/editor.component.mjs +4 -4
  112. package/esm2022/empty-state/lib/empty-state/empty-state.component.mjs +4 -4
  113. package/esm2022/empty-state/lib/empty-state/empty-state.module.mjs +4 -7
  114. package/esm2022/empty-state/lib/empty-state/go-back/go-back.component.mjs +4 -4
  115. package/esm2022/fieldset/lib/fieldset/fieldset.component.mjs +5 -5
  116. package/esm2022/fieldset/lib/fieldset/fieldset.module.mjs +4 -7
  117. package/esm2022/file-picker/lib/file-picker/file-picker.component.mjs +10 -11
  118. package/esm2022/file-picker/lib/file-picker/file-picker.module.mjs +4 -11
  119. package/esm2022/gantt/lib/gantt/components/side-table/side-table.component.mjs +5 -5
  120. package/esm2022/gantt/lib/gantt/gantt.component.mjs +4 -4
  121. package/esm2022/gantt/lib/gantt/gantt.module.mjs +4 -12
  122. package/esm2022/global-search/lib/global-search/components/dropdown/global-search-dropdown-item.component.mjs +6 -7
  123. package/esm2022/global-search/lib/global-search/global-search.component.mjs +17 -10
  124. package/esm2022/global-search/lib/global-search/global-search.module.mjs +15 -33
  125. package/esm2022/grid-menu/lib/grid-menu/components/grid-menu-item/grid-menu-item.component.mjs +5 -4
  126. package/esm2022/grid-menu/lib/grid-menu/grid-menu.component.mjs +4 -4
  127. package/esm2022/grid-menu/lib/grid-menu/grid-menu.module.mjs +4 -7
  128. package/esm2022/help-popover/lib/help-popover/help-popover/help-popover.component.mjs +5 -5
  129. package/esm2022/help-popover/lib/help-popover/help-popover.directive.mjs +3 -2
  130. package/esm2022/help-popover/lib/help-popover/help-popover.module.mjs +5 -14
  131. package/esm2022/image-cropper/lib/image-cropper/image-cropper.component.mjs +7 -8
  132. package/esm2022/image-cropper/lib/image-cropper/image-cropper.module.mjs +4 -10
  133. package/esm2022/infinite-scroll/lib/infinite-scroll/infinite-scroll.directive.mjs +4 -3
  134. package/esm2022/infinite-scroll/lib/infinite-scroll/infinite-scroll.module.mjs +4 -6
  135. package/esm2022/info-sign/lib/info-sign/components/info-sign/info-sign.component.mjs +6 -6
  136. package/esm2022/info-sign/lib/info-sign/info-sign.directive.mjs +4 -3
  137. package/esm2022/info-sign/lib/info-sign/info-sign.module.mjs +4 -8
  138. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.mjs +14 -10
  139. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-content-generator/inline-edit-content-generator.component.mjs +7 -6
  140. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.mjs +6 -6
  141. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +34 -20
  142. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.mjs +6 -6
  143. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-text-area/inline-edit-text-area.component.mjs +7 -7
  144. package/esm2022/inline-edit/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.mjs +16 -15
  145. package/esm2022/inline-edit/lib/inline-edit/inline-edit.component.mjs +3 -3
  146. package/esm2022/inline-edit/lib/inline-edit/inline-edit.module.mjs +4 -89
  147. package/esm2022/insights/lib/insights/components/insights-card/components/insights-card-loader/insights-card-loader.component.mjs +6 -6
  148. package/esm2022/insights/lib/insights/components/insights-card/insights-card.component.mjs +11 -10
  149. package/esm2022/insights/lib/insights/components/insights-sidebar/insights-sidebar.component.mjs +7 -7
  150. package/esm2022/insights/lib/insights/insights.component.mjs +4 -5
  151. package/esm2022/insights/lib/insights/insights.module.mjs +4 -34
  152. package/esm2022/kanban/lib/kanban/components/kanban-column/kanban-column.component.mjs +18 -22
  153. package/esm2022/kanban/lib/kanban/components/kanban-item/kanban-item.component.mjs +9 -8
  154. package/esm2022/kanban/lib/kanban/components/kanban-item-dragging/kanban-item-dragging.component.mjs +6 -6
  155. package/esm2022/kanban/lib/kanban/kanban.component.mjs +20 -11
  156. package/esm2022/kanban/lib/kanban/kanban.module.mjs +4 -41
  157. package/esm2022/label-value/lib/label-value/label-value.component.mjs +8 -8
  158. package/esm2022/label-value/lib/label-value/label-value.module.mjs +4 -10
  159. package/esm2022/lib/locale/fallback.mjs +3 -2
  160. package/esm2022/loading-state/lib/loading-state/components/dots-indicator/dots-indicator.components.mjs +3 -3
  161. package/esm2022/loading-state/lib/loading-state/components/logo-indicator/logo-indicator.component.mjs +4 -4
  162. package/esm2022/loading-state/lib/loading-state/components/progress-bar-indicator/progress-bar-indicator.component.mjs +4 -4
  163. package/esm2022/loading-state/lib/loading-state/loading-state.component.mjs +13 -7
  164. package/esm2022/loading-state/lib/loading-state/loading-state.directive.mjs +3 -2
  165. package/esm2022/loading-state/lib/loading-state/loading-state.module.mjs +4 -20
  166. package/esm2022/locale/lib/locale/locale.module.mjs +6 -8
  167. package/esm2022/locale/lib/locale/pipes/localized-bignumber-impure.pipe.mjs +6 -5
  168. package/esm2022/locale/lib/locale/pipes/localized-bignumber.pipe.mjs +16 -15
  169. package/esm2022/locale/lib/locale/pipes/localized-currency-impure.pipe.mjs +6 -5
  170. package/esm2022/locale/lib/locale/pipes/localized-currency.pipe.mjs +11 -10
  171. package/esm2022/locale/lib/locale/pipes/localized-date-impure.pipe.mjs +6 -5
  172. package/esm2022/locale/lib/locale/pipes/localized-date.pipe.mjs +3 -2
  173. package/esm2022/locale/lib/locale/pipes/localized-number.pipe.mjs +10 -7
  174. package/esm2022/locale/lib/locale/pipes/localized-time-impure.pipe.mjs +6 -5
  175. package/esm2022/locale/lib/locale/pipes/localized-time.pipe.mjs +3 -2
  176. package/esm2022/localized-number-input/lib/localized-number-input/localized-number-input.directive.mjs +7 -4
  177. package/esm2022/localized-number-input/lib/localized-number-input/localized-number-input.module.mjs +4 -6
  178. package/esm2022/mask/lib/mask/mask-formatter.module.mjs +3 -3
  179. package/esm2022/mask/lib/mask/mask-formatter.pipe.mjs +3 -2
  180. package/esm2022/mouse-events/lib/mouse-events/long-press.directive.mjs +3 -2
  181. package/esm2022/mouse-events/lib/mouse-events/mouse-events.module.mjs +5 -7
  182. package/esm2022/navigation-button/lib/navigation-button/navigation-button.component.mjs +8 -8
  183. package/esm2022/navigation-button/lib/navigation-button/navigation-button.module.mjs +4 -8
  184. package/esm2022/number-input/lib/number-input/number-input.directive.mjs +3 -2
  185. package/esm2022/number-input/lib/number-input/number-input.module.mjs +4 -6
  186. package/esm2022/numeric/lib/numeric.module.mjs +4 -6
  187. package/esm2022/numeric/lib/numeric.pipe.mjs +6 -3
  188. package/esm2022/numeric-mask/lib/numeric-mask/numeric-mask.directive.mjs +8 -3
  189. package/esm2022/object-card/lib/object-card/elements/field/object-card-field.component.mjs +7 -8
  190. package/esm2022/object-card/lib/object-card/elements/main/object-card-main.component.mjs +6 -8
  191. package/esm2022/object-card/lib/object-card/object-card.component.mjs +6 -6
  192. package/esm2022/object-card/lib/object-card/object-card.module.mjs +4 -10
  193. package/esm2022/paginator/lib/paginator/paginator.component.mjs +3 -3
  194. package/esm2022/panel/lib/panel/panel.component.mjs +15 -7
  195. package/esm2022/panel/lib/panel/panel.module.mjs +7 -10
  196. package/esm2022/password-strength/lib/password-strength/password-strength.component.mjs +4 -4
  197. package/esm2022/password-strength/lib/password-strength/password-strength.directive.mjs +4 -3
  198. package/esm2022/password-strength/lib/password-strength/password-strength.module.mjs +4 -7
  199. package/esm2022/pin-code-field/lib/pin-code-field/pin-code-field.component.mjs +5 -6
  200. package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.mjs +9 -10
  201. package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.module.mjs +5 -11
  202. package/esm2022/progressbar/lib/progressbar/components/progressbar-determinate/progressbar-determinate.component.mjs +8 -6
  203. package/esm2022/progressbar/lib/progressbar/components/progressbar-indeterminate/progressbar-indeterminate.component.mjs +4 -4
  204. package/esm2022/progressbar/lib/progressbar/progressbar.component.mjs +5 -5
  205. package/esm2022/progressbar/lib/progressbar/progressbar.module.mjs +4 -9
  206. package/esm2022/rating-scale/lib/rating-scale/rating-scale.component.mjs +5 -5
  207. package/esm2022/rating-scale/lib/rating-scale/rating-scale.module.mjs +6 -14
  208. package/esm2022/select/lib/select/components/select-option/select-option.component.mjs +3 -4
  209. package/esm2022/select/lib/select/select.component.mjs +3 -5
  210. package/esm2022/select-button/lib/select-button/components/select-button-item/select-button-item.component.mjs +5 -5
  211. package/esm2022/select-button/lib/select-button/select-button.component.mjs +6 -6
  212. package/esm2022/select-button/lib/select-button/select-button.module.mjs +6 -13
  213. package/esm2022/shared/lib/shared/border-button/border-button.component.mjs +5 -5
  214. package/esm2022/shared/lib/shared/border-button/border-button.module.mjs +7 -10
  215. package/esm2022/sidebar/lib/sidebar/sidebar.component.mjs +5 -5
  216. package/esm2022/sidebar/lib/sidebar/sidebar.module.mjs +4 -7
  217. package/esm2022/slide-in-bar/lib/slide-in-bar/slide-in-bar.component.mjs +6 -6
  218. package/esm2022/slide-in-bar/lib/slide-in-bar/slide-in-bar.module.mjs +7 -9
  219. package/esm2022/slider/lib/slider/slider.component.mjs +6 -6
  220. package/esm2022/slider/lib/slider/slider.module.mjs +6 -9
  221. package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.mjs +4 -5
  222. package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition.module.mjs +5 -13
  223. package/esm2022/split-button/lib/split-button/split-button.component.mjs +5 -5
  224. package/esm2022/split-button/lib/split-button/split-button.module.mjs +4 -6
  225. package/esm2022/star-rating/star-rating/star-rating.component.mjs +3 -3
  226. package/esm2022/stats-card/lib/stats-card/stats-card.component.mjs +6 -6
  227. package/esm2022/stats-card/lib/stats-card/stats-card.module.mjs +4 -8
  228. package/esm2022/stepper/lib/stepper/stepper.component.mjs +6 -6
  229. package/esm2022/stepper/lib/stepper/stepper.module.mjs +4 -7
  230. package/esm2022/structure/lib/structure/footer.component.mjs +3 -2
  231. package/esm2022/structure/lib/structure/header.component.mjs +5 -4
  232. package/esm2022/structure/lib/structure/structure.module.mjs +5 -7
  233. package/esm2022/switch/lib/switch/switch.component.mjs +4 -5
  234. package/esm2022/switch/lib/switch/switch.module.mjs +4 -6
  235. package/esm2022/table/lib/table/row-toggler/row-toggler.directive.mjs +6 -3
  236. package/esm2022/table/lib/table/table-column/table-columns.component.mjs +17 -9
  237. package/esm2022/table/lib/table/table-paging/table-paging.component.mjs +4 -4
  238. package/esm2022/table/lib/table/table.module.mjs +4 -34
  239. package/esm2022/table-header/lib/table-header/table-header-checkbox.component.mjs +19 -16
  240. package/esm2022/table-header/lib/table-header/table-header-checkox.module.mjs +4 -8
  241. package/esm2022/template/lib/template/template.module.mjs +4 -5
  242. package/esm2022/text-area/lib/text-area/text-area.component.mjs +9 -9
  243. package/esm2022/text-area/lib/text-area.module.mjs +5 -24
  244. package/esm2022/thumbnail/lib/thumbnail/thumbnail.component.mjs +5 -5
  245. package/esm2022/thumbnail/lib/thumbnail/thumbnail.module.mjs +7 -9
  246. package/esm2022/thumbnails/lib/thumbnails/components/thumbnail-item/components/thumbnail-item-image/thumbnail-item-image.component.mjs +6 -6
  247. package/esm2022/thumbnails/lib/thumbnails/components/thumbnail-item/components/thumbnail-item-video/thumbnail-item-video.component.mjs +9 -9
  248. package/esm2022/thumbnails/lib/thumbnails/components/thumbnail-item/thumbnail-item.component.mjs +25 -14
  249. package/esm2022/thumbnails/lib/thumbnails/thumbnails.component.mjs +4 -4
  250. package/esm2022/thumbnails/lib/thumbnails/thumbnails.module.mjs +6 -14
  251. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.mjs +7 -7
  252. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.mjs +3 -3
  253. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.mjs +4 -4
  254. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.mjs +6 -6
  255. package/esm2022/tiered-menu/lib/tiered-menu/tiered-menu.directive.mjs +4 -3
  256. package/esm2022/tiered-menu/lib/tiered-menu/tiered-menu.module.mjs +4 -20
  257. package/esm2022/tile/lib/tile/tile.component.mjs +6 -6
  258. package/esm2022/tile/lib/tile/tile.module.mjs +4 -7
  259. package/esm2022/timeline/lib/timeline/components/horizontal-timeline/horizontal-timeline.component.mjs +6 -6
  260. package/esm2022/timeline/lib/timeline/components/timeline-icon-item/timeline-icon-item.component.mjs +5 -5
  261. package/esm2022/timeline/lib/timeline/components/vertical-timeline/components/collapse-option/collapse-option.component.mjs +4 -4
  262. package/esm2022/timeline/lib/timeline/components/vertical-timeline/components/collapsed-items/collapsed-items.component.mjs +5 -5
  263. package/esm2022/timeline/lib/timeline/components/vertical-timeline/components/range-line/range-line.component.mjs +3 -3
  264. package/esm2022/timeline/lib/timeline/components/vertical-timeline/components/vertical-items/vertical-items.component.mjs +5 -5
  265. package/esm2022/timeline/lib/timeline/components/vertical-timeline/vertical-timeline.component.mjs +7 -7
  266. package/esm2022/timeline/lib/timeline/timeline.component.mjs +5 -6
  267. package/esm2022/timeline/lib/timeline/timeline.module.mjs +4 -20
  268. package/esm2022/toast/lib/toast/toast.component.mjs +4 -4
  269. package/esm2022/toast/lib/toast/toast.module.mjs +6 -7
  270. package/esm2022/token-list/lib/token-list/token-list.component.mjs +4 -4
  271. package/esm2022/token-list/lib/token-list/token-list.module.mjs +4 -6
  272. package/esm2022/tooltip/lib/tooltip/tooltip.module.mjs +3 -4
  273. package/esm2022/topbar/lib/topbar/topbar.component.mjs +3 -3
  274. package/esm2022/topbar/lib/topbar/topbar.module.mjs +7 -10
  275. package/esm2022/tree/lib/tree/components/tree-node-item/tree-node-item.component.mjs +6 -5
  276. package/esm2022/tree/lib/tree/tree.component.mjs +5 -5
  277. package/esm2022/tree/lib/tree/tree.module.mjs +4 -10
  278. package/esm2022/workspace-switch/lib/workspace-switch/workspace-switch.component.mjs +5 -5
  279. package/esm2022/workspace-switch/lib/workspace-switch/workspace-switch.module.mjs +4 -6
  280. package/fesm2022/seniorsistemas-angular-components-accordion.mjs +20 -17
  281. package/fesm2022/seniorsistemas-angular-components-accordion.mjs.map +1 -1
  282. package/fesm2022/seniorsistemas-angular-components-alert.mjs +6 -8
  283. package/fesm2022/seniorsistemas-angular-components-alert.mjs.map +1 -1
  284. package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs +3 -3
  285. package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs.map +1 -1
  286. package/fesm2022/seniorsistemas-angular-components-badge.mjs +8 -12
  287. package/fesm2022/seniorsistemas-angular-components-badge.mjs.map +1 -1
  288. package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs +5 -7
  289. package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs.map +1 -1
  290. package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs +5 -6
  291. package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs.map +1 -1
  292. package/fesm2022/seniorsistemas-angular-components-button.mjs +2 -2
  293. package/fesm2022/seniorsistemas-angular-components-button.mjs.map +1 -1
  294. package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs +5 -6
  295. package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs.map +1 -1
  296. package/fesm2022/seniorsistemas-angular-components-card.mjs +7 -9
  297. package/fesm2022/seniorsistemas-angular-components-card.mjs.map +1 -1
  298. package/fesm2022/seniorsistemas-angular-components-chat.mjs +15 -16
  299. package/fesm2022/seniorsistemas-angular-components-chat.mjs.map +1 -1
  300. package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs +7 -10
  301. package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs.map +1 -1
  302. package/fesm2022/seniorsistemas-angular-components-checkbox.mjs +3 -4
  303. package/fesm2022/seniorsistemas-angular-components-checkbox.mjs.map +1 -1
  304. package/fesm2022/seniorsistemas-angular-components-chips.mjs +14 -18
  305. package/fesm2022/seniorsistemas-angular-components-chips.mjs.map +1 -1
  306. package/fesm2022/seniorsistemas-angular-components-code-editor.mjs +5 -7
  307. package/fesm2022/seniorsistemas-angular-components-code-editor.mjs.map +1 -1
  308. package/fesm2022/seniorsistemas-angular-components-collapse-link.mjs +6 -8
  309. package/fesm2022/seniorsistemas-angular-components-collapse-link.mjs.map +1 -1
  310. package/fesm2022/seniorsistemas-angular-components-common.mjs +9 -16
  311. package/fesm2022/seniorsistemas-angular-components-common.mjs.map +1 -1
  312. package/fesm2022/seniorsistemas-angular-components-content-generator.mjs +28 -52
  313. package/fesm2022/seniorsistemas-angular-components-content-generator.mjs.map +1 -1
  314. package/fesm2022/seniorsistemas-angular-components-control-errors.mjs +5 -8
  315. package/fesm2022/seniorsistemas-angular-components-control-errors.mjs.map +1 -1
  316. package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs +17 -37
  317. package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs.map +1 -1
  318. package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs +12 -35
  319. package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs.map +1 -1
  320. package/fesm2022/seniorsistemas-angular-components-datepicker.mjs +5 -2
  321. package/fesm2022/seniorsistemas-angular-components-datepicker.mjs.map +1 -1
  322. package/fesm2022/seniorsistemas-angular-components-dialog.mjs +2 -2
  323. package/fesm2022/seniorsistemas-angular-components-dialog.mjs.map +1 -1
  324. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +12 -11
  325. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
  326. package/fesm2022/seniorsistemas-angular-components-editable-overlay.mjs +5 -6
  327. package/fesm2022/seniorsistemas-angular-components-editable-overlay.mjs.map +1 -1
  328. package/fesm2022/seniorsistemas-angular-components-editor.mjs +3 -3
  329. package/fesm2022/seniorsistemas-angular-components-editor.mjs.map +1 -1
  330. package/fesm2022/seniorsistemas-angular-components-empty-state.mjs +8 -11
  331. package/fesm2022/seniorsistemas-angular-components-empty-state.mjs.map +1 -1
  332. package/fesm2022/seniorsistemas-angular-components-fieldset.mjs +6 -9
  333. package/fesm2022/seniorsistemas-angular-components-fieldset.mjs.map +1 -1
  334. package/fesm2022/seniorsistemas-angular-components-file-picker.mjs +11 -18
  335. package/fesm2022/seniorsistemas-angular-components-file-picker.mjs.map +1 -1
  336. package/fesm2022/seniorsistemas-angular-components-gantt.mjs +9 -16
  337. package/fesm2022/seniorsistemas-angular-components-gantt.mjs.map +1 -1
  338. package/fesm2022/seniorsistemas-angular-components-global-search.mjs +31 -47
  339. package/fesm2022/seniorsistemas-angular-components-global-search.mjs.map +1 -1
  340. package/fesm2022/seniorsistemas-angular-components-grid-menu.mjs +8 -10
  341. package/fesm2022/seniorsistemas-angular-components-grid-menu.mjs.map +1 -1
  342. package/fesm2022/seniorsistemas-angular-components-help-popover.mjs +10 -17
  343. package/fesm2022/seniorsistemas-angular-components-help-popover.mjs.map +1 -1
  344. package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs +8 -14
  345. package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs.map +1 -1
  346. package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs +5 -6
  347. package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs.map +1 -1
  348. package/fesm2022/seniorsistemas-angular-components-info-sign.mjs +9 -11
  349. package/fesm2022/seniorsistemas-angular-components-info-sign.mjs.map +1 -1
  350. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +64 -121
  351. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
  352. package/fesm2022/seniorsistemas-angular-components-insights.mjs +22 -47
  353. package/fesm2022/seniorsistemas-angular-components-insights.mjs.map +1 -1
  354. package/fesm2022/seniorsistemas-angular-components-kanban.mjs +86 -113
  355. package/fesm2022/seniorsistemas-angular-components-kanban.mjs.map +1 -1
  356. package/fesm2022/seniorsistemas-angular-components-label-value.mjs +10 -16
  357. package/fesm2022/seniorsistemas-angular-components-label-value.mjs.map +1 -1
  358. package/fesm2022/seniorsistemas-angular-components-loading-state.mjs +40 -46
  359. package/fesm2022/seniorsistemas-angular-components-loading-state.mjs.map +1 -1
  360. package/fesm2022/seniorsistemas-angular-components-locale.mjs +40 -31
  361. package/fesm2022/seniorsistemas-angular-components-locale.mjs.map +1 -1
  362. package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs +9 -8
  363. package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs.map +1 -1
  364. package/fesm2022/seniorsistemas-angular-components-mask.mjs +4 -3
  365. package/fesm2022/seniorsistemas-angular-components-mask.mjs.map +1 -1
  366. package/fesm2022/seniorsistemas-angular-components-mouse-events.mjs +55 -56
  367. package/fesm2022/seniorsistemas-angular-components-mouse-events.mjs.map +1 -1
  368. package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs +9 -13
  369. package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs.map +1 -1
  370. package/fesm2022/seniorsistemas-angular-components-number-input.mjs +6 -6
  371. package/fesm2022/seniorsistemas-angular-components-number-input.mjs.map +1 -1
  372. package/fesm2022/seniorsistemas-angular-components-numeric-mask.mjs +7 -2
  373. package/fesm2022/seniorsistemas-angular-components-numeric-mask.mjs.map +1 -1
  374. package/fesm2022/seniorsistemas-angular-components-numeric.mjs +8 -7
  375. package/fesm2022/seniorsistemas-angular-components-numeric.mjs.map +1 -1
  376. package/fesm2022/seniorsistemas-angular-components-object-card.mjs +14 -21
  377. package/fesm2022/seniorsistemas-angular-components-object-card.mjs.map +1 -1
  378. package/fesm2022/seniorsistemas-angular-components-paginator.mjs +2 -2
  379. package/fesm2022/seniorsistemas-angular-components-paginator.mjs.map +1 -1
  380. package/fesm2022/seniorsistemas-angular-components-panel.mjs +17 -11
  381. package/fesm2022/seniorsistemas-angular-components-panel.mjs.map +1 -1
  382. package/fesm2022/seniorsistemas-angular-components-password-strength.mjs +8 -9
  383. package/fesm2022/seniorsistemas-angular-components-password-strength.mjs.map +1 -1
  384. package/fesm2022/seniorsistemas-angular-components-pin-code-field.mjs +4 -5
  385. package/fesm2022/seniorsistemas-angular-components-pin-code-field.mjs.map +1 -1
  386. package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs +11 -17
  387. package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs.map +1 -1
  388. package/fesm2022/seniorsistemas-angular-components-progressbar.mjs +15 -15
  389. package/fesm2022/seniorsistemas-angular-components-progressbar.mjs.map +1 -1
  390. package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs +8 -15
  391. package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs.map +1 -1
  392. package/fesm2022/seniorsistemas-angular-components-select-button.mjs +9 -15
  393. package/fesm2022/seniorsistemas-angular-components-select-button.mjs.map +1 -1
  394. package/fesm2022/seniorsistemas-angular-components-select.mjs +4 -6
  395. package/fesm2022/seniorsistemas-angular-components-select.mjs.map +1 -1
  396. package/fesm2022/seniorsistemas-angular-components-shared.mjs +8 -11
  397. package/fesm2022/seniorsistemas-angular-components-shared.mjs.map +1 -1
  398. package/fesm2022/seniorsistemas-angular-components-sidebar.mjs +7 -10
  399. package/fesm2022/seniorsistemas-angular-components-sidebar.mjs.map +1 -1
  400. package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs +7 -9
  401. package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs.map +1 -1
  402. package/fesm2022/seniorsistemas-angular-components-slider.mjs +8 -11
  403. package/fesm2022/seniorsistemas-angular-components-slider.mjs.map +1 -1
  404. package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs +7 -15
  405. package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs.map +1 -1
  406. package/fesm2022/seniorsistemas-angular-components-split-button.mjs +6 -8
  407. package/fesm2022/seniorsistemas-angular-components-split-button.mjs.map +1 -1
  408. package/fesm2022/seniorsistemas-angular-components-star-rating.mjs +2 -2
  409. package/fesm2022/seniorsistemas-angular-components-star-rating.mjs.map +1 -1
  410. package/fesm2022/seniorsistemas-angular-components-stats-card.mjs +8 -12
  411. package/fesm2022/seniorsistemas-angular-components-stats-card.mjs.map +1 -1
  412. package/fesm2022/seniorsistemas-angular-components-stepper.mjs +8 -11
  413. package/fesm2022/seniorsistemas-angular-components-stepper.mjs.map +1 -1
  414. package/fesm2022/seniorsistemas-angular-components-structure.mjs +18 -18
  415. package/fesm2022/seniorsistemas-angular-components-structure.mjs.map +1 -1
  416. package/fesm2022/seniorsistemas-angular-components-switch.mjs +6 -9
  417. package/fesm2022/seniorsistemas-angular-components-switch.mjs.map +1 -1
  418. package/fesm2022/seniorsistemas-angular-components-table-header.mjs +20 -21
  419. package/fesm2022/seniorsistemas-angular-components-table-header.mjs.map +1 -1
  420. package/fesm2022/seniorsistemas-angular-components-table.mjs +27 -45
  421. package/fesm2022/seniorsistemas-angular-components-table.mjs.map +1 -1
  422. package/fesm2022/seniorsistemas-angular-components-template.mjs +3 -4
  423. package/fesm2022/seniorsistemas-angular-components-template.mjs.map +1 -1
  424. package/fesm2022/seniorsistemas-angular-components-text-area.mjs +12 -30
  425. package/fesm2022/seniorsistemas-angular-components-text-area.mjs.map +1 -1
  426. package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs +6 -8
  427. package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs.map +1 -1
  428. package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs +45 -37
  429. package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs.map +1 -1
  430. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs +14 -25
  431. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs.map +1 -1
  432. package/fesm2022/seniorsistemas-angular-components-tile.mjs +8 -12
  433. package/fesm2022/seniorsistemas-angular-components-tile.mjs.map +1 -1
  434. package/fesm2022/seniorsistemas-angular-components-timeline.mjs +58 -124
  435. package/fesm2022/seniorsistemas-angular-components-timeline.mjs.map +1 -1
  436. package/fesm2022/seniorsistemas-angular-components-toast.mjs +4 -5
  437. package/fesm2022/seniorsistemas-angular-components-toast.mjs.map +1 -1
  438. package/fesm2022/seniorsistemas-angular-components-token-list.mjs +6 -8
  439. package/fesm2022/seniorsistemas-angular-components-token-list.mjs.map +1 -1
  440. package/fesm2022/seniorsistemas-angular-components-tooltip.mjs +2 -2
  441. package/fesm2022/seniorsistemas-angular-components-tooltip.mjs.map +1 -1
  442. package/fesm2022/seniorsistemas-angular-components-topbar.mjs +5 -8
  443. package/fesm2022/seniorsistemas-angular-components-topbar.mjs.map +1 -1
  444. package/fesm2022/seniorsistemas-angular-components-tree.mjs +10 -13
  445. package/fesm2022/seniorsistemas-angular-components-tree.mjs.map +1 -1
  446. package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs +6 -8
  447. package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs.map +1 -1
  448. package/fesm2022/seniorsistemas-angular-components.mjs +2 -1
  449. package/fesm2022/seniorsistemas-angular-components.mjs.map +1 -1
  450. package/fieldset/lib/fieldset/fieldset.component.d.ts +1 -1
  451. package/fieldset/lib/fieldset/fieldset.module.d.ts +1 -3
  452. package/file-picker/lib/file-picker/file-picker.component.d.ts +1 -1
  453. package/file-picker/lib/file-picker/file-picker.module.d.ts +1 -7
  454. package/gantt/lib/gantt/components/side-table/side-table.component.d.ts +1 -1
  455. package/gantt/lib/gantt/gantt.component.d.ts +1 -1
  456. package/gantt/lib/gantt/gantt.module.d.ts +1 -4
  457. package/global-search/README.md +12 -1
  458. package/global-search/lib/global-search/components/dropdown/global-search-dropdown-item.component.d.ts +1 -1
  459. package/global-search/lib/global-search/global-search.component.d.ts +1 -1
  460. package/global-search/lib/global-search/global-search.module.d.ts +8 -12
  461. package/grid-menu/README.md +27 -2
  462. package/grid-menu/lib/grid-menu/components/grid-menu-item/grid-menu-item.component.d.ts +1 -1
  463. package/grid-menu/lib/grid-menu/grid-menu.component.d.ts +1 -1
  464. package/grid-menu/lib/grid-menu/grid-menu.module.d.ts +1 -3
  465. package/help-popover/README.md +2 -2
  466. package/help-popover/lib/help-popover/help-popover/help-popover.component.d.ts +1 -1
  467. package/help-popover/lib/help-popover/help-popover.directive.d.ts +1 -1
  468. package/help-popover/lib/help-popover/help-popover.module.d.ts +2 -5
  469. package/ia-insight/README.md +1 -1
  470. package/image-cropper/README.md +2 -2
  471. package/image-cropper/lib/image-cropper/image-cropper.component.d.ts +1 -1
  472. package/image-cropper/lib/image-cropper/image-cropper.module.d.ts +3 -8
  473. package/infinite-scroll/lib/infinite-scroll/infinite-scroll.directive.d.ts +1 -1
  474. package/infinite-scroll/lib/infinite-scroll/infinite-scroll.module.d.ts +1 -2
  475. package/info-sign/README.md +1 -1
  476. package/info-sign/lib/info-sign/components/info-sign/info-sign.component.d.ts +2 -2
  477. package/info-sign/lib/info-sign/info-sign.directive.d.ts +1 -1
  478. package/info-sign/lib/info-sign/info-sign.module.d.ts +1 -4
  479. package/inline-edit/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.d.ts +7 -6
  480. package/inline-edit/lib/inline-edit/components/fields/inline-edit-content-generator/inline-edit-content-generator.component.d.ts +4 -4
  481. package/inline-edit/lib/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.d.ts +4 -4
  482. package/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.d.ts +5 -4
  483. package/inline-edit/lib/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.d.ts +4 -4
  484. package/inline-edit/lib/inline-edit/components/fields/inline-edit-text-area/inline-edit-text-area.component.d.ts +4 -4
  485. package/inline-edit/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.d.ts +5 -4
  486. package/inline-edit/lib/inline-edit/inline-edit.component.d.ts +1 -1
  487. package/inline-edit/lib/inline-edit/inline-edit.module.d.ts +1 -23
  488. package/insights/lib/insights/components/insights-card/components/insights-card-loader/insights-card-loader.component.d.ts +1 -1
  489. package/insights/lib/insights/components/insights-card/insights-card.component.d.ts +2 -1
  490. package/insights/lib/insights/components/insights-sidebar/insights-sidebar.component.d.ts +1 -1
  491. package/insights/lib/insights/insights.component.d.ts +1 -1
  492. package/insights/lib/insights/insights.module.d.ts +3 -12
  493. package/kanban/lib/kanban/components/kanban-column/kanban-column.component.d.ts +5 -5
  494. package/kanban/lib/kanban/components/kanban-item/kanban-item.component.d.ts +4 -4
  495. package/kanban/lib/kanban/components/kanban-item-dragging/kanban-item-dragging.component.d.ts +1 -1
  496. package/kanban/lib/kanban/kanban.component.d.ts +1 -1
  497. package/kanban/lib/kanban/kanban.module.d.ts +3 -13
  498. package/label-value/lib/label-value/label-value.component.d.ts +1 -1
  499. package/label-value/lib/label-value/label-value.module.d.ts +1 -6
  500. package/loading-state/lib/loading-state/components/dots-indicator/dots-indicator.components.d.ts +1 -1
  501. package/loading-state/lib/loading-state/components/logo-indicator/logo-indicator.component.d.ts +1 -1
  502. package/loading-state/lib/loading-state/components/progress-bar-indicator/progress-bar-indicator.component.d.ts +1 -1
  503. package/loading-state/lib/loading-state/loading-state.component.d.ts +1 -1
  504. package/loading-state/lib/loading-state/loading-state.directive.d.ts +1 -1
  505. package/loading-state/lib/loading-state/loading-state.module.d.ts +1 -6
  506. package/locale/lib/locale/locale.module.d.ts +1 -2
  507. package/locale/lib/locale/pipes/localized-bignumber-impure.pipe.d.ts +3 -3
  508. package/locale/lib/locale/pipes/localized-bignumber.pipe.d.ts +3 -3
  509. package/locale/lib/locale/pipes/localized-currency-impure.pipe.d.ts +3 -3
  510. package/locale/lib/locale/pipes/localized-currency.pipe.d.ts +3 -3
  511. package/locale/lib/locale/pipes/localized-date-impure.pipe.d.ts +3 -3
  512. package/locale/lib/locale/pipes/localized-date.pipe.d.ts +1 -1
  513. package/locale/lib/locale/pipes/localized-number.pipe.d.ts +2 -2
  514. package/locale/lib/locale/pipes/localized-time-impure.pipe.d.ts +3 -3
  515. package/locale/lib/locale/pipes/localized-time.pipe.d.ts +1 -1
  516. package/localized-number-input/lib/localized-number-input/localized-number-input.directive.d.ts +2 -1
  517. package/localized-number-input/lib/localized-number-input/localized-number-input.module.d.ts +1 -2
  518. package/mask/lib/mask/mask-formatter.module.d.ts +1 -1
  519. package/mask/lib/mask/mask-formatter.pipe.d.ts +1 -1
  520. package/mouse-events/lib/mouse-events/long-press.directive.d.ts +1 -1
  521. package/mouse-events/lib/mouse-events/mouse-events.module.d.ts +3 -4
  522. package/navigation-button/lib/navigation-button/navigation-button.component.d.ts +1 -1
  523. package/navigation-button/lib/navigation-button/navigation-button.module.d.ts +1 -4
  524. package/number-input/lib/number-input/number-input.directive.d.ts +1 -1
  525. package/number-input/lib/number-input/number-input.module.d.ts +1 -2
  526. package/numeric/lib/numeric.module.d.ts +1 -2
  527. package/numeric/lib/numeric.pipe.d.ts +1 -1
  528. package/numeric-mask/lib/numeric-mask/numeric-mask.directive.d.ts +1 -0
  529. package/object-card/README.md +13 -1
  530. package/object-card/lib/object-card/elements/field/object-card-field.component.d.ts +1 -1
  531. package/object-card/lib/object-card/elements/main/object-card-main.component.d.ts +1 -1
  532. package/object-card/lib/object-card/object-card.component.d.ts +1 -1
  533. package/object-card/lib/object-card/object-card.module.d.ts +5 -10
  534. package/package.json +1 -1
  535. package/panel/lib/panel/panel.component.d.ts +6 -1
  536. package/panel/lib/panel/panel.module.d.ts +2 -4
  537. package/password-strength/lib/password-strength/password-strength.component.d.ts +1 -1
  538. package/password-strength/lib/password-strength/password-strength.directive.d.ts +1 -1
  539. package/password-strength/lib/password-strength/password-strength.module.d.ts +2 -4
  540. package/picklist/README.md +74 -2
  541. package/product-header/README.md +1 -1
  542. package/profile-picture-picker/README.md +1 -1
  543. package/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.d.ts +1 -1
  544. package/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.module.d.ts +1 -7
  545. package/progressbar/README.md +0 -1
  546. package/progressbar/lib/progressbar/components/progressbar-determinate/progressbar-determinate.component.d.ts +2 -1
  547. package/progressbar/lib/progressbar/components/progressbar-indeterminate/progressbar-indeterminate.component.d.ts +1 -1
  548. package/progressbar/lib/progressbar/progressbar.component.d.ts +1 -1
  549. package/progressbar/lib/progressbar/progressbar.module.d.ts +1 -5
  550. package/radio-button/README.md +0 -1
  551. package/rating-scale/README.md +1 -1
  552. package/rating-scale/lib/rating-scale/rating-scale.component.d.ts +2 -2
  553. package/rating-scale/lib/rating-scale/rating-scale.module.d.ts +1 -3
  554. package/schematics/migrations/migrate-steps-to-stepper/index.d.ts +2 -0
  555. package/schematics/migrations/migrate-steps-to-stepper/index.js +104 -0
  556. package/schematics/migrations/migrate-steps-to-stepper/index.js.map +1 -0
  557. package/schematics/migrations/migrate-steps-to-stepper/index.test.d.ts +1 -0
  558. package/schematics/migrations/migrate-steps-to-stepper/index.test.js +206 -0
  559. package/schematics/migrations/migrate-steps-to-stepper/index.test.js.map +1 -0
  560. package/schematics/migrations.json +5 -0
  561. package/schematics/utils/ast-utils.d.ts +13 -0
  562. package/schematics/utils/ast-utils.js +76 -0
  563. package/schematics/utils/ast-utils.js.map +1 -1
  564. package/select/lib/select/select.component.d.ts +1 -1
  565. package/select-button/README.md +1 -1
  566. package/select-button/lib/select-button/components/select-button-item/select-button-item.component.d.ts +1 -1
  567. package/select-button/lib/select-button/select-button.component.d.ts +1 -1
  568. package/select-button/lib/select-button/select-button.module.d.ts +1 -3
  569. package/shared/lib/shared/border-button/border-button.component.d.ts +1 -1
  570. package/shared/lib/shared/border-button/border-button.module.d.ts +1 -3
  571. package/sidebar/lib/sidebar/sidebar.component.d.ts +1 -1
  572. package/sidebar/lib/sidebar/sidebar.module.d.ts +2 -4
  573. package/slide-in-bar/README.md +1 -1
  574. package/slide-in-bar/lib/slide-in-bar/slide-in-bar.component.d.ts +1 -1
  575. package/slide-in-bar/lib/slide-in-bar/slide-in-bar.module.d.ts +1 -2
  576. package/slider/README.md +1 -1
  577. package/slider/lib/slider/slider.component.d.ts +1 -1
  578. package/slider/lib/slider/slider.module.d.ts +1 -3
  579. package/speech-recognition/README.md +1 -1
  580. package/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.d.ts +1 -1
  581. package/speech-recognition/lib/speech-recognition/speech-recognition.module.d.ts +1 -3
  582. package/split-button/README.md +1 -1
  583. package/split-button/lib/split-button/split-button.component.d.ts +1 -1
  584. package/split-button/lib/split-button/split-button.module.d.ts +1 -2
  585. package/spotlight/README.md +1 -1
  586. package/star-rating/README.md +1 -1
  587. package/stats-card/README.md +1 -1
  588. package/stats-card/lib/stats-card/stats-card.component.d.ts +1 -1
  589. package/stats-card/lib/stats-card/stats-card.module.d.ts +1 -4
  590. package/stepper/lib/stepper/stepper.component.d.ts +1 -1
  591. package/stepper/lib/stepper/stepper.module.d.ts +1 -3
  592. package/structure/lib/structure/footer.component.d.ts +1 -1
  593. package/structure/lib/structure/header.component.d.ts +1 -1
  594. package/structure/lib/structure/structure.module.d.ts +1 -2
  595. package/switch/lib/switch/switch.component.d.ts +1 -1
  596. package/switch/lib/switch/switch.module.d.ts +1 -2
  597. package/table/README.md +9 -8
  598. package/table/lib/table/row-toggler/row-toggler.directive.d.ts +1 -1
  599. package/table/lib/table/table-column/table-columns.component.d.ts +1 -1
  600. package/table/lib/table/table-paging/table-paging.component.d.ts +1 -1
  601. package/table/lib/table/table.module.d.ts +5 -12
  602. package/table-header/lib/table-header/table-header-checkbox.component.d.ts +1 -1
  603. package/table-header/lib/table-header/table-header-checkox.module.d.ts +1 -4
  604. package/template/README.md +177 -0
  605. package/template/lib/template/template.module.d.ts +2 -3
  606. package/text-area/lib/text-area/text-area.component.d.ts +1 -1
  607. package/text-area/lib/text-area.module.d.ts +1 -5
  608. package/text-area-ia/README.md +1 -1
  609. package/thumbnail/lib/thumbnail/thumbnail.component.d.ts +1 -1
  610. package/thumbnail/lib/thumbnail/thumbnail.module.d.ts +1 -2
  611. package/thumbnails/lib/thumbnails/components/thumbnail-item/components/thumbnail-item-image/thumbnail-item-image.component.d.ts +1 -1
  612. package/thumbnails/lib/thumbnails/components/thumbnail-item/components/thumbnail-item-video/thumbnail-item-video.component.d.ts +2 -2
  613. package/thumbnails/lib/thumbnails/components/thumbnail-item/thumbnail-item.component.d.ts +5 -4
  614. package/thumbnails/lib/thumbnails/thumbnails.component.d.ts +1 -1
  615. package/thumbnails/lib/thumbnails/thumbnails.module.d.ts +1 -8
  616. package/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.d.ts +1 -1
  617. package/tiered-menu/lib/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.d.ts +1 -1
  618. package/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.d.ts +1 -1
  619. package/tiered-menu/lib/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.d.ts +1 -1
  620. package/tiered-menu/lib/tiered-menu/tiered-menu.directive.d.ts +1 -1
  621. package/tiered-menu/lib/tiered-menu/tiered-menu.module.d.ts +1 -6
  622. package/tile/lib/tile/tile.component.d.ts +1 -1
  623. package/tile/lib/tile/tile.module.d.ts +3 -5
  624. package/timeline/lib/timeline/components/horizontal-timeline/horizontal-timeline.component.d.ts +1 -1
  625. package/timeline/lib/timeline/components/timeline-icon-item/timeline-icon-item.component.d.ts +1 -1
  626. package/timeline/lib/timeline/components/vertical-timeline/components/collapse-option/collapse-option.component.d.ts +1 -1
  627. package/timeline/lib/timeline/components/vertical-timeline/components/collapsed-items/collapsed-items.component.d.ts +1 -1
  628. package/timeline/lib/timeline/components/vertical-timeline/components/range-line/range-line.component.d.ts +1 -1
  629. package/timeline/lib/timeline/components/vertical-timeline/components/vertical-items/vertical-items.component.d.ts +1 -1
  630. package/timeline/lib/timeline/components/vertical-timeline/vertical-timeline.component.d.ts +1 -1
  631. package/timeline/lib/timeline/timeline.component.d.ts +1 -1
  632. package/timeline/lib/timeline/timeline.module.d.ts +1 -5
  633. package/toast/lib/toast/toast.component.d.ts +1 -1
  634. package/toast/lib/toast/toast.module.d.ts +3 -3
  635. package/token-list/lib/token-list/token-list.component.d.ts +1 -1
  636. package/token-list/lib/token-list/token-list.module.d.ts +1 -2
  637. package/tooltip/lib/tooltip/tooltip.module.d.ts +1 -2
  638. package/topbar/lib/topbar/topbar.component.d.ts +1 -1
  639. package/topbar/lib/topbar/topbar.module.d.ts +3 -5
  640. package/tree/lib/tree/components/tree-node-item/tree-node-item.component.d.ts +1 -1
  641. package/tree/lib/tree/tree.component.d.ts +1 -1
  642. package/tree/lib/tree/tree.module.d.ts +1 -6
  643. package/workspace-switch/lib/workspace-switch/workspace-switch.component.d.ts +1 -1
  644. package/workspace-switch/lib/workspace-switch/workspace-switch.module.d.ts +1 -2
  645. package/esm2022/insights/lib/insights/components/insights-card/components/index.mjs +0 -2
  646. package/esm2022/timeline/lib/timeline/components/horizontal-timeline/horizontal-timeline.module.mjs +0 -20
  647. package/esm2022/timeline/lib/timeline/components/timeline-icon-item/timeline-icon-item.module.mjs +0 -19
  648. package/esm2022/timeline/lib/timeline/components/vertical-timeline/vertical-timeline.module.mjs +0 -33
  649. package/insights/lib/insights/components/insights-card/components/index.d.ts +0 -1
  650. package/timeline/lib/timeline/components/horizontal-timeline/horizontal-timeline.module.d.ts +0 -10
  651. package/timeline/lib/timeline/components/timeline-icon-item/timeline-icon-item.module.d.ts +0 -9
  652. package/timeline/lib/timeline/components/vertical-timeline/vertical-timeline.module.d.ts +0 -13
@@ -1,16 +1,15 @@
1
1
  import { DomPortalOutlet, TemplatePortal } from '@angular/cdk/portal';
2
- import { Component, ElementRef, EventEmitter, forwardRef, HostListener, Input, Output, PLATFORM_ID, ViewChild, ViewContainerRef, inject } from '@angular/core';
3
- import { NG_VALUE_ACCESSOR, UntypedFormControl } from '@angular/forms';
4
- import { TranslateService } from '@ngx-translate/core';
5
- import { isPlatformBrowser } from '@angular/common';
2
+ import { Component, DestroyRef, ElementRef, EventEmitter, forwardRef, HostListener, Input, Output, PLATFORM_ID, ViewChild, ViewContainerRef, inject, } from '@angular/core';
3
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
+ import { NG_VALUE_ACCESSOR, UntypedFormControl, FormsModule, ReactiveFormsModule, } from '@angular/forms';
5
+ import { TranslateService, TranslatePipe } from '@ngx-translate/core';
6
+ import { isPlatformBrowser, NgClass, NgStyle } from '@angular/common';
6
7
  import { isNullOrUndefined } from '@seniorsistemas/angular-components/utils';
7
8
  import { CountryPhonePickerService } from './country-phone-picker.service';
8
9
  import { Ordination } from './models/ordination';
10
+ import { NgxMaskDirective } from 'ngx-mask';
9
11
  import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/common";
11
- import * as i2 from "@angular/forms";
12
- import * as i3 from "ngx-mask";
13
- import * as i4 from "@ngx-translate/core";
12
+ import * as i1 from "@angular/forms";
14
13
  /**
15
14
  * @description Componente seletor de país e número de telefone com máscara dinâmica.
16
15
  * Exibe uma lista de países com seus códigos DDI e aplica automaticamente a máscara
@@ -31,6 +30,7 @@ export class CountryPhonePickerComponent {
31
30
  _countryPhonePickerService = inject(CountryPhonePickerService);
32
31
  _translate = inject(TranslateService);
33
32
  _eRef = inject(ElementRef);
33
+ _destroyRef = inject(DestroyRef);
34
34
  platformId = inject(PLATFORM_ID);
35
35
  /**
36
36
  * @description Lista de códigos de país (ISO 3166-1 alpha-2) exibidos no seletor.
@@ -146,7 +146,7 @@ export class CountryPhonePickerComponent {
146
146
  }
147
147
  ngOnInit() {
148
148
  const countries = this._countryPhonePickerService.getCountries(this.ordination);
149
- this.filter.valueChanges.subscribe(this._filterCountries);
149
+ this.filter.valueChanges.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(this._filterCountries);
150
150
  if (this.countries?.length) {
151
151
  this._countriesList = countries.filter((country) => this.countries.includes(country.id));
152
152
  }
@@ -156,7 +156,7 @@ export class CountryPhonePickerComponent {
156
156
  this.filteredCountriesList = this._countriesList;
157
157
  this.selectedItem = this._getSelectedCountryDefault();
158
158
  this.mask = this.getMask();
159
- this.phone.valueChanges.subscribe((value) => {
159
+ this.phone.valueChanges.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((value) => {
160
160
  if (!this.selectedItem) {
161
161
  return;
162
162
  }
@@ -294,13 +294,13 @@ export class CountryPhonePickerComponent {
294
294
  this._portalHost.attach(portal);
295
295
  }
296
296
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CountryPhonePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
297
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CountryPhonePickerComponent, selector: "s-country-phone-picker", inputs: { countries: "countries", ordination: "ordination" }, outputs: { selected: "selected", focusLost: "focusLost" }, host: { listeners: { "document:click": "onClickout($event)", "keydown": "onKeydown($event)" } }, providers: [
297
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CountryPhonePickerComponent, isStandalone: true, selector: "s-country-phone-picker", inputs: { countries: "countries", ordination: "ordination" }, outputs: { selected: "selected", focusLost: "focusLost" }, host: { listeners: { "document:click": "onClickout($event)", "keydown": "onKeydown($event)" } }, providers: [
298
298
  {
299
299
  provide: NG_VALUE_ACCESSOR,
300
300
  useExisting: forwardRef(() => CountryPhonePickerComponent),
301
301
  multi: true,
302
302
  },
303
- ], viewQueries: [{ propertyName: "phoneInput", first: true, predicate: ["phoneInput"], descendants: true, static: true }, { propertyName: "filterInput", first: true, predicate: ["filterInput"], descendants: true }, { propertyName: "dropdownTemplate", first: true, predicate: ["dropdownTemplate"], descendants: true }, { propertyName: "viewContainerRef", first: true, predicate: ["dropElement"], descendants: true, read: ViewContainerRef }, { propertyName: "dropElement", first: true, predicate: ["dropElement"], descendants: true, read: ElementRef }, { propertyName: "dropdownContainer", first: true, predicate: ["#dropdownContainer"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"country-phone-picker\">\n <div\n #dropElement\n class=\"phone-input\"\n [class.phone-input--focused]=\"isFocused\"\n >\n <div\n class=\"drop\"\n (click)=\"open = !open\"\n >\n <span\n class=\"drop-flag\"\n [ngClass]=\"'fi fi-' + selectedItem?.id\"\n >\n </span>\n <span class=\"drop-icon fas fa-caret-down\"></span>\n </div>\n <p class=\"phone-ddi\">{{ selectedItem?.ddi }}</p>\n <input\n #phoneInput\n type=\"tel\"\n [mask]=\"mask\"\n [placeholder]=\"getPlaceholder()\"\n [formControl]=\"phone\"\n (focus)=\"onPhoneInputFocus()\"\n (blur)=\"onBlur(value)\"\n />\n </div>\n <ng-template #dropdownTemplate>\n @if (open) {\n <div\n #dropdownContainer\n class=\"dropdown\"\n [ngStyle]=\"{\n position: 'absolute',\n top: dropTop + 'px',\n left: dropLeft + 'px',\n }\"\n >\n <div class=\"search\">\n <input\n class=\"search-field\"\n type=\"text\"\n [formControl]=\"filter\"\n #filterInput\n />\n <span class=\"search-icon fas fa-search\"></span>\n <span\n class=\"search-clear fa fa-times\"\n (click)=\"onCleanFilter()\"\n ></span>\n </div>\n <ul class=\"select-list\">\n @for (country of filteredCountriesList; track $index) {\n <li\n class=\"select-option\"\n [ngClass]=\"{ 'select-option--focused': $index === currentItemIndex }\"\n (click)=\"onSelectItem(country)\"\n >\n <span\n class=\"select-option__flag\"\n [ngClass]=\"'fi fi-' + country.id\"\n >\n </span>\n <span class=\"select-option__name\">\n {{ 'platform.angular_components.country_name_' + country.id | translate }}\n </span>\n <span class=\"select-option__ddi\">\n {{ country.ddi }}\n </span>\n </li>\n }\n </ul>\n </div>\n }\n </ng-template>\n</div>\n", styles: [":host.ng-invalid.ng-dirty .phone-input{border-color:#c13018}.country-phone-picker:has(input:focus) .phone-input{border:1px solid #428bca}.country-phone-picker .phone-input{background-color:#fff;border:1px solid #d8d8d8;border-radius:4px;display:flex;line-height:normal;overflow:hidden}.country-phone-picker .phone-input .drop{align-items:center;cursor:pointer;display:flex}.country-phone-picker .phone-input .drop .drop-flag{margin-left:12px}.country-phone-picker .phone-input .drop .drop-icon{font-size:12px;margin:0 8px}.country-phone-picker .phone-input .phone-ddi{margin:8px 0}.country-phone-picker .phone-input input{border:none;flex-grow:1;font-family:Open Sans,sans-serif;font-size:14px;font-weight:400;line-height:150%;margin-left:8px}.country-phone-picker .phone-input input:focus{color:#697882;outline:0}.country-phone-picker .phone-input--focused{outline:2px solid #428bca}.dropdown{background-color:#fff;border-radius:4px;box-shadow:0 4px 5px #0003;padding:4px 0;position:absolute;margin:2px 0;z-index:999999}.dropdown .search{align-items:center;display:flex;padding:8px 12px}.dropdown .search .search-field{border:1px solid #d8d8d8;border-radius:4px;flex-grow:1;font-family:Open Sans,sans-serif;font-size:14px;font-weight:400;height:36px;line-height:150%;padding:0 32px 0 8px}.dropdown .search .search-icon{color:#333;font-size:12px;position:relative;right:24px}.dropdown .search .search-clear{color:#333;cursor:pointer;font-size:1rem}.dropdown .select-list{list-style:none;max-height:234px;min-width:360px;max-width:100vw;overflow:scroll;padding:0}.dropdown .select-list .select-option{cursor:pointer;display:flex;padding:12px;-webkit-user-select:none;user-select:none}.dropdown .select-list .select-option .select-option__flag{margin-right:12px}.dropdown .select-list .select-option .select-option__name{margin-right:.5rem;max-width:100%;overflow:hidden;text-overflow:ellipsis}.dropdown .select-list .select-option .select-option__ddi{color:#697882;font-size:14px;font-family:Open Sans,sans-serif;font-weight:400;line-height:150%}.dropdown .select-list .select-option:hover,.dropdown .select-list .select-option--focused{background-color:#e5eaea}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions", "instantPrefix"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
303
+ ], viewQueries: [{ propertyName: "phoneInput", first: true, predicate: ["phoneInput"], descendants: true, static: true }, { propertyName: "filterInput", first: true, predicate: ["filterInput"], descendants: true }, { propertyName: "dropdownTemplate", first: true, predicate: ["dropdownTemplate"], descendants: true }, { propertyName: "viewContainerRef", first: true, predicate: ["dropElement"], descendants: true, read: ViewContainerRef }, { propertyName: "dropElement", first: true, predicate: ["dropElement"], descendants: true, read: ElementRef }, { propertyName: "dropdownContainer", first: true, predicate: ["#dropdownContainer"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"country-phone-picker\">\n <div\n #dropElement\n class=\"phone-input\"\n [class.phone-input--focused]=\"isFocused\"\n >\n <div\n class=\"drop\"\n (click)=\"open = !open\"\n >\n <span\n class=\"drop-flag\"\n [ngClass]=\"'fi fi-' + selectedItem?.id\"\n >\n </span>\n <span class=\"drop-icon fas fa-caret-down\"></span>\n </div>\n <p class=\"phone-ddi\">{{ selectedItem?.ddi }}</p>\n <input\n #phoneInput\n type=\"tel\"\n [mask]=\"mask\"\n [placeholder]=\"getPlaceholder()\"\n [formControl]=\"phone\"\n (focus)=\"onPhoneInputFocus()\"\n (blur)=\"onBlur(value)\"\n />\n </div>\n <ng-template #dropdownTemplate>\n @if (open) {\n <div\n #dropdownContainer\n class=\"dropdown\"\n [ngStyle]=\"{\n position: 'absolute',\n top: dropTop + 'px',\n left: dropLeft + 'px',\n }\"\n >\n <div class=\"search\">\n <input\n class=\"search-field\"\n type=\"text\"\n [formControl]=\"filter\"\n #filterInput\n />\n <span class=\"search-icon fas fa-search\"></span>\n <span\n class=\"search-clear fa fa-times\"\n (click)=\"onCleanFilter()\"\n ></span>\n </div>\n <ul class=\"select-list\">\n @for (country of filteredCountriesList; track $index) {\n <li\n class=\"select-option\"\n [ngClass]=\"{ 'select-option--focused': $index === currentItemIndex }\"\n (click)=\"onSelectItem(country)\"\n >\n <span\n class=\"select-option__flag\"\n [ngClass]=\"'fi fi-' + country.id\"\n >\n </span>\n <span class=\"select-option__name\">\n {{ 'platform.angular_components.country_name_' + country.id | translate }}\n </span>\n <span class=\"select-option__ddi\">\n {{ country.ddi }}\n </span>\n </li>\n }\n </ul>\n </div>\n }\n </ng-template>\n</div>\n", styles: [":host.ng-invalid.ng-dirty .phone-input{border-color:#c13018}.country-phone-picker:has(input:focus) .phone-input{border:1px solid #428bca}.country-phone-picker .phone-input{background-color:#fff;border:1px solid #d8d8d8;border-radius:4px;display:flex;line-height:normal;overflow:hidden}.country-phone-picker .phone-input .drop{align-items:center;cursor:pointer;display:flex}.country-phone-picker .phone-input .drop .drop-flag{margin-left:12px}.country-phone-picker .phone-input .drop .drop-icon{font-size:12px;margin:0 8px}.country-phone-picker .phone-input .phone-ddi{margin:8px 0}.country-phone-picker .phone-input input{border:none;flex-grow:1;font-family:Open Sans,sans-serif;font-size:14px;font-weight:400;line-height:150%;margin-left:8px}.country-phone-picker .phone-input input:focus{color:#697882;outline:0}.country-phone-picker .phone-input--focused{outline:2px solid #428bca}.dropdown{background-color:#fff;border-radius:4px;box-shadow:0 4px 5px #0003;padding:4px 0;position:absolute;margin:2px 0;z-index:999999}.dropdown .search{align-items:center;display:flex;padding:8px 12px}.dropdown .search .search-field{border:1px solid #d8d8d8;border-radius:4px;flex-grow:1;font-family:Open Sans,sans-serif;font-size:14px;font-weight:400;height:36px;line-height:150%;padding:0 32px 0 8px}.dropdown .search .search-icon{color:#333;font-size:12px;position:relative;right:24px}.dropdown .search .search-clear{color:#333;cursor:pointer;font-size:1rem}.dropdown .select-list{list-style:none;max-height:234px;min-width:360px;max-width:100vw;overflow:scroll;padding:0}.dropdown .select-list .select-option{cursor:pointer;display:flex;padding:12px;-webkit-user-select:none;user-select:none}.dropdown .select-list .select-option .select-option__flag{margin-right:12px}.dropdown .select-list .select-option .select-option__name{margin-right:.5rem;max-width:100%;overflow:hidden;text-overflow:ellipsis}.dropdown .select-list .select-option .select-option__ddi{color:#697882;font-size:14px;font-family:Open Sans,sans-serif;font-weight:400;line-height:150%}.dropdown .select-list .select-option:hover,.dropdown .select-list .select-option--focused{background-color:#e5eaea}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions", "instantPrefix"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
304
304
  }
305
305
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CountryPhonePickerComponent, decorators: [{
306
306
  type: Component,
@@ -310,7 +310,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
310
310
  useExisting: forwardRef(() => CountryPhonePickerComponent),
311
311
  multi: true,
312
312
  },
313
- ], template: "<div class=\"country-phone-picker\">\n <div\n #dropElement\n class=\"phone-input\"\n [class.phone-input--focused]=\"isFocused\"\n >\n <div\n class=\"drop\"\n (click)=\"open = !open\"\n >\n <span\n class=\"drop-flag\"\n [ngClass]=\"'fi fi-' + selectedItem?.id\"\n >\n </span>\n <span class=\"drop-icon fas fa-caret-down\"></span>\n </div>\n <p class=\"phone-ddi\">{{ selectedItem?.ddi }}</p>\n <input\n #phoneInput\n type=\"tel\"\n [mask]=\"mask\"\n [placeholder]=\"getPlaceholder()\"\n [formControl]=\"phone\"\n (focus)=\"onPhoneInputFocus()\"\n (blur)=\"onBlur(value)\"\n />\n </div>\n <ng-template #dropdownTemplate>\n @if (open) {\n <div\n #dropdownContainer\n class=\"dropdown\"\n [ngStyle]=\"{\n position: 'absolute',\n top: dropTop + 'px',\n left: dropLeft + 'px',\n }\"\n >\n <div class=\"search\">\n <input\n class=\"search-field\"\n type=\"text\"\n [formControl]=\"filter\"\n #filterInput\n />\n <span class=\"search-icon fas fa-search\"></span>\n <span\n class=\"search-clear fa fa-times\"\n (click)=\"onCleanFilter()\"\n ></span>\n </div>\n <ul class=\"select-list\">\n @for (country of filteredCountriesList; track $index) {\n <li\n class=\"select-option\"\n [ngClass]=\"{ 'select-option--focused': $index === currentItemIndex }\"\n (click)=\"onSelectItem(country)\"\n >\n <span\n class=\"select-option__flag\"\n [ngClass]=\"'fi fi-' + country.id\"\n >\n </span>\n <span class=\"select-option__name\">\n {{ 'platform.angular_components.country_name_' + country.id | translate }}\n </span>\n <span class=\"select-option__ddi\">\n {{ country.ddi }}\n </span>\n </li>\n }\n </ul>\n </div>\n }\n </ng-template>\n</div>\n", styles: [":host.ng-invalid.ng-dirty .phone-input{border-color:#c13018}.country-phone-picker:has(input:focus) .phone-input{border:1px solid #428bca}.country-phone-picker .phone-input{background-color:#fff;border:1px solid #d8d8d8;border-radius:4px;display:flex;line-height:normal;overflow:hidden}.country-phone-picker .phone-input .drop{align-items:center;cursor:pointer;display:flex}.country-phone-picker .phone-input .drop .drop-flag{margin-left:12px}.country-phone-picker .phone-input .drop .drop-icon{font-size:12px;margin:0 8px}.country-phone-picker .phone-input .phone-ddi{margin:8px 0}.country-phone-picker .phone-input input{border:none;flex-grow:1;font-family:Open Sans,sans-serif;font-size:14px;font-weight:400;line-height:150%;margin-left:8px}.country-phone-picker .phone-input input:focus{color:#697882;outline:0}.country-phone-picker .phone-input--focused{outline:2px solid #428bca}.dropdown{background-color:#fff;border-radius:4px;box-shadow:0 4px 5px #0003;padding:4px 0;position:absolute;margin:2px 0;z-index:999999}.dropdown .search{align-items:center;display:flex;padding:8px 12px}.dropdown .search .search-field{border:1px solid #d8d8d8;border-radius:4px;flex-grow:1;font-family:Open Sans,sans-serif;font-size:14px;font-weight:400;height:36px;line-height:150%;padding:0 32px 0 8px}.dropdown .search .search-icon{color:#333;font-size:12px;position:relative;right:24px}.dropdown .search .search-clear{color:#333;cursor:pointer;font-size:1rem}.dropdown .select-list{list-style:none;max-height:234px;min-width:360px;max-width:100vw;overflow:scroll;padding:0}.dropdown .select-list .select-option{cursor:pointer;display:flex;padding:12px;-webkit-user-select:none;user-select:none}.dropdown .select-list .select-option .select-option__flag{margin-right:12px}.dropdown .select-list .select-option .select-option__name{margin-right:.5rem;max-width:100%;overflow:hidden;text-overflow:ellipsis}.dropdown .select-list .select-option .select-option__ddi{color:#697882;font-size:14px;font-family:Open Sans,sans-serif;font-weight:400;line-height:150%}.dropdown .select-list .select-option:hover,.dropdown .select-list .select-option--focused{background-color:#e5eaea}\n"] }]
313
+ ], standalone: true, imports: [NgClass, NgxMaskDirective, FormsModule, ReactiveFormsModule, NgStyle, TranslatePipe], template: "<div class=\"country-phone-picker\">\n <div\n #dropElement\n class=\"phone-input\"\n [class.phone-input--focused]=\"isFocused\"\n >\n <div\n class=\"drop\"\n (click)=\"open = !open\"\n >\n <span\n class=\"drop-flag\"\n [ngClass]=\"'fi fi-' + selectedItem?.id\"\n >\n </span>\n <span class=\"drop-icon fas fa-caret-down\"></span>\n </div>\n <p class=\"phone-ddi\">{{ selectedItem?.ddi }}</p>\n <input\n #phoneInput\n type=\"tel\"\n [mask]=\"mask\"\n [placeholder]=\"getPlaceholder()\"\n [formControl]=\"phone\"\n (focus)=\"onPhoneInputFocus()\"\n (blur)=\"onBlur(value)\"\n />\n </div>\n <ng-template #dropdownTemplate>\n @if (open) {\n <div\n #dropdownContainer\n class=\"dropdown\"\n [ngStyle]=\"{\n position: 'absolute',\n top: dropTop + 'px',\n left: dropLeft + 'px',\n }\"\n >\n <div class=\"search\">\n <input\n class=\"search-field\"\n type=\"text\"\n [formControl]=\"filter\"\n #filterInput\n />\n <span class=\"search-icon fas fa-search\"></span>\n <span\n class=\"search-clear fa fa-times\"\n (click)=\"onCleanFilter()\"\n ></span>\n </div>\n <ul class=\"select-list\">\n @for (country of filteredCountriesList; track $index) {\n <li\n class=\"select-option\"\n [ngClass]=\"{ 'select-option--focused': $index === currentItemIndex }\"\n (click)=\"onSelectItem(country)\"\n >\n <span\n class=\"select-option__flag\"\n [ngClass]=\"'fi fi-' + country.id\"\n >\n </span>\n <span class=\"select-option__name\">\n {{ 'platform.angular_components.country_name_' + country.id | translate }}\n </span>\n <span class=\"select-option__ddi\">\n {{ country.ddi }}\n </span>\n </li>\n }\n </ul>\n </div>\n }\n </ng-template>\n</div>\n", styles: [":host.ng-invalid.ng-dirty .phone-input{border-color:#c13018}.country-phone-picker:has(input:focus) .phone-input{border:1px solid #428bca}.country-phone-picker .phone-input{background-color:#fff;border:1px solid #d8d8d8;border-radius:4px;display:flex;line-height:normal;overflow:hidden}.country-phone-picker .phone-input .drop{align-items:center;cursor:pointer;display:flex}.country-phone-picker .phone-input .drop .drop-flag{margin-left:12px}.country-phone-picker .phone-input .drop .drop-icon{font-size:12px;margin:0 8px}.country-phone-picker .phone-input .phone-ddi{margin:8px 0}.country-phone-picker .phone-input input{border:none;flex-grow:1;font-family:Open Sans,sans-serif;font-size:14px;font-weight:400;line-height:150%;margin-left:8px}.country-phone-picker .phone-input input:focus{color:#697882;outline:0}.country-phone-picker .phone-input--focused{outline:2px solid #428bca}.dropdown{background-color:#fff;border-radius:4px;box-shadow:0 4px 5px #0003;padding:4px 0;position:absolute;margin:2px 0;z-index:999999}.dropdown .search{align-items:center;display:flex;padding:8px 12px}.dropdown .search .search-field{border:1px solid #d8d8d8;border-radius:4px;flex-grow:1;font-family:Open Sans,sans-serif;font-size:14px;font-weight:400;height:36px;line-height:150%;padding:0 32px 0 8px}.dropdown .search .search-icon{color:#333;font-size:12px;position:relative;right:24px}.dropdown .search .search-clear{color:#333;cursor:pointer;font-size:1rem}.dropdown .select-list{list-style:none;max-height:234px;min-width:360px;max-width:100vw;overflow:scroll;padding:0}.dropdown .select-list .select-option{cursor:pointer;display:flex;padding:12px;-webkit-user-select:none;user-select:none}.dropdown .select-list .select-option .select-option__flag{margin-right:12px}.dropdown .select-list .select-option .select-option__name{margin-right:.5rem;max-width:100%;overflow:hidden;text-overflow:ellipsis}.dropdown .select-list .select-option .select-option__ddi{color:#697882;font-size:14px;font-family:Open Sans,sans-serif;font-weight:400;line-height:150%}.dropdown .select-list .select-option:hover,.dropdown .select-list .select-option--focused{background-color:#e5eaea}\n"] }]
314
314
  }], propDecorators: { countries: [{
315
315
  type: Input
316
316
  }], ordination: [{
@@ -344,4 +344,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
344
344
  type: HostListener,
345
345
  args: ['keydown', ['$event']]
346
346
  }] } });
347
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS1waG9uZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2NvdW50cnktcGhvbmUtcGlja2VyL3NyYy9saWIvY291bnRyeS1waG9uZS1waWNrZXIvY291bnRyeS1waG9uZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2NvdW50cnktcGhvbmUtcGlja2VyL3NyYy9saWIvY291bnRyeS1waG9uZS1waWNrZXIvY291bnRyeS1waG9uZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFdBQVcsRUFBZSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BMLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUczRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7OztBQUlqRDs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFhSCxNQUFNLE9BQU8sMkJBQTJCO0lBQ25C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QkFBd0IsYUFHdkI7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsNEJBQTRCLENBQUM7NEJBQzFELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKOzhCQWVNLFNBQVM7c0JBRGYsS0FBSztnQkFVQyxVQUFVO3NCQURoQixLQUFLO2dCQVFDLFFBQVE7c0JBRGQsTUFBTTtnQkFRQSxTQUFTO3NCQURmLE1BQU07Z0JBSUEsVUFBVTtzQkFEaEIsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUl4QixXQUFXO3NCQUQzQixTQUFTO3VCQUFDLGFBQWE7Z0JBc0JqQixnQkFBZ0I7c0JBRHRCLFNBQVM7dUJBQUMsa0JBQWtCO2dCQUl0QixnQkFBZ0I7c0JBRHRCLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFO2dCQUk3QyxXQUFXO3NCQURqQixTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBSXZDLGlCQUFpQjtzQkFEdkIsU0FBUzt1QkFBQyxvQkFBb0IsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBOEI5QyxVQUFVO3NCQURoQixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVduQyxTQUFTO3NCQURmLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRG9tUG9ydGFsT3V0bGV0LCBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBQTEFURk9STV9JRCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IsIFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBpc051bGxPclVuZGVmaW5lZCB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvdXRpbHMnO1xuaW1wb3J0IHsgQ291bnRyeVBob25lUGlja2VyU2VydmljZSB9IGZyb20gJy4vY291bnRyeS1waG9uZS1waWNrZXIuc2VydmljZSc7XG5cbmltcG9ydCB7IENvdW50cnlQaG9uZURhdGEgfSBmcm9tICcuL21vZGVscy9jb3VudHJ5LXBob25lLWRhdGEnO1xuaW1wb3J0IHsgT3JkaW5hdGlvbiB9IGZyb20gJy4vbW9kZWxzL29yZGluYXRpb24nO1xuXG5pbXBvcnQgeyBQaG9uZVNlbGVjdGlvbkRhdGEgfSBmcm9tICcuL21vZGVscy9waG9uZS1zZWxlY3Rpb24tZGF0YSc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbXBvbmVudGUgc2VsZXRvciBkZSBwYcOtcyBlIG7Dum1lcm8gZGUgdGVsZWZvbmUgY29tIG3DoXNjYXJhIGRpbsOibWljYS5cbiAqIEV4aWJlIHVtYSBsaXN0YSBkZSBwYcOtc2VzIGNvbSBzZXVzIGPDs2RpZ29zIERESSBlIGFwbGljYSBhdXRvbWF0aWNhbWVudGUgYSBtw6FzY2FyYVxuICogZGUgZm9ybWF0YcOnw6NvIGRvIG7Dum1lcm8gY29uZm9ybWUgbyBwYcOtcyBzZWxlY2lvbmFkby4gSW1wbGVtZW50YSB7QGxpbmsgQ29udHJvbFZhbHVlQWNjZXNzb3J9XG4gKiBwYXJhIGludGVncmHDp8OjbyBjb20gZm9ybXVsw6FyaW9zIEFuZ3VsYXIuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDxzLWNvdW50cnktcGhvbmUtcGlja2VyXG4gKiAgIGZvcm1Db250cm9sTmFtZT1cInRlbGVmb25lXCJcbiAqICAgW2NvdW50cmllc109XCJbJ0JSJywgJ1VTJywgJ0FSJ11cIlxuICogICAoc2VsZWN0ZWQpPVwib25QYWlzU2VsZWNpb25hZG8oJGV2ZW50KVwiIC8+XG4gKiBgYGBcbiAqXG4gKiBAY2F0ZWdvcnkgSW5wdXRzXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncy1jb3VudHJ5LXBob25lLXBpY2tlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvdW50cnktcGhvbmUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jb3VudHJ5LXBob25lLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENvdW50cnlQaG9uZVBpY2tlckNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDb3VudHJ5UGhvbmVQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jb3VudHJ5UGhvbmVQaWNrZXJTZXJ2aWNlID0gaW5qZWN0KENvdW50cnlQaG9uZVBpY2tlclNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3RyYW5zbGF0ZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9lUmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcGxhdGZvcm1JZCA9IGluamVjdDxPYmplY3Q+KFBMQVRGT1JNX0lEKTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBMaXN0YSBkZSBjw7NkaWdvcyBkZSBwYcOtcyAoSVNPIDMxNjYtMSBhbHBoYS0yKSBleGliaWRvcyBubyBzZWxldG9yLlxuICAgICAqIFF1YW5kbyB2YXppYSwgdG9kb3Mgb3MgcGHDrXNlcyBkaXNwb27DrXZlaXMgc8OjbyBsaXN0YWRvcy5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IFtdXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY291bnRyaWVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIENyaXTDqXJpbyBkZSBvcmRlbmHDp8OjbyBkb3MgcGHDrXNlcyBuYSBsaXN0YS5cbiAgICAgKiBBY2VpdGEgb3MgdmFsb3JlcyBkbyBlbnVtIGBPcmRpbmF0aW9uYCAoZXguOiBwb3Igbm9tZSwgcG9yIERESSwgc2VtIG9yZGVuYcOnw6NvKS5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IE9yZGluYXRpb24uTk9cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBvcmRpbmF0aW9uOiBPcmRpbmF0aW9uID0gT3JkaW5hdGlvbi5OTztcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBFbWl0aWRvIHF1YW5kbyBvIHVzdcOhcmlvIHNlbGVjaW9uYSB1bSBwYcOtcyBubyBkcm9wZG93bi5cbiAgICAgKiBFbWl0ZSB1bSBvYmpldG8ge0BsaW5rIENvdW50cnlQaG9uZURhdGF9IGNvbSBkYWRvcyBkbyBwYcOtcyBlc2NvbGhpZG8uXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8Q291bnRyeVBob25lRGF0YT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gRW1pdGlkbyBxdWFuZG8gbyBjYW1wbyBkZSBuw7ptZXJvIGRlIHRlbGVmb25lIHBlcmRlIG8gZm9jby5cbiAgICAgKiBFbWl0ZSBvIG9iamV0byB7QGxpbmsgUGhvbmVTZWxlY3Rpb25EYXRhfSBjb20gcGHDrXMgZSBuw7ptZXJvIGF0dWFpcywgb3UgYG51bGxgLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBmb2N1c0xvc3Q6IEV2ZW50RW1pdHRlcjxQaG9uZVNlbGVjdGlvbkRhdGEgfCBudWxsPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBWaWV3Q2hpbGQoJ3Bob25lSW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIHB1YmxpYyBwaG9uZUlucHV0OiBFbGVtZW50UmVmIHwgbnVsbCA9IG51bGw7XG5cbiAgICBAVmlld0NoaWxkKCdmaWx0ZXJJbnB1dCcpXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaWx0ZXJJbnB1dDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PiB8IG51bGwgPSBudWxsO1xuXG4gICAgcHVibGljIGlzRm9jdXNlZCA9IGZhbHNlO1xuICAgIHB1YmxpYyBtYXNrOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBwdWJsaWMgc2VsZWN0ZWRJdGVtOiBDb3VudHJ5UGhvbmVEYXRhIHwgbnVsbCA9IG51bGw7XG4gICAgcHVibGljIGN1cnJlbnRJdGVtSW5kZXggPSAwO1xuICAgIHB1YmxpYyBmaWx0ZXJlZENvdW50cmllc0xpc3Q6IENvdW50cnlQaG9uZURhdGFbXSA9IFtdO1xuICAgIHB1YmxpYyBwaG9uZSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycpO1xuICAgIHB1YmxpYyBmaWx0ZXIgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKCcnKTtcblxuICAgIHB1YmxpYyBkcm9wVG9wID0gMDtcbiAgICBwdWJsaWMgZHJvcExlZnQgPSAwO1xuICAgIHByaXZhdGUgX3ZhbHVlOiBQaG9uZVNlbGVjdGlvbkRhdGEgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIF9vbkNoYW5nZT86ICh2YWx1ZTogUGhvbmVTZWxlY3Rpb25EYXRhKSA9PiB2b2lkO1xuICAgIHByaXZhdGUgX29uVG91Y2hlZD86ICh2YWx1ZTogUGhvbmVTZWxlY3Rpb25EYXRhKSA9PiB2b2lkO1xuICAgIHByaXZhdGUgX2NvdW50cmllc0xpc3Q6IENvdW50cnlQaG9uZURhdGFbXSA9IFtdO1xuICAgIHByaXZhdGUgX29wZW4gPSBmYWxzZTtcbiAgICBwcml2YXRlIF9vZmZzZXRUb3AgPSAwO1xuICAgIHByaXZhdGUgX3BvcnRhbEhvc3Q6IERvbVBvcnRhbE91dGxldCB8IG51bGwgPSBudWxsO1xuXG4gICAgQFZpZXdDaGlsZCgnZHJvcGRvd25UZW1wbGF0ZScpXG4gICAgcHVibGljIGRyb3Bkb3duVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcblxuICAgIEBWaWV3Q2hpbGQoJ2Ryb3BFbGVtZW50JywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pXG4gICAgcHVibGljIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYgfCBudWxsID0gbnVsbDtcblxuICAgIEBWaWV3Q2hpbGQoJ2Ryb3BFbGVtZW50JywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gICAgcHVibGljIGRyb3BFbGVtZW50OiBFbGVtZW50UmVmIHwgbnVsbCA9IG51bGw7XG5cbiAgICBAVmlld0NoaWxkKCcjZHJvcGRvd25Db250YWluZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgICBwdWJsaWMgZHJvcGRvd25Db250YWluZXI6IEVsZW1lbnRSZWYgfCBudWxsID0gbnVsbDtcblxuICAgIHB1YmxpYyBnZXQgdmFsdWUoKTogUGhvbmVTZWxlY3Rpb25EYXRhIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZSA/PyBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgdmFsdWUodmFsdWU6IFBob25lU2VsZWN0aW9uRGF0YSkge1xuICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLm1hc2sgPSB0aGlzLmdldE1hc2soKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG9wZW4oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vcGVuO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgb3BlbihvcGVuOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX29wZW4gPSBvcGVuO1xuXG4gICAgICAgIGlmIChvcGVuKSB7XG4gICAgICAgICAgICB0aGlzLl9jcmVhdGVEcm9wZG93blBvcnRhbCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuX3BvcnRhbEhvc3Q/Lmhhc0F0dGFjaGVkKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9wb3J0YWxIb3N0LmRldGFjaCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5waG9uZUlucHV0Py5uYXRpdmVFbGVtZW50Py5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBvbkNsaWNrb3V0KGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fZVJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGNsaWNrZWRPbkZpbHRlcklucHV0ID0gdGhpcy5maWx0ZXJJbnB1dD8ubmF0aXZlRWxlbWVudCA9PT0gZXZlbnQudGFyZ2V0O1xuICAgICAgICAgICAgaWYgKHRoaXMub3BlbiAmJiAhY2xpY2tlZE9uRmlsdGVySW5wdXQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5rZXkgPT09ICcgJykge1xuICAgICAgICAgICAgaWYgKHRoaXMub3Blbikge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gdGhpcy5fY291bnRyaWVzTGlzdFt0aGlzLmN1cnJlbnRJdGVtSW5kZXhdO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQuZW1pdCh0aGlzLnNlbGVjdGVkSXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLm9wZW4gPSAhdGhpcy5vcGVuO1xuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93RG93bicpIHtcbiAgICAgICAgICAgIHRoaXMuX21vdmVUb0Rvd24oKTtcbiAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1VwJykge1xuICAgICAgICAgICAgdGhpcy5fbW92ZVRvVXAoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBQaG9uZVNlbGVjdGlvbkRhdGEpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuXG4gICAgICAgIGlmICh2YWx1ZT8uaWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvdW50cnkgPSB0aGlzLl9jb3VudHJpZXNMaXN0LmZpbHRlcigoeyBpZCB9KSA9PiBpZCA9PT0gdmFsdWUuaWQpO1xuICAgICAgICAgICAgaWYgKGNvdW50cnkubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vblNlbGVjdEl0ZW0oY291bnRyeVswXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmFsdWU/LnJhd1ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnBob25lLnNldFZhbHVlKHZhbHVlLnJhd1ZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKG9uQ2hhbmdlOiAodmFsdWU6IFBob25lU2VsZWN0aW9uRGF0YSkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vbkNoYW5nZSA9IG9uQ2hhbmdlO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6ICh2YWx1ZTogUGhvbmVTZWxlY3Rpb25EYXRhKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29uVG91Y2hlZCA9IG9uVG91Y2hlZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvdW50cmllcyA9IHRoaXMuX2NvdW50cnlQaG9uZVBpY2tlclNlcnZpY2UuZ2V0Q291bnRyaWVzKHRoaXMub3JkaW5hdGlvbik7XG4gICAgICAgIHRoaXMuZmlsdGVyLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodGhpcy5fZmlsdGVyQ291bnRyaWVzKTtcblxuICAgICAgICBpZiAodGhpcy5jb3VudHJpZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5fY291bnRyaWVzTGlzdCA9IGNvdW50cmllcy5maWx0ZXIoKGNvdW50cnkpID0+IHRoaXMuY291bnRyaWVzLmluY2x1ZGVzKGNvdW50cnkuaWQpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2NvdW50cmllc0xpc3QgPSBjb3VudHJpZXM7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5maWx0ZXJlZENvdW50cmllc0xpc3QgPSB0aGlzLl9jb3VudHJpZXNMaXN0O1xuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IHRoaXMuX2dldFNlbGVjdGVkQ291bnRyeURlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5tYXNrID0gdGhpcy5nZXRNYXNrKCk7XG5cbiAgICAgICAgdGhpcy5waG9uZS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkSXRlbSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHtcbiAgICAgICAgICAgICAgICBpZDogdGhpcy5zZWxlY3RlZEl0ZW0uaWQsXG4gICAgICAgICAgICAgICAgZGRpOiB0aGlzLnNlbGVjdGVkSXRlbS5kZGksXG4gICAgICAgICAgICAgICAgcmF3VmFsdWU6IHZhbHVlID8/ICcnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiB2YWx1ZSA/IGAke3RoaXMuX2FwcGx5TWFzayh2YWx1ZSl9YCA6ICcnLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGlmICh0aGlzLl9vbkNoYW5nZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX29uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25TZWxlY3RJdGVtKGNvdW50cnk6IENvdW50cnlQaG9uZURhdGEpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gY291bnRyeTtcbiAgICAgICAgdGhpcy5waG9uZS5zZXRWYWx1ZSgnJyk7XG4gICAgICAgIHRoaXMuY3VycmVudEl0ZW1JbmRleCA9IHRoaXMuX2NvdW50cmllc0xpc3QuaW5kZXhPZih0aGlzLnNlbGVjdGVkSXRlbSk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuZW1pdCh0aGlzLnNlbGVjdGVkSXRlbSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2xlYW5GaWx0ZXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmlsdGVyLnNldFZhbHVlKCcnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25QaG9uZUlucHV0Rm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzRm9jdXNlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQmx1cih2YWx1ZTogUGhvbmVTZWxlY3Rpb25EYXRhIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvY3VzTG9zdC5lbWl0KHZhbHVlKTtcbiAgICAgICAgdGhpcy5pc0ZvY3VzZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TWFzaygpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkSXRlbSkgcmV0dXJuIG51bGw7XG4gICAgICAgIGNvbnN0IG1hc2sgPSB0aGlzLnNlbGVjdGVkSXRlbS5tYXNrO1xuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KG1hc2spKSB7XG4gICAgICAgICAgICByZXR1cm4gIXRoaXMudmFsdWU/LnJhd1ZhbHVlIHx8IHRoaXMudmFsdWUucmF3VmFsdWUubGVuZ3RoIDw9IG1hc2tbMF0ucmVwbGFjZSgvW14wXS9nLCAnJykubGVuZ3RoXG4gICAgICAgICAgICAgICAgPyBtYXNrWzBdIC8vIGZpeG9cbiAgICAgICAgICAgICAgICA6IG1hc2tbMV07IC8vIGNlbHVsYXJcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBtYXNrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldFBsYWNlaG9sZGVyKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5tYXNrPy5yZXBsYWNlKC85L2csICcnKSA/PyAnLSBOTyBNQVNLIC0nO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldFNlbGVjdGVkQ291bnRyeURlZmF1bHQoKTogQ291bnRyeVBob25lRGF0YSB7XG4gICAgICAgIGlmICghdGhpcy5fY291bnRyaWVzTGlzdC5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gY291bnRyeSBsb2FkZWQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZpbHRlcmVkQnlCciA9IHRoaXMuX2NvdW50cmllc0xpc3QuZmlsdGVyKChjb3VudHJ5OiBDb3VudHJ5UGhvbmVEYXRhKSA9PiBjb3VudHJ5LmlkID09PSAnYnInKTtcblxuICAgICAgICByZXR1cm4gZmlsdGVyZWRCeUJyLmxlbmd0aCA/IGZpbHRlcmVkQnlCclswXSA6IHRoaXMuX2NvdW50cmllc0xpc3RbMF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZmlsdGVyQ291bnRyaWVzID0gKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZENvdW50cmllc0xpc3QgPSB0aGlzLl9jb3VudHJpZXNMaXN0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZENvdW50cmllc0xpc3QgPSB0aGlzLl9jb3VudHJpZXNMaXN0LmZpbHRlcigoY291bnRyeSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvdW50cnlOYW1lID0gdGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgICAgICAgICAgIGBwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuY291bnRyeV9uYW1lXyR7Y291bnRyeS5pZH1gLFxuICAgICAgICAgICAgICAgICkgYXMgc3RyaW5nO1xuICAgICAgICAgICAgICAgIHJldHVybiBjb3VudHJ5TmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHZhbHVlLnRvTG93ZXJDYXNlKCkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBfbW92ZVRvVXAoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRJdGVtSW5kZXggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY3VycmVudEl0ZW1JbmRleC0tO1xuXG4gICAgICAgIGNvbnN0IHNlbGVjdExpc3Q6IGFueSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zZWxlY3QtbGlzdCcpO1xuICAgICAgICBjb25zdCBpdGVtID0gc2VsZWN0TGlzdC5jaGlsZHJlblt0aGlzLmN1cnJlbnRJdGVtSW5kZXhdO1xuXG4gICAgICAgIGlmIChpdGVtLm9mZnNldFRvcCAtIHNlbGVjdExpc3Qub2Zmc2V0VG9wIDw9IHRoaXMuX29mZnNldFRvcCkge1xuICAgICAgICAgICAgdGhpcy5fb2Zmc2V0VG9wIC09IDQ1O1xuICAgICAgICAgICAgc2VsZWN0TGlzdC5zY3JvbGxUbygwLCB0aGlzLl9vZmZzZXRUb3ApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgU0NST0xMX09GRlNFVF9USFJFU0hPTEQgPSAxODA7XG4gICAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgU0NST0xMX0FNT1VOVF9QRVJfSVRFTSA9IDQ1O1xuXG4gICAgcHJpdmF0ZSBfbW92ZVRvRG93bigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudEl0ZW1JbmRleCA+PSB0aGlzLl9jb3VudHJpZXNMaXN0Lmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY3VycmVudEl0ZW1JbmRleCsrO1xuXG4gICAgICAgIGNvbnN0IHNlbGVjdExpc3Q6IGFueSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zZWxlY3QtbGlzdCcpO1xuICAgICAgICBjb25zdCBpdGVtID0gc2VsZWN0TGlzdC5jaGlsZHJlblt0aGlzLmN1cnJlbnRJdGVtSW5kZXhdO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGl0ZW0ub2Zmc2V0VG9wIC0gc2VsZWN0TGlzdC5vZmZzZXRUb3AgPlxuICAgICAgICAgICAgdGhpcy5fb2Zmc2V0VG9wICsgQ291bnRyeVBob25lUGlja2VyQ29tcG9uZW50LlNDUk9MTF9PRkZTRVRfVEhSRVNIT0xEXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5fb2Zmc2V0VG9wICs9IENvdW50cnlQaG9uZVBpY2tlckNvbXBvbmVudC5TQ1JPTExfQU1PVU5UX1BFUl9JVEVNO1xuICAgICAgICAgICAgc2VsZWN0TGlzdC5zY3JvbGxUbygwLCB0aGlzLl9vZmZzZXRUb3ApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfYXBwbHlNYXNrKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBsZXQgbWFzaztcblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnNlbGVjdGVkSXRlbT8ubWFzaykpIHtcbiAgICAgICAgICAgIGNvbnN0IHJhd01hc2sgPSB0aGlzLnNlbGVjdGVkSXRlbS5tYXNrWzBdLnJlcGxhY2UoL1teMF0vZywgJycpO1xuICAgICAgICAgICAgbWFzayA9IHZhbHVlLmxlbmd0aCA8PSByYXdNYXNrLmxlbmd0aCA/IHRoaXMuc2VsZWN0ZWRJdGVtLm1hc2tbMF0gKyAnXFwwJyA6IHRoaXMuc2VsZWN0ZWRJdGVtLm1hc2tbMV0gKyAnXFwwJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG1hc2sgPSB0aGlzLnNlbGVjdGVkSXRlbT8ubWFzayArICdcXDAnO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHRva2VucyA9ICcnO1xuICAgICAgICBsZXQgcmVwbGFjZSA9ICcnO1xuICAgICAgICBsZXQgYWN1bXVsYWRvciA9IDA7XG4gICAgICAgIGxldCBjb250YWRvciA9IDA7XG5cbiAgICAgICAgZm9yIChjb25zdCB0b2tlbiBvZiBtYXNrKSB7XG4gICAgICAgICAgICBpZiAoaXNOYU4ocGFyc2VJbnQodG9rZW4sIDEwKSkpIHtcbiAgICAgICAgICAgICAgICBpZiAoYWN1bXVsYWRvcikge1xuICAgICAgICAgICAgICAgICAgICB0b2tlbnMgKz0gYChcXFxcZHske2FjdW11bGFkb3J9fSlgO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnRhZG9yKys7XG4gICAgICAgICAgICAgICAgICAgIHJlcGxhY2UgKz0gYCQke2NvbnRhZG9yfWA7XG5cbiAgICAgICAgICAgICAgICAgICAgYWN1bXVsYWRvciA9IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHRva2VuICE9PSAnXFwwJykge1xuICAgICAgICAgICAgICAgICAgICByZXBsYWNlICs9IHRva2VuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgYWN1bXVsYWRvcisrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdG9rZW5zID0gYF4ke3Rva2Vuc30qYDtcbiAgICAgICAgcmV0dXJuIHRoaXMucGhvbmUudmFsdWUucmVwbGFjZShuZXcgUmVnRXhwKHRva2VucyksIHJlcGxhY2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NyZWF0ZURyb3Bkb3duUG9ydGFsKCk6IHZvaWQge1xuICAgICAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkgfHwgaXNOdWxsT3JVbmRlZmluZWQodGhpcy5kcm9wRWxlbWVudCkpIHJldHVybjtcblxuICAgICAgICBjb25zdCBib2R5RWxlbWVudCA9IGRvY3VtZW50LmJvZHk7XG4gICAgICAgIGNvbnN0IGRyb3BFbGVtZW50UmVjdCA9IHRoaXMuZHJvcEVsZW1lbnQubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICB0aGlzLmRyb3BUb3AgPSBkcm9wRWxlbWVudFJlY3QuYm90dG9tICsgd2luZG93LnNjcm9sbFk7XG4gICAgICAgIHRoaXMuZHJvcExlZnQgPSBkcm9wRWxlbWVudFJlY3QubGVmdCArIHdpbmRvdy5zY3JvbGxYO1xuXG4gICAgICAgIHRoaXMuX3BvcnRhbEhvc3QgPSBuZXcgRG9tUG9ydGFsT3V0bGV0KGJvZHlFbGVtZW50LCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcbiAgICAgICAgY29uc3QgcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKFxuICAgICAgICAgICAgdGhpcy5kcm9wZG93blRlbXBsYXRlIGFzIFRlbXBsYXRlUmVmPGFueT4sXG4gICAgICAgICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYgYXMgVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5fcG9ydGFsSG9zdC5hdHRhY2gocG9ydGFsKTtcbiAgICB9XG59XG5cbiIsIjxkaXYgY2xhc3M9XCJjb3VudHJ5LXBob25lLXBpY2tlclwiPlxuICAgIDxkaXZcbiAgICAgICAgI2Ryb3BFbGVtZW50XG4gICAgICAgIGNsYXNzPVwicGhvbmUtaW5wdXRcIlxuICAgICAgICBbY2xhc3MucGhvbmUtaW5wdXQtLWZvY3VzZWRdPVwiaXNGb2N1c2VkXCJcbiAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiZHJvcFwiXG4gICAgICAgICAgICAoY2xpY2spPVwib3BlbiA9ICFvcGVuXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBjbGFzcz1cImRyb3AtZmxhZ1wiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiJ2ZpIGZpLScgKyBzZWxlY3RlZEl0ZW0/LmlkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZHJvcC1pY29uIGZhcyBmYS1jYXJldC1kb3duXCI+PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHAgY2xhc3M9XCJwaG9uZS1kZGlcIj57eyBzZWxlY3RlZEl0ZW0/LmRkaSB9fTwvcD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAjcGhvbmVJbnB1dFxuICAgICAgICAgICAgdHlwZT1cInRlbFwiXG4gICAgICAgICAgICBbbWFza109XCJtYXNrXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJnZXRQbGFjZWhvbGRlcigpXCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJwaG9uZVwiXG4gICAgICAgICAgICAoZm9jdXMpPVwib25QaG9uZUlucHV0Rm9jdXMoKVwiXG4gICAgICAgICAgICAoYmx1cik9XCJvbkJsdXIodmFsdWUpXCJcbiAgICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgICA8bmctdGVtcGxhdGUgI2Ryb3Bkb3duVGVtcGxhdGU+XG4gICAgICAgIEBpZiAob3Blbikge1xuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICNkcm9wZG93bkNvbnRhaW5lclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZHJvcGRvd25cIlxuICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICAgICAgICAgIHRvcDogZHJvcFRvcCArICdweCcsXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGRyb3BMZWZ0ICsgJ3B4JyxcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2gtZmllbGRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZpbHRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAjZmlsdGVySW5wdXRcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZWFyY2gtaWNvbiBmYXMgZmEtc2VhcmNoXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2gtY2xlYXIgZmEgZmEtdGltZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xlYW5GaWx0ZXIoKVwiXG4gICAgICAgICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwic2VsZWN0LWxpc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgQGZvciAoY291bnRyeSBvZiBmaWx0ZXJlZENvdW50cmllc0xpc3Q7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3Qtb3B0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdzZWxlY3Qtb3B0aW9uLS1mb2N1c2VkJzogJGluZGV4ID09PSBjdXJyZW50SXRlbUluZGV4IH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNlbGVjdEl0ZW0oY291bnRyeSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0LW9wdGlvbl9fZmxhZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIidmaSBmaS0nICsgY291bnRyeS5pZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNlbGVjdC1vcHRpb25fX25hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5jb3VudHJ5X25hbWVfJyArIGNvdW50cnkuaWQgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZWxlY3Qtb3B0aW9uX19kZGlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgY291bnRyeS5kZGkgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
347
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS1waG9uZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2NvdW50cnktcGhvbmUtcGlja2VyL3NyYy9saWIvY291bnRyeS1waG9uZS1waWNrZXIvY291bnRyeS1waG9uZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2NvdW50cnktcGhvbmUtcGlja2VyL3NyYy9saWIvY291bnRyeS1waG9uZS1waWNrZXIvY291bnRyeS1waG9uZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQ0gsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixXQUFXLEVBRVgsU0FBUyxFQUNULGdCQUFnQixFQUNoQixNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUVILGlCQUFpQixFQUNqQixrQkFBa0IsRUFDbEIsV0FBVyxFQUNYLG1CQUFtQixHQUN0QixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRzNFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUdqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUM7OztBQUU1Qzs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFlSCxNQUFNLE9BQU8sMkJBQTJCO0lBQ25CLDBCQUEwQixHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQy9ELFVBQVUsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN0QyxLQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzNCLFdBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDakMsVUFBVSxHQUFHLE1BQU0sQ0FBUyxXQUFXLENBQUMsQ0FBQztJQUUxRDs7Ozs7T0FLRztJQUVJLFNBQVMsR0FBYSxFQUFFLENBQUM7SUFFaEM7Ozs7O09BS0c7SUFFSSxVQUFVLEdBQWUsVUFBVSxDQUFDLEVBQUUsQ0FBQztJQUU5Qzs7O09BR0c7SUFFSSxRQUFRLEdBQW1DLElBQUksWUFBWSxFQUFFLENBQUM7SUFFckU7OztPQUdHO0lBRUksU0FBUyxHQUE0QyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBR3hFLFVBQVUsR0FBc0IsSUFBSSxDQUFDO0lBRzNCLFdBQVcsR0FBd0MsSUFBSSxDQUFDO0lBRWxFLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDbEIsSUFBSSxHQUFrQixJQUFJLENBQUM7SUFDM0IsWUFBWSxHQUE0QixJQUFJLENBQUM7SUFDN0MsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0lBQ3JCLHFCQUFxQixHQUF1QixFQUFFLENBQUM7SUFDL0MsS0FBSyxHQUFHLElBQUksa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbkMsTUFBTSxHQUFHLElBQUksa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFcEMsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNaLFFBQVEsR0FBRyxDQUFDLENBQUM7SUFDWixNQUFNLEdBQThCLElBQUksQ0FBQztJQUN6QyxTQUFTLENBQXVDO0lBQ2hELFVBQVUsQ0FBdUM7SUFDakQsY0FBYyxHQUF1QixFQUFFLENBQUM7SUFDeEMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNkLFVBQVUsR0FBRyxDQUFDLENBQUM7SUFDZixXQUFXLEdBQTJCLElBQUksQ0FBQztJQUc1QyxnQkFBZ0IsR0FBNEIsSUFBSSxDQUFDO0lBR2pELGdCQUFnQixHQUE0QixJQUFJLENBQUM7SUFHakQsV0FBVyxHQUFzQixJQUFJLENBQUM7SUFHdEMsaUJBQWlCLEdBQXNCLElBQUksQ0FBQztJQUVuRCxJQUFXLEtBQUs7UUFDWixPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFXLEtBQUssQ0FBQyxLQUF5QjtRQUN0QyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ1gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFXLElBQUksQ0FBQyxJQUFhO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBRWxCLElBQUksSUFBSSxFQUFFLENBQUM7WUFDUCxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUNqQyxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsRUFBRSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzlCLENBQUM7WUFDRCxJQUFJLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUM1QyxDQUFDO0lBQ0wsQ0FBQztJQUdNLFVBQVUsQ0FBQyxLQUFpQjtRQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ25ELE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxhQUFhLEtBQUssS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUM5RSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2dCQUNyQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztZQUN0QixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFHTSxTQUFTLENBQUMsS0FBb0I7UUFDakMsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLE9BQU8sSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQzdDLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNaLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztnQkFDL0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzFDLENBQUM7WUFDRCxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMzQixDQUFDO2FBQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLENBQUM7YUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7YUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3JCLENBQUM7SUFDTCxDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQXlCO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRW5CLElBQUksS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ1osTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3hFLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNqQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xDLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7SUFDTCxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsUUFBNkM7UUFDakUsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7SUFDOUIsQ0FBQztJQUVNLGlCQUFpQixDQUFDLFNBQThDO1FBQ25FLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO0lBQ2hDLENBQUM7SUFFTSxRQUFRO1FBQ1gsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUVyRyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM3RixDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDO1FBQ3BDLENBQUM7UUFDRCxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUNqRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ3RELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRTNCLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuRixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUNyQixPQUFPO1lBQ1gsQ0FBQztZQUVELElBQUksQ0FBQyxLQUFLLEdBQUc7Z0JBQ1QsRUFBRSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRTtnQkFDeEIsR0FBRyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRztnQkFDMUIsUUFBUSxFQUFFLEtBQUssSUFBSSxFQUFFO2dCQUNyQixLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTthQUNsRCxDQUFDO1lBQ0YsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9CLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxZQUFZLENBQUMsT0FBeUI7UUFDekMsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDbEIsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUM7UUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVNLGFBQWE7UUFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVNLGlCQUFpQjtRQUNwQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQWdDO1FBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFTSxPQUFPO1FBQ1YsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDcEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7UUFFcEMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNO2dCQUM3RixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU87Z0JBQ2pCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVO1FBQzdCLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztJQUNMLENBQUM7SUFFTSxjQUFjO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLGFBQWEsQ0FBQztJQUN6RCxDQUFDO0lBRU8sMEJBQTBCO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzlCLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUF5QixFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFDO1FBRXBHLE9BQU8sWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFZ0IsZ0JBQWdCLEdBQUcsQ0FBQyxLQUFhLEVBQUUsRUFBRTtRQUNsRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDVCxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUNyRCxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUNoRSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FDdkMsNENBQTRDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FDakQsQ0FBQztnQkFDWixPQUFPLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFDbkUsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0lBRU0sU0FBUztRQUNiLElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzlCLE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFeEIsTUFBTSxVQUFVLEdBQVEsUUFBUSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMvRCxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXhELElBQUksSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUMzRCxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztZQUN0QixVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDNUMsQ0FBQztJQUNMLENBQUM7SUFFTyxNQUFNLENBQVUsdUJBQXVCLEdBQUcsR0FBRyxDQUFDO0lBQzlDLE1BQU0sQ0FBVSxzQkFBc0IsR0FBRyxFQUFFLENBQUM7SUFFNUMsV0FBVztRQUNmLElBQUksSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzFELE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFeEIsTUFBTSxVQUFVLEdBQVEsUUFBUSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMvRCxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXhELElBQ0ksSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsU0FBUztZQUNyQyxJQUFJLENBQUMsVUFBVSxHQUFHLDJCQUEyQixDQUFDLHVCQUF1QixFQUN2RSxDQUFDO1lBQ0MsSUFBSSxDQUFDLFVBQVUsSUFBSSwyQkFBMkIsQ0FBQyxzQkFBc0IsQ0FBQztZQUN0RSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDNUMsQ0FBQztJQUNMLENBQUM7SUFFTyxVQUFVLENBQUMsS0FBYTtRQUM1QixJQUFJLElBQUksQ0FBQztRQUVULElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDekMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMvRCxJQUFJLEdBQUcsS0FBSyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUNoSCxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksR0FBRyxJQUFJLENBQUM7UUFDMUMsQ0FBQztRQUVELElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNoQixJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztRQUVqQixLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3ZCLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUM3QixJQUFJLFVBQVUsRUFBRSxDQUFDO29CQUNiLE1BQU0sSUFBSSxRQUFRLFVBQVUsSUFBSSxDQUFDO29CQUVqQyxRQUFRLEVBQUUsQ0FBQztvQkFDWCxPQUFPLElBQUksSUFBSSxRQUFRLEVBQUUsQ0FBQztvQkFFMUIsVUFBVSxHQUFHLENBQUMsQ0FBQztnQkFDbkIsQ0FBQztnQkFFRCxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FBQztvQkFDakIsT0FBTyxJQUFJLEtBQUssQ0FBQztnQkFDckIsQ0FBQztZQUNMLENBQUM7aUJBQU0sQ0FBQztnQkFDSixVQUFVLEVBQUUsQ0FBQztZQUNqQixDQUFDO1FBQ0wsQ0FBQztRQUVELE1BQU0sR0FBRyxJQUFJLE1BQU0sR0FBRyxDQUFDO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFTyxxQkFBcUI7UUFDekIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQUUsT0FBTztRQUV2RixNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ2xDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFL0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxlQUFlLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDdkQsSUFBSSxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFFdEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNyRixNQUFNLE1BQU0sR0FBRyxJQUFJLGNBQWMsQ0FDN0IsSUFBSSxDQUFDLGdCQUFvQyxFQUN6QyxJQUFJLENBQUMsZ0JBQW9DLENBQzVDLENBQUM7UUFDRixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDO3dHQTlVUSwyQkFBMkI7NEZBQTNCLDJCQUEyQiwrUkFWekI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDJCQUEyQixDQUFDO2dCQUMxRCxLQUFLLEVBQUUsSUFBSTthQUNkO1NBQ0osbWFBc0VpQyxnQkFBZ0IscUdBR2hCLFVBQVUsa0hBR0gsVUFBVSw2QkM1SXZELHV4RkE2RUEsNnFFRFhjLE9BQU8sb0ZBQUUsZ0JBQWdCLGlqQkFBRSxXQUFXLHNaQUFFLG1CQUFtQixrTkFBRSxPQUFPLHNFQUFFLGFBQWE7OzRGQUVwRiwyQkFBMkI7a0JBZHZDLFNBQVM7K0JBQ0ksd0JBQXdCLGFBR3ZCO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDRCQUE0QixDQUFDOzRCQUMxRCxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSixjQUNXLElBQUksV0FDUCxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsT0FBTyxFQUFFLGFBQWEsQ0FBQzs4QkFnQnZGLFNBQVM7c0JBRGYsS0FBSztnQkFVQyxVQUFVO3NCQURoQixLQUFLO2dCQVFDLFFBQVE7c0JBRGQsTUFBTTtnQkFRQSxTQUFTO3NCQURmLE1BQU07Z0JBSUEsVUFBVTtzQkFEaEIsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUl4QixXQUFXO3NCQUQzQixTQUFTO3VCQUFDLGFBQWE7Z0JBc0JqQixnQkFBZ0I7c0JBRHRCLFNBQVM7dUJBQUMsa0JBQWtCO2dCQUl0QixnQkFBZ0I7c0JBRHRCLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFO2dCQUk3QyxXQUFXO3NCQURqQixTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBSXZDLGlCQUFpQjtzQkFEdkIsU0FBUzt1QkFBQyxvQkFBb0IsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBOEI5QyxVQUFVO3NCQURoQixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVduQyxTQUFTO3NCQURmLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRG9tUG9ydGFsT3V0bGV0LCBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQge1xyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgRGVzdHJveVJlZixcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBmb3J3YXJkUmVmLFxyXG4gICAgSG9zdExpc3RlbmVyLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkluaXQsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBQTEFURk9STV9JRCxcclxuICAgIFRlbXBsYXRlUmVmLFxyXG4gICAgVmlld0NoaWxkLFxyXG4gICAgVmlld0NvbnRhaW5lclJlZixcclxuICAgIGluamVjdCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xyXG5pbXBvcnQge1xyXG4gICAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXHJcbiAgICBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgIFVudHlwZWRGb3JtQ29udHJvbCxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlLCBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciwgTmdDbGFzcywgTmdTdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IGlzTnVsbE9yVW5kZWZpbmVkIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy91dGlscyc7XHJcbmltcG9ydCB7IENvdW50cnlQaG9uZVBpY2tlclNlcnZpY2UgfSBmcm9tICcuL2NvdW50cnktcGhvbmUtcGlja2VyLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgQ291bnRyeVBob25lRGF0YSB9IGZyb20gJy4vbW9kZWxzL2NvdW50cnktcGhvbmUtZGF0YSc7XHJcbmltcG9ydCB7IE9yZGluYXRpb24gfSBmcm9tICcuL21vZGVscy9vcmRpbmF0aW9uJztcclxuXHJcbmltcG9ydCB7IFBob25lU2VsZWN0aW9uRGF0YSB9IGZyb20gJy4vbW9kZWxzL3Bob25lLXNlbGVjdGlvbi1kYXRhJztcclxuaW1wb3J0IHsgTmd4TWFza0RpcmVjdGl2ZSB9IGZyb20gJ25neC1tYXNrJztcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb24gQ29tcG9uZW50ZSBzZWxldG9yIGRlIHBhw61zIGUgbsO6bWVybyBkZSB0ZWxlZm9uZSBjb20gbcOhc2NhcmEgZGluw6JtaWNhLlxyXG4gKiBFeGliZSB1bWEgbGlzdGEgZGUgcGHDrXNlcyBjb20gc2V1cyBjw7NkaWdvcyBEREkgZSBhcGxpY2EgYXV0b21hdGljYW1lbnRlIGEgbcOhc2NhcmFcclxuICogZGUgZm9ybWF0YcOnw6NvIGRvIG7Dum1lcm8gY29uZm9ybWUgbyBwYcOtcyBzZWxlY2lvbmFkby4gSW1wbGVtZW50YSB7QGxpbmsgQ29udHJvbFZhbHVlQWNjZXNzb3J9XHJcbiAqIHBhcmEgaW50ZWdyYcOnw6NvIGNvbSBmb3JtdWzDoXJpb3MgQW5ndWxhci5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgaHRtbFxyXG4gKiA8cy1jb3VudHJ5LXBob25lLXBpY2tlclxyXG4gKiAgIGZvcm1Db250cm9sTmFtZT1cInRlbGVmb25lXCJcclxuICogICBbY291bnRyaWVzXT1cIlsnQlInLCAnVVMnLCAnQVInXVwiXHJcbiAqICAgKHNlbGVjdGVkKT1cIm9uUGFpc1NlbGVjaW9uYWRvKCRldmVudClcIiAvPlxyXG4gKiBgYGBcclxuICpcclxuICogQGNhdGVnb3J5IElucHV0c1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3MtY291bnRyeS1waG9uZS1waWNrZXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvdW50cnktcGhvbmUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2NvdW50cnktcGhvbmUtcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDb3VudHJ5UGhvbmVQaWNrZXJDb21wb25lbnQpLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICB9LFxyXG4gICAgXSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbTmdDbGFzcywgTmd4TWFza0RpcmVjdGl2ZSwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIE5nU3R5bGUsIFRyYW5zbGF0ZVBpcGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ291bnRyeVBob25lUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jb3VudHJ5UGhvbmVQaWNrZXJTZXJ2aWNlID0gaW5qZWN0KENvdW50cnlQaG9uZVBpY2tlclNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdHJhbnNsYXRlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZVJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBsYXRmb3JtSWQgPSBpbmplY3Q8T2JqZWN0PihQTEFURk9STV9JRCk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gTGlzdGEgZGUgY8OzZGlnb3MgZGUgcGHDrXMgKElTTyAzMTY2LTEgYWxwaGEtMikgZXhpYmlkb3Mgbm8gc2VsZXRvci5cclxuICAgICAqIFF1YW5kbyB2YXppYSwgdG9kb3Mgb3MgcGHDrXNlcyBkaXNwb27DrXZlaXMgc8OjbyBsaXN0YWRvcy5cclxuICAgICAqXHJcbiAgICAgKiBAZGVmYXVsdCBbXVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGNvdW50cmllczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBDcml0w6lyaW8gZGUgb3JkZW5hw6fDo28gZG9zIHBhw61zZXMgbmEgbGlzdGEuXHJcbiAgICAgKiBBY2VpdGEgb3MgdmFsb3JlcyBkbyBlbnVtIGBPcmRpbmF0aW9uYCAoZXguOiBwb3Igbm9tZSwgcG9yIERESSwgc2VtIG9yZGVuYcOnw6NvKS5cclxuICAgICAqXHJcbiAgICAgKiBAZGVmYXVsdCBPcmRpbmF0aW9uLk5PXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgb3JkaW5hdGlvbjogT3JkaW5hdGlvbiA9IE9yZGluYXRpb24uTk87XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gRW1pdGlkbyBxdWFuZG8gbyB1c3XDoXJpbyBzZWxlY2lvbmEgdW0gcGHDrXMgbm8gZHJvcGRvd24uXHJcbiAgICAgKiBFbWl0ZSB1bSBvYmpldG8ge0BsaW5rIENvdW50cnlQaG9uZURhdGF9IGNvbSBkYWRvcyBkbyBwYcOtcyBlc2NvbGhpZG8uXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8Q291bnRyeVBob25lRGF0YT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gRW1pdGlkbyBxdWFuZG8gbyBjYW1wbyBkZSBuw7ptZXJvIGRlIHRlbGVmb25lIHBlcmRlIG8gZm9jby5cclxuICAgICAqIEVtaXRlIG8gb2JqZXRvIHtAbGluayBQaG9uZVNlbGVjdGlvbkRhdGF9IGNvbSBwYcOtcyBlIG7Dum1lcm8gYXR1YWlzLCBvdSBgbnVsbGAuXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGZvY3VzTG9zdDogRXZlbnRFbWl0dGVyPFBob25lU2VsZWN0aW9uRGF0YSB8IG51bGw+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ3Bob25lSW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gICAgcHVibGljIHBob25lSW5wdXQ6IEVsZW1lbnRSZWYgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBAVmlld0NoaWxkKCdmaWx0ZXJJbnB1dCcpXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpbHRlcklucHV0OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgcHVibGljIGlzRm9jdXNlZCA9IGZhbHNlO1xyXG4gICAgcHVibGljIG1hc2s6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gICAgcHVibGljIHNlbGVjdGVkSXRlbTogQ291bnRyeVBob25lRGF0YSB8IG51bGwgPSBudWxsO1xyXG4gICAgcHVibGljIGN1cnJlbnRJdGVtSW5kZXggPSAwO1xyXG4gICAgcHVibGljIGZpbHRlcmVkQ291bnRyaWVzTGlzdDogQ291bnRyeVBob25lRGF0YVtdID0gW107XHJcbiAgICBwdWJsaWMgcGhvbmUgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKCcnKTtcclxuICAgIHB1YmxpYyBmaWx0ZXIgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKCcnKTtcclxuXHJcbiAgICBwdWJsaWMgZHJvcFRvcCA9IDA7XHJcbiAgICBwdWJsaWMgZHJvcExlZnQgPSAwO1xyXG4gICAgcHJpdmF0ZSBfdmFsdWU6IFBob25lU2VsZWN0aW9uRGF0YSB8IG51bGwgPSBudWxsO1xyXG4gICAgcHJpdmF0ZSBfb25DaGFuZ2U/OiAodmFsdWU6IFBob25lU2VsZWN0aW9uRGF0YSkgPT4gdm9pZDtcclxuICAgIHByaXZhdGUgX29uVG91Y2hlZD86ICh2YWx1ZTogUGhvbmVTZWxlY3Rpb25EYXRhKSA9PiB2b2lkO1xyXG4gICAgcHJpdmF0ZSBfY291bnRyaWVzTGlzdDogQ291bnRyeVBob25lRGF0YVtdID0gW107XHJcbiAgICBwcml2YXRlIF9vcGVuID0gZmFsc2U7XHJcbiAgICBwcml2YXRlIF9vZmZzZXRUb3AgPSAwO1xyXG4gICAgcHJpdmF0ZSBfcG9ydGFsSG9zdDogRG9tUG9ydGFsT3V0bGV0IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgQFZpZXdDaGlsZCgnZHJvcGRvd25UZW1wbGF0ZScpXHJcbiAgICBwdWJsaWMgZHJvcGRvd25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ2Ryb3BFbGVtZW50JywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pXHJcbiAgICBwdWJsaWMgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ2Ryb3BFbGVtZW50JywgeyByZWFkOiBFbGVtZW50UmVmIH0pXHJcbiAgICBwdWJsaWMgZHJvcEVsZW1lbnQ6IEVsZW1lbnRSZWYgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBAVmlld0NoaWxkKCcjZHJvcGRvd25Db250YWluZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcclxuICAgIHB1YmxpYyBkcm9wZG93bkNvbnRhaW5lcjogRWxlbWVudFJlZiB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIHB1YmxpYyBnZXQgdmFsdWUoKTogUGhvbmVTZWxlY3Rpb25EYXRhIHwgbnVsbCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlID8/IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogUGhvbmVTZWxlY3Rpb25EYXRhKSB7XHJcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLm1hc2sgPSB0aGlzLmdldE1hc2soKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IG9wZW4oKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX29wZW47XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldCBvcGVuKG9wZW46IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9vcGVuID0gb3BlbjtcclxuXHJcbiAgICAgICAgaWYgKG9wZW4pIHtcclxuICAgICAgICAgICAgdGhpcy5fY3JlYXRlRHJvcGRvd25Qb3J0YWwoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fcG9ydGFsSG9zdD8uaGFzQXR0YWNoZWQoKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fcG9ydGFsSG9zdC5kZXRhY2goKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnBob25lSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ/LmZvY3VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcclxuICAgIHB1YmxpYyBvbkNsaWNrb3V0KGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9lUmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xyXG4gICAgICAgICAgICBjb25zdCBjbGlja2VkT25GaWx0ZXJJbnB1dCA9IHRoaXMuZmlsdGVySW5wdXQ/Lm5hdGl2ZUVsZW1lbnQgPT09IGV2ZW50LnRhcmdldDtcclxuICAgICAgICAgICAgaWYgKHRoaXMub3BlbiAmJiAhY2xpY2tlZE9uRmlsdGVySW5wdXQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxyXG4gICAgcHVibGljIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5ID09PSAnICcpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMub3Blbikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSB0aGlzLl9jb3VudHJpZXNMaXN0W3RoaXMuY3VycmVudEl0ZW1JbmRleF07XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkLmVtaXQodGhpcy5zZWxlY3RlZEl0ZW0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XHJcbiAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XHJcbiAgICAgICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJykge1xyXG4gICAgICAgICAgICB0aGlzLl9tb3ZlVG9Eb3duKCk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1VwJykge1xyXG4gICAgICAgICAgICB0aGlzLl9tb3ZlVG9VcCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogUGhvbmVTZWxlY3Rpb25EYXRhKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG5cclxuICAgICAgICBpZiAodmFsdWU/LmlkKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvdW50cnkgPSB0aGlzLl9jb3VudHJpZXNMaXN0LmZpbHRlcigoeyBpZCB9KSA9PiBpZCA9PT0gdmFsdWUuaWQpO1xyXG4gICAgICAgICAgICBpZiAoY291bnRyeS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMub25TZWxlY3RJdGVtKGNvdW50cnlbMF0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodmFsdWU/LnJhd1ZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMucGhvbmUuc2V0VmFsdWUodmFsdWUucmF3VmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShvbkNoYW5nZTogKHZhbHVlOiBQaG9uZVNlbGVjdGlvbkRhdGEpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9vbkNoYW5nZSA9IG9uQ2hhbmdlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6ICh2YWx1ZTogUGhvbmVTZWxlY3Rpb25EYXRhKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fb25Ub3VjaGVkID0gb25Ub3VjaGVkO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBjb3VudHJpZXMgPSB0aGlzLl9jb3VudHJ5UGhvbmVQaWNrZXJTZXJ2aWNlLmdldENvdW50cmllcyh0aGlzLm9yZGluYXRpb24pO1xyXG4gICAgICAgIHRoaXMuZmlsdGVyLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSkuc3Vic2NyaWJlKHRoaXMuX2ZpbHRlckNvdW50cmllcyk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmNvdW50cmllcz8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NvdW50cmllc0xpc3QgPSBjb3VudHJpZXMuZmlsdGVyKChjb3VudHJ5KSA9PiB0aGlzLmNvdW50cmllcy5pbmNsdWRlcyhjb3VudHJ5LmlkKSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5fY291bnRyaWVzTGlzdCA9IGNvdW50cmllcztcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5maWx0ZXJlZENvdW50cmllc0xpc3QgPSB0aGlzLl9jb3VudHJpZXNMaXN0O1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gdGhpcy5fZ2V0U2VsZWN0ZWRDb3VudHJ5RGVmYXVsdCgpO1xyXG4gICAgICAgIHRoaXMubWFzayA9IHRoaXMuZ2V0TWFzaygpO1xyXG5cclxuICAgICAgICB0aGlzLnBob25lLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRJdGVtKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB7XHJcbiAgICAgICAgICAgICAgICBpZDogdGhpcy5zZWxlY3RlZEl0ZW0uaWQsXHJcbiAgICAgICAgICAgICAgICBkZGk6IHRoaXMuc2VsZWN0ZWRJdGVtLmRkaSxcclxuICAgICAgICAgICAgICAgIHJhd1ZhbHVlOiB2YWx1ZSA/PyAnJyxcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB2YWx1ZSA/IGAke3RoaXMuX2FwcGx5TWFzayh2YWx1ZSl9YCA6ICcnLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fb25DaGFuZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX29uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uU2VsZWN0SXRlbShjb3VudHJ5OiBDb3VudHJ5UGhvbmVEYXRhKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSBjb3VudHJ5O1xyXG4gICAgICAgIHRoaXMucGhvbmUuc2V0VmFsdWUoJycpO1xyXG4gICAgICAgIHRoaXMuY3VycmVudEl0ZW1JbmRleCA9IHRoaXMuX2NvdW50cmllc0xpc3QuaW5kZXhPZih0aGlzLnNlbGVjdGVkSXRlbSk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5lbWl0KHRoaXMuc2VsZWN0ZWRJdGVtKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25DbGVhbkZpbHRlcigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmZpbHRlci5zZXRWYWx1ZSgnJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uUGhvbmVJbnB1dEZvY3VzKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuaXNGb2N1c2VkID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25CbHVyKHZhbHVlOiBQaG9uZVNlbGVjdGlvbkRhdGEgfCBudWxsKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5mb2N1c0xvc3QuZW1pdCh2YWx1ZSk7XHJcbiAgICAgICAgdGhpcy5pc0ZvY3VzZWQgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0TWFzaygpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRJdGVtKSByZXR1cm4gbnVsbDtcclxuICAgICAgICBjb25zdCBtYXNrID0gdGhpcy5zZWxlY3RlZEl0ZW0ubWFzaztcclxuXHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkobWFzaykpIHtcclxuICAgICAgICAgICAgcmV0dXJuICF0aGlzLnZhbHVlPy5yYXdWYWx1ZSB8fCB0aGlzLnZhbHVlLnJhd1ZhbHVlLmxlbmd0aCA8PSBtYXNrWzBdLnJlcGxhY2UoL1teMF0vZywgJycpLmxlbmd0aFxyXG4gICAgICAgICAgICAgICAgPyBtYXNrWzBdIC8vIGZpeG9cclxuICAgICAgICAgICAgICAgIDogbWFza1sxXTsgLy8gY2VsdWxhclxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBtYXNrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0UGxhY2Vob2xkZXIoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubWFzaz8ucmVwbGFjZSgvOS9nLCAnJykgPz8gJy0gTk8gTUFTSyAtJztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9nZXRTZWxlY3RlZENvdW50cnlEZWZhdWx0KCk6IENvdW50cnlQaG9uZURhdGEge1xyXG4gICAgICAgIGlmICghdGhpcy5fY291bnRyaWVzTGlzdC5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBjb3VudHJ5IGxvYWRlZCcpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgZmlsdGVyZWRCeUJyID0gdGhpcy5fY291bnRyaWVzTGlzdC5maWx0ZXIoKGNvdW50cnk6IENvdW50cnlQaG9uZURhdGEpID0+IGNvdW50cnkuaWQgPT09ICdicicpO1xyXG5cclxuICAgICAgICByZXR1cm4gZmlsdGVyZWRCeUJyLmxlbmd0aCA/IGZpbHRlcmVkQnlCclswXSA6IHRoaXMuX2NvdW50cmllc0xpc3RbMF07XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZmlsdGVyQ291bnRyaWVzID0gKHZhbHVlOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBpZiAoIXZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRDb3VudHJpZXNMaXN0ID0gdGhpcy5fY291bnRyaWVzTGlzdDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmZpbHRlcmVkQ291bnRyaWVzTGlzdCA9IHRoaXMuX2NvdW50cmllc0xpc3QuZmlsdGVyKChjb3VudHJ5KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBjb3VudHJ5TmFtZSA9IHRoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgICAgICAgICAgIGBwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuY291bnRyeV9uYW1lXyR7Y291bnRyeS5pZH1gLFxyXG4gICAgICAgICAgICAgICAgKSBhcyBzdHJpbmc7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gY291bnRyeU5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh2YWx1ZS50b0xvd2VyQ2FzZSgpKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICBwcml2YXRlIF9tb3ZlVG9VcCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5jdXJyZW50SXRlbUluZGV4ID09PSAwKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuY3VycmVudEl0ZW1JbmRleC0tO1xyXG5cclxuICAgICAgICBjb25zdCBzZWxlY3RMaXN0OiBhbnkgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuc2VsZWN0LWxpc3QnKTtcclxuICAgICAgICBjb25zdCBpdGVtID0gc2VsZWN0TGlzdC5jaGlsZHJlblt0aGlzLmN1cnJlbnRJdGVtSW5kZXhdO1xyXG5cclxuICAgICAgICBpZiAoaXRlbS5vZmZzZXRUb3AgLSBzZWxlY3RMaXN0Lm9mZnNldFRvcCA8PSB0aGlzLl9vZmZzZXRUb3ApIHtcclxuICAgICAgICAgICAgdGhpcy5fb2Zmc2V0VG9wIC09IDQ1O1xyXG4gICAgICAgICAgICBzZWxlY3RMaXN0LnNjcm9sbFRvKDAsIHRoaXMuX29mZnNldFRvcCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFNDUk9MTF9PRkZTRVRfVEhSRVNIT0xEID0gMTgwO1xyXG4gICAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgU0NST0xMX0FNT1VOVF9QRVJfSVRFTSA9IDQ1O1xyXG5cclxuICAgIHByaXZhdGUgX21vdmVUb0Rvd24oKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudEl0ZW1JbmRleCA+PSB0aGlzLl9jb3VudHJpZXNMaXN0Lmxlbmd0aCAtIDEpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5jdXJyZW50SXRlbUluZGV4Kys7XHJcblxyXG4gICAgICAgIGNvbnN0IHNlbGVjdExpc3Q6IGFueSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zZWxlY3QtbGlzdCcpO1xyXG4gICAgICAgIGNvbnN0IGl0ZW0gPSBzZWxlY3RMaXN0LmNoaWxkcmVuW3RoaXMuY3VycmVudEl0ZW1JbmRleF07XHJcblxyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgICAgaXRlbS5vZmZzZXRUb3AgLSBzZWxlY3RMaXN0Lm9mZnNldFRvcCA+XHJcbiAgICAgICAgICAgIHRoaXMuX29mZnNldFRvcCArIENvdW50cnlQaG9uZVBpY2tlckNvbXBvbmVudC5TQ1JPTExfT0ZGU0VUX1RIUkVTSE9MRFxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICB0aGlzLl9vZmZzZXRUb3AgKz0gQ291bnRyeVBob25lUGlja2VyQ29tcG9uZW50LlNDUk9MTF9BTU9VTlRfUEVSX0lURU07XHJcbiAgICAgICAgICAgIHNlbGVjdExpc3Quc2Nyb2xsVG8oMCwgdGhpcy5fb2Zmc2V0VG9wKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfYXBwbHlNYXNrKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCBtYXNrO1xyXG5cclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnNlbGVjdGVkSXRlbT8ubWFzaykpIHtcclxuICAgICAgICAgICAgY29uc3QgcmF3TWFzayA9IHRoaXMuc2VsZWN0ZWRJdGVtLm1hc2tbMF0ucmVwbGFjZSgvW14wXS9nLCAnJyk7XHJcbiAgICAgICAgICAgIG1hc2sgPSB2YWx1ZS5sZW5ndGggPD0gcmF3TWFzay5sZW5ndGggPyB0aGlzLnNlbGVjdGVkSXRlbS5tYXNrWzBdICsgJ1xcMCcgOiB0aGlzLnNlbGVjdGVkSXRlbS5tYXNrWzFdICsgJ1xcMCc7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgbWFzayA9IHRoaXMuc2VsZWN0ZWRJdGVtPy5tYXNrICsgJ1xcMCc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgdG9rZW5zID0gJyc7XHJcbiAgICAgICAgbGV0IHJlcGxhY2UgPSAnJztcclxuICAgICAgICBsZXQgYWN1bXVsYWRvciA9IDA7XHJcbiAgICAgICAgbGV0IGNvbnRhZG9yID0gMDtcclxuXHJcbiAgICAgICAgZm9yIChjb25zdCB0b2tlbiBvZiBtYXNrKSB7XHJcbiAgICAgICAgICAgIGlmIChpc05hTihwYXJzZUludCh0b2tlbiwgMTApKSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKGFjdW11bGFkb3IpIHtcclxuICAgICAgICAgICAgICAgICAgICB0b2tlbnMgKz0gYChcXFxcZHske2FjdW11bGFkb3J9fSlgO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBjb250YWRvcisrO1xyXG4gICAgICAgICAgICAgICAgICAgIHJlcGxhY2UgKz0gYCQke2NvbnRhZG9yfWA7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGFjdW11bGFkb3IgPSAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmICh0b2tlbiAhPT0gJ1xcMCcpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXBsYWNlICs9IHRva2VuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgYWN1bXVsYWRvcisrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0b2tlbnMgPSBgXiR7dG9rZW5zfSpgO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnBob25lLnZhbHVlLnJlcGxhY2UobmV3IFJlZ0V4cCh0b2tlbnMpLCByZXBsYWNlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9jcmVhdGVEcm9wZG93blBvcnRhbCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkgfHwgaXNOdWxsT3JVbmRlZmluZWQodGhpcy5kcm9wRWxlbWVudCkpIHJldHVybjtcclxuXHJcbiAgICAgICAgY29uc3QgYm9keUVsZW1lbnQgPSBkb2N1bWVudC5ib2R5O1xyXG4gICAgICAgIGNvbnN0IGRyb3BFbGVtZW50UmVjdCA9IHRoaXMuZHJvcEVsZW1lbnQubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuXHJcbiAgICAgICAgdGhpcy5kcm9wVG9wID0gZHJvcEVsZW1lbnRSZWN0LmJvdHRvbSArIHdpbmRvdy5zY3JvbGxZO1xyXG4gICAgICAgIHRoaXMuZHJvcExlZnQgPSBkcm9wRWxlbWVudFJlY3QubGVmdCArIHdpbmRvdy5zY3JvbGxYO1xyXG5cclxuICAgICAgICB0aGlzLl9wb3J0YWxIb3N0ID0gbmV3IERvbVBvcnRhbE91dGxldChib2R5RWxlbWVudCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCk7XHJcbiAgICAgICAgY29uc3QgcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKFxyXG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duVGVtcGxhdGUgYXMgVGVtcGxhdGVSZWY8YW55PixcclxuICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmIGFzIFZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLl9wb3J0YWxIb3N0LmF0dGFjaChwb3J0YWwpO1xyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjb3VudHJ5LXBob25lLXBpY2tlclwiPlxuICAgIDxkaXZcbiAgICAgICAgI2Ryb3BFbGVtZW50XG4gICAgICAgIGNsYXNzPVwicGhvbmUtaW5wdXRcIlxuICAgICAgICBbY2xhc3MucGhvbmUtaW5wdXQtLWZvY3VzZWRdPVwiaXNGb2N1c2VkXCJcbiAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiZHJvcFwiXG4gICAgICAgICAgICAoY2xpY2spPVwib3BlbiA9ICFvcGVuXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBjbGFzcz1cImRyb3AtZmxhZ1wiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiJ2ZpIGZpLScgKyBzZWxlY3RlZEl0ZW0/LmlkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZHJvcC1pY29uIGZhcyBmYS1jYXJldC1kb3duXCI+PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHAgY2xhc3M9XCJwaG9uZS1kZGlcIj57eyBzZWxlY3RlZEl0ZW0/LmRkaSB9fTwvcD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAjcGhvbmVJbnB1dFxuICAgICAgICAgICAgdHlwZT1cInRlbFwiXG4gICAgICAgICAgICBbbWFza109XCJtYXNrXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJnZXRQbGFjZWhvbGRlcigpXCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJwaG9uZVwiXG4gICAgICAgICAgICAoZm9jdXMpPVwib25QaG9uZUlucHV0Rm9jdXMoKVwiXG4gICAgICAgICAgICAoYmx1cik9XCJvbkJsdXIodmFsdWUpXCJcbiAgICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgICA8bmctdGVtcGxhdGUgI2Ryb3Bkb3duVGVtcGxhdGU+XG4gICAgICAgIEBpZiAob3Blbikge1xuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICNkcm9wZG93bkNvbnRhaW5lclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZHJvcGRvd25cIlxuICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICAgICAgICAgIHRvcDogZHJvcFRvcCArICdweCcsXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGRyb3BMZWZ0ICsgJ3B4JyxcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2gtZmllbGRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZpbHRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAjZmlsdGVySW5wdXRcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZWFyY2gtaWNvbiBmYXMgZmEtc2VhcmNoXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2gtY2xlYXIgZmEgZmEtdGltZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xlYW5GaWx0ZXIoKVwiXG4gICAgICAgICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwic2VsZWN0LWxpc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgQGZvciAoY291bnRyeSBvZiBmaWx0ZXJlZENvdW50cmllc0xpc3Q7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3Qtb3B0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdzZWxlY3Qtb3B0aW9uLS1mb2N1c2VkJzogJGluZGV4ID09PSBjdXJyZW50SXRlbUluZGV4IH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNlbGVjdEl0ZW0oY291bnRyeSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0LW9wdGlvbl9fZmxhZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIidmaSBmaS0nICsgY291bnRyeS5pZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNlbGVjdC1vcHRpb25fX25hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5jb3VudHJ5X25hbWVfJyArIGNvdW50cnkuaWQgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZWxlY3Qtb3B0aW9uX19kZGlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgY291bnRyeS5kZGkgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
@@ -1,41 +1,19 @@
1
1
  import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { ReactiveFormsModule } from '@angular/forms';
4
- import { TranslateModule } from '@ngx-translate/core';
5
- import { NgxMaskDirective, NgxMaskPipe, provideNgxMask } from 'ngx-mask';
2
+ import { provideNgxMask } from 'ngx-mask';
6
3
  import { CountryPhonePickerService } from './country-phone-picker.service';
7
4
  import { CountryPhonePickerComponent } from './country-phone-picker.component';
8
5
  import * as i0 from "@angular/core";
9
6
  export class CountryPhonePickerModule {
10
7
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CountryPhonePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: CountryPhonePickerModule, declarations: [CountryPhonePickerComponent], imports: [CommonModule,
12
- TranslateModule,
13
- ReactiveFormsModule,
14
- NgxMaskDirective,
15
- NgxMaskPipe], exports: [CountryPhonePickerComponent] });
16
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CountryPhonePickerModule, providers: [
17
- CountryPhonePickerService,
18
- provideNgxMask(),
19
- ], imports: [CommonModule,
20
- TranslateModule,
21
- ReactiveFormsModule] });
8
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: CountryPhonePickerModule, imports: [CountryPhonePickerComponent], exports: [CountryPhonePickerComponent] });
9
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CountryPhonePickerModule, providers: [CountryPhonePickerService, provideNgxMask()], imports: [CountryPhonePickerComponent] });
22
10
  }
23
11
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CountryPhonePickerModule, decorators: [{
24
12
  type: NgModule,
25
13
  args: [{
26
- imports: [
27
- CommonModule,
28
- TranslateModule,
29
- ReactiveFormsModule,
30
- NgxMaskDirective,
31
- NgxMaskPipe,
32
- ],
33
- declarations: [CountryPhonePickerComponent],
14
+ imports: [CountryPhonePickerComponent],
34
15
  exports: [CountryPhonePickerComponent],
35
- providers: [
36
- CountryPhonePickerService,
37
- provideNgxMask(),
38
- ],
16
+ providers: [CountryPhonePickerService, provideNgxMask()],
39
17
  }]
40
18
  }] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS1waG9uZS1waWNrZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2NvdW50cnktcGhvbmUtcGlja2VyL3NyYy9saWIvY291bnRyeS1waG9uZS1waWNrZXIvY291bnRyeS1waG9uZS1waWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV6RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFpQi9FLE1BQU0sT0FBTyx3QkFBd0I7d0dBQXhCLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLGlCQVBsQiwyQkFBMkIsYUFOdEMsWUFBWTtZQUNaLGVBQWU7WUFDZixtQkFBbUI7WUFDbkIsZ0JBQWdCO1lBQ2hCLFdBQVcsYUFHTCwyQkFBMkI7eUdBTTVCLHdCQUF3QixhQUx0QjtZQUNQLHlCQUF5QjtZQUN6QixjQUFjLEVBQUU7U0FDbkIsWUFYRyxZQUFZO1lBQ1osZUFBZTtZQUNmLG1CQUFtQjs7NEZBV2Qsd0JBQXdCO2tCQWZwQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLFdBQVc7cUJBQ2Q7b0JBQ0QsWUFBWSxFQUFFLENBQUMsMkJBQTJCLENBQUM7b0JBQzNDLE9BQU8sRUFBRSxDQUFDLDJCQUEyQixDQUFDO29CQUN0QyxTQUFTLEVBQUU7d0JBQ1AseUJBQXlCO3dCQUN6QixjQUFjLEVBQUU7cUJBQ25CO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE5neE1hc2tEaXJlY3RpdmUsIE5neE1hc2tQaXBlLCBwcm92aWRlTmd4TWFzayB9IGZyb20gJ25neC1tYXNrJztcblxuaW1wb3J0IHsgQ291bnRyeVBob25lUGlja2VyU2VydmljZSB9IGZyb20gJy4vY291bnRyeS1waG9uZS1waWNrZXIuc2VydmljZSc7XG5pbXBvcnQgeyBDb3VudHJ5UGhvbmVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2NvdW50cnktcGhvbmUtcGlja2VyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgTmd4TWFza0RpcmVjdGl2ZSxcbiAgICAgICAgTmd4TWFza1BpcGUsXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtDb3VudHJ5UGhvbmVQaWNrZXJDb21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtDb3VudHJ5UGhvbmVQaWNrZXJDb21wb25lbnRdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBDb3VudHJ5UGhvbmVQaWNrZXJTZXJ2aWNlLFxuICAgICAgICBwcm92aWRlTmd4TWFzaygpLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIENvdW50cnlQaG9uZVBpY2tlck1vZHVsZSB7IH1cbiJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS1waG9uZS1waWNrZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2NvdW50cnktcGhvbmUtcGlja2VyL3NyYy9saWIvY291bnRyeS1waG9uZS1waWNrZXIvY291bnRyeS1waG9uZS1waWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUUxQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFPL0UsTUFBTSxPQUFPLHdCQUF3Qjt3R0FBeEIsd0JBQXdCO3lHQUF4Qix3QkFBd0IsWUFKdkIsMkJBQTJCLGFBQzNCLDJCQUEyQjt5R0FHNUIsd0JBQXdCLGFBRnRCLENBQUMseUJBQXlCLEVBQUUsY0FBYyxFQUFFLENBQUMsWUFGOUMsMkJBQTJCOzs0RkFJNUIsd0JBQXdCO2tCQUxwQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLDJCQUEyQixDQUFDO29CQUN0QyxPQUFPLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztvQkFDdEMsU0FBUyxFQUFFLENBQUMseUJBQXlCLEVBQUUsY0FBYyxFQUFFLENBQUM7aUJBQzNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IHByb3ZpZGVOZ3hNYXNrIH0gZnJvbSAnbmd4LW1hc2snO1xyXG5cclxuaW1wb3J0IHsgQ291bnRyeVBob25lUGlja2VyU2VydmljZSB9IGZyb20gJy4vY291bnRyeS1waG9uZS1waWNrZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IENvdW50cnlQaG9uZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vY291bnRyeS1waG9uZS1waWNrZXIuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbQ291bnRyeVBob25lUGlja2VyQ29tcG9uZW50XSxcclxuICAgIGV4cG9ydHM6IFtDb3VudHJ5UGhvbmVQaWNrZXJDb21wb25lbnRdLFxyXG4gICAgcHJvdmlkZXJzOiBbQ291bnRyeVBob25lUGlja2VyU2VydmljZSwgcHJvdmlkZU5neE1hc2soKV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3VudHJ5UGhvbmVQaWNrZXJNb2R1bGUge31cclxuIl19