simpo-component-library 3.6.577 → 3.6.579

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 (219) hide show
  1. package/README.md +24 -24
  2. package/esm2022/lib/components/delete-hover-element/delete-hover-element.component.mjs +3 -3
  3. package/esm2022/lib/components/document/document.component.mjs +3 -3
  4. package/esm2022/lib/components/image-loading/image-loading.component.mjs +3 -3
  5. package/esm2022/lib/components/payment-details/payment-details.component.mjs +3 -3
  6. package/esm2022/lib/constants/business.constant.mjs +1 -1
  7. package/esm2022/lib/directive/alignment.directive.mjs +1 -1
  8. package/esm2022/lib/directive/blur-content.directive.mjs +1 -1
  9. package/esm2022/lib/directive/borderlessImage.directive.mjs +1 -1
  10. package/esm2022/lib/directive/button-directive.directive.mjs +1 -1
  11. package/esm2022/lib/directive/button-editor.directive.mjs +1 -1
  12. package/esm2022/lib/directive/color.directive.mjs +1 -1
  13. package/esm2022/lib/directive/column-directive.directive.mjs +1 -1
  14. package/esm2022/lib/directive/container-alignment.directive.mjs +1 -1
  15. package/esm2022/lib/directive/container-fir.directive.mjs +1 -1
  16. package/esm2022/lib/directive/content-title-spacing.directive.mjs +1 -1
  17. package/esm2022/lib/directive/contenteditable.directive.mjs +1 -1
  18. package/esm2022/lib/directive/corner-directive.mjs +1 -1
  19. package/esm2022/lib/directive/height.directive.mjs +1 -1
  20. package/esm2022/lib/directive/hover-animation.directive.mjs +1 -1
  21. package/esm2022/lib/directive/hoverborder.directive.mjs +1 -1
  22. package/esm2022/lib/directive/icon-directive.directive.mjs +1 -1
  23. package/esm2022/lib/directive/image-container.directive.mjs +1 -1
  24. package/esm2022/lib/directive/image-directive.directive.mjs +1 -1
  25. package/esm2022/lib/directive/image-editor.directive.mjs +1 -1
  26. package/esm2022/lib/directive/image-position.directive.mjs +1 -1
  27. package/esm2022/lib/directive/letters-only.directive.mjs +1 -1
  28. package/esm2022/lib/directive/merge-header.directive.mjs +1 -1
  29. package/esm2022/lib/directive/numbers-only.directive.mjs +1 -1
  30. package/esm2022/lib/directive/position-layout-directive.directive.mjs +1 -1
  31. package/esm2022/lib/directive/set-dynamic-background.directive.mjs +1 -1
  32. package/esm2022/lib/directive/spacing-around.directive.mjs +1 -1
  33. package/esm2022/lib/directive/spacing-horizontal.directive.mjs +1 -1
  34. package/esm2022/lib/directive/spacing.directive.mjs +1 -1
  35. package/esm2022/lib/directive/sticky-directive.mjs +1 -1
  36. package/esm2022/lib/directive/text-background-directive.directive.mjs +1 -1
  37. package/esm2022/lib/directive/text-size.directive.mjs +1 -1
  38. package/esm2022/lib/directive/translate-onhover.directive.mjs +1 -1
  39. package/esm2022/lib/directive/wrap-containers.directive.mjs +1 -1
  40. package/esm2022/lib/ecommerce/sections/address/address.component.mjs +3 -3
  41. package/esm2022/lib/ecommerce/sections/authenticate-user/authenticate-user.component.mjs +3 -3
  42. package/esm2022/lib/ecommerce/sections/authentication-required/authentication-required.model.mjs +1 -1
  43. package/esm2022/lib/ecommerce/sections/book-appointment/book-appointment.component.mjs +3 -3
  44. package/esm2022/lib/ecommerce/sections/book-appointment/book-appointment.model.mjs +1 -1
  45. package/esm2022/lib/ecommerce/sections/cart/cart.modal.mjs +1 -1
  46. package/esm2022/lib/ecommerce/sections/category-product/category-product.component.mjs +3 -3
  47. package/esm2022/lib/ecommerce/sections/category-product/category-product.model.mjs +1 -1
  48. package/esm2022/lib/ecommerce/sections/checkout/checkout.component.mjs +3 -3
  49. package/esm2022/lib/ecommerce/sections/checkout/checkout.modal.mjs +1 -1
  50. package/esm2022/lib/ecommerce/sections/customer-review/customer-review.component.mjs +3 -3
  51. package/esm2022/lib/ecommerce/sections/customer-review/customer-review.model.mjs +1 -1
  52. package/esm2022/lib/ecommerce/sections/enrollment-form/enrollment-form.component.mjs +3 -3
  53. package/esm2022/lib/ecommerce/sections/enrollment-form/enrollment-form.model.mjs +1 -1
  54. package/esm2022/lib/ecommerce/sections/featured-category/featured-category.component.mjs +3 -3
  55. package/esm2022/lib/ecommerce/sections/featured-category/featured-category.modal.mjs +1 -1
  56. package/esm2022/lib/ecommerce/sections/featured-category/featured-collection.component.mjs +3 -3
  57. package/esm2022/lib/ecommerce/sections/featured-products/featured-products.component.mjs +3 -3
  58. package/esm2022/lib/ecommerce/sections/featured-products/featured-products.modal.mjs +1 -1
  59. package/esm2022/lib/ecommerce/sections/item-varient/item-varient.component.mjs +3 -3
  60. package/esm2022/lib/ecommerce/sections/new-collection/new-collection.component.mjs +3 -3
  61. package/esm2022/lib/ecommerce/sections/new-collection/new-collection.modal.mjs +1 -1
  62. package/esm2022/lib/ecommerce/sections/pagnination/pagnination.component.mjs +3 -3
  63. package/esm2022/lib/ecommerce/sections/passbook-transactions/passbook-transactions.component.mjs +3 -3
  64. package/esm2022/lib/ecommerce/sections/product-category-list/product-category-list.component.mjs +3 -3
  65. package/esm2022/lib/ecommerce/sections/product-category-list/product-category-list.model.mjs +1 -1
  66. package/esm2022/lib/ecommerce/sections/product-desc/product-desc.modal.mjs +1 -1
  67. package/esm2022/lib/ecommerce/sections/product-list/product-list.modal.mjs +1 -1
  68. package/esm2022/lib/ecommerce/sections/returns-calculator/returns-calculator.component.mjs +3 -3
  69. package/esm2022/lib/ecommerce/sections/returns-calculator/returns-calculator.model.mjs +1 -1
  70. package/esm2022/lib/ecommerce/sections/scheme-details/scheme-details.component.mjs +3 -3
  71. package/esm2022/lib/ecommerce/sections/scheme-selection/scheme-selection.component.mjs +3 -3
  72. package/esm2022/lib/ecommerce/sections/schemes/schemes.component.mjs +3 -3
  73. package/esm2022/lib/ecommerce/sections/schemes/schemes.component.model.mjs +1 -1
  74. package/esm2022/lib/ecommerce/sections/small-product-listing/small-product-listing.component.mjs +3 -3
  75. package/esm2022/lib/ecommerce/sections/store-list/store-list.component.mjs +3 -3
  76. package/esm2022/lib/ecommerce/sections/store-list/store-list.modal.mjs +1 -1
  77. package/esm2022/lib/ecommerce/sections/store-page/store-page.component.mjs +3 -3
  78. package/esm2022/lib/ecommerce/sections/store-page/store-page.model.mjs +1 -1
  79. package/esm2022/lib/ecommerce/sections/user-basic-info/user-basic-info.component.mjs +3 -3
  80. package/esm2022/lib/ecommerce/sections/user-profile/user-profile.component.mjs +1 -1
  81. package/esm2022/lib/ecommerce/sections/user-profile/user-profile.modal.mjs +1 -1
  82. package/esm2022/lib/ecommerce/sections/verify-payment/verify-payment.component.mjs +3 -3
  83. package/esm2022/lib/ecommerce/sections/verify-payment/verify-payment.model.mjs +1 -1
  84. package/esm2022/lib/ecommerce/sections/whislist/whislist.component.mjs +3 -3
  85. package/esm2022/lib/ecommerce/styles/BaseCollection.modal.mjs +1 -1
  86. package/esm2022/lib/ecommerce/styles/Collection.modal.mjs +1 -1
  87. package/esm2022/lib/ecommerce/styles/OrderedItems.modal.mjs +1 -1
  88. package/esm2022/lib/ecommerce/styles/PincodeLocation.model.mjs +1 -1
  89. package/esm2022/lib/ecommerce/styles/PincodeLocationInter.model.mjs +1 -1
  90. package/esm2022/lib/ecommerce/styles/cart.modal.mjs +1 -1
  91. package/esm2022/lib/ecommerce/styles/category.modal.mjs +1 -1
  92. package/esm2022/lib/ecommerce/styles/order.modal.mjs +1 -1
  93. package/esm2022/lib/ecommerce/styles/product.modal.mjs +1 -1
  94. package/esm2022/lib/ecommerce/styles/review.modal.mjs +1 -1
  95. package/esm2022/lib/ecommerce/styles/user.modal.mjs +1 -1
  96. package/esm2022/lib/elements/add-section/add-section.component.mjs +3 -3
  97. package/esm2022/lib/elements/address-list/address-list.component.mjs +3 -3
  98. package/esm2022/lib/elements/below-image-card/below-image-card.component.mjs +3 -3
  99. package/esm2022/lib/elements/button/button.component.mjs +3 -3
  100. package/esm2022/lib/elements/button/button.model.mjs +1 -1
  101. package/esm2022/lib/elements/card-skeleton-loader/card-skeleton-loader.component.mjs +3 -3
  102. package/esm2022/lib/elements/covering-image-card/covering-image-card.component.mjs +3 -3
  103. package/esm2022/lib/elements/editor-service.service.mjs +1 -1
  104. package/esm2022/lib/elements/heading-element/heading-element.component.mjs +3 -3
  105. package/esm2022/lib/elements/image-editor/image-editor.component.mjs +3 -3
  106. package/esm2022/lib/elements/index.mjs +1 -1
  107. package/esm2022/lib/elements/list-home-appointment/list-home-appointment.component.mjs +3 -3
  108. package/esm2022/lib/elements/media-selector/media-selector.component.mjs +3 -3
  109. package/esm2022/lib/elements/portfolio/portfolio.component.mjs +3 -3
  110. package/esm2022/lib/elements/property/property.component.mjs +3 -3
  111. package/esm2022/lib/elements/schedule-video-call/schedule-video-call.component.mjs +3 -3
  112. package/esm2022/lib/elements/simpo-button/simpo-button.component.mjs +1 -1
  113. package/esm2022/lib/elements/svg-divider/svg-divider.component.mjs +3 -3
  114. package/esm2022/lib/elements/text/text.component.mjs +3 -3
  115. package/esm2022/lib/elements/top-of-image-card/top-of-image-card.component.mjs +3 -3
  116. package/esm2022/lib/pipes/amount.pipe.mjs +1 -1
  117. package/esm2022/lib/pipes/gender.pipe.mjs +1 -1
  118. package/esm2022/lib/sections/add-new-section/add-new-section.component.mjs +3 -3
  119. package/esm2022/lib/sections/appointment-form/appointment-form.component.mjs +3 -3
  120. package/esm2022/lib/sections/appointment-form/appointment-form.model.mjs +1 -1
  121. package/esm2022/lib/sections/banner-carousel/banner-carousel.component.mjs +3 -3
  122. package/esm2022/lib/sections/banner-carousel/banner-carousel.model.mjs +1 -1
  123. package/esm2022/lib/sections/banner-grid-section/banner-grid-section.component.mjs +3 -3
  124. package/esm2022/lib/sections/blog-list/blog-list.component.mjs +1 -1
  125. package/esm2022/lib/sections/blog-list/blog-list.model.mjs +1 -1
  126. package/esm2022/lib/sections/choose-us-section/choose-us-section.component.mjs +3 -3
  127. package/esm2022/lib/sections/choose-us-section/choose-us-section.model.mjs +1 -1
  128. package/esm2022/lib/sections/countdown-banner/countdown-banner.component.mjs +162 -0
  129. package/esm2022/lib/sections/countdown-banner/countdown-banner.component.model.mjs +2 -0
  130. package/esm2022/lib/sections/faq-section/faq-section.component.mjs +3 -3
  131. package/esm2022/lib/sections/faq-section/faq-section.modal.mjs +1 -1
  132. package/esm2022/lib/sections/features-section/features-section.component.mjs +3 -3
  133. package/esm2022/lib/sections/features-section/features-section.model.mjs +1 -1
  134. package/esm2022/lib/sections/footer/footer.component.mjs +1 -1
  135. package/esm2022/lib/sections/footer/footer.modal.mjs +1 -1
  136. package/esm2022/lib/sections/header-section/header-section.component.mjs +26 -4
  137. package/esm2022/lib/sections/header-section/header-section.model.mjs +1 -1
  138. package/esm2022/lib/sections/header-text/header-text.component.mjs +3 -3
  139. package/esm2022/lib/sections/header-text/header-text.model.mjs +1 -1
  140. package/esm2022/lib/sections/image-background/image-background/image-background.component.mjs +72 -0
  141. package/esm2022/lib/sections/image-background/image-background/image-background.component.model.mjs +2 -0
  142. package/esm2022/lib/sections/image-carousel-section/image-carousel-section.component.mjs +3 -3
  143. package/esm2022/lib/sections/image-carousel-section/image-carousel.model.mjs +1 -1
  144. package/esm2022/lib/sections/image-grid-section/image-grid-section.component.mjs +3 -3
  145. package/esm2022/lib/sections/image-grid-section/image-grid-section.model.mjs +1 -1
  146. package/esm2022/lib/sections/image-section/image-section.component.mjs +3 -3
  147. package/esm2022/lib/sections/image-section/image-section.model.mjs +1 -1
  148. package/esm2022/lib/sections/location-section/location-section.component.mjs +3 -3
  149. package/esm2022/lib/sections/location-section/location-section.modal.mjs +1 -1
  150. package/esm2022/lib/sections/logo-showcase/logo-showcase.component.mjs +3 -3
  151. package/esm2022/lib/sections/logo-showcase/logo-showcase.modal.mjs +1 -1
  152. package/esm2022/lib/sections/moving-text/moving-text.component.mjs +3 -3
  153. package/esm2022/lib/sections/moving-text/moving-text.modal.mjs +1 -1
  154. package/esm2022/lib/sections/new-services/new-services.component.mjs +3 -3
  155. package/esm2022/lib/sections/new-services/new-services.model.mjs +1 -1
  156. package/esm2022/lib/sections/new-testimonials/new-testimonials.component.mjs +3 -3
  157. package/esm2022/lib/sections/new-testimonials/new-testimonials.model.mjs +1 -1
  158. package/esm2022/lib/sections/news-letter-component/news-letter-component.component.mjs +3 -3
  159. package/esm2022/lib/sections/news-letter-component/news-letter.modal.mjs +1 -1
  160. package/esm2022/lib/sections/overlapping-image/overlapping-image.component.mjs +100 -0
  161. package/esm2022/lib/sections/overlapping-image/overlapping-image.component.modal.mjs +2 -0
  162. package/esm2022/lib/sections/pricing-section/pricing-section.modal.mjs +1 -1
  163. package/esm2022/lib/sections/process-modern/process-modern.component.mjs +3 -3
  164. package/esm2022/lib/sections/process-modern/process-modern.model.mjs +1 -1
  165. package/esm2022/lib/sections/process-section/process-section.component.mjs +3 -3
  166. package/esm2022/lib/sections/process-section/process-section.modal.mjs +1 -1
  167. package/esm2022/lib/sections/property-component/property-component.component.mjs +3 -3
  168. package/esm2022/lib/sections/property-component/property-component.modal.mjs +1 -1
  169. package/esm2022/lib/sections/property-list/property-list.component.mjs +3 -3
  170. package/esm2022/lib/sections/property-list/property-list.modal.mjs +1 -1
  171. package/esm2022/lib/sections/recent-blog-post-section/recent-blog-post-section.component.mjs +3 -3
  172. package/esm2022/lib/sections/recent-blog-post-section/recent-blog-post-section.model.mjs +1 -1
  173. package/esm2022/lib/sections/registration-form/registration-form.component.mjs +3 -3
  174. package/esm2022/lib/sections/registration-form/registrationForm.model.mjs +1 -1
  175. package/esm2022/lib/sections/scheme-detail/scheme-detail.component.mjs +3 -3
  176. package/esm2022/lib/sections/scheme-detail/scheme-detail.modal.mjs +1 -1
  177. package/esm2022/lib/sections/service-section/service-section.component.mjs +3 -3
  178. package/esm2022/lib/sections/service-section/service-section.model.mjs +1 -1
  179. package/esm2022/lib/sections/skeleton-loader-section/skeleton-loader-section.component.mjs +3 -3
  180. package/esm2022/lib/sections/team-member-section/team-member-section.component.mjs +3 -3
  181. package/esm2022/lib/sections/team-member-section/team-member-section.model.mjs +1 -1
  182. package/esm2022/lib/sections/testimonial-fullwidth/testimonial-fullwidth.component.mjs +3 -3
  183. package/esm2022/lib/sections/testimonial-fullwidth/testimonial-fullwidth.model.mjs +1 -1
  184. package/esm2022/lib/sections/testimonial-section/testimonial-section.component.mjs +3 -3
  185. package/esm2022/lib/sections/testimonial-section/testimonial-section.model.mjs +1 -1
  186. package/esm2022/lib/sections/testimonial-video/testimonial-video.component.mjs +3 -3
  187. package/esm2022/lib/sections/testimonial-video/testimonial-video.model.mjs +1 -1
  188. package/esm2022/lib/sections/text-section/text-section.model.mjs +1 -1
  189. package/esm2022/lib/sections/usp-video-section/usp-video-section.component.mjs +3 -3
  190. package/esm2022/lib/sections/usp-video-section/usp-video-section.model.mjs +1 -1
  191. package/esm2022/lib/sections/video-section/video-section.component.mjs +1 -1
  192. package/esm2022/lib/sections/video-section/video-section.model.mjs +1 -1
  193. package/esm2022/lib/sections/view-blog/view-blog.component.mjs +1 -1
  194. package/esm2022/lib/services/cart.service.mjs +1 -1
  195. package/esm2022/lib/services/endUser.service.mjs +1 -1
  196. package/esm2022/lib/services/events.service.mjs +2 -1
  197. package/esm2022/lib/services/image-upload-service.service.mjs +1 -1
  198. package/esm2022/lib/services/sanitizeHtml.mjs +1 -1
  199. package/esm2022/lib/styles/style.model.mjs +1 -1
  200. package/esm2022/lib/styles/types.mjs +1 -1
  201. package/esm2022/lib/tokens/api-token.mjs +1 -1
  202. package/esm2022/public-api.mjs +4 -1
  203. package/fesm2022/simpo-component-library.mjs +451 -152
  204. package/fesm2022/simpo-component-library.mjs.map +1 -1
  205. package/lib/sections/countdown-banner/countdown-banner.component.d.ts +34 -0
  206. package/lib/sections/countdown-banner/countdown-banner.component.model.d.ts +13 -0
  207. package/lib/sections/header-section/header-section.component.d.ts +4 -0
  208. package/lib/sections/header-section/header-section.model.d.ts +2 -0
  209. package/lib/sections/image-background/image-background/image-background.component.d.ts +23 -0
  210. package/lib/sections/image-background/image-background/image-background.component.model.d.ts +21 -0
  211. package/lib/sections/overlapping-image/overlapping-image.component.d.ts +25 -0
  212. package/lib/sections/overlapping-image/overlapping-image.component.modal.d.ts +17 -0
  213. package/lib/services/events.service.d.ts +1 -0
  214. package/lib/styles/style.model.d.ts +1 -0
  215. package/package.json +1 -1
  216. package/public-api.d.ts +3 -0
  217. package/simpo-component-library-3.6.579.tgz +0 -0
  218. package/src/lib/styles/global-styles.css +279 -279
  219. package/simpo-component-library-3.6.577.tgz +0 -0
