ctt-babylon 0.9.7 → 0.9.8

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 (825) hide show
  1. package/{lib/directives/babylon-sliders → directives}/babylon-hotels-slider.directive.d.ts +1 -2
  2. package/esm2022/directives/babylon-hotels-slider.directive.mjs +103 -0
  3. package/esm2022/lib/components/core/babylon-404/babylon-404.component.mjs +5 -18
  4. package/esm2022/lib/components/core/babylon-404-v2/babylon-404-v2.component.mjs +11 -0
  5. package/esm2022/lib/components/core/babylon-advantages/babylon-advantages.component.mjs +5 -29
  6. package/esm2022/lib/components/core/babylon-advantages-v2/babylon-advantages-v2.component.mjs +5 -9
  7. package/esm2022/lib/components/core/babylon-banner-gallery/babylon-banner-gallery.component.mjs +5 -31
  8. package/esm2022/lib/components/core/babylon-banner-info/babylon-banner-info.component.mjs +6 -133
  9. package/esm2022/lib/components/core/babylon-banner-newsletter/babylon-banner-newsletter.component.mjs +5 -39
  10. package/esm2022/lib/components/core/babylon-blog-details/babylon-blog-details.component.mjs +5 -98
  11. package/esm2022/lib/components/core/babylon-blog-list/babylon-blog-list.component.mjs +6 -80
  12. package/esm2022/lib/components/core/babylon-breadcrumb/babylon-breadcrumb.component.mjs +5 -14
  13. package/esm2022/lib/components/core/babylon-breadcrumb-v2/babylon-breadcrumb-v2.component.mjs +11 -0
  14. package/esm2022/lib/components/core/babylon-comingsoon/babylon-comingsoon.component.mjs +5 -10
  15. package/esm2022/lib/components/core/babylon-contact-form/babylon-contact-form.component.mjs +20 -134
  16. package/esm2022/lib/components/core/babylon-contact-form-v2/babylon-contact-form-v2.component.mjs +37 -0
  17. package/esm2022/lib/components/core/babylon-contact-how/babylon-contact-how.component.mjs +6 -23
  18. package/esm2022/lib/components/core/babylon-contact-map/babylon-contact-map.component.mjs +6 -29
  19. package/esm2022/lib/components/core/babylon-container-text-l2/babylon-container-text-l2.component.mjs +18 -0
  20. package/esm2022/lib/components/core/babylon-engine/babylon-engine.component.mjs +22 -237
  21. package/esm2022/lib/components/core/babylon-engine-modal/babylon-engine-modal.component.mjs +33 -225
  22. package/esm2022/lib/components/core/babylon-engine-modal-v2/babylon-engine-modal-v2.component.mjs +130 -0
  23. package/esm2022/lib/components/core/babylon-faq/babylon-faq.component.mjs +5 -38
  24. package/esm2022/lib/components/core/babylon-faq-v2/babylon-faq-v2.component.mjs +5 -18
  25. package/esm2022/lib/components/core/babylon-feature-pills/babylon-feature-pills.component.mjs +11 -0
  26. package/esm2022/lib/components/core/babylon-feature-pills-number/babylon-feature-pills-number.component.mjs +11 -0
  27. package/esm2022/lib/components/core/babylon-features-slider/babylon-features-slider.component.mjs +6 -28
  28. package/esm2022/lib/components/core/babylon-filter-modal/babylon-filter-modal.component.mjs +6 -16
  29. package/esm2022/lib/components/core/babylon-filter-modal-v2/babylon-filter-modal-v2.component.mjs +21 -0
  30. package/esm2022/lib/components/core/babylon-footer-contact/babylon-footer-contact.component.mjs +5 -25
  31. package/esm2022/lib/components/core/babylon-footer-links/babylon-footer-links.component.mjs +5 -13
  32. package/esm2022/lib/components/core/babylon-footer-logos/babylon-footer-logos.component.mjs +5 -23
  33. package/esm2022/lib/components/core/babylon-footer-social/babylon-footer-social.component.mjs +5 -14
  34. package/esm2022/lib/components/core/babylon-gallery/babylon-gallery.component.mjs +23 -72
  35. package/esm2022/lib/components/core/babylon-gallery-v2/babylon-gallery-v2.component.mjs +105 -0
  36. package/esm2022/lib/components/core/babylon-grid-gallery/babylon-grid-gallery.component.mjs +6 -42
  37. package/esm2022/lib/components/core/babylon-guests-popup/babylon-guests-popup.component.mjs +7 -91
  38. package/esm2022/lib/components/core/babylon-head-intro/babylon-head-intro.component.mjs +5 -24
  39. package/esm2022/lib/components/core/babylon-header-book-show/babylon-header-book-show.component.mjs +52 -114
  40. package/esm2022/lib/components/core/babylon-header-clear/babylon-header-clear.component.mjs +53 -143
  41. package/esm2022/lib/components/core/babylon-header-clear-v2/babylon-header-clear-v2.component.mjs +76 -0
  42. package/esm2022/lib/components/core/babylon-header-menu-center/babylon-header-menu-center.component.mjs +52 -148
  43. package/esm2022/lib/components/core/babylon-header-menu-show/babylon-header-menu-show.component.mjs +52 -92
  44. package/esm2022/lib/components/core/babylon-hotels-list/babylon-hotels-list.component.mjs +5 -12
  45. package/esm2022/lib/components/core/babylon-hotels-slider/babylon-hotels-slider.component.mjs +6 -19
  46. package/esm2022/lib/components/core/babylon-img-banner/babylon-img-banner.component.mjs +13 -0
  47. package/esm2022/lib/components/core/babylon-info-big/babylon-info-big.component.mjs +5 -19
  48. package/esm2022/lib/components/core/babylon-info-big-v2/babylon-info-big-v2.component.mjs +61 -0
  49. package/esm2022/lib/components/core/babylon-info-big-v3/babylon-info-big-v3.component.mjs +11 -0
  50. package/esm2022/lib/components/core/babylon-info-circle-imgs/babylon-info-circle-imgs.component.mjs +11 -0
  51. package/esm2022/lib/components/core/babylon-info-grid/babylon-info-grid.component.mjs +7 -31
  52. package/esm2022/lib/components/core/babylon-info-img/babylon-info-img.component.mjs +5 -95
  53. package/esm2022/lib/components/core/babylon-info-img-v2/babylon-info-img-v2.component.mjs +11 -0
  54. package/esm2022/lib/components/core/babylon-info-intro/babylon-info-intro.component.mjs +5 -62
  55. package/esm2022/lib/components/core/babylon-info-show-img/babylon-info-show-img.component.mjs +5 -7
  56. package/esm2022/lib/components/core/babylon-info-zig-zag/babylon-info-zig-zag.component.mjs +5 -31
  57. package/esm2022/lib/components/core/babylon-info-zigzag-v2/babylon-info-zigzag-v2.component.mjs +5 -19
  58. package/esm2022/lib/components/core/babylon-info-zigzag-v3/babylon-info-zigzag-v3.component.mjs +18 -0
  59. package/esm2022/lib/components/core/babylon-info-zigzag-v3-1/babylon-info-zigzag-v3-1.component.mjs +11 -0
  60. package/esm2022/lib/components/core/babylon-info-zigzag-v4/babylon-info-zigzag-v4.component.mjs +13 -0
  61. package/esm2022/lib/components/core/babylon-info2img/babylon-info2img.component.mjs +5 -30
  62. package/esm2022/lib/components/core/babylon-info2img-big/babylon-info2img-big.component.mjs +5 -38
  63. package/esm2022/lib/components/core/babylon-info3img/babylon-info3img.component.mjs +5 -19
  64. package/esm2022/lib/components/core/babylon-info4img/babylon-info4img.component.mjs +5 -23
  65. package/esm2022/lib/components/core/babylon-items-grid/babylon-items-grid.component.mjs +5 -21
  66. package/esm2022/lib/components/core/babylon-language-modal/babylon-language-modal.component.mjs +7 -13
  67. package/esm2022/lib/components/core/babylon-language-modal-v2/babylon-language-modal-v2.component.mjs +28 -0
  68. package/esm2022/lib/components/core/babylon-legal/babylon-legal.component.mjs +5 -19
  69. package/esm2022/lib/components/core/babylon-lis-c4-txt-img-pdf/babylon-lis-c4-txt-img-pdf.component.mjs +56 -0
  70. package/esm2022/lib/components/core/babylon-lis-c5-txt-img-svg/babylon-lis-c5-txt-img-svg.component.mjs +55 -0
  71. package/esm2022/lib/components/core/babylon-list-box-info/babylon-list-box-info.component.mjs +11 -0
  72. package/esm2022/lib/components/core/babylon-list-c3-img-txt/babylon-list-c3-img-txt.component.mjs +5 -12
  73. package/esm2022/lib/components/core/babylon-list-grid/babylon-list-grid.component.mjs +5 -15
  74. package/esm2022/lib/components/core/babylon-list-img/babylon-list-img.component.mjs +71 -0
  75. package/esm2022/lib/components/core/babylon-list-img-info/babylon-list-img-info.component.mjs +11 -0
  76. package/esm2022/lib/components/core/babylon-list-img-v2/babylon-list-img-v2.component.mjs +11 -0
  77. package/esm2022/lib/components/core/babylon-loyalty-table/babylon-loyalty-table.component.mjs +65 -0
  78. package/esm2022/lib/components/core/babylon-menu-modal/babylon-menu-modal.component.mjs +19 -0
  79. package/esm2022/lib/components/core/babylon-newsletter/babylon-newsletter.component.mjs +9 -52
  80. package/esm2022/lib/components/core/babylon-newsletter-modal/babylon-newsletter-modal.component.mjs +19 -0
  81. package/esm2022/lib/components/core/babylon-offer-detail/babylon-offer-detail.component.mjs +5 -37
  82. package/esm2022/lib/components/core/babylon-offer-detail-v2/babylon-offer-detail-v2.component.mjs +11 -0
  83. package/esm2022/lib/components/core/babylon-offer-popup/babylon-offer-popup.component.mjs +11 -34
  84. package/esm2022/lib/components/core/babylon-offer-popup-v2/babylon-offer-popup-v2.component.mjs +19 -0
  85. package/esm2022/lib/components/core/babylon-offer-slider/babylon-offer-slider.component.mjs +5 -20
  86. package/esm2022/lib/components/core/babylon-offers-list/babylon-offers-list.component.mjs +5 -47
  87. package/esm2022/lib/components/core/babylon-offers-slider/babylon-offers-slider.component.mjs +5 -20
  88. package/esm2022/lib/components/core/babylon-preload/babylon-preload.component.mjs +4 -28
  89. package/esm2022/lib/components/core/babylon-reviews/babylon-reviews.component.mjs +169 -0
  90. package/esm2022/lib/components/core/babylon-room-details/babylon-room-details.component.mjs +5 -19
  91. package/esm2022/lib/components/core/babylon-rooms-cols/babylon-rooms-cols.component.mjs +5 -158
  92. package/esm2022/lib/components/core/babylon-rooms-grid/babylon-rooms-grid.component.mjs +6 -19
  93. package/esm2022/lib/components/core/babylon-rooms-list/babylon-rooms-list.component.mjs +6 -32
  94. package/esm2022/lib/components/core/babylon-rooms-list-v2/babylon-rooms-list-v2.component.mjs +11 -0
  95. package/esm2022/lib/components/core/babylon-rooms-slider/babylon-rooms-slider.component.mjs +5 -25
  96. package/esm2022/lib/components/core/babylon-services-slider/babylon-services-slider.component.mjs +5 -17
  97. package/esm2022/lib/components/core/babylon-simple-img-info/babylon-simple-img-info.component.mjs +12 -0
  98. package/esm2022/lib/components/core/babylon-slider-box/babylon-slider-box.component.mjs +12 -0
  99. package/esm2022/lib/components/core/babylon-slider-img-static/babylon-slider-img-static.component.mjs +5 -12
  100. package/esm2022/lib/components/core/babylon-slider-img-static-v2/babylon-slider-img-static-v2.component.mjs +5 -12
  101. package/esm2022/lib/components/core/babylon-slider-img-video/babylon-slider-img-video.component.mjs +4 -17
  102. package/esm2022/lib/components/core/babylon-slider2col/babylon-slider2col.component.mjs +5 -28
  103. package/esm2022/lib/components/core/babylon-slider2col-v2/babylon-slider2col-v2.component.mjs +13 -0
  104. package/esm2022/lib/components/core/babylon-slider2items/babylon-slider2items.component.mjs +5 -15
  105. package/esm2022/lib/components/core/babylon-slider3col/babylon-slider3colcomponent.mjs +11 -0
  106. package/esm2022/lib/components/core/babylon-slider3col-v2/babylon-slider3col-v2.component.mjs +12 -0
  107. package/esm2022/lib/components/core/babylon-slider3items/babylon-slider3items.component.mjs +5 -14
  108. package/esm2022/lib/components/core/babylon-slider4col/babylon-slider4col.component.mjs +5 -37
  109. package/esm2022/lib/components/core/babylon-social-bar/babylon-social-bar.component.mjs +5 -14
  110. package/esm2022/lib/components/core/babylon-social-bar-v2/babylon-social-bar-v2.component.mjs +11 -0
  111. package/esm2022/lib/components/core/babylon-static-footer/babylon-static-footer.component.mjs +6 -104
  112. package/esm2022/lib/components/core/babylon-static-footer-v2/babylon-static-footer-v2.component.mjs +8 -48
  113. package/esm2022/lib/components/core/babylon-static-footer-v3/babylon-static-footer-v3.component.mjs +67 -0
  114. package/esm2022/lib/components/core/babylon-submenu-hotel/babylon-submenu-hotel.component.mjs +5 -35
  115. package/esm2022/lib/components/core/babylon-thanks/babylon-thanks.component.mjs +5 -18
  116. package/esm2022/lib/components/core/babylon-top-simple-banner/babylon-top-simple-banner.component.mjs +5 -5
  117. package/esm2022/lib/components/core/babylon-top-simple-img/babylon-top-simple-img.component.mjs +11 -0
  118. package/esm2022/lib/components/core/babylon-top-slider/babylon-top-slider.component.mjs +5 -187
  119. package/esm2022/lib/components/core/babylon-top-slider-thumbs/babylon-top-slider-thumbs.component.mjs +6 -33
  120. package/esm2022/lib/components/core/babylon-top-slider-v2/babylon-top-slider-v2.component.mjs +5 -22
  121. package/esm2022/lib/components/core/babylon-top-slider-video/babylon-top-slider-video.component.mjs +5 -194
  122. package/esm2022/lib/components/core/babylon-top-slider-video-v2/babylon-top-slider-video-v2.component.mjs +5 -7
  123. package/esm2022/lib/components/core/babylon-variant-selector/babylon-variant-selector.component.mjs +82 -0
  124. package/esm2022/lib/components/core/babylon-webmap/babylon-webmap.component.mjs +5 -23
  125. package/esm2022/lib/components/core/babylon-webmap-v2/babylon-webmap-v2.component.mjs +11 -0
  126. package/esm2022/lib/directives/images/swap-on-reload.directive.mjs +83 -0
  127. package/esm2022/lib/directives/scroll/scroll-to.directive.mjs +183 -0
  128. package/esm2022/lib/directives/scroll/show-only-top.directive.mjs +103 -0
  129. package/esm2022/lib/directives/sliders/slick-init.directive.mjs +11 -20
  130. package/esm2022/lib/directives/utils/sticky-avoid-footer.directive.mjs +3 -9
  131. package/esm2022/lib/services/index.mjs +1 -3
  132. package/esm2022/lib/services/screen-sizer/screen-sizer.service.mjs +35 -46
  133. package/esm2022/public-api.mjs +116 -11
  134. package/fesm2022/ctt-babylon.mjs +2788 -10486
  135. package/fesm2022/ctt-babylon.mjs.map +1 -1
  136. package/lib/components/core/babylon-404/babylon-404.component.d.ts +1 -8
  137. package/lib/components/core/babylon-404-v2/babylon-404-v2.component.d.ts +5 -0
  138. package/lib/components/core/babylon-advantages/babylon-advantages.component.d.ts +1 -14
  139. package/lib/components/core/babylon-advantages-v2/babylon-advantages-v2.component.d.ts +1 -5
  140. package/lib/components/core/babylon-banner-gallery/babylon-banner-gallery.component.d.ts +1 -11
  141. package/lib/components/core/babylon-banner-info/babylon-banner-info.component.d.ts +2 -25
  142. package/lib/components/core/babylon-banner-newsletter/babylon-banner-newsletter.component.d.ts +1 -16
  143. package/lib/components/core/babylon-blog-details/babylon-blog-details.component.d.ts +1 -39
  144. package/lib/components/core/babylon-blog-list/babylon-blog-list.component.d.ts +2 -47
  145. package/lib/components/core/babylon-breadcrumb/babylon-breadcrumb.component.d.ts +1 -4
  146. package/lib/components/core/babylon-breadcrumb-v2/babylon-breadcrumb-v2.component.d.ts +5 -0
  147. package/lib/components/core/babylon-comingsoon/babylon-comingsoon.component.d.ts +1 -12
  148. package/lib/components/core/babylon-contact-form/babylon-contact-form.component.d.ts +6 -35
  149. package/lib/components/core/babylon-contact-form-v2/babylon-contact-form-v2.component.d.ts +10 -0
  150. package/lib/components/core/babylon-contact-how/babylon-contact-how.component.d.ts +2 -14
  151. package/lib/components/core/babylon-contact-map/babylon-contact-map.component.d.ts +2 -16
  152. package/lib/components/core/babylon-container-text-l2/babylon-container-text-l2.component.d.ts +6 -0
  153. package/lib/components/core/babylon-engine/babylon-engine.component.d.ts +11 -71
  154. package/lib/components/core/babylon-engine-modal/babylon-engine-modal.component.d.ts +16 -60
  155. package/lib/components/core/babylon-engine-modal-v2/babylon-engine-modal-v2.component.d.ts +44 -0
  156. package/lib/components/core/babylon-faq/babylon-faq.component.d.ts +1 -12
  157. package/lib/components/core/babylon-faq-v2/babylon-faq-v2.component.d.ts +1 -10
  158. package/lib/components/core/babylon-feature-pills/babylon-feature-pills.component.d.ts +5 -0
  159. package/lib/components/core/babylon-feature-pills-number/babylon-feature-pills-number.component.d.ts +5 -0
  160. package/lib/components/core/babylon-features-slider/babylon-features-slider.component.d.ts +2 -18
  161. package/lib/components/core/babylon-filter-modal/babylon-filter-modal.component.d.ts +3 -8
  162. package/lib/components/core/babylon-filter-modal-v2/babylon-filter-modal-v2.component.d.ts +10 -0
  163. package/lib/components/core/babylon-footer-contact/babylon-footer-contact.component.d.ts +1 -24
  164. package/lib/components/core/babylon-footer-links/babylon-footer-links.component.d.ts +1 -5
  165. package/lib/components/core/babylon-footer-logos/babylon-footer-logos.component.d.ts +1 -11
  166. package/lib/components/core/babylon-footer-social/babylon-footer-social.component.d.ts +1 -5
  167. package/lib/components/core/babylon-gallery/babylon-gallery.component.d.ts +8 -34
  168. package/lib/components/core/babylon-gallery-v2/babylon-gallery-v2.component.d.ts +22 -0
  169. package/lib/components/core/babylon-grid-gallery/babylon-grid-gallery.component.d.ts +2 -19
  170. package/lib/components/core/babylon-guests-popup/babylon-guests-popup.component.d.ts +7 -24
  171. package/lib/components/core/babylon-head-intro/babylon-head-intro.component.d.ts +1 -9
  172. package/lib/components/core/babylon-header-book-show/babylon-header-book-show.component.d.ts +7 -35
  173. package/lib/components/core/babylon-header-clear/babylon-header-clear.component.d.ts +9 -34
  174. package/lib/components/core/babylon-header-clear-v2/babylon-header-clear-v2.component.d.ts +16 -0
  175. package/lib/components/core/babylon-header-menu-center/babylon-header-menu-center.component.d.ts +8 -33
  176. package/lib/components/core/babylon-header-menu-show/babylon-header-menu-show.component.d.ts +8 -29
  177. package/lib/components/core/babylon-hotels-list/babylon-hotels-list.component.d.ts +1 -5
  178. package/lib/components/core/babylon-hotels-slider/babylon-hotels-slider.component.d.ts +1 -5
  179. package/lib/components/core/babylon-img-banner/babylon-img-banner.component.d.ts +5 -0
  180. package/lib/components/core/babylon-info-big/babylon-info-big.component.d.ts +1 -9
  181. package/lib/components/core/babylon-info-big-v2/babylon-info-big-v2.component.d.ts +12 -0
  182. package/lib/components/core/babylon-info-big-v3/babylon-info-big-v3.component.d.ts +5 -0
  183. package/lib/components/core/babylon-info-circle-imgs/babylon-info-circle-imgs.component.d.ts +5 -0
  184. package/lib/components/core/babylon-info-grid/babylon-info-grid.component.d.ts +3 -22
  185. package/lib/components/core/babylon-info-img/babylon-info-img.component.d.ts +2 -40
  186. package/lib/components/core/babylon-info-img-v2/babylon-info-img-v2.component.d.ts +5 -0
  187. package/lib/components/core/babylon-info-intro/babylon-info-intro.component.d.ts +1 -26
  188. package/lib/components/core/babylon-info-show-img/babylon-info-show-img.component.d.ts +1 -3
  189. package/lib/components/core/babylon-info-zig-zag/babylon-info-zig-zag.component.d.ts +1 -29
  190. package/lib/components/core/babylon-info-zigzag-v2/babylon-info-zigzag-v2.component.d.ts +1 -16
  191. package/lib/components/core/babylon-info-zigzag-v3/babylon-info-zigzag-v3.component.d.ts +6 -0
  192. package/lib/components/core/babylon-info-zigzag-v3-1/babylon-info-zigzag-v3-1.component.d.ts +5 -0
  193. package/lib/components/core/babylon-info-zigzag-v4/babylon-info-zigzag-v4.component.d.ts +5 -0
  194. package/lib/components/core/babylon-info2img/babylon-info2img.component.d.ts +1 -14
  195. package/lib/components/core/babylon-info2img-big/babylon-info2img-big.component.d.ts +1 -16
  196. package/lib/components/core/babylon-info3img/babylon-info3img.component.d.ts +1 -9
  197. package/lib/components/core/babylon-info4img/babylon-info4img.component.d.ts +1 -11
  198. package/lib/components/core/babylon-items-grid/babylon-items-grid.component.d.ts +1 -14
  199. package/lib/components/core/babylon-language-modal/babylon-language-modal.component.d.ts +5 -12
  200. package/lib/components/core/babylon-language-modal-v2/babylon-language-modal-v2.component.d.ts +12 -0
  201. package/lib/components/core/babylon-legal/babylon-legal.component.d.ts +1 -9
  202. package/lib/components/core/babylon-lis-c4-txt-img-pdf/babylon-lis-c4-txt-img-pdf.component.d.ts +24 -0
  203. package/lib/components/core/babylon-lis-c5-txt-img-svg/babylon-lis-c5-txt-img-svg.component.d.ts +24 -0
  204. package/lib/components/core/babylon-list-box-info/babylon-list-box-info.component.d.ts +5 -0
  205. package/lib/components/core/babylon-list-c3-img-txt/babylon-list-c3-img-txt.component.d.ts +1 -5
  206. package/lib/components/core/babylon-list-grid/babylon-list-grid.component.d.ts +1 -17
  207. package/lib/components/core/babylon-list-img/babylon-list-img.component.d.ts +26 -0
  208. package/lib/components/core/babylon-list-img-info/babylon-list-img-info.component.d.ts +5 -0
  209. package/lib/components/core/babylon-list-img-v2/babylon-list-img-v2.component.d.ts +5 -0
  210. package/lib/components/core/babylon-loyalty-table/babylon-loyalty-table.component.d.ts +10 -0
  211. package/lib/components/core/babylon-menu-modal/babylon-menu-modal.component.d.ts +7 -0
  212. package/lib/components/core/babylon-newsletter/babylon-newsletter.component.d.ts +3 -19
  213. package/lib/components/core/babylon-newsletter-modal/babylon-newsletter-modal.component.d.ts +7 -0
  214. package/lib/components/core/babylon-offer-detail/babylon-offer-detail.component.d.ts +1 -16
  215. package/lib/components/core/babylon-offer-detail-v2/babylon-offer-detail-v2.component.d.ts +5 -0
  216. package/lib/components/core/babylon-offer-popup/babylon-offer-popup.component.d.ts +5 -18
  217. package/lib/components/core/babylon-offer-popup-v2/babylon-offer-popup-v2.component.d.ts +7 -0
  218. package/lib/components/core/babylon-offer-slider/babylon-offer-slider.component.d.ts +1 -6
  219. package/lib/components/core/babylon-offers-list/babylon-offers-list.component.d.ts +2 -33
  220. package/lib/components/core/babylon-offers-slider/babylon-offers-slider.component.d.ts +1 -5
  221. package/lib/components/core/babylon-preload/babylon-preload.component.d.ts +1 -5
  222. package/lib/components/core/babylon-reviews/babylon-reviews.component.d.ts +28 -0
  223. package/lib/components/core/babylon-room-details/babylon-room-details.component.d.ts +1 -13
  224. package/lib/components/core/babylon-rooms-cols/babylon-rooms-cols.component.d.ts +1 -39
  225. package/lib/components/core/babylon-rooms-grid/babylon-rooms-grid.component.d.ts +1 -10
  226. package/lib/components/core/babylon-rooms-list/babylon-rooms-list.component.d.ts +1 -27
  227. package/lib/components/core/babylon-rooms-list-v2/babylon-rooms-list-v2.component.d.ts +5 -0
  228. package/lib/components/core/babylon-rooms-slider/babylon-rooms-slider.component.d.ts +1 -6
  229. package/lib/components/core/babylon-services-slider/babylon-services-slider.component.d.ts +1 -7
  230. package/lib/components/core/babylon-simple-img-info/babylon-simple-img-info.component.d.ts +5 -0
  231. package/lib/components/core/babylon-slider-box/babylon-slider-box.component.d.ts +5 -0
  232. package/lib/components/core/babylon-slider-img-static/babylon-slider-img-static.component.d.ts +1 -6
  233. package/lib/components/core/babylon-slider-img-static-v2/babylon-slider-img-static-v2.component.d.ts +1 -6
  234. package/lib/components/core/babylon-slider-img-video/babylon-slider-img-video.component.d.ts +1 -8
  235. package/lib/components/core/babylon-slider2col/babylon-slider2col.component.d.ts +1 -22
  236. package/lib/components/core/babylon-slider2col-v2/babylon-slider2col-v2.component.d.ts +5 -0
  237. package/lib/components/core/babylon-slider2items/babylon-slider2items.component.d.ts +1 -5
  238. package/lib/components/core/babylon-slider3col/babylon-slider3colcomponent.d.ts +5 -0
  239. package/lib/components/core/babylon-slider3col-v2/babylon-slider3col-v2.component.d.ts +5 -0
  240. package/lib/components/core/babylon-slider3items/babylon-slider3items.component.d.ts +1 -15
  241. package/lib/components/core/babylon-slider4col/babylon-slider4col.component.d.ts +1 -15
  242. package/lib/components/core/babylon-social-bar/babylon-social-bar.component.d.ts +1 -5
  243. package/lib/components/core/babylon-social-bar-v2/babylon-social-bar-v2.component.d.ts +5 -0
  244. package/lib/components/core/babylon-static-footer/babylon-static-footer.component.d.ts +2 -55
  245. package/lib/components/core/babylon-static-footer-v2/babylon-static-footer-v2.component.d.ts +3 -24
  246. package/lib/components/core/babylon-static-footer-v3/babylon-static-footer-v3.component.d.ts +12 -0
  247. package/lib/components/core/babylon-submenu-hotel/babylon-submenu-hotel.component.d.ts +2 -13
  248. package/lib/components/core/babylon-thanks/babylon-thanks.component.d.ts +1 -7
  249. package/lib/components/core/babylon-top-simple-img/babylon-top-simple-img.component.d.ts +5 -0
  250. package/lib/components/core/babylon-top-slider/babylon-top-slider.component.d.ts +2 -37
  251. package/lib/components/core/babylon-top-slider-thumbs/babylon-top-slider-thumbs.component.d.ts +2 -12
  252. package/lib/components/core/babylon-top-slider-v2/babylon-top-slider-v2.component.d.ts +1 -10
  253. package/lib/components/core/babylon-top-slider-video/babylon-top-slider-video.component.d.ts +2 -34
  254. package/lib/components/core/babylon-top-slider-video-v2/babylon-top-slider-video-v2.component.d.ts +1 -3
  255. package/lib/components/core/babylon-variant-selector/babylon-variant-selector.component.d.ts +12 -0
  256. package/lib/components/core/babylon-webmap/babylon-webmap.component.d.ts +1 -11
  257. package/lib/components/core/babylon-webmap-v2/babylon-webmap-v2.component.d.ts +5 -0
  258. package/lib/directives/images/swap-on-reload.directive.d.ts +22 -0
  259. package/lib/directives/{scrolls → scroll}/scroll-to.directive.d.ts +1 -1
  260. package/lib/directives/{scrolls → scroll}/show-only-top.directive.d.ts +2 -3
  261. package/lib/directives/utils/sticky-avoid-footer.directive.d.ts +1 -2
  262. package/lib/services/index.d.ts +0 -2
  263. package/lib/services/screen-sizer/screen-sizer.service.d.ts +0 -2
  264. package/lib/styles/styles-babylon.scss +7 -48
  265. package/package.json +4 -11
  266. package/public-api.d.ts +113 -6
  267. package/esm2022/lib/Enum/buttons-type.enum.mjs +0 -6
  268. package/esm2022/lib/Enum/index.mjs +0 -3
  269. package/esm2022/lib/Enum/logo-type.enum.mjs +0 -10
  270. package/esm2022/lib/Enum/services.enum.mjs +0 -8
  271. package/esm2022/lib/Enum/views.enum.mjs +0 -5
  272. package/esm2022/lib/components/core/babylon-404/babylon-404.interface.mjs +0 -2
  273. package/esm2022/lib/components/core/babylon-404/index.mjs +0 -3
  274. package/esm2022/lib/components/core/babylon-action-banner/babylon-action-banner.component.mjs +0 -30
  275. package/esm2022/lib/components/core/babylon-action-banner/babylon-action-banner.interface.mjs +0 -2
  276. package/esm2022/lib/components/core/babylon-action-banner/index.mjs +0 -3
  277. package/esm2022/lib/components/core/babylon-advantages/babylon-advantages-info.interface.mjs +0 -2
  278. package/esm2022/lib/components/core/babylon-advantages/babylon-advantages.interface.mjs +0 -2
  279. package/esm2022/lib/components/core/babylon-advantages/index.mjs +0 -4
  280. package/esm2022/lib/components/core/babylon-advantages-v2/index.mjs +0 -2
  281. package/esm2022/lib/components/core/babylon-av-c4-img-text/babylon-av-c4-img-text.component.mjs +0 -11
  282. package/esm2022/lib/components/core/babylon-av-c4-img-text/index.mjs +0 -2
  283. package/esm2022/lib/components/core/babylon-banner-gallery/babylon-banner-gallery.interface.mjs +0 -2
  284. package/esm2022/lib/components/core/babylon-banner-gallery/index.mjs +0 -3
  285. package/esm2022/lib/components/core/babylon-banner-info/babylon-banner-info.interface.mjs +0 -2
  286. package/esm2022/lib/components/core/babylon-banner-info/index.mjs +0 -3
  287. package/esm2022/lib/components/core/babylon-banner-newsletter/babylon-banner-newsletter.interface.mjs +0 -2
  288. package/esm2022/lib/components/core/babylon-banner-newsletter/index.mjs +0 -3
  289. package/esm2022/lib/components/core/babylon-blog-details/babylon-blog-details.interface.mjs +0 -2
  290. package/esm2022/lib/components/core/babylon-blog-details/index.mjs +0 -3
  291. package/esm2022/lib/components/core/babylon-blog-list/babylon-blog-list.interface.mjs +0 -2
  292. package/esm2022/lib/components/core/babylon-blog-list/index.mjs +0 -3
  293. package/esm2022/lib/components/core/babylon-breadcrumb/babylon-breadcrumb.interface.mjs +0 -2
  294. package/esm2022/lib/components/core/babylon-breadcrumb/index.mjs +0 -3
  295. package/esm2022/lib/components/core/babylon-color-picker/babylon-color-picker.component.mjs +0 -267
  296. package/esm2022/lib/components/core/babylon-color-picker/index.mjs +0 -2
  297. package/esm2022/lib/components/core/babylon-comingsoon/babylon-comingsoon.interface.mjs +0 -2
  298. package/esm2022/lib/components/core/babylon-comingsoon/index.mjs +0 -3
  299. package/esm2022/lib/components/core/babylon-contact-address/babylon-contact-address.component.mjs +0 -19
  300. package/esm2022/lib/components/core/babylon-contact-address/babylon-contact-address.interface.mjs +0 -2
  301. package/esm2022/lib/components/core/babylon-contact-address/index.mjs +0 -3
  302. package/esm2022/lib/components/core/babylon-contact-form/babylon-contact-form.interface.mjs +0 -2
  303. package/esm2022/lib/components/core/babylon-contact-form/index.mjs +0 -3
  304. package/esm2022/lib/components/core/babylon-contact-how/babylon-contact-how.interface.mjs +0 -2
  305. package/esm2022/lib/components/core/babylon-contact-how/index.mjs +0 -3
  306. package/esm2022/lib/components/core/babylon-contact-map/babylon-contact-map.interface.mjs +0 -2
  307. package/esm2022/lib/components/core/babylon-contact-map/index.mjs +0 -3
  308. package/esm2022/lib/components/core/babylon-engine/babylon-engine.interface.mjs +0 -2
  309. package/esm2022/lib/components/core/babylon-engine/index.mjs +0 -3
  310. package/esm2022/lib/components/core/babylon-engine-modal/babylon-engine-modal.interface.mjs +0 -2
  311. package/esm2022/lib/components/core/babylon-engine-modal/index.mjs +0 -3
  312. package/esm2022/lib/components/core/babylon-external-script/babylon-external-script.component.mjs +0 -80
  313. package/esm2022/lib/components/core/babylon-external-script/babylon-external-script.interface.mjs +0 -2
  314. package/esm2022/lib/components/core/babylon-external-script/index.mjs +0 -3
  315. package/esm2022/lib/components/core/babylon-faq/babylon-faq.interface.mjs +0 -2
  316. package/esm2022/lib/components/core/babylon-faq/index.mjs +0 -3
  317. package/esm2022/lib/components/core/babylon-faq-v2/index.mjs +0 -2
  318. package/esm2022/lib/components/core/babylon-features-slider/babylon-features-slider.interface.mjs +0 -2
  319. package/esm2022/lib/components/core/babylon-features-slider/index.mjs +0 -3
  320. package/esm2022/lib/components/core/babylon-filter-modal/index.mjs +0 -2
  321. package/esm2022/lib/components/core/babylon-floating-buttons/babylon-floating-buttons.component.mjs +0 -121
  322. package/esm2022/lib/components/core/babylon-floating-buttons/babylon-floating-buttons.interface.mjs +0 -2
  323. package/esm2022/lib/components/core/babylon-floating-buttons/index.mjs +0 -3
  324. package/esm2022/lib/components/core/babylon-footer-contact/babylon-footer-contact.interface.mjs +0 -2
  325. package/esm2022/lib/components/core/babylon-footer-contact/index.mjs +0 -3
  326. package/esm2022/lib/components/core/babylon-footer-links/babylon-footer-links.interface.mjs +0 -2
  327. package/esm2022/lib/components/core/babylon-footer-links/index.mjs +0 -3
  328. package/esm2022/lib/components/core/babylon-footer-logos/babylon-footer-logos.interface.mjs +0 -2
  329. package/esm2022/lib/components/core/babylon-footer-logos/index.mjs +0 -3
  330. package/esm2022/lib/components/core/babylon-footer-social/babylon-footer-social.interface.mjs +0 -3
  331. package/esm2022/lib/components/core/babylon-footer-social/index.mjs +0 -3
  332. package/esm2022/lib/components/core/babylon-gallery/babylon-gallery.interface.mjs +0 -2
  333. package/esm2022/lib/components/core/babylon-gallery/index.mjs +0 -3
  334. package/esm2022/lib/components/core/babylon-global-modal/babylon-global-modal.component.mjs +0 -38
  335. package/esm2022/lib/components/core/babylon-global-modal/babylon-global-modal.interface.mjs +0 -2
  336. package/esm2022/lib/components/core/babylon-global-modal/index.mjs +0 -3
  337. package/esm2022/lib/components/core/babylon-grid-gallery/babylon-grid-gallery.interface.mjs +0 -2
  338. package/esm2022/lib/components/core/babylon-grid-gallery/index.mjs +0 -3
  339. package/esm2022/lib/components/core/babylon-guests-popup/babylon-guests-popup.interface.mjs +0 -2
  340. package/esm2022/lib/components/core/babylon-guests-popup/index.mjs +0 -3
  341. package/esm2022/lib/components/core/babylon-head-intro/babylon-head-intro.interface.mjs +0 -2
  342. package/esm2022/lib/components/core/babylon-head-intro/index.mjs +0 -3
  343. package/esm2022/lib/components/core/babylon-header-book-show/babylon-header-book-show.interface.mjs +0 -2
  344. package/esm2022/lib/components/core/babylon-header-book-show/index.mjs +0 -3
  345. package/esm2022/lib/components/core/babylon-header-clear/babylon-header-clear.interface.mjs +0 -2
  346. package/esm2022/lib/components/core/babylon-header-clear/index.mjs +0 -3
  347. package/esm2022/lib/components/core/babylon-header-menu-center/babylon-header-menu-center.interface.mjs +0 -2
  348. package/esm2022/lib/components/core/babylon-header-menu-center/index.mjs +0 -3
  349. package/esm2022/lib/components/core/babylon-header-menu-logo-center/babylon-header-menu-logo-center.component.mjs +0 -122
  350. package/esm2022/lib/components/core/babylon-header-menu-logo-center/babylon-header-menu-logo-center.interface.mjs +0 -2
  351. package/esm2022/lib/components/core/babylon-header-menu-logo-center/index.mjs +0 -3
  352. package/esm2022/lib/components/core/babylon-header-menu-show/babylon-header-menu-show.interface.mjs +0 -2
  353. package/esm2022/lib/components/core/babylon-header-menu-show/index.mjs +0 -3
  354. package/esm2022/lib/components/core/babylon-header-mobile/babylon-header-mobile.component.mjs +0 -156
  355. package/esm2022/lib/components/core/babylon-header-mobile/babylon-header-mobile.interface.mjs +0 -2
  356. package/esm2022/lib/components/core/babylon-header-mobile/index.mjs +0 -3
  357. package/esm2022/lib/components/core/babylon-hotels-list/babylon-hotel.interface.mjs +0 -2
  358. package/esm2022/lib/components/core/babylon-hotels-list/babylon-hotels-list.interface.mjs +0 -2
  359. package/esm2022/lib/components/core/babylon-hotels-list/index.mjs +0 -4
  360. package/esm2022/lib/components/core/babylon-hotels-slider/babylon-hotels-slider.interface.mjs +0 -2
  361. package/esm2022/lib/components/core/babylon-hotels-slider/index.mjs +0 -3
  362. package/esm2022/lib/components/core/babylon-info-big/babylon-info-big.interface.mjs +0 -2
  363. package/esm2022/lib/components/core/babylon-info-big/index.mjs +0 -3
  364. package/esm2022/lib/components/core/babylon-info-grid/babylon-info-grid.interface.mjs +0 -3
  365. package/esm2022/lib/components/core/babylon-info-grid/index.mjs +0 -3
  366. package/esm2022/lib/components/core/babylon-info-img/babylon-info-img.interface.mjs +0 -2
  367. package/esm2022/lib/components/core/babylon-info-img/index.mjs +0 -3
  368. package/esm2022/lib/components/core/babylon-info-img-slider/babylon-info-img-slider.component.mjs +0 -56
  369. package/esm2022/lib/components/core/babylon-info-img-slider/babylon-info-img-slider.interface.mjs +0 -2
  370. package/esm2022/lib/components/core/babylon-info-img-slider/index.mjs +0 -3
  371. package/esm2022/lib/components/core/babylon-info-intro/babylon-info-intro.interface.mjs +0 -2
  372. package/esm2022/lib/components/core/babylon-info-intro/index.mjs +0 -3
  373. package/esm2022/lib/components/core/babylon-info-show-img/index.mjs +0 -2
  374. package/esm2022/lib/components/core/babylon-info-zig-zag/babylon-info-zig-zag.interface.mjs +0 -2
  375. package/esm2022/lib/components/core/babylon-info-zig-zag/index.mjs +0 -3
  376. package/esm2022/lib/components/core/babylon-info-zig-zag-counter/babylon-info-zig-zag-counter.component.mjs +0 -92
  377. package/esm2022/lib/components/core/babylon-info-zig-zag-counter/babylon-info-zig-zag-counter.interface.mjs +0 -2
  378. package/esm2022/lib/components/core/babylon-info-zig-zag-counter/index.mjs +0 -3
  379. package/esm2022/lib/components/core/babylon-info-zigzag-v2/babylon-info-zigzag-v2.interface.mjs +0 -2
  380. package/esm2022/lib/components/core/babylon-info-zigzag-v2/index.mjs +0 -3
  381. package/esm2022/lib/components/core/babylon-info2col-img/babylon-info2col-img.component.mjs +0 -36
  382. package/esm2022/lib/components/core/babylon-info2col-img/babylon-info2col-img.interface.mjs +0 -2
  383. package/esm2022/lib/components/core/babylon-info2col-img/index.mjs +0 -3
  384. package/esm2022/lib/components/core/babylon-info2img/babylon-info2img.interface.mjs +0 -2
  385. package/esm2022/lib/components/core/babylon-info2img/index.mjs +0 -3
  386. package/esm2022/lib/components/core/babylon-info2img-big/babylon-info2img-big.interface.mjs +0 -2
  387. package/esm2022/lib/components/core/babylon-info2img-big/index.mjs +0 -3
  388. package/esm2022/lib/components/core/babylon-info3img/index.mjs +0 -2
  389. package/esm2022/lib/components/core/babylon-info4img/babylon-info4img.interface.mjs +0 -2
  390. package/esm2022/lib/components/core/babylon-info4img/index.mjs +0 -3
  391. package/esm2022/lib/components/core/babylon-items-grid/babylon-items-grid.interface.mjs +0 -2
  392. package/esm2022/lib/components/core/babylon-items-grid/index.mjs +0 -3
  393. package/esm2022/lib/components/core/babylon-language-modal/babylon-language-modal.interface.mjs +0 -2
  394. package/esm2022/lib/components/core/babylon-language-modal/index.mjs +0 -3
  395. package/esm2022/lib/components/core/babylon-legal/babylon-legal.interface.mjs +0 -2
  396. package/esm2022/lib/components/core/babylon-legal/index.mjs +0 -3
  397. package/esm2022/lib/components/core/babylon-list-c3-img-txt/index.mjs +0 -2
  398. package/esm2022/lib/components/core/babylon-list-grid/babylon-list-grid.interface.mjs +0 -3
  399. package/esm2022/lib/components/core/babylon-list-grid/index.mjs +0 -3
  400. package/esm2022/lib/components/core/babylon-modal-menu/babylon-modal-menu.component.mjs +0 -139
  401. package/esm2022/lib/components/core/babylon-modal-multiple-motors/babylon-modal-multiple-motors.component.mjs +0 -35
  402. package/esm2022/lib/components/core/babylon-modal-multiple-motors/babylon-modal-multiple-motors.interface.mjs +0 -2
  403. package/esm2022/lib/components/core/babylon-modal-multiple-motors/index.mjs +0 -3
  404. package/esm2022/lib/components/core/babylon-modal-popup/babylon-modal-popup.component.mjs +0 -39
  405. package/esm2022/lib/components/core/babylon-modal-popup/babylon-modal-popup.interface.mjs +0 -2
  406. package/esm2022/lib/components/core/babylon-modal-popup/index.mjs +0 -3
  407. package/esm2022/lib/components/core/babylon-newsletter/babylon-newsletter.interface.mjs +0 -3
  408. package/esm2022/lib/components/core/babylon-newsletter/index.mjs +0 -3
  409. package/esm2022/lib/components/core/babylon-offer-detail/babylon-offer-detail.interface.mjs +0 -2
  410. package/esm2022/lib/components/core/babylon-offer-detail/index.mjs +0 -3
  411. package/esm2022/lib/components/core/babylon-offer-popup/babylon-offer-popup.interface.mjs +0 -2
  412. package/esm2022/lib/components/core/babylon-offer-popup/index.mjs +0 -3
  413. package/esm2022/lib/components/core/babylon-offer-popupV2/babylon-offer-popup-v2.component.mjs +0 -49
  414. package/esm2022/lib/components/core/babylon-offer-popupV2/babylon-offer-popup-v2.interface.mjs +0 -2
  415. package/esm2022/lib/components/core/babylon-offer-popupV2/index.mjs +0 -3
  416. package/esm2022/lib/components/core/babylon-offer-slider/babylon-offer-slider.interface.mjs +0 -2
  417. package/esm2022/lib/components/core/babylon-offer-slider/babylon-offer.interface.mjs +0 -2
  418. package/esm2022/lib/components/core/babylon-offer-slider/index.mjs +0 -4
  419. package/esm2022/lib/components/core/babylon-offers-list/babylon-offers-list.interface.mjs +0 -2
  420. package/esm2022/lib/components/core/babylon-offers-list/index.mjs +0 -3
  421. package/esm2022/lib/components/core/babylon-offers-slider/index.mjs +0 -2
  422. package/esm2022/lib/components/core/babylon-preload/index.mjs +0 -2
  423. package/esm2022/lib/components/core/babylon-press-list/babylon-press-list.component.mjs +0 -27
  424. package/esm2022/lib/components/core/babylon-press-list/babylon-press-list.interface.mjs +0 -2
  425. package/esm2022/lib/components/core/babylon-press-list/index.mjs +0 -3
  426. package/esm2022/lib/components/core/babylon-room-details/babylon-room-detail.interface.mjs +0 -2
  427. package/esm2022/lib/components/core/babylon-room-details/index.mjs +0 -3
  428. package/esm2022/lib/components/core/babylon-rooms-cols/babylon-rooms-cols.interface.mjs +0 -2
  429. package/esm2022/lib/components/core/babylon-rooms-cols/index.mjs +0 -3
  430. package/esm2022/lib/components/core/babylon-rooms-grid/babylon-rooms-grid.interface.mjs +0 -2
  431. package/esm2022/lib/components/core/babylon-rooms-grid/index.mjs +0 -3
  432. package/esm2022/lib/components/core/babylon-rooms-list/babylon-rooms-list.interface.mjs +0 -2
  433. package/esm2022/lib/components/core/babylon-rooms-list/index.mjs +0 -3
  434. package/esm2022/lib/components/core/babylon-rooms-slider/babylon-room.interface.mjs +0 -2
  435. package/esm2022/lib/components/core/babylon-rooms-slider/babylon-rooms-slider.interface.mjs +0 -2
  436. package/esm2022/lib/components/core/babylon-rooms-slider/babylon-rooms-text-info.interface.mjs +0 -2
  437. package/esm2022/lib/components/core/babylon-rooms-slider/index.mjs +0 -5
  438. package/esm2022/lib/components/core/babylon-services-slider/babylon-service-slider.interface.mjs +0 -2
  439. package/esm2022/lib/components/core/babylon-services-slider/index.mjs +0 -3
  440. package/esm2022/lib/components/core/babylon-sli-c1-img-text/babylon-sli-c1-img-text.component.mjs +0 -12
  441. package/esm2022/lib/components/core/babylon-sli-c1-img-text/index.mjs +0 -2
  442. package/esm2022/lib/components/core/babylon-slider-img-static/index.mjs +0 -2
  443. package/esm2022/lib/components/core/babylon-slider-img-static-v2/index.mjs +0 -2
  444. package/esm2022/lib/components/core/babylon-slider-img-video/index.mjs +0 -2
  445. package/esm2022/lib/components/core/babylon-slider2col/index.mjs +0 -2
  446. package/esm2022/lib/components/core/babylon-slider2items/babylon-slider2items.interface.mjs +0 -2
  447. package/esm2022/lib/components/core/babylon-slider2items/index.mjs +0 -3
  448. package/esm2022/lib/components/core/babylon-slider3col/babylon-slider3col.component.mjs +0 -53
  449. package/esm2022/lib/components/core/babylon-slider3col/index.mjs +0 -2
  450. package/esm2022/lib/components/core/babylon-slider3col-clear/babylon-slider3col-clear.component.mjs +0 -11
  451. package/esm2022/lib/components/core/babylon-slider3col-clear/index.mjs +0 -2
  452. package/esm2022/lib/components/core/babylon-slider3items/babylon-slider3items.interface.mjs +0 -2
  453. package/esm2022/lib/components/core/babylon-slider3items/index.mjs +0 -3
  454. package/esm2022/lib/components/core/babylon-slider4col/index.mjs +0 -2
  455. package/esm2022/lib/components/core/babylon-social-bar/index.mjs +0 -2
  456. package/esm2022/lib/components/core/babylon-static-footer/babylon-static-footer.interface.mjs +0 -2
  457. package/esm2022/lib/components/core/babylon-static-footer/index.mjs +0 -3
  458. package/esm2022/lib/components/core/babylon-static-footer-v2/babylon-static-footer-v2.interface.mjs +0 -2
  459. package/esm2022/lib/components/core/babylon-static-footer-v2/index.mjs +0 -3
  460. package/esm2022/lib/components/core/babylon-submenu-hotel/babylon-submenu-hotel.interface.mjs +0 -2
  461. package/esm2022/lib/components/core/babylon-submenu-hotel/index.mjs +0 -3
  462. package/esm2022/lib/components/core/babylon-thanks/babylon-thanks.interface.mjs +0 -2
  463. package/esm2022/lib/components/core/babylon-thanks/index.mjs +0 -3
  464. package/esm2022/lib/components/core/babylon-top-simple-banner/index.mjs +0 -2
  465. package/esm2022/lib/components/core/babylon-top-slider/babylon-top-slider-item.interface.mjs +0 -2
  466. package/esm2022/lib/components/core/babylon-top-slider/babylon-top-slider.interface.mjs +0 -2
  467. package/esm2022/lib/components/core/babylon-top-slider/index.mjs +0 -4
  468. package/esm2022/lib/components/core/babylon-top-slider-thumbs/babylon-top-slider-thumbs.interface.mjs +0 -2
  469. package/esm2022/lib/components/core/babylon-top-slider-thumbs/index.mjs +0 -3
  470. package/esm2022/lib/components/core/babylon-top-slider-v2/babylon-top-slider-v2-item.interface.mjs +0 -2
  471. package/esm2022/lib/components/core/babylon-top-slider-v2/babylon-top-slider-v2.interface.mjs +0 -2
  472. package/esm2022/lib/components/core/babylon-top-slider-v2/index.mjs +0 -4
  473. package/esm2022/lib/components/core/babylon-top-slider-video/babylon-top-slider-video.interface.mjs +0 -2
  474. package/esm2022/lib/components/core/babylon-top-slider-video/babylon-video-source.interface.mjs +0 -2
  475. package/esm2022/lib/components/core/babylon-top-slider-video/index.mjs +0 -4
  476. package/esm2022/lib/components/core/babylon-top-slider-video-v2/index.mjs +0 -2
  477. package/esm2022/lib/components/core/babylon-webmap/babylon-webmap.interface.mjs +0 -2
  478. package/esm2022/lib/components/core/babylon-webmap/index.mjs +0 -3
  479. package/esm2022/lib/components/core/index.mjs +0 -100
  480. package/esm2022/lib/components/shared/babylon-dynamic-heading/babylon-dynamic-heading.component.mjs +0 -124
  481. package/esm2022/lib/components/shared/babylon-dynamic-heading/babylon-dynamic-heading.interface.mjs +0 -2
  482. package/esm2022/lib/components/shared/babylon-dynamic-heading/index.mjs +0 -3
  483. package/esm2022/lib/components/shared/babylon-search/babylon-search.component.mjs +0 -82
  484. package/esm2022/lib/components/shared/babylon-search/index.mjs +0 -2
  485. package/esm2022/lib/components/shared/index.mjs +0 -2
  486. package/esm2022/lib/directives/babylon-background-strip/babylon-background-strip.directive.mjs +0 -71
  487. package/esm2022/lib/directives/babylon-customs/babylon-custom-mouse-pointer.directive.mjs +0 -52
  488. package/esm2022/lib/directives/babylon-galleries/babylon-light-gallery.directive.mjs +0 -107
  489. package/esm2022/lib/directives/babylon-hobble-effect/babylon-hobble-effect.directive.mjs +0 -60
  490. package/esm2022/lib/directives/babylon-pagination/babylon-pagination.directive.mjs +0 -127
  491. package/esm2022/lib/directives/babylon-sliders/babylon-custom-slider.directive.mjs +0 -62
  492. package/esm2022/lib/directives/babylon-sliders/babylon-hotels-slider.directive.mjs +0 -107
  493. package/esm2022/lib/directives/babylon-sliders/babylon-sliders.directive.mjs +0 -438
  494. package/esm2022/lib/directives/babylon-sliders/babylon-swiper-slider.directive.mjs +0 -107
  495. package/esm2022/lib/directives/data-background/data-background.directive.mjs +0 -32
  496. package/esm2022/lib/directives/link-type/link-type.directive.mjs +0 -287
  497. package/esm2022/lib/directives/scrolls/scroll-to.directive.mjs +0 -195
  498. package/esm2022/lib/directives/scrolls/scroll-up.directive.mjs +0 -27
  499. package/esm2022/lib/directives/scrolls/show-only-top.directive.mjs +0 -110
  500. package/esm2022/lib/interfaces/babylon-advantages-item.interface.mjs +0 -2
  501. package/esm2022/lib/interfaces/babylon-button.interface.mjs +0 -2
  502. package/esm2022/lib/interfaces/babylon-consult-type.interface.mjs +0 -2
  503. package/esm2022/lib/interfaces/babylon-dropdown.interface.mjs +0 -2
  504. package/esm2022/lib/interfaces/babylon-equipments-item.interface.mjs +0 -2
  505. package/esm2022/lib/interfaces/babylon-global-icon.interface.mjs +0 -2
  506. package/esm2022/lib/interfaces/babylon-global.interface.mjs +0 -2
  507. package/esm2022/lib/interfaces/babylon-image.interface.mjs +0 -2
  508. package/esm2022/lib/interfaces/babylon-input.interface.mjs +0 -2
  509. package/esm2022/lib/interfaces/babylon-item.interface.mjs +0 -2
  510. package/esm2022/lib/interfaces/babylon-menu-button.interface.mjs +0 -2
  511. package/esm2022/lib/interfaces/babylon-menu-info.interface.mjs +0 -2
  512. package/esm2022/lib/interfaces/babylon-multimedia.interface.mjs +0 -2
  513. package/esm2022/lib/interfaces/babylon-page-config.interface.mjs +0 -2
  514. package/esm2022/lib/interfaces/babylon-site-config.interface.mjs +0 -2
  515. package/esm2022/lib/interfaces/babylon-tags.interface.mjs +0 -2
  516. package/esm2022/lib/interfaces/babylon-text-info.interface.mjs +0 -2
  517. package/esm2022/lib/interfaces/babylon-texts-colors.interface.mjs +0 -2
  518. package/esm2022/lib/interfaces/babylon-texts.interface.mjs +0 -2
  519. package/esm2022/lib/interfaces/babylon-video.interface.mjs +0 -2
  520. package/esm2022/lib/interfaces/index.mjs +0 -15
  521. package/esm2022/lib/pipes/babylon-clean-phone.pipe.mjs +0 -14
  522. package/esm2022/lib/pipes/babylon-currency.pipe.mjs +0 -29
  523. package/esm2022/lib/services/color-panel.service.mjs +0 -316
  524. package/esm2022/lib/services/mapper/index.mjs +0 -3
  525. package/esm2022/lib/services/mapper/mapper.service.mjs +0 -2664
  526. package/esm2022/lib/services/mapper/mapper.service.token.mjs +0 -3
  527. package/esm2022/lib/services/modals-service/index.mjs +0 -2
  528. package/esm2022/lib/services/modals-service/modals.service.mjs +0 -77
  529. package/esm2022/lib/utils/complex-links.token.mjs +0 -6
  530. package/esm2022/lib/utils/index.mjs +0 -2
  531. package/esm2022/lib/utils/utils.mjs +0 -153
  532. package/lib/Enum/buttons-type.enum.d.ts +0 -4
  533. package/lib/Enum/index.d.ts +0 -2
  534. package/lib/Enum/logo-type.enum.d.ts +0 -8
  535. package/lib/Enum/services.enum.d.ts +0 -6
  536. package/lib/Enum/views.enum.d.ts +0 -3
  537. package/lib/components/core/babylon-404/babylon-404.interface.d.ts +0 -9
  538. package/lib/components/core/babylon-404/index.d.ts +0 -2
  539. package/lib/components/core/babylon-action-banner/babylon-action-banner.component.d.ts +0 -14
  540. package/lib/components/core/babylon-action-banner/babylon-action-banner.interface.d.ts +0 -9
  541. package/lib/components/core/babylon-action-banner/index.d.ts +0 -2
  542. package/lib/components/core/babylon-advantages/babylon-advantages-info.interface.d.ts +0 -5
  543. package/lib/components/core/babylon-advantages/babylon-advantages.interface.d.ts +0 -13
  544. package/lib/components/core/babylon-advantages/index.d.ts +0 -3
  545. package/lib/components/core/babylon-advantages-v2/index.d.ts +0 -1
  546. package/lib/components/core/babylon-av-c4-img-text/babylon-av-c4-img-text.component.d.ts +0 -5
  547. package/lib/components/core/babylon-av-c4-img-text/index.d.ts +0 -1
  548. package/lib/components/core/babylon-banner-gallery/babylon-banner-gallery.interface.d.ts +0 -9
  549. package/lib/components/core/babylon-banner-gallery/index.d.ts +0 -2
  550. package/lib/components/core/babylon-banner-info/babylon-banner-info.interface.d.ts +0 -10
  551. package/lib/components/core/babylon-banner-info/index.d.ts +0 -2
  552. package/lib/components/core/babylon-banner-newsletter/babylon-banner-newsletter.interface.d.ts +0 -9
  553. package/lib/components/core/babylon-banner-newsletter/index.d.ts +0 -2
  554. package/lib/components/core/babylon-blog-details/babylon-blog-details.interface.d.ts +0 -24
  555. package/lib/components/core/babylon-blog-details/index.d.ts +0 -2
  556. package/lib/components/core/babylon-blog-list/babylon-blog-list.interface.d.ts +0 -18
  557. package/lib/components/core/babylon-blog-list/index.d.ts +0 -2
  558. package/lib/components/core/babylon-breadcrumb/babylon-breadcrumb.interface.d.ts +0 -4
  559. package/lib/components/core/babylon-breadcrumb/index.d.ts +0 -2
  560. package/lib/components/core/babylon-color-picker/babylon-color-picker.component.d.ts +0 -57
  561. package/lib/components/core/babylon-color-picker/index.d.ts +0 -1
  562. package/lib/components/core/babylon-comingsoon/babylon-comingsoon.interface.d.ts +0 -11
  563. package/lib/components/core/babylon-comingsoon/index.d.ts +0 -2
  564. package/lib/components/core/babylon-contact-address/babylon-contact-address.component.d.ts +0 -22
  565. package/lib/components/core/babylon-contact-address/babylon-contact-address.interface.d.ts +0 -4
  566. package/lib/components/core/babylon-contact-address/index.d.ts +0 -2
  567. package/lib/components/core/babylon-contact-form/babylon-contact-form.interface.d.ts +0 -15
  568. package/lib/components/core/babylon-contact-form/index.d.ts +0 -2
  569. package/lib/components/core/babylon-contact-how/babylon-contact-how.interface.d.ts +0 -6
  570. package/lib/components/core/babylon-contact-how/index.d.ts +0 -2
  571. package/lib/components/core/babylon-contact-map/babylon-contact-map.interface.d.ts +0 -8
  572. package/lib/components/core/babylon-contact-map/index.d.ts +0 -2
  573. package/lib/components/core/babylon-engine/babylon-engine.interface.d.ts +0 -24
  574. package/lib/components/core/babylon-engine/index.d.ts +0 -2
  575. package/lib/components/core/babylon-engine-modal/babylon-engine-modal.interface.d.ts +0 -22
  576. package/lib/components/core/babylon-engine-modal/index.d.ts +0 -2
  577. package/lib/components/core/babylon-external-script/babylon-external-script.component.d.ts +0 -21
  578. package/lib/components/core/babylon-external-script/babylon-external-script.interface.d.ts +0 -5
  579. package/lib/components/core/babylon-external-script/index.d.ts +0 -2
  580. package/lib/components/core/babylon-faq/babylon-faq.interface.d.ts +0 -8
  581. package/lib/components/core/babylon-faq/index.d.ts +0 -2
  582. package/lib/components/core/babylon-faq-v2/index.d.ts +0 -1
  583. package/lib/components/core/babylon-features-slider/babylon-features-slider.interface.d.ts +0 -8
  584. package/lib/components/core/babylon-features-slider/index.d.ts +0 -2
  585. package/lib/components/core/babylon-filter-modal/index.d.ts +0 -1
  586. package/lib/components/core/babylon-floating-buttons/babylon-floating-buttons.component.d.ts +0 -39
  587. package/lib/components/core/babylon-floating-buttons/babylon-floating-buttons.interface.d.ts +0 -8
  588. package/lib/components/core/babylon-floating-buttons/index.d.ts +0 -2
  589. package/lib/components/core/babylon-footer-contact/babylon-footer-contact.interface.d.ts +0 -14
  590. package/lib/components/core/babylon-footer-contact/index.d.ts +0 -2
  591. package/lib/components/core/babylon-footer-links/babylon-footer-links.interface.d.ts +0 -6
  592. package/lib/components/core/babylon-footer-links/index.d.ts +0 -2
  593. package/lib/components/core/babylon-footer-logos/babylon-footer-logos.interface.d.ts +0 -7
  594. package/lib/components/core/babylon-footer-logos/index.d.ts +0 -2
  595. package/lib/components/core/babylon-footer-social/babylon-footer-social.interface.d.ts +0 -6
  596. package/lib/components/core/babylon-footer-social/index.d.ts +0 -2
  597. package/lib/components/core/babylon-gallery/babylon-gallery.interface.d.ts +0 -12
  598. package/lib/components/core/babylon-gallery/index.d.ts +0 -2
  599. package/lib/components/core/babylon-global-modal/babylon-global-modal.component.d.ts +0 -31
  600. package/lib/components/core/babylon-global-modal/babylon-global-modal.interface.d.ts +0 -8
  601. package/lib/components/core/babylon-global-modal/index.d.ts +0 -2
  602. package/lib/components/core/babylon-grid-gallery/babylon-grid-gallery.interface.d.ts +0 -8
  603. package/lib/components/core/babylon-grid-gallery/index.d.ts +0 -2
  604. package/lib/components/core/babylon-guests-popup/babylon-guests-popup.interface.d.ts +0 -11
  605. package/lib/components/core/babylon-guests-popup/index.d.ts +0 -2
  606. package/lib/components/core/babylon-head-intro/babylon-head-intro.interface.d.ts +0 -10
  607. package/lib/components/core/babylon-head-intro/index.d.ts +0 -2
  608. package/lib/components/core/babylon-header-book-show/babylon-header-book-show.interface.d.ts +0 -20
  609. package/lib/components/core/babylon-header-book-show/index.d.ts +0 -2
  610. package/lib/components/core/babylon-header-clear/babylon-header-clear.interface.d.ts +0 -22
  611. package/lib/components/core/babylon-header-clear/index.d.ts +0 -2
  612. package/lib/components/core/babylon-header-menu-center/babylon-header-menu-center.interface.d.ts +0 -19
  613. package/lib/components/core/babylon-header-menu-center/index.d.ts +0 -2
  614. package/lib/components/core/babylon-header-menu-logo-center/babylon-header-menu-logo-center.component.d.ts +0 -40
  615. package/lib/components/core/babylon-header-menu-logo-center/babylon-header-menu-logo-center.interface.d.ts +0 -23
  616. package/lib/components/core/babylon-header-menu-logo-center/index.d.ts +0 -2
  617. package/lib/components/core/babylon-header-menu-show/babylon-header-menu-show.interface.d.ts +0 -18
  618. package/lib/components/core/babylon-header-menu-show/index.d.ts +0 -2
  619. package/lib/components/core/babylon-header-mobile/babylon-header-mobile.component.d.ts +0 -53
  620. package/lib/components/core/babylon-header-mobile/babylon-header-mobile.interface.d.ts +0 -26
  621. package/lib/components/core/babylon-header-mobile/index.d.ts +0 -2
  622. package/lib/components/core/babylon-hotels-list/babylon-hotel.interface.d.ts +0 -18
  623. package/lib/components/core/babylon-hotels-list/babylon-hotels-list.interface.d.ts +0 -6
  624. package/lib/components/core/babylon-hotels-list/index.d.ts +0 -3
  625. package/lib/components/core/babylon-hotels-slider/babylon-hotels-slider.interface.d.ts +0 -6
  626. package/lib/components/core/babylon-hotels-slider/index.d.ts +0 -2
  627. package/lib/components/core/babylon-info-big/babylon-info-big.interface.d.ts +0 -10
  628. package/lib/components/core/babylon-info-big/index.d.ts +0 -2
  629. package/lib/components/core/babylon-info-grid/babylon-info-grid.interface.d.ts +0 -9
  630. package/lib/components/core/babylon-info-grid/index.d.ts +0 -2
  631. package/lib/components/core/babylon-info-img/babylon-info-img.interface.d.ts +0 -27
  632. package/lib/components/core/babylon-info-img/index.d.ts +0 -2
  633. package/lib/components/core/babylon-info-img-slider/babylon-info-img-slider.component.d.ts +0 -33
  634. package/lib/components/core/babylon-info-img-slider/babylon-info-img-slider.interface.d.ts +0 -11
  635. package/lib/components/core/babylon-info-img-slider/index.d.ts +0 -2
  636. package/lib/components/core/babylon-info-intro/babylon-info-intro.interface.d.ts +0 -19
  637. package/lib/components/core/babylon-info-intro/index.d.ts +0 -2
  638. package/lib/components/core/babylon-info-show-img/index.d.ts +0 -1
  639. package/lib/components/core/babylon-info-zig-zag/babylon-info-zig-zag.interface.d.ts +0 -12
  640. package/lib/components/core/babylon-info-zig-zag/index.d.ts +0 -2
  641. package/lib/components/core/babylon-info-zig-zag-counter/babylon-info-zig-zag-counter.component.d.ts +0 -47
  642. package/lib/components/core/babylon-info-zig-zag-counter/babylon-info-zig-zag-counter.interface.d.ts +0 -14
  643. package/lib/components/core/babylon-info-zig-zag-counter/index.d.ts +0 -2
  644. package/lib/components/core/babylon-info-zigzag-v2/babylon-info-zigzag-v2.interface.d.ts +0 -5
  645. package/lib/components/core/babylon-info-zigzag-v2/index.d.ts +0 -2
  646. package/lib/components/core/babylon-info2col-img/babylon-info2col-img.component.d.ts +0 -21
  647. package/lib/components/core/babylon-info2col-img/babylon-info2col-img.interface.d.ts +0 -12
  648. package/lib/components/core/babylon-info2col-img/index.d.ts +0 -2
  649. package/lib/components/core/babylon-info2img/babylon-info2img.interface.d.ts +0 -11
  650. package/lib/components/core/babylon-info2img/index.d.ts +0 -2
  651. package/lib/components/core/babylon-info2img-big/babylon-info2img-big.interface.d.ts +0 -14
  652. package/lib/components/core/babylon-info2img-big/index.d.ts +0 -2
  653. package/lib/components/core/babylon-info3img/index.d.ts +0 -1
  654. package/lib/components/core/babylon-info4img/babylon-info4img.interface.d.ts +0 -12
  655. package/lib/components/core/babylon-info4img/index.d.ts +0 -2
  656. package/lib/components/core/babylon-items-grid/babylon-items-grid.interface.d.ts +0 -8
  657. package/lib/components/core/babylon-items-grid/index.d.ts +0 -2
  658. package/lib/components/core/babylon-language-modal/babylon-language-modal.interface.d.ts +0 -7
  659. package/lib/components/core/babylon-language-modal/index.d.ts +0 -2
  660. package/lib/components/core/babylon-legal/babylon-legal.interface.d.ts +0 -7
  661. package/lib/components/core/babylon-legal/index.d.ts +0 -2
  662. package/lib/components/core/babylon-list-c3-img-txt/index.d.ts +0 -1
  663. package/lib/components/core/babylon-list-grid/babylon-list-grid.interface.d.ts +0 -8
  664. package/lib/components/core/babylon-list-grid/index.d.ts +0 -2
  665. package/lib/components/core/babylon-modal-menu/babylon-modal-menu.component.d.ts +0 -45
  666. package/lib/components/core/babylon-modal-multiple-motors/babylon-modal-multiple-motors.component.d.ts +0 -16
  667. package/lib/components/core/babylon-modal-multiple-motors/babylon-modal-multiple-motors.interface.d.ts +0 -8
  668. package/lib/components/core/babylon-modal-multiple-motors/index.d.ts +0 -2
  669. package/lib/components/core/babylon-modal-popup/babylon-modal-popup.component.d.ts +0 -25
  670. package/lib/components/core/babylon-modal-popup/babylon-modal-popup.interface.d.ts +0 -9
  671. package/lib/components/core/babylon-modal-popup/index.d.ts +0 -2
  672. package/lib/components/core/babylon-newsletter/babylon-newsletter.interface.d.ts +0 -9
  673. package/lib/components/core/babylon-newsletter/index.d.ts +0 -2
  674. package/lib/components/core/babylon-offer-detail/babylon-offer-detail.interface.d.ts +0 -17
  675. package/lib/components/core/babylon-offer-detail/index.d.ts +0 -2
  676. package/lib/components/core/babylon-offer-popup/babylon-offer-popup.interface.d.ts +0 -7
  677. package/lib/components/core/babylon-offer-popup/index.d.ts +0 -2
  678. package/lib/components/core/babylon-offer-popupV2/babylon-offer-popup-v2.component.d.ts +0 -21
  679. package/lib/components/core/babylon-offer-popupV2/babylon-offer-popup-v2.interface.d.ts +0 -9
  680. package/lib/components/core/babylon-offer-popupV2/index.d.ts +0 -2
  681. package/lib/components/core/babylon-offer-slider/babylon-offer-slider.interface.d.ts +0 -7
  682. package/lib/components/core/babylon-offer-slider/babylon-offer.interface.d.ts +0 -18
  683. package/lib/components/core/babylon-offer-slider/index.d.ts +0 -3
  684. package/lib/components/core/babylon-offers-list/babylon-offers-list.interface.d.ts +0 -14
  685. package/lib/components/core/babylon-offers-list/index.d.ts +0 -2
  686. package/lib/components/core/babylon-offers-slider/index.d.ts +0 -1
  687. package/lib/components/core/babylon-preload/index.d.ts +0 -1
  688. package/lib/components/core/babylon-press-list/babylon-press-list.component.d.ts +0 -17
  689. package/lib/components/core/babylon-press-list/babylon-press-list.interface.d.ts +0 -8
  690. package/lib/components/core/babylon-press-list/index.d.ts +0 -2
  691. package/lib/components/core/babylon-room-details/babylon-room-detail.interface.d.ts +0 -20
  692. package/lib/components/core/babylon-room-details/index.d.ts +0 -2
  693. package/lib/components/core/babylon-rooms-cols/babylon-rooms-cols.interface.d.ts +0 -10
  694. package/lib/components/core/babylon-rooms-cols/index.d.ts +0 -2
  695. package/lib/components/core/babylon-rooms-grid/babylon-rooms-grid.interface.d.ts +0 -8
  696. package/lib/components/core/babylon-rooms-grid/index.d.ts +0 -2
  697. package/lib/components/core/babylon-rooms-list/babylon-rooms-list.interface.d.ts +0 -6
  698. package/lib/components/core/babylon-rooms-list/index.d.ts +0 -2
  699. package/lib/components/core/babylon-rooms-slider/babylon-room.interface.d.ts +0 -15
  700. package/lib/components/core/babylon-rooms-slider/babylon-rooms-slider.interface.d.ts +0 -6
  701. package/lib/components/core/babylon-rooms-slider/babylon-rooms-text-info.interface.d.ts +0 -8
  702. package/lib/components/core/babylon-rooms-slider/index.d.ts +0 -4
  703. package/lib/components/core/babylon-services-slider/babylon-service-slider.interface.d.ts +0 -6
  704. package/lib/components/core/babylon-services-slider/index.d.ts +0 -2
  705. package/lib/components/core/babylon-sli-c1-img-text/babylon-sli-c1-img-text.component.d.ts +0 -5
  706. package/lib/components/core/babylon-sli-c1-img-text/index.d.ts +0 -1
  707. package/lib/components/core/babylon-slider-img-static/index.d.ts +0 -1
  708. package/lib/components/core/babylon-slider-img-static-v2/index.d.ts +0 -1
  709. package/lib/components/core/babylon-slider-img-video/index.d.ts +0 -1
  710. package/lib/components/core/babylon-slider2col/index.d.ts +0 -1
  711. package/lib/components/core/babylon-slider2items/babylon-slider2items.interface.d.ts +0 -6
  712. package/lib/components/core/babylon-slider2items/index.d.ts +0 -2
  713. package/lib/components/core/babylon-slider3col/babylon-slider3col.component.d.ts +0 -20
  714. package/lib/components/core/babylon-slider3col/index.d.ts +0 -1
  715. package/lib/components/core/babylon-slider3col-clear/babylon-slider3col-clear.component.d.ts +0 -5
  716. package/lib/components/core/babylon-slider3col-clear/index.d.ts +0 -1
  717. package/lib/components/core/babylon-slider3items/babylon-slider3items.interface.d.ts +0 -6
  718. package/lib/components/core/babylon-slider3items/index.d.ts +0 -2
  719. package/lib/components/core/babylon-slider4col/index.d.ts +0 -1
  720. package/lib/components/core/babylon-social-bar/index.d.ts +0 -1
  721. package/lib/components/core/babylon-static-footer/babylon-static-footer.interface.d.ts +0 -29
  722. package/lib/components/core/babylon-static-footer/index.d.ts +0 -2
  723. package/lib/components/core/babylon-static-footer-v2/babylon-static-footer-v2.interface.d.ts +0 -18
  724. package/lib/components/core/babylon-static-footer-v2/index.d.ts +0 -2
  725. package/lib/components/core/babylon-submenu-hotel/babylon-submenu-hotel.interface.d.ts +0 -5
  726. package/lib/components/core/babylon-submenu-hotel/index.d.ts +0 -2
  727. package/lib/components/core/babylon-thanks/babylon-thanks.interface.d.ts +0 -7
  728. package/lib/components/core/babylon-thanks/index.d.ts +0 -2
  729. package/lib/components/core/babylon-top-simple-banner/index.d.ts +0 -1
  730. package/lib/components/core/babylon-top-slider/babylon-top-slider-item.interface.d.ts +0 -9
  731. package/lib/components/core/babylon-top-slider/babylon-top-slider.interface.d.ts +0 -12
  732. package/lib/components/core/babylon-top-slider/index.d.ts +0 -3
  733. package/lib/components/core/babylon-top-slider-thumbs/babylon-top-slider-thumbs.interface.d.ts +0 -8
  734. package/lib/components/core/babylon-top-slider-thumbs/index.d.ts +0 -2
  735. package/lib/components/core/babylon-top-slider-v2/babylon-top-slider-v2-item.interface.d.ts +0 -7
  736. package/lib/components/core/babylon-top-slider-v2/babylon-top-slider-v2.interface.d.ts +0 -8
  737. package/lib/components/core/babylon-top-slider-v2/index.d.ts +0 -3
  738. package/lib/components/core/babylon-top-slider-video/babylon-top-slider-video.interface.d.ts +0 -9
  739. package/lib/components/core/babylon-top-slider-video/babylon-video-source.interface.d.ts +0 -5
  740. package/lib/components/core/babylon-top-slider-video/index.d.ts +0 -3
  741. package/lib/components/core/babylon-top-slider-video-v2/index.d.ts +0 -1
  742. package/lib/components/core/babylon-webmap/babylon-webmap.interface.d.ts +0 -9
  743. package/lib/components/core/babylon-webmap/index.d.ts +0 -2
  744. package/lib/components/core/index.d.ts +0 -99
  745. package/lib/components/shared/babylon-dynamic-heading/babylon-dynamic-heading.component.d.ts +0 -31
  746. package/lib/components/shared/babylon-dynamic-heading/babylon-dynamic-heading.interface.d.ts +0 -5
  747. package/lib/components/shared/babylon-dynamic-heading/index.d.ts +0 -2
  748. package/lib/components/shared/babylon-search/babylon-search.component.d.ts +0 -30
  749. package/lib/components/shared/babylon-search/index.d.ts +0 -1
  750. package/lib/components/shared/index.d.ts +0 -1
  751. package/lib/directives/babylon-background-strip/babylon-background-strip.directive.d.ts +0 -17
  752. package/lib/directives/babylon-customs/babylon-custom-mouse-pointer.directive.d.ts +0 -12
  753. package/lib/directives/babylon-galleries/babylon-light-gallery.directive.d.ts +0 -18
  754. package/lib/directives/babylon-hobble-effect/babylon-hobble-effect.directive.d.ts +0 -15
  755. package/lib/directives/babylon-pagination/babylon-pagination.directive.d.ts +0 -39
  756. package/lib/directives/babylon-sliders/babylon-custom-slider.directive.d.ts +0 -13
  757. package/lib/directives/babylon-sliders/babylon-sliders.directive.d.ts +0 -36
  758. package/lib/directives/babylon-sliders/babylon-swiper-slider.directive.d.ts +0 -14
  759. package/lib/directives/data-background/data-background.directive.d.ts +0 -11
  760. package/lib/directives/link-type/link-type.directive.d.ts +0 -40
  761. package/lib/directives/scrolls/scroll-up.directive.d.ts +0 -7
  762. package/lib/interfaces/babylon-advantages-item.interface.d.ts +0 -5
  763. package/lib/interfaces/babylon-button.interface.d.ts +0 -9
  764. package/lib/interfaces/babylon-consult-type.interface.d.ts +0 -10
  765. package/lib/interfaces/babylon-dropdown.interface.d.ts +0 -9
  766. package/lib/interfaces/babylon-equipments-item.interface.d.ts +0 -5
  767. package/lib/interfaces/babylon-global-icon.interface.d.ts +0 -4
  768. package/lib/interfaces/babylon-global.interface.d.ts +0 -22
  769. package/lib/interfaces/babylon-image.interface.d.ts +0 -16
  770. package/lib/interfaces/babylon-input.interface.d.ts +0 -12
  771. package/lib/interfaces/babylon-item.interface.d.ts +0 -12
  772. package/lib/interfaces/babylon-menu-button.interface.d.ts +0 -10
  773. package/lib/interfaces/babylon-menu-info.interface.d.ts +0 -27
  774. package/lib/interfaces/babylon-multimedia.interface.d.ts +0 -8
  775. package/lib/interfaces/babylon-page-config.interface.d.ts +0 -43
  776. package/lib/interfaces/babylon-site-config.interface.d.ts +0 -57
  777. package/lib/interfaces/babylon-tags.interface.d.ts +0 -21
  778. package/lib/interfaces/babylon-text-info.interface.d.ts +0 -19
  779. package/lib/interfaces/babylon-texts-colors.interface.d.ts +0 -20
  780. package/lib/interfaces/babylon-texts.interface.d.ts +0 -5
  781. package/lib/interfaces/babylon-video.interface.d.ts +0 -5
  782. package/lib/interfaces/index.d.ts +0 -14
  783. package/lib/pipes/babylon-clean-phone.pipe.d.ts +0 -7
  784. package/lib/pipes/babylon-currency.pipe.d.ts +0 -7
  785. package/lib/services/color-panel.service.d.ts +0 -41
  786. package/lib/services/mapper/index.d.ts +0 -2
  787. package/lib/services/mapper/mapper.service.d.ts +0 -144
  788. package/lib/services/mapper/mapper.service.token.d.ts +0 -2
  789. package/lib/services/modals-service/index.d.ts +0 -1
  790. package/lib/services/modals-service/modals.service.d.ts +0 -15
  791. package/lib/styles/styles/babylon/_spacing.css +0 -1
  792. package/lib/styles/styles/babylon/_spacing.scss +0 -72
  793. package/lib/styles/styles/babylon/common.css +0 -1
  794. package/lib/styles/styles/babylon/common.scss +0 -1830
  795. package/lib/styles/styles/babylon/globals.css +0 -1
  796. package/lib/styles/styles/babylon/globals.scss +0 -1129
  797. package/lib/styles/styles/babylon/mixins.css +0 -1
  798. package/lib/styles/styles/babylon/mixins.scss +0 -1031
  799. package/lib/styles/styles/babylon/reset.css +0 -1
  800. package/lib/styles/styles/babylon/reset.scss +0 -136
  801. package/lib/styles/styles/babylon/slide.css +0 -1
  802. package/lib/styles/styles/babylon/slider.css +0 -1
  803. package/lib/styles/styles/babylon/slider.scss +0 -876
  804. package/lib/styles/styles/babylon/structure.css +0 -0
  805. package/lib/styles/styles/babylon/structure.scss +0 -1
  806. package/lib/styles/styles/babylon/variables-v2.css +0 -0
  807. package/lib/styles/styles/babylon/variables.css +0 -1
  808. package/lib/styles/styles/babylon/variables.scss +0 -330
  809. package/lib/utils/complex-links.token.d.ts +0 -2
  810. package/lib/utils/index.d.ts +0 -1
  811. package/lib/utils/utils.d.ts +0 -14
  812. /package/lib/styles/styles/babylon/{airDatePicker.min.css → scss-daba/airDatePicker.min.css} +0 -0
  813. /package/lib/styles/styles/babylon/{aos.min.css → scss-daba/aos.min.css} +0 -0
  814. /package/lib/styles/styles/babylon/{buttons.css → scss-daba/buttons.css} +0 -0
  815. /package/lib/styles/styles/babylon/{buttons.scss → scss-daba/buttons.scss} +0 -0
  816. /package/lib/styles/styles/babylon/{fancybox.css → scss-daba/fancybox.css} +0 -0
  817. /package/lib/styles/styles/babylon/{fancybox.min.css → scss-daba/fancybox.min.css} +0 -0
  818. /package/lib/styles/styles/babylon/{funciones.css → scss-daba/funciones.css} +0 -0
  819. /package/lib/styles/styles/babylon/{funciones.scss → scss-daba/funciones.scss} +0 -0
  820. /package/lib/styles/styles/babylon/{inputs.css → scss-daba/inputs.css} +0 -0
  821. /package/lib/styles/styles/babylon/{inputs.scss → scss-daba/inputs.scss} +0 -0
  822. /package/lib/styles/styles/babylon/{jquery.fancybox.min.css → scss-daba/jquery.fancybox.min.css} +0 -0
  823. /package/lib/styles/styles/babylon/{style.css → scss-daba/style.css} +0 -0
  824. /package/lib/styles/styles/babylon/{style.scss → scss-daba/style.scss} +0 -0
  825. /package/lib/styles/styles/babylon/{swiper-bundle.min.css → scss-daba/swiper-bundle.min.css} +0 -0
