ctt-babylon 0.8.10 → 0.8.12

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 (784) 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-adventages-v2/babylon-adventages-v2.component.mjs +12 -0
  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 +17 -0
  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-list-box-info/babylon-list-box-info.component.mjs +11 -0
  70. package/esm2022/lib/components/core/babylon-list-c3-img-txt/babylon-list-c3-img-txt.component.mjs +11 -0
  71. package/esm2022/lib/components/core/babylon-list-grid/babylon-list-grid.component.mjs +5 -15
  72. package/esm2022/lib/components/core/babylon-list-img/babylon-list-img.component.mjs +78 -0
  73. package/esm2022/lib/components/core/babylon-list-img-info/babylon-list-img-info.component.mjs +11 -0
  74. package/esm2022/lib/components/core/babylon-list-img-v2/babylon-list-img-v2.component.mjs +11 -0
  75. package/esm2022/lib/components/core/babylon-loyalty-table/babylon-loyalty-table.component.mjs +65 -0
  76. package/esm2022/lib/components/core/babylon-menu-modal/babylon-menu-modal.component.mjs +19 -0
  77. package/esm2022/lib/components/core/babylon-newsletter/babylon-newsletter.component.mjs +9 -52
  78. package/esm2022/lib/components/core/babylon-newsletter-modal/babylon-newsletter-modal.component.mjs +19 -0
  79. package/esm2022/lib/components/core/babylon-offer-detail/babylon-offer-detail.component.mjs +5 -37
  80. package/esm2022/lib/components/core/babylon-offer-detail-v2/babylon-offer-detail-v2.component.mjs +11 -0
  81. package/esm2022/lib/components/core/babylon-offer-popup/babylon-offer-popup.component.mjs +11 -34
  82. package/esm2022/lib/components/core/babylon-offer-popup-v2/babylon-offer-popup-v2.component.mjs +19 -0
  83. package/esm2022/lib/components/core/babylon-offer-slider/babylon-offer-slider.component.mjs +5 -20
  84. package/esm2022/lib/components/core/babylon-offers-list/babylon-offers-list.component.mjs +5 -47
  85. package/esm2022/lib/components/core/babylon-offers-slider/babylon-offers-slider.component.mjs +5 -20
  86. package/esm2022/lib/components/core/babylon-preload/babylon-preload.component.mjs +4 -28
  87. package/esm2022/lib/components/core/babylon-reviews/babylon-reviews.component.mjs +11 -0
  88. package/esm2022/lib/components/core/babylon-room-details/babylon-room-details.component.mjs +5 -19
  89. package/esm2022/lib/components/core/babylon-rooms-cols/babylon-rooms-cols.component.mjs +5 -158
  90. package/esm2022/lib/components/core/babylon-rooms-grid/babylon-rooms-grid.component.mjs +6 -19
  91. package/esm2022/lib/components/core/babylon-rooms-list/babylon-rooms-list.component.mjs +6 -32
  92. package/esm2022/lib/components/core/babylon-rooms-list-v2/babylon-rooms-list-v2.component.mjs +11 -0
  93. package/esm2022/lib/components/core/babylon-rooms-slider/babylon-rooms-slider.component.mjs +5 -25
  94. package/esm2022/lib/components/core/babylon-services-slider/babylon-services-slider.component.mjs +5 -17
  95. package/esm2022/lib/components/core/babylon-simple-img-info/babylon-simple-img-info.component.mjs +12 -0
  96. package/esm2022/lib/components/core/babylon-slider-box/babylon-slider-box.component.mjs +12 -0
  97. package/esm2022/lib/components/core/babylon-slider-img-static/babylon-slider-img-static.component.mjs +12 -0
  98. package/esm2022/lib/components/core/babylon-slider-img-static-v2/babylon-slider-img-static-v2.component.mjs +13 -0
  99. package/esm2022/lib/components/core/babylon-slider-img-video/babylon-slider-img-video.component.mjs +52 -0
  100. package/esm2022/lib/components/core/babylon-slider2col/babylon-slider2col.component.mjs +5 -28
  101. package/esm2022/lib/components/core/babylon-slider2col-v2/babylon-slider2col-v2.component.mjs +13 -0
  102. package/esm2022/lib/components/core/babylon-slider2items/babylon-slider2items.component.mjs +5 -15
  103. package/esm2022/lib/components/core/babylon-slider3col/babylon-slider3colcomponent.mjs +11 -0
  104. package/esm2022/lib/components/core/babylon-slider3col-v2/babylon-slider3col-v2.component.mjs +12 -0
  105. package/esm2022/lib/components/core/babylon-slider3items/babylon-slider3items.component.mjs +5 -14
  106. package/esm2022/lib/components/core/babylon-slider4col/babylon-slider4col.component.mjs +5 -37
  107. package/esm2022/lib/components/core/babylon-social-bar/babylon-social-bar.component.mjs +11 -0
  108. package/esm2022/lib/components/core/babylon-social-bar-v2/babylon-social-bar-v2.component.mjs +11 -0
  109. package/esm2022/lib/components/core/babylon-static-footer/babylon-static-footer.component.mjs +6 -104
  110. package/esm2022/lib/components/core/babylon-static-footer-v2/babylon-static-footer-v2.component.mjs +8 -48
  111. package/esm2022/lib/components/core/babylon-static-footer-v3/babylon-static-footer-v3.component.mjs +67 -0
  112. package/esm2022/lib/components/core/babylon-submenu-hotel/babylon-submenu-hotel.component.mjs +5 -35
  113. package/esm2022/lib/components/core/babylon-thanks/babylon-thanks.component.mjs +5 -18
  114. package/esm2022/lib/components/core/babylon-top-simple-banner/babylon-top-simple-banner.component.mjs +15 -0
  115. package/esm2022/lib/components/core/babylon-top-simple-img/babylon-top-simple-img.component.mjs +11 -0
  116. package/esm2022/lib/components/core/babylon-top-slider/babylon-top-slider.component.mjs +5 -187
  117. package/esm2022/lib/components/core/babylon-top-slider-thumbs/babylon-top-slider-thumbs.component.mjs +6 -33
  118. package/esm2022/lib/components/core/babylon-top-slider-v2/babylon-top-slider-v2.component.mjs +5 -22
  119. package/esm2022/lib/components/core/babylon-top-slider-video/babylon-top-slider-video.component.mjs +5 -194
  120. package/esm2022/lib/components/core/babylon-top-slider-video-v2/babylon-top-slider-video-v2.component.mjs +12 -0
  121. package/esm2022/lib/components/core/babylon-variant-selector/babylon-variant-selector.component.mjs +82 -0
  122. package/esm2022/lib/components/core/babylon-webmap/babylon-webmap.component.mjs +5 -23
  123. package/esm2022/lib/components/core/babylon-webmap-v2/babylon-webmap-v2.component.mjs +11 -0
  124. package/esm2022/lib/directives/images/swap-on-reload.directive.mjs +83 -0
  125. package/esm2022/lib/directives/scroll/scroll-to.directive.mjs +183 -0
  126. package/esm2022/lib/directives/sliders/slick-init.directive.mjs +211 -0
  127. package/esm2022/lib/directives/sliders/slider-fix-arrows.directive.mjs +105 -0
  128. package/esm2022/lib/directives/utils/sticky-avoid-footer.directive.mjs +91 -0
  129. package/esm2022/lib/services/index.mjs +1 -3
  130. package/esm2022/lib/services/screen-sizer/screen-sizer.service.mjs +35 -46
  131. package/esm2022/lib/services/scroll/scroll-spy.service.mjs +50 -0
  132. package/esm2022/public-api.mjs +114 -11
  133. package/fesm2022/ctt-babylon.mjs +2510 -9491
  134. package/fesm2022/ctt-babylon.mjs.map +1 -1
  135. package/lib/components/core/babylon-404/babylon-404.component.d.ts +1 -8
  136. package/lib/components/core/babylon-404-v2/babylon-404-v2.component.d.ts +5 -0
  137. package/lib/components/core/babylon-advantages/babylon-advantages.component.d.ts +1 -14
  138. package/lib/components/core/babylon-adventages-v2/babylon-adventages-v2.component.d.ts +5 -0
  139. package/lib/components/core/babylon-banner-gallery/babylon-banner-gallery.component.d.ts +1 -11
  140. package/lib/components/core/babylon-banner-info/babylon-banner-info.component.d.ts +2 -25
  141. package/lib/components/core/babylon-banner-newsletter/babylon-banner-newsletter.component.d.ts +1 -16
  142. package/lib/components/core/babylon-blog-details/babylon-blog-details.component.d.ts +1 -39
  143. package/lib/components/core/babylon-blog-list/babylon-blog-list.component.d.ts +2 -47
  144. package/lib/components/core/babylon-breadcrumb/babylon-breadcrumb.component.d.ts +1 -4
  145. package/lib/components/core/babylon-breadcrumb-v2/babylon-breadcrumb-v2.component.d.ts +5 -0
  146. package/lib/components/core/babylon-comingsoon/babylon-comingsoon.component.d.ts +1 -12
  147. package/lib/components/core/babylon-contact-form/babylon-contact-form.component.d.ts +6 -35
  148. package/lib/components/core/babylon-contact-form-v2/babylon-contact-form-v2.component.d.ts +10 -0
  149. package/lib/components/core/babylon-contact-how/babylon-contact-how.component.d.ts +2 -14
  150. package/lib/components/core/babylon-contact-map/babylon-contact-map.component.d.ts +2 -16
  151. package/lib/components/core/babylon-container-text-l2/babylon-container-text-l2.component.d.ts +6 -0
  152. package/lib/components/core/babylon-engine/babylon-engine.component.d.ts +11 -71
  153. package/lib/components/core/babylon-engine-modal/babylon-engine-modal.component.d.ts +16 -60
  154. package/lib/components/core/babylon-engine-modal-v2/babylon-engine-modal-v2.component.d.ts +44 -0
  155. package/lib/components/core/babylon-faq/babylon-faq.component.d.ts +1 -15
  156. package/lib/components/core/babylon-faq-v2/babylon-faq-v2.component.d.ts +7 -0
  157. package/lib/components/core/babylon-feature-pills/babylon-feature-pills.component.d.ts +5 -0
  158. package/lib/components/core/babylon-feature-pills-number/babylon-feature-pills-number.component.d.ts +5 -0
  159. package/lib/components/core/babylon-features-slider/babylon-features-slider.component.d.ts +2 -18
  160. package/lib/components/core/babylon-filter-modal/babylon-filter-modal.component.d.ts +3 -8
  161. package/lib/components/core/babylon-filter-modal-v2/babylon-filter-modal-v2.component.d.ts +10 -0
  162. package/lib/components/core/babylon-footer-contact/babylon-footer-contact.component.d.ts +1 -24
  163. package/lib/components/core/babylon-footer-links/babylon-footer-links.component.d.ts +1 -5
  164. package/lib/components/core/babylon-footer-logos/babylon-footer-logos.component.d.ts +1 -11
  165. package/lib/components/core/babylon-footer-social/babylon-footer-social.component.d.ts +1 -5
  166. package/lib/components/core/babylon-gallery/babylon-gallery.component.d.ts +8 -34
  167. package/lib/components/core/babylon-gallery-v2/babylon-gallery-v2.component.d.ts +22 -0
  168. package/lib/components/core/babylon-grid-gallery/babylon-grid-gallery.component.d.ts +2 -19
  169. package/lib/components/core/babylon-guests-popup/babylon-guests-popup.component.d.ts +7 -24
  170. package/lib/components/core/babylon-head-intro/babylon-head-intro.component.d.ts +1 -9
  171. package/lib/components/core/babylon-header-book-show/babylon-header-book-show.component.d.ts +7 -35
  172. package/lib/components/core/babylon-header-clear/babylon-header-clear.component.d.ts +9 -34
  173. package/lib/components/core/babylon-header-clear-v2/babylon-header-clear-v2.component.d.ts +16 -0
  174. package/lib/components/core/babylon-header-menu-center/babylon-header-menu-center.component.d.ts +8 -33
  175. package/lib/components/core/babylon-header-menu-show/babylon-header-menu-show.component.d.ts +8 -29
  176. package/lib/components/core/babylon-hotels-list/babylon-hotels-list.component.d.ts +1 -5
  177. package/lib/components/core/babylon-hotels-slider/babylon-hotels-slider.component.d.ts +1 -5
  178. package/lib/components/core/babylon-img-banner/babylon-img-banner.component.d.ts +5 -0
  179. package/lib/components/core/babylon-info-big/babylon-info-big.component.d.ts +1 -9
  180. package/lib/components/core/babylon-info-big-v2/babylon-info-big-v2.component.d.ts +12 -0
  181. package/lib/components/core/babylon-info-big-v3/babylon-info-big-v3.component.d.ts +5 -0
  182. package/lib/components/core/babylon-info-circle-imgs/babylon-info-circle-imgs.component.d.ts +5 -0
  183. package/lib/components/core/babylon-info-grid/babylon-info-grid.component.d.ts +3 -22
  184. package/lib/components/core/babylon-info-img/babylon-info-img.component.d.ts +2 -40
  185. package/lib/components/core/babylon-info-img-v2/babylon-info-img-v2.component.d.ts +5 -0
  186. package/lib/components/core/babylon-info-intro/babylon-info-intro.component.d.ts +1 -26
  187. package/lib/components/core/babylon-info-show-img/babylon-info-show-img.component.d.ts +1 -3
  188. package/lib/components/core/babylon-info-zig-zag/babylon-info-zig-zag.component.d.ts +1 -29
  189. package/lib/components/core/babylon-info-zigzag-v2/babylon-info-zigzag-v2.component.d.ts +1 -16
  190. package/lib/components/core/babylon-info-zigzag-v3/babylon-info-zigzag-v3.component.d.ts +6 -0
  191. package/lib/components/core/babylon-info-zigzag-v3-1/babylon-info-zigzag-v3-1.component.d.ts +5 -0
  192. package/lib/components/core/babylon-info-zigzag-v4/babylon-info-zigzag-v4.component.d.ts +5 -0
  193. package/lib/components/core/babylon-info2img/babylon-info2img.component.d.ts +1 -14
  194. package/lib/components/core/babylon-info2img-big/babylon-info2img-big.component.d.ts +1 -16
  195. package/lib/components/core/babylon-info3img/babylon-info3img.component.d.ts +1 -9
  196. package/lib/components/core/babylon-info4img/babylon-info4img.component.d.ts +1 -11
  197. package/lib/components/core/babylon-items-grid/babylon-items-grid.component.d.ts +1 -14
  198. package/lib/components/core/babylon-language-modal/babylon-language-modal.component.d.ts +5 -12
  199. package/lib/components/core/babylon-language-modal-v2/babylon-language-modal-v2.component.d.ts +12 -0
  200. package/lib/components/core/babylon-legal/babylon-legal.component.d.ts +1 -9
  201. package/lib/components/core/babylon-list-box-info/babylon-list-box-info.component.d.ts +5 -0
  202. package/lib/components/core/babylon-list-c3-img-txt/babylon-list-c3-img-txt.component.d.ts +5 -0
  203. package/lib/components/core/babylon-list-grid/babylon-list-grid.component.d.ts +1 -17
  204. package/lib/components/core/babylon-list-img/babylon-list-img.component.d.ts +17 -0
  205. package/lib/components/core/babylon-list-img-info/babylon-list-img-info.component.d.ts +5 -0
  206. package/lib/components/core/babylon-list-img-v2/babylon-list-img-v2.component.d.ts +5 -0
  207. package/lib/components/core/babylon-loyalty-table/babylon-loyalty-table.component.d.ts +10 -0
  208. package/lib/components/core/babylon-menu-modal/babylon-menu-modal.component.d.ts +7 -0
  209. package/lib/components/core/babylon-newsletter/babylon-newsletter.component.d.ts +3 -19
  210. package/lib/components/core/babylon-newsletter-modal/babylon-newsletter-modal.component.d.ts +7 -0
  211. package/lib/components/core/babylon-offer-detail/babylon-offer-detail.component.d.ts +1 -16
  212. package/lib/components/core/babylon-offer-detail-v2/babylon-offer-detail-v2.component.d.ts +5 -0
  213. package/lib/components/core/babylon-offer-popup/babylon-offer-popup.component.d.ts +5 -18
  214. package/lib/components/core/babylon-offer-popup-v2/babylon-offer-popup-v2.component.d.ts +7 -0
  215. package/lib/components/core/babylon-offer-slider/babylon-offer-slider.component.d.ts +1 -6
  216. package/lib/components/core/babylon-offers-list/babylon-offers-list.component.d.ts +2 -33
  217. package/lib/components/core/babylon-offers-slider/babylon-offers-slider.component.d.ts +1 -5
  218. package/lib/components/core/babylon-preload/babylon-preload.component.d.ts +1 -5
  219. package/lib/components/core/babylon-reviews/babylon-reviews.component.d.ts +5 -0
  220. package/lib/components/core/babylon-room-details/babylon-room-details.component.d.ts +1 -13
  221. package/lib/components/core/babylon-rooms-cols/babylon-rooms-cols.component.d.ts +1 -39
  222. package/lib/components/core/babylon-rooms-grid/babylon-rooms-grid.component.d.ts +1 -10
  223. package/lib/components/core/babylon-rooms-list/babylon-rooms-list.component.d.ts +1 -27
  224. package/lib/components/core/babylon-rooms-list-v2/babylon-rooms-list-v2.component.d.ts +5 -0
  225. package/lib/components/core/babylon-rooms-slider/babylon-rooms-slider.component.d.ts +1 -6
  226. package/lib/components/core/babylon-services-slider/babylon-services-slider.component.d.ts +1 -7
  227. package/lib/components/core/babylon-simple-img-info/babylon-simple-img-info.component.d.ts +5 -0
  228. package/lib/components/core/babylon-slider-box/babylon-slider-box.component.d.ts +5 -0
  229. package/lib/components/core/babylon-slider-img-static/babylon-slider-img-static.component.d.ts +5 -0
  230. package/lib/components/core/babylon-slider-img-static-v2/babylon-slider-img-static-v2.component.d.ts +5 -0
  231. package/lib/components/core/babylon-slider-img-video/babylon-slider-img-video.component.d.ts +9 -0
  232. package/lib/components/core/babylon-slider2col/babylon-slider2col.component.d.ts +1 -22
  233. package/lib/components/core/babylon-slider2col-v2/babylon-slider2col-v2.component.d.ts +5 -0
  234. package/lib/components/core/babylon-slider2items/babylon-slider2items.component.d.ts +1 -5
  235. package/lib/components/core/babylon-slider3col/babylon-slider3colcomponent.d.ts +5 -0
  236. package/lib/components/core/babylon-slider3col-v2/babylon-slider3col-v2.component.d.ts +5 -0
  237. package/lib/components/core/babylon-slider3items/babylon-slider3items.component.d.ts +1 -15
  238. package/lib/components/core/babylon-slider4col/babylon-slider4col.component.d.ts +1 -15
  239. package/lib/components/core/babylon-social-bar/babylon-social-bar.component.d.ts +5 -0
  240. package/lib/components/core/babylon-social-bar-v2/babylon-social-bar-v2.component.d.ts +5 -0
  241. package/lib/components/core/babylon-static-footer/babylon-static-footer.component.d.ts +2 -55
  242. package/lib/components/core/babylon-static-footer-v2/babylon-static-footer-v2.component.d.ts +3 -24
  243. package/lib/components/core/babylon-static-footer-v3/babylon-static-footer-v3.component.d.ts +12 -0
  244. package/lib/components/core/babylon-submenu-hotel/babylon-submenu-hotel.component.d.ts +2 -13
  245. package/lib/components/core/babylon-thanks/babylon-thanks.component.d.ts +1 -7
  246. package/lib/components/core/babylon-top-simple-banner/babylon-top-simple-banner.component.d.ts +6 -0
  247. package/lib/components/core/babylon-top-simple-img/babylon-top-simple-img.component.d.ts +5 -0
  248. package/lib/components/core/babylon-top-slider/babylon-top-slider.component.d.ts +2 -37
  249. package/lib/components/core/babylon-top-slider-thumbs/babylon-top-slider-thumbs.component.d.ts +2 -12
  250. package/lib/components/core/babylon-top-slider-v2/babylon-top-slider-v2.component.d.ts +1 -10
  251. package/lib/components/core/babylon-top-slider-video/babylon-top-slider-video.component.d.ts +2 -34
  252. package/lib/components/core/babylon-top-slider-video-v2/babylon-top-slider-video-v2.component.d.ts +5 -0
  253. package/lib/components/core/babylon-variant-selector/babylon-variant-selector.component.d.ts +12 -0
  254. package/lib/components/core/babylon-webmap/babylon-webmap.component.d.ts +1 -11
  255. package/lib/components/core/babylon-webmap-v2/babylon-webmap-v2.component.d.ts +5 -0
  256. package/lib/directives/images/swap-on-reload.directive.d.ts +22 -0
  257. package/lib/directives/scroll/scroll-to.directive.d.ts +31 -0
  258. package/lib/directives/sliders/slick-init.directive.d.ts +14 -0
  259. package/lib/directives/sliders/slider-fix-arrows.directive.d.ts +21 -0
  260. package/lib/directives/utils/sticky-avoid-footer.directive.d.ts +24 -0
  261. package/lib/services/index.d.ts +0 -2
  262. package/lib/services/screen-sizer/screen-sizer.service.d.ts +0 -2
  263. package/lib/services/scroll/scroll-spy.service.d.ts +17 -0
  264. package/lib/styles/styles/babylon/scss-daba/airDatePicker.min.css +13 -0
  265. package/lib/styles/styles/babylon/scss-daba/aos.min.css +1 -0
  266. package/lib/styles/styles/babylon/scss-daba/buttons.css +1 -0
  267. package/lib/styles/styles/babylon/scss-daba/buttons.scss +441 -0
  268. package/lib/styles/styles/babylon/scss-daba/fancybox.css +829 -0
  269. package/lib/styles/styles/babylon/scss-daba/fancybox.min.css +1 -0
  270. package/lib/styles/styles/babylon/scss-daba/funciones.scss +491 -0
  271. package/lib/styles/styles/babylon/scss-daba/inputs.css +1 -0
  272. package/lib/styles/styles/babylon/scss-daba/inputs.scss +168 -0
  273. package/lib/styles/styles/babylon/scss-daba/jquery.fancybox.min.css +1 -0
  274. package/lib/styles/styles/babylon/scss-daba/style.css +1 -0
  275. package/lib/styles/styles/babylon/scss-daba/style.scss +445 -0
  276. package/lib/styles/styles/babylon/scss-daba/swiper-bundle.min.css +635 -0
  277. package/lib/styles/styles-babylon.scss +7 -48
  278. package/package.json +4 -11
  279. package/public-api.d.ts +111 -6
  280. package/esm2022/lib/Enum/buttons-type.enum.mjs +0 -6
  281. package/esm2022/lib/Enum/index.mjs +0 -3
  282. package/esm2022/lib/Enum/logo-type.enum.mjs +0 -10
  283. package/esm2022/lib/Enum/services.enum.mjs +0 -8
  284. package/esm2022/lib/Enum/views.enum.mjs +0 -5
  285. package/esm2022/lib/components/core/babylon-404/babylon-404.interface.mjs +0 -2
  286. package/esm2022/lib/components/core/babylon-404/index.mjs +0 -3
  287. package/esm2022/lib/components/core/babylon-action-banner/babylon-action-banner.component.mjs +0 -30
  288. package/esm2022/lib/components/core/babylon-action-banner/babylon-action-banner.interface.mjs +0 -2
  289. package/esm2022/lib/components/core/babylon-action-banner/index.mjs +0 -3
  290. package/esm2022/lib/components/core/babylon-advantages/babylon-advantages-info.interface.mjs +0 -2
  291. package/esm2022/lib/components/core/babylon-advantages/babylon-advantages.interface.mjs +0 -2
  292. package/esm2022/lib/components/core/babylon-advantages/index.mjs +0 -4
  293. package/esm2022/lib/components/core/babylon-banner-gallery/babylon-banner-gallery.interface.mjs +0 -2
  294. package/esm2022/lib/components/core/babylon-banner-gallery/index.mjs +0 -3
  295. package/esm2022/lib/components/core/babylon-banner-info/babylon-banner-info.interface.mjs +0 -2
  296. package/esm2022/lib/components/core/babylon-banner-info/index.mjs +0 -3
  297. package/esm2022/lib/components/core/babylon-banner-newsletter/babylon-banner-newsletter.interface.mjs +0 -2
  298. package/esm2022/lib/components/core/babylon-banner-newsletter/index.mjs +0 -3
  299. package/esm2022/lib/components/core/babylon-blog-details/babylon-blog-details.interface.mjs +0 -2
  300. package/esm2022/lib/components/core/babylon-blog-details/index.mjs +0 -3
  301. package/esm2022/lib/components/core/babylon-blog-list/babylon-blog-list.interface.mjs +0 -2
  302. package/esm2022/lib/components/core/babylon-blog-list/index.mjs +0 -3
  303. package/esm2022/lib/components/core/babylon-breadcrumb/babylon-breadcrumb.interface.mjs +0 -2
  304. package/esm2022/lib/components/core/babylon-breadcrumb/index.mjs +0 -3
  305. package/esm2022/lib/components/core/babylon-color-picker/babylon-color-picker.component.mjs +0 -267
  306. package/esm2022/lib/components/core/babylon-color-picker/index.mjs +0 -2
  307. package/esm2022/lib/components/core/babylon-comingsoon/babylon-comingsoon.interface.mjs +0 -2
  308. package/esm2022/lib/components/core/babylon-comingsoon/index.mjs +0 -3
  309. package/esm2022/lib/components/core/babylon-contact-address/babylon-contact-address.component.mjs +0 -19
  310. package/esm2022/lib/components/core/babylon-contact-address/babylon-contact-address.interface.mjs +0 -2
  311. package/esm2022/lib/components/core/babylon-contact-address/index.mjs +0 -3
  312. package/esm2022/lib/components/core/babylon-contact-form/babylon-contact-form.interface.mjs +0 -2
  313. package/esm2022/lib/components/core/babylon-contact-form/index.mjs +0 -3
  314. package/esm2022/lib/components/core/babylon-contact-how/babylon-contact-how.interface.mjs +0 -2
  315. package/esm2022/lib/components/core/babylon-contact-how/index.mjs +0 -3
  316. package/esm2022/lib/components/core/babylon-contact-map/babylon-contact-map.interface.mjs +0 -2
  317. package/esm2022/lib/components/core/babylon-contact-map/index.mjs +0 -3
  318. package/esm2022/lib/components/core/babylon-engine/babylon-engine.interface.mjs +0 -2
  319. package/esm2022/lib/components/core/babylon-engine/index.mjs +0 -3
  320. package/esm2022/lib/components/core/babylon-engine-modal/babylon-engine-modal.interface.mjs +0 -2
  321. package/esm2022/lib/components/core/babylon-engine-modal/index.mjs +0 -3
  322. package/esm2022/lib/components/core/babylon-external-script/babylon-external-script.component.mjs +0 -80
  323. package/esm2022/lib/components/core/babylon-external-script/babylon-external-script.interface.mjs +0 -2
  324. package/esm2022/lib/components/core/babylon-external-script/index.mjs +0 -3
  325. package/esm2022/lib/components/core/babylon-faq/babylon-faq.interface.mjs +0 -2
  326. package/esm2022/lib/components/core/babylon-faq/index.mjs +0 -3
  327. package/esm2022/lib/components/core/babylon-features-slider/babylon-features-slider.interface.mjs +0 -2
  328. package/esm2022/lib/components/core/babylon-features-slider/index.mjs +0 -3
  329. package/esm2022/lib/components/core/babylon-filter-modal/index.mjs +0 -2
  330. package/esm2022/lib/components/core/babylon-floating-buttons/babylon-floating-buttons.component.mjs +0 -121
  331. package/esm2022/lib/components/core/babylon-floating-buttons/babylon-floating-buttons.interface.mjs +0 -2
  332. package/esm2022/lib/components/core/babylon-floating-buttons/index.mjs +0 -3
  333. package/esm2022/lib/components/core/babylon-footer-contact/babylon-footer-contact.interface.mjs +0 -2
  334. package/esm2022/lib/components/core/babylon-footer-contact/index.mjs +0 -3
  335. package/esm2022/lib/components/core/babylon-footer-links/babylon-footer-links.interface.mjs +0 -2
  336. package/esm2022/lib/components/core/babylon-footer-links/index.mjs +0 -3
  337. package/esm2022/lib/components/core/babylon-footer-logos/babylon-footer-logos.interface.mjs +0 -2
  338. package/esm2022/lib/components/core/babylon-footer-logos/index.mjs +0 -3
  339. package/esm2022/lib/components/core/babylon-footer-social/babylon-footer-social.interface.mjs +0 -3
  340. package/esm2022/lib/components/core/babylon-footer-social/index.mjs +0 -3
  341. package/esm2022/lib/components/core/babylon-gallery/babylon-gallery.interface.mjs +0 -2
  342. package/esm2022/lib/components/core/babylon-gallery/index.mjs +0 -3
  343. package/esm2022/lib/components/core/babylon-global-modal/babylon-global-modal.component.mjs +0 -38
  344. package/esm2022/lib/components/core/babylon-global-modal/babylon-global-modal.interface.mjs +0 -2
  345. package/esm2022/lib/components/core/babylon-global-modal/index.mjs +0 -3
  346. package/esm2022/lib/components/core/babylon-grid-gallery/babylon-grid-gallery.interface.mjs +0 -2
  347. package/esm2022/lib/components/core/babylon-grid-gallery/index.mjs +0 -3
  348. package/esm2022/lib/components/core/babylon-guests-popup/babylon-guests-popup.interface.mjs +0 -2
  349. package/esm2022/lib/components/core/babylon-guests-popup/index.mjs +0 -3
  350. package/esm2022/lib/components/core/babylon-head-intro/babylon-head-intro.interface.mjs +0 -2
  351. package/esm2022/lib/components/core/babylon-head-intro/index.mjs +0 -3
  352. package/esm2022/lib/components/core/babylon-header-book-show/babylon-header-book-show.interface.mjs +0 -2
  353. package/esm2022/lib/components/core/babylon-header-book-show/index.mjs +0 -3
  354. package/esm2022/lib/components/core/babylon-header-clear/babylon-header-clear.interface.mjs +0 -2
  355. package/esm2022/lib/components/core/babylon-header-clear/index.mjs +0 -3
  356. package/esm2022/lib/components/core/babylon-header-menu-center/babylon-header-menu-center.interface.mjs +0 -2
  357. package/esm2022/lib/components/core/babylon-header-menu-center/index.mjs +0 -3
  358. package/esm2022/lib/components/core/babylon-header-menu-logo-center/babylon-header-menu-logo-center.component.mjs +0 -122
  359. package/esm2022/lib/components/core/babylon-header-menu-logo-center/babylon-header-menu-logo-center.interface.mjs +0 -2
  360. package/esm2022/lib/components/core/babylon-header-menu-logo-center/index.mjs +0 -3
  361. package/esm2022/lib/components/core/babylon-header-menu-show/babylon-header-menu-show.interface.mjs +0 -2
  362. package/esm2022/lib/components/core/babylon-header-menu-show/index.mjs +0 -3
  363. package/esm2022/lib/components/core/babylon-header-mobile/babylon-header-mobile.component.mjs +0 -156
  364. package/esm2022/lib/components/core/babylon-header-mobile/babylon-header-mobile.interface.mjs +0 -2
  365. package/esm2022/lib/components/core/babylon-header-mobile/index.mjs +0 -3
  366. package/esm2022/lib/components/core/babylon-hotels-list/babylon-hotel.interface.mjs +0 -2
  367. package/esm2022/lib/components/core/babylon-hotels-list/babylon-hotels-list.interface.mjs +0 -2
  368. package/esm2022/lib/components/core/babylon-hotels-list/index.mjs +0 -4
  369. package/esm2022/lib/components/core/babylon-hotels-slider/babylon-hotels-slider.interface.mjs +0 -2
  370. package/esm2022/lib/components/core/babylon-hotels-slider/index.mjs +0 -3
  371. package/esm2022/lib/components/core/babylon-info-big/babylon-info-big.interface.mjs +0 -2
  372. package/esm2022/lib/components/core/babylon-info-big/index.mjs +0 -3
  373. package/esm2022/lib/components/core/babylon-info-grid/babylon-info-grid.interface.mjs +0 -3
  374. package/esm2022/lib/components/core/babylon-info-grid/index.mjs +0 -3
  375. package/esm2022/lib/components/core/babylon-info-img/babylon-info-img.interface.mjs +0 -2
  376. package/esm2022/lib/components/core/babylon-info-img/index.mjs +0 -3
  377. package/esm2022/lib/components/core/babylon-info-img-slider/babylon-info-img-slider.component.mjs +0 -56
  378. package/esm2022/lib/components/core/babylon-info-img-slider/babylon-info-img-slider.interface.mjs +0 -2
  379. package/esm2022/lib/components/core/babylon-info-img-slider/index.mjs +0 -3
  380. package/esm2022/lib/components/core/babylon-info-intro/babylon-info-intro.interface.mjs +0 -2
  381. package/esm2022/lib/components/core/babylon-info-intro/index.mjs +0 -3
  382. package/esm2022/lib/components/core/babylon-info-show-img/index.mjs +0 -2
  383. package/esm2022/lib/components/core/babylon-info-zig-zag/babylon-info-zig-zag.interface.mjs +0 -2
  384. package/esm2022/lib/components/core/babylon-info-zig-zag/index.mjs +0 -3
  385. package/esm2022/lib/components/core/babylon-info-zig-zag-counter/babylon-info-zig-zag-counter.component.mjs +0 -92
  386. package/esm2022/lib/components/core/babylon-info-zig-zag-counter/babylon-info-zig-zag-counter.interface.mjs +0 -2
  387. package/esm2022/lib/components/core/babylon-info-zig-zag-counter/index.mjs +0 -3
  388. package/esm2022/lib/components/core/babylon-info-zigzag-v2/babylon-info-zigzag-v2.interface.mjs +0 -2
  389. package/esm2022/lib/components/core/babylon-info-zigzag-v2/index.mjs +0 -3
  390. package/esm2022/lib/components/core/babylon-info2col-img/babylon-info2col-img.component.mjs +0 -36
  391. package/esm2022/lib/components/core/babylon-info2col-img/babylon-info2col-img.interface.mjs +0 -2
  392. package/esm2022/lib/components/core/babylon-info2col-img/index.mjs +0 -3
  393. package/esm2022/lib/components/core/babylon-info2img/babylon-info2img.interface.mjs +0 -2
  394. package/esm2022/lib/components/core/babylon-info2img/index.mjs +0 -3
  395. package/esm2022/lib/components/core/babylon-info2img-big/babylon-info2img-big.interface.mjs +0 -2
  396. package/esm2022/lib/components/core/babylon-info2img-big/index.mjs +0 -3
  397. package/esm2022/lib/components/core/babylon-info3img/index.mjs +0 -2
  398. package/esm2022/lib/components/core/babylon-info4img/babylon-info4img.interface.mjs +0 -2
  399. package/esm2022/lib/components/core/babylon-info4img/index.mjs +0 -3
  400. package/esm2022/lib/components/core/babylon-items-grid/babylon-items-grid.interface.mjs +0 -2
  401. package/esm2022/lib/components/core/babylon-items-grid/index.mjs +0 -3
  402. package/esm2022/lib/components/core/babylon-language-modal/babylon-language-modal.interface.mjs +0 -2
  403. package/esm2022/lib/components/core/babylon-language-modal/index.mjs +0 -3
  404. package/esm2022/lib/components/core/babylon-legal/babylon-legal.interface.mjs +0 -2
  405. package/esm2022/lib/components/core/babylon-legal/index.mjs +0 -3
  406. package/esm2022/lib/components/core/babylon-list-grid/babylon-list-grid.interface.mjs +0 -3
  407. package/esm2022/lib/components/core/babylon-list-grid/index.mjs +0 -3
  408. package/esm2022/lib/components/core/babylon-modal-menu/babylon-modal-menu.component.mjs +0 -139
  409. package/esm2022/lib/components/core/babylon-modal-multiple-motors/babylon-modal-multiple-motors.component.mjs +0 -35
  410. package/esm2022/lib/components/core/babylon-modal-multiple-motors/babylon-modal-multiple-motors.interface.mjs +0 -2
  411. package/esm2022/lib/components/core/babylon-modal-multiple-motors/index.mjs +0 -3
  412. package/esm2022/lib/components/core/babylon-modal-popup/babylon-modal-popup.component.mjs +0 -39
  413. package/esm2022/lib/components/core/babylon-modal-popup/babylon-modal-popup.interface.mjs +0 -2
  414. package/esm2022/lib/components/core/babylon-modal-popup/index.mjs +0 -3
  415. package/esm2022/lib/components/core/babylon-newsletter/babylon-newsletter.interface.mjs +0 -3
  416. package/esm2022/lib/components/core/babylon-newsletter/index.mjs +0 -3
  417. package/esm2022/lib/components/core/babylon-offer-detail/babylon-offer-detail.interface.mjs +0 -2
  418. package/esm2022/lib/components/core/babylon-offer-detail/index.mjs +0 -3
  419. package/esm2022/lib/components/core/babylon-offer-popup/babylon-offer-popup.interface.mjs +0 -2
  420. package/esm2022/lib/components/core/babylon-offer-popup/index.mjs +0 -3
  421. package/esm2022/lib/components/core/babylon-offer-popupV2/babylon-offer-popup-v2.component.mjs +0 -49
  422. package/esm2022/lib/components/core/babylon-offer-popupV2/babylon-offer-popup-v2.interface.mjs +0 -2
  423. package/esm2022/lib/components/core/babylon-offer-popupV2/index.mjs +0 -3
  424. package/esm2022/lib/components/core/babylon-offer-slider/babylon-offer-slider.interface.mjs +0 -2
  425. package/esm2022/lib/components/core/babylon-offer-slider/babylon-offer.interface.mjs +0 -2
  426. package/esm2022/lib/components/core/babylon-offer-slider/index.mjs +0 -4
  427. package/esm2022/lib/components/core/babylon-offers-list/babylon-offers-list.interface.mjs +0 -2
  428. package/esm2022/lib/components/core/babylon-offers-list/index.mjs +0 -3
  429. package/esm2022/lib/components/core/babylon-offers-slider/index.mjs +0 -2
  430. package/esm2022/lib/components/core/babylon-preload/index.mjs +0 -2
  431. package/esm2022/lib/components/core/babylon-press-list/babylon-press-list.component.mjs +0 -27
  432. package/esm2022/lib/components/core/babylon-press-list/babylon-press-list.interface.mjs +0 -2
  433. package/esm2022/lib/components/core/babylon-press-list/index.mjs +0 -3
  434. package/esm2022/lib/components/core/babylon-room-details/babylon-room-detail.interface.mjs +0 -2
  435. package/esm2022/lib/components/core/babylon-room-details/index.mjs +0 -3
  436. package/esm2022/lib/components/core/babylon-rooms-cols/babylon-rooms-cols.interface.mjs +0 -2
  437. package/esm2022/lib/components/core/babylon-rooms-cols/index.mjs +0 -3
  438. package/esm2022/lib/components/core/babylon-rooms-grid/babylon-rooms-grid.interface.mjs +0 -2
  439. package/esm2022/lib/components/core/babylon-rooms-grid/index.mjs +0 -3
  440. package/esm2022/lib/components/core/babylon-rooms-list/babylon-rooms-list.interface.mjs +0 -2
  441. package/esm2022/lib/components/core/babylon-rooms-list/index.mjs +0 -3
  442. package/esm2022/lib/components/core/babylon-rooms-slider/babylon-room.interface.mjs +0 -2
  443. package/esm2022/lib/components/core/babylon-rooms-slider/babylon-rooms-slider.interface.mjs +0 -2
  444. package/esm2022/lib/components/core/babylon-rooms-slider/babylon-rooms-text-info.interface.mjs +0 -2
  445. package/esm2022/lib/components/core/babylon-rooms-slider/index.mjs +0 -5
  446. package/esm2022/lib/components/core/babylon-services-slider/babylon-service-slider.interface.mjs +0 -2
  447. package/esm2022/lib/components/core/babylon-services-slider/index.mjs +0 -3
  448. package/esm2022/lib/components/core/babylon-slider2col/index.mjs +0 -2
  449. package/esm2022/lib/components/core/babylon-slider2items/babylon-slider2items.interface.mjs +0 -2
  450. package/esm2022/lib/components/core/babylon-slider2items/index.mjs +0 -3
  451. package/esm2022/lib/components/core/babylon-slider3col/babylon-slider3col.component.mjs +0 -53
  452. package/esm2022/lib/components/core/babylon-slider3col/index.mjs +0 -2
  453. package/esm2022/lib/components/core/babylon-slider3col-clear/babylon-slider3col-clear.component.mjs +0 -11
  454. package/esm2022/lib/components/core/babylon-slider3col-clear/index.mjs +0 -2
  455. package/esm2022/lib/components/core/babylon-slider3items/babylon-slider3items.interface.mjs +0 -2
  456. package/esm2022/lib/components/core/babylon-slider3items/index.mjs +0 -3
  457. package/esm2022/lib/components/core/babylon-slider4col/index.mjs +0 -2
  458. package/esm2022/lib/components/core/babylon-static-footer/babylon-static-footer.interface.mjs +0 -2
  459. package/esm2022/lib/components/core/babylon-static-footer/index.mjs +0 -3
  460. package/esm2022/lib/components/core/babylon-static-footer-v2/babylon-static-footer-v2.interface.mjs +0 -2
  461. package/esm2022/lib/components/core/babylon-static-footer-v2/index.mjs +0 -3
  462. package/esm2022/lib/components/core/babylon-submenu-hotel/babylon-submenu-hotel.interface.mjs +0 -2
  463. package/esm2022/lib/components/core/babylon-submenu-hotel/index.mjs +0 -3
  464. package/esm2022/lib/components/core/babylon-thanks/babylon-thanks.interface.mjs +0 -2
  465. package/esm2022/lib/components/core/babylon-thanks/index.mjs +0 -3
  466. package/esm2022/lib/components/core/babylon-top-slider/babylon-top-slider-item.interface.mjs +0 -2
  467. package/esm2022/lib/components/core/babylon-top-slider/babylon-top-slider.interface.mjs +0 -2
  468. package/esm2022/lib/components/core/babylon-top-slider/index.mjs +0 -4
  469. package/esm2022/lib/components/core/babylon-top-slider-thumbs/babylon-top-slider-thumbs.interface.mjs +0 -2
  470. package/esm2022/lib/components/core/babylon-top-slider-thumbs/index.mjs +0 -3
  471. package/esm2022/lib/components/core/babylon-top-slider-v2/babylon-top-slider-v2-item.interface.mjs +0 -2
  472. package/esm2022/lib/components/core/babylon-top-slider-v2/babylon-top-slider-v2.interface.mjs +0 -2
  473. package/esm2022/lib/components/core/babylon-top-slider-v2/index.mjs +0 -4
  474. package/esm2022/lib/components/core/babylon-top-slider-video/babylon-top-slider-video.interface.mjs +0 -2
  475. package/esm2022/lib/components/core/babylon-top-slider-video/babylon-video-source.interface.mjs +0 -2
  476. package/esm2022/lib/components/core/babylon-top-slider-video/index.mjs +0 -4
  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 -89
  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-up.directive.mjs +0 -27
  498. package/esm2022/lib/interfaces/babylon-button.interface.mjs +0 -2
  499. package/esm2022/lib/interfaces/babylon-consult-type.interface.mjs +0 -2
  500. package/esm2022/lib/interfaces/babylon-dropdown.interface.mjs +0 -2
  501. package/esm2022/lib/interfaces/babylon-global-icon.interface.mjs +0 -2
  502. package/esm2022/lib/interfaces/babylon-image.interface.mjs +0 -2
  503. package/esm2022/lib/interfaces/babylon-input.interface.mjs +0 -2
  504. package/esm2022/lib/interfaces/babylon-menu-button.interface.mjs +0 -2
  505. package/esm2022/lib/interfaces/babylon-menu-info.interface.mjs +0 -2
  506. package/esm2022/lib/interfaces/babylon-page-config.interface.mjs +0 -2
  507. package/esm2022/lib/interfaces/babylon-site-config.interface.mjs +0 -2
  508. package/esm2022/lib/interfaces/babylon-tags.interface.mjs +0 -2
  509. package/esm2022/lib/interfaces/babylon-text-info.interface.mjs +0 -2
  510. package/esm2022/lib/interfaces/babylon-texts-colors.interface.mjs +0 -2
  511. package/esm2022/lib/interfaces/babylon-texts.interface.mjs +0 -2
  512. package/esm2022/lib/interfaces/index.mjs +0 -15
  513. package/esm2022/lib/pipes/babylon-clean-phone.pipe.mjs +0 -14
  514. package/esm2022/lib/pipes/babylon-currency.pipe.mjs +0 -29
  515. package/esm2022/lib/services/color-panel.service.mjs +0 -316
  516. package/esm2022/lib/services/mapper/index.mjs +0 -3
  517. package/esm2022/lib/services/mapper/mapper.service.mjs +0 -2551
  518. package/esm2022/lib/services/mapper/mapper.service.token.mjs +0 -3
  519. package/esm2022/lib/services/modals-service/index.mjs +0 -2
  520. package/esm2022/lib/services/modals-service/modals.service.mjs +0 -77
  521. package/esm2022/lib/utils/complex-links.token.mjs +0 -6
  522. package/esm2022/lib/utils/index.mjs +0 -2
  523. package/esm2022/lib/utils/utils.mjs +0 -153
  524. package/lib/Enum/buttons-type.enum.d.ts +0 -4
  525. package/lib/Enum/index.d.ts +0 -2
  526. package/lib/Enum/logo-type.enum.d.ts +0 -8
  527. package/lib/Enum/services.enum.d.ts +0 -6
  528. package/lib/Enum/views.enum.d.ts +0 -3
  529. package/lib/components/core/babylon-404/babylon-404.interface.d.ts +0 -9
  530. package/lib/components/core/babylon-404/index.d.ts +0 -2
  531. package/lib/components/core/babylon-action-banner/babylon-action-banner.component.d.ts +0 -14
  532. package/lib/components/core/babylon-action-banner/babylon-action-banner.interface.d.ts +0 -9
  533. package/lib/components/core/babylon-action-banner/index.d.ts +0 -2
  534. package/lib/components/core/babylon-advantages/babylon-advantages-info.interface.d.ts +0 -5
  535. package/lib/components/core/babylon-advantages/babylon-advantages.interface.d.ts +0 -13
  536. package/lib/components/core/babylon-advantages/index.d.ts +0 -3
  537. package/lib/components/core/babylon-banner-gallery/babylon-banner-gallery.interface.d.ts +0 -9
  538. package/lib/components/core/babylon-banner-gallery/index.d.ts +0 -2
  539. package/lib/components/core/babylon-banner-info/babylon-banner-info.interface.d.ts +0 -10
  540. package/lib/components/core/babylon-banner-info/index.d.ts +0 -2
  541. package/lib/components/core/babylon-banner-newsletter/babylon-banner-newsletter.interface.d.ts +0 -9
  542. package/lib/components/core/babylon-banner-newsletter/index.d.ts +0 -2
  543. package/lib/components/core/babylon-blog-details/babylon-blog-details.interface.d.ts +0 -24
  544. package/lib/components/core/babylon-blog-details/index.d.ts +0 -2
  545. package/lib/components/core/babylon-blog-list/babylon-blog-list.interface.d.ts +0 -18
  546. package/lib/components/core/babylon-blog-list/index.d.ts +0 -2
  547. package/lib/components/core/babylon-breadcrumb/babylon-breadcrumb.interface.d.ts +0 -4
  548. package/lib/components/core/babylon-breadcrumb/index.d.ts +0 -2
  549. package/lib/components/core/babylon-color-picker/babylon-color-picker.component.d.ts +0 -57
  550. package/lib/components/core/babylon-color-picker/index.d.ts +0 -1
  551. package/lib/components/core/babylon-comingsoon/babylon-comingsoon.interface.d.ts +0 -11
  552. package/lib/components/core/babylon-comingsoon/index.d.ts +0 -2
  553. package/lib/components/core/babylon-contact-address/babylon-contact-address.component.d.ts +0 -22
  554. package/lib/components/core/babylon-contact-address/babylon-contact-address.interface.d.ts +0 -4
  555. package/lib/components/core/babylon-contact-address/index.d.ts +0 -2
  556. package/lib/components/core/babylon-contact-form/babylon-contact-form.interface.d.ts +0 -15
  557. package/lib/components/core/babylon-contact-form/index.d.ts +0 -2
  558. package/lib/components/core/babylon-contact-how/babylon-contact-how.interface.d.ts +0 -6
  559. package/lib/components/core/babylon-contact-how/index.d.ts +0 -2
  560. package/lib/components/core/babylon-contact-map/babylon-contact-map.interface.d.ts +0 -8
  561. package/lib/components/core/babylon-contact-map/index.d.ts +0 -2
  562. package/lib/components/core/babylon-engine/babylon-engine.interface.d.ts +0 -24
  563. package/lib/components/core/babylon-engine/index.d.ts +0 -2
  564. package/lib/components/core/babylon-engine-modal/babylon-engine-modal.interface.d.ts +0 -22
  565. package/lib/components/core/babylon-engine-modal/index.d.ts +0 -2
  566. package/lib/components/core/babylon-external-script/babylon-external-script.component.d.ts +0 -21
  567. package/lib/components/core/babylon-external-script/babylon-external-script.interface.d.ts +0 -5
  568. package/lib/components/core/babylon-external-script/index.d.ts +0 -2
  569. package/lib/components/core/babylon-faq/babylon-faq.interface.d.ts +0 -8
  570. package/lib/components/core/babylon-faq/index.d.ts +0 -2
  571. package/lib/components/core/babylon-features-slider/babylon-features-slider.interface.d.ts +0 -8
  572. package/lib/components/core/babylon-features-slider/index.d.ts +0 -2
  573. package/lib/components/core/babylon-filter-modal/index.d.ts +0 -1
  574. package/lib/components/core/babylon-floating-buttons/babylon-floating-buttons.component.d.ts +0 -39
  575. package/lib/components/core/babylon-floating-buttons/babylon-floating-buttons.interface.d.ts +0 -8
  576. package/lib/components/core/babylon-floating-buttons/index.d.ts +0 -2
  577. package/lib/components/core/babylon-footer-contact/babylon-footer-contact.interface.d.ts +0 -14
  578. package/lib/components/core/babylon-footer-contact/index.d.ts +0 -2
  579. package/lib/components/core/babylon-footer-links/babylon-footer-links.interface.d.ts +0 -6
  580. package/lib/components/core/babylon-footer-links/index.d.ts +0 -2
  581. package/lib/components/core/babylon-footer-logos/babylon-footer-logos.interface.d.ts +0 -7
  582. package/lib/components/core/babylon-footer-logos/index.d.ts +0 -2
  583. package/lib/components/core/babylon-footer-social/babylon-footer-social.interface.d.ts +0 -6
  584. package/lib/components/core/babylon-footer-social/index.d.ts +0 -2
  585. package/lib/components/core/babylon-gallery/babylon-gallery.interface.d.ts +0 -12
  586. package/lib/components/core/babylon-gallery/index.d.ts +0 -2
  587. package/lib/components/core/babylon-global-modal/babylon-global-modal.component.d.ts +0 -31
  588. package/lib/components/core/babylon-global-modal/babylon-global-modal.interface.d.ts +0 -8
  589. package/lib/components/core/babylon-global-modal/index.d.ts +0 -2
  590. package/lib/components/core/babylon-grid-gallery/babylon-grid-gallery.interface.d.ts +0 -8
  591. package/lib/components/core/babylon-grid-gallery/index.d.ts +0 -2
  592. package/lib/components/core/babylon-guests-popup/babylon-guests-popup.interface.d.ts +0 -11
  593. package/lib/components/core/babylon-guests-popup/index.d.ts +0 -2
  594. package/lib/components/core/babylon-head-intro/babylon-head-intro.interface.d.ts +0 -10
  595. package/lib/components/core/babylon-head-intro/index.d.ts +0 -2
  596. package/lib/components/core/babylon-header-book-show/babylon-header-book-show.interface.d.ts +0 -20
  597. package/lib/components/core/babylon-header-book-show/index.d.ts +0 -2
  598. package/lib/components/core/babylon-header-clear/babylon-header-clear.interface.d.ts +0 -22
  599. package/lib/components/core/babylon-header-clear/index.d.ts +0 -2
  600. package/lib/components/core/babylon-header-menu-center/babylon-header-menu-center.interface.d.ts +0 -19
  601. package/lib/components/core/babylon-header-menu-center/index.d.ts +0 -2
  602. package/lib/components/core/babylon-header-menu-logo-center/babylon-header-menu-logo-center.component.d.ts +0 -40
  603. package/lib/components/core/babylon-header-menu-logo-center/babylon-header-menu-logo-center.interface.d.ts +0 -23
  604. package/lib/components/core/babylon-header-menu-logo-center/index.d.ts +0 -2
  605. package/lib/components/core/babylon-header-menu-show/babylon-header-menu-show.interface.d.ts +0 -18
  606. package/lib/components/core/babylon-header-menu-show/index.d.ts +0 -2
  607. package/lib/components/core/babylon-header-mobile/babylon-header-mobile.component.d.ts +0 -53
  608. package/lib/components/core/babylon-header-mobile/babylon-header-mobile.interface.d.ts +0 -26
  609. package/lib/components/core/babylon-header-mobile/index.d.ts +0 -2
  610. package/lib/components/core/babylon-hotels-list/babylon-hotel.interface.d.ts +0 -18
  611. package/lib/components/core/babylon-hotels-list/babylon-hotels-list.interface.d.ts +0 -6
  612. package/lib/components/core/babylon-hotels-list/index.d.ts +0 -3
  613. package/lib/components/core/babylon-hotels-slider/babylon-hotels-slider.interface.d.ts +0 -6
  614. package/lib/components/core/babylon-hotels-slider/index.d.ts +0 -2
  615. package/lib/components/core/babylon-info-big/babylon-info-big.interface.d.ts +0 -10
  616. package/lib/components/core/babylon-info-big/index.d.ts +0 -2
  617. package/lib/components/core/babylon-info-grid/babylon-info-grid.interface.d.ts +0 -9
  618. package/lib/components/core/babylon-info-grid/index.d.ts +0 -2
  619. package/lib/components/core/babylon-info-img/babylon-info-img.interface.d.ts +0 -27
  620. package/lib/components/core/babylon-info-img/index.d.ts +0 -2
  621. package/lib/components/core/babylon-info-img-slider/babylon-info-img-slider.component.d.ts +0 -33
  622. package/lib/components/core/babylon-info-img-slider/babylon-info-img-slider.interface.d.ts +0 -11
  623. package/lib/components/core/babylon-info-img-slider/index.d.ts +0 -2
  624. package/lib/components/core/babylon-info-intro/babylon-info-intro.interface.d.ts +0 -19
  625. package/lib/components/core/babylon-info-intro/index.d.ts +0 -2
  626. package/lib/components/core/babylon-info-show-img/index.d.ts +0 -1
  627. package/lib/components/core/babylon-info-zig-zag/babylon-info-zig-zag.interface.d.ts +0 -12
  628. package/lib/components/core/babylon-info-zig-zag/index.d.ts +0 -2
  629. package/lib/components/core/babylon-info-zig-zag-counter/babylon-info-zig-zag-counter.component.d.ts +0 -47
  630. package/lib/components/core/babylon-info-zig-zag-counter/babylon-info-zig-zag-counter.interface.d.ts +0 -14
  631. package/lib/components/core/babylon-info-zig-zag-counter/index.d.ts +0 -2
  632. package/lib/components/core/babylon-info-zigzag-v2/babylon-info-zigzag-v2.interface.d.ts +0 -5
  633. package/lib/components/core/babylon-info-zigzag-v2/index.d.ts +0 -2
  634. package/lib/components/core/babylon-info2col-img/babylon-info2col-img.component.d.ts +0 -21
  635. package/lib/components/core/babylon-info2col-img/babylon-info2col-img.interface.d.ts +0 -12
  636. package/lib/components/core/babylon-info2col-img/index.d.ts +0 -2
  637. package/lib/components/core/babylon-info2img/babylon-info2img.interface.d.ts +0 -11
  638. package/lib/components/core/babylon-info2img/index.d.ts +0 -2
  639. package/lib/components/core/babylon-info2img-big/babylon-info2img-big.interface.d.ts +0 -14
  640. package/lib/components/core/babylon-info2img-big/index.d.ts +0 -2
  641. package/lib/components/core/babylon-info3img/index.d.ts +0 -1
  642. package/lib/components/core/babylon-info4img/babylon-info4img.interface.d.ts +0 -12
  643. package/lib/components/core/babylon-info4img/index.d.ts +0 -2
  644. package/lib/components/core/babylon-items-grid/babylon-items-grid.interface.d.ts +0 -8
  645. package/lib/components/core/babylon-items-grid/index.d.ts +0 -2
  646. package/lib/components/core/babylon-language-modal/babylon-language-modal.interface.d.ts +0 -7
  647. package/lib/components/core/babylon-language-modal/index.d.ts +0 -2
  648. package/lib/components/core/babylon-legal/babylon-legal.interface.d.ts +0 -7
  649. package/lib/components/core/babylon-legal/index.d.ts +0 -2
  650. package/lib/components/core/babylon-list-grid/babylon-list-grid.interface.d.ts +0 -8
  651. package/lib/components/core/babylon-list-grid/index.d.ts +0 -2
  652. package/lib/components/core/babylon-modal-menu/babylon-modal-menu.component.d.ts +0 -45
  653. package/lib/components/core/babylon-modal-multiple-motors/babylon-modal-multiple-motors.component.d.ts +0 -16
  654. package/lib/components/core/babylon-modal-multiple-motors/babylon-modal-multiple-motors.interface.d.ts +0 -8
  655. package/lib/components/core/babylon-modal-multiple-motors/index.d.ts +0 -2
  656. package/lib/components/core/babylon-modal-popup/babylon-modal-popup.component.d.ts +0 -25
  657. package/lib/components/core/babylon-modal-popup/babylon-modal-popup.interface.d.ts +0 -9
  658. package/lib/components/core/babylon-modal-popup/index.d.ts +0 -2
  659. package/lib/components/core/babylon-newsletter/babylon-newsletter.interface.d.ts +0 -9
  660. package/lib/components/core/babylon-newsletter/index.d.ts +0 -2
  661. package/lib/components/core/babylon-offer-detail/babylon-offer-detail.interface.d.ts +0 -17
  662. package/lib/components/core/babylon-offer-detail/index.d.ts +0 -2
  663. package/lib/components/core/babylon-offer-popup/babylon-offer-popup.interface.d.ts +0 -7
  664. package/lib/components/core/babylon-offer-popup/index.d.ts +0 -2
  665. package/lib/components/core/babylon-offer-popupV2/babylon-offer-popup-v2.component.d.ts +0 -21
  666. package/lib/components/core/babylon-offer-popupV2/babylon-offer-popup-v2.interface.d.ts +0 -9
  667. package/lib/components/core/babylon-offer-popupV2/index.d.ts +0 -2
  668. package/lib/components/core/babylon-offer-slider/babylon-offer-slider.interface.d.ts +0 -7
  669. package/lib/components/core/babylon-offer-slider/babylon-offer.interface.d.ts +0 -18
  670. package/lib/components/core/babylon-offer-slider/index.d.ts +0 -3
  671. package/lib/components/core/babylon-offers-list/babylon-offers-list.interface.d.ts +0 -14
  672. package/lib/components/core/babylon-offers-list/index.d.ts +0 -2
  673. package/lib/components/core/babylon-offers-slider/index.d.ts +0 -1
  674. package/lib/components/core/babylon-preload/index.d.ts +0 -1
  675. package/lib/components/core/babylon-press-list/babylon-press-list.component.d.ts +0 -17
  676. package/lib/components/core/babylon-press-list/babylon-press-list.interface.d.ts +0 -8
  677. package/lib/components/core/babylon-press-list/index.d.ts +0 -2
  678. package/lib/components/core/babylon-room-details/babylon-room-detail.interface.d.ts +0 -12
  679. package/lib/components/core/babylon-room-details/index.d.ts +0 -2
  680. package/lib/components/core/babylon-rooms-cols/babylon-rooms-cols.interface.d.ts +0 -10
  681. package/lib/components/core/babylon-rooms-cols/index.d.ts +0 -2
  682. package/lib/components/core/babylon-rooms-grid/babylon-rooms-grid.interface.d.ts +0 -8
  683. package/lib/components/core/babylon-rooms-grid/index.d.ts +0 -2
  684. package/lib/components/core/babylon-rooms-list/babylon-rooms-list.interface.d.ts +0 -6
  685. package/lib/components/core/babylon-rooms-list/index.d.ts +0 -2
  686. package/lib/components/core/babylon-rooms-slider/babylon-room.interface.d.ts +0 -15
  687. package/lib/components/core/babylon-rooms-slider/babylon-rooms-slider.interface.d.ts +0 -6
  688. package/lib/components/core/babylon-rooms-slider/babylon-rooms-text-info.interface.d.ts +0 -8
  689. package/lib/components/core/babylon-rooms-slider/index.d.ts +0 -4
  690. package/lib/components/core/babylon-services-slider/babylon-service-slider.interface.d.ts +0 -6
  691. package/lib/components/core/babylon-services-slider/index.d.ts +0 -2
  692. package/lib/components/core/babylon-slider2col/index.d.ts +0 -1
  693. package/lib/components/core/babylon-slider2items/babylon-slider2items.interface.d.ts +0 -6
  694. package/lib/components/core/babylon-slider2items/index.d.ts +0 -2
  695. package/lib/components/core/babylon-slider3col/babylon-slider3col.component.d.ts +0 -20
  696. package/lib/components/core/babylon-slider3col/index.d.ts +0 -1
  697. package/lib/components/core/babylon-slider3col-clear/babylon-slider3col-clear.component.d.ts +0 -5
  698. package/lib/components/core/babylon-slider3col-clear/index.d.ts +0 -1
  699. package/lib/components/core/babylon-slider3items/babylon-slider3items.interface.d.ts +0 -6
  700. package/lib/components/core/babylon-slider3items/index.d.ts +0 -2
  701. package/lib/components/core/babylon-slider4col/index.d.ts +0 -1
  702. package/lib/components/core/babylon-static-footer/babylon-static-footer.interface.d.ts +0 -29
  703. package/lib/components/core/babylon-static-footer/index.d.ts +0 -2
  704. package/lib/components/core/babylon-static-footer-v2/babylon-static-footer-v2.interface.d.ts +0 -18
  705. package/lib/components/core/babylon-static-footer-v2/index.d.ts +0 -2
  706. package/lib/components/core/babylon-submenu-hotel/babylon-submenu-hotel.interface.d.ts +0 -5
  707. package/lib/components/core/babylon-submenu-hotel/index.d.ts +0 -2
  708. package/lib/components/core/babylon-thanks/babylon-thanks.interface.d.ts +0 -7
  709. package/lib/components/core/babylon-thanks/index.d.ts +0 -2
  710. package/lib/components/core/babylon-top-slider/babylon-top-slider-item.interface.d.ts +0 -9
  711. package/lib/components/core/babylon-top-slider/babylon-top-slider.interface.d.ts +0 -12
  712. package/lib/components/core/babylon-top-slider/index.d.ts +0 -3
  713. package/lib/components/core/babylon-top-slider-thumbs/babylon-top-slider-thumbs.interface.d.ts +0 -8
  714. package/lib/components/core/babylon-top-slider-thumbs/index.d.ts +0 -2
  715. package/lib/components/core/babylon-top-slider-v2/babylon-top-slider-v2-item.interface.d.ts +0 -7
  716. package/lib/components/core/babylon-top-slider-v2/babylon-top-slider-v2.interface.d.ts +0 -8
  717. package/lib/components/core/babylon-top-slider-v2/index.d.ts +0 -3
  718. package/lib/components/core/babylon-top-slider-video/babylon-top-slider-video.interface.d.ts +0 -9
  719. package/lib/components/core/babylon-top-slider-video/babylon-video-source.interface.d.ts +0 -5
  720. package/lib/components/core/babylon-top-slider-video/index.d.ts +0 -3
  721. package/lib/components/core/babylon-webmap/babylon-webmap.interface.d.ts +0 -9
  722. package/lib/components/core/babylon-webmap/index.d.ts +0 -2
  723. package/lib/components/core/index.d.ts +0 -88
  724. package/lib/components/shared/babylon-dynamic-heading/babylon-dynamic-heading.component.d.ts +0 -31
  725. package/lib/components/shared/babylon-dynamic-heading/babylon-dynamic-heading.interface.d.ts +0 -5
  726. package/lib/components/shared/babylon-dynamic-heading/index.d.ts +0 -2
  727. package/lib/components/shared/babylon-search/babylon-search.component.d.ts +0 -30
  728. package/lib/components/shared/babylon-search/index.d.ts +0 -1
  729. package/lib/components/shared/index.d.ts +0 -1
  730. package/lib/directives/babylon-background-strip/babylon-background-strip.directive.d.ts +0 -17
  731. package/lib/directives/babylon-customs/babylon-custom-mouse-pointer.directive.d.ts +0 -12
  732. package/lib/directives/babylon-galleries/babylon-light-gallery.directive.d.ts +0 -18
  733. package/lib/directives/babylon-hobble-effect/babylon-hobble-effect.directive.d.ts +0 -15
  734. package/lib/directives/babylon-pagination/babylon-pagination.directive.d.ts +0 -39
  735. package/lib/directives/babylon-sliders/babylon-custom-slider.directive.d.ts +0 -13
  736. package/lib/directives/babylon-sliders/babylon-sliders.directive.d.ts +0 -36
  737. package/lib/directives/babylon-sliders/babylon-swiper-slider.directive.d.ts +0 -14
  738. package/lib/directives/data-background/data-background.directive.d.ts +0 -11
  739. package/lib/directives/link-type/link-type.directive.d.ts +0 -40
  740. package/lib/directives/scrolls/scroll-up.directive.d.ts +0 -7
  741. package/lib/interfaces/babylon-button.interface.d.ts +0 -9
  742. package/lib/interfaces/babylon-consult-type.interface.d.ts +0 -10
  743. package/lib/interfaces/babylon-dropdown.interface.d.ts +0 -9
  744. package/lib/interfaces/babylon-global-icon.interface.d.ts +0 -4
  745. package/lib/interfaces/babylon-image.interface.d.ts +0 -12
  746. package/lib/interfaces/babylon-input.interface.d.ts +0 -12
  747. package/lib/interfaces/babylon-menu-button.interface.d.ts +0 -10
  748. package/lib/interfaces/babylon-menu-info.interface.d.ts +0 -27
  749. package/lib/interfaces/babylon-page-config.interface.d.ts +0 -43
  750. package/lib/interfaces/babylon-site-config.interface.d.ts +0 -57
  751. package/lib/interfaces/babylon-tags.interface.d.ts +0 -21
  752. package/lib/interfaces/babylon-text-info.interface.d.ts +0 -17
  753. package/lib/interfaces/babylon-texts-colors.interface.d.ts +0 -20
  754. package/lib/interfaces/babylon-texts.interface.d.ts +0 -5
  755. package/lib/interfaces/index.d.ts +0 -14
  756. package/lib/pipes/babylon-clean-phone.pipe.d.ts +0 -7
  757. package/lib/pipes/babylon-currency.pipe.d.ts +0 -7
  758. package/lib/services/color-panel.service.d.ts +0 -41
  759. package/lib/services/mapper/index.d.ts +0 -2
  760. package/lib/services/mapper/mapper.service.d.ts +0 -138
  761. package/lib/services/mapper/mapper.service.token.d.ts +0 -2
  762. package/lib/services/modals-service/index.d.ts +0 -1
  763. package/lib/services/modals-service/modals.service.d.ts +0 -15
  764. package/lib/styles/styles/babylon/_spacing.css +0 -1
  765. package/lib/styles/styles/babylon/_spacing.scss +0 -72
  766. package/lib/styles/styles/babylon/common.css +0 -1
  767. package/lib/styles/styles/babylon/common.scss +0 -1823
  768. package/lib/styles/styles/babylon/globals.css +0 -1
  769. package/lib/styles/styles/babylon/globals.scss +0 -848
  770. package/lib/styles/styles/babylon/mixins.css +0 -1
  771. package/lib/styles/styles/babylon/mixins.scss +0 -1031
  772. package/lib/styles/styles/babylon/reset.css +0 -1
  773. package/lib/styles/styles/babylon/reset.scss +0 -136
  774. package/lib/styles/styles/babylon/slide.css +0 -1
  775. package/lib/styles/styles/babylon/slider.css +0 -1
  776. package/lib/styles/styles/babylon/slider.scss +0 -876
  777. package/lib/styles/styles/babylon/structure.scss +0 -1
  778. package/lib/styles/styles/babylon/variables-v2.css +0 -0
  779. package/lib/styles/styles/babylon/variables.css +0 -1
  780. package/lib/styles/styles/babylon/variables.scss +0 -330
  781. package/lib/utils/complex-links.token.d.ts +0 -2
  782. package/lib/utils/index.d.ts +0 -1
  783. package/lib/utils/utils.d.ts +0 -14
  784. /package/lib/styles/styles/babylon/{structure.css → scss-daba/funciones.css} +0 -0