@@ -48,7 +48,7 @@ export class ChooseUsSectionComponent extends BaseSection {
48
48
  }, 100);
49
49
  }
50
50
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChooseUsSectionComponent, deps: [{ token: i1.EventsService }], target: i0.ɵɵFactoryTarget.Component }); }
51
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ChooseUsSectionComponent, isStandalone: true, selector: "simpo-choose-us-section", inputs: { data: "data", index: "index", edit: "edit", delete: "delete", customClass: "customClass", nextComponentColor: "nextComponentColor" }, host: { listeners: { "window: resize": "getScreenSize($event)" } }, usesInheritance: true, ngImport: i0, template: "<div [id]=\"data?.id\" simpoHover (hovering)=\"showEditTabs($event)\" class=\"total-container\" [attr.style]=\"customClass\">\n <div [spacingAround]=\"stylesLayout\" [id]=\"data?.id\">\n <div class=\"col-xxl-8 py-5 w-100\" [id]=\"data?.id\" #mainContainer [spacingHorizontal]=\"stylesLayout\"\n [simpoOverlay]=\"styles?.background\" [simpoBorder]=\"styles?.border\" [simpoBackground]=\"styles?.background\">\n <div class=\"row g-5\" [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\" [simpoAnimation]=\"styles?.animation\">\n <div class=\"d-flex flex-column mt-0\" [id]=\"data?.id\" [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\n [class.flex-sm-column]=\"screenWidth < 475\">\n <div class=\"d-flex flex-column gap-15 content-side\" [id]=\"data?.id\"\n [simpoContentAlignment]=\"styles?.contentAlignment\"\n [class.max-width]=\"styles?.positionLayout?.value === 'right' || styles?.positionLayout?.value === 'left'\">\n <div *ngFor=\" let item of content?.inputText\">\n <!-- <div [innerHTML]=\"item.value | sanitizeHtml\" [ngClass]=\"item.label === 'Heading' ? 'heading-large heading' : 'body-large description'\">\n </div> -->\n <simpo-text-editor [(value)]=\"item.value\" [editable]=\"edit || false\"></simpo-text-editor>\n </div>\n </div>\n\n <div class=\"card-section d-flex\"\n [ngClass]=\"{'position-left': styles?.positionLayout?.value === 'left',\n 'position-right': styles?.positionLayout?.value === 'right', 'justify-content-start': styles?.layout?.align === 'left', 'justify-content-end': styles?.layout?.align === 'right'}\"\n [id]=\"data?.id\">\n <div class=\"cards\" *ngFor=\"let cards of content?.listItem?.data\">\n <div class=\"individual-cards\" [simpoCorner]=\"styles?.corners\"\n [ngClass]=\"{'box': content?.display?.showCard }\">\n <div class=\"heading-large lh-2 mb-3\">\n <!-- <div [innerHtml]=\"cards.inputText[0].value | sanitizeHtml\"></div> -->\n <simpo-text-editor [(value)]=\"cards.inputText[0].value\"\n [editable]=\"edit || false\"></simpo-text-editor>\n\n <div class=\"body-large\">\n <!-- <div [innerHtml]=\"cards.inputText[1].value | sanitizeHtml\"></div> -->\n <simpo-text-editor [(value)]=\"cards.inputText[1].value\"\n [editable]=\"edit || false\"></simpo-text-editor>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <ng-container *ngIf=\"styles?.devider?.display\">\n <simpo-svg-divider [dividerType]=\"styles?.devider?.deviderType\"\n [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\n </ng-container>\n <div *ngIf=\"showEditors\" [ngClass]=\"{'hover_effect': edit}\">\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\n </div>\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\n </div>\n</div>", styles: [".hover_effect{position:unset;width:100%;top:0;left:0;height:100%}.total-container{position:relative;height:auto}.individual-cards{color:#000;border-radius:1rem;display:flex;justify-content:center;align-items:center;text-align:center;height:100%}.box{background:#fff}.card-section{gap:22px;margin-top:5rem;flex-wrap:wrap;width:100%;justify-content:space-between!important;margin-top:0}.cards{width:20%}.position-left,.position-right{width:50%;flex-wrap:wrap;margin-top:1rem!important}:is(.position-left,.position-right) .cards{width:43%}.gap-15{gap:15px}@media screen and (min-width: 475px){.max-width{max-width:50%}}.flex-sm-column{flex-direction:column!important}@media only screen and (max-width: 475px){.card-section{flex-direction:column}.cards{width:92%}.position-left,.position-right{width:100%;margin-top:2rem!important}:is(.position-left,.position-right) .cards{width:92%}}.mt-0{margin-top:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: BackgroundDirective, selector: "[simpoBackground]", inputs: ["simpoBackground", "scrollValue"] }, { kind: "directive", type: HoverDirective, selector: "[simpoHover]", outputs: ["hovering"] }, { kind: "directive", type: OverlayDirective, selector: "[simpoOverlay]", inputs: ["simpoOverlay"] }, { kind: "component", type: HoverElementsComponent, selector: "simpo-hover-elements", inputs: ["data", "index", "editOptions", "isMerged", "isEcommerce"], outputs: ["edit"] }, { kind: "component", type: DeleteHoverElementComponent, selector: "simpo-delete-hover-element", inputs: ["index", "data"], outputs: ["edit"] }, { kind: "directive", type: PositionLayoutDirectiveDirective, selector: "[simpoPositionLayoutDirective]", inputs: ["simpoPositionLayoutDirective"] }, { kind: "directive", type: ContentFitDirective, selector: "[simpoLayout]", inputs: ["simpoLayout"] }, { kind: "directive", type: AnimationDirective, selector: "[simpoAnimation]", inputs: ["simpoAnimation"] }, { kind: "directive", type: BorderDirective, selector: "[simpoBorder]", inputs: ["simpoBorder"] }, { kind: "directive", type: CornerDirective, selector: "[simpoCorner]", inputs: ["simpoCorner"] }, { kind: "directive", type: simpoConetenAlignmentDirective, selector: "[simpoContentAlignment]", inputs: ["simpoContentAlignment"] }, { kind: "component", type: SvgDividerComponent, selector: "simpo-svg-divider", inputs: ["dividerType", "color"] }, { kind: "directive", type: SpacingHorizontalDirective, selector: "[spacingHorizontal]", inputs: ["spacingHorizontal", "isHeader"] }, { kind: "component", type: TextEditorComponent, selector: "simpo-text-editor", inputs: ["value", "editable", "sectionId", "label"], outputs: ["valueChange"] }, { kind: "directive", type: SpacingAroundDirective, selector: "[spacingAround]", inputs: ["spacingAround", "backgroundInfo"] }] }); }
51
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ChooseUsSectionComponent, isStandalone: true, selector: "simpo-choose-us-section", inputs: { data: "data", index: "index", edit: "edit", delete: "delete", customClass: "customClass", nextComponentColor: "nextComponentColor" }, host: { listeners: { "window: resize": "getScreenSize($event)" } }, usesInheritance: true, ngImport: i0, template: "<div [id]=\"data?.id\" simpoHover (hovering)=\"showEditTabs($event)\" class=\"total-container\" [attr.style]=\"customClass\">\r\n <div [spacingAround]=\"stylesLayout\" [id]=\"data?.id\">\r\n <div class=\"col-xxl-8 py-5 w-100\" [id]=\"data?.id\" #mainContainer [spacingHorizontal]=\"stylesLayout\"\r\n [simpoOverlay]=\"styles?.background\" [simpoBorder]=\"styles?.border\" [simpoBackground]=\"styles?.background\">\r\n <div class=\"row g-5\" [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\" [simpoAnimation]=\"styles?.animation\">\r\n <div class=\"d-flex flex-column mt-0\" [id]=\"data?.id\" [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\r\n [class.flex-sm-column]=\"screenWidth < 475\">\r\n <div class=\"d-flex flex-column gap-15 content-side\" [id]=\"data?.id\"\r\n [simpoContentAlignment]=\"styles?.contentAlignment\"\r\n [class.max-width]=\"styles?.positionLayout?.value === 'right' || styles?.positionLayout?.value === 'left'\">\r\n <div *ngFor=\" let item of content?.inputText\">\r\n <!-- <div [innerHTML]=\"item.value | sanitizeHtml\" [ngClass]=\"item.label === 'Heading' ? 'heading-large heading' : 'body-large description'\">\r\n </div> -->\r\n <simpo-text-editor [(value)]=\"item.value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-section d-flex\"\r\n [ngClass]=\"{'position-left': styles?.positionLayout?.value === 'left',\r\n 'position-right': styles?.positionLayout?.value === 'right', 'justify-content-start': styles?.layout?.align === 'left', 'justify-content-end': styles?.layout?.align === 'right'}\"\r\n [id]=\"data?.id\">\r\n <div class=\"cards\" *ngFor=\"let cards of content?.listItem?.data\">\r\n <div class=\"individual-cards\" [simpoCorner]=\"styles?.corners\"\r\n [ngClass]=\"{'box': content?.display?.showCard }\">\r\n <div class=\"heading-large lh-2 mb-3\">\r\n <!-- <div [innerHtml]=\"cards.inputText[0].value | sanitizeHtml\"></div> -->\r\n <simpo-text-editor [(value)]=\"cards.inputText[0].value\"\r\n [editable]=\"edit || false\"></simpo-text-editor>\r\n\r\n <div class=\"body-large\">\r\n <!-- <div [innerHtml]=\"cards.inputText[1].value | sanitizeHtml\"></div> -->\r\n <simpo-text-editor [(value)]=\"cards.inputText[1].value\"\r\n [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"styles?.devider?.display\">\r\n <simpo-svg-divider [dividerType]=\"styles?.devider?.deviderType\"\r\n [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\r\n </ng-container>\r\n <div *ngIf=\"showEditors\" [ngClass]=\"{'hover_effect': edit}\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\r\n </div>\r\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\r\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\r\n </div>\r\n</div>", styles: [".hover_effect{position:unset;width:100%;top:0;left:0;height:100%}.total-container{position:relative;height:auto}.individual-cards{color:#000;border-radius:1rem;display:flex;justify-content:center;align-items:center;text-align:center;height:100%}.box{background:#fff}.card-section{gap:22px;margin-top:5rem;flex-wrap:wrap;width:100%;justify-content:space-between!important;margin-top:0}.cards{width:20%}.position-left,.position-right{width:50%;flex-wrap:wrap;margin-top:1rem!important}:is(.position-left,.position-right) .cards{width:43%}.gap-15{gap:15px}@media screen and (min-width: 475px){.max-width{max-width:50%}}.flex-sm-column{flex-direction:column!important}@media only screen and (max-width: 475px){.card-section{flex-direction:column}.cards{width:92%}.position-left,.position-right{width:100%;margin-top:2rem!important}:is(.position-left,.position-right) .cards{width:92%}}.mt-0{margin-top:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: BackgroundDirective, selector: "[simpoBackground]", inputs: ["simpoBackground", "scrollValue"] }, { kind: "directive", type: HoverDirective, selector: "[simpoHover]", outputs: ["hovering"] }, { kind: "directive", type: OverlayDirective, selector: "[simpoOverlay]", inputs: ["simpoOverlay"] }, { kind: "component", type: HoverElementsComponent, selector: "simpo-hover-elements", inputs: ["data", "index", "editOptions", "isMerged", "isEcommerce"], outputs: ["edit"] }, { kind: "component", type: DeleteHoverElementComponent, selector: "simpo-delete-hover-element", inputs: ["index", "data"], outputs: ["edit"] }, { kind: "directive", type: PositionLayoutDirectiveDirective, selector: "[simpoPositionLayoutDirective]", inputs: ["simpoPositionLayoutDirective"] }, { kind: "directive", type: ContentFitDirective, selector: "[simpoLayout]", inputs: ["simpoLayout"] }, { kind: "directive", type: AnimationDirective, selector: "[simpoAnimation]", inputs: ["simpoAnimation"] }, { kind: "directive", type: BorderDirective, selector: "[simpoBorder]", inputs: ["simpoBorder"] }, { kind: "directive", type: CornerDirective, selector: "[simpoCorner]", inputs: ["simpoCorner"] }, { kind: "directive", type: simpoConetenAlignmentDirective, selector: "[simpoContentAlignment]", inputs: ["simpoContentAlignment"] }, { kind: "component", type: SvgDividerComponent, selector: "simpo-svg-divider", inputs: ["dividerType", "color"] }, { kind: "directive", type: SpacingHorizontalDirective, selector: "[spacingHorizontal]", inputs: ["spacingHorizontal", "isHeader"] }, { kind: "component", type: TextEditorComponent, selector: "simpo-text-editor", inputs: ["value", "editable", "sectionId", "label"], outputs: ["valueChange"] }, { kind: "directive", type: SpacingAroundDirective, selector: "[spacingAround]", inputs: ["spacingAround", "backgroundInfo"] }] }); }
52
52
  }
53
53
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChooseUsSectionComponent, decorators: [{
54
54
  type: Component,
@@ -69,7 +69,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
69
69
  SpacingHorizontalDirective,
70
70
  TextEditorComponent,
71
71
  SpacingAroundDirective
72
- ], template: "<div [id]=\"data?.id\" simpoHover (hovering)=\"showEditTabs($event)\" class=\"total-container\" [attr.style]=\"customClass\">\n <div [spacingAround]=\"stylesLayout\" [id]=\"data?.id\">\n <div class=\"col-xxl-8 py-5 w-100\" [id]=\"data?.id\" #mainContainer [spacingHorizontal]=\"stylesLayout\"\n [simpoOverlay]=\"styles?.background\" [simpoBorder]=\"styles?.border\" [simpoBackground]=\"styles?.background\">\n <div class=\"row g-5\" [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\" [simpoAnimation]=\"styles?.animation\">\n <div class=\"d-flex flex-column mt-0\" [id]=\"data?.id\" [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\n [class.flex-sm-column]=\"screenWidth < 475\">\n <div class=\"d-flex flex-column gap-15 content-side\" [id]=\"data?.id\"\n [simpoContentAlignment]=\"styles?.contentAlignment\"\n [class.max-width]=\"styles?.positionLayout?.value === 'right' || styles?.positionLayout?.value === 'left'\">\n <div *ngFor=\" let item of content?.inputText\">\n <!-- <div [innerHTML]=\"item.value | sanitizeHtml\" [ngClass]=\"item.label === 'Heading' ? 'heading-large heading' : 'body-large description'\">\n </div> -->\n <simpo-text-editor [(value)]=\"item.value\" [editable]=\"edit || false\"></simpo-text-editor>\n </div>\n </div>\n\n <div class=\"card-section d-flex\"\n [ngClass]=\"{'position-left': styles?.positionLayout?.value === 'left',\n 'position-right': styles?.positionLayout?.value === 'right', 'justify-content-start': styles?.layout?.align === 'left', 'justify-content-end': styles?.layout?.align === 'right'}\"\n [id]=\"data?.id\">\n <div class=\"cards\" *ngFor=\"let cards of content?.listItem?.data\">\n <div class=\"individual-cards\" [simpoCorner]=\"styles?.corners\"\n [ngClass]=\"{'box': content?.display?.showCard }\">\n <div class=\"heading-large lh-2 mb-3\">\n <!-- <div [innerHtml]=\"cards.inputText[0].value | sanitizeHtml\"></div> -->\n <simpo-text-editor [(value)]=\"cards.inputText[0].value\"\n [editable]=\"edit || false\"></simpo-text-editor>\n\n <div class=\"body-large\">\n <!-- <div [innerHtml]=\"cards.inputText[1].value | sanitizeHtml\"></div> -->\n <simpo-text-editor [(value)]=\"cards.inputText[1].value\"\n [editable]=\"edit || false\"></simpo-text-editor>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <ng-container *ngIf=\"styles?.devider?.display\">\n <simpo-svg-divider [dividerType]=\"styles?.devider?.deviderType\"\n [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\n </ng-container>\n <div *ngIf=\"showEditors\" [ngClass]=\"{'hover_effect': edit}\">\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\n </div>\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\n </div>\n</div>", styles: [".hover_effect{position:unset;width:100%;top:0;left:0;height:100%}.total-container{position:relative;height:auto}.individual-cards{color:#000;border-radius:1rem;display:flex;justify-content:center;align-items:center;text-align:center;height:100%}.box{background:#fff}.card-section{gap:22px;margin-top:5rem;flex-wrap:wrap;width:100%;justify-content:space-between!important;margin-top:0}.cards{width:20%}.position-left,.position-right{width:50%;flex-wrap:wrap;margin-top:1rem!important}:is(.position-left,.position-right) .cards{width:43%}.gap-15{gap:15px}@media screen and (min-width: 475px){.max-width{max-width:50%}}.flex-sm-column{flex-direction:column!important}@media only screen and (max-width: 475px){.card-section{flex-direction:column}.cards{width:92%}.position-left,.position-right{width:100%;margin-top:2rem!important}:is(.position-left,.position-right) .cards{width:92%}}.mt-0{margin-top:0}\n"] }]
72
+ ], template: "<div [id]=\"data?.id\" simpoHover (hovering)=\"showEditTabs($event)\" class=\"total-container\" [attr.style]=\"customClass\">\r\n <div [spacingAround]=\"stylesLayout\" [id]=\"data?.id\">\r\n <div class=\"col-xxl-8 py-5 w-100\" [id]=\"data?.id\" #mainContainer [spacingHorizontal]=\"stylesLayout\"\r\n [simpoOverlay]=\"styles?.background\" [simpoBorder]=\"styles?.border\" [simpoBackground]=\"styles?.background\">\r\n <div class=\"row g-5\" [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\" [simpoAnimation]=\"styles?.animation\">\r\n <div class=\"d-flex flex-column mt-0\" [id]=\"data?.id\" [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\r\n [class.flex-sm-column]=\"screenWidth < 475\">\r\n <div class=\"d-flex flex-column gap-15 content-side\" [id]=\"data?.id\"\r\n [simpoContentAlignment]=\"styles?.contentAlignment\"\r\n [class.max-width]=\"styles?.positionLayout?.value === 'right' || styles?.positionLayout?.value === 'left'\">\r\n <div *ngFor=\" let item of content?.inputText\">\r\n <!-- <div [innerHTML]=\"item.value | sanitizeHtml\" [ngClass]=\"item.label === 'Heading' ? 'heading-large heading' : 'body-large description'\">\r\n </div> -->\r\n <simpo-text-editor [(value)]=\"item.value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-section d-flex\"\r\n [ngClass]=\"{'position-left': styles?.positionLayout?.value === 'left',\r\n 'position-right': styles?.positionLayout?.value === 'right', 'justify-content-start': styles?.layout?.align === 'left', 'justify-content-end': styles?.layout?.align === 'right'}\"\r\n [id]=\"data?.id\">\r\n <div class=\"cards\" *ngFor=\"let cards of content?.listItem?.data\">\r\n <div class=\"individual-cards\" [simpoCorner]=\"styles?.corners\"\r\n [ngClass]=\"{'box': content?.display?.showCard }\">\r\n <div class=\"heading-large lh-2 mb-3\">\r\n <!-- <div [innerHtml]=\"cards.inputText[0].value | sanitizeHtml\"></div> -->\r\n <simpo-text-editor [(value)]=\"cards.inputText[0].value\"\r\n [editable]=\"edit || false\"></simpo-text-editor>\r\n\r\n <div class=\"body-large\">\r\n <!-- <div [innerHtml]=\"cards.inputText[1].value | sanitizeHtml\"></div> -->\r\n <simpo-text-editor [(value)]=\"cards.inputText[1].value\"\r\n [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"styles?.devider?.display\">\r\n <simpo-svg-divider [dividerType]=\"styles?.devider?.deviderType\"\r\n [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\r\n </ng-container>\r\n <div *ngIf=\"showEditors\" [ngClass]=\"{'hover_effect': edit}\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\r\n </div>\r\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\r\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\r\n </div>\r\n</div>", styles: [".hover_effect{position:unset;width:100%;top:0;left:0;height:100%}.total-container{position:relative;height:auto}.individual-cards{color:#000;border-radius:1rem;display:flex;justify-content:center;align-items:center;text-align:center;height:100%}.box{background:#fff}.card-section{gap:22px;margin-top:5rem;flex-wrap:wrap;width:100%;justify-content:space-between!important;margin-top:0}.cards{width:20%}.position-left,.position-right{width:50%;flex-wrap:wrap;margin-top:1rem!important}:is(.position-left,.position-right) .cards{width:43%}.gap-15{gap:15px}@media screen and (min-width: 475px){.max-width{max-width:50%}}.flex-sm-column{flex-direction:column!important}@media only screen and (max-width: 475px){.card-section{flex-direction:column}.cards{width:92%}.position-left,.position-right{width:100%;margin-top:2rem!important}:is(.position-left,.position-right) .cards{width:92%}}.mt-0{margin-top:0}\n"] }]
73
73
  }], ctorParameters: () => [{ type: i1.EventsService }], propDecorators: { data: [{
74
74
  type: Input
75
75
  }], index: [{
@@ -86,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
86
86
  type: HostListener,
87
87
  args: ["window: resize", ["$event"]]
88
88
  }] } });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvb3NlLXVzLXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zZWN0aW9ucy9jaG9vc2UtdXMtc2VjdGlvbi9jaG9vc2UtdXMtc2VjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL2Nob29zZS11cy1zZWN0aW9uL2Nob29zZS11cy1zZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLFdBQVcsTUFBTSxnQkFBZ0IsQ0FBQztBQUd6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNu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QUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IEJhc2VTZWN0aW9uIGZyb20gJy4uL0Jhc2VTZWN0aW9uJztcbmltcG9ydCB7IEV2ZW50c1NlcnZpY2UgfSBmcm9tICcuLy4uLy4uL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlJztcbmltcG9ydCB7IENob29zZVVzQ29udGVudE1vZGFsLCBDaG9vc2VVc1N0eWxlc01vZGVsLCBDb250YWN0VXNTZWN0aW9uTW9kYWwgfSBmcm9tICcuL2Nob29zZS11cy1zZWN0aW9uLm1vZGVsJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCYWNrZ3JvdW5kRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2JhY2tncm91bmQtZGlyZWN0aXZlJztcbmltcG9ydCB7IEhvdmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2hvdmVyLWVsZW1lbnQtZGlyZWN0aXZlJztcbmltcG9ydCB7IE92ZXJsYXlEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvb3ZlcmxheS1kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSG92ZXJFbGVtZW50c0NvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2hvdmVyLWVsZW1lbnRzL2hvdmVyLWVsZW1lbnRzLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRGVsZXRlSG92ZXJFbGVtZW50Q29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvZGVsZXRlLWhvdmVyLWVsZW1lbnQvZGVsZXRlLWhvdmVyLWVsZW1lbnQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBQb3NpdGlvbkxheW91dERpcmVjdGl2ZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9wb3NpdGlvbi1sYXlvdXQtZGlyZWN0aXZlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDb250ZW50Rml0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2NvbnRlbnQtZml0LWRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBbmltYXRpb25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvYW5pbWF0aW9uLWRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCb3JkZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvYm9yZGVyLWRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBPYmplY3RQb3NpdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9pbWFnZS1wb3NpdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ29ybmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2Nvcm5lci1kaXJlY3RpdmUnO1xuaW1wb3J0IHsgc2ltcG9Db25ldGVuQWxpZ25tZW50RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2NvbnRlbnQtYWxpZ25tZW50LWRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTYW5pdGl6ZUh0bWxQaXBlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2FuaXRpemVIdG1sJztcbmltcG9ydCB7IEJhY2tncm91bmRNb2RlbCwgTGF5T3V0TW9kZWwgfSBmcm9tICcuLi8uLi9zdHlsZXMvc3R5bGUubW9kZWwnO1xuaW1wb3J0IHsgU3ZnRGl2aWRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2VsZW1lbnRzL3N2Zy1kaXZpZGVyL3N2Zy1kaXZpZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTcGFjaW5nSG9yaXpvbnRhbERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9zcGFjaW5nLWhvcml6b250YWwuZGlyZWN0aXZlJztcbmltcG9ydCB7IFRleHRFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuLi8uLi9lbGVtZW50cy90ZXh0LWVkaXRvci90ZXh0LWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3BhY2luZ0Fyb3VuZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9zcGFjaW5nLWFyb3VuZC5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaW1wby1jaG9vc2UtdXMtc2VjdGlvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaG9vc2UtdXMtc2VjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9jaG9vc2UtdXMtc2VjdGlvbi5jb21wb25lbnQuY3NzJyxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSxcbiAgICBCYWNrZ3JvdW5kRGlyZWN0aXZlLFxuICAgIEhvdmVyRGlyZWN0aXZlLFxuICAgIE92ZXJsYXlEaXJlY3RpdmUsXG4gICAgSG92ZXJFbGVtZW50c0NvbXBvbmVudCxcbiAgICBEZWxldGVIb3ZlckVsZW1lbnRDb21wb25lbnQsXG4gICAgUG9zaXRpb25MYXlvdXREaXJlY3RpdmVEaXJlY3RpdmUsXG4gICAgQ29udGVudEZpdERpcmVjdGl2ZSxcbiAgICBBbmltYXRpb25EaXJlY3RpdmUsXG4gICAgQm9yZGVyRGlyZWN0aXZlLFxuICAgIE9iamVjdFBvc2l0aW9uRGlyZWN0aXZlLFxuICAgIENvcm5lckRpcmVjdGl2ZSxcbiAgICBzaW1wb0NvbmV0ZW5BbGlnbm1lbnREaXJlY3RpdmUsXG4gICAgU2FuaXRpemVIdG1sUGlwZSwgU3ZnRGl2aWRlckNvbXBvbmVudCxcbiAgICBTcGFjaW5nSG9yaXpvbnRhbERpcmVjdGl2ZSxcbiAgICBUZXh0RWRpdG9yQ29tcG9uZW50LFxuICAgIFNwYWNpbmdBcm91bmREaXJlY3RpdmVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBDaG9vc2VVc1NlY3Rpb25Db21wb25lbnQgZXh0ZW5kcyBCYXNlU2VjdGlvbiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGRhdGE/OiBDb250YWN0VXNTZWN0aW9uTW9kYWw7XG4gIEBJbnB1dCgpIGluZGV4PzogbnVtYmVyO1xuICBjb250ZW50PzogQ2hvb3NlVXNDb250ZW50TW9kYWw7XG4gIEBJbnB1dCgpIGVkaXQ/OiBib29sZWFuO1xuICBASW5wdXQoKSBkZWxldGU/OiBib29sZWFuO1xuICBASW5wdXQoKSBjdXN0b21DbGFzcz86IHN0cmluZztcbiAgQElucHV0KCkgbmV4dENvbXBvbmVudENvbG9yPzogQmFja2dyb3VuZE1vZGVsO1xuXG4gIHN0eWxlcz86IENob29zZVVzU3R5bGVzTW9kZWw7XG5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9ldmVudFNlcnZpY2U6IEV2ZW50c1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZGVsZXRlU2VsZWN0ZWQgPSB0aGlzLmRlbGV0ZVxuICAgIHRoaXMuY29udGVudCA9IHRoaXMuZGF0YT8uY29udGVudDtcbiAgICB0aGlzLnN0eWxlcyA9IHRoaXMuZGF0YT8uc3R5bGVzO1xuICAgIHRoaXMuZ2V0U2NyZWVuU2l6ZSgpO1xuICB9XG5cbiAgZ2V0IHN0eWxlc0xheW91dCgpIHtcbiAgICByZXR1cm4geyAuLi50aGlzLnN0eWxlcz8ubGF5b3V0IH0gYXMgTGF5T3V0TW9kZWw7XG4gIH1cblxuICBzY3JlZW5XaWR0aDogYW55ID0gXCJcIlxuICBASG9zdExpc3RlbmVyKFwid2luZG93OiByZXNpemVcIiwgW1wiJGV2ZW50XCJdKVxuICBnZXRTY3JlZW5TaXplKCkge1xuICAgIHRoaXMuc2NyZWVuV2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcbiAgfVxuXG4gIGVkaXRTZWN0aW9uKCkge1xuXG4gICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoIDw9IDQ3NSlcbiAgICAgIHJldHVyblxuICAgIHRoaXMuX2V2ZW50U2VydmljZS50b2dnbGVFZGl0b3JFdmVudC5lbWl0KGZhbHNlKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuX2V2ZW50U2VydmljZS5lZGl0U2VjdGlvbi5lbWl0KHsgZGF0YTogdGhpcy5kYXRhIH0pO1xuICAgIH0sIDEwMCk7XG4gIH1cbn1cbiIsIjxkaXYgW2lkXT1cImRhdGE/LmlkXCIgc2ltcG9Ib3ZlciAoaG92ZXJpbmcpPVwic2hvd0VkaXRUYWJzKCRldmVudClcIiBjbGFzcz1cInRvdGFsLWNvbnRhaW5lclwiIFthdHRyLnN0eWxlXT1cImN1c3RvbUNsYXNzXCI+XG4gIDxkaXYgW3NwYWNpbmdBcm91bmRdPVwic3R5bGVzTGF5b3V0XCIgW2lkXT1cImRhdGE/LmlkXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbC14eGwtOCBweS01IHctMTAwXCIgW2lkXT1cImRhdGE/LmlkXCIgI21haW5Db250YWluZXIgW3NwYWNpbmdIb3Jpem9udGFsXT1cInN0eWxlc0xheW91dFwiXG4gICAgICBbc2ltcG9PdmVybGF5XT1cInN0eWxlcz8uYmFja2dyb3VuZFwiIFtzaW1wb0JvcmRlcl09XCJzdHlsZXM/LmJvcmRlclwiIFtzaW1wb0JhY2tncm91bmRdPVwic3R5bGVzPy5iYWNrZ3JvdW5kXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicm93IGctNVwiIFtpZF09XCJkYXRhPy5pZFwiIFtzaW1wb0xheW91dF09XCJzdHlsZXM/LmxheW91dFwiIFtzaW1wb0FuaW1hdGlvbl09XCJzdHlsZXM/LmFuaW1hdGlvblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIG10LTBcIiBbaWRdPVwiZGF0YT8uaWRcIiBbc2ltcG9Qb3NpdGlvbkxheW91dERpcmVjdGl2ZV09XCJzdHlsZXM/LnBvc2l0aW9uTGF5b3V0XCJcbiAgICAgICAgICBbY2xhc3MuZmxleC1zbS1jb2x1bW5dPVwic2NyZWVuV2lkdGggPCA0NzVcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGdhcC0xNSBjb250ZW50LXNpZGVcIiBbaWRdPVwiZGF0YT8uaWRcIlxuICAgICAgICAgICAgW3NpbXBvQ29udGVudEFsaWdubWVudF09XCJzdHlsZXM/LmNvbnRlbnRBbGlnbm1lbnRcIlxuICAgICAgICAgICAgW2NsYXNzLm1heC13aWR0aF09XCJzdHlsZXM/LnBvc2l0aW9uTGF5b3V0Py52YWx1ZSA9PT0gJ3JpZ2h0JyB8fCBzdHlsZXM/LnBvc2l0aW9uTGF5b3V0Py52YWx1ZSA9PT0gJ2xlZnQnXCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cIiBsZXQgaXRlbSBvZiBjb250ZW50Py5pbnB1dFRleHRcIj5cbiAgICAgICAgICAgICAgPCEtLSA8ZGl2IFtpbm5lckhUTUxdPVwiaXRlbS52YWx1ZSB8IHNhbml0aXplSHRtbFwiIFtuZ0NsYXNzXT1cIml0ZW0ubGFiZWwgPT09ICdIZWFkaW5nJyA/ICdoZWFkaW5nLWxhcmdlIGhlYWRpbmcnIDogJ2JvZHktbGFyZ2UgZGVzY3JpcHRpb24nXCI+XG4gICAgICAgICAgICAgIDwvZGl2PiAtLT5cbiAgICAgICAgICAgICAgPHNpbXBvLXRleHQtZWRpdG9yIFsodmFsdWUpXT1cIml0ZW0udmFsdWVcIiBbZWRpdGFibGVdPVwiZWRpdCB8fCBmYWxzZVwiPjwvc2ltcG8tdGV4dC1lZGl0b3I+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXNlY3Rpb24gZC1mbGV4XCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsncG9zaXRpb24tbGVmdCc6IHN0eWxlcz8ucG9zaXRpb25MYXlvdXQ/LnZhbHVlID09PSAnbGVmdCcsXG4gICAgICAgICAgICAncG9zaXRpb24tcmlnaHQnOiBzdHlsZXM/LnBvc2l0aW9uTGF5b3V0Py52YWx1ZSA9PT0gJ3JpZ2h0JywgJ2p1c3RpZnktY29udGVudC1zdGFydCc6IHN0eWxlcz8ubGF5b3V0Py5hbGlnbiA9PT0gJ2xlZnQnLCAnanVzdGlmeS1jb250ZW50LWVuZCc6IHN0eWxlcz8ubGF5b3V0Py5hbGlnbiA9PT0gJ3JpZ2h0J31cIlxuICAgICAgICAgICAgW2lkXT1cImRhdGE/LmlkXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZHNcIiAqbmdGb3I9XCJsZXQgY2FyZHMgb2YgY29udGVudD8ubGlzdEl0ZW0/LmRhdGFcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluZGl2aWR1YWwtY2FyZHNcIiBbc2ltcG9Db3JuZXJdPVwic3R5bGVzPy5jb3JuZXJzXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2JveCc6IGNvbnRlbnQ/LmRpc3BsYXk/LnNob3dDYXJkIH1cIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZy1sYXJnZSBsaC0yIG1iLTNcIj5cbiAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBbaW5uZXJIdG1sXT1cImNhcmRzLmlucHV0VGV4dFswXS52YWx1ZSB8IHNhbml0aXplSHRtbFwiPjwvZGl2PiAtLT5cbiAgICAgICAgICAgICAgICAgIDxzaW1wby10ZXh0LWVkaXRvciBbKHZhbHVlKV09XCJjYXJkcy5pbnB1dFRleHRbMF0udmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICBbZWRpdGFibGVdPVwiZWRpdCB8fCBmYWxzZVwiPjwvc2ltcG8tdGV4dC1lZGl0b3I+XG5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib2R5LWxhcmdlXCI+XG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBbaW5uZXJIdG1sXT1cImNhcmRzLmlucHV0VGV4dFsxXS52YWx1ZSB8IHNhbml0aXplSHRtbFwiPjwvZGl2PiAtLT5cbiAgICAgICAgICAgICAgICAgICAgPHNpbXBvLXRleHQtZWRpdG9yIFsodmFsdWUpXT1cImNhcmRzLmlucHV0VGV4dFsxXS52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2VkaXRhYmxlXT1cImVkaXQgfHwgZmFsc2VcIj48L3NpbXBvLXRleHQtZWRpdG9yPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic3R5bGVzPy5kZXZpZGVyPy5kaXNwbGF5XCI+XG4gICAgPHNpbXBvLXN2Zy1kaXZpZGVyIFtkaXZpZGVyVHlwZV09XCJzdHlsZXM/LmRldmlkZXI/LmRldmlkZXJUeXBlXCJcbiAgICAgIFtjb2xvcl09XCJuZXh0Q29tcG9uZW50Q29sb3I/LmNvbG9yXCI+PC9zaW1wby1zdmctZGl2aWRlcj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxkaXYgKm5nSWY9XCJzaG93RWRpdG9yc1wiIFtuZ0NsYXNzXT1cInsnaG92ZXJfZWZmZWN0JzogZWRpdH1cIj5cbiAgICA8c2ltcG8taG92ZXItZWxlbWVudHMgW2RhdGFdPVwiZGF0YVwiIFtpbmRleF09XCJpbmRleFwiIFtlZGl0T3B0aW9uc109XCJlZGl0XCI+PC9zaW1wby1ob3Zlci1lbGVtZW50cz5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJzaG93RGVsZXRlXCIgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBkZWxldGV9XCI+XG4gICAgPHNpbXBvLWRlbGV0ZS1ob3Zlci1lbGVtZW50IFtkYXRhXT1cImRhdGFcIiBbaW5kZXhdPVwiaW5kZXhcIj48L3NpbXBvLWRlbGV0ZS1ob3Zlci1lbGVtZW50PlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvb3NlLXVzLXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zZWN0aW9ucy9jaG9vc2UtdXMtc2VjdGlvbi9jaG9vc2UtdXMtc2VjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL2Nob29zZS11cy1zZWN0aW9uL2Nob29zZS11cy1zZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLFdBQVcsTUFBTSxnQkFBZ0IsQ0FBQztBQUd6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNu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QUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgQmFzZVNlY3Rpb24gZnJvbSAnLi4vQmFzZVNlY3Rpb24nO1xyXG5pbXBvcnQgeyBFdmVudHNTZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi9zZXJ2aWNlcy9ldmVudHMuc2VydmljZSc7XHJcbmltcG9ydCB7IENob29zZVVzQ29udGVudE1vZGFsLCBDaG9vc2VVc1N0eWxlc01vZGVsLCBDb250YWN0VXNTZWN0aW9uTW9kYWwgfSBmcm9tICcuL2Nob29zZS11cy1zZWN0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQmFja2dyb3VuZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9iYWNrZ3JvdW5kLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEhvdmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2hvdmVyLWVsZW1lbnQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgT3ZlcmxheURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9vdmVybGF5LWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEhvdmVyRWxlbWVudHNDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9ob3Zlci1lbGVtZW50cy9ob3Zlci1lbGVtZW50cy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgRGVsZXRlSG92ZXJFbGVtZW50Q29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvZGVsZXRlLWhvdmVyLWVsZW1lbnQvZGVsZXRlLWhvdmVyLWVsZW1lbnQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFBvc2l0aW9uTGF5b3V0RGlyZWN0aXZlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL3Bvc2l0aW9uLWxheW91dC1kaXJlY3RpdmUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ29udGVudEZpdERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9jb250ZW50LWZpdC1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBBbmltYXRpb25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvYW5pbWF0aW9uLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEJvcmRlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9ib3JkZXItZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgT2JqZWN0UG9zaXRpb25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvaW1hZ2UtcG9zaXRpb24uZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ29ybmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2Nvcm5lci1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBzaW1wb0NvbmV0ZW5BbGlnbm1lbnREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY29udGVudC1hbGlnbm1lbnQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU2FuaXRpemVIdG1sUGlwZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Nhbml0aXplSHRtbCc7XHJcbmltcG9ydCB7IEJhY2tncm91bmRNb2RlbCwgTGF5T3V0TW9kZWwgfSBmcm9tICcuLi8uLi9zdHlsZXMvc3R5bGUubW9kZWwnO1xyXG5pbXBvcnQgeyBTdmdEaXZpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZWxlbWVudHMvc3ZnLWRpdmlkZXIvc3ZnLWRpdmlkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3BhY2luZ0hvcml6b250YWxEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvc3BhY2luZy1ob3Jpem9udGFsLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFRleHRFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuLi8uLi9lbGVtZW50cy90ZXh0LWVkaXRvci90ZXh0LWVkaXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTcGFjaW5nQXJvdW5kRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL3NwYWNpbmctYXJvdW5kLmRpcmVjdGl2ZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NpbXBvLWNob29zZS11cy1zZWN0aW9uJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jaG9vc2UtdXMtc2VjdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2Nob29zZS11cy1zZWN0aW9uLmNvbXBvbmVudC5jc3MnLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsXHJcbiAgICBCYWNrZ3JvdW5kRGlyZWN0aXZlLFxyXG4gICAgSG92ZXJEaXJlY3RpdmUsXHJcbiAgICBPdmVybGF5RGlyZWN0aXZlLFxyXG4gICAgSG92ZXJFbGVtZW50c0NvbXBvbmVudCxcclxuICAgIERlbGV0ZUhvdmVyRWxlbWVudENvbXBvbmVudCxcclxuICAgIFBvc2l0aW9uTGF5b3V0RGlyZWN0aXZlRGlyZWN0aXZlLFxyXG4gICAgQ29udGVudEZpdERpcmVjdGl2ZSxcclxuICAgIEFuaW1hdGlvbkRpcmVjdGl2ZSxcclxuICAgIEJvcmRlckRpcmVjdGl2ZSxcclxuICAgIE9iamVjdFBvc2l0aW9uRGlyZWN0aXZlLFxyXG4gICAgQ29ybmVyRGlyZWN0aXZlLFxyXG4gICAgc2ltcG9Db25ldGVuQWxpZ25tZW50RGlyZWN0aXZlLFxyXG4gICAgU2FuaXRpemVIdG1sUGlwZSwgU3ZnRGl2aWRlckNvbXBvbmVudCxcclxuICAgIFNwYWNpbmdIb3Jpem9udGFsRGlyZWN0aXZlLFxyXG4gICAgVGV4dEVkaXRvckNvbXBvbmVudCxcclxuICAgIFNwYWNpbmdBcm91bmREaXJlY3RpdmVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaG9vc2VVc1NlY3Rpb25Db21wb25lbnQgZXh0ZW5kcyBCYXNlU2VjdGlvbiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgZGF0YT86IENvbnRhY3RVc1NlY3Rpb25Nb2RhbDtcclxuICBASW5wdXQoKSBpbmRleD86IG51bWJlcjtcclxuICBjb250ZW50PzogQ2hvb3NlVXNDb250ZW50TW9kYWw7XHJcbiAgQElucHV0KCkgZWRpdD86IGJvb2xlYW47XHJcbiAgQElucHV0KCkgZGVsZXRlPzogYm9vbGVhbjtcclxuICBASW5wdXQoKSBjdXN0b21DbGFzcz86IHN0cmluZztcclxuICBASW5wdXQoKSBuZXh0Q29tcG9uZW50Q29sb3I/OiBCYWNrZ3JvdW5kTW9kZWw7XHJcblxyXG4gIHN0eWxlcz86IENob29zZVVzU3R5bGVzTW9kZWw7XHJcblxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2V2ZW50U2VydmljZTogRXZlbnRzU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZWxldGVTZWxlY3RlZCA9IHRoaXMuZGVsZXRlXHJcbiAgICB0aGlzLmNvbnRlbnQgPSB0aGlzLmRhdGE/LmNvbnRlbnQ7XHJcbiAgICB0aGlzLnN0eWxlcyA9IHRoaXMuZGF0YT8uc3R5bGVzO1xyXG4gICAgdGhpcy5nZXRTY3JlZW5TaXplKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgc3R5bGVzTGF5b3V0KCkge1xyXG4gICAgcmV0dXJuIHsgLi4udGhpcy5zdHlsZXM/LmxheW91dCB9IGFzIExheU91dE1vZGVsO1xyXG4gIH1cclxuXHJcbiAgc2NyZWVuV2lkdGg6IGFueSA9IFwiXCJcclxuICBASG9zdExpc3RlbmVyKFwid2luZG93OiByZXNpemVcIiwgW1wiJGV2ZW50XCJdKVxyXG4gIGdldFNjcmVlblNpemUoKSB7XHJcbiAgICB0aGlzLnNjcmVlbldpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgfVxyXG5cclxuICBlZGl0U2VjdGlvbigpIHtcclxuXHJcbiAgICBpZiAod2luZG93LmlubmVyV2lkdGggPD0gNDc1KVxyXG4gICAgICByZXR1cm5cclxuICAgIHRoaXMuX2V2ZW50U2VydmljZS50b2dnbGVFZGl0b3JFdmVudC5lbWl0KGZhbHNlKTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLl9ldmVudFNlcnZpY2UuZWRpdFNlY3Rpb24uZW1pdCh7IGRhdGE6IHRoaXMuZGF0YSB9KTtcclxuICAgIH0sIDEwMCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgW2lkXT1cImRhdGE/LmlkXCIgc2ltcG9Ib3ZlciAoaG92ZXJpbmcpPVwic2hvd0VkaXRUYWJzKCRldmVudClcIiBjbGFzcz1cInRvdGFsLWNvbnRhaW5lclwiIFthdHRyLnN0eWxlXT1cImN1c3RvbUNsYXNzXCI+XHJcbiAgPGRpdiBbc3BhY2luZ0Fyb3VuZF09XCJzdHlsZXNMYXlvdXRcIiBbaWRdPVwiZGF0YT8uaWRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wteHhsLTggcHktNSB3LTEwMFwiIFtpZF09XCJkYXRhPy5pZFwiICNtYWluQ29udGFpbmVyIFtzcGFjaW5nSG9yaXpvbnRhbF09XCJzdHlsZXNMYXlvdXRcIlxyXG4gICAgICBbc2ltcG9PdmVybGF5XT1cInN0eWxlcz8uYmFja2dyb3VuZFwiIFtzaW1wb0JvcmRlcl09XCJzdHlsZXM/LmJvcmRlclwiIFtzaW1wb0JhY2tncm91bmRdPVwic3R5bGVzPy5iYWNrZ3JvdW5kXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3cgZy01XCIgW2lkXT1cImRhdGE/LmlkXCIgW3NpbXBvTGF5b3V0XT1cInN0eWxlcz8ubGF5b3V0XCIgW3NpbXBvQW5pbWF0aW9uXT1cInN0eWxlcz8uYW5pbWF0aW9uXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBtdC0wXCIgW2lkXT1cImRhdGE/LmlkXCIgW3NpbXBvUG9zaXRpb25MYXlvdXREaXJlY3RpdmVdPVwic3R5bGVzPy5wb3NpdGlvbkxheW91dFwiXHJcbiAgICAgICAgICBbY2xhc3MuZmxleC1zbS1jb2x1bW5dPVwic2NyZWVuV2lkdGggPCA0NzVcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZ2FwLTE1IGNvbnRlbnQtc2lkZVwiIFtpZF09XCJkYXRhPy5pZFwiXHJcbiAgICAgICAgICAgIFtzaW1wb0NvbnRlbnRBbGlnbm1lbnRdPVwic3R5bGVzPy5jb250ZW50QWxpZ25tZW50XCJcclxuICAgICAgICAgICAgW2NsYXNzLm1heC13aWR0aF09XCJzdHlsZXM/LnBvc2l0aW9uTGF5b3V0Py52YWx1ZSA9PT0gJ3JpZ2h0JyB8fCBzdHlsZXM/LnBvc2l0aW9uTGF5b3V0Py52YWx1ZSA9PT0gJ2xlZnQnXCI+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwiIGxldCBpdGVtIG9mIGNvbnRlbnQ/LmlucHV0VGV4dFwiPlxyXG4gICAgICAgICAgICAgIDwhLS0gPGRpdiBbaW5uZXJIVE1MXT1cIml0ZW0udmFsdWUgfCBzYW5pdGl6ZUh0bWxcIiBbbmdDbGFzc109XCJpdGVtLmxhYmVsID09PSAnSGVhZGluZycgPyAnaGVhZGluZy1sYXJnZSBoZWFkaW5nJyA6ICdib2R5LWxhcmdlIGRlc2NyaXB0aW9uJ1wiPlxyXG4gICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICA8c2ltcG8tdGV4dC1lZGl0b3IgWyh2YWx1ZSldPVwiaXRlbS52YWx1ZVwiIFtlZGl0YWJsZV09XCJlZGl0IHx8IGZhbHNlXCI+PC9zaW1wby10ZXh0LWVkaXRvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1zZWN0aW9uIGQtZmxleFwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsncG9zaXRpb24tbGVmdCc6IHN0eWxlcz8ucG9zaXRpb25MYXlvdXQ/LnZhbHVlID09PSAnbGVmdCcsXHJcbiAgICAgICAgICAgICdwb3NpdGlvbi1yaWdodCc6IHN0eWxlcz8ucG9zaXRpb25MYXlvdXQ/LnZhbHVlID09PSAncmlnaHQnLCAnanVzdGlmeS1jb250ZW50LXN0YXJ0Jzogc3R5bGVzPy5sYXlvdXQ/LmFsaWduID09PSAnbGVmdCcsICdqdXN0aWZ5LWNvbnRlbnQtZW5kJzogc3R5bGVzPy5sYXlvdXQ/LmFsaWduID09PSAncmlnaHQnfVwiXHJcbiAgICAgICAgICAgIFtpZF09XCJkYXRhPy5pZFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZHNcIiAqbmdGb3I9XCJsZXQgY2FyZHMgb2YgY29udGVudD8ubGlzdEl0ZW0/LmRhdGFcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5kaXZpZHVhbC1jYXJkc1wiIFtzaW1wb0Nvcm5lcl09XCJzdHlsZXM/LmNvcm5lcnNcIlxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydib3gnOiBjb250ZW50Py5kaXNwbGF5Py5zaG93Q2FyZCB9XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZy1sYXJnZSBsaC0yIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IFtpbm5lckh0bWxdPVwiY2FyZHMuaW5wdXRUZXh0WzBdLnZhbHVlIHwgc2FuaXRpemVIdG1sXCI+PC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICA8c2ltcG8tdGV4dC1lZGl0b3IgWyh2YWx1ZSldPVwiY2FyZHMuaW5wdXRUZXh0WzBdLnZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICBbZWRpdGFibGVdPVwiZWRpdCB8fCBmYWxzZVwiPjwvc2ltcG8tdGV4dC1lZGl0b3I+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9keS1sYXJnZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBbaW5uZXJIdG1sXT1cImNhcmRzLmlucHV0VGV4dFsxXS52YWx1ZSB8IHNhbml0aXplSHRtbFwiPjwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8c2ltcG8tdGV4dC1lZGl0b3IgWyh2YWx1ZSldPVwiY2FyZHMuaW5wdXRUZXh0WzFdLnZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtlZGl0YWJsZV09XCJlZGl0IHx8IGZhbHNlXCI+PC9zaW1wby10ZXh0LWVkaXRvcj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic3R5bGVzPy5kZXZpZGVyPy5kaXNwbGF5XCI+XHJcbiAgICA8c2ltcG8tc3ZnLWRpdmlkZXIgW2RpdmlkZXJUeXBlXT1cInN0eWxlcz8uZGV2aWRlcj8uZGV2aWRlclR5cGVcIlxyXG4gICAgICBbY29sb3JdPVwibmV4dENvbXBvbmVudENvbG9yPy5jb2xvclwiPjwvc2ltcG8tc3ZnLWRpdmlkZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPGRpdiAqbmdJZj1cInNob3dFZGl0b3JzXCIgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBlZGl0fVwiPlxyXG4gICAgPHNpbXBvLWhvdmVyLWVsZW1lbnRzIFtkYXRhXT1cImRhdGFcIiBbaW5kZXhdPVwiaW5kZXhcIiBbZWRpdE9wdGlvbnNdPVwiZWRpdFwiPjwvc2ltcG8taG92ZXItZWxlbWVudHM+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdJZj1cInNob3dEZWxldGVcIiBbbmdDbGFzc109XCJ7J2hvdmVyX2VmZmVjdCc6IGRlbGV0ZX1cIj5cclxuICAgIDxzaW1wby1kZWxldGUtaG92ZXItZWxlbWVudCBbZGF0YV09XCJkYXRhXCIgW2luZGV4XT1cImluZGV4XCI+PC9zaW1wby1kZWxldGUtaG92ZXItZWxlbWVudD5cclxuICA8L2Rpdj5cclxuPC9kaXY+Il19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvb3NlLXVzLXNlY3Rpb24ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL2Nob29zZS11cy1zZWN0aW9uL2Nob29zZS11cy1zZWN0aW9uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYXJkU3R5bGVzLCBJbnB1dFRleHRNb2RlbCwgTGlzdEl0ZW1Nb2RhbCwgU3R5bGVzTW9kZWwsIFBvc2l0aW9uTGF5b3V0TW9kYWwsIGNvbnRlbnRBbGlnbm1lbnRNb2RhbCwgRGlzcGxheVNlY3Rpb24gfSBmcm9tICcuLy4uLy4uL3N0eWxlcy9zdHlsZS5tb2RlbCc7XG5pbXBvcnQgeyBBbGlnbkNvbnRlbnQgfSBmcm9tICcuLi8uLi9zdHlsZXMvaW5kZXgnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGFjdFVzU2VjdGlvbk1vZGFsIHtcbiAgaWQ6IHN0cmluZyxcbiAgc2VjdGlvblR5cGU6IHN0cmluZyxcbiAgc2VjdGlvbk5hbWU6IHN0cmluZyxcbiAgY29udGVudDogQ2hvb3NlVXNDb250ZW50TW9kYWw7XG4gIHN0eWxlczogQ2hvb3NlVXNTdHlsZXNNb2RlbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaG9vc2VVc0NvbnRlbnRNb2RhbCB7XG4gIGlucHV0VGV4dCA6IElucHV0VGV4dE1vZGVsW11cbiAgZGlzcGxheSA6IERpc3BsYXlTZWN0aW9uXG4gIGxpc3RJdGVtOiBMaXN0SXRlbU1vZGFsPFNlcnZpY2VJdGVtTW9kYWw+O1xufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hvb3NlVXNTdHlsZXNNb2RlbCBleHRlbmRzIFN0eWxlc01vZGVsLCBDYXJkU3R5bGVze1xuICBwb3NpdGlvbkxheW91dDogUG9zaXRpb25MYXlvdXRNb2RhbDtcbiAgY29udGVudEFsaWdubWVudDogQWxpZ25Db250ZW50XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZUl0ZW1Nb2RhbCB7XG4gIGlucHV0VGV4dDogSW5wdXRUZXh0TW9kZWxbXVxufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvb3NlLXVzLXNlY3Rpb24ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL2Nob29zZS11cy1zZWN0aW9uL2Nob29zZS11cy1zZWN0aW9uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYXJkU3R5bGVzLCBJbnB1dFRleHRNb2RlbCwgTGlzdEl0ZW1Nb2RhbCwgU3R5bGVzTW9kZWwsIFBvc2l0aW9uTGF5b3V0TW9kYWwsIGNvbnRlbnRBbGlnbm1lbnRNb2RhbCwgRGlzcGxheVNlY3Rpb24gfSBmcm9tICcuLy4uLy4uL3N0eWxlcy9zdHlsZS5tb2RlbCc7XHJcbmltcG9ydCB7IEFsaWduQ29udGVudCB9IGZyb20gJy4uLy4uL3N0eWxlcy9pbmRleCc7XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb250YWN0VXNTZWN0aW9uTW9kYWwge1xyXG4gIGlkOiBzdHJpbmcsXHJcbiAgc2VjdGlvblR5cGU6IHN0cmluZyxcclxuICBzZWN0aW9uTmFtZTogc3RyaW5nLFxyXG4gIGNvbnRlbnQ6IENob29zZVVzQ29udGVudE1vZGFsO1xyXG4gIHN0eWxlczogQ2hvb3NlVXNTdHlsZXNNb2RlbDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDaG9vc2VVc0NvbnRlbnRNb2RhbCB7XHJcbiAgaW5wdXRUZXh0IDogSW5wdXRUZXh0TW9kZWxbXVxyXG4gIGRpc3BsYXkgOiBEaXNwbGF5U2VjdGlvblxyXG4gIGxpc3RJdGVtOiBMaXN0SXRlbU1vZGFsPFNlcnZpY2VJdGVtTW9kYWw+O1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDaG9vc2VVc1N0eWxlc01vZGVsIGV4dGVuZHMgU3R5bGVzTW9kZWwsIENhcmRTdHlsZXN7XHJcbiAgcG9zaXRpb25MYXlvdXQ6IFBvc2l0aW9uTGF5b3V0TW9kYWw7XHJcbiAgY29udGVudEFsaWdubWVudDogQWxpZ25Db250ZW50XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZUl0ZW1Nb2RhbCB7XHJcbiAgaW5wdXRUZXh0OiBJbnB1dFRleHRNb2RlbFtdXHJcbn1cclxuIl19
@@ -0,0 +1,162 @@
1
+ import { Component, Input, } from '@angular/core';
2
+ import { SimpoElementsModule } from '../../elements/index';
3
+ import { CommonModule } from '@angular/common';
4
+ import { TextEditorComponent } from '../../elements/text-editor/text-editor.component';
5
+ import { BackgroundDirective } from '../../directive/background-directive';
6
+ import { HoverDirective } from '../../directive/hover-element-directive';
7
+ import { OverlayDirective } from '../../directive/overlay-directive';
8
+ import { BorderDirective } from '../../directive/border-directive';
9
+ import { SpacingHorizontalDirective } from '../../directive/spacing-horizontal.directive';
10
+ import { ContentFitDirective } from '../../directive/content-fit-directive';
11
+ import { SimpoComponentModule } from '../../components/index';
12
+ import BaseSection from '../BaseSection';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "../../services/events.service";
15
+ import * as i2 from "../../elements/simpo-button/simpo-button.component";
16
+ import * as i3 from "../../elements/svg-divider/svg-divider.component";
17
+ import * as i4 from "../../components/hover-elements/hover-elements.component";
18
+ import * as i5 from "../../components/delete-hover-element/delete-hover-element.component";
19
+ import * as i6 from "@angular/common";
20
+ export class CountdownBannerComponent extends BaseSection {
21
+ constructor(eventService) {
22
+ super();
23
+ this.eventService = eventService;
24
+ this.days = '00';
25
+ this.hours = '00';
26
+ this.minutes = '00';
27
+ this.seconds = '00';
28
+ this.bannerText = '';
29
+ }
30
+ ngOnInit() {
31
+ this.content = this.data?.content;
32
+ this.style = this.data?.styles;
33
+ this.bannerText = this.content?.inputText[0].value ?? '';
34
+ this.eventService.emitCountDownDate.subscribe((res) => {
35
+ this.startCountdown();
36
+ });
37
+ }
38
+ startCountdown() {
39
+ if (!this.content?.endDate)
40
+ return;
41
+ // Clear previous interval if running
42
+ if (this.interval) {
43
+ clearInterval(this.interval);
44
+ }
45
+ // Parse target date safely (local time)
46
+ const target = new Date(this.content.endDate);
47
+ this.interval = setInterval(() => {
48
+ const now = new Date();
49
+ const distance = target.getTime() - now.getTime();
50
+ if (distance <= 0) {
51
+ clearInterval(this.interval);
52
+ this.resetTimer();
53
+ return;
54
+ }
55
+ const totalSeconds = Math.floor(distance / 1000);
56
+ const days = Math.floor(totalSeconds / (60 * 60 * 24));
57
+ const hours = Math.floor((totalSeconds % (60 * 60 * 24)) / (60 * 60));
58
+ const minutes = Math.floor((totalSeconds % (60 * 60)) / 60);
59
+ const seconds = totalSeconds % 60;
60
+ this.days = String(days).padStart(2, '0');
61
+ this.hours = String(hours).padStart(2, '0');
62
+ this.minutes = String(minutes).padStart(2, '0');
63
+ this.seconds = String(seconds).padStart(2, '0');
64
+ }, 1000);
65
+ }
66
+ resetTimer() {
67
+ this.days = '00';
68
+ this.hours = '00';
69
+ this.minutes = '00';
70
+ this.seconds = '00';
71
+ }
72
+ get stylesLayout() {
73
+ return { ...this.style?.layout };
74
+ }
75
+ getContrastColor(bgColor) {
76
+ if (!bgColor)
77
+ return '#000000';
78
+ let colorToCheck = bgColor;
79
+ // If gradient → extract first color inside linear-gradient(...)
80
+ if (bgColor.includes('linear-gradient')) {
81
+ const match = bgColor.match(/(#[0-9A-Fa-f]{6}|rgb\([^)]+\))/);
82
+ if (match) {
83
+ colorToCheck = match[0];
84
+ }
85
+ }
86
+ let r = 0, g = 0, b = 0;
87
+ // HEX format
88
+ if (colorToCheck.startsWith('#')) {
89
+ const hex = colorToCheck.replace('#', '');
90
+ r = parseInt(hex.substring(0, 2), 16);
91
+ g = parseInt(hex.substring(2, 4), 16);
92
+ b = parseInt(hex.substring(4, 6), 16);
93
+ }
94
+ // RGB format
95
+ else if (colorToCheck.startsWith('rgb')) {
96
+ const values = colorToCheck.match(/\d+/g);
97
+ if (values) {
98
+ r = +values[0];
99
+ g = +values[1];
100
+ b = +values[2];
101
+ }
102
+ }
103
+ const brightness = (r * 299 + g * 587 + b * 114) / 1000;
104
+ return brightness > 128 ? '#000000' : '#ffffff';
105
+ }
106
+ getAccentBackground() {
107
+ const bg = this.style?.background;
108
+ if (!bg)
109
+ return '';
110
+ if (bg.accentBackgroundType === 'Solid') {
111
+ return bg.accentColor;
112
+ }
113
+ const angle = this.getGradientDirection(bg.gradientDirection);
114
+ return angle
115
+ ? `linear-gradient(${angle}, ${bg.accentColor}, ${bg.secondaryAccentColor})`
116
+ : `linear-gradient(${bg.accentColor}, ${bg.secondaryAccentColor})`;
117
+ }
118
+ getGradientDirection(direction) {
119
+ switch (direction) {
120
+ case 'DOWN':
121
+ return ''; // default top → bottom (no angle needed)
122
+ case 'RIGHT':
123
+ return '90deg';
124
+ case 'DIAGONAL_RIGHT':
125
+ return '45deg';
126
+ case 'DIAGONAL_LEFT':
127
+ return '135deg';
128
+ default:
129
+ return ''; // fallback
130
+ }
131
+ }
132
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CountdownBannerComponent, deps: [{ token: i1.EventsService }], target: i0.ɵɵFactoryTarget.Component }); }
133
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CountdownBannerComponent, isStandalone: true, selector: "simpo-countdown-banner", inputs: { edit: "edit", data: "data", customClass: "customClass", nextComponentColor: "nextComponentColor", index: "index", delete: "delete" }, usesInheritance: true, ngImport: i0, template: "<!-- <section [id]=\"data?.id\" [simpoBackground]=\"style?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\" [attr.style]=\"customClass\">\r\n <div #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"style?.background\" [simpoBorder]=\"style?.border\"\r\n [spacingHorizontal]=\"stylesLayout\" [simpoLayout]=\"style?.layout\" [ngClass]=\"{\r\n 'justify-content-center': style?.layout?.align === 'center',\r\n 'justify-content-start': style?.layout?.align === 'left',\r\n 'justify-content-end': style?.layout?.align === 'right'\r\n }\">\r\n <div class=\"d-flex align-items-center gap-3\">\r\n <div class=\"w-50\" [id]=\"data?.id\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n <div [ngClass]=\"item.label.includes('Heading') ? 'heading-large lh-2 mb-4' : 'body-large'\">\r\n <simpo-text-editor [(value)]=\"item.value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"countdown-container w-50\">\r\n <div class=\"timer\">\r\n <div> \r\n <span id=\"days\">{{days}}</span>\r\n <small>DAYS</small>\r\n </div>\r\n <div>\r\n <span id=\"hours\">{{hours}}</span>\r\n <small>HOURS</small>\r\n </div>\r\n <div>\r\n <span id=\"minutes\">{{minutes}}</span>\r\n <small>MINS</small>\r\n </div>\r\n <div>\r\n <span id=\"seconds\">{{seconds}}</span>\r\n <small>SECS</small>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"style?.devider?.display\">\r\n <simpo-svg-divider [dividerType]=\"style?.devider?.deviderType\"\r\n [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\r\n </ng-container>\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\r\n </div>\r\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\r\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\r\n </div>\r\n</section> -->\r\n\r\n\r\n<section>\r\n <div [id]=\"data?.id\" simpoHover (hovering)=\"showEditTabs($event)\" class=\"sale-wrapper total-container\"\r\n [attr.style]=\"customClass\" [simpoBackground]=\"style?.background\" [simpoOverlay]=\"style?.background\">\r\n <div #mainContainer [id]=\"data?.id\" [spacingHorizontal]=\"stylesLayout\"\r\n [simpoLayout]=\"style?.layout\" class=\"sale-bar\">\r\n <!-- LEFT TEXT -->\r\n <div class=\"sale-text\">\r\n <simpo-text-editor [(value)]=\"bannerText\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n\r\n <!-- TIMER -->\r\n <div class=\"sale-timer\" [style.color]=\"getContrastColor(style?.background?.accentColor)\">\r\n <div class=\"time-card\" [ngStyle]=\"{'background':getAccentBackground() }\">\r\n <span>{{ days }}</span>\r\n <small>DAY</small>\r\n </div>\r\n <div class=\"time-card\" [ngStyle]=\"{'background':getAccentBackground() }\">\r\n <span>{{ hours }}</span>\r\n <small>HOUR</small>\r\n </div>\r\n <div class=\"time-card\" [ngStyle]=\"{'background':getAccentBackground() }\">\r\n <span>{{ minutes }}</span>\r\n <small>MIN</small>\r\n </div>\r\n <div class=\"time-card\" [ngStyle]=\"{'background':getAccentBackground() }\">\r\n <span>{{ seconds }}</span>\r\n <small>SEC</small>\r\n </div>\r\n </div>\r\n\r\n <!-- RIGHT ACTION -->\r\n <div class=\"sale-action\">\r\n <ng-container *ngIf=\"data?.action?.display\">\r\n <div *ngFor=\"let button of data?.action?.buttons\">\r\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\"\r\n [buttonId]=\"button.id\" [sectionId]=\"data?.id\"\r\n [color]=\"data?.styles?.background?.accentColor\" [edit]=\"edit\"\r\n [backgroundInfo]=\"data?.styles?.background\"></app-button-element>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <!-- Divider -->\r\n <ng-container *ngIf=\"style?.devider?.display\">\r\n <simpo-svg-divider [dividerType]=\"style?.devider?.deviderType\"\r\n [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\r\n </ng-container>\r\n\r\n <!-- EDIT SELECTOR -->\r\n <div [ngClass]=\"{ hover_effect: edit }\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\r\n </div>\r\n\r\n <!-- DELETE SELECTOR -->\r\n <div *ngIf=\"showDelete\" [ngClass]=\"{ hover_effect: delete }\">\r\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\r\n </div>\r\n </div>\r\n</section>", styles: [".sale-wrapper{width:100%}.total-container{height:auto;position:relative}.sale-bar{width:100%;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:28px 50px}.sale-text{font-size:26px;font-weight:600}.sale-timer{display:flex;gap:18px}.time-card{background-color:#fff;padding:6px 14px;border-radius:8px;text-align:center;min-width:60px}.time-card span{display:block;font-size:18px;font-weight:600}.time-card small{font-size:11px;letter-spacing:1px;font-weight:500}.sale-action{display:flex;align-items:center;gap:20px}.shop-button{background-color:#fff;color:#1c2a39;border:none;padding:5px 14px;border-radius:30px;font-size:14px;font-weight:500;cursor:pointer;transition:.3s ease}.shop-button:hover{background-color:#f2f2f2}.close-icon{font-size:20px;cursor:pointer;opacity:.8}.close-icon:hover{opacity:1}@media (max-width: 768px){.sale-bar{flex-direction:column;gap:20px;text-align:center}.sale-action{justify-content:center}}\n"], dependencies: [{ kind: "ngmodule", type: SimpoElementsModule }, { kind: "component", type: i2.SimpoButtonComponent, selector: "app-button-element", inputs: ["buttonContent", "buttonStyle", "buttonId", "color", "sectionId", "edit", "backgroundInfo"] }, { kind: "component", type: i3.SvgDividerComponent, selector: "simpo-svg-divider", inputs: ["dividerType", "color"] }, { kind: "ngmodule", type: SimpoComponentModule }, { kind: "component", type: i4.HoverElementsComponent, selector: "simpo-hover-elements", inputs: ["data", "index", "editOptions", "isMerged", "isEcommerce"], outputs: ["edit"] }, { kind: "component", type: i5.DeleteHoverElementComponent, selector: "simpo-delete-hover-element", inputs: ["index", "data"], outputs: ["edit"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: TextEditorComponent, selector: "simpo-text-editor", inputs: ["value", "editable", "sectionId", "label"], outputs: ["valueChange"] }, { kind: "directive", type: BackgroundDirective, selector: "[simpoBackground]", inputs: ["simpoBackground", "scrollValue"] }, { kind: "directive", type: HoverDirective, selector: "[simpoHover]", outputs: ["hovering"] }, { kind: "directive", type: OverlayDirective, selector: "[simpoOverlay]", inputs: ["simpoOverlay"] }, { kind: "directive", type: SpacingHorizontalDirective, selector: "[spacingHorizontal]", inputs: ["spacingHorizontal", "isHeader"] }, { kind: "directive", type: ContentFitDirective, selector: "[simpoLayout]", inputs: ["simpoLayout"] }] }); }
134
+ }
135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CountdownBannerComponent, decorators: [{
136
+ type: Component,
137
+ args: [{ selector: 'simpo-countdown-banner', standalone: true, imports: [
138
+ SimpoElementsModule,
139
+ SimpoComponentModule,
140
+ CommonModule,
141
+ TextEditorComponent,
142
+ BackgroundDirective,
143
+ HoverDirective,
144
+ OverlayDirective,
145
+ SpacingHorizontalDirective,
146
+ BorderDirective,
147
+ ContentFitDirective
148
+ ], template: "<!-- <section [id]=\"data?.id\" [simpoBackground]=\"style?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\" [attr.style]=\"customClass\">\r\n <div #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"style?.background\" [simpoBorder]=\"style?.border\"\r\n [spacingHorizontal]=\"stylesLayout\" [simpoLayout]=\"style?.layout\" [ngClass]=\"{\r\n 'justify-content-center': style?.layout?.align === 'center',\r\n 'justify-content-start': style?.layout?.align === 'left',\r\n 'justify-content-end': style?.layout?.align === 'right'\r\n }\">\r\n <div class=\"d-flex align-items-center gap-3\">\r\n <div class=\"w-50\" [id]=\"data?.id\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n <div [ngClass]=\"item.label.includes('Heading') ? 'heading-large lh-2 mb-4' : 'body-large'\">\r\n <simpo-text-editor [(value)]=\"item.value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"countdown-container w-50\">\r\n <div class=\"timer\">\r\n <div> \r\n <span id=\"days\">{{days}}</span>\r\n <small>DAYS</small>\r\n </div>\r\n <div>\r\n <span id=\"hours\">{{hours}}</span>\r\n <small>HOURS</small>\r\n </div>\r\n <div>\r\n <span id=\"minutes\">{{minutes}}</span>\r\n <small>MINS</small>\r\n </div>\r\n <div>\r\n <span id=\"seconds\">{{seconds}}</span>\r\n <small>SECS</small>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"style?.devider?.display\">\r\n <simpo-svg-divider [dividerType]=\"style?.devider?.deviderType\"\r\n [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\r\n </ng-container>\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\r\n </div>\r\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\r\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\r\n </div>\r\n</section> -->\r\n\r\n\r\n<section>\r\n <div [id]=\"data?.id\" simpoHover (hovering)=\"showEditTabs($event)\" class=\"sale-wrapper total-container\"\r\n [attr.style]=\"customClass\" [simpoBackground]=\"style?.background\" [simpoOverlay]=\"style?.background\">\r\n <div #mainContainer [id]=\"data?.id\" [spacingHorizontal]=\"stylesLayout\"\r\n [simpoLayout]=\"style?.layout\" class=\"sale-bar\">\r\n <!-- LEFT TEXT -->\r\n <div class=\"sale-text\">\r\n <simpo-text-editor [(value)]=\"bannerText\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n\r\n <!-- TIMER -->\r\n <div class=\"sale-timer\" [style.color]=\"getContrastColor(style?.background?.accentColor)\">\r\n <div class=\"time-card\" [ngStyle]=\"{'background':getAccentBackground() }\">\r\n <span>{{ days }}</span>\r\n <small>DAY</small>\r\n </div>\r\n <div class=\"time-card\" [ngStyle]=\"{'background':getAccentBackground() }\">\r\n <span>{{ hours }}</span>\r\n <small>HOUR</small>\r\n </div>\r\n <div class=\"time-card\" [ngStyle]=\"{'background':getAccentBackground() }\">\r\n <span>{{ minutes }}</span>\r\n <small>MIN</small>\r\n </div>\r\n <div class=\"time-card\" [ngStyle]=\"{'background':getAccentBackground() }\">\r\n <span>{{ seconds }}</span>\r\n <small>SEC</small>\r\n </div>\r\n </div>\r\n\r\n <!-- RIGHT ACTION -->\r\n <div class=\"sale-action\">\r\n <ng-container *ngIf=\"data?.action?.display\">\r\n <div *ngFor=\"let button of data?.action?.buttons\">\r\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\"\r\n [buttonId]=\"button.id\" [sectionId]=\"data?.id\"\r\n [color]=\"data?.styles?.background?.accentColor\" [edit]=\"edit\"\r\n [backgroundInfo]=\"data?.styles?.background\"></app-button-element>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <!-- Divider -->\r\n <ng-container *ngIf=\"style?.devider?.display\">\r\n <simpo-svg-divider [dividerType]=\"style?.devider?.deviderType\"\r\n [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\r\n </ng-container>\r\n\r\n <!-- EDIT SELECTOR -->\r\n <div [ngClass]=\"{ hover_effect: edit }\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\r\n </div>\r\n\r\n <!-- DELETE SELECTOR -->\r\n <div *ngIf=\"showDelete\" [ngClass]=\"{ hover_effect: delete }\">\r\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\r\n </div>\r\n </div>\r\n</section>", styles: [".sale-wrapper{width:100%}.total-container{height:auto;position:relative}.sale-bar{width:100%;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:28px 50px}.sale-text{font-size:26px;font-weight:600}.sale-timer{display:flex;gap:18px}.time-card{background-color:#fff;padding:6px 14px;border-radius:8px;text-align:center;min-width:60px}.time-card span{display:block;font-size:18px;font-weight:600}.time-card small{font-size:11px;letter-spacing:1px;font-weight:500}.sale-action{display:flex;align-items:center;gap:20px}.shop-button{background-color:#fff;color:#1c2a39;border:none;padding:5px 14px;border-radius:30px;font-size:14px;font-weight:500;cursor:pointer;transition:.3s ease}.shop-button:hover{background-color:#f2f2f2}.close-icon{font-size:20px;cursor:pointer;opacity:.8}.close-icon:hover{opacity:1}@media (max-width: 768px){.sale-bar{flex-direction:column;gap:20px;text-align:center}.sale-action{justify-content:center}}\n"] }]
149
+ }], ctorParameters: () => [{ type: i1.EventsService }], propDecorators: { edit: [{
150
+ type: Input
151
+ }], data: [{
152
+ type: Input
153
+ }], customClass: [{
154
+ type: Input
155
+ }], nextComponentColor: [{
156
+ type: Input
157
+ }], index: [{
158
+ type: Input
159
+ }], delete: [{
160
+ type: Input
161
+ }] } });
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRkb3duLWJhbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL2NvdW50ZG93bi1iYW5uZXIvY291bnRkb3duLWJhbm5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL2NvdW50ZG93bi1iYW5uZXIvY291bnRkb3duLWJhbm5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssR0FFTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFJL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFFdkYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMxRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU5RCxPQUFPLFdBQVcsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFvQnpDLE1BQU0sT0FBTyx3QkFDWCxTQUFRLFdBQVc7SUFtQm5CLFlBQW9CLFlBQTJCO1FBQzdD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Q0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFNpbXBvRWxlbWVudHNNb2R1bGUgfSBmcm9tICcuLi8uLi9lbGVtZW50cy9pbmRleCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFN0eWxlc01vZGVsIH0gZnJvbSAnLi4vLi4vc3R5bGVzL3N0eWxlLm1vZGVsJztcclxuaW1wb3J0IHsgRXZlbnRzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmFja2dyb3VuZE1vZGVsLCBMYXlPdXRNb2RlbCB9IGZyb20gJy4uLy4uL3N0eWxlcy9zdHlsZS5tb2RlbCc7XHJcbmltcG9ydCB7IFRleHRFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuLi8uLi9lbGVtZW50cy90ZXh0LWVkaXRvci90ZXh0LWVkaXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb3VudERvd25CYW5uZXJDb250ZW50TW9kYWwsIENvdW50RG93bkJhbm5lclNlY3Rpb24gfSBmcm9tICcuL2NvdW50ZG93bi1iYW5uZXIuY29tcG9uZW50Lm1vZGVsJztcclxuaW1wb3J0IHsgQmFja2dyb3VuZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9iYWNrZ3JvdW5kLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEhvdmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2hvdmVyLWVsZW1lbnQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgT3ZlcmxheURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9vdmVybGF5LWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEJvcmRlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9ib3JkZXItZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU3BhY2luZ0hvcml6b250YWxEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvc3BhY2luZy1ob3Jpem9udGFsLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IENvbnRlbnRGaXREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY29udGVudC1maXQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU2ltcG9Db21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2luZGV4JztcclxuXHJcbmltcG9ydCBCYXNlU2VjdGlvbiBmcm9tICcuLi9CYXNlU2VjdGlvbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NpbXBvLWNvdW50ZG93bi1iYW5uZXInLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgU2ltcG9FbGVtZW50c01vZHVsZSxcclxuICAgIFNpbXBvQ29tcG9uZW50TW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgVGV4dEVkaXRvckNvbXBvbmVudCxcclxuICAgIEJhY2tncm91bmREaXJlY3RpdmUsXHJcbiAgICBIb3ZlckRpcmVjdGl2ZSxcclxuICAgIE92ZXJsYXlEaXJlY3RpdmUsXHJcbiAgICBTcGFjaW5nSG9yaXpvbnRhbERpcmVjdGl2ZSxcclxuICAgIEJvcmRlckRpcmVjdGl2ZSxcclxuICAgIENvbnRlbnRGaXREaXJlY3RpdmVcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3VudGRvd24tYmFubmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vY291bnRkb3duLWJhbm5lci5jb21wb25lbnQuY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ291bnRkb3duQmFubmVyQ29tcG9uZW50XHJcbiAgZXh0ZW5kcyBCYXNlU2VjdGlvblxyXG4gIGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KCkgZWRpdD86IGJvb2xlYW47XHJcbiAgQElucHV0KCkgZGF0YT86IENvdW50RG93bkJhbm5lclNlY3Rpb24gfCBhbnk7XHJcbiAgQElucHV0KCkgY3VzdG9tQ2xhc3M/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbmV4dENvbXBvbmVudENvbG9yPzogQmFja2dyb3VuZE1vZGVsO1xyXG4gIEBJbnB1dCgpIGluZGV4PzogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGRlbGV0ZT86IGJvb2xlYW47XHJcblxyXG4gIHN0eWxlPzogU3R5bGVzTW9kZWw7XHJcbiAgY29udGVudD86IENvdW50RG93bkJhbm5lckNvbnRlbnRNb2RhbDtcclxuXHJcbiAgZGF5czogc3RyaW5nID0gJzAwJztcclxuICBob3Vyczogc3RyaW5nID0gJzAwJztcclxuICBtaW51dGVzOiBzdHJpbmcgPSAnMDAnO1xyXG4gIHNlY29uZHM6IHN0cmluZyA9ICcwMCc7XHJcbiAgaW50ZXJ2YWw6IGFueTtcclxuICBiYW5uZXJUZXh0OiBzdHJpbmcgPSAnJztcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGV2ZW50U2VydmljZTogRXZlbnRzU2VydmljZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmNvbnRlbnQgPSB0aGlzLmRhdGE/LmNvbnRlbnQ7XHJcbiAgICB0aGlzLnN0eWxlID0gdGhpcy5kYXRhPy5zdHlsZXM7XHJcbiAgICB0aGlzLmJhbm5lclRleHQgPSB0aGlzLmNvbnRlbnQ/LmlucHV0VGV4dFswXS52YWx1ZSA/PyAnJztcclxuICAgIHRoaXMuZXZlbnRTZXJ2aWNlLmVtaXRDb3VudERvd25EYXRlLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5zdGFydENvdW50ZG93bigpO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG5cclxuICBzdGFydENvdW50ZG93bigpIHtcclxuXHJcbiAgICBpZiAoIXRoaXMuY29udGVudD8uZW5kRGF0ZSkgcmV0dXJuO1xyXG5cclxuICAgIC8vIENsZWFyIHByZXZpb3VzIGludGVydmFsIGlmIHJ1bm5pbmdcclxuICAgIGlmICh0aGlzLmludGVydmFsKSB7XHJcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUGFyc2UgdGFyZ2V0IGRhdGUgc2FmZWx5IChsb2NhbCB0aW1lKVxyXG4gICAgY29uc3QgdGFyZ2V0ID0gbmV3IERhdGUodGhpcy5jb250ZW50LmVuZERhdGUpO1xyXG5cclxuICAgIHRoaXMuaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcblxyXG4gICAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICBjb25zdCBkaXN0YW5jZSA9IHRhcmdldC5nZXRUaW1lKCkgLSBub3cuZ2V0VGltZSgpO1xyXG5cclxuICAgICAgaWYgKGRpc3RhbmNlIDw9IDApIHtcclxuICAgICAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpO1xyXG4gICAgICAgIHRoaXMucmVzZXRUaW1lcigpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3QgdG90YWxTZWNvbmRzID0gTWF0aC5mbG9vcihkaXN0YW5jZSAvIDEwMDApO1xyXG5cclxuICAgICAgY29uc3QgZGF5cyA9IE1hdGguZmxvb3IodG90YWxTZWNvbmRzIC8gKDYwICogNjAgKiAyNCkpO1xyXG4gICAgICBjb25zdCBob3VycyA9IE1hdGguZmxvb3IoKHRvdGFsU2Vjb25kcyAlICg2MCAqIDYwICogMjQpKSAvICg2MCAqIDYwKSk7XHJcbiAgICAgIGNvbnN0IG1pbnV0ZXMgPSBNYXRoLmZsb29yKCh0b3RhbFNlY29uZHMgJSAoNjAgKiA2MCkpIC8gNjApO1xyXG4gICAgICBjb25zdCBzZWNvbmRzID0gdG90YWxTZWNvbmRzICUgNjA7XHJcblxyXG4gICAgICB0aGlzLmRheXMgPSBTdHJpbmcoZGF5cykucGFkU3RhcnQoMiwgJzAnKTtcclxuICAgICAgdGhpcy5ob3VycyA9IFN0cmluZyhob3VycykucGFkU3RhcnQoMiwgJzAnKTtcclxuICAgICAgdGhpcy5taW51dGVzID0gU3RyaW5nKG1pbnV0ZXMpLnBhZFN0YXJ0KDIsICcwJyk7XHJcbiAgICAgIHRoaXMuc2Vjb25kcyA9IFN0cmluZyhzZWNvbmRzKS5wYWRTdGFydCgyLCAnMCcpO1xyXG5cclxuICAgIH0sIDEwMDApO1xyXG4gIH1cclxuICByZXNldFRpbWVyKCkge1xyXG4gICAgdGhpcy5kYXlzID0gJzAwJztcclxuICAgIHRoaXMuaG91cnMgPSAnMDAnO1xyXG4gICAgdGhpcy5taW51dGVzID0gJzAwJztcclxuICAgIHRoaXMuc2Vjb25kcyA9ICcwMCc7XHJcbiAgfVxyXG5cclxuICBnZXQgc3R5bGVzTGF5b3V0KCkge1xyXG4gICAgcmV0dXJuIHsgLi4udGhpcy5zdHlsZT8ubGF5b3V0IH0gYXMgTGF5T3V0TW9kZWw7XHJcbiAgfVxyXG5cclxuICBnZXRDb250cmFzdENvbG9yKGJnQ29sb3I6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIWJnQ29sb3IpIHJldHVybiAnIzAwMDAwMCc7XHJcblxyXG4gICAgbGV0IGNvbG9yVG9DaGVjayA9IGJnQ29sb3I7XHJcblxyXG4gICAgLy8gSWYgZ3JhZGllbnQg4oaSIGV4dHJhY3QgZmlyc3QgY29sb3IgaW5zaWRlIGxpbmVhci1ncmFkaWVudCguLi4pXHJcbiAgICBpZiAoYmdDb2xvci5pbmNsdWRlcygnbGluZWFyLWdyYWRpZW50JykpIHtcclxuICAgICAgY29uc3QgbWF0Y2ggPSBiZ0NvbG9yLm1hdGNoKC8oI1swLTlBLUZhLWZdezZ9fHJnYlxcKFteKV0rXFwpKS8pO1xyXG4gICAgICBpZiAobWF0Y2gpIHtcclxuICAgICAgICBjb2xvclRvQ2hlY2sgPSBtYXRjaFswXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGxldCByID0gMCwgZyA9IDAsIGIgPSAwO1xyXG5cclxuICAgIC8vIEhFWCBmb3JtYXRcclxuICAgIGlmIChjb2xvclRvQ2hlY2suc3RhcnRzV2l0aCgnIycpKSB7XHJcbiAgICAgIGNvbnN0IGhleCA9IGNvbG9yVG9DaGVjay5yZXBsYWNlKCcjJywgJycpO1xyXG4gICAgICByID0gcGFyc2VJbnQoaGV4LnN1YnN0cmluZygwLCAyKSwgMTYpO1xyXG4gICAgICBnID0gcGFyc2VJbnQoaGV4LnN1YnN0cmluZygyLCA0KSwgMTYpO1xyXG4gICAgICBiID0gcGFyc2VJbnQoaGV4LnN1YnN0cmluZyg0LCA2KSwgMTYpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFJHQiBmb3JtYXRcclxuICAgIGVsc2UgaWYgKGNvbG9yVG9DaGVjay5zdGFydHNXaXRoKCdyZ2InKSkge1xyXG4gICAgICBjb25zdCB2YWx1ZXMgPSBjb2xvclRvQ2hlY2subWF0Y2goL1xcZCsvZyk7XHJcbiAgICAgIGlmICh2YWx1ZXMpIHtcclxuICAgICAgICByID0gK3ZhbHVlc1swXTtcclxuICAgICAgICBnID0gK3ZhbHVlc1sxXTtcclxuICAgICAgICBiID0gK3ZhbHVlc1syXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGJyaWdodG5lc3MgPSAociAqIDI5OSArIGcgKiA1ODcgKyBiICogMTE0KSAvIDEwMDA7XHJcblxyXG4gICAgcmV0dXJuIGJyaWdodG5lc3MgPiAxMjggPyAnIzAwMDAwMCcgOiAnI2ZmZmZmZic7XHJcbiAgfVxyXG5cclxuICBnZXRBY2NlbnRCYWNrZ3JvdW5kKCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBiZyA9IHRoaXMuc3R5bGU/LmJhY2tncm91bmQ7XHJcblxyXG4gICAgaWYgKCFiZykgcmV0dXJuICcnO1xyXG5cclxuICAgIGlmIChiZy5hY2NlbnRCYWNrZ3JvdW5kVHlwZSA9PT0gJ1NvbGlkJykge1xyXG4gICAgICByZXR1cm4gYmcuYWNjZW50Q29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgYW5nbGUgPSB0aGlzLmdldEdyYWRpZW50RGlyZWN0aW9uKGJnLmdyYWRpZW50RGlyZWN0aW9uKTtcclxuXHJcbiAgICByZXR1cm4gYW5nbGVcclxuICAgICAgPyBgbGluZWFyLWdyYWRpZW50KCR7YW5nbGV9LCAke2JnLmFjY2VudENvbG9yfSwgJHtiZy5zZWNvbmRhcnlBY2NlbnRDb2xvcn0pYFxyXG4gICAgICA6IGBsaW5lYXItZ3JhZGllbnQoJHtiZy5hY2NlbnRDb2xvcn0sICR7Ymcuc2Vjb25kYXJ5QWNjZW50Q29sb3J9KWA7XHJcbiAgfVxyXG4gIGdldEdyYWRpZW50RGlyZWN0aW9uKGRpcmVjdGlvbjogc3RyaW5nIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcclxuICAgIHN3aXRjaCAoZGlyZWN0aW9uKSB7XHJcbiAgICAgIGNhc2UgJ0RPV04nOlxyXG4gICAgICAgIHJldHVybiAnJzsgLy8gZGVmYXVsdCB0b3Ag4oaSIGJvdHRvbSAobm8gYW5nbGUgbmVlZGVkKVxyXG5cclxuICAgICAgY2FzZSAnUklHSFQnOlxyXG4gICAgICAgIHJldHVybiAnOTBkZWcnO1xyXG5cclxuICAgICAgY2FzZSAnRElBR09OQUxfUklHSFQnOlxyXG4gICAgICAgIHJldHVybiAnNDVkZWcnO1xyXG5cclxuICAgICAgY2FzZSAnRElBR09OQUxfTEVGVCc6XHJcbiAgICAgICAgcmV0dXJuICcxMzVkZWcnO1xyXG5cclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gJyc7IC8vIGZhbGxiYWNrXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjwhLS0gPHNlY3Rpb24gW2lkXT1cImRhdGE/LmlkXCIgW3NpbXBvQmFja2dyb3VuZF09XCJzdHlsZT8uYmFja2dyb3VuZFwiIHNpbXBvSG92ZXIgKGhvdmVyaW5nKT1cInNob3dFZGl0VGFicygkZXZlbnQpXCJcclxuICAgIGNsYXNzPVwidG90YWwtY29udGFpbmVyXCIgW2F0dHIuc3R5bGVdPVwiY3VzdG9tQ2xhc3NcIj5cclxuICAgIDxkaXYgI21haW5Db250YWluZXIgW2lkXT1cImRhdGE/LmlkXCIgW3NpbXBvT3ZlcmxheV09XCJzdHlsZT8uYmFja2dyb3VuZFwiIFtzaW1wb0JvcmRlcl09XCJzdHlsZT8uYm9yZGVyXCJcclxuICAgICAgICBbc3BhY2luZ0hvcml6b250YWxdPVwic3R5bGVzTGF5b3V0XCIgW3NpbXBvTGF5b3V0XT1cInN0eWxlPy5sYXlvdXRcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAgICdqdXN0aWZ5LWNvbnRlbnQtY2VudGVyJzogc3R5bGU/LmxheW91dD8uYWxpZ24gPT09ICdjZW50ZXInLFxyXG4gICAgICAnanVzdGlmeS1jb250ZW50LXN0YXJ0Jzogc3R5bGU/LmxheW91dD8uYWxpZ24gPT09ICdsZWZ0JyxcclxuICAgICAgJ2p1c3RpZnktY29udGVudC1lbmQnOiBzdHlsZT8ubGF5b3V0Py5hbGlnbiA9PT0gJ3JpZ2h0J1xyXG4gICAgfVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTUwXCIgW2lkXT1cImRhdGE/LmlkXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNvbnRlbnQ/LmlucHV0VGV4dFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwiaXRlbS5sYWJlbC5pbmNsdWRlcygnSGVhZGluZycpID8gJ2hlYWRpbmctbGFyZ2UgbGgtMiBtYi00JyA6ICdib2R5LWxhcmdlJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c2ltcG8tdGV4dC1lZGl0b3IgWyh2YWx1ZSldPVwiaXRlbS52YWx1ZVwiIFtlZGl0YWJsZV09XCJlZGl0IHx8IGZhbHNlXCI+PC9zaW1wby10ZXh0LWVkaXRvcj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvdW50ZG93bi1jb250YWluZXIgdy01MFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdj4gICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJkYXlzXCI+e3tkYXlzfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbD5EQVlTPC9zbWFsbD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD1cImhvdXJzXCI+e3tob3Vyc319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c21hbGw+SE9VUlM8L3NtYWxsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwibWludXRlc1wiPnt7bWludXRlc319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c21hbGw+TUlOUzwvc21hbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJzZWNvbmRzXCI+e3tzZWNvbmRzfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbD5TRUNTPC9zbWFsbD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdHlsZT8uZGV2aWRlcj8uZGlzcGxheVwiPlxyXG4gICAgICAgIDxzaW1wby1zdmctZGl2aWRlciBbZGl2aWRlclR5cGVdPVwic3R5bGU/LmRldmlkZXI/LmRldmlkZXJUeXBlXCJcclxuICAgICAgICAgICAgW2NvbG9yXT1cIm5leHRDb21wb25lbnRDb2xvcj8uY29sb3JcIj48L3NpbXBvLXN2Zy1kaXZpZGVyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8ZGl2IFtuZ0NsYXNzXT1cInsnaG92ZXJfZWZmZWN0JzogZWRpdH1cIiAqbmdJZj1cInNob3dFZGl0b3JzXCI+XHJcbiAgICAgICAgPHNpbXBvLWhvdmVyLWVsZW1lbnRzIFtkYXRhXT1cImRhdGFcIiBbaW5kZXhdPVwiaW5kZXhcIiBbZWRpdE9wdGlvbnNdPVwiZWRpdFwiPjwvc2ltcG8taG92ZXItZWxlbWVudHM+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJzaG93RGVsZXRlXCIgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBkZWxldGV9XCI+XHJcbiAgICAgICAgPHNpbXBvLWRlbGV0ZS1ob3Zlci1lbGVtZW50IFtkYXRhXT1cImRhdGFcIiBbaW5kZXhdPVwiaW5kZXhcIj48L3NpbXBvLWRlbGV0ZS1ob3Zlci1lbGVtZW50PlxyXG4gICAgPC9kaXY+XHJcbjwvc2VjdGlvbj4gLS0+XHJcblxyXG5cclxuPHNlY3Rpb24+XHJcbiAgICA8ZGl2IFtpZF09XCJkYXRhPy5pZFwiIHNpbXBvSG92ZXIgKGhvdmVyaW5nKT1cInNob3dFZGl0VGFicygkZXZlbnQpXCIgY2xhc3M9XCJzYWxlLXdyYXBwZXIgdG90YWwtY29udGFpbmVyXCJcclxuICAgICAgICBbYXR0ci5zdHlsZV09XCJjdXN0b21DbGFzc1wiIFtzaW1wb0JhY2tncm91bmRdPVwic3R5bGU/LmJhY2tncm91bmRcIiBbc2ltcG9PdmVybGF5XT1cInN0eWxlPy5iYWNrZ3JvdW5kXCI+XHJcbiAgICAgICAgPGRpdiAjbWFpbkNvbnRhaW5lciBbaWRdPVwiZGF0YT8uaWRcIiBbc3BhY2luZ0hvcml6b250YWxdPVwic3R5bGVzTGF5b3V0XCJcclxuICAgICAgICAgICAgW3NpbXBvTGF5b3V0XT1cInN0eWxlPy5sYXlvdXRcIiBjbGFzcz1cInNhbGUtYmFyXCI+XHJcbiAgICAgICAgICAgIDwhLS0gTEVGVCBURVhUIC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2FsZS10ZXh0XCI+XHJcbiAgICAgICAgICAgICAgICA8c2ltcG8tdGV4dC1lZGl0b3IgWyh2YWx1ZSldPVwiYmFubmVyVGV4dFwiIFtlZGl0YWJsZV09XCJlZGl0IHx8IGZhbHNlXCI+PC9zaW1wby10ZXh0LWVkaXRvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8IS0tIFRJTUVSIC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2FsZS10aW1lclwiIFtzdHlsZS5jb2xvcl09XCJnZXRDb250cmFzdENvbG9yKHN0eWxlPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvcilcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lLWNhcmRcIiBbbmdTdHlsZV09XCJ7J2JhY2tncm91bmQnOmdldEFjY2VudEJhY2tncm91bmQoKSB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgZGF5cyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c21hbGw+REFZPC9zbWFsbD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpbWUtY2FyZFwiIFtuZ1N0eWxlXT1cInsnYmFja2dyb3VuZCc6Z2V0QWNjZW50QmFja2dyb3VuZCgpIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBob3VycyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c21hbGw+SE9VUjwvc21hbGw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lLWNhcmRcIiBbbmdTdHlsZV09XCJ7J2JhY2tncm91bmQnOmdldEFjY2VudEJhY2tncm91bmQoKSB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgbWludXRlcyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c21hbGw+TUlOPC9zbWFsbD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpbWUtY2FyZFwiIFtuZ1N0eWxlXT1cInsnYmFja2dyb3VuZCc6Z2V0QWNjZW50QmFja2dyb3VuZCgpIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBzZWNvbmRzIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzbWFsbD5TRUM8L3NtYWxsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPCEtLSBSSUdIVCBBQ1RJT04gLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYWxlLWFjdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGE/LmFjdGlvbj8uZGlzcGxheVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGJ1dHRvbiBvZiBkYXRhPy5hY3Rpb24/LmJ1dHRvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1idXR0b24tZWxlbWVudCBbYnV0dG9uQ29udGVudF09XCJidXR0b24uY29udGVudFwiIFtidXR0b25TdHlsZV09XCJidXR0b24uc3R5bGVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtidXR0b25JZF09XCJidXR0b24uaWRcIiBbc2VjdGlvbklkXT1cImRhdGE/LmlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJkYXRhPy5zdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCIgW2VkaXRdPVwiZWRpdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYmFja2dyb3VuZEluZm9dPVwiZGF0YT8uc3R5bGVzPy5iYWNrZ3JvdW5kXCI+PC9hcHAtYnV0dG9uLWVsZW1lbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwhLS0gRGl2aWRlciAtLT5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3R5bGU/LmRldmlkZXI/LmRpc3BsYXlcIj5cclxuICAgICAgICAgICAgPHNpbXBvLXN2Zy1kaXZpZGVyIFtkaXZpZGVyVHlwZV09XCJzdHlsZT8uZGV2aWRlcj8uZGV2aWRlclR5cGVcIlxyXG4gICAgICAgICAgICAgICAgW2NvbG9yXT1cIm5leHRDb21wb25lbnRDb2xvcj8uY29sb3JcIj48L3NpbXBvLXN2Zy1kaXZpZGVyPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8IS0tIEVESVQgU0VMRUNUT1IgLS0+XHJcbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCJ7IGhvdmVyX2VmZmVjdDogZWRpdCB9XCIgKm5nSWY9XCJzaG93RWRpdG9yc1wiPlxyXG4gICAgICAgICAgICA8c2ltcG8taG92ZXItZWxlbWVudHMgW2RhdGFdPVwiZGF0YVwiIFtpbmRleF09XCJpbmRleFwiIFtlZGl0T3B0aW9uc109XCJlZGl0XCI+PC9zaW1wby1ob3Zlci1lbGVtZW50cz5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPCEtLSBERUxFVEUgU0VMRUNUT1IgLS0+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cInNob3dEZWxldGVcIiBbbmdDbGFzc109XCJ7IGhvdmVyX2VmZmVjdDogZGVsZXRlIH1cIj5cclxuICAgICAgICAgICAgPHNpbXBvLWRlbGV0ZS1ob3Zlci1lbGVtZW50IFtkYXRhXT1cImRhdGFcIiBbaW5kZXhdPVwiaW5kZXhcIj48L3NpbXBvLWRlbGV0ZS1ob3Zlci1lbGVtZW50PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvc2VjdGlvbj4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRkb3duLWJhbm5lci5jb21wb25lbnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL2NvdW50ZG93bi1iYW5uZXIvY291bnRkb3duLWJhbm5lci5jb21wb25lbnQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0eWxlc01vZGVsLCBBY3Rpb25Nb2RlbCwgSW5wdXRUZXh0TW9kZWwgfSBmcm9tICcuLi8uLi9zdHlsZXMvc3R5bGUubW9kZWwnO1xyXG5leHBvcnQgaW50ZXJmYWNlIENvdW50RG93bkJhbm5lclNlY3Rpb24ge1xyXG4gICAgaWQ6IHN0cmluZyxcclxuICAgIHNlY3Rpb25UeXBlOiBzdHJpbmcsXHJcbiAgICBzZWN0aW9uTmFtZTogc3RyaW5nLFxyXG4gICAgY29udGVudDogQ291bnREb3duQmFubmVyQ29udGVudE1vZGFsO1xyXG4gICAgc3R5bGVzOiBTdHlsZXNNb2RlbDtcclxuICAgIGFjdGlvbjogQWN0aW9uTW9kZWxcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENvdW50RG93bkJhbm5lckNvbnRlbnRNb2RhbCB7XHJcbiAgICBpbnB1dFRleHQ6IFtJbnB1dFRleHRNb2RlbF0sXHJcbiAgICBlbmREYXRlOiBhbnlcclxufSJdfQ==