@@ -9,13 +9,7 @@ export class SlickInitDirective {
9
9
  async ngAfterViewInit() {
10
10
  if (!isPlatformBrowser(this.platformId))
11
11
  return;
12
- // 1) Espera a que jquery + slick estén listos
13
- const slickReady = await this.waitForSlick();
14
- // 2) Si NO están, no sigas (evita $ undefined)
15
- if (!slickReady || typeof $ === 'undefined' || !$.fn || !$.fn.slick) {
16
- console.warn('[SlickInitDirective] jQuery/Slick no están disponibles, no inicializo el slider');
17
- return;
18
- }
12
+ await this.waitForSlick(); // espera a $ y $.fn.slick
19
13
  const parent = this.host.nativeElement;
20
14
  const get = (name) => parent.getAttribute(name);
21
15
  const getBool = (name) => {
@@ -79,9 +73,8 @@ export class SlickInitDirective {
79
73
  nextArrow +=
80
74
  "<button type='button' class='slick-next icon-large'><svg aria-hidden='true' focusable='false'><use href='/assets/babylon/svg/icon-arrow-large.svg#icon-arrow-large'></use></svg></button>";
81
75
  }
76
+ // --- normalizar altura en vertical (sin 'this' implícito) ---
82
77
  const updateVerticalHeight = () => {
83
- if (!isPlatformBrowser(this.platformId))
84
- return;
85
78
  const $el = $(sliderSelector);
86
79
  if (window.innerWidth >= 541) {
87
80
  let maxH = 0;
@@ -106,6 +99,7 @@ export class SlickInitDirective {
106
99
  passive: true,
107
100
  });
108
101
  }
102
+ // --- INIT SLICK ---
109
103
  $(sliderSelector).slick({
110
104
  dots: showDots,
111
105
  arrows: showBtns,
@@ -171,8 +165,6 @@ export class SlickInitDirective {
171
165
  ngOnDestroy() {
172
166
  if (!isPlatformBrowser(this.platformId))
173
167
  return;
174
- if (typeof $ === 'undefined' || !$.fn?.slick)
175
- return;
176
168
  if (this.sliderEl && $(this.sliderEl).hasClass('slick-initialized')) {
177
169
  try {
178
170
  $(this.sliderEl).slick('unslick');
@@ -185,19 +177,18 @@ export class SlickInitDirective {
185
177
  window.removeEventListener('resize', this.resizeHandler);
186
178
  }
187
179
  }
188
- // Devuelve true si jQuery+Slick llegan a estar disponibles, false si no
189
- waitForSlick(timeoutMs = 8000, stepMs = 100) {
180
+ // Espera a $ y slick: resuelve (no rechaza) y loguea si no llegan
181
+ waitForSlick(timeoutMs = 4000, stepMs = 100) {
190
182
  if (!isPlatformBrowser(this.platformId))
191
- return Promise.resolve(false);
183
+ return Promise.resolve();
192
184
  const start = performance.now();
193
185
  return new Promise((resolve) => {
194
186
  const check = () => {
195
- if (typeof $ !== 'undefined' && $.fn && $.fn.slick) {
196
- return resolve(true);
197
- }
187
+ if (typeof $ !== 'undefined' && $.fn && $.fn.slick)
188
+ return resolve();
198
189
  if (performance.now() - start > timeoutMs) {
199
- console.warn('[SlickInitDirective] Slick no disponible tras timeout. ¿Scripts cargados?');
200
- return resolve(false);
190
+ console.warn('[SlickInitDirective] Slick no disponible. ¿Cargaste jQuery y slick?');
191
+ return resolve(); // evita error si no llega
201
192
  }
202
193
  setTimeout(check, stepMs);
203
194
  };
@@ -217,4 +208,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
217
208
  type: Inject,
218
209
  args: [PLATFORM_ID]
219
210
  }] }] });
220
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2staW5pdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvZGlyZWN0aXZlcy9zbGlkZXJzL3NsaWNrLWluaXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFFSCxTQUFTLEVBRVQsTUFBTSxFQUVOLFdBQVcsR0FDZCxNQUFNLGVBQWUsQ0FBQzs7QUFTdkIsTUFBTSxPQUFPLGtCQUFrQjtJQUkzQixZQUNZLElBQTZCLEVBQ1IsVUFBa0I7UUFEdkMsU0FBSSxHQUFKLElBQUksQ0FBeUI7UUFDUixlQUFVLEdBQVYsVUFBVSxDQUFRO0lBQ2hELENBQUM7SUFFSixLQUFLLENBQUMsZUFBZTtRQUNqQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUFFLE9BQU87UUFFaEQsOENBQThDO1FBQzlDLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRTdDLCtDQUErQztRQUMvQyxJQUFJLENBQUMsVUFBVSxJQUFJLE9BQU8sQ0FBQyxLQUFLLFdBQVcsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRTtZQUNqRSxPQUFPLENBQUMsSUFBSSxDQUNSLGlGQUFpRixDQUNwRixDQUFDO1lBQ0YsT0FBTztTQUNWO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDdkMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFB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LENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZFLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUVoQyxPQUFPLElBQUksT0FBTyxDQUFVLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDcEMsTUFBTSxLQUFLLEdBQUcsR0FBRyxFQUFFO2dCQUNmLElBQUksT0FBTyxDQUFDLEtBQUssV0FBVyxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUU7b0JBQ2hELE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUN4QjtnQkFDRCxJQUFJLFdBQVcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxLQUFLLEdBQUcsU0FBUyxFQUFFO29CQUN2QyxPQUFPLENBQUMsSUFBSSxDQUNSLDJFQUEyRSxDQUM5RSxDQUFDO29CQUNGLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUN6QjtnQkFDRCxVQUFVLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzlCLENBQUMsQ0FBQztZQUNGLEtBQUssRUFBRSxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQXRPUSxrQkFBa0IsNENBTWYsV0FBVzttR0FOZCxrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBSjlCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtDQUFrQztvQkFDNUMsVUFBVSxFQUFFLElBQUk7aUJBQ25COzswQkFPUSxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5qZWN0LFxuICAgIE9uRGVzdHJveSxcbiAgICBQTEFURk9STV9JRCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8vIHNpZ3VlIGlndWFsLCBzw7NsbyBwYXJhIFRTXG5kZWNsYXJlIGNvbnN0ICQ6IGFueTtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICcuanMtYWN0aXZlLXNsaWRlcixbYXBwU2xpY2tJbml0XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgU2xpY2tJbml0RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIHJlc2l6ZUhhbmRsZXI/OiAoKSA9PiB2b2lkO1xuICAgIHByaXZhdGUgc2xpZGVyRWw/OiBIVE1MRWxlbWVudDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGhvc3Q6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IG9iamVjdFxuICAgICkge31cblxuICAgIGFzeW5jIG5nQWZ0ZXJWaWV3SW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSByZXR1cm47XG5cbiAgICAgICAgLy8gMSkgRXNwZXJhIGEgcXVlIGpxdWVyeSArIHNsaWNrIGVzdMOpbiBsaXN0b3NcbiAgICAgICAgY29uc3Qgc2xpY2tSZWFkeSA9IGF3YWl0IHRoaXMud2FpdEZvclNsaWNrKCk7XG5cbiAgICAgICAgLy8gMikgU2kgTk8gZXN0w6FuLCBubyBzaWdhcyAoZXZpdGEgJCB1bmRlZmluZWQpXG4gICAgICAgIGlmICghc2xpY2tSZWFkeSB8fCB0eXBlb2YgJCA9PT0gJ3VuZGVmaW5lZCcgfHwgISQuZm4gfHwgISQuZm4uc2xpY2spIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICAgICAnW1NsaWNrSW5pdERpcmVjdGl2ZV0galF1ZXJ5L1NsaWNrIG5vIGVzdMOhbiBkaXNwb25pYmxlcywgbm8gaW5pY2lhbGl6byBlbCBzbGlkZXInXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5ob3N0Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGdldCA9IChuYW1lOiBzdHJpbmcpID0+IHBhcmVudC5nZXRBdHRyaWJ1dGUobmFtZSk7XG4gICAgICAgIGNvbnN0IGdldEJvb2wgPSAobmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2ID0gZ2V0KG5hbWUpO1xuICAgICAgICAgICAgcmV0dXJuIHYgPT09ICd0cnVlJyB8fCB2ID09PSAnMScgfHwgdiA9PT0gJycgfHwgKHYgYXMgYW55KSA9PT0gdHJ1ZTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgZ2V0TnVtID0gKG5hbWU6IHN0cmluZywgZGVmID0gMCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdiA9IE51bWJlcihnZXQobmFtZSkpO1xuICAgICAgICAgICAgcmV0dXJuIE51bWJlci5pc0Zpbml0ZSh2KSA/IHYgOiBkZWY7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3Qgc2xpZGVyTmFtZSA9IGdldCgnZGF0YS1zbGlkZXJfbmFtZScpIHx8ICcnO1xuICAgICAgICBjb25zdCBzbGlkZXJTcGVlZCA9IGdldE51bSgnZGF0YS1zbGlkZXJfc3BlZWQnLCA3NTApO1xuICAgICAgICBjb25zdCBzaG93QnRucyA9IGdldEJvb2woJ2RhdGEtc2xpZGVyX3Nob3didG5zJyk7XG4gICAgICAgIGNvbnN0IHNob3dEb3RzID0gZ2V0Qm9vbCgnZGF0YS1zbGlkZXJfc2hvd2RvdHMnKTtcbiAgICAgICAgY29uc3QgZmFkZSA9IGdldEJvb2woJ2RhdGEtc2xpZGVyX2ZhZGUnKTtcbiAgICAgICAgY29uc3QgY2VudGVyTW9kZSA9IGdldEJvb2woJ2RhdGEtc2xpZGVyX2NlbnRlcm1vZGUnKTtcbiAgICAgICAgY29uc3QgYXV0b3BsYXkgPSBnZXRCb29sKCdkYXRhLXNsaWRlcl9hdXRvcGxheScpO1xuICAgICAgICBjb25zdCBzbGlkZXNQYyA9IGdldE51bSgnZGF0YS1zbGlkZXNfcGMnLCAxKTtcbiAgICAgICAgY29uc3Qgc2xpZGVzTGFwdG9wID0gZ2V0TnVtKCdkYXRhLXNsaWRlc19sYXB0b3AnKSB8fCBzbGlkZXNQYztcbiAgICAgICAgY29uc3Qgc2xpZGVzVGFibGV0ID0gZ2V0TnVtKCdkYXRhLXNsaWRlc190YWJsZXQnKSB8fCBzbGlkZXNMYXB0b3A7XG4gICAgICAgIGNvbnN0IHNsaWRlc01vYmlsZSA9IGdldE51bSgnZGF0YS1zbGlkZXNfbW9iaWxlJykgfHwgc2xpZGVzVGFibGV0O1xuICAgICAgICBjb25zdCBzbGlkZXNNb2JpbGVTbWFsbCA9XG4gICAgICAgICAgICBnZXROdW0oJ2RhdGEtc2xpZGVzX21vYmlsZV9zbWFsbCcpIHx8IHNsaWRlc01vYmlsZTtcbiAgICAgICAgY29uc3Qgc2xpZGVzTW9iaWxlWFNtYWxsID1cbiAgICAgICAgICAgIGdldE51bSgnZGF0YS1zbGlkZXNfbW9iaWxlX3hzbWFsbCcpIHx8IHNsaWRlc01vYmlsZVNtYWxsO1xuICAgICAgICBjb25zdCBpbmZpbml0ZSA9IGdldEJvb2woJ2RhdGEtc2xpZGVzX2luZmluaXRlJyk7XG5cbiAgICAgICAgbGV0IHJvd3NQYyA9IGdldE51bSgnZGF0YS1zbGlkZXNyb3dzX3BjJywgMSk7XG4gICAgICAgIGxldCByb3dzTGFwdG9wID0gZ2V0TnVtKCdkYXRhLXNsaWRlc3Jvd3NfbGFwdG9wJywgMSk7XG4gICAgICAgIGxldCByb3dzVGFibGV0ID0gZ2V0TnVtKCdkYXRhLXNsaWRlc3Jvd3NfdGFibGV0JywgMSk7XG4gICAgICAgIGxldCByb3dzTW9iaWxlID0gZ2V0TnVtKCdkYXRhLXNsaWRlc3Jvd3NfbW9iaWxlJywgMSk7XG4gICAgICAgIGxldCByb3dzTW9iaWxlU21hbGwgPSBnZXROdW0oJ2RhdGEtc2xpZGVzcm93c19tb2JpbGVfc21hbGwnLCAxKTtcbiAgICAgICAgbGV0IHJvd3NNb2JpbGVYU21hbGwgPSBnZXROdW0oJ2RhdGEtc2xpZGVzcm93c19tb2JpbGVfeHNtYWxsJywgMSk7XG5cbiAgICAgICAgY29uc3QgYXNOYXZGb3IgPSBnZXQoJ2RhdGEtc2xpZGVyX2FzTmF2Rm9yJykgfHwgdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCB2ZXJ0aWNhbCA9IGdldEJvb2woJ2RhdGEtc2xpZGVyX3ZlcnRpY2FsJyk7XG4gICAgICAgIGNvbnN0IGFkYXB0aXZlSGVpZ2h0ID0gZ2V0Qm9vbCgnZGF0YS1zbGlkZXJfYWRhcHRpdmVfaGVpZ2h0Jyk7XG4gICAgICAgIGNvbnN0IHBhdXNlID0gZ2V0Qm9vbCgnZGF0YS1zbGlkZXJfcGF1c2UnKTtcbiAgICAgICAgY29uc3QgZHJhZ2dhYmxlID0gZ2V0Qm9vbCgnZGF0YS1zbGlkZXJfZHJhZ2dhYmxlJyk7XG4gICAgICAgIGNvbnN0IHJ0bCA9IGdldEJvb2woJ2RhdGEtc2xpZGVyX3J0bCcpO1xuICAgICAgICBjb25zdCB2YXJpYWJsZVdpZHRoID0gZ2V0Qm9vbCgnZGF0YS1zbGlkZXJfdmFyaWFibGVfd2lkdGgnKTtcbiAgICAgICAgY29uc3QgYnRuc01vZGUgPSBnZXQoJ2RhdGEtc2xpZGVyX2J0bnMnKSB8fCAnJztcblxuICAgICAgICBpZiAod2luZG93LmlubmVyV2lkdGggPCA1NDAgJiYgcGFyZW50LmNsYXNzTGlzdC5jb250YWlucygncm93cy0yJykpIHtcbiAgICAgICAgICAgIHJvd3NQYyA9IDE7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzbGlkZXJBcnJvd3MgPSBwYXJlbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICAgICAgICcuanMtc2xpZGVyLWFycm93cydcbiAgICAgICAgKSBhcyBIVE1MRWxlbWVudCB8IG51bGw7XG4gICAgICAgIGNvbnN0IHNsaWRlckRvdHMgPSBwYXJlbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICAgICAgICcuanMtc2xpZGVyLWRvdHMnXG4gICAgICAgICkgYXMgSFRNTEVsZW1lbnQgfCBudWxsO1xuICAgICAgICBjb25zdCBzbGlkZXJTZWxlY3RvciA9IHBhcmVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAgICAgJy4nICsgc2xpZGVyTmFtZVxuICAgICAgICApIGFzIEhUTUxFbGVtZW50IHwgbnVsbDtcbiAgICAgICAgaWYgKCFzbGlkZXJTZWxlY3RvcikgcmV0dXJuO1xuICAgICAgICB0aGlzLnNsaWRlckVsID0gc2xpZGVyU2VsZWN0b3I7XG5cbiAgICAgICAgaWYgKCQoc2xpZGVyU2VsZWN0b3IpLmhhc0NsYXNzKCdzbGljay1pbml0aWFsaXplZCcpKSByZXR1cm47XG5cbiAgICAgICAgbGV0IHByZXZBcnJvdyA9ICcnO1xuICAgICAgICBsZXQgbmV4dEFycm93ID0gJyc7XG4gICAgICAgIGlmIChidG5zTW9kZS5pbmNsdWRlcygnaWNvbi1zbWFsbCcpKSB7XG4gICAgICAgICAgICBwcmV2QXJyb3cgKz1cbiAgICAgICAgICAgICAgICBcIjxidXR0b24gdHlwZT0nYnV0dG9uJyBjbGFzcz0nc2xpY2stcHJldiBpY29uLXNtYWxsJz48c3ZnIGFyaWEtaGlkZGVuPSd0cnVlJyBmb2N1c2FibGU9J2ZhbHNlJyBjbGFzcz0nbGluZSc+PHVzZSBocmVmPScvYXNzZXRzL2JhYnlsb24vc3ZnL2Fycm93LWxpbmUuc3ZnI2Fycm93LWxpbmUnPjwvdXNlPjwvc3ZnPjxzdmcgYXJpYS1oaWRkZW49J3RydWUnIGZvY3VzYWJsZT0nZmFsc2UnPjx1c2UgaHJlZj0nL2Fzc2V0cy9iYWJ5bG9uL3N2Zy9pY29uLWFycm93LnN2ZyNpY29uLWFycm93Jz48L3VzZT48L3N2Zz48L2J1dHRvbj5cIjtcbiAgICAgICAgICAgIG5leHRBcnJvdyArPVxuICAgICAgICAgICAgICAgIFwiPGJ1dHRvbiB0eXBlPSdidXR0b24nIGNsYXNzPSdzbGljay1uZXh0IGljb24tc21hbGwnPjxzdmcgYXJpYS1oaWRkZW49J3RydWUnIGZvY3VzYWJsZT0nZmFsc2UnIGNsYXNzPSdsaW5lJz48dXNlIGhyZWY9Jy9hc3NldHMvYmFieWxvbi9zdmcvYXJyb3ctbGluZS5zdmcjYXJyb3ctbGluZSc+PC91c2U+PC9zdmc+PHN2ZyBhcmlhLWhpZGRlbj0ndHJ1ZScgZm9jdXNhYmxlPSdmYWxzZSc+PHVzZSBocmVmPScvYXNzZXRzL2JhYnlsb24vc3ZnL2ljb24tYXJyb3cuc3ZnI2ljb24tYXJyb3cnPjwvdXNlPjwvc3ZnPjwvYnV0dG9uPlwiO1xuICAgICAgICB9XG4gICAgICAgIGlmIChidG5zTW9kZS5pbmNsdWRlcygnaWNvbi1sYXJnZScpKSB7XG4gICAgICAgICAgICBwcmV2QXJyb3cgKz1cbiAgICAgICAgICAgICAgICBcIjxidXR0b24gdHlwZT0nYnV0dG9uJyBjbGFzcz0nc2xpY2stcHJldiBpY29uLWxhcmdlJz48c3ZnIGFyaWEtaGlkZGVuPSd0cnVlJyBmb2N1c2FibGU9J2ZhbHNlJz48dXNlIGhyZWY9Jy9hc3NldHMvYmFieWxvbi9zdmcvaWNvbi1hcnJvdy1sYXJnZS5zdmcjaWNvbi1hcnJvdy1sYXJnZSc+PC91c2U+PC9zdmc+PC9idXR0b24+XCI7XG4gICAgICAgICAgICBuZXh0QXJyb3cgKz1cbiAgICAgICAgICAgICAgICBcIjxidXR0b24gdHlwZT0nYnV0dG9uJyBjbGFzcz0nc2xpY2stbmV4dCBpY29uLWxhcmdlJz48c3ZnIGFyaWEtaGlkZGVuPSd0cnVlJyBmb2N1c2FibGU9J2ZhbHNlJz48dXNlIGhyZWY9Jy9hc3NldHMvYmFieWxvbi9zdmcvaWNvbi1hcnJvdy1sYXJnZS5zdmcjaWNvbi1hcnJvdy1sYXJnZSc+PC91c2U+PC9zdmc+PC9idXR0b24+XCI7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB1cGRhdGVWZXJ0aWNhbEhlaWdodCA9ICgpID0+IHtcbiAgICAgICAgICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSByZXR1cm47XG4gICAgICAgICAgICBjb25zdCAkZWwgPSAkKHNsaWRlclNlbGVjdG9yKTtcblxuICAgICAgICAgICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoID49IDU0MSkge1xuICAgICAgICAgICAgICAgIGxldCBtYXhIID0gMDtcbiAgICAgICAgICAgICAgICAkZWwuZmluZCgnLnNsaWNrLXNsaWRlOm5vdCguc2xpY2stY2xvbmVkKScpLmVhY2goXG4gICAgICAgICAgICAgICAgICAgIChfOiBudW1iZXIsIGVsOiBIVE1MRWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaCA9ICgkKGVsKSBhcyBhbnkpLm91dGVySGVpZ2h0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaCA+IG1heEgpIG1heEggPSBoO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAkZWwuZmluZCgnLnNsaWNrLXNsaWRlJykuZWFjaCgoXzogbnVtYmVyLCBlbDogSFRNTEVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgKCQoZWwpIGFzIGFueSkuY3NzKCdoZWlnaHQnLCBgJHttYXhIfXB4YCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICQoc2xpZGVyU2VsZWN0b3IpLmZpbmQoJy5zbGljay1zbGlkZScpLmNzcygnaGVpZ2h0JywgJycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIGlmICh2ZXJ0aWNhbCkge1xuICAgICAgICAgICAgJChzbGlkZXJTZWxlY3Rvcikub24oJ3NldFBvc2l0aW9uJywgdXBkYXRlVmVydGljYWxIZWlnaHQpO1xuICAgICAgICAgICAgJChzbGlkZXJTZWxlY3Rvcikub24oJ2luaXQnLCAoKSA9PlxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQodXBkYXRlVmVydGljYWxIZWlnaHQsIDApXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5yZXNpemVIYW5kbGVyID0gKCkgPT4gdXBkYXRlVmVydGljYWxIZWlnaHQoKTtcbiAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLnJlc2l6ZUhhbmRsZXIsIHtcbiAgICAgICAgICAgICAgICBwYXNzaXZlOiB0cnVlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAkKHNsaWRlclNlbGVjdG9yKS5zbGljayh7XG4gICAgICAgICAgICBkb3RzOiBzaG93RG90cyxcbiAgICAgICAgICAgIGFycm93czogc2hvd0J0bnMsXG4gICAgICAgICAgICBhcHBlbmRBcnJvd3M6IHNsaWRlckFycm93cyB8fCBwYXJlbnQsXG4gICAgICAgICAgICBwcmV2QXJyb3csXG4gICAgICAgICAgICBuZXh0QXJyb3csXG4gICAgICAgICAgICBhcHBlbmREb3RzOiBzbGlkZXJEb3RzIHx8IHBhcmVudCxcbiAgICAgICAgICAgIGluZmluaXRlLFxuICAgICAgICAgICAgdXNlVHJhbnNmb3JtOiB0cnVlLFxuICAgICAgICAgICAgZmFkZSxcbiAgICAgICAgICAgIGNlbnRlck1vZGUsXG4gICAgICAgICAgICBjZW50ZXJQYWRkaW5nOiAnMCcsXG4gICAgICAgICAgICBjc3NFYXNlOiAnY3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNSwgMC44NiknLFxuICAgICAgICAgICAgc3BlZWQ6IHNsaWRlclNwZWVkLFxuICAgICAgICAgICAgc2xpZGVzVG9TaG93OiBzbGlkZXNQYyxcbiAgICAgICAgICAgIHNsaWRlc1RvU2Nyb2xsOiAxLFxuICAgICAgICAgICAgcm93czogcm93c1BjLFxuICAgICAgICAgICAgYXV0b3BsYXksXG4gICAgICAgICAgICBhdXRvcGxheVNwZWVkOiA1MDAwLFxuICAgICAgICAgICAgc3dpcGVUb1NsaWRlOiB0cnVlLFxuICAgICAgICAgICAgdmVydGljYWwsXG4gICAgICAgICAgICB2ZXJ0aWNhbFN3aXBpbmc6IHZlcnRpY2FsLFxuICAgICAgICAgICAgYWRhcHRpdmVIZWlnaHQsXG4gICAgICAgICAgICBhc05hdkZvcixcbiAgICAgICAgICAgIHBhdXNlT25Gb2N1czogcGF1c2UsXG4gICAgICAgICAgICBwYXVzZU9uSG92ZXI6IHBhdXNlLFxuICAgICAgICAgICAgZHJhZ2dhYmxlLFxuICAgICAgICAgICAgc3dpcGU6IGRyYWdnYWJsZSxcbiAgICAgICAgICAgIHJ0bCxcbiAgICAgICAgICAgIHZhcmlhYmxlV2lkdGgsXG4gICAgICAgICAgICByZXNwb25zaXZlOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBicmVha3BvaW50OiAxNjgwLFxuICAgICAgICAgICAgICAgICAgICBzZXR0aW5nczogeyBzbGlkZXNUb1Nob3c6IHNsaWRlc0xhcHRvcCwgcm93czogcm93c0xhcHRvcCB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBicmVha3BvaW50OiAxMzY2LFxuICAgICAgICAgICAgICAgICAgICBzZXR0aW5nczogeyBzbGlkZXNUb1Nob3c6IHNsaWRlc1RhYmxldCwgcm93czogcm93c1RhYmxldCB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBicmVha3BvaW50OiAxMjgwLFxuICAgICAgICAgICAgICAgICAgICBzZXR0aW5nczogeyBzbGlkZXNUb1Nob3c6IHNsaWRlc01vYmlsZSwgcm93czogcm93c01vYmlsZSB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBicmVha3BvaW50OiAxMDIzLFxuICAgICAgICAgICAgICAgICAgICBzZXR0aW5nczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGVzVG9TaG93OiBzbGlkZXNNb2JpbGVTbWFsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvd3M6IHJvd3NNb2JpbGVTbWFsbCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWtwb2ludDogNzY3LFxuICAgICAgICAgICAgICAgICAgICBzZXR0aW5nczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGVzVG9TaG93OiBzbGlkZXNNb2JpbGVYU21hbGwsXG4gICAgICAgICAgICAgICAgICAgICAgICByb3dzOiByb3dzTW9iaWxlWFNtYWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWw6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWxTd2lwaW5nOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkgcmV0dXJuO1xuICAgICAgICBpZiAodHlwZW9mICQgPT09ICd1bmRlZmluZWQnIHx8ICEkLmZuPy5zbGljaykgcmV0dXJuO1xuXG4gICAgICAgIGlmICh0aGlzLnNsaWRlckVsICYmICQodGhpcy5zbGlkZXJFbCkuaGFzQ2xhc3MoJ3NsaWNrLWluaXRpYWxpemVkJykpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgJCh0aGlzLnNsaWRlckVsKS5zbGljaygndW5zbGljaycpO1xuICAgICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAgICAgLyogbmFkYSAqL1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnJlc2l6ZUhhbmRsZXIpIHtcbiAgICAgICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLnJlc2l6ZUhhbmRsZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGV2dWVsdmUgdHJ1ZSBzaSBqUXVlcnkrU2xpY2sgbGxlZ2FuIGEgZXN0YXIgZGlzcG9uaWJsZXMsIGZhbHNlIHNpIG5vXG4gICAgcHJpdmF0ZSB3YWl0Rm9yU2xpY2sodGltZW91dE1zID0gODAwMCwgc3RlcE1zID0gMTAwKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkgcmV0dXJuIFByb21pc2UucmVzb2x2ZShmYWxzZSk7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gcGVyZm9ybWFuY2Uubm93KCk7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPGJvb2xlYW4+KChyZXNvbHZlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjaGVjayA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mICQgIT09ICd1bmRlZmluZWQnICYmICQuZm4gJiYgJC5mbi5zbGljaykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzb2x2ZSh0cnVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHBlcmZvcm1hbmNlLm5vdygpIC0gc3RhcnQgPiB0aW1lb3V0TXMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ1tTbGlja0luaXREaXJlY3RpdmVdIFNsaWNrIG5vIGRpc3BvbmlibGUgdHJhcyB0aW1lb3V0LiDCv1NjcmlwdHMgY2FyZ2Fkb3M/J1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzb2x2ZShmYWxzZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoY2hlY2ssIHN0ZXBNcyk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
211
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2staW5pdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvZGlyZWN0aXZlcy9zbGlkZXJzL3NsaWNrLWluaXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFFSCxTQUFTLEVBRVQsTUFBTSxFQUVOLFdBQVcsR0FDZCxNQUFNLGVBQWUsQ0FBQzs7QUFTdkIsTUFBTSxPQUFPLGtCQUFrQjtJQUkzQixZQUNZLElBQTZCLEVBQ1IsVUFBa0I7UUFEdkMsU0FBSSxHQUFKLElBQUksQ0FBeUI7UUFDUixlQUFVLEdBQVYsVUFBVSxDQUFRO0lBQ2hELENBQUM7SUFFSixLQUFLLENBQUMsZUFBZTtRQUNqQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUFFLE9BQU87UUFDaEQsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQywwQkFBMEI7UUFFckQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDdkMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRTtZQUM3QixNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEIsT0FBTyxDQUFDLEtBQUssTUFBTSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSyxDQUFTLEtBQUssSUFBSSxDQUFDO1FBQ3hFLENBQUMsQ0FBQztRQUNGLE1BQU0sTUFBTSxHQUFHLENBQUMsSUFBWSxFQUFFLEdBQUcsR0FB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RTtvQkFDdkMsT0FBTyxDQUFDLElBQUksQ0FDUixxRUFBcUUsQ0FDeEUsQ0FBQztvQkFDRixPQUFPLE9BQU8sRUFBRSxDQUFDLENBQUMsMEJBQTBCO2lCQUMvQztnQkFDRCxVQUFVLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzlCLENBQUMsQ0FBQztZQUNGLEtBQUssRUFBRSxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQXhOUSxrQkFBa0IsNENBTWYsV0FBVzttR0FOZCxrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBSjlCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtDQUFrQztvQkFDNUMsVUFBVSxFQUFFLElBQUk7aUJBQ25COzswQkFPUSxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5qZWN0LFxuICAgIE9uRGVzdHJveSxcbiAgICBQTEFURk9STV9JRCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8vIFNpIG5vIHRpZW5lcyBAdHlwZXMvanF1ZXJ5LCBkw6lqYWxvIGNvbW8gYW55XG5kZWNsYXJlIGNvbnN0ICQ6IGFueTtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICcuanMtYWN0aXZlLXNsaWRlcixbYXBwU2xpY2tJbml0XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgU2xpY2tJbml0RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIHJlc2l6ZUhhbmRsZXI/OiAoKSA9PiB2b2lkO1xuICAgIHByaXZhdGUgc2xpZGVyRWw/OiBIVE1MRWxlbWVudDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGhvc3Q6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IG9iamVjdFxuICAgICkge31cblxuICAgIGFzeW5jIG5nQWZ0ZXJWaWV3SW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSByZXR1cm47XG4gICAgICAgIGF3YWl0IHRoaXMud2FpdEZvclNsaWNrKCk7IC8vIGVzcGVyYSBhICQgeSAkLmZuLnNsaWNrXG5cbiAgICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5ob3N0Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGdldCA9IChuYW1lOiBzdHJpbmcpID0+IHBhcmVudC5nZXRBdHRyaWJ1dGUobmFtZSk7XG4gICAgICAgIGNvbnN0IGdldEJvb2wgPSAobmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2ID0gZ2V0KG5hbWUpO1xuICAgICAgICAgICAgcmV0dXJuIHYgPT09ICd0cnVlJyB8fCB2ID09PSAnMScgfHwgdiA9PT0gJycgfHwgKHYgYXMgYW55KSA9PT0gdHJ1ZTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgZ2V0TnVtID0gKG5hbWU6IHN0cmluZywgZGVmID0gMCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdiA9IE51bWJlcihnZXQobmFtZSkpO1xuICAgICAgICAgICAgcmV0dXJuIE51bWJlci5pc0Zpbml0ZSh2KSA/IHYgOiBkZWY7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3Qgc2xpZGVyTmFtZSA9IGdldCgnZGF0YS1zbGlkZXJfbmFtZScpIHx8ICcnO1xuICAgICAgICBjb25zdCBzbGlkZXJTcGVlZCA9IGdldE51bSgnZGF0YS1zbGlkZXJfc3BlZWQnLCA3NTApO1xuICAgICAgICBjb25zdCBzaG93QnRucyA9IGdldEJvb2woJ2RhdGEtc2xpZGVyX3Nob3didG5zJyk7XG4gICAgICAgIGNvbnN0IHNob3dEb3RzID0gZ2V0Qm9vbCgnZGF0YS1zbGlkZXJfc2hvd2RvdHMnKTtcbiAgICAgICAgY29uc3QgZmFkZSA9IGdldEJvb2woJ2RhdGEtc2xpZGVyX2ZhZGUnKTtcbiAgICAgICAgY29uc3QgY2VudGVyTW9kZSA9IGdldEJvb2woJ2RhdGEtc2xpZGVyX2NlbnRlcm1vZGUnKTtcbiAgICAgICAgY29uc3QgYXV0b3BsYXkgPSBnZXRCb29sKCdkYXRhLXNsaWRlcl9hdXRvcGxheScpO1xuICAgICAgICBjb25zdCBzbGlkZXNQYyA9IGdldE51bSgnZGF0YS1zbGlkZXNfcGMnLCAxKTtcbiAgICAgICAgY29uc3Qgc2xpZGVzTGFwdG9wID0gZ2V0TnVtKCdkYXRhLXNsaWRlc19sYXB0b3AnKSB8fCBzbGlkZXNQYztcbiAgICAgICAgY29uc3Qgc2xpZGVzVGFibGV0ID0gZ2V0TnVtKCdkYXRhLXNsaWRlc190YWJsZXQnKSB8fCBzbGlkZXNMYXB0b3A7XG4gICAgICAgIGNvbnN0IHNsaWRlc01vYmlsZSA9IGdldE51bSgnZGF0YS1zbGlkZXNfbW9iaWxlJykgfHwgc2xpZGVzVGFibGV0O1xuICAgICAgICBjb25zdCBzbGlkZXNNb2JpbGVTbWFsbCA9XG4gICAgICAgICAgICBnZXROdW0oJ2RhdGEtc2xpZGVzX21vYmlsZV9zbWFsbCcpIHx8IHNsaWRlc01vYmlsZTtcbiAgICAgICAgY29uc3Qgc2xpZGVzTW9iaWxlWFNtYWxsID1cbiAgICAgICAgICAgIGdldE51bSgnZGF0YS1zbGlkZXNfbW9iaWxlX3hzbWFsbCcpIHx8IHNsaWRlc01vYmlsZVNtYWxsO1xuICAgICAgICBjb25zdCBpbmZpbml0ZSA9IGdldEJvb2woJ2RhdGEtc2xpZGVzX2luZmluaXRlJyk7XG5cbiAgICAgICAgbGV0IHJvd3NQYyA9IGdldE51bSgnZGF0YS1zbGlkZXNyb3dzX3BjJywgMSk7XG4gICAgICAgIGxldCByb3dzTGFwdG9wID0gZ2V0TnVtKCdkYXRhLXNsaWRlc3Jvd3NfbGFwdG9wJywgMSk7XG4gICAgICAgIGxldCByb3dzVGFibGV0ID0gZ2V0TnVtKCdkYXRhLXNsaWRlc3Jvd3NfdGFibGV0JywgMSk7XG4gICAgICAgIGxldCByb3dzTW9iaWxlID0gZ2V0TnVtKCdkYXRhLXNsaWRlc3Jvd3NfbW9iaWxlJywgMSk7XG4gICAgICAgIGxldCByb3dzTW9iaWxlU21hbGwgPSBnZXROdW0oJ2RhdGEtc2xpZGVzcm93c19tb2JpbGVfc21hbGwnLCAxKTtcbiAgICAgICAgbGV0IHJvd3NNb2JpbGVYU21hbGwgPSBnZXROdW0oJ2RhdGEtc2xpZGVzcm93c19tb2JpbGVfeHNtYWxsJywgMSk7XG5cbiAgICAgICAgY29uc3QgYXNOYXZGb3IgPSBnZXQoJ2RhdGEtc2xpZGVyX2FzTmF2Rm9yJykgfHwgdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCB2ZXJ0aWNhbCA9IGdldEJvb2woJ2RhdGEtc2xpZGVyX3ZlcnRpY2FsJyk7XG4gICAgICAgIGNvbnN0IGFkYXB0aXZlSGVpZ2h0ID0gZ2V0Qm9vbCgnZGF0YS1zbGlkZXJfYWRhcHRpdmVfaGVpZ2h0Jyk7XG4gICAgICAgIGNvbnN0IHBhdXNlID0gZ2V0Qm9vbCgnZGF0YS1zbGlkZXJfcGF1c2UnKTtcbiAgICAgICAgY29uc3QgZHJhZ2dhYmxlID0gZ2V0Qm9vbCgnZGF0YS1zbGlkZXJfZHJhZ2dhYmxlJyk7XG4gICAgICAgIGNvbnN0IHJ0bCA9IGdldEJvb2woJ2RhdGEtc2xpZGVyX3J0bCcpO1xuICAgICAgICBjb25zdCB2YXJpYWJsZVdpZHRoID0gZ2V0Qm9vbCgnZGF0YS1zbGlkZXJfdmFyaWFibGVfd2lkdGgnKTtcbiAgICAgICAgY29uc3QgYnRuc01vZGUgPSBnZXQoJ2RhdGEtc2xpZGVyX2J0bnMnKSB8fCAnJztcblxuICAgICAgICBpZiAod2luZG93LmlubmVyV2lkdGggPCA1NDAgJiYgcGFyZW50LmNsYXNzTGlzdC5jb250YWlucygncm93cy0yJykpIHtcbiAgICAgICAgICAgIHJvd3NQYyA9IDE7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzbGlkZXJBcnJvd3MgPSBwYXJlbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICAgICAgICcuanMtc2xpZGVyLWFycm93cydcbiAgICAgICAgKSBhcyBIVE1MRWxlbWVudCB8IG51bGw7XG4gICAgICAgIGNvbnN0IHNsaWRlckRvdHMgPSBwYXJlbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICAgICAgICcuanMtc2xpZGVyLWRvdHMnXG4gICAgICAgICkgYXMgSFRNTEVsZW1lbnQgfCBudWxsO1xuICAgICAgICBjb25zdCBzbGlkZXJTZWxlY3RvciA9IHBhcmVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAgICAgJy4nICsgc2xpZGVyTmFtZVxuICAgICAgICApIGFzIEhUTUxFbGVtZW50IHwgbnVsbDtcbiAgICAgICAgaWYgKCFzbGlkZXJTZWxlY3RvcikgcmV0dXJuO1xuICAgICAgICB0aGlzLnNsaWRlckVsID0gc2xpZGVyU2VsZWN0b3I7XG5cbiAgICAgICAgaWYgKCQoc2xpZGVyU2VsZWN0b3IpLmhhc0NsYXNzKCdzbGljay1pbml0aWFsaXplZCcpKSByZXR1cm47XG5cbiAgICAgICAgbGV0IHByZXZBcnJvdyA9ICcnO1xuICAgICAgICBsZXQgbmV4dEFycm93ID0gJyc7XG4gICAgICAgIGlmIChidG5zTW9kZS5pbmNsdWRlcygnaWNvbi1zbWFsbCcpKSB7XG4gICAgICAgICAgICBwcmV2QXJyb3cgKz1cbiAgICAgICAgICAgICAgICBcIjxidXR0b24gdHlwZT0nYnV0dG9uJyBjbGFzcz0nc2xpY2stcHJldiBpY29uLXNtYWxsJz48c3ZnIGFyaWEtaGlkZGVuPSd0cnVlJyBmb2N1c2FibGU9J2ZhbHNlJyBjbGFzcz0nbGluZSc+PHVzZSBocmVmPScvYXNzZXRzL2JhYnlsb24vc3ZnL2Fycm93LWxpbmUuc3ZnI2Fycm93LWxpbmUnPjwvdXNlPjwvc3ZnPjxzdmcgYXJpYS1oaWRkZW49J3RydWUnIGZvY3VzYWJsZT0nZmFsc2UnPjx1c2UgaHJlZj0nL2Fzc2V0cy9iYWJ5bG9uL3N2Zy9pY29uLWFycm93LnN2ZyNpY29uLWFycm93Jz48L3VzZT48L3N2Zz48L2J1dHRvbj5cIjtcbiAgICAgICAgICAgIG5leHRBcnJvdyArPVxuICAgICAgICAgICAgICAgIFwiPGJ1dHRvbiB0eXBlPSdidXR0b24nIGNsYXNzPSdzbGljay1uZXh0IGljb24tc21hbGwnPjxzdmcgYXJpYS1oaWRkZW49J3RydWUnIGZvY3VzYWJsZT0nZmFsc2UnIGNsYXNzPSdsaW5lJz48dXNlIGhyZWY9Jy9hc3NldHMvYmFieWxvbi9zdmcvYXJyb3ctbGluZS5zdmcjYXJyb3ctbGluZSc+PC91c2U+PC9zdmc+PHN2ZyBhcmlhLWhpZGRlbj0ndHJ1ZScgZm9jdXNhYmxlPSdmYWxzZSc+PHVzZSBocmVmPScvYXNzZXRzL2JhYnlsb24vc3ZnL2ljb24tYXJyb3cuc3ZnI2ljb24tYXJyb3cnPjwvdXNlPjwvc3ZnPjwvYnV0dG9uPlwiO1xuICAgICAgICB9XG4gICAgICAgIGlmIChidG5zTW9kZS5pbmNsdWRlcygnaWNvbi1sYXJnZScpKSB7XG4gICAgICAgICAgICBwcmV2QXJyb3cgKz1cbiAgICAgICAgICAgICAgICBcIjxidXR0b24gdHlwZT0nYnV0dG9uJyBjbGFzcz0nc2xpY2stcHJldiBpY29uLWxhcmdlJz48c3ZnIGFyaWEtaGlkZGVuPSd0cnVlJyBmb2N1c2FibGU9J2ZhbHNlJz48dXNlIGhyZWY9Jy9hc3NldHMvYmFieWxvbi9zdmcvaWNvbi1hcnJvdy1sYXJnZS5zdmcjaWNvbi1hcnJvdy1sYXJnZSc+PC91c2U+PC9zdmc+PC9idXR0b24+XCI7XG4gICAgICAgICAgICBuZXh0QXJyb3cgKz1cbiAgICAgICAgICAgICAgICBcIjxidXR0b24gdHlwZT0nYnV0dG9uJyBjbGFzcz0nc2xpY2stbmV4dCBpY29uLWxhcmdlJz48c3ZnIGFyaWEtaGlkZGVuPSd0cnVlJyBmb2N1c2FibGU9J2ZhbHNlJz48dXNlIGhyZWY9Jy9hc3NldHMvYmFieWxvbi9zdmcvaWNvbi1hcnJvdy1sYXJnZS5zdmcjaWNvbi1hcnJvdy1sYXJnZSc+PC91c2U+PC9zdmc+PC9idXR0b24+XCI7XG4gICAgICAgIH1cblxuICAgICAgICAvLyAtLS0gbm9ybWFsaXphciBhbHR1cmEgZW4gdmVydGljYWwgKHNpbiAndGhpcycgaW1wbMOtY2l0bykgLS0tXG4gICAgICAgIGNvbnN0IHVwZGF0ZVZlcnRpY2FsSGVpZ2h0ID0gKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgJGVsID0gJChzbGlkZXJTZWxlY3Rvcik7XG4gICAgICAgICAgICBpZiAod2luZG93LmlubmVyV2lkdGggPj0gNTQxKSB7XG4gICAgICAgICAgICAgICAgbGV0IG1heEggPSAwO1xuICAgICAgICAgICAgICAgICRlbC5maW5kKCcuc2xpY2stc2xpZGU6bm90KC5zbGljay1jbG9uZWQpJykuZWFjaChcbiAgICAgICAgICAgICAgICAgICAgKF86IG51bWJlciwgZWw6IEhUTUxFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBoID0gKCQoZWwpIGFzIGFueSkub3V0ZXJIZWlnaHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoID4gbWF4SCkgbWF4SCA9IGg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICRlbC5maW5kKCcuc2xpY2stc2xpZGUnKS5lYWNoKChfOiBudW1iZXIsIGVsOiBIVE1MRWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAoJChlbCkgYXMgYW55KS5jc3MoJ2hlaWdodCcsIGAke21heEh9cHhgKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgJChzbGlkZXJTZWxlY3RvcikuZmluZCgnLnNsaWNrLXNsaWRlJykuY3NzKCdoZWlnaHQnLCAnJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKHZlcnRpY2FsKSB7XG4gICAgICAgICAgICAkKHNsaWRlclNlbGVjdG9yKS5vbignc2V0UG9zaXRpb24nLCB1cGRhdGVWZXJ0aWNhbEhlaWdodCk7XG4gICAgICAgICAgICAkKHNsaWRlclNlbGVjdG9yKS5vbignaW5pdCcsICgpID0+XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCh1cGRhdGVWZXJ0aWNhbEhlaWdodCwgMClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLnJlc2l6ZUhhbmRsZXIgPSAoKSA9PiB1cGRhdGVWZXJ0aWNhbEhlaWdodCgpO1xuICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMucmVzaXplSGFuZGxlciwge1xuICAgICAgICAgICAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIC0tLSBJTklUIFNMSUNLIC0tLVxuICAgICAgICAkKHNsaWRlclNlbGVjdG9yKS5zbGljayh7XG4gICAgICAgICAgICBkb3RzOiBzaG93RG90cyxcbiAgICAgICAgICAgIGFycm93czogc2hvd0J0bnMsXG4gICAgICAgICAgICBhcHBlbmRBcnJvd3M6IHNsaWRlckFycm93cyB8fCBwYXJlbnQsXG4gICAgICAgICAgICBwcmV2QXJyb3csXG4gICAgICAgICAgICBuZXh0QXJyb3csXG4gICAgICAgICAgICBhcHBlbmREb3RzOiBzbGlkZXJEb3RzIHx8IHBhcmVudCxcbiAgICAgICAgICAgIGluZmluaXRlLFxuICAgICAgICAgICAgdXNlVHJhbnNmb3JtOiB0cnVlLFxuICAgICAgICAgICAgZmFkZSxcbiAgICAgICAgICAgIGNlbnRlck1vZGUsXG4gICAgICAgICAgICBjZW50ZXJQYWRkaW5nOiAnMCcsXG4gICAgICAgICAgICBjc3NFYXNlOiAnY3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNSwgMC44NiknLFxuICAgICAgICAgICAgc3BlZWQ6IHNsaWRlclNwZWVkLFxuICAgICAgICAgICAgc2xpZGVzVG9TaG93OiBzbGlkZXNQYyxcbiAgICAgICAgICAgIHNsaWRlc1RvU2Nyb2xsOiAxLFxuICAgICAgICAgICAgcm93czogcm93c1BjLFxuICAgICAgICAgICAgYXV0b3BsYXksXG4gICAgICAgICAgICBhdXRvcGxheVNwZWVkOiA1MDAwLFxuICAgICAgICAgICAgc3dpcGVUb1NsaWRlOiB0cnVlLFxuICAgICAgICAgICAgdmVydGljYWwsXG4gICAgICAgICAgICB2ZXJ0aWNhbFN3aXBpbmc6IHZlcnRpY2FsLFxuICAgICAgICAgICAgYWRhcHRpdmVIZWlnaHQsXG4gICAgICAgICAgICBhc05hdkZvcixcbiAgICAgICAgICAgIHBhdXNlT25Gb2N1czogcGF1c2UsXG4gICAgICAgICAgICBwYXVzZU9uSG92ZXI6IHBhdXNlLFxuICAgICAgICAgICAgZHJhZ2dhYmxlLFxuICAgICAgICAgICAgc3dpcGU6IGRyYWdnYWJsZSxcbiAgICAgICAgICAgIHJ0bCxcbiAgICAgICAgICAgIHZhcmlhYmxlV2lkdGgsXG4gICAgICAgICAgICByZXNwb25zaXZlOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBicmVha3BvaW50OiAxNjgwLFxuICAgICAgICAgICAgICAgICAgICBzZXR0aW5nczogeyBzbGlkZXNUb1Nob3c6IHNsaWRlc0xhcHRvcCwgcm93czogcm93c0xhcHRvcCB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBicmVha3BvaW50OiAxMzY2LFxuICAgICAgICAgICAgICAgICAgICBzZXR0aW5nczogeyBzbGlkZXNUb1Nob3c6IHNsaWRlc1RhYmxldCwgcm93czogcm93c1RhYmxldCB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBicmVha3BvaW50OiAxMjgwLFxuICAgICAgICAgICAgICAgICAgICBzZXR0aW5nczogeyBzbGlkZXNUb1Nob3c6IHNsaWRlc01vYmlsZSwgcm93czogcm93c01vYmlsZSB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBicmVha3BvaW50OiAxMDIzLFxuICAgICAgICAgICAgICAgICAgICBzZXR0aW5nczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGVzVG9TaG93OiBzbGlkZXNNb2JpbGVTbWFsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvd3M6IHJvd3NNb2JpbGVTbWFsbCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWtwb2ludDogNzY3LFxuICAgICAgICAgICAgICAgICAgICBzZXR0aW5nczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGVzVG9TaG93OiBzbGlkZXNNb2JpbGVYU21hbGwsXG4gICAgICAgICAgICAgICAgICAgICAgICByb3dzOiByb3dzTW9iaWxlWFNtYWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWw6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWxTd2lwaW5nOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkgcmV0dXJuO1xuICAgICAgICBpZiAodGhpcy5zbGlkZXJFbCAmJiAkKHRoaXMuc2xpZGVyRWwpLmhhc0NsYXNzKCdzbGljay1pbml0aWFsaXplZCcpKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICQodGhpcy5zbGlkZXJFbCkuc2xpY2soJ3Vuc2xpY2snKTtcbiAgICAgICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgICAgIC8qIG5hZGEgKi9cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5yZXNpemVIYW5kbGVyKSB7XG4gICAgICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5yZXNpemVIYW5kbGVyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEVzcGVyYSBhICQgeSBzbGljazogcmVzdWVsdmUgKG5vIHJlY2hhemEpIHkgbG9ndWVhIHNpIG5vIGxsZWdhblxuICAgIHByaXZhdGUgd2FpdEZvclNsaWNrKHRpbWVvdXRNcyA9IDQwMDAsIHN0ZXBNcyA9IDEwMCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgY29uc3Qgc3RhcnQgPSBwZXJmb3JtYW5jZS5ub3coKTtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjaGVjayA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mICQgIT09ICd1bmRlZmluZWQnICYmICQuZm4gJiYgJC5mbi5zbGljaylcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc29sdmUoKTtcbiAgICAgICAgICAgICAgICBpZiAocGVyZm9ybWFuY2Uubm93KCkgLSBzdGFydCA+IHRpbWVvdXRNcykge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICAgICAgICAgICAgICAnW1NsaWNrSW5pdERpcmVjdGl2ZV0gU2xpY2sgbm8gZGlzcG9uaWJsZS4gwr9DYXJnYXN0ZSBqUXVlcnkgeSBzbGljaz8nXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlKCk7IC8vIGV2aXRhIGVycm9yIHNpIG5vIGxsZWdhXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoY2hlY2ssIHN0ZXBNcyk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -1,5 +1,4 @@
1
- import { isPlatformBrowser } from '@angular/common';
2
- import { Directive, inject, Input, PLATFORM_ID, } from '@angular/core';
1
+ import { Directive, Input, } from '@angular/core';
3
2
  import * as i0 from "@angular/core";
4
3
  export class StickyAvoidFooterDirective {
5
4
  constructor(el, zone, r2) {
@@ -14,13 +13,10 @@ export class StickyAvoidFooterDirective {
14
13
  this.defaultBottom = '3rem';
15
14
  /** Ajuste fino cuando el footer SÍ es visible */
16
15
  this.overlapAdjustPx = 10; // px
17
- this.platformId = inject(PLATFORM_ID);
18
16
  this.cleanupFns = [];
19
17
  this.rafPending = false;
20
18
  }
21
19
  ngAfterViewInit() {
22
- if (!isPlatformBrowser(this.platformId))
23
- return;
24
20
  // Cálculo inicial
25
21
  this.adjust();
26
22
  // Listeners performantes fuera de Angular
@@ -75,7 +71,7 @@ export class StickyAvoidFooterDirective {
75
71
  }
76
72
  }
77
73
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StickyAvoidFooterDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
78
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: StickyAvoidFooterDirective, isStandalone: true, selector: "[stickyAvoidFooter]", inputs: { footerSelector: "footerSelector", viewportPadding: "viewportPadding", defaultBottom: "defaultBottom", overlapAdjustPx: "overlapAdjustPx", platformId: "platformId" }, ngImport: i0 }); }
74
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: StickyAvoidFooterDirective, isStandalone: true, selector: "[stickyAvoidFooter]", inputs: { footerSelector: "footerSelector", viewportPadding: "viewportPadding", defaultBottom: "defaultBottom", overlapAdjustPx: "overlapAdjustPx" }, ngImport: i0 }); }
79
75
  }
80
76
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StickyAvoidFooterDirective, decorators: [{
81
77
  type: Directive,
@@ -91,7 +87,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
91
87
  type: Input
92
88
  }], overlapAdjustPx: [{
93
89
  type: Input
94
- }], platformId: [{
95
- type: Input
96
90
  }] } });
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RpY2t5LWF2b2lkLWZvb3Rlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvZGlyZWN0aXZlcy91dGlscy9zdGlja3ktYXZvaWQtZm9vdGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBRUgsU0FBUyxFQUVULE1BQU0sRUFDTixLQUFLLEVBR0wsV0FBVyxHQUVkLE1BQU0sZUFBZSxDQUFDOztBQU12QixNQUFNLE9BQU8sMEJBQTBCO0lBY25DLFlBQ1ksRUFBMkIsRUFDM0IsSUFBWSxFQUNaLEVBQWE7UUFGYixPQUFFLEdBQUYsRUFBRSxDQUF5QjtRQUMzQixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osT0FBRSxHQUFGLEVBQUUsQ0FBVztRQWhCekIsd0RBQXdEO1FBQy9DLG1CQUFjLEdBQUcsZ0JBQWdCLENBQUM7UUFDM0Msa0ZBQWtGO1FBQ3pFLG9CQUFlLEdBQUcsRUFBRSxDQUFDLENBQUMsS0FBSztRQUNwQyw0Q0FBNEM7UUFDbkMsa0JBQWEsR0FBRyxNQUFNLENBQUM7UUFDaEMsaURBQWlEO1FBQ3hDLG9CQUFlLEdBQUcsRUFBRSxDQUFDLENBQUMsS0FBSztRQUMzQixlQUFVLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRWxDLGVBQVUsR0FBc0IsRUFBRSxDQUFDO1FBQ25DLGVBQVUsR0FBRyxLQUFLLENBQUM7SUFNeEIsQ0FBQztJQUVKLGVBQWU7UUFDYixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUFFLE9BQU87UUFDOUMsa0JBQWtCO1FBQ2xCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUVkLDBDQUEwQztRQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixD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RCxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsUUFBUSxJQUFJLENBQUMsQ0FBQztTQUN2RDthQUFNO1lBQ0gsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDMUQ7SUFDTCxDQUFDOytHQTFGUSwwQkFBMEI7bUdBQTFCLDBCQUEwQjs7NEZBQTFCLDBCQUEwQjtrQkFKdEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7NEhBR1ksY0FBYztzQkFBdEIsS0FBSztnQkFFRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUcsZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95LFxuICAgIFBMQVRGT1JNX0lELFxuICAgIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3N0aWNreUF2b2lkRm9vdGVyXScsIC8vIMO6c2FsYSBlbiAuaGVyby1iYW5uZXJfX2FjdGlvbnNcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBTdGlja3lBdm9pZEZvb3RlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqIFNlbGVjdG9yIGRlbCBmb290ZXIgKHBvciBkZWZlY3RvIGNvbW8gZW4gdHUgSFRNTCkgKi9cbiAgICBASW5wdXQoKSBmb290ZXJTZWxlY3RvciA9ICcuZm9vdGVyX19saW5rcyc7XG4gICAgLyoqIE1hcmdlbiBkZSBzZWd1cmlkYWQgaW5mZXJpb3IgZGVsIHZpZXdwb3J0IGFsIGV2YWx1YXIgdmlzaWJpbGlkYWQgZGVsIGZvb3RlciAqL1xuICAgIEBJbnB1dCgpIHZpZXdwb3J0UGFkZGluZyA9IDMwOyAvLyBweFxuICAgIC8qKiBCb3R0b20gY3VhbmRvIGVsIGZvb3RlciBOTyBlcyB2aXNpYmxlICovXG4gICAgQElucHV0KCkgZGVmYXVsdEJvdHRvbSA9ICczcmVtJztcbiAgICAvKiogQWp1c3RlIGZpbm8gY3VhbmRvIGVsIGZvb3RlciBTw40gZXMgdmlzaWJsZSAqL1xuICAgIEBJbnB1dCgpIG92ZXJsYXBBZGp1c3RQeCA9IDEwOyAvLyBweFxuICAgIEBJbnB1dCgpIHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuXG4gICAgcHJpdmF0ZSBjbGVhbnVwRm5zOiBBcnJheTwoKSA9PiB2b2lkPiA9IFtdO1xuICAgIHByaXZhdGUgcmFmUGVuZGluZyA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSByMjogUmVuZGVyZXIyXG4gICAgKSB7fVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSByZXR1cm47XG4gICAgICAgIC8vIEPDoWxjdWxvIGluaWNpYWxcbiAgICAgICAgdGhpcy5hZGp1c3QoKTtcblxuICAgICAgICAvLyBMaXN0ZW5lcnMgcGVyZm9ybWFudGVzIGZ1ZXJhIGRlIEFuZ3VsYXJcbiAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG9uU2Nyb2xsID0gKCkgPT4gdGhpcy5zY2hlZHVsZUFkanVzdCgpO1xuICAgICAgICAgICAgY29uc3Qgb25SZXNpemUgPSAoKSA9PiB0aGlzLnNjaGVkdWxlQWRqdXN0KCk7XG4gICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgb25TY3JvbGwsIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcbiAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCBvblJlc2l6ZSwgeyBwYXNzaXZlOiB0cnVlIH0pO1xuICAgICAgICAgICAgdGhpcy5jbGVhbnVwRm5zLnB1c2goKCkgPT5cbiAgICAgICAgICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgb25TY3JvbGwpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5jbGVhbnVwRm5zLnB1c2goKCkgPT5cbiAgICAgICAgICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgb25SZXNpemUpXG4gICAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbGVhbnVwRm5zLmZvckVhY2goKGZuKSA9PiBmbigpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNjaGVkdWxlQWRqdXN0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5yYWZQZW5kaW5nKSByZXR1cm47XG4gICAgICAgIHRoaXMucmFmUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJhZlBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuYWRqdXN0KCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRqdXN0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBidXR0b24gPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGZvb3RlciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KHRoaXMuZm9vdGVyU2VsZWN0b3IpO1xuXG4gICAgICAgIGlmICghYnV0dG9uKSByZXR1cm47XG5cbiAgICAgICAgLy8gQXNlZ3VyYSBwb3NpY2nDs24gY29udHJvbGFibGUgKHBvciBzaSBhY2FzbylcbiAgICAgICAgY29uc3QgcG9zID0gZ2V0Q29tcHV0ZWRTdHlsZShidXR0b24pLnBvc2l0aW9uO1xuICAgICAgICBpZiAocG9zID09PSAnc3RhdGljJykge1xuICAgICAgICAgICAgdGhpcy5yMi5zZXRTdHlsZShidXR0b24sICdwb3NpdGlvbicsICdmaXhlZCcpOyAvLyBvICdhYnNvbHV0ZScgc2Vnw7puIHR1IGxheW91dFxuICAgICAgICAgICAgdGhpcy5yMi5zZXRTdHlsZShcbiAgICAgICAgICAgICAgICBidXR0b24sXG4gICAgICAgICAgICAgICAgJ3JpZ2h0JyxcbiAgICAgICAgICAgICAgICBnZXRDb21wdXRlZFN0eWxlKGJ1dHRvbikucmlnaHQgfHwgJzFyZW0nXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFmb290ZXIpIHtcbiAgICAgICAgICAgIHRoaXMucjIuc2V0U3R5bGUoYnV0dG9uLCAnYm90dG9tJywgdGhpcy5kZWZhdWx0Qm90dG9tKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZvb3RlclJlY3QgPSBmb290ZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHdpbmRvd0hlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICAgICAgY29uc3QgZm9vdGVySGVpZ2h0ID0gZm9vdGVyLm9mZnNldEhlaWdodDtcblxuICAgICAgICBjb25zdCBpc0Zvb3RlckZ1bGx5VmlzaWJsZSA9XG4gICAgICAgICAgICBmb290ZXJSZWN0LnRvcCA+PSAwICYmXG4gICAgICAgICAgICBmb290ZXJSZWN0LmJvdHRvbSA8PSB3aW5kb3dIZWlnaHQgLSB0aGlzLnZpZXdwb3J0UGFkZGluZztcblxuICAgICAgICBpZiAoaXNGb290ZXJGdWxseVZpc2libGUpIHtcbiAgICAgICAgICAgIGNvbnN0IG92ZXJsYXAgPSB3aW5kb3dIZWlnaHQgLSBmb290ZXJSZWN0LnRvcDtcbiAgICAgICAgICAgIGNvbnN0IGJvdHRvbVB4ID0gb3ZlcmxhcCAtIGZvb3RlckhlaWdodCArIHRoaXMub3ZlcmxhcEFkanVzdFB4O1xuICAgICAgICAgICAgdGhpcy5yMi5zZXRTdHlsZShidXR0b24sICdib3R0b20nLCBgJHtib3R0b21QeH1weGApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yMi5zZXRTdHlsZShidXR0b24sICdib3R0b20nLCB0aGlzLmRlZmF1bHRCb3R0b20pO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RpY2t5LWF2b2lkLWZvb3Rlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvZGlyZWN0aXZlcy91dGlscy9zdGlja3ktYXZvaWQtZm9vdGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsU0FBUyxFQUVULEtBQUssR0FJUixNQUFNLGVBQWUsQ0FBQzs7QUFNdkIsTUFBTSxPQUFPLDBCQUEwQjtJQWFuQyxZQUNZLEVBQTJCLEVBQzNCLElBQVksRUFDWixFQUFhO1FBRmIsT0FBRSxHQUFGLEVBQUUsQ0FBeUI7UUFDM0IsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLE9BQUUsR0FBRixFQUFFLENBQVc7UUFmekIsd0RBQXdEO1FBQy9DLG1CQUFjLEdBQUcsZ0JBQWdCLENBQUM7UUFDM0Msa0ZBQWtGO1FBQ3pFLG9CQUFlLEdBQUcsRUFBRSxDQUFDLENBQUMsS0FBSztRQUNwQyw0Q0FBNEM7UUFDbkMsa0JBQWEsR0FBRyxNQUFNLENBQUM7UUFDaEMsaURBQWlEO1FBQ3hDLG9CQUFlLEdBQUcsRUFBRSxDQUFDLENBQUMsS0FBSztRQUU1QixlQUFVLEdBQXNCLEVBQUUsQ0FBQztRQUNuQyxlQUFVLEdBQUcsS0FBSyxDQUFDO0lBTXhCLENBQUM7SUFFSixlQUFlO1FBQ1gsa0JBQWtCO1FBQ2xCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUVkLDBDQUEwQztRQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUM3QixNQUFNLFFBQVEsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDN0MsTUFBTSxRQUFRLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzdDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxR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QUM7U0FDMUQ7SUFDTCxDQUFDOytHQXhGUSwwQkFBMEI7bUdBQTFCLDBCQUEwQjs7NEZBQTFCLDBCQUEwQjtrQkFKdEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7NEhBR1ksY0FBYztzQkFBdEIsS0FBSztnQkFFRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUcsZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95LFxuICAgIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3N0aWNreUF2b2lkRm9vdGVyXScsIC8vIMO6c2FsYSBlbiAuaGVyby1iYW5uZXJfX2FjdGlvbnNcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBTdGlja3lBdm9pZEZvb3RlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqIFNlbGVjdG9yIGRlbCBmb290ZXIgKHBvciBkZWZlY3RvIGNvbW8gZW4gdHUgSFRNTCkgKi9cbiAgICBASW5wdXQoKSBmb290ZXJTZWxlY3RvciA9ICcuZm9vdGVyX19saW5rcyc7XG4gICAgLyoqIE1hcmdlbiBkZSBzZWd1cmlkYWQgaW5mZXJpb3IgZGVsIHZpZXdwb3J0IGFsIGV2YWx1YXIgdmlzaWJpbGlkYWQgZGVsIGZvb3RlciAqL1xuICAgIEBJbnB1dCgpIHZpZXdwb3J0UGFkZGluZyA9IDMwOyAvLyBweFxuICAgIC8qKiBCb3R0b20gY3VhbmRvIGVsIGZvb3RlciBOTyBlcyB2aXNpYmxlICovXG4gICAgQElucHV0KCkgZGVmYXVsdEJvdHRvbSA9ICczcmVtJztcbiAgICAvKiogQWp1c3RlIGZpbm8gY3VhbmRvIGVsIGZvb3RlciBTw40gZXMgdmlzaWJsZSAqL1xuICAgIEBJbnB1dCgpIG92ZXJsYXBBZGp1c3RQeCA9IDEwOyAvLyBweFxuXG4gICAgcHJpdmF0ZSBjbGVhbnVwRm5zOiBBcnJheTwoKSA9PiB2b2lkPiA9IFtdO1xuICAgIHByaXZhdGUgcmFmUGVuZGluZyA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSByMjogUmVuZGVyZXIyXG4gICAgKSB7fVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICAvLyBDw6FsY3VsbyBpbmljaWFsXG4gICAgICAgIHRoaXMuYWRqdXN0KCk7XG5cbiAgICAgICAgLy8gTGlzdGVuZXJzIHBlcmZvcm1hbnRlcyBmdWVyYSBkZSBBbmd1bGFyXG4gICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBvblNjcm9sbCA9ICgpID0+IHRoaXMuc2NoZWR1bGVBZGp1c3QoKTtcbiAgICAgICAgICAgIGNvbnN0IG9uUmVzaXplID0gKCkgPT4gdGhpcy5zY2hlZHVsZUFkanVzdCgpO1xuICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG9uU2Nyb2xsLCB7IHBhc3NpdmU6IHRydWUgfSk7XG4gICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgb25SZXNpemUsIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcbiAgICAgICAgICAgIHRoaXMuY2xlYW51cEZucy5wdXNoKCgpID0+XG4gICAgICAgICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG9uU2Nyb2xsKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuY2xlYW51cEZucy5wdXNoKCgpID0+XG4gICAgICAgICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIG9uUmVzaXplKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xlYW51cEZucy5mb3JFYWNoKChmbikgPT4gZm4oKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzY2hlZHVsZUFkanVzdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucmFmUGVuZGluZykgcmV0dXJuO1xuICAgICAgICB0aGlzLnJhZlBlbmRpbmcgPSB0cnVlO1xuICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yYWZQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmFkanVzdCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkanVzdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYnV0dG9uID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBmb290ZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50Pih0aGlzLmZvb3RlclNlbGVjdG9yKTtcblxuICAgICAgICBpZiAoIWJ1dHRvbikgcmV0dXJuO1xuXG4gICAgICAgIC8vIEFzZWd1cmEgcG9zaWNpw7NuIGNvbnRyb2xhYmxlIChwb3Igc2kgYWNhc28pXG4gICAgICAgIGNvbnN0IHBvcyA9IGdldENvbXB1dGVkU3R5bGUoYnV0dG9uKS5wb3NpdGlvbjtcbiAgICAgICAgaWYgKHBvcyA9PT0gJ3N0YXRpYycpIHtcbiAgICAgICAgICAgIHRoaXMucjIuc2V0U3R5bGUoYnV0dG9uLCAncG9zaXRpb24nLCAnZml4ZWQnKTsgLy8gbyAnYWJzb2x1dGUnIHNlZ8O6biB0dSBsYXlvdXRcbiAgICAgICAgICAgIHRoaXMucjIuc2V0U3R5bGUoXG4gICAgICAgICAgICAgICAgYnV0dG9uLFxuICAgICAgICAgICAgICAgICdyaWdodCcsXG4gICAgICAgICAgICAgICAgZ2V0Q29tcHV0ZWRTdHlsZShidXR0b24pLnJpZ2h0IHx8ICcxcmVtJ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghZm9vdGVyKSB7XG4gICAgICAgICAgICB0aGlzLnIyLnNldFN0eWxlKGJ1dHRvbiwgJ2JvdHRvbScsIHRoaXMuZGVmYXVsdEJvdHRvbSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmb290ZXJSZWN0ID0gZm9vdGVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCB3aW5kb3dIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XG4gICAgICAgIGNvbnN0IGZvb3RlckhlaWdodCA9IGZvb3Rlci5vZmZzZXRIZWlnaHQ7XG5cbiAgICAgICAgY29uc3QgaXNGb290ZXJGdWxseVZpc2libGUgPVxuICAgICAgICAgICAgZm9vdGVyUmVjdC50b3AgPj0gMCAmJlxuICAgICAgICAgICAgZm9vdGVyUmVjdC5ib3R0b20gPD0gd2luZG93SGVpZ2h0IC0gdGhpcy52aWV3cG9ydFBhZGRpbmc7XG5cbiAgICAgICAgaWYgKGlzRm9vdGVyRnVsbHlWaXNpYmxlKSB7XG4gICAgICAgICAgICBjb25zdCBvdmVybGFwID0gd2luZG93SGVpZ2h0IC0gZm9vdGVyUmVjdC50b3A7XG4gICAgICAgICAgICBjb25zdCBib3R0b21QeCA9IG92ZXJsYXAgLSBmb290ZXJIZWlnaHQgKyB0aGlzLm92ZXJsYXBBZGp1c3RQeDtcbiAgICAgICAgICAgIHRoaXMucjIuc2V0U3R5bGUoYnV0dG9uLCAnYm90dG9tJywgYCR7Ym90dG9tUHh9cHhgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucjIuc2V0U3R5bGUoYnV0dG9uLCAnYm90dG9tJywgdGhpcy5kZWZhdWx0Qm90dG9tKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -1,4 +1,2 @@
1
1
  export * from './screen-sizer';
2
- export * from './mapper';
3
- export * from './modals-service';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zY3JlZW4tc2l6ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9tYXBwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RhbHMtc2VydmljZSc7XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2NyZWVuLXNpemVyJzsiXX0=
@@ -1,18 +1,13 @@
1
- import { isPlatformBrowser } from '@angular/common';
2
- import { Injectable, PLATFORM_ID, inject, signal } from '@angular/core';
3
- import { debounceTime, distinctUntilChanged, fromEvent, map, startWith, } from 'rxjs';
1
+ import { Injectable, inject, signal } from '@angular/core';
4
2
  import { SCREEN_SIZER_PARAMS_TOKEN } from './screen-sizer.service.token';
3
+ import { debounceTime, distinctUntilChanged, fromEvent, map, startWith, } from 'rxjs';
5
4
  import * as i0 from "@angular/core";
6
5
  export class ScreenSizerService {
7
6
  get width() {
8
- if (isPlatformBrowser(this.platformId)) {
9
- if (window.innerWidth > window.outerWidth) {
10
- return window.outerWidth;
11
- }
12
- return window.innerWidth;
7
+ if (window.innerWidth > window.outerWidth) {
8
+ return window.outerWidth;
13
9
  }
14
- else
15
- return 0;
10
+ return window.innerWidth;
16
11
  }
17
12
  constructor() {
18
13
  this.mobile = signal(false);
@@ -31,43 +26,37 @@ export class ScreenSizerService {
31
26
  this.minMediumDesktop = signal(false);
32
27
  this.minFullDesktop = signal(false);
33
28
  this.minFullBigDesktop = signal(false);
34
- this.platformId = inject(PLATFORM_ID);
35
29
  this.screenSizerParams = inject(SCREEN_SIZER_PARAMS_TOKEN)
36
30
  .pixelBreakpoints;
37
- if (isPlatformBrowser(this.platformId)) {
38
- fromEvent(window, 'resize')
39
- .pipe(debounceTime(200), map(() => this.width), distinctUntilChanged(), startWith(this.width))
40
- .subscribe((size) => {
41
- if (size) {
42
- this.mobile.set(size < this.screenSizerParams.mobile);
43
- this.smallTablet.set(size >= this.screenSizerParams.mobile &&
44
- size < this.screenSizerParams.smallTablet);
45
- this.mediumTablet.set(size >= this.screenSizerParams.smallTablet &&
46
- size < this.screenSizerParams.mediumTablet);
47
- this.fullTablet.set(size >= this.screenSizerParams.mediumTablet &&
48
- size < this.screenSizerParams.fullTablet);
49
- this.smallDesktop.set(size >= this.screenSizerParams.fullTablet &&
50
- size < this.screenSizerParams.smallDesktop);
51
- this.mediumDesktop.set(size >= this.screenSizerParams.smallDesktop &&
52
- size < this.screenSizerParams.mediumDesktop);
53
- this.fullDesktop.set(size >= this.screenSizerParams.mediumDesktop &&
54
- size < this.screenSizerParams.fullDesktop);
55
- this.fullBigDesktop.set(size >= this.screenSizerParams.fullDesktop &&
56
- size < this.screenSizerParams.fullBigDesktop);
57
- this.maxDesktop.set(size >= this.screenSizerParams.fullBigDesktop);
58
- this.minSmallTablet.set(size >= this.screenSizerParams.smallTablet);
59
- this.minMediumTablet.set(size >= this.screenSizerParams.mediumTablet);
60
- this.minFullTablet.set(size >= this.screenSizerParams.fullTablet);
61
- this.minSmallDesktop.set(size >= this.screenSizerParams.smallDesktop);
62
- this.minMediumDesktop.set(size >= this.screenSizerParams.mediumDesktop);
63
- this.minFullDesktop.set(size >= this.screenSizerParams.fullDesktop);
64
- this.minFullBigDesktop.set(size >= this.screenSizerParams.fullBigDesktop);
65
- }
66
- });
67
- }
68
- }
69
- getBreakpoint(breakpoint) {
70
- return this.screenSizerParams[breakpoint];
31
+ fromEvent(window, 'resize')
32
+ .pipe(debounceTime(200), map(() => this.width), distinctUntilChanged(), startWith(this.width))
33
+ .subscribe((size) => {
34
+ if (size) {
35
+ this.mobile.set(size < this.screenSizerParams.smallTablet);
36
+ this.smallTablet.set(size >= this.screenSizerParams.smallTablet &&
37
+ size < this.screenSizerParams.mediumTablet);
38
+ this.mediumTablet.set(size >= this.screenSizerParams.mediumTablet &&
39
+ size < this.screenSizerParams.fullTablet);
40
+ this.fullTablet.set(size >= this.screenSizerParams.fullTablet &&
41
+ size < this.screenSizerParams.smallDesktop);
42
+ this.smallDesktop.set(size >= this.screenSizerParams.smallDesktop &&
43
+ size < this.screenSizerParams.mediumDesktop);
44
+ this.mediumDesktop.set(size >= this.screenSizerParams.mediumDesktop &&
45
+ size < this.screenSizerParams.fullDesktop);
46
+ this.fullDesktop.set(size >= this.screenSizerParams.fullDesktop &&
47
+ size < this.screenSizerParams.fullBigDesktop);
48
+ this.fullBigDesktop.set(size >= this.screenSizerParams.fullBigDesktop &&
49
+ size < this.screenSizerParams.maxDesktop);
50
+ this.maxDesktop.set(size >= this.screenSizerParams.maxDesktop);
51
+ this.minSmallTablet.set(size >= this.screenSizerParams.smallTablet);
52
+ this.minMediumTablet.set(size >= this.screenSizerParams.mediumTablet);
53
+ this.minFullTablet.set(size >= this.screenSizerParams.fullTablet);
54
+ this.minSmallDesktop.set(size >= this.screenSizerParams.smallDesktop);
55
+ this.minMediumDesktop.set(size >= this.screenSizerParams.mediumDesktop);
56
+ this.minFullDesktop.set(size >= this.screenSizerParams.fullDesktop);
57
+ this.minFullBigDesktop.set(size >= this.screenSizerParams.fullBigDesktop);
58
+ }
59
+ });
71
60
  }
72
61
  isMobileInstant() {
73
62
  return this.mobile();
@@ -126,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
126
115
  providedIn: 'root',
127
116
  }]
128
117
  }], ctorParameters: () => [] });
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuLXNpemVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvc2VydmljZXMvc2NyZWVuLXNpemVyL3NjcmVlbi1zaXplci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUNILFlBQVksRUFDWixvQkFBb0IsRUFDcEIsU0FBUyxFQUNULEdBQUcsRUFDSCxTQUFTLEdBQ1osTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFLekUsTUFBTSxPQUFPLGtCQUFrQjtJQXFCM0IsSUFBSSxLQUFLO1FBQ0wsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDcEMsSUFBSSxNQUFNLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUU7Z0JBQ3ZDLE9BQU8sTUFBTSxDQUFDLFVBQVUsQ0FBQzthQUM1QjtZQUNELE9BQU8sTUFBTSxDQUFDLFVBQVUsQ0FBQztTQUM1Qjs7WUFBTSxPQUFPLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBS0Q7UUFoQ1MsV0FBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixpQkFBWSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixlQUFVLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLGlCQUFZLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLGtCQUFh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QixjQUZmLE1BQU07OzRGQUVULGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBQTEFURk9STV9JRCwgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgZGVib3VuY2VUaW1lLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICAgIGZyb21FdmVudCxcbiAgICBtYXAsXG4gICAgc3RhcnRXaXRoLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNDUkVFTl9TSVpFUl9QQVJBTVNfVE9LRU4gfSBmcm9tICcuL3NjcmVlbi1zaXplci5zZXJ2aWNlLnRva2VuJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2NyZWVuU2l6ZXJTZXJ2aWNlIHtcbiAgICByZWFkb25seSBtb2JpbGUgPSBzaWduYWwoZmFsc2UpO1xuICAgIHJlYWRvbmx5IHNtYWxsVGFibGV0ID0gc2lnbmFsKGZhbHNlKTtcbiAgICByZWFkb25seSBtZWRpdW1UYWJsZXQgPSBzaWduYWwoZmFsc2UpO1xuICAgIHJlYWRvbmx5IGZ1bGxUYWJsZXQgPSBzaWduYWwoZmFsc2UpO1xuICAgIHJlYWRvbmx5IHNtYWxsRGVza3RvcCA9IHNpZ25hbChmYWxzZSk7XG4gICAgcmVhZG9ubHkgbWVkaXVtRGVza3RvcCA9IHNpZ25hbChmYWxzZSk7XG4gICAgcmVhZG9ubHkgZnVsbERlc2t0b3AgPSBzaWduYWwoZmFsc2UpO1xuICAgIHJlYWRvbmx5IGZ1bGxCaWdEZXNrdG9wID0gc2lnbmFsKGZhbHNlKTtcbiAgICByZWFkb25seSBtYXhEZXNrdG9wID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIHJlYWRvbmx5IG1pblNtYWxsVGFibGV0ID0gc2lnbmFsKGZhbHNlKTtcbiAgICByZWFkb25seSBtaW5NZWRpdW1UYWJsZXQgPSBzaWduYWwoZmFsc2UpO1xuICAgIHJlYWRvbmx5IG1pbkZ1bGxUYWJsZXQgPSBzaWduYWwoZmFsc2UpO1xuICAgIHJlYWRvbmx5IG1pblNtYWxsRGVza3RvcCA9IHNpZ25hbChmYWxzZSk7XG4gICAgcmVhZG9ubHkgbWluTWVkaXVtRGVza3RvcCA9IHNpZ25hbChmYWxzZSk7XG4gICAgcmVhZG9ubHkgbWluRnVsbERlc2t0b3AgPSBzaWduYWwoZmFsc2UpO1xuICAgIHJlYWRvbmx5IG1pbkZ1bGxCaWdEZXNrdG9wID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIHByaXZhdGUgcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG5cbiAgICBnZXQgd2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA+IHdpbmRvdy5vdXRlcldpZHRoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdpbmRvdy5vdXRlcldpZHRoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHdpbmRvdy5pbm5lcldpZHRoO1xuICAgICAgICB9IGVsc2UgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWFkb25seSBzY3JlZW5TaXplclBhcmFtcyA9IGluamVjdChTQ1JFRU5fU0laRVJfUEFSQU1TX1RPS0VOKVxuICAgICAgICAucGl4ZWxCcmVha3BvaW50cztcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICAgICAgZnJvbUV2ZW50KHdpbmRvdywgJ3Jlc2l6ZScpXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGRlYm91bmNlVGltZSgyMDApLFxuICAgICAgICAgICAgICAgICAgICBtYXAoKCkgPT4gdGhpcy53aWR0aCksXG4gICAgICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0V2l0aCh0aGlzLndpZHRoKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChzaXplKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzaXplKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1vYmlsZS5zZXQoc2l6ZSA8IHRoaXMuc2NyZWVuU2l6ZXJQYXJhbXMubW9iaWxlKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zbWFsbFRhYmxldC5zZXQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSA+PSB0aGlzLnNjcmVlblNpemVyUGFyYW1zLm1vYmlsZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplIDwgdGhpcy5zY3JlZW5TaXplclBhcmFtcy5zbWFsbFRhYmxldFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tZWRpdW1UYWJsZXQuc2V0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemUgPj0gdGhpcy5zY3JlZW5TaXplclBhcmFtcy5zbWFsbFRhYmxldCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplIDwgdGhpcy5zY3JlZW5TaXplclBhcmFtcy5tZWRpdW1UYWJsZXRcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZnVsbFRhYmxldC5zZXQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSA+PSB0aGlzLnNjcmVlblNpemVyUGFyYW1zLm1lZGl1bVRhYmxldCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplIDwgdGhpcy5zY3JlZW5TaXplclBhcmFtcy5mdWxsVGFibGV0XG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNtYWxsRGVza3RvcC5zZXQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSA+PSB0aGlzLnNjcmVlblNpemVyUGFyYW1zLmZ1bGxUYWJsZXQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSA8IHRoaXMuc2NyZWVuU2l6ZXJQYXJhbXMuc21hbGxEZXNrdG9wXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1lZGl1bURlc2t0b3Auc2V0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemUgPj0gdGhpcy5zY3JlZW5TaXplclBhcmFtcy5zbWFsbERlc2t0b3AgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSA8IHRoaXMuc2NyZWVuU2l6ZXJQYXJhbXMubWVkaXVtRGVza3RvcFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mdWxsRGVza3RvcC5zZXQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSA+PSB0aGlzLnNjcmVlblNpemVyUGFyYW1zLm1lZGl1bURlc2t0b3AgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSA8IHRoaXMuc2NyZWVuU2l6ZXJQYXJhbXMuZnVsbERlc2t0b3BcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZnVsbEJpZ0Rlc2t0b3Auc2V0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemUgPj0gdGhpcy5zY3JlZW5TaXplclBhcmFtcy5mdWxsRGVza3RvcCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplIDwgdGhpcy5zY3JlZW5TaXplclBhcmFtcy5mdWxsQmlnRGVza3RvcFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXhEZXNrdG9wLnNldChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplID49IHRoaXMuc2NyZWVuU2l6ZXJQYXJhbXMuZnVsbEJpZ0Rlc2t0b3BcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubWluU21hbGxUYWJsZXQuc2V0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemUgPj0gdGhpcy5zY3JlZW5TaXplclBhcmFtcy5zbWFsbFRhYmxldFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5taW5NZWRpdW1UYWJsZXQuc2V0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemUgPj0gdGhpcy5zY3JlZW5TaXplclBhcmFtcy5tZWRpdW1UYWJsZXRcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubWluRnVsbFRhYmxldC5zZXQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSA+PSB0aGlzLnNjcmVlblNpemVyUGFyYW1zLmZ1bGxUYWJsZXRcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubWluU21hbGxEZXNrdG9wLnNldChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplID49IHRoaXMuc2NyZWVuU2l6ZXJQYXJhbXMuc21hbGxEZXNrdG9wXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1pbk1lZGl1bURlc2t0b3Auc2V0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemUgPj0gdGhpcy5zY3JlZW5TaXplclBhcmFtcy5tZWRpdW1EZXNrdG9wXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1pbkZ1bGxEZXNrdG9wLnNldChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplID49IHRoaXMuc2NyZWVuU2l6ZXJQYXJhbXMuZnVsbERlc2t0b3BcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubWluRnVsbEJpZ0Rlc2t0b3Auc2V0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemUgPj0gdGhpcy5zY3JlZW5TaXplclBhcmFtcy5mdWxsQmlnRGVza3RvcFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0QnJlYWtwb2ludChicmVha3BvaW50OiBrZXlvZiB0eXBlb2YgdGhpcy5zY3JlZW5TaXplclBhcmFtcyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnNjcmVlblNpemVyUGFyYW1zW2JyZWFrcG9pbnRdO1xuICAgIH1cblxuICAgIGlzTW9iaWxlSW5zdGFudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubW9iaWxlKCk7XG4gICAgfVxuXG4gICAgaXNTbWFsbFRhYmxldEluc3RhbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNtYWxsVGFibGV0KCk7XG4gICAgfVxuXG4gICAgaXNNZWRpdW1UYWJsZXRJbnN0YW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5tZWRpdW1UYWJsZXQoKTtcbiAgICB9XG5cbiAgICBpc0Z1bGxUYWJsZXRJbnN0YW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mdWxsVGFibGV0KCk7XG4gICAgfVxuXG4gICAgaXNTbWFsbERlc2t0b3BJbnN0YW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zbWFsbERlc2t0b3AoKTtcbiAgICB9XG5cbiAgICBpc01lZGl1bURlc2t0b3BJbnN0YW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5tZWRpdW1EZXNrdG9wKCk7XG4gICAgfVxuXG4gICAgaXNGdWxsRGVza3RvcEluc3RhbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZ1bGxEZXNrdG9wKCk7XG4gICAgfVxuXG4gICAgaXNGdWxsQmlnRGVza3RvcEluc3RhbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZ1bGxCaWdEZXNrdG9wKCk7XG4gICAgfVxuXG4gICAgaXNNYXhEZXNrdG9wSW5zdGFudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWF4RGVza3RvcCgpO1xuICAgIH1cblxuICAgIG1pblNtYWxsVGFibGV0SW5zdGFudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWluU21hbGxUYWJsZXQoKTtcbiAgICB9XG5cbiAgICBtaW5NZWRpdW1UYWJsZXRJbnN0YW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5taW5NZWRpdW1UYWJsZXQoKTtcbiAgICB9XG5cbiAgICBtaW5GdWxsVGFibGV0SW5zdGFudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWluRnVsbFRhYmxldCgpO1xuICAgIH1cblxuICAgIG1pblNtYWxsRGVza3RvcEluc3RhbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1pblNtYWxsRGVza3RvcCgpO1xuICAgIH1cblxuICAgIG1pbk1lZGl1bURlc2t0b3BJbnN0YW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5taW5NZWRpdW1EZXNrdG9wKCk7XG4gICAgfVxuXG4gICAgbWluRnVsbERlc2t0b3BJbnN0YW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5taW5GdWxsRGVza3RvcCgpO1xuICAgIH1cblxuICAgIG1pbkZ1bGxCaWdEZXNrdG9wSW5zdGFudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWluRnVsbEJpZ0Rlc2t0b3AoKTtcbiAgICB9XG59XG4iXX0=
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuLXNpemVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvc2VydmljZXMvc2NyZWVuLXNpemVyL3NjcmVlbi1zaXplci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN6RSxPQUFPLEVBQ0gsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixTQUFTLEVBQ1QsR0FBRyxFQUNILFNBQVMsR0FDWixNQUFNLE1BQU0sQ0FBQzs7QUFLZCxNQUFNLE9BQU8sa0JBQWtCO0lBbUIzQixJQUFJLEtBQUs7UUFDTCxJQUFJLE1BQU0sQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRTtZQUN2QyxPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUM7U0FDNUI7UUFDRCxPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUM7SUFDN0IsQ0FBQztJQUtEO1FBNUJTLFdBQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsaUJBQVksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsZUFBVSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixpQkFBWSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixrQkFBYSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixtQkFBYyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixlQUFVLEdBQUcs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Q0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsdUJBQXVCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxtQkFBbUI7UUFDZixPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQscUJBQXFCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxzQkFBc0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELG9CQUFvQjtRQUNoQixPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsc0JBQXNCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCx1QkFBdUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQscUJBQXFCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCx3QkFBd0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUNwQyxDQUFDOytHQTdLUSxrQkFBa0I7bUhBQWxCLGtCQUFrQixjQUZmLE1BQU07OzRGQUVULGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU0NSRUVOX1NJWkVSX1BBUkFNU19UT0tFTiB9IGZyb20gJy4vc2NyZWVuLXNpemVyLnNlcnZpY2UudG9rZW4nO1xuaW1wb3J0IHtcbiAgICBkZWJvdW5jZVRpbWUsXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gICAgZnJvbUV2ZW50LFxuICAgIG1hcCxcbiAgICBzdGFydFdpdGgsXG59IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTY3JlZW5TaXplclNlcnZpY2Uge1xuICAgIHJlYWRvbmx5IG1vYmlsZSA9IHNpZ25hbChmYWxzZSk7XG4gICAgcmVhZG9ubHkgc21hbGxUYWJsZXQgPSBzaWduYWwoZmFsc2UpO1xuICAgIHJlYWRvbmx5IG1lZGl1bVRhYmxldCA9IHNpZ25hbChmYWxzZSk7XG4gICAgcmVhZG9ubHkgZnVsbFRhYmxldCA9IHNpZ25hbChmYWxzZSk7XG4gICAgcmVhZG9ubHkgc21hbGxEZXNrdG9wID0gc2lnbmFsKGZhbHNlKTtcbiAgICByZWFkb25seSBtZWRpdW1EZXNrdG9wID0gc2lnbmFsKGZhbHNlKTtcbiAgICByZWFkb25seSBmdWxsRGVza3RvcCA9IHNpZ25hbChmYWxzZSk7XG4gICAgcmVhZG9ubHkgZnVsbEJpZ0Rlc2t0b3AgPSBzaWduYWwoZmFsc2UpO1xuICAgIHJlYWRvbmx5IG1heERlc2t0b3AgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgcmVhZG9ubHkgbWluU21hbGxUYWJsZXQgPSBzaWduYWwoZmFsc2UpO1xuICAgIHJlYWRvbmx5IG1pbk1lZGl1bVRhYmxldCA9IHNpZ25hbChmYWxzZSk7XG4gICAgcmVhZG9ubHkgbWluRnVsbFRhYmxldCA9IHNpZ25hbChmYWxzZSk7XG4gICAgcmVhZG9ubHkgbWluU21hbGxEZXNrdG9wID0gc2lnbmFsKGZhbHNlKTtcbiAgICByZWFkb25seSBtaW5NZWRpdW1EZXNrdG9wID0gc2lnbmFsKGZhbHNlKTtcbiAgICByZWFkb25seSBtaW5GdWxsRGVza3RvcCA9IHNpZ25hbChmYWxzZSk7XG4gICAgcmVhZG9ubHkgbWluRnVsbEJpZ0Rlc2t0b3AgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgZ2V0IHdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA+IHdpbmRvdy5vdXRlcldpZHRoKSB7XG4gICAgICAgICAgICByZXR1cm4gd2luZG93Lm91dGVyV2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHdpbmRvdy5pbm5lcldpZHRoO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2NyZWVuU2l6ZXJQYXJhbXMgPSBpbmplY3QoU0NSRUVOX1NJWkVSX1BBUkFNU19UT0tFTilcbiAgICAgICAgLnBpeGVsQnJlYWtwb2ludHM7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgZnJvbUV2ZW50KHdpbmRvdywgJ3Jlc2l6ZScpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBkZWJvdW5jZVRpbWUoMjAwKSxcbiAgICAgICAgICAgICAgICBtYXAoKCkgPT4gdGhpcy53aWR0aCksXG4gICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgodGhpcy53aWR0aClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHNpemUpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoc2l6ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1vYmlsZS5zZXQoc2l6ZSA8IHRoaXMuc2NyZWVuU2l6ZXJQYXJhbXMuc21hbGxUYWJsZXQpO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc21hbGxUYWJsZXQuc2V0KFxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSA+PSB0aGlzLnNjcmVlblNpemVyUGFyYW1zLnNtYWxsVGFibGV0ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSA8IHRoaXMuc2NyZWVuU2l6ZXJQYXJhbXMubWVkaXVtVGFibGV0XG4gICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZWRpdW1UYWJsZXQuc2V0KFxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSA+PSB0aGlzLnNjcmVlblNpemVyUGFyYW1zLm1lZGl1bVRhYmxldCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemUgPCB0aGlzLnNjcmVlblNpemVyUGFyYW1zLmZ1bGxUYWJsZXRcbiAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZ1bGxUYWJsZXQuc2V0KFxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSA+PSB0aGlzLnNjcmVlblNpemVyUGFyYW1zLmZ1bGxUYWJsZXQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplIDwgdGhpcy5zY3JlZW5TaXplclBhcmFtcy5zbWFsbERlc2t0b3BcbiAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNtYWxsRGVza3RvcC5zZXQoXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplID49IHRoaXMuc2NyZWVuU2l6ZXJQYXJhbXMuc21hbGxEZXNrdG9wICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSA8IHRoaXMuc2NyZWVuU2l6ZXJQYXJhbXMubWVkaXVtRGVza3RvcFxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWVkaXVtRGVza3RvcC5zZXQoXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplID49IHRoaXMuc2NyZWVuU2l6ZXJQYXJhbXMubWVkaXVtRGVza3RvcCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemUgPCB0aGlzLnNjcmVlblNpemVyUGFyYW1zLmZ1bGxEZXNrdG9wXG4gICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mdWxsRGVza3RvcC5zZXQoXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplID49IHRoaXMuc2NyZWVuU2l6ZXJQYXJhbXMuZnVsbERlc2t0b3AgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplIDwgdGhpcy5zY3JlZW5TaXplclBhcmFtcy5mdWxsQmlnRGVza3RvcFxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZnVsbEJpZ0Rlc2t0b3Auc2V0KFxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSA+PSB0aGlzLnNjcmVlblNpemVyUGFyYW1zLmZ1bGxCaWdEZXNrdG9wICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSA8IHRoaXMuc2NyZWVuU2l6ZXJQYXJhbXMubWF4RGVza3RvcFxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWF4RGVza3RvcC5zZXQoXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplID49IHRoaXMuc2NyZWVuU2l6ZXJQYXJhbXMubWF4RGVza3RvcFxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWluU21hbGxUYWJsZXQuc2V0KFxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSA+PSB0aGlzLnNjcmVlblNpemVyUGFyYW1zLnNtYWxsVGFibGV0XG4gICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5taW5NZWRpdW1UYWJsZXQuc2V0KFxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSA+PSB0aGlzLnNjcmVlblNpemVyUGFyYW1zLm1lZGl1bVRhYmxldFxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWluRnVsbFRhYmxldC5zZXQoXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplID49IHRoaXMuc2NyZWVuU2l6ZXJQYXJhbXMuZnVsbFRhYmxldFxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWluU21hbGxEZXNrdG9wLnNldChcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemUgPj0gdGhpcy5zY3JlZW5TaXplclBhcmFtcy5zbWFsbERlc2t0b3BcbiAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1pbk1lZGl1bURlc2t0b3Auc2V0KFxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSA+PSB0aGlzLnNjcmVlblNpemVyUGFyYW1zLm1lZGl1bURlc2t0b3BcbiAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1pbkZ1bGxEZXNrdG9wLnNldChcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemUgPj0gdGhpcy5zY3JlZW5TaXplclBhcmFtcy5mdWxsRGVza3RvcFxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWluRnVsbEJpZ0Rlc2t0b3Auc2V0KFxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSA+PSB0aGlzLnNjcmVlblNpemVyUGFyYW1zLmZ1bGxCaWdEZXNrdG9wXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaXNNb2JpbGVJbnN0YW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5tb2JpbGUoKTtcbiAgICB9XG5cbiAgICBpc1NtYWxsVGFibGV0SW5zdGFudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc21hbGxUYWJsZXQoKTtcbiAgICB9XG5cbiAgICBpc01lZGl1bVRhYmxldEluc3RhbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1lZGl1bVRhYmxldCgpO1xuICAgIH1cblxuICAgIGlzRnVsbFRhYmxldEluc3RhbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZ1bGxUYWJsZXQoKTtcbiAgICB9XG5cbiAgICBpc1NtYWxsRGVza3RvcEluc3RhbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNtYWxsRGVza3RvcCgpO1xuICAgIH1cblxuICAgIGlzTWVkaXVtRGVza3RvcEluc3RhbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1lZGl1bURlc2t0b3AoKTtcbiAgICB9XG5cbiAgICBpc0Z1bGxEZXNrdG9wSW5zdGFudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZnVsbERlc2t0b3AoKTtcbiAgICB9XG5cbiAgICBpc0Z1bGxCaWdEZXNrdG9wSW5zdGFudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZnVsbEJpZ0Rlc2t0b3AoKTtcbiAgICB9XG5cbiAgICBpc01heERlc2t0b3BJbnN0YW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5tYXhEZXNrdG9wKCk7XG4gICAgfVxuXG4gICAgbWluU21hbGxUYWJsZXRJbnN0YW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5taW5TbWFsbFRhYmxldCgpO1xuICAgIH1cblxuICAgIG1pbk1lZGl1bVRhYmxldEluc3RhbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1pbk1lZGl1bVRhYmxldCgpO1xuICAgIH1cblxuICAgIG1pbkZ1bGxUYWJsZXRJbnN0YW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5taW5GdWxsVGFibGV0KCk7XG4gICAgfVxuXG4gICAgbWluU21hbGxEZXNrdG9wSW5zdGFudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWluU21hbGxEZXNrdG9wKCk7XG4gICAgfVxuXG4gICAgbWluTWVkaXVtRGVza3RvcEluc3RhbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1pbk1lZGl1bURlc2t0b3AoKTtcbiAgICB9XG5cbiAgICBtaW5GdWxsRGVza3RvcEluc3RhbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1pbkZ1bGxEZXNrdG9wKCk7XG4gICAgfVxuXG4gICAgbWluRnVsbEJpZ0Rlc2t0b3BJbnN0YW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5taW5GdWxsQmlnRGVza3RvcCgpO1xuICAgIH1cbn1cbiJdfQ==