@@ -1,438 +0,0 @@
1
- import { isPlatformBrowser } from '@angular/common';
2
- import { Directive, inject, Input, PLATFORM_ID, } from '@angular/core';
3
- import { catchError, defer, filter, forkJoin, map, of, switchMap, take, takeWhile, tap, timeout, timer, } from 'rxjs';
4
- import { Utils } from '../../utils';
5
- import * as i0 from "@angular/core";
6
- export class BabylonSlidersDirective {
7
- constructor(el) {
8
- this.el = el;
9
- this.platformId = inject(PLATFORM_ID);
10
- }
11
- ngAfterViewInit() {
12
- if (!isPlatformBrowser(this.platformId))
13
- return;
14
- this.ensureJQueryAndSlick$().subscribe(() => {
15
- this.executeInitializeSlider();
16
- });
17
- }
18
- waitForJQuery$() {
19
- return timer(0, 40).pipe(map(() => window.jQuery || window.$), filter(Boolean), take(1), timeout({ first: 5000 }),
20
- // expone $ / jQuery global por si el bundle no lo hizo
21
- map((jq) => {
22
- const w = window;
23
- if (!w.$)
24
- w.$ = jq;
25
- if (!w.jQuery)
26
- w.jQuery = jq;
27
- return jq;
28
- }));
29
- }
30
- waitForSlick$() {
31
- return timer(0, 40).pipe(map(() => {
32
- const w = window;
33
- const jq = w.jQuery || w.$;
34
- return jq && jq.fn && jq.fn.slick;
35
- }), filter(Boolean), take(1), timeout({ first: 5000 }), map(() => void 0));
36
- }
37
- /** Carga jQuery + slick en orden y espera a que estén listos */
38
- ensureJQueryAndSlick$() {
39
- return defer(() => {
40
- const w = window;
41
- const hasJQ = !!(w.jQuery || w.$);
42
- const hasSlick = !!(w.jQuery?.fn?.slick || w.$?.fn?.slick);
43
- if (hasJQ && hasSlick)
44
- return of(void 0);
45
- // Carga en cadena y espera definición real
46
- return Utils.loadScript$('assets/babylon/js/jquery.min.js').pipe(switchMap(() => this.waitForJQuery$()), switchMap(() => Utils.loadScript$('assets/babylon/slick/slick.min.js')), switchMap(() => this.waitForSlick$()), catchError((e) => {
47
- console.error('Error cargando jQuery/slick', e);
48
- return of(void 0);
49
- }));
50
- });
51
- }
52
- ngOnDestroy() {
53
- if (isPlatformBrowser(this.platformId)) {
54
- // Limpiar el listener de redimensionamiento cuando el componente se destruye
55
- if (this.resizeTimeout) {
56
- clearTimeout(this.resizeTimeout);
57
- }
58
- window.removeEventListener('resize', this.resizeFn);
59
- }
60
- }
61
- loadDependenciesAndInitialize() {
62
- if (isPlatformBrowser(this.platformId)) {
63
- Utils.loadScript$('assets/babylon/js/jquery.min.js')
64
- .pipe(switchMap(() => this.waitForSlickAvailability().pipe(switchMap(() => forkJoin([
65
- Utils.loadScript$('assets/babylon/slick/slick.min.js'),
66
- Utils.loadStyle$('assets/babylon/slick/slick.css'),
67
- ]).pipe(tap(() => {
68
- this.executeInitializeSlider();
69
- }))))))
70
- .subscribe();
71
- }
72
- }
73
- executeInitializeSlider() {
74
- if (isPlatformBrowser(this.platformId)) {
75
- let lastWidth = window.innerWidth;
76
- setTimeout(() => {
77
- try {
78
- const $sliderWrapper = $(this.el.nativeElement).find('.cs_slider_wrapper');
79
- if (!$sliderWrapper.hasClass('slick-initialized')) {
80
- this.initializeSlider();
81
- }
82
- if (!this.resizeFn) {
83
- this.resizeFn = () => {
84
- clearTimeout(this.resizeTimeout);
85
- this.resizeTimeout = setTimeout(() => {
86
- const newWidth = window.innerWidth;
87
- if (Math.abs(newWidth - lastWidth) > 50) {
88
- lastWidth = newWidth;
89
- const $slider = $(this.el.nativeElement).find('.cs_slider_wrapper');
90
- if ($slider.hasClass('slick-initialized')) {
91
- $slider.slick('unslick');
92
- }
93
- this.initializeSlider();
94
- }
95
- }, 300);
96
- };
97
- window.addEventListener('resize', this.resizeFn);
98
- }
99
- }
100
- catch (error) {
101
- this.executeInitializeSlider();
102
- }
103
- }, 70);
104
- }
105
- }
106
- waitForSlickAvailability() {
107
- return timer(0, 70).pipe(
108
- // Polling cada 70ms
109
- takeWhile(() => !(typeof $ !== 'undefined' &&
110
- $.fn &&
111
- typeof $.fn.slick !== 'undefined'), true), switchMap(() => of(undefined)));
112
- }
113
- initializeSlider() {
114
- const $slider = $(this.el.nativeElement);
115
- if (!$slider.length)
116
- return;
117
- const $slickActive = $slider.find('.cs_slider_wrapper');
118
- if ($slickActive.hasClass('slick-initialized')) {
119
- $slickActive.slick('unslick'); // Destruye el slider actual
120
- }
121
- switch (this.sliders) {
122
- case 'cs_slider_container':
123
- this.initSlickSlider($slider);
124
- break;
125
- case 'cs_gallery_slider_nav':
126
- this.initSlickSliderNav($slider);
127
- break;
128
- case 'cs_gallery_slider_nav_2':
129
- this.initSlickSliderNav_2($slider);
130
- break;
131
- case 'cs_gallery_slider_thumb':
132
- this.initSlickSliderThumb($slider);
133
- this.syncSliders('.cs_gallery_slider_thumb', '.cs_gallery_slider_nav'); // Sincroniza los sliders por tema de rendarizado en el DOM
134
- break;
135
- case 'cs_gallery_slider_thumb_2':
136
- this.initSlickSliderThumb_2($slider);
137
- this.syncSliders('.cs_gallery_slider_thumb_2', '.cs_gallery_slider_nav_2');
138
- break;
139
- case 'cs_slider_container2':
140
- this.initSlickSlider2($slider);
141
- break;
142
- case 'cs_slider_container3':
143
- this.initSlickSlider3($slider);
144
- break;
145
- case 'cs_slider_container4':
146
- this.initSlickSlider4($slider);
147
- break;
148
- case 'cs_slider_container5':
149
- this.initSlickSlider5($slider);
150
- break;
151
- default:
152
- break;
153
- }
154
- }
155
- initSlickSlider($slider) {
156
- const $slickActive = $slider.find('.cs_slider_wrapper');
157
- if ($slickActive.hasClass('slick-initialized')) {
158
- return;
159
- }
160
- const prevArrow = $slider.closest('.cs_slider').find('.cs_left_arrow');
161
- const nextArrow = $slider.closest('.cs_slider').find('.cs_right_arrow');
162
- $slickActive.slick({
163
- autoplay: this.getSliderSetting($slider, 'data-autoplay', 1),
164
- autoplaySpeed: this.getSliderSetting($slider, 'data-autoplay', 3000),
165
- speed: this.getSliderSetting($slider, 'data-speed', 600),
166
- infinite: this.getSliderSetting($slider, 'data-loop', 0) === 0,
167
- slidesToShow: this.getSlidesPerView($slider),
168
- swipeToSlide: true,
169
- prevArrow: prevArrow,
170
- nextArrow: nextArrow,
171
- centerMode: this.getSliderSetting($slider, 'data-center', 10) === 1,
172
- variableWidth: this.getSliderSetting($slider, 'data-variable-width', 10) === 1,
173
- dots: true,
174
- appendDots: $slider.parent().find('.cs_pagination'),
175
- });
176
- }
177
- initSlickSlider2($slider) {
178
- const $slickActive = $slider.find('.cs_slider_wrapper');
179
- if ($slickActive.hasClass('slick-initialized')) {
180
- return;
181
- }
182
- const prevArrow = $slider.closest('.cs_slider').find('.cs_left_arrow');
183
- const nextArrow = $slider.closest('.cs_slider').find('.cs_right_arrow');
184
- $slickActive.slick({
185
- autoplay: this.getSliderSetting($slider, 'data-autoplay', 1),
186
- autoplaySpeed: this.getSliderSetting($slider, 'data-autoplay', 3000),
187
- speed: this.getSliderSetting($slider, 'data-speed', 600),
188
- infinite: this.getSliderSetting($slider, 'data-loop', 0) === 0,
189
- slidesToShow: this.getSlidesPerView($slider),
190
- swipeToSlide: true,
191
- prevArrow: prevArrow,
192
- nextArrow: nextArrow,
193
- centerMode: this.getSliderSetting($slider, 'data-center', 10) === 1,
194
- variableWidth: this.getSliderSetting($slider, 'data-variable-width', 10) === 1,
195
- });
196
- }
197
- initSlickSlider3($slider) {
198
- const $slickActive = $slider.find('.cs_slider_wrapper');
199
- if ($slickActive.hasClass('slick-initialized')) {
200
- return;
201
- }
202
- const prevArrow = $slider
203
- .siblings('.cs_slider_arrows')
204
- .find('.cs_left_arrow');
205
- const nextArrow = $slider
206
- .siblings('.cs_slider_arrows')
207
- .find('.cs_right_arrow');
208
- $slickActive.slick({
209
- autoplay: this.getSliderSetting($slider, 'data-autoplay', 0),
210
- autoplaySpeed: this.getSliderSetting($slider, 'data-autoplay', 3000),
211
- speed: this.getSliderSetting($slider, 'data-speed', 600),
212
- infinite: this.getSliderSetting($slider, 'data-loop', 0) === 0,
213
- slidesToShow: this.getSlidesPerView($slider),
214
- swipeToSlide: true,
215
- prevArrow: prevArrow,
216
- nextArrow: nextArrow,
217
- centerMode: this.getSliderSetting($slider, 'data-center', 0) === 1,
218
- variableWidth: this.getSliderSetting($slider, 'data-variable-width', 0) === 1,
219
- dots: false,
220
- appendDots: $slider.parent().find('.cs_pagination_services'),
221
- });
222
- }
223
- initSlickSliderNav($slider) {
224
- if ($slider.hasClass('slick-initialized')) {
225
- return;
226
- }
227
- setTimeout(() => {
228
- $slider.slick({
229
- slidesToShow: 3,
230
- slidesToScroll: 1,
231
- asNavFor: $('.cs_gallery_slider_thumb_mini').length
232
- ? '.cs_gallery_slider_thumb_mini'
233
- : '.cs_gallery_slider_thumb',
234
- focusOnSelect: true,
235
- arrows: false,
236
- vertical: true,
237
- centerMode: true,
238
- centerPadding: '0px',
239
- speed: 1000,
240
- });
241
- }, 1000);
242
- }
243
- initSlickSliderNav_2($slider) {
244
- if ($slider.hasClass('slick-initialized')) {
245
- return;
246
- }
247
- $slider.slick({
248
- slidesToShow: 3,
249
- slidesToScroll: 1,
250
- asNavFor: '.cs_gallery_slider_thumb_2',
251
- focusOnSelect: true,
252
- arrows: false,
253
- centerMode: true,
254
- centerPadding: '0px',
255
- speed: 1000,
256
- });
257
- }
258
- initSlickSliderThumb($slider) {
259
- if ($slider.hasClass('slick-initialized')) {
260
- return;
261
- }
262
- const prevArrow = $slider
263
- .closest('.cs_gallery_hover_show_nav')
264
- .find('.cs_left_arrow_gallery');
265
- const nextArrow = $slider
266
- .closest('.cs_gallery_hover_show_nav')
267
- .find('.cs_right_arrow_gallery');
268
- $slider.slick({
269
- slidesToShow: 1,
270
- slidesToScroll: 1,
271
- prevArrow: prevArrow,
272
- nextArrow: nextArrow,
273
- asNavFor: '.cs_gallery_slider_nav.slick-slider',
274
- infinite: true,
275
- speed: 600,
276
- autoplay: false,
277
- fade: true,
278
- });
279
- }
280
- initSlickSliderThumb_2($slider) {
281
- if ($slider.hasClass('slick-initialized')) {
282
- return;
283
- }
284
- const prevArrow = $slider
285
- .closest('.cs_gallery_hover_show_nav')
286
- .find('.cs_left_arrow_gallery_2 .cs_swiper_button_prev');
287
- const nextArrow = $slider
288
- .closest('.cs_gallery_hover_show_nav')
289
- .find('.cs_right_arrow_gallery_2 .cs_swiper_button_next');
290
- $slider.slick({
291
- slidesToShow: 1,
292
- slidesToScroll: 1,
293
- prevArrow: prevArrow,
294
- nextArrow: nextArrow,
295
- asNavFor: '.cs_gallery_slider_nav_2.slick-slider',
296
- infinite: false,
297
- speed: 600,
298
- autoplay: false,
299
- });
300
- }
301
- initSlickSlider4($slider) {
302
- const $slickActive = $slider.find('.cs_slider_wrapper');
303
- if ($slickActive.hasClass('slick-initialized')) {
304
- return;
305
- }
306
- const prevArrow = $slider.closest('.cs_slider').find('.cs_left_arrow');
307
- const nextArrow = $slider.closest('.cs_slider').find('.cs_right_arrow');
308
- const slidesToShow = this.getSlidesPerView($slider);
309
- $slickActive.slick({
310
- autoplay: this.getSliderSetting($slider, 'data-autoplay', 1),
311
- autoplaySpeed: this.getSliderSetting($slider, 'data-autoplay', 3000),
312
- speed: this.getSliderSetting($slider, 'data-speed', 600),
313
- infinite: this.getSliderSetting($slider, 'data-loop', 0) === 0,
314
- slidesToShow: slidesToShow,
315
- swipeToSlide: true,
316
- prevArrow: prevArrow,
317
- nextArrow: nextArrow,
318
- centerMode: this.getSliderSetting($slider, 'data-center', 10) === 1,
319
- variableWidth: this.getSliderSetting($slider, 'data-variable-width', 10) === 1,
320
- dots: true,
321
- appendDots: $slider.parent().find('.cs_pagination'),
322
- });
323
- this.toggleSliderArrows($slider, slidesToShow);
324
- }
325
- initSlickSlider5($slider) {
326
- const $slickActive = $slider.find('.cs_slider_wrapper');
327
- if ($slickActive.hasClass('slick-initialized')) {
328
- return;
329
- }
330
- const prevArrow = $slider.closest('.cs_slider').find('.cs_left_arrow');
331
- const nextArrow = $slider.closest('.cs_slider').find('.cs_right_arrow');
332
- $slickActive.slick({
333
- autoplay: this.getSliderSetting($slider, 'data-autoplay', 1),
334
- autoplaySpeed: this.getSliderSetting($slider, 'data-autoplay', 3000),
335
- speed: this.getSliderSetting($slider, 'data-speed', 600),
336
- infinite: this.getSliderSetting($slider, 'data-loop', 0) === 0,
337
- slidesToShow: this.getSlidesPerView($slider),
338
- swipeToSlide: true,
339
- prevArrow: prevArrow,
340
- nextArrow: nextArrow,
341
- centerMode: this.getSliderSetting($slider, 'data-center', 10) === 1,
342
- variableWidth: this.getSliderSetting($slider, 'data-variable-width', 10) === 1,
343
- dots: true,
344
- appendDots: $slider.closest('.cs_slider').find('.cs_pagination'),
345
- });
346
- }
347
- getSliderSetting($slider, settingName, defaultValue) {
348
- return parseInt($slider.attr(settingName), 10) || defaultValue;
349
- }
350
- getSlidesPerView($slider) {
351
- if (isPlatformBrowser(this.platformId)) {
352
- const slidesPerViewType = $slider.attr('data-slides-per-view');
353
- const xsSlides = parseInt($slider.attr('data-xs-slides'), 10) || 1;
354
- const smSlides = parseInt($slider.attr('data-sm-slides'), 10) || 2;
355
- const mdSlides = parseInt($slider.attr('data-md-slides'), 10) || 2;
356
- const mlgSlides = parseInt($slider.attr('data-mlg-slides'), 10) || 3;
357
- const lgSlides = parseInt($slider.attr('data-lg-slides'), 10) || 3;
358
- const xlSlides = parseInt($slider.attr('data-xl-slides'), 10) || lgSlides;
359
- if (slidesPerViewType === 'responsive') {
360
- if (window.innerWidth < 576) {
361
- return xsSlides;
362
- }
363
- else if (window.innerWidth < 768) {
364
- return smSlides;
365
- }
366
- else if (window.innerWidth < 1024) {
367
- return mdSlides;
368
- }
369
- else if (window.innerWidth < 1280) {
370
- return mlgSlides;
371
- }
372
- else if (window.innerWidth < 1400) {
373
- return lgSlides;
374
- }
375
- else {
376
- return xlSlides;
377
- }
378
- }
379
- else {
380
- return parseInt(slidesPerViewType, 10) || 1;
381
- }
382
- }
383
- return parseInt($slider.attr('data-slides-per-view'), 10) || 3;
384
- }
385
- toggleSliderArrows($slider, slidesToShow) {
386
- const $slides = $slider.find('.cs_slide');
387
- const totalSlides = $slides.length;
388
- const $sliderContainer = $slider.closest('.cs_slider');
389
- const shouldHide = totalSlides <= slidesToShow;
390
- $sliderContainer.toggleClass('hide-arrows', shouldHide);
391
- }
392
- syncSliders(mainSelector, navSelector) {
393
- const $main = $(mainSelector);
394
- const $nav = $(navSelector);
395
- if ($main.length && $nav.length) {
396
- if (!$main.hasClass('slick-initialized')) {
397
- $main.slick({
398
- slidesToShow: 1,
399
- slidesToScroll: 1,
400
- arrows: true,
401
- fade: true,
402
- asNavFor: navSelector,
403
- });
404
- }
405
- if (!$nav.hasClass('slick-initialized')) {
406
- $nav.slick({
407
- slidesToShow: 3,
408
- slidesToScroll: 1,
409
- asNavFor: mainSelector,
410
- focusOnSelect: true,
411
- arrows: false,
412
- vertical: true,
413
- centerMode: false,
414
- });
415
- }
416
- }
417
- }
418
- moveToNextSlide() {
419
- if (isPlatformBrowser(this.platformId)) {
420
- const $slider = $(this.el.nativeElement);
421
- if ($slider.length) {
422
- $slider.slick('slickNext');
423
- }
424
- }
425
- }
426
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BabylonSlidersDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
427
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: BabylonSlidersDirective, isStandalone: true, selector: "[sliders]", inputs: { sliders: "sliders" }, ngImport: i0 }); }
428
- }
429
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BabylonSlidersDirective, decorators: [{
430
- type: Directive,
431
- args: [{
432
- selector: '[sliders]',
433
- standalone: true,
434
- }]
435
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { sliders: [{
436
- type: Input
437
- }] } });
438
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFieWxvbi1zbGlkZXJzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhYnlsb24vc3JjL2xpYi9kaXJlY3RpdmVzL2JhYnlsb24tc2xpZGVycy9iYWJ5bG9uLXNsaWRlcnMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFFSCxTQUFTLEVBRVQsTUFBTSxFQUNOLEtBQUssRUFFTCxXQUFXLEdBQ2QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLFFBQVEsRUFDUixHQUFHLEVBRUgsRUFBRSxFQUNGLFNBQVMsRUFDVCxJQUFJLEVBQ0osU0FBUyxFQUNULEdBQUcsRUFDSCxPQUFPLEVBQ1AsS0FBSyxHQUNSLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFRcEMsTUFBTSxPQUFPLHVCQUF1QjtJQWlCaEMsWUFBb0IsRUFBYztRQUFkLE9BQUUsR0FBRixFQUFFLENBQVk7UUFKakIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUliLENBQUM7SUFFdEMsZUFBZTtRQUNYLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQUUsT0FBTztRQUVoRCxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3hDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLGNBQWM7UUFDbEIsT0FBTyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDcEIsR0FBRyxDQUFDLEdBQUcsRUFBRSxD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LEtBQUssQ0FBQztvQkFDUixZQUFZLEVBQUUsQ0FBQztvQkFDZixjQUFjLEVBQUUsQ0FBQztvQkFDakIsTUFBTSxFQUFFLElBQUk7b0JBQ1osSUFBSSxFQUFFLElBQUk7b0JBQ1YsUUFBUSxFQUFFLFdBQVc7aUJBQ3hCLENBQUMsQ0FBQzthQUNOO1lBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsRUFBRTtnQkFDckMsSUFBSSxDQUFDLEtBQUssQ0FBQztvQkFDUCxZQUFZLEVBQUUsQ0FBQztvQkFDZixjQUFjLEVBQUUsQ0FBQztvQkFDakIsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLGFBQWEsRUFBRSxJQUFJO29CQUNuQixNQUFNLEVBQUUsS0FBSztvQkFDYixRQUFRLEVBQUUsSUFBSTtvQkFDZCxVQUFVLEVBQUUsS0FBSztpQkFDcEIsQ0FBQyxDQUFDO2FBQ047U0FDSjtJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDcEMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDekMsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO2dCQUNoQixPQUFPLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQzlCO1NBQ0o7SUFDTCxDQUFDOytHQXBqQlEsdUJBQXVCO21HQUF2Qix1QkFBdUI7OzRGQUF2Qix1QkFBdUI7a0JBSm5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjsrRUFFWSxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBQTEFURk9STV9JRCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIGNhdGNoRXJyb3IsXG4gICAgZGVmZXIsXG4gICAgZmlsdGVyLFxuICAgIGZvcmtKb2luLFxuICAgIG1hcCxcbiAgICBPYnNlcnZhYmxlLFxuICAgIG9mLFxuICAgIHN3aXRjaE1hcCxcbiAgICB0YWtlLFxuICAgIHRha2VXaGlsZSxcbiAgICB0YXAsXG4gICAgdGltZW91dCxcbiAgICB0aW1lcixcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBVdGlscyB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuZGVjbGFyZSBjb25zdCAkOiBhbnk7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3NsaWRlcnNdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBCYWJ5bG9uU2xpZGVyc0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgc2xpZGVycyE6XG4gICAgICAgIHwgJ2NzX3NsaWRlcl9jb250YWluZXInXG4gICAgICAgIHwgJ2NzX2dhbGxlcnlfc2xpZGVyX25hdidcbiAgICAgICAgfCAnY3NfZ2FsbGVyeV9zbGlkZXJfbmF2XzInXG4gICAgICAgIHwgJ2NzX2dhbGxlcnlfc2xpZGVyX3RodW1iJ1xuICAgICAgICB8ICdjc19nYWxsZXJ5X3NsaWRlcl90aHVtYl8yJ1xuICAgICAgICB8ICdjc19zbGlkZXJfY29udGFpbmVyMidcbiAgICAgICAgfCAnY3Nfc2xpZGVyX2NvbnRhaW5lcjMnXG4gICAgICAgIHwgJ2NzX3NsaWRlcl9jb250YWluZXI0J1xuICAgICAgICB8ICdjc19zbGlkZXJfY29udGFpbmVyNSc7XG5cbiAgICBwcml2YXRlIHJlc2l6ZVRpbWVvdXQhOiBOb2RlSlMuVGltZW91dDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuXG4gICAgcHJpdmF0ZSByZXNpemVGbiE6ICgpID0+IHZvaWQ7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7fVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHJldHVybjtcblxuICAgICAgICB0aGlzLmVuc3VyZUpRdWVyeUFuZFNsaWNrJCgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmV4ZWN1dGVJbml0aWFsaXplU2xpZGVyKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgd2FpdEZvckpRdWVyeSQoKSB7XG4gICAgICAgIHJldHVybiB0aW1lcigwLCA0MCkucGlwZShcbiAgICAgICAgICAgIG1hcCgoKSA9PiAod2luZG93IGFzIGFueSkualF1ZXJ5IHx8ICh3aW5kb3cgYXMgYW55KS4kKSxcbiAgICAgICAgICAgIGZpbHRlcihCb29sZWFuKSxcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICB0aW1lb3V0KHsgZmlyc3Q6IDUwMDAgfSksXG4gICAgICAgICAgICAvLyBleHBvbmUgJCAvIGpRdWVyeSBnbG9iYWwgcG9yIHNpIGVsIGJ1bmRsZSBubyBsbyBoaXpvXG4gICAgICAgICAgICBtYXAoKGpxKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdyA9IHdpbmRvdyBhcyBhbnk7XG4gICAgICAgICAgICAgICAgaWYgKCF3LiQpIHcuJCA9IGpxO1xuICAgICAgICAgICAgICAgIGlmICghdy5qUXVlcnkpIHcualF1ZXJ5ID0ganE7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGpxO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG4gICAgcHJpdmF0ZSB3YWl0Rm9yU2xpY2skKCkge1xuICAgICAgICByZXR1cm4gdGltZXIoMCwgNDApLnBpcGUoXG4gICAgICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHcgPSB3aW5kb3cgYXMgYW55O1xuICAgICAgICAgICAgICAgIGNvbnN0IGpxID0gdy5qUXVlcnkgfHwgdy4kO1xuICAgICAgICAgICAgICAgIHJldHVybiBqcSAmJiBqcS5mbiAmJiBqcS5mbi5zbGljaztcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgZmlsdGVyKEJvb2xlYW4pLFxuICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgIHRpbWVvdXQoeyBmaXJzdDogNTAwMCB9KSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiB2b2lkIDApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIENhcmdhIGpRdWVyeSArIHNsaWNrIGVuIG9yZGVuIHkgZXNwZXJhIGEgcXVlIGVzdMOpbiBsaXN0b3MgKi9cbiAgICBwcml2YXRlIGVuc3VyZUpRdWVyeUFuZFNsaWNrJCgpIHtcbiAgICAgICAgcmV0dXJuIGRlZmVyKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHcgPSB3aW5kb3cgYXMgYW55O1xuICAgICAgICAgICAgY29uc3QgaGFzSlEgPSAhISh3LmpRdWVyeSB8fCB3LiQpO1xuICAgICAgICAgICAgY29uc3QgaGFzU2xpY2sgPSAhISh3LmpRdWVyeT8uZm4/LnNsaWNrIHx8IHcuJD8uZm4/LnNsaWNrKTtcblxuICAgICAgICAgICAgaWYgKGhhc0pRICYmIGhhc1NsaWNrKSByZXR1cm4gb2Yodm9pZCAwKTtcblxuICAgICAgICAgICAgLy8gQ2FyZ2EgZW4gY2FkZW5hIHkgZXNwZXJhIGRlZmluaWNpw7NuIHJlYWxcbiAgICAgICAgICAgIHJldHVybiBVdGlscy5sb2FkU2NyaXB0JCgnYXNzZXRzL2JhYnlsb24vanMvanF1ZXJ5Lm1pbi5qcycpLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMud2FpdEZvckpRdWVyeSQoKSksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICAgICAgICAgICAgICAgIFV0aWxzLmxvYWRTY3JpcHQkKCdhc3NldHMvYmFieWxvbi9zbGljay9zbGljay5taW4uanMnKVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMud2FpdEZvclNsaWNrJCgpKSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGNhcmdhbmRvIGpRdWVyeS9zbGljaycsIGUpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2Yodm9pZCAwKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICAvLyBMaW1waWFyIGVsIGxpc3RlbmVyIGRlIHJlZGltZW5zaW9uYW1pZW50byBjdWFuZG8gZWwgY29tcG9uZW50ZSBzZSBkZXN0cnV5ZVxuICAgICAgICAgICAgaWYgKHRoaXMucmVzaXplVGltZW91dCkge1xuICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnJlc2l6ZVRpbWVvdXQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMucmVzaXplRm4pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsb2FkRGVwZW5kZW5jaWVzQW5kSW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIFV0aWxzLmxvYWRTY3JpcHQkKCdhc3NldHMvYmFieWxvbi9qcy9qcXVlcnkubWluLmpzJylcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLndhaXRGb3JTbGlja0F2YWlsYWJpbGl0eSgpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmtKb2luKFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFV0aWxzLmxvYWRTY3JpcHQkKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhc3NldHMvYmFieWxvbi9zbGljay9zbGljay5taW4uanMnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVXRpbHMubG9hZFN0eWxlJChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXNzZXRzL2JhYnlsb24vc2xpY2svc2xpY2suY3NzJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5leGVjdXRlSW5pdGlhbGl6ZVNsaWRlcigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcblxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZXhlY3V0ZUluaXRpYWxpemVTbGlkZXIoKTogdm9pZCB7XG4gICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICBsZXQgbGFzdFdpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XG5cbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0ICRzbGlkZXJXcmFwcGVyID0gJCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpLmZpbmQoXG4gICAgICAgICAgICAgICAgICAgICAgICAnLmNzX3NsaWRlcl93cmFwcGVyJ1xuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICghJHNsaWRlcldyYXBwZXIuaGFzQ2xhc3MoJ3NsaWNrLWluaXRpYWxpemVkJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZVNsaWRlcigpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLnJlc2l6ZUZuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc2l6ZUZuID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnJlc2l6ZVRpbWVvdXQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVzaXplVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChNYXRoLmFicyhuZXdXaWR0aCAtIGxhc3RXaWR0aCkgPiA1MCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFdpZHRoID0gbmV3V2lkdGg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0ICRzbGlkZXIgPSAkKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKS5maW5kKCcuY3Nfc2xpZGVyX3dyYXBwZXInKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkc2xpZGVyLmhhc0NsYXNzKCdzbGljay1pbml0aWFsaXplZCcpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNsaWRlci5zbGljaygndW5zbGljaycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmluaXRpYWxpemVTbGlkZXIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDMwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5yZXNpemVGbik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmV4ZWN1dGVJbml0aWFsaXplU2xpZGVyKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgNzApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB3YWl0Rm9yU2xpY2tBdmFpbGFiaWxpdHkoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aW1lcigwLCA3MCkucGlwZShcbiAgICAgICAgICAgIC8vIFBvbGxpbmcgY2FkYSA3MG1zXG4gICAgICAgICAgICB0YWtlV2hpbGUoXG4gICAgICAgICAgICAgICAgKCkgPT5cbiAgICAgICAgICAgICAgICAgICAgIShcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVvZiAkICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgJC5mbiAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW9mICQuZm4uc2xpY2sgIT09ICd1bmRlZmluZWQnXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgdHJ1ZVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiBvZih1bmRlZmluZWQpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdGlhbGl6ZVNsaWRlcigpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgJHNsaWRlciA9ICQodGhpcy5lbC5uYXRpdmVFbGVtZW50KSBhcyBhbnk7XG5cbiAgICAgICAgaWYgKCEkc2xpZGVyLmxlbmd0aCkgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0ICRzbGlja0FjdGl2ZSA9ICRzbGlkZXIuZmluZCgnLmNzX3NsaWRlcl93cmFwcGVyJyk7XG4gICAgICAgIGlmICgkc2xpY2tBY3RpdmUuaGFzQ2xhc3MoJ3NsaWNrLWluaXRpYWxpemVkJykpIHtcbiAgICAgICAgICAgICRzbGlja0FjdGl2ZS5zbGljaygndW5zbGljaycpOyAvLyBEZXN0cnV5ZSBlbCBzbGlkZXIgYWN0dWFsXG4gICAgICAgIH1cblxuICAgICAgICBzd2l0Y2ggKHRoaXMuc2xpZGVycykge1xuICAgICAgICAgICAgY2FzZSAnY3Nfc2xpZGVyX2NvbnRhaW5lcic6XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0U2xpY2tTbGlkZXIoJHNsaWRlcik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdjc19nYWxsZXJ5X3NsaWRlcl9uYXYnOlxuICAgICAgICAgICAgICAgIHRoaXMuaW5pdFNsaWNrU2xpZGVyTmF2KCRzbGlkZXIpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnY3NfZ2FsbGVyeV9zbGlkZXJfbmF2XzInOlxuICAgICAgICAgICAgICAgIHRoaXMuaW5pdFNsaWNrU2xpZGVyTmF2XzIoJHNsaWRlcik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdjc19nYWxsZXJ5X3NsaWRlcl90aHVtYic6XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0U2xpY2tTbGlkZXJUaHVtYigkc2xpZGVyKTtcbiAgICAgICAgICAgICAgICB0aGlzLnN5bmNTbGlkZXJzKFxuICAgICAgICAgICAgICAgICAgICAnLmNzX2dhbGxlcnlfc2xpZGVyX3RodW1iJyxcbiAgICAgICAgICAgICAgICAgICAgJy5jc19nYWxsZXJ5X3NsaWRlcl9uYXYnXG4gICAgICAgICAgICAgICAgKTsgLy8gU2luY3Jvbml6YSBsb3Mgc2xpZGVycyBwb3IgdGVtYSBkZSByZW5kYXJpemFkbyBlbiBlbCBET01cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2NzX2dhbGxlcnlfc2xpZGVyX3RodW1iXzInOlxuICAgICAgICAgICAgICAgIHRoaXMuaW5pdFNsaWNrU2xpZGVyVGh1bWJfMigkc2xpZGVyKTtcbiAgICAgICAgICAgICAgICB0aGlzLnN5bmNTbGlkZXJzKFxuICAgICAgICAgICAgICAgICAgICAnLmNzX2dhbGxlcnlfc2xpZGVyX3RodW1iXzInLFxuICAgICAgICAgICAgICAgICAgICAnLmNzX2dhbGxlcnlfc2xpZGVyX25hdl8yJ1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdjc19zbGlkZXJfY29udGFpbmVyMic6XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0U2xpY2tTbGlkZXIyKCRzbGlkZXIpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnY3Nfc2xpZGVyX2NvbnRhaW5lcjMnOlxuICAgICAgICAgICAgICAgIHRoaXMuaW5pdFNsaWNrU2xpZGVyMygkc2xpZGVyKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2NzX3NsaWRlcl9jb250YWluZXI0JzpcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRTbGlja1NsaWRlcjQoJHNsaWRlcik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdjc19zbGlkZXJfY29udGFpbmVyNSc6XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0U2xpY2tTbGlkZXI1KCRzbGlkZXIpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdFNsaWNrU2xpZGVyKCRzbGlkZXI6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCAkc2xpY2tBY3RpdmUgPSAkc2xpZGVyLmZpbmQoJy5jc19zbGlkZXJfd3JhcHBlcicpO1xuXG4gICAgICAgIGlmICgkc2xpY2tBY3RpdmUuaGFzQ2xhc3MoJ3NsaWNrLWluaXRpYWxpemVkJykpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHByZXZBcnJvdyA9ICRzbGlkZXIuY2xvc2VzdCgnLmNzX3NsaWRlcicpLmZpbmQoJy5jc19sZWZ0X2Fycm93Jyk7XG4gICAgICAgIGNvbnN0IG5leHRBcnJvdyA9ICRzbGlkZXIuY2xvc2VzdCgnLmNzX3NsaWRlcicpLmZpbmQoJy5jc19yaWdodF9hcnJvdycpO1xuXG4gICAgICAgICgkc2xpY2tBY3RpdmUgYXMgYW55KS5zbGljayh7XG4gICAgICAgICAgICBhdXRvcGxheTogdGhpcy5nZXRTbGlkZXJTZXR0aW5nKCRzbGlkZXIsICdkYXRhLWF1dG9wbGF5JywgMSksXG4gICAgICAgICAgICBhdXRvcGxheVNwZWVkOiB0aGlzLmdldFNsaWRlclNldHRpbmcoXG4gICAgICAgICAgICAgICAgJHNsaWRlcixcbiAgICAgICAgICAgICAgICAnZGF0YS1hdXRvcGxheScsXG4gICAgICAgICAgICAgICAgMzAwMFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHNwZWVkOiB0aGlzLmdldFNsaWRlclNldHRpbmcoJHNsaWRlciwgJ2RhdGEtc3BlZWQnLCA2MDApLFxuICAgICAgICAgICAgaW5maW5pdGU6IHRoaXMuZ2V0U2xpZGVyU2V0dGluZygkc2xpZGVyLCAnZGF0YS1sb29wJywgMCkgPT09IDAsXG4gICAgICAgICAgICBzbGlkZXNUb1Nob3c6IHRoaXMuZ2V0U2xpZGVzUGVyVmlldygkc2xpZGVyKSxcbiAgICAgICAgICAgIHN3aXBlVG9TbGlkZTogdHJ1ZSxcbiAgICAgICAgICAgIHByZXZBcnJvdzogcHJldkFycm93LFxuICAgICAgICAgICAgbmV4dEFycm93OiBuZXh0QXJyb3csXG4gICAgICAgICAgICBjZW50ZXJNb2RlOiB0aGlzLmdldFNsaWRlclNldHRpbmcoJHNsaWRlciwgJ2RhdGEtY2VudGVyJywgMTApID09PSAxLFxuICAgICAgICAgICAgdmFyaWFibGVXaWR0aDpcbiAgICAgICAgICAgICAgICB0aGlzLmdldFNsaWRlclNldHRpbmcoJHNsaWRlciwgJ2RhdGEtdmFyaWFibGUtd2lkdGgnLCAxMCkgPT09IDEsXG4gICAgICAgICAgICBkb3RzOiB0cnVlLFxuICAgICAgICAgICAgYXBwZW5kRG90czogJHNsaWRlci5wYXJlbnQoKS5maW5kKCcuY3NfcGFnaW5hdGlvbicpLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRTbGlja1NsaWRlcjIoJHNsaWRlcjogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0ICRzbGlja0FjdGl2ZSA9ICRzbGlkZXIuZmluZCgnLmNzX3NsaWRlcl93cmFwcGVyJyk7XG5cbiAgICAgICAgaWYgKCRzbGlja0FjdGl2ZS5oYXNDbGFzcygnc2xpY2staW5pdGlhbGl6ZWQnKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcHJldkFycm93ID0gJHNsaWRlci5jbG9zZXN0KCcuY3Nfc2xpZGVyJykuZmluZCgnLmNzX2xlZnRfYXJyb3cnKTtcbiAgICAgICAgY29uc3QgbmV4dEFycm93ID0gJHNsaWRlci5jbG9zZXN0KCcuY3Nfc2xpZGVyJykuZmluZCgnLmNzX3JpZ2h0X2Fycm93Jyk7XG5cbiAgICAgICAgKCRzbGlja0FjdGl2ZSBhcyBhbnkpLnNsaWNrKHtcbiAgICAgICAgICAgIGF1dG9wbGF5OiB0aGlzLmdldFNsaWRlclNldHRpbmcoJHNsaWRlciwgJ2RhdGEtYXV0b3BsYXknLCAxKSxcbiAgICAgICAgICAgIGF1dG9wbGF5U3BlZWQ6IHRoaXMuZ2V0U2xpZGVyU2V0dGluZyhcbiAgICAgICAgICAgICAgICAkc2xpZGVyLFxuICAgICAgICAgICAgICAgICdkYXRhLWF1dG9wbGF5JyxcbiAgICAgICAgICAgICAgICAzMDAwXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3BlZWQ6IHRoaXMuZ2V0U2xpZGVyU2V0dGluZygkc2xpZGVyLCAnZGF0YS1zcGVlZCcsIDYwMCksXG4gICAgICAgICAgICBpbmZpbml0ZTogdGhpcy5nZXRTbGlkZXJTZXR0aW5nKCRzbGlkZXIsICdkYXRhLWxvb3AnLCAwKSA9PT0gMCxcbiAgICAgICAgICAgIHNsaWRlc1RvU2hvdzogdGhpcy5nZXRTbGlkZXNQZXJWaWV3KCRzbGlkZXIpLFxuICAgICAgICAgICAgc3dpcGVUb1NsaWRlOiB0cnVlLFxuICAgICAgICAgICAgcHJldkFycm93OiBwcmV2QXJyb3csXG4gICAgICAgICAgICBuZXh0QXJyb3c6IG5leHRBcnJvdyxcbiAgICAgICAgICAgIGNlbnRlck1vZGU6IHRoaXMuZ2V0U2xpZGVyU2V0dGluZygkc2xpZGVyLCAnZGF0YS1jZW50ZXInLCAxMCkgPT09IDEsXG4gICAgICAgICAgICB2YXJpYWJsZVdpZHRoOlxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0U2xpZGVyU2V0dGluZygkc2xpZGVyLCAnZGF0YS12YXJpYWJsZS13aWR0aCcsIDEwKSA9PT0gMSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0U2xpY2tTbGlkZXIzKCRzbGlkZXI6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCAkc2xpY2tBY3RpdmUgPSAkc2xpZGVyLmZpbmQoJy5jc19zbGlkZXJfd3JhcHBlcicpO1xuXG4gICAgICAgIGlmICgkc2xpY2tBY3RpdmUuaGFzQ2xhc3MoJ3NsaWNrLWluaXRpYWxpemVkJykpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHByZXZBcnJvdyA9ICRzbGlkZXJcbiAgICAgICAgICAgIC5zaWJsaW5ncygnLmNzX3NsaWRlcl9hcnJvd3MnKVxuICAgICAgICAgICAgLmZpbmQoJy5jc19sZWZ0X2Fycm93Jyk7XG4gICAgICAgIGNvbnN0IG5leHRBcnJvdyA9ICRzbGlkZXJcbiAgICAgICAgICAgIC5zaWJsaW5ncygnLmNzX3NsaWRlcl9hcnJvd3MnKVxuICAgICAgICAgICAgLmZpbmQoJy5jc19yaWdodF9hcnJvdycpO1xuXG4gICAgICAgICgkc2xpY2tBY3RpdmUgYXMgYW55KS5zbGljayh7XG4gICAgICAgICAgICBhdXRvcGxheTogdGhpcy5nZXRTbGlkZXJTZXR0aW5nKCRzbGlkZXIsICdkYXRhLWF1dG9wbGF5JywgMCksXG4gICAgICAgICAgICBhdXRvcGxheVNwZWVkOiB0aGlzLmdldFNsaWRlclNldHRpbmcoXG4gICAgICAgICAgICAgICAgJHNsaWRlcixcbiAgICAgICAgICAgICAgICAnZGF0YS1hdXRvcGxheScsXG4gICAgICAgICAgICAgICAgMzAwMFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHNwZWVkOiB0aGlzLmdldFNsaWRlclNldHRpbmcoJHNsaWRlciwgJ2RhdGEtc3BlZWQnLCA2MDApLFxuICAgICAgICAgICAgaW5maW5pdGU6IHRoaXMuZ2V0U2xpZGVyU2V0dGluZygkc2xpZGVyLCAnZGF0YS1sb29wJywgMCkgPT09IDAsXG4gICAgICAgICAgICBzbGlkZXNUb1Nob3c6IHRoaXMuZ2V0U2xpZGVzUGVyVmlldygkc2xpZGVyKSxcbiAgICAgICAgICAgIHN3aXBlVG9TbGlkZTogdHJ1ZSxcbiAgICAgICAgICAgIHByZXZBcnJvdzogcHJldkFycm93LFxuICAgICAgICAgICAgbmV4dEFycm93OiBuZXh0QXJyb3csXG4gICAgICAgICAgICBjZW50ZXJNb2RlOiB0aGlzLmdldFNsaWRlclNldHRpbmcoJHNsaWRlciwgJ2RhdGEtY2VudGVyJywgMCkgPT09IDEsXG4gICAgICAgICAgICB2YXJpYWJsZVdpZHRoOlxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0U2xpZGVyU2V0dGluZygkc2xpZGVyLCAnZGF0YS12YXJpYWJsZS13aWR0aCcsIDApID09PSAxLFxuICAgICAgICAgICAgZG90czogZmFsc2UsXG4gICAgICAgICAgICBhcHBlbmREb3RzOiAkc2xpZGVyLnBhcmVudCgpLmZpbmQoJy5jc19wYWdpbmF0aW9uX3NlcnZpY2VzJyksXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdFNsaWNrU2xpZGVyTmF2KCRzbGlkZXI6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAoJHNsaWRlci5oYXNDbGFzcygnc2xpY2staW5pdGlhbGl6ZWQnKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAkc2xpZGVyLnNsaWNrKHtcbiAgICAgICAgICAgICAgICBzbGlkZXNUb1Nob3c6IDMsXG4gICAgICAgICAgICAgICAgc2xpZGVzVG9TY3JvbGw6IDEsXG4gICAgICAgICAgICAgICAgYXNOYXZGb3I6ICQoJy5jc19nYWxsZXJ5X3NsaWRlcl90aHVtYl9taW5pJykubGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgID8gJy5jc19nYWxsZXJ5X3NsaWRlcl90aHVtYl9taW5pJ1xuICAgICAgICAgICAgICAgICAgICA6ICcuY3NfZ2FsbGVyeV9zbGlkZXJfdGh1bWInLFxuICAgICAgICAgICAgICAgIGZvY3VzT25TZWxlY3Q6IHRydWUsXG4gICAgICAgICAgICAgICAgYXJyb3dzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjZW50ZXJNb2RlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNlbnRlclBhZGRpbmc6ICcwcHgnLFxuICAgICAgICAgICAgICAgIHNwZWVkOiAxMDAwLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sIDEwMDApO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdFNsaWNrU2xpZGVyTmF2XzIoJHNsaWRlcjogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICgkc2xpZGVyLmhhc0NsYXNzKCdzbGljay1pbml0aWFsaXplZCcpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAkc2xpZGVyLnNsaWNrKHtcbiAgICAgICAgICAgIHNsaWRlc1RvU2hvdzogMyxcbiAgICAgICAgICAgIHNsaWRlc1RvU2Nyb2xsOiAxLFxuICAgICAgICAgICAgYXNOYXZGb3I6ICcuY3NfZ2FsbGVyeV9zbGlkZXJfdGh1bWJfMicsXG4gICAgICAgICAgICBmb2N1c09uU2VsZWN0OiB0cnVlLFxuICAgICAgICAgICAgYXJyb3dzOiBmYWxzZSxcbiAgICAgICAgICAgIGNlbnRlck1vZGU6IHRydWUsXG4gICAgICAgICAgICBjZW50ZXJQYWRkaW5nOiAnMHB4JyxcbiAgICAgICAgICAgIHNwZWVkOiAxMDAwLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRTbGlja1NsaWRlclRodW1iKCRzbGlkZXI6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAoJHNsaWRlci5oYXNDbGFzcygnc2xpY2staW5pdGlhbGl6ZWQnKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcHJldkFycm93ID0gJHNsaWRlclxuICAgICAgICAgICAgLmNsb3Nlc3QoJy5jc19nYWxsZXJ5X2hvdmVyX3Nob3dfbmF2JylcbiAgICAgICAgICAgIC5maW5kKCcuY3NfbGVmdF9hcnJvd19nYWxsZXJ5Jyk7XG4gICAgICAgIGNvbnN0IG5leHRBcnJvdyA9ICRzbGlkZXJcbiAgICAgICAgICAgIC5jbG9zZXN0KCcuY3NfZ2FsbGVyeV9ob3Zlcl9zaG93X25hdicpXG4gICAgICAgICAgICAuZmluZCgnLmNzX3JpZ2h0X2Fycm93X2dhbGxlcnknKTtcblxuICAgICAgICAkc2xpZGVyLnNsaWNrKHtcbiAgICAgICAgICAgIHNsaWRlc1RvU2hvdzogMSxcbiAgICAgICAgICAgIHNsaWRlc1RvU2Nyb2xsOiAxLFxuICAgICAgICAgICAgcHJldkFycm93OiBwcmV2QXJyb3csXG4gICAgICAgICAgICBuZXh0QXJyb3c6IG5leHRBcnJvdyxcbiAgICAgICAgICAgIGFzTmF2Rm9yOiAnLmNzX2dhbGxlcnlfc2xpZGVyX25hdi5zbGljay1zbGlkZXInLFxuICAgICAgICAgICAgaW5maW5pdGU6IHRydWUsXG4gICAgICAgICAgICBzcGVlZDogNjAwLFxuICAgICAgICAgICAgYXV0b3BsYXk6IGZhbHNlLFxuICAgICAgICAgICAgZmFkZTogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0U2xpY2tTbGlkZXJUaHVtYl8yKCRzbGlkZXI6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAoJHNsaWRlci5oYXNDbGFzcygnc2xpY2staW5pdGlhbGl6ZWQnKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcHJldkFycm93ID0gJHNsaWRlclxuICAgICAgICAgICAgLmNsb3Nlc3QoJy5jc19nYWxsZXJ5X2hvdmVyX3Nob3dfbmF2JylcbiAgICAgICAgICAgIC5maW5kKCcuY3NfbGVmdF9hcnJvd19nYWxsZXJ5XzIgLmNzX3N3aXBlcl9idXR0b25fcHJldicpO1xuICAgICAgICBjb25zdCBuZXh0QXJyb3cgPSAkc2xpZGVyXG4gICAgICAgICAgICAuY2xvc2VzdCgnLmNzX2dhbGxlcnlfaG92ZXJfc2hvd19uYXYnKVxuICAgICAgICAgICAgLmZpbmQoJy5jc19yaWdodF9hcnJvd19nYWxsZXJ5XzIgLmNzX3N3aXBlcl9idXR0b25fbmV4dCcpO1xuXG4gICAgICAgICRzbGlkZXIuc2xpY2soe1xuICAgICAgICAgICAgc2xpZGVzVG9TaG93OiAxLFxuICAgICAgICAgICAgc2xpZGVzVG9TY3JvbGw6IDEsXG4gICAgICAgICAgICBwcmV2QXJyb3c6IHByZXZBcnJvdyxcbiAgICAgICAgICAgIG5leHRBcnJvdzogbmV4dEFycm93LFxuICAgICAgICAgICAgYXNOYXZGb3I6ICcuY3NfZ2FsbGVyeV9zbGlkZXJfbmF2XzIuc2xpY2stc2xpZGVyJyxcbiAgICAgICAgICAgIGluZmluaXRlOiBmYWxzZSxcbiAgICAgICAgICAgIHNwZWVkOiA2MDAsXG4gICAgICAgICAgICBhdXRvcGxheTogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdFNsaWNrU2xpZGVyNCgkc2xpZGVyOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgJHNsaWNrQWN0aXZlID0gJHNsaWRlci5maW5kKCcuY3Nfc2xpZGVyX3dyYXBwZXInKTtcblxuICAgICAgICBpZiAoJHNsaWNrQWN0aXZlLmhhc0NsYXNzKCdzbGljay1pbml0aWFsaXplZCcpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcmV2QXJyb3cgPSAkc2xpZGVyLmNsb3Nlc3QoJy5jc19zbGlkZXInKS5maW5kKCcuY3NfbGVmdF9hcnJvdycpO1xuICAgICAgICBjb25zdCBuZXh0QXJyb3cgPSAkc2xpZGVyLmNsb3Nlc3QoJy5jc19zbGlkZXInKS5maW5kKCcuY3NfcmlnaHRfYXJyb3cnKTtcblxuICAgICAgICBjb25zdCBzbGlkZXNUb1Nob3cgPSB0aGlzLmdldFNsaWRlc1BlclZpZXcoJHNsaWRlcik7XG5cbiAgICAgICAgKCRzbGlja0FjdGl2ZSBhcyBhbnkpLnNsaWNrKHtcbiAgICAgICAgICAgIGF1dG9wbGF5OiB0aGlzLmdldFNsaWRlclNldHRpbmcoJHNsaWRlciwgJ2RhdGEtYXV0b3BsYXknLCAxKSxcbiAgICAgICAgICAgIGF1dG9wbGF5U3BlZWQ6IHRoaXMuZ2V0U2xpZGVyU2V0dGluZyhcbiAgICAgICAgICAgICAgICAkc2xpZGVyLFxuICAgICAgICAgICAgICAgICdkYXRhLWF1dG9wbGF5JyxcbiAgICAgICAgICAgICAgICAzMDAwXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3BlZWQ6IHRoaXMuZ2V0U2xpZGVyU2V0dGluZygkc2xpZGVyLCAnZGF0YS1zcGVlZCcsIDYwMCksXG4gICAgICAgICAgICBpbmZpbml0ZTogdGhpcy5nZXRTbGlkZXJTZXR0aW5nKCRzbGlkZXIsICdkYXRhLWxvb3AnLCAwKSA9PT0gMCxcbiAgICAgICAgICAgIHNsaWRlc1RvU2hvdzogc2xpZGVzVG9TaG93LFxuICAgICAgICAgICAgc3dpcGVUb1NsaWRlOiB0cnVlLFxuICAgICAgICAgICAgcHJldkFycm93OiBwcmV2QXJyb3csXG4gICAgICAgICAgICBuZXh0QXJyb3c6IG5leHRBcnJvdyxcbiAgICAgICAgICAgIGNlbnRlck1vZGU6IHRoaXMuZ2V0U2xpZGVyU2V0dGluZygkc2xpZGVyLCAnZGF0YS1jZW50ZXInLCAxMCkgPT09IDEsXG4gICAgICAgICAgICB2YXJpYWJsZVdpZHRoOlxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0U2xpZGVyU2V0dGluZygkc2xpZGVyLCAnZGF0YS12YXJpYWJsZS13aWR0aCcsIDEwKSA9PT0gMSxcbiAgICAgICAgICAgIGRvdHM6IHRydWUsXG4gICAgICAgICAgICBhcHBlbmREb3RzOiAkc2xpZGVyLnBhcmVudCgpLmZpbmQoJy5jc19wYWdpbmF0aW9uJyksXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnRvZ2dsZVNsaWRlckFycm93cygkc2xpZGVyLCBzbGlkZXNUb1Nob3cpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdFNsaWNrU2xpZGVyNSgkc2xpZGVyOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgJHNsaWNrQWN0aXZlID0gJHNsaWRlci5maW5kKCcuY3Nfc2xpZGVyX3dyYXBwZXInKTtcblxuICAgICAgICBpZiAoJHNsaWNrQWN0aXZlLmhhc0NsYXNzKCdzbGljay1pbml0aWFsaXplZCcpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcmV2QXJyb3cgPSAkc2xpZGVyLmNsb3Nlc3QoJy5jc19zbGlkZXInKS5maW5kKCcuY3NfbGVmdF9hcnJvdycpO1xuICAgICAgICBjb25zdCBuZXh0QXJyb3cgPSAkc2xpZGVyLmNsb3Nlc3QoJy5jc19zbGlkZXInKS5maW5kKCcuY3NfcmlnaHRfYXJyb3cnKTtcblxuICAgICAgICAoJHNsaWNrQWN0aXZlIGFzIGFueSkuc2xpY2soe1xuICAgICAgICAgICAgYXV0b3BsYXk6IHRoaXMuZ2V0U2xpZGVyU2V0dGluZygkc2xpZGVyLCAnZGF0YS1hdXRvcGxheScsIDEpLFxuICAgICAgICAgICAgYXV0b3BsYXlTcGVlZDogdGhpcy5nZXRTbGlkZXJTZXR0aW5nKFxuICAgICAgICAgICAgICAgICRzbGlkZXIsXG4gICAgICAgICAgICAgICAgJ2RhdGEtYXV0b3BsYXknLFxuICAgICAgICAgICAgICAgIDMwMDBcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzcGVlZDogdGhpcy5nZXRTbGlkZXJTZXR0aW5nKCRzbGlkZXIsICdkYXRhLXNwZWVkJywgNjAwKSxcbiAgICAgICAgICAgIGluZmluaXRlOiB0aGlzLmdldFNsaWRlclNldHRpbmcoJHNsaWRlciwgJ2RhdGEtbG9vcCcsIDApID09PSAwLFxuICAgICAgICAgICAgc2xpZGVzVG9TaG93OiB0aGlzLmdldFNsaWRlc1BlclZpZXcoJHNsaWRlciksXG4gICAgICAgICAgICBzd2lwZVRvU2xpZGU6IHRydWUsXG4gICAgICAgICAgICBwcmV2QXJyb3c6IHByZXZBcnJvdyxcbiAgICAgICAgICAgIG5leHRBcnJvdzogbmV4dEFycm93LFxuICAgICAgICAgICAgY2VudGVyTW9kZTogdGhpcy5nZXRTbGlkZXJTZXR0aW5nKCRzbGlkZXIsICdkYXRhLWNlbnRlcicsIDEwKSA9PT0gMSxcbiAgICAgICAgICAgIHZhcmlhYmxlV2lkdGg6XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRTbGlkZXJTZXR0aW5nKCRzbGlkZXIsICdkYXRhLXZhcmlhYmxlLXdpZHRoJywgMTApID09PSAxLFxuICAgICAgICAgICAgZG90czogdHJ1ZSxcbiAgICAgICAgICAgIGFwcGVuZERvdHM6ICRzbGlkZXIuY2xvc2VzdCgnLmNzX3NsaWRlcicpLmZpbmQoJy5jc19wYWdpbmF0aW9uJyksXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2xpZGVyU2V0dGluZyhcbiAgICAgICAgJHNsaWRlcjogYW55LFxuICAgICAgICBzZXR0aW5nTmFtZTogc3RyaW5nLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IGFueVxuICAgICk6IGFueSB7XG4gICAgICAgIHJldHVybiBwYXJzZUludCgkc2xpZGVyLmF0dHIoc2V0dGluZ05hbWUpLCAxMCkgfHwgZGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2xpZGVzUGVyVmlldygkc2xpZGVyOiBhbnkpOiBudW1iZXIge1xuICAgICAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICAgICAgY29uc3Qgc2xpZGVzUGVyVmlld1R5cGUgPSAkc2xpZGVyLmF0dHIoJ2RhdGEtc2xpZGVzLXBlci12aWV3Jyk7XG4gICAgICAgICAgICBjb25zdCB4c1NsaWRlcyA9IHBhcnNlSW50KCRzbGlkZXIuYXR0cignZGF0YS14cy1zbGlkZXMnKSwgMTApIHx8IDE7XG4gICAgICAgICAgICBjb25zdCBzbVNsaWRlcyA9IHBhcnNlSW50KCRzbGlkZXIuYXR0cignZGF0YS1zbS1zbGlkZXMnKSwgMTApIHx8IDI7XG4gICAgICAgICAgICBjb25zdCBtZFNsaWRlcyA9IHBhcnNlSW50KCRzbGlkZXIuYXR0cignZGF0YS1tZC1zbGlkZXMnKSwgMTApIHx8IDI7XG4gICAgICAgICAgICBjb25zdCBtbGdTbGlkZXMgPVxuICAgICAgICAgICAgICAgIHBhcnNlSW50KCRzbGlkZXIuYXR0cignZGF0YS1tbGctc2xpZGVzJyksIDEwKSB8fCAzO1xuICAgICAgICAgICAgY29uc3QgbGdTbGlkZXMgPSBwYXJzZUludCgkc2xpZGVyLmF0dHIoJ2RhdGEtbGctc2xpZGVzJyksIDEwKSB8fCAzO1xuICAgICAgICAgICAgY29uc3QgeGxTbGlkZXMgPVxuICAgICAgICAgICAgICAgIHBhcnNlSW50KCRzbGlkZXIuYXR0cignZGF0YS14bC1zbGlkZXMnKSwgMTApIHx8IGxnU2xpZGVzO1xuXG4gICAgICAgICAgICBpZiAoc2xpZGVzUGVyVmlld1R5cGUgPT09ICdyZXNwb25zaXZlJykge1xuICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA8IDU3Nikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geHNTbGlkZXM7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA8IDc2OCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc21TbGlkZXM7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA8IDEwMjQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1kU2xpZGVzO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAod2luZG93LmlubmVyV2lkdGggPCAxMjgwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBtbGdTbGlkZXM7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA8IDE0MDApIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxnU2xpZGVzO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB4bFNsaWRlcztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBwYXJzZUludChzbGlkZXNQZXJWaWV3VHlwZSwgMTApIHx8IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBhcnNlSW50KCRzbGlkZXIuYXR0cignZGF0YS1zbGlkZXMtcGVyLXZpZXcnKSwgMTApIHx8IDM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0b2dnbGVTbGlkZXJBcnJvd3MoJHNsaWRlcjogYW55LCBzbGlkZXNUb1Nob3c6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCAkc2xpZGVzID0gJHNsaWRlci5maW5kKCcuY3Nfc2xpZGUnKTtcbiAgICAgICAgY29uc3QgdG90YWxTbGlkZXMgPSAkc2xpZGVzLmxlbmd0aDtcblxuICAgICAgICBjb25zdCAkc2xpZGVyQ29udGFpbmVyID0gJHNsaWRlci5jbG9zZXN0KCcuY3Nfc2xpZGVyJyk7XG4gICAgICAgIGNvbnN0IHNob3VsZEhpZGUgPSB0b3RhbFNsaWRlcyA8PSBzbGlkZXNUb1Nob3c7XG5cbiAgICAgICAgJHNsaWRlckNvbnRhaW5lci50b2dnbGVDbGFzcygnaGlkZS1hcnJvd3MnLCBzaG91bGRIaWRlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN5bmNTbGlkZXJzKG1haW5TZWxlY3Rvcjogc3RyaW5nLCBuYXZTZWxlY3Rvcjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0ICRtYWluID0gJChtYWluU2VsZWN0b3IpO1xuICAgICAgICBjb25zdCAkbmF2ID0gJChuYXZTZWxlY3Rvcik7XG5cbiAgICAgICAgaWYgKCRtYWluLmxlbmd0aCAmJiAkbmF2Lmxlbmd0aCkge1xuICAgICAgICAgICAgaWYgKCEkbWFpbi5oYXNDbGFzcygnc2xpY2staW5pdGlhbGl6ZWQnKSkge1xuICAgICAgICAgICAgICAgICRtYWluLnNsaWNrKHtcbiAgICAgICAgICAgICAgICAgICAgc2xpZGVzVG9TaG93OiAxLFxuICAgICAgICAgICAgICAgICAgICBzbGlkZXNUb1Njcm9sbDogMSxcbiAgICAgICAgICAgICAgICAgICAgYXJyb3dzOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBmYWRlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBhc05hdkZvcjogbmF2U2VsZWN0b3IsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghJG5hdi5oYXNDbGFzcygnc2xpY2staW5pdGlhbGl6ZWQnKSkge1xuICAgICAgICAgICAgICAgICRuYXYuc2xpY2soe1xuICAgICAgICAgICAgICAgICAgICBzbGlkZXNUb1Nob3c6IDMsXG4gICAgICAgICAgICAgICAgICAgIHNsaWRlc1RvU2Nyb2xsOiAxLFxuICAgICAgICAgICAgICAgICAgICBhc05hdkZvcjogbWFpblNlbGVjdG9yLFxuICAgICAgICAgICAgICAgICAgICBmb2N1c09uU2VsZWN0OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBhcnJvd3M6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgY2VudGVyTW9kZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBtb3ZlVG9OZXh0U2xpZGUoKTogdm9pZCB7XG4gICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICBjb25zdCAkc2xpZGVyID0gJCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgaWYgKCRzbGlkZXIubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgJHNsaWRlci5zbGljaygnc2xpY2tOZXh0Